import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 interface FundsModuleInterface extends utils.Interface { contractName: "FundsModule"; functions: { "JBProjectId()": FunctionFragment; "JBTerminal()": FunctionFragment; "balances(address,address)": FunctionFragment; "batchReleaseSlicers(address[],address,address,bool)": FunctionFragment; "batchWithdraw(address,address[])": FunctionFragment; "depositEth(address,uint256)": FunctionFragment; "depositTokenFromSlicer(uint256,address,address,uint256,uint256)": FunctionFragment; "initialize()": FunctionFragment; "owner()": FunctionFragment; "proxiableUUID()": FunctionFragment; "renounceOwnership()": FunctionFragment; "sliceCore()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "withdraw(address,address)": FunctionFragment; "withdrawOnRelease(uint256,address,address,uint256,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "JBProjectId", values?: undefined): string; encodeFunctionData(functionFragment: "JBTerminal", values?: undefined): string; encodeFunctionData(functionFragment: "balances", values: [string, string]): string; encodeFunctionData(functionFragment: "batchReleaseSlicers", values: [string[], string, string, boolean]): string; encodeFunctionData(functionFragment: "batchWithdraw", values: [string, string[]]): string; encodeFunctionData(functionFragment: "depositEth", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "depositTokenFromSlicer", values: [BigNumberish, string, string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "sliceCore", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "withdraw", values: [string, string]): string; encodeFunctionData(functionFragment: "withdrawOnRelease", values: [BigNumberish, string, string, BigNumberish, BigNumberish]): string; decodeFunctionResult(functionFragment: "JBProjectId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "JBTerminal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchReleaseSlicers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchWithdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositEth", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTokenFromSlicer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sliceCore", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawOnRelease", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Deposited(address,address,uint256,uint256)": EventFragment; "Initialized(uint8)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Upgraded(address)": EventFragment; "Withdrawn(address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; } export type AdminChangedEvent = TypedEvent<[ string, string ], { previousAdmin: string; newAdmin: string; }>; export type AdminChangedEventFilter = TypedEventFilter; export type BeaconUpgradedEvent = TypedEvent<[string], { beacon: string; }>; export type BeaconUpgradedEventFilter = TypedEventFilter; export type DepositedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], { account: string; currency: string; amount: BigNumber; protocolAmount: BigNumber; }>; export type DepositedEventFilter = TypedEventFilter; export type InitializedEvent = TypedEvent<[number], { version: number; }>; export type InitializedEventFilter = TypedEventFilter; export type OwnershipTransferredEvent = TypedEvent<[ string, string ], { previousOwner: string; newOwner: string; }>; export type OwnershipTransferredEventFilter = TypedEventFilter; export type UpgradedEvent = TypedEvent<[string], { implementation: string; }>; export type UpgradedEventFilter = TypedEventFilter; export type WithdrawnEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], { account: string; currency: string; withdrawAmount: BigNumber; protocolPayment: BigNumber; }>; export type WithdrawnEventFilter = TypedEventFilter; export interface FundsModule extends BaseContract { contractName: "FundsModule"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: FundsModuleInterface; 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: { JBProjectId(overrides?: CallOverrides): Promise<[BigNumber]>; JBTerminal(overrides?: CallOverrides): Promise<[string]>; balances(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { account: BigNumber; protocol: BigNumber; }>; batchReleaseSlicers(slicers: string[], account: string, currency: string, triggerWithdraw: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; batchWithdraw(account: string, currencies: string[], overrides?: Overrides & { from?: string | Promise; }): Promise; depositEth(account: string, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; depositTokenFromSlicer(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(overrides?: Overrides & { from?: string | Promise; }): Promise; owner(overrides?: CallOverrides): Promise<[string]>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: string | Promise; }): Promise; sliceCore(overrides?: CallOverrides): Promise<[string]>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; withdraw(account: string, currency: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawOnRelease(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; JBProjectId(overrides?: CallOverrides): Promise; JBTerminal(overrides?: CallOverrides): Promise; balances(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { account: BigNumber; protocol: BigNumber; }>; batchReleaseSlicers(slicers: string[], account: string, currency: string, triggerWithdraw: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; batchWithdraw(account: string, currencies: string[], overrides?: Overrides & { from?: string | Promise; }): Promise; depositEth(account: string, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; depositTokenFromSlicer(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(overrides?: Overrides & { from?: string | Promise; }): Promise; owner(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string | Promise; }): Promise; sliceCore(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; withdraw(account: string, currency: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawOnRelease(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; callStatic: { JBProjectId(overrides?: CallOverrides): Promise; JBTerminal(overrides?: CallOverrides): Promise; balances(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { account: BigNumber; protocol: BigNumber; }>; batchReleaseSlicers(slicers: string[], account: string, currency: string, triggerWithdraw: boolean, overrides?: CallOverrides): Promise; batchWithdraw(account: string, currencies: string[], overrides?: CallOverrides): Promise; depositEth(account: string, protocolPayment: BigNumberish, overrides?: CallOverrides): Promise; depositTokenFromSlicer(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: CallOverrides): Promise; initialize(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; sliceCore(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; withdraw(account: string, currency: string, overrides?: CallOverrides): Promise; withdrawOnRelease(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "Deposited(address,address,uint256,uint256)"(account?: string | null, currency?: string | null, amount?: null, protocolAmount?: null): DepositedEventFilter; Deposited(account?: string | null, currency?: string | null, amount?: null, protocolAmount?: null): DepositedEventFilter; "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; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; "Withdrawn(address,address,uint256,uint256)"(account?: string | null, currency?: string | null, withdrawAmount?: null, protocolPayment?: null): WithdrawnEventFilter; Withdrawn(account?: string | null, currency?: string | null, withdrawAmount?: null, protocolPayment?: null): WithdrawnEventFilter; }; estimateGas: { JBProjectId(overrides?: CallOverrides): Promise; JBTerminal(overrides?: CallOverrides): Promise; balances(arg0: string, arg1: string, overrides?: CallOverrides): Promise; batchReleaseSlicers(slicers: string[], account: string, currency: string, triggerWithdraw: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; batchWithdraw(account: string, currencies: string[], overrides?: Overrides & { from?: string | Promise; }): Promise; depositEth(account: string, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; depositTokenFromSlicer(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(overrides?: Overrides & { from?: string | Promise; }): Promise; owner(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string | Promise; }): Promise; sliceCore(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; withdraw(account: string, currency: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawOnRelease(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; populateTransaction: { JBProjectId(overrides?: CallOverrides): Promise; JBTerminal(overrides?: CallOverrides): Promise; balances(arg0: string, arg1: string, overrides?: CallOverrides): Promise; batchReleaseSlicers(slicers: string[], account: string, currency: string, triggerWithdraw: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; batchWithdraw(account: string, currencies: string[], overrides?: Overrides & { from?: string | Promise; }): Promise; depositEth(account: string, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; depositTokenFromSlicer(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(overrides?: Overrides & { from?: string | Promise; }): Promise; owner(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string | Promise; }): Promise; sliceCore(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; withdraw(account: string, currency: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawOnRelease(tokenId: BigNumberish, account: string, currency: string, amount: BigNumberish, protocolPayment: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; }