import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 } from "../common"; export interface AirdropperInterface extends utils.Interface { functions: { "addController(address)": FunctionFragment; "airdropRecord(address,uint256)": FunctionFragment; "batchAirdrop(address[],uint256[],uint256[])": FunctionFragment; "batchClaimAirdrop(uint256[])": FunctionFragment; "batchClaimFor(uint256[],address[])": FunctionFragment; "claimAirdrop(uint256)": FunctionFragment; "claimAirdropFor(uint256,address)": FunctionFragment; "controllers(address)": FunctionFragment; "createRound(address,uint256,uint256)": FunctionFragment; "initialize(address)": FunctionFragment; "nextRoundId()": FunctionFragment; "owner()": FunctionFragment; "removeController(address)": FunctionFragment; "renounceOwnership()": FunctionFragment; "roundRecord(uint256)": FunctionFragment; "setSettleDestination(address)": FunctionFragment; "settleDestination()": FunctionFragment; "settleEndedRound(uint256)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "updateRound(uint256,uint256,uint256)": FunctionFragment; "withdrawByAdmin(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addController" | "airdropRecord" | "batchAirdrop" | "batchClaimAirdrop" | "batchClaimFor" | "claimAirdrop" | "claimAirdropFor" | "controllers" | "createRound" | "initialize" | "nextRoundId" | "owner" | "removeController" | "renounceOwnership" | "roundRecord" | "setSettleDestination" | "settleDestination" | "settleEndedRound" | "transferOwnership" | "updateRound" | "withdrawByAdmin"): FunctionFragment; encodeFunctionData(functionFragment: "addController", values: [string]): string; encodeFunctionData(functionFragment: "airdropRecord", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "batchAirdrop", values: [string[], BigNumberish[], BigNumberish[]]): string; encodeFunctionData(functionFragment: "batchClaimAirdrop", values: [BigNumberish[]]): string; encodeFunctionData(functionFragment: "batchClaimFor", values: [BigNumberish[], string[]]): string; encodeFunctionData(functionFragment: "claimAirdrop", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "claimAirdropFor", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "controllers", values: [string]): string; encodeFunctionData(functionFragment: "createRound", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [string]): string; encodeFunctionData(functionFragment: "nextRoundId", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeController", values: [string]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "roundRecord", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setSettleDestination", values: [string]): string; encodeFunctionData(functionFragment: "settleDestination", values?: undefined): string; encodeFunctionData(functionFragment: "settleEndedRound", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "updateRound", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawByAdmin", values: [string, BigNumberish]): string; decodeFunctionResult(functionFragment: "addController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "airdropRecord", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchAirdrop", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchClaimAirdrop", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchClaimFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimAirdrop", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimAirdropFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "controllers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextRoundId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "roundRecord", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSettleDestination", data: BytesLike): Result; decodeFunctionResult(functionFragment: "settleDestination", data: BytesLike): Result; decodeFunctionResult(functionFragment: "settleEndedRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawByAdmin", data: BytesLike): Result; events: { "AddAirdrop(address,uint256,uint256)": EventFragment; "AirdropClaimed(address,uint256,uint256)": EventFragment; "Initialized(uint8)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Parameter(string,bytes)": EventFragment; "RoundCreated(uint256,address,uint256,uint256)": EventFragment; "RoundSettled(uint256,address,uint256)": EventFragment; "RoundUpdated(uint256,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AddAirdrop"): EventFragment; getEvent(nameOrSignatureOrTopic: "AirdropClaimed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Parameter"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoundCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoundSettled"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoundUpdated"): EventFragment; } export interface AddAirdropEventObject { addr: string; roundId: BigNumber; amount: BigNumber; } export type AddAirdropEvent = TypedEvent<[ string, BigNumber, BigNumber ], AddAirdropEventObject>; export type AddAirdropEventFilter = TypedEventFilter; export interface AirdropClaimedEventObject { addr: string; roundId: BigNumber; amount: BigNumber; } export type AirdropClaimedEvent = TypedEvent<[ string, BigNumber, BigNumber ], AirdropClaimedEventObject>; export type AirdropClaimedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface ParameterEventObject { name: string; value: string; } export type ParameterEvent = TypedEvent<[string, string], ParameterEventObject>; export type ParameterEventFilter = TypedEventFilter; export interface RoundCreatedEventObject { roundId: BigNumber; tokenAddress: string; roundStartTime: BigNumber; roundDeadline: BigNumber; } export type RoundCreatedEvent = TypedEvent<[ BigNumber, string, BigNumber, BigNumber ], RoundCreatedEventObject>; export type RoundCreatedEventFilter = TypedEventFilter; export interface RoundSettledEventObject { roundId: BigNumber; settleDestination: string; unclaimAmount: BigNumber; } export type RoundSettledEvent = TypedEvent<[ BigNumber, string, BigNumber ], RoundSettledEventObject>; export type RoundSettledEventFilter = TypedEventFilter; export interface RoundUpdatedEventObject { roundId: BigNumber; roundStartTime: BigNumber; roundDeadline: BigNumber; } export type RoundUpdatedEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber ], RoundUpdatedEventObject>; export type RoundUpdatedEventFilter = TypedEventFilter; export interface Airdropper extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: AirdropperInterface; 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: { addController(controller: string, overrides?: Overrides & { from?: string; }): Promise; airdropRecord(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; batchAirdrop(_addr: string[], _roundId: BigNumberish[], _amount: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimAirdrop(_roundIds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimFor(_roundIds: BigNumberish[], _accounts: string[], overrides?: Overrides & { from?: string; }): Promise; claimAirdrop(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimAirdropFor(_roundId: BigNumberish, account: string, overrides?: Overrides & { from?: string; }): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; createRound(_tokenAddr: string, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; nextRoundId(overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; removeController(controller: string, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; roundRecord(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, BigNumber, BigNumber, BigNumber ] & { tokenAddress: string; roundStartTime: BigNumber; roundDeadline: BigNumber; unclaimedAmount: BigNumber; }>; setSettleDestination(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; settleDestination(overrides?: CallOverrides): Promise<[string]>; settleEndedRound(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updateRound(_roundId: BigNumberish, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawByAdmin(_tokenAddr: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; addController(controller: string, overrides?: Overrides & { from?: string; }): Promise; airdropRecord(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; batchAirdrop(_addr: string[], _roundId: BigNumberish[], _amount: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimAirdrop(_roundIds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimFor(_roundIds: BigNumberish[], _accounts: string[], overrides?: Overrides & { from?: string; }): Promise; claimAirdrop(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimAirdropFor(_roundId: BigNumberish, account: string, overrides?: Overrides & { from?: string; }): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; createRound(_tokenAddr: string, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; nextRoundId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removeController(controller: string, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; roundRecord(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, BigNumber, BigNumber, BigNumber ] & { tokenAddress: string; roundStartTime: BigNumber; roundDeadline: BigNumber; unclaimedAmount: BigNumber; }>; setSettleDestination(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; settleDestination(overrides?: CallOverrides): Promise; settleEndedRound(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updateRound(_roundId: BigNumberish, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawByAdmin(_tokenAddr: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { addController(controller: string, overrides?: CallOverrides): Promise; airdropRecord(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; batchAirdrop(_addr: string[], _roundId: BigNumberish[], _amount: BigNumberish[], overrides?: CallOverrides): Promise; batchClaimAirdrop(_roundIds: BigNumberish[], overrides?: CallOverrides): Promise; batchClaimFor(_roundIds: BigNumberish[], _accounts: string[], overrides?: CallOverrides): Promise; claimAirdrop(_roundId: BigNumberish, overrides?: CallOverrides): Promise; claimAirdropFor(_roundId: BigNumberish, account: string, overrides?: CallOverrides): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; createRound(_tokenAddr: string, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: CallOverrides): Promise; initialize(_settleDestination: string, overrides?: CallOverrides): Promise; nextRoundId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removeController(controller: string, overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; roundRecord(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, BigNumber, BigNumber, BigNumber ] & { tokenAddress: string; roundStartTime: BigNumber; roundDeadline: BigNumber; unclaimedAmount: BigNumber; }>; setSettleDestination(_settleDestination: string, overrides?: CallOverrides): Promise; settleDestination(overrides?: CallOverrides): Promise; settleEndedRound(_roundId: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; updateRound(_roundId: BigNumberish, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: CallOverrides): Promise; withdrawByAdmin(_tokenAddr: string, _amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "AddAirdrop(address,uint256,uint256)"(addr?: string | null, roundId?: null, amount?: null): AddAirdropEventFilter; AddAirdrop(addr?: string | null, roundId?: null, amount?: null): AddAirdropEventFilter; "AirdropClaimed(address,uint256,uint256)"(addr?: string | null, roundId?: null, amount?: null): AirdropClaimedEventFilter; AirdropClaimed(addr?: string | null, roundId?: null, amount?: null): AirdropClaimedEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; "Parameter(string,bytes)"(name?: null, value?: null): ParameterEventFilter; Parameter(name?: null, value?: null): ParameterEventFilter; "RoundCreated(uint256,address,uint256,uint256)"(roundId?: BigNumberish | null, tokenAddress?: null, roundStartTime?: null, roundDeadline?: null): RoundCreatedEventFilter; RoundCreated(roundId?: BigNumberish | null, tokenAddress?: null, roundStartTime?: null, roundDeadline?: null): RoundCreatedEventFilter; "RoundSettled(uint256,address,uint256)"(roundId?: BigNumberish | null, settleDestination?: null, unclaimAmount?: null): RoundSettledEventFilter; RoundSettled(roundId?: BigNumberish | null, settleDestination?: null, unclaimAmount?: null): RoundSettledEventFilter; "RoundUpdated(uint256,uint256,uint256)"(roundId?: null, roundStartTime?: null, roundDeadline?: null): RoundUpdatedEventFilter; RoundUpdated(roundId?: null, roundStartTime?: null, roundDeadline?: null): RoundUpdatedEventFilter; }; estimateGas: { addController(controller: string, overrides?: Overrides & { from?: string; }): Promise; airdropRecord(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; batchAirdrop(_addr: string[], _roundId: BigNumberish[], _amount: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimAirdrop(_roundIds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimFor(_roundIds: BigNumberish[], _accounts: string[], overrides?: Overrides & { from?: string; }): Promise; claimAirdrop(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimAirdropFor(_roundId: BigNumberish, account: string, overrides?: Overrides & { from?: string; }): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; createRound(_tokenAddr: string, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; nextRoundId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removeController(controller: string, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; roundRecord(arg0: BigNumberish, overrides?: CallOverrides): Promise; setSettleDestination(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; settleDestination(overrides?: CallOverrides): Promise; settleEndedRound(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updateRound(_roundId: BigNumberish, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawByAdmin(_tokenAddr: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { addController(controller: string, overrides?: Overrides & { from?: string; }): Promise; airdropRecord(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; batchAirdrop(_addr: string[], _roundId: BigNumberish[], _amount: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimAirdrop(_roundIds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; batchClaimFor(_roundIds: BigNumberish[], _accounts: string[], overrides?: Overrides & { from?: string; }): Promise; claimAirdrop(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimAirdropFor(_roundId: BigNumberish, account: string, overrides?: Overrides & { from?: string; }): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; createRound(_tokenAddr: string, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; nextRoundId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removeController(controller: string, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; roundRecord(arg0: BigNumberish, overrides?: CallOverrides): Promise; setSettleDestination(_settleDestination: string, overrides?: Overrides & { from?: string; }): Promise; settleDestination(overrides?: CallOverrides): Promise; settleEndedRound(_roundId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updateRound(_roundId: BigNumberish, _roundStartTime: BigNumberish, _roundDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawByAdmin(_tokenAddr: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }