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 interface IEtherspotWalletInterface 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; "getProposal(uint256)": FunctionFragment; "guardianCosign()": FunctionFragment; "guardianPropose(address)": FunctionFragment; "isGuardian(address)": FunctionFragment; "isOwner(address)": FunctionFragment; "isValidSignature(bytes32,bytes)": FunctionFragment; "removeGuardian(address)": FunctionFragment; "removeOwner(address)": FunctionFragment; "withdrawDepositTo(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addDeposit" | "addGuardian" | "addOwner" | "changeProposalTimelock" | "discardCurrentProposal" | "entryPoint" | "execute" | "executeBatch" | "getDeposit" | "getProposal" | "guardianCosign" | "guardianPropose" | "isGuardian" | "isOwner" | "isValidSignature" | "removeGuardian" | "removeOwner" | "withdrawDepositTo"): FunctionFragment; encodeFunctionData(functionFragment: "addDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "addGuardian", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "addOwner", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "changeProposalTimelock", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "discardCurrentProposal", values?: undefined): string; encodeFunctionData(functionFragment: "entryPoint", values?: undefined): string; encodeFunctionData(functionFragment: "execute", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "executeBatch", values: [ PromiseOrValue[], PromiseOrValue[], PromiseOrValue[] ]): string; encodeFunctionData(functionFragment: "getDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "getProposal", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "guardianCosign", values?: undefined): string; encodeFunctionData(functionFragment: "guardianPropose", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "isGuardian", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "isOwner", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "isValidSignature", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "removeGuardian", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "removeOwner", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "withdrawDepositTo", values: [PromiseOrValue, PromiseOrValue]): 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: "getProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guardianCosign", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guardianPropose", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawDepositTo", data: BytesLike): Result; events: { "EtherspotWalletInitialized(address,address)": EventFragment; "EtherspotWalletReceived(address,uint256)": EventFragment; "GuardianAdded(address)": EventFragment; "GuardianRemoved(address)": EventFragment; "OwnerAdded(address)": EventFragment; "OwnerRemoved(address)": EventFragment; "ProposalDiscarded(uint256,address)": EventFragment; "ProposalSubmitted(uint256,address,address)": EventFragment; "ProposalTimelockChanged(uint256)": EventFragment; "QuorumNotReached(uint256,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "EtherspotWalletInitialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "EtherspotWalletReceived"): EventFragment; getEvent(nameOrSignatureOrTopic: "GuardianAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "GuardianRemoved"): 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; } export interface EtherspotWalletInitializedEventObject { entryPoint: string; owner: string; } export type EtherspotWalletInitializedEvent = TypedEvent<[ string, string ], EtherspotWalletInitializedEventObject>; export type EtherspotWalletInitializedEventFilter = TypedEventFilter; export interface EtherspotWalletReceivedEventObject { from: string; amount: BigNumber; } export type EtherspotWalletReceivedEvent = TypedEvent<[ string, BigNumber ], EtherspotWalletReceivedEventObject>; export type EtherspotWalletReceivedEventFilter = TypedEventFilter; export interface GuardianAddedEventObject { newGuardian: string; } export type GuardianAddedEvent = TypedEvent<[string], GuardianAddedEventObject>; export type GuardianAddedEventFilter = TypedEventFilter; export interface GuardianRemovedEventObject { removedGuardian: string; } export type GuardianRemovedEvent = TypedEvent<[ string ], GuardianRemovedEventObject>; export type GuardianRemovedEventFilter = TypedEventFilter; export interface OwnerAddedEventObject { newOwner: string; } export type OwnerAddedEvent = TypedEvent<[string], OwnerAddedEventObject>; export type OwnerAddedEventFilter = TypedEventFilter; export interface OwnerRemovedEventObject { removedOwner: string; } export type OwnerRemovedEvent = TypedEvent<[string], OwnerRemovedEventObject>; export type OwnerRemovedEventFilter = TypedEventFilter; export interface ProposalDiscardedEventObject { proposalId: BigNumber; discardedBy: string; } export type ProposalDiscardedEvent = TypedEvent<[ BigNumber, string ], ProposalDiscardedEventObject>; export type ProposalDiscardedEventFilter = TypedEventFilter; export interface ProposalSubmittedEventObject { proposalId: BigNumber; newOwnerProposed: string; proposer: string; } export type ProposalSubmittedEvent = TypedEvent<[ BigNumber, string, string ], ProposalSubmittedEventObject>; export type ProposalSubmittedEventFilter = TypedEventFilter; export interface ProposalTimelockChangedEventObject { newTimelock: BigNumber; } export type ProposalTimelockChangedEvent = TypedEvent<[ BigNumber ], ProposalTimelockChangedEventObject>; export type ProposalTimelockChangedEventFilter = TypedEventFilter; export interface QuorumNotReachedEventObject { proposalId: BigNumber; newOwnerProposed: string; approvalCount: BigNumber; } export type QuorumNotReachedEvent = TypedEvent<[ BigNumber, string, BigNumber ], QuorumNotReachedEventObject>; export type QuorumNotReachedEventFilter = TypedEventFilter; export interface IEtherspotWallet extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IEtherspotWalletInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addGuardian(_newGuardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addOwner(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; changeProposalTimelock(_newTimelock: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; entryPoint(overrides?: CallOverrides): Promise<[string]>; execute(dest: PromiseOrValue, value: PromiseOrValue, func: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; executeBatch(dest: PromiseOrValue[], value: PromiseOrValue[], func: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; getProposal(_proposalId: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; guardianPropose(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isGuardian(_address: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; isOwner(_address: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; isValidSignature(hash: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise<[string] & { magicValue: string; }>; removeGuardian(_guardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeOwner(_owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawDepositTo(withdrawAddress: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addGuardian(_newGuardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addOwner(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; changeProposalTimelock(_newTimelock: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; entryPoint(overrides?: CallOverrides): Promise; execute(dest: PromiseOrValue, value: PromiseOrValue, func: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; executeBatch(dest: PromiseOrValue[], value: PromiseOrValue[], func: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getProposal(_proposalId: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; guardianPropose(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isGuardian(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isOwner(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isValidSignature(hash: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; removeGuardian(_guardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeOwner(_owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawDepositTo(withdrawAddress: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { addDeposit(overrides?: CallOverrides): Promise; addGuardian(_newGuardian: PromiseOrValue, overrides?: CallOverrides): Promise; addOwner(_newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; changeProposalTimelock(_newTimelock: PromiseOrValue, overrides?: CallOverrides): Promise; discardCurrentProposal(overrides?: CallOverrides): Promise; entryPoint(overrides?: CallOverrides): Promise; execute(dest: PromiseOrValue, value: PromiseOrValue, func: PromiseOrValue, overrides?: CallOverrides): Promise; executeBatch(dest: PromiseOrValue[], value: PromiseOrValue[], func: PromiseOrValue[], overrides?: CallOverrides): Promise; getDeposit(overrides?: CallOverrides): Promise; getProposal(_proposalId: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: CallOverrides): Promise; guardianPropose(_newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; isGuardian(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isOwner(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isValidSignature(hash: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; removeGuardian(_guardian: PromiseOrValue, overrides?: CallOverrides): Promise; removeOwner(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; withdrawDepositTo(withdrawAddress: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "EtherspotWalletInitialized(address,address)"(entryPoint?: PromiseOrValue | null, owner?: PromiseOrValue | null): EtherspotWalletInitializedEventFilter; EtherspotWalletInitialized(entryPoint?: PromiseOrValue | null, owner?: PromiseOrValue | null): EtherspotWalletInitializedEventFilter; "EtherspotWalletReceived(address,uint256)"(from?: PromiseOrValue | null, amount?: PromiseOrValue | null): EtherspotWalletReceivedEventFilter; EtherspotWalletReceived(from?: PromiseOrValue | null, amount?: PromiseOrValue | null): EtherspotWalletReceivedEventFilter; "GuardianAdded(address)"(newGuardian?: null): GuardianAddedEventFilter; GuardianAdded(newGuardian?: null): GuardianAddedEventFilter; "GuardianRemoved(address)"(removedGuardian?: null): GuardianRemovedEventFilter; GuardianRemoved(removedGuardian?: null): GuardianRemovedEventFilter; "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; }; estimateGas: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addGuardian(_newGuardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addOwner(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; changeProposalTimelock(_newTimelock: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; entryPoint(overrides?: CallOverrides): Promise; execute(dest: PromiseOrValue, value: PromiseOrValue, func: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; executeBatch(dest: PromiseOrValue[], value: PromiseOrValue[], func: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getProposal(_proposalId: PromiseOrValue, overrides?: CallOverrides): Promise; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; guardianPropose(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isGuardian(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isOwner(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isValidSignature(hash: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; removeGuardian(_guardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeOwner(_owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawDepositTo(withdrawAddress: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addGuardian(_newGuardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addOwner(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; changeProposalTimelock(_newTimelock: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; entryPoint(overrides?: CallOverrides): Promise; execute(dest: PromiseOrValue, value: PromiseOrValue, func: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; executeBatch(dest: PromiseOrValue[], value: PromiseOrValue[], func: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getProposal(_proposalId: PromiseOrValue, overrides?: CallOverrides): Promise; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; guardianPropose(_newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isGuardian(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isOwner(_address: PromiseOrValue, overrides?: CallOverrides): Promise; isValidSignature(hash: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; removeGuardian(_guardian: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeOwner(_owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawDepositTo(withdrawAddress: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }