import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type FundingCyclePropertiesStruct = { target: BigNumberish; currency: BigNumberish; duration: BigNumberish; cycleLimit: BigNumberish; discountRate: BigNumberish; ballot: string; }; export type FundingCyclePropertiesStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { target: BigNumber; currency: BigNumber; duration: BigNumber; cycleLimit: BigNumber; discountRate: BigNumber; ballot: string; }; export type FundingCycleStruct = { id: BigNumberish; projectId: BigNumberish; number: BigNumberish; basedOn: BigNumberish; configured: BigNumberish; cycleLimit: BigNumberish; weight: BigNumberish; ballot: string; start: BigNumberish; duration: BigNumberish; target: BigNumberish; currency: BigNumberish; fee: BigNumberish; discountRate: BigNumberish; tapped: BigNumberish; metadata: BigNumberish; }; export type FundingCycleStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { id: BigNumber; projectId: BigNumber; number: BigNumber; basedOn: BigNumber; configured: BigNumber; cycleLimit: BigNumber; weight: BigNumber; ballot: string; start: BigNumber; duration: BigNumber; target: BigNumber; currency: BigNumber; fee: BigNumber; discountRate: BigNumber; tapped: BigNumber; metadata: BigNumber; }; export interface FundingCyclesInterface extends utils.Interface { contractName: "FundingCycles"; functions: { "BASE_WEIGHT()": FunctionFragment; "MAX_CYCLE_LIMIT()": FunctionFragment; "configure(uint256,(uint256,uint256,uint256,uint256,uint256,address),uint256,uint256,bool)": FunctionFragment; "count()": FunctionFragment; "currentBallotStateOf(uint256)": FunctionFragment; "currentOf(uint256)": FunctionFragment; "get(uint256)": FunctionFragment; "latestIdOf(uint256)": FunctionFragment; "queuedOf(uint256)": FunctionFragment; "tap(uint256,uint256)": FunctionFragment; "terminalDirectory()": FunctionFragment; }; encodeFunctionData(functionFragment: "BASE_WEIGHT", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_CYCLE_LIMIT", values?: undefined): string; encodeFunctionData(functionFragment: "configure", values: [ BigNumberish, FundingCyclePropertiesStruct, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "count", values?: undefined): string; encodeFunctionData(functionFragment: "currentBallotStateOf", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "currentOf", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "get", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "latestIdOf", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "queuedOf", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "tap", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "terminalDirectory", values?: undefined): string; decodeFunctionResult(functionFragment: "BASE_WEIGHT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_CYCLE_LIMIT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "configure", data: BytesLike): Result; decodeFunctionResult(functionFragment: "count", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentBallotStateOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "get", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestIdOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "queuedOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "terminalDirectory", data: BytesLike): Result; events: { "Configure(uint256,uint256,uint256,tuple,uint256,address)": EventFragment; "Init(uint256,uint256,uint256,uint256,uint256,uint256)": EventFragment; "Tap(uint256,uint256,uint256,uint256,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Configure"): EventFragment; getEvent(nameOrSignatureOrTopic: "Init"): EventFragment; getEvent(nameOrSignatureOrTopic: "Tap"): EventFragment; } export type ConfigureEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, FundingCyclePropertiesStructOutput, BigNumber, string ], { fundingCycleId: BigNumber; projectId: BigNumber; reconfigured: BigNumber; _properties: FundingCyclePropertiesStructOutput; metadata: BigNumber; caller: string; }>; export type ConfigureEventFilter = TypedEventFilter; export type InitEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ], { fundingCycleId: BigNumber; projectId: BigNumber; number: BigNumber; previous: BigNumber; weight: BigNumber; start: BigNumber; }>; export type InitEventFilter = TypedEventFilter; export type TapEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber, string ], { fundingCycleId: BigNumber; projectId: BigNumber; amount: BigNumber; newTappedAmount: BigNumber; caller: string; }>; export type TapEventFilter = TypedEventFilter; export interface FundingCycles extends BaseContract { contractName: "FundingCycles"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: FundingCyclesInterface; 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: { BASE_WEIGHT(overrides?: CallOverrides): Promise<[BigNumber]>; MAX_CYCLE_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>; configure(_projectId: BigNumberish, _properties: FundingCyclePropertiesStruct, _metadata: BigNumberish, _fee: BigNumberish, _configureActiveFundingCycle: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; count(overrides?: CallOverrides): Promise<[BigNumber]>; currentBallotStateOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise<[number]>; currentOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise<[ FundingCycleStructOutput ] & { fundingCycle: FundingCycleStructOutput; }>; get(_fundingCycleId: BigNumberish, overrides?: CallOverrides): Promise<[FundingCycleStructOutput]>; latestIdOf(arg0: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; queuedOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise<[FundingCycleStructOutput]>; tap(_projectId: BigNumberish, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; terminalDirectory(overrides?: CallOverrides): Promise<[string]>; }; BASE_WEIGHT(overrides?: CallOverrides): Promise; MAX_CYCLE_LIMIT(overrides?: CallOverrides): Promise; configure(_projectId: BigNumberish, _properties: FundingCyclePropertiesStruct, _metadata: BigNumberish, _fee: BigNumberish, _configureActiveFundingCycle: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; count(overrides?: CallOverrides): Promise; currentBallotStateOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; currentOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; get(_fundingCycleId: BigNumberish, overrides?: CallOverrides): Promise; latestIdOf(arg0: BigNumberish, overrides?: CallOverrides): Promise; queuedOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; tap(_projectId: BigNumberish, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; terminalDirectory(overrides?: CallOverrides): Promise; callStatic: { BASE_WEIGHT(overrides?: CallOverrides): Promise; MAX_CYCLE_LIMIT(overrides?: CallOverrides): Promise; configure(_projectId: BigNumberish, _properties: FundingCyclePropertiesStruct, _metadata: BigNumberish, _fee: BigNumberish, _configureActiveFundingCycle: boolean, overrides?: CallOverrides): Promise; count(overrides?: CallOverrides): Promise; currentBallotStateOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; currentOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; get(_fundingCycleId: BigNumberish, overrides?: CallOverrides): Promise; latestIdOf(arg0: BigNumberish, overrides?: CallOverrides): Promise; queuedOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; tap(_projectId: BigNumberish, _amount: BigNumberish, overrides?: CallOverrides): Promise; terminalDirectory(overrides?: CallOverrides): Promise; }; filters: { "Configure(uint256,uint256,uint256,tuple,uint256,address)"(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, reconfigured?: null, _properties?: null, metadata?: null, caller?: null): ConfigureEventFilter; Configure(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, reconfigured?: null, _properties?: null, metadata?: null, caller?: null): ConfigureEventFilter; "Init(uint256,uint256,uint256,uint256,uint256,uint256)"(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, number?: null, previous?: null, weight?: null, start?: null): InitEventFilter; Init(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, number?: null, previous?: null, weight?: null, start?: null): InitEventFilter; "Tap(uint256,uint256,uint256,uint256,address)"(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, amount?: null, newTappedAmount?: null, caller?: null): TapEventFilter; Tap(fundingCycleId?: BigNumberish | null, projectId?: BigNumberish | null, amount?: null, newTappedAmount?: null, caller?: null): TapEventFilter; }; estimateGas: { BASE_WEIGHT(overrides?: CallOverrides): Promise; MAX_CYCLE_LIMIT(overrides?: CallOverrides): Promise; configure(_projectId: BigNumberish, _properties: FundingCyclePropertiesStruct, _metadata: BigNumberish, _fee: BigNumberish, _configureActiveFundingCycle: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; count(overrides?: CallOverrides): Promise; currentBallotStateOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; currentOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; get(_fundingCycleId: BigNumberish, overrides?: CallOverrides): Promise; latestIdOf(arg0: BigNumberish, overrides?: CallOverrides): Promise; queuedOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; tap(_projectId: BigNumberish, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; terminalDirectory(overrides?: CallOverrides): Promise; }; populateTransaction: { BASE_WEIGHT(overrides?: CallOverrides): Promise; MAX_CYCLE_LIMIT(overrides?: CallOverrides): Promise; configure(_projectId: BigNumberish, _properties: FundingCyclePropertiesStruct, _metadata: BigNumberish, _fee: BigNumberish, _configureActiveFundingCycle: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; count(overrides?: CallOverrides): Promise; currentBallotStateOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; currentOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; get(_fundingCycleId: BigNumberish, overrides?: CallOverrides): Promise; latestIdOf(arg0: BigNumberish, overrides?: CallOverrides): Promise; queuedOf(_projectId: BigNumberish, overrides?: CallOverrides): Promise; tap(_projectId: BigNumberish, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; terminalDirectory(overrides?: CallOverrides): Promise; }; }