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, PromiseOrValue } from './common'; export interface TreasuryInterface extends utils.Interface { functions: { 'adminAddress()': FunctionFragment; 'banana()': FunctionFragment; 'bananaReserve()': FunctionFragment; 'buyFee()': FunctionFragment; 'goldenBanana()': FunctionFragment; 'goldenBananaReserve()': FunctionFragment; 'owner()': FunctionFragment; 'renounceOwnership()': FunctionFragment; 'sellPrice()': FunctionFragment; 'transferOwnership(address)': FunctionFragment; 'buy(uint256)': FunctionFragment; 'sell(uint256)': FunctionFragment; 'setAdmin(address)': FunctionFragment; 'adminWithdraw(uint256)': FunctionFragment; 'setBuyFee(uint256)': FunctionFragment; 'setSellPrice(uint256)': FunctionFragment; 'sync()': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'adminAddress' | 'banana' | 'bananaReserve' | 'buyFee' | 'goldenBanana' | 'goldenBananaReserve' | 'owner' | 'renounceOwnership' | 'sellPrice' | 'transferOwnership' | 'buy' | 'sell' | 'setAdmin' | 'adminWithdraw' | 'setBuyFee' | 'setSellPrice' | 'sync'): FunctionFragment; encodeFunctionData(functionFragment: 'adminAddress', values?: undefined): string; encodeFunctionData(functionFragment: 'banana', values?: undefined): string; encodeFunctionData(functionFragment: 'bananaReserve', values?: undefined): string; encodeFunctionData(functionFragment: 'buyFee', values?: undefined): string; encodeFunctionData(functionFragment: 'goldenBanana', values?: undefined): string; encodeFunctionData(functionFragment: 'goldenBananaReserve', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; encodeFunctionData(functionFragment: 'sellPrice', values?: undefined): string; encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'buy', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'sell', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setAdmin', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'adminWithdraw', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setBuyFee', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setSellPrice', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'sync', values?: undefined): string; decodeFunctionResult(functionFragment: 'adminAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'banana', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'bananaReserve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'buyFee', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'goldenBanana', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'goldenBananaReserve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sellPrice', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'buy', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sell', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setAdmin', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'adminWithdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setBuyFee', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setSellPrice', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sync', data: BytesLike): Result; events: { 'Buy(address,uint256)': EventFragment; 'OwnershipTransferred(address,address)': EventFragment; 'Sell(address,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Buy'): EventFragment; getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Sell'): EventFragment; } export interface BuyEventObject { user: string; amount: BigNumber; } export type BuyEvent = TypedEvent<[string, BigNumber], BuyEventObject>; export type BuyEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface SellEventObject { user: string; amount: BigNumber; } export type SellEvent = TypedEvent<[string, BigNumber], SellEventObject>; export type SellEventFilter = TypedEventFilter; export interface Treasury extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: TreasuryInterface; 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: { adminAddress(overrides?: CallOverrides): Promise<[string]>; banana(overrides?: CallOverrides): Promise<[string]>; bananaReserve(overrides?: CallOverrides): Promise<[BigNumber]>; buyFee(overrides?: CallOverrides): Promise<[BigNumber]>; goldenBanana(overrides?: CallOverrides): Promise<[string]>; goldenBananaReserve(overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sellPrice(overrides?: CallOverrides): Promise<[BigNumber]>; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; buy(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sell(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setAdmin(_adminAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; adminWithdraw(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyFee(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setSellPrice(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sync(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; adminAddress(overrides?: CallOverrides): Promise; banana(overrides?: CallOverrides): Promise; bananaReserve(overrides?: CallOverrides): Promise; buyFee(overrides?: CallOverrides): Promise; goldenBanana(overrides?: CallOverrides): Promise; goldenBananaReserve(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sellPrice(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; buy(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sell(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setAdmin(_adminAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; adminWithdraw(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyFee(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setSellPrice(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sync(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { adminAddress(overrides?: CallOverrides): Promise; banana(overrides?: CallOverrides): Promise; bananaReserve(overrides?: CallOverrides): Promise; buyFee(overrides?: CallOverrides): Promise; goldenBanana(overrides?: CallOverrides): Promise; goldenBananaReserve(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; sellPrice(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; buy(_amount: PromiseOrValue, overrides?: CallOverrides): Promise; sell(_amount: PromiseOrValue, overrides?: CallOverrides): Promise; setAdmin(_adminAddress: PromiseOrValue, overrides?: CallOverrides): Promise; adminWithdraw(_amount: PromiseOrValue, overrides?: CallOverrides): Promise; setBuyFee(_price: PromiseOrValue, overrides?: CallOverrides): Promise; setSellPrice(_price: PromiseOrValue, overrides?: CallOverrides): Promise; sync(overrides?: CallOverrides): Promise; }; filters: { 'Buy(address,uint256)'(user?: PromiseOrValue | null, amount?: null): BuyEventFilter; Buy(user?: PromiseOrValue | null, amount?: null): BuyEventFilter; 'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; 'Sell(address,uint256)'(user?: PromiseOrValue | null, amount?: null): SellEventFilter; Sell(user?: PromiseOrValue | null, amount?: null): SellEventFilter; }; estimateGas: { adminAddress(overrides?: CallOverrides): Promise; banana(overrides?: CallOverrides): Promise; bananaReserve(overrides?: CallOverrides): Promise; buyFee(overrides?: CallOverrides): Promise; goldenBanana(overrides?: CallOverrides): Promise; goldenBananaReserve(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sellPrice(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; buy(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sell(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setAdmin(_adminAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; adminWithdraw(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyFee(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setSellPrice(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sync(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { adminAddress(overrides?: CallOverrides): Promise; banana(overrides?: CallOverrides): Promise; bananaReserve(overrides?: CallOverrides): Promise; buyFee(overrides?: CallOverrides): Promise; goldenBanana(overrides?: CallOverrides): Promise; goldenBananaReserve(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sellPrice(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; buy(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sell(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setAdmin(_adminAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; adminWithdraw(_amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyFee(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setSellPrice(_price: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; sync(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }