UNPKG

@kodex-data/evm-contracts

Version:

This is a package that provides utilities and modules for Ethereum Virtual Machine (EVM) contracts.

602 lines (601 loc) 38.9 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 interface EvmAuthInterface extends utils.Interface { functions: { "DEFAULT_ADMIN_ROLE()": FunctionFragment; "ROLE_MEMBER()": FunctionFragment; "buyAccess()": FunctionFragment; "challenge()": FunctionFragment; "challengeExpiresAt()": FunctionFragment; "changeDuration(uint256)": FunctionFragment; "changePrice(uint256)": FunctionFragment; "clientExpiresAt(address)": FunctionFragment; "daoAddress()": FunctionFragment; "depositToken(address,uint256)": FunctionFragment; "depositTokenWithPermit(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "duration()": FunctionFragment; "etherLeft(address)": FunctionFragment; "getClients()": FunctionFragment; "getRoleAdmin(bytes32)": FunctionFragment; "getWithdrawBalance()": FunctionFragment; "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "isClient(address)": FunctionFragment; "nextChallenge()": FunctionFragment; "owner()": FunctionFragment; "price()": FunctionFragment; "removeClient(address)": FunctionFragment; "renounceOwnership()": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "revokeRole(bytes32,address)": FunctionFragment; "setChallenge(bytes32)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "withdraw(address,uint256)": FunctionFragment; "withdrawERC20(address,address,uint256)": FunctionFragment; "withdrawERC20Even(address,address[])": FunctionFragment; "withdrawEven(address[])": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DEFAULT_ADMIN_ROLE" | "ROLE_MEMBER" | "buyAccess" | "challenge" | "challengeExpiresAt" | "changeDuration" | "changePrice" | "clientExpiresAt" | "daoAddress" | "depositToken" | "depositTokenWithPermit" | "duration" | "etherLeft" | "getClients" | "getRoleAdmin" | "getWithdrawBalance" | "grantRole" | "hasRole" | "isClient" | "nextChallenge" | "owner" | "price" | "removeClient" | "renounceOwnership" | "renounceRole" | "revokeRole" | "setChallenge" | "supportsInterface" | "transferOwnership" | "withdraw" | "withdrawERC20" | "withdrawERC20Even" | "withdrawEven"): FunctionFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "ROLE_MEMBER", values?: undefined): string; encodeFunctionData(functionFragment: "buyAccess", values?: undefined): string; encodeFunctionData(functionFragment: "challenge", values?: undefined): string; encodeFunctionData(functionFragment: "challengeExpiresAt", values?: undefined): string; encodeFunctionData(functionFragment: "changeDuration", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "changePrice", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "clientExpiresAt", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "daoAddress", values?: undefined): string; encodeFunctionData(functionFragment: "depositToken", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "depositTokenWithPermit", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "duration", values?: undefined): string; encodeFunctionData(functionFragment: "etherLeft", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getClients", values?: undefined): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "getWithdrawBalance", values?: undefined): string; encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isClient", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "nextChallenge", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "price", values?: undefined): string; encodeFunctionData(functionFragment: "removeClient", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setChallenge", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "withdrawERC20", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "withdrawERC20Even", values: [PromiseOrValue<string>, PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "withdrawEven", values: [PromiseOrValue<string>[]]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ROLE_MEMBER", data: BytesLike): Result; decodeFunctionResult(functionFragment: "buyAccess", data: BytesLike): Result; decodeFunctionResult(functionFragment: "challenge", data: BytesLike): Result; decodeFunctionResult(functionFragment: "challengeExpiresAt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changePrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "clientExpiresAt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "daoAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTokenWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "duration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "etherLeft", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getClients", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getWithdrawBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isClient", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextChallenge", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "price", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeClient", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setChallenge", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawERC20", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawERC20Even", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawEven", data: BytesLike): Result; events: { "BuyTicket(address,uint256,uint256,uint256)": EventFragment; "Deposited(address,uint256,uint256)": EventFragment; "DurationChange(uint256,uint256,uint256)": EventFragment; "NewChallenge(bytes32,uint256,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "PriceChange(uint256,uint256,uint256)": EventFragment; "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; "RoleGranted(bytes32,address,address)": EventFragment; "RoleRevoked(bytes32,address,address)": EventFragment; "Withdrawn(address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BuyTicket"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "DurationChange"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewChallenge"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "PriceChange"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; } export interface BuyTicketEventObject { buyer: string; duration: BigNumber; clientExpireAt: BigNumber; price: BigNumber; } export type BuyTicketEvent = TypedEvent<[ string, BigNumber, BigNumber, BigNumber ], BuyTicketEventObject>; export type BuyTicketEventFilter = TypedEventFilter<BuyTicketEvent>; export interface DepositedEventObject { token: string; amount: BigNumber; timestamp: BigNumber; } export type DepositedEvent = TypedEvent<[ string, BigNumber, BigNumber ], DepositedEventObject>; export type DepositedEventFilter = TypedEventFilter<DepositedEvent>; export interface DurationChangeEventObject { oldDuration: BigNumber; newDuration: BigNumber; timestamp: BigNumber; } export type DurationChangeEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber ], DurationChangeEventObject>; export type DurationChangeEventFilter = TypedEventFilter<DurationChangeEvent>; export interface NewChallengeEventObject { challenge: string; challengeExpiresAt: BigNumber; time: BigNumber; } export type NewChallengeEvent = TypedEvent<[ string, BigNumber, BigNumber ], NewChallengeEventObject>; export type NewChallengeEventFilter = TypedEventFilter<NewChallengeEvent>; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>; export interface PriceChangeEventObject { oldPrice: BigNumber; newPrice: BigNumber; timestamp: BigNumber; } export type PriceChangeEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber ], PriceChangeEventObject>; export type PriceChangeEventFilter = TypedEventFilter<PriceChangeEvent>; export interface RoleAdminChangedEventObject { role: string; previousAdminRole: string; newAdminRole: string; } export type RoleAdminChangedEvent = TypedEvent<[ string, string, string ], RoleAdminChangedEventObject>; export type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>; export interface RoleGrantedEventObject { role: string; account: string; sender: string; } export type RoleGrantedEvent = TypedEvent<[ string, string, string ], RoleGrantedEventObject>; export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>; export interface RoleRevokedEventObject { role: string; account: string; sender: string; } export type RoleRevokedEvent = TypedEvent<[ string, string, string ], RoleRevokedEventObject>; export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>; export interface WithdrawnEventObject { payee: string; token: string; amount: BigNumber; timestamp: BigNumber; } export type WithdrawnEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], WithdrawnEventObject>; export type WithdrawnEventFilter = TypedEventFilter<WithdrawnEvent>; export interface EvmAuth extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: EvmAuthInterface; 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: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; ROLE_MEMBER(overrides?: CallOverrides): Promise<[string]>; buyAccess(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; challenge(overrides?: CallOverrides): Promise<[string]>; challengeExpiresAt(overrides?: CallOverrides): Promise<[BigNumber]>; changeDuration(_duration: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changePrice(_price: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; clientExpiresAt(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & { expiresAt: BigNumber; }>; daoAddress(overrides?: CallOverrides): Promise<[string]>; depositToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositTokenWithPermit(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; duration(overrides?: CallOverrides): Promise<[BigNumber]>; etherLeft(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & { remainingBalance: BigNumber; }>; getClients(overrides?: CallOverrides): Promise<[string[]] & { clientAddresses: string[]; }>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; getWithdrawBalance(overrides?: CallOverrides): Promise<[BigNumber] & { balance: BigNumber; }>; grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; isClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; nextChallenge(overrides?: CallOverrides): Promise<[BigNumber] & { expiresIn: BigNumber; }>; owner(overrides?: CallOverrides): Promise<[string]>; price(overrides?: CallOverrides): Promise<[BigNumber]>; removeClient(_client: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setChallenge(_challenge: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawERC20(token: PromiseOrValue<string>, payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawERC20Even(token: PromiseOrValue<string>, payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawEven(payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; ROLE_MEMBER(overrides?: CallOverrides): Promise<string>; buyAccess(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; challenge(overrides?: CallOverrides): Promise<string>; challengeExpiresAt(overrides?: CallOverrides): Promise<BigNumber>; changeDuration(_duration: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changePrice(_price: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; clientExpiresAt(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; daoAddress(overrides?: CallOverrides): Promise<string>; depositToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositTokenWithPermit(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; duration(overrides?: CallOverrides): Promise<BigNumber>; etherLeft(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getClients(overrides?: CallOverrides): Promise<string[]>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>; grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; nextChallenge(overrides?: CallOverrides): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<string>; price(overrides?: CallOverrides): Promise<BigNumber>; removeClient(_client: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setChallenge(_challenge: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawERC20(token: PromiseOrValue<string>, payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawERC20Even(token: PromiseOrValue<string>, payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawEven(payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; ROLE_MEMBER(overrides?: CallOverrides): Promise<string>; buyAccess(overrides?: CallOverrides): Promise<BigNumber>; challenge(overrides?: CallOverrides): Promise<string>; challengeExpiresAt(overrides?: CallOverrides): Promise<BigNumber>; changeDuration(_duration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; changePrice(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; clientExpiresAt(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; daoAddress(overrides?: CallOverrides): Promise<string>; depositToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; depositTokenWithPermit(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; duration(overrides?: CallOverrides): Promise<BigNumber>; etherLeft(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getClients(overrides?: CallOverrides): Promise<string[]>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>; grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; nextChallenge(overrides?: CallOverrides): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<string>; price(overrides?: CallOverrides): Promise<BigNumber>; removeClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; renounceOwnership(overrides?: CallOverrides): Promise<void>; renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; setChallenge(_challenge: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; withdraw(payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; withdrawERC20(token: PromiseOrValue<string>, payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; withdrawERC20Even(token: PromiseOrValue<string>, payees: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>; withdrawEven(payees: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>; }; filters: { "BuyTicket(address,uint256,uint256,uint256)"(buyer?: null, duration?: null, clientExpireAt?: null, price?: null): BuyTicketEventFilter; BuyTicket(buyer?: null, duration?: null, clientExpireAt?: null, price?: null): BuyTicketEventFilter; "Deposited(address,uint256,uint256)"(token?: PromiseOrValue<string> | null, amount?: null, timestamp?: null): DepositedEventFilter; Deposited(token?: PromiseOrValue<string> | null, amount?: null, timestamp?: null): DepositedEventFilter; "DurationChange(uint256,uint256,uint256)"(oldDuration?: null, newDuration?: null, timestamp?: null): DurationChangeEventFilter; DurationChange(oldDuration?: null, newDuration?: null, timestamp?: null): DurationChangeEventFilter; "NewChallenge(bytes32,uint256,uint256)"(challenge?: null, challengeExpiresAt?: null, time?: null): NewChallengeEventFilter; NewChallenge(challenge?: null, challengeExpiresAt?: null, time?: null): NewChallengeEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter; "PriceChange(uint256,uint256,uint256)"(oldPrice?: null, newPrice?: null, timestamp?: null): PriceChangeEventFilter; PriceChange(oldPrice?: null, newPrice?: null, timestamp?: null): PriceChangeEventFilter; "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter; RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter; "RoleGranted(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter; RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter; "RoleRevoked(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter; RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter; "Withdrawn(address,address,uint256,uint256)"(payee?: PromiseOrValue<string> | null, token?: PromiseOrValue<string> | null, amount?: null, timestamp?: null): WithdrawnEventFilter; Withdrawn(payee?: PromiseOrValue<string> | null, token?: PromiseOrValue<string> | null, amount?: null, timestamp?: null): WithdrawnEventFilter; }; estimateGas: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>; ROLE_MEMBER(overrides?: CallOverrides): Promise<BigNumber>; buyAccess(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; challenge(overrides?: CallOverrides): Promise<BigNumber>; challengeExpiresAt(overrides?: CallOverrides): Promise<BigNumber>; changeDuration(_duration: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; changePrice(_price: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; clientExpiresAt(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; daoAddress(overrides?: CallOverrides): Promise<BigNumber>; depositToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; depositTokenWithPermit(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; duration(overrides?: CallOverrides): Promise<BigNumber>; etherLeft(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getClients(overrides?: CallOverrides): Promise<BigNumber>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>; grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; nextChallenge(overrides?: CallOverrides): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<BigNumber>; price(overrides?: CallOverrides): Promise<BigNumber>; removeClient(_client: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; setChallenge(_challenge: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdraw(payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawERC20(token: PromiseOrValue<string>, payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawERC20Even(token: PromiseOrValue<string>, payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawEven(payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>; ROLE_MEMBER(overrides?: CallOverrides): Promise<PopulatedTransaction>; buyAccess(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; challenge(overrides?: CallOverrides): Promise<PopulatedTransaction>; challengeExpiresAt(overrides?: CallOverrides): Promise<PopulatedTransaction>; changeDuration(_duration: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; changePrice(_price: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; clientExpiresAt(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; daoAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>; depositToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; depositTokenWithPermit(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; duration(overrides?: CallOverrides): Promise<PopulatedTransaction>; etherLeft(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getClients(overrides?: CallOverrides): Promise<PopulatedTransaction>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getWithdrawBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>; grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; isClient(_client: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; nextChallenge(overrides?: CallOverrides): Promise<PopulatedTransaction>; owner(overrides?: CallOverrides): Promise<PopulatedTransaction>; price(overrides?: CallOverrides): Promise<PopulatedTransaction>; removeClient(_client: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; setChallenge(_challenge: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdraw(payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawERC20(token: PromiseOrValue<string>, payee: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawERC20Even(token: PromiseOrValue<string>, payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawEven(payees: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }