UNPKG

@astonic-io/astonic-bindings-ts

Version:

Astonic type generation and npm package deployment repo

641 lines (640 loc) 39.6 kB
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 declare namespace FixidityLib { type FractionStruct = { value: PromiseOrValue<BigNumberish>; }; type FractionStructOutput = [BigNumber] & { value: BigNumber; }; } export declare namespace IBiPoolManager { type PoolConfigStruct = { spread: FixidityLib.FractionStruct; referenceRateFeedID: PromiseOrValue<string>; referenceRateResetFrequency: PromiseOrValue<BigNumberish>; minimumReports: PromiseOrValue<BigNumberish>; stablePoolResetSize: PromiseOrValue<BigNumberish>; }; type PoolConfigStructOutput = [ FixidityLib.FractionStructOutput, string, BigNumber, BigNumber, BigNumber ] & { spread: FixidityLib.FractionStructOutput; referenceRateFeedID: string; referenceRateResetFrequency: BigNumber; minimumReports: BigNumber; stablePoolResetSize: BigNumber; }; type PoolExchangeStruct = { asset0: PromiseOrValue<string>; asset1: PromiseOrValue<string>; pricingModule: PromiseOrValue<string>; bucket0: PromiseOrValue<BigNumberish>; bucket1: PromiseOrValue<BigNumberish>; lastBucketUpdate: PromiseOrValue<BigNumberish>; config: IBiPoolManager.PoolConfigStruct; }; type PoolExchangeStructOutput = [ string, string, string, BigNumber, BigNumber, BigNumber, IBiPoolManager.PoolConfigStructOutput ] & { asset0: string; asset1: string; pricingModule: string; bucket0: BigNumber; bucket1: BigNumber; lastBucketUpdate: BigNumber; config: IBiPoolManager.PoolConfigStructOutput; }; } export declare namespace IExchangeProvider { type ExchangeStruct = { exchangeId: PromiseOrValue<BytesLike>; assets: PromiseOrValue<string>[]; }; type ExchangeStructOutput = [string, string[]] & { exchangeId: string; assets: string[]; }; } export interface BiPoolManagerInterface extends utils.Interface { functions: { "CONSTANT_PRODUCT()": FunctionFragment; "CONSTANT_SUM()": FunctionFragment; "breakerBox()": FunctionFragment; "broker()": FunctionFragment; "createExchange((address,address,address,uint256,uint256,uint256,((uint256),address,uint256,uint256,uint256)))": FunctionFragment; "destroyExchange(bytes32,uint256)": FunctionFragment; "exchangeIds(uint256)": FunctionFragment; "exchanges(bytes32)": FunctionFragment; "getAmountIn(bytes32,address,address,uint256)": FunctionFragment; "getAmountOut(bytes32,address,address,uint256)": FunctionFragment; "getExchangeIds()": FunctionFragment; "getExchanges()": FunctionFragment; "getPoolExchange(bytes32)": FunctionFragment; "initialize(address,address,address,address)": FunctionFragment; "initialized()": FunctionFragment; "isOwner()": FunctionFragment; "owner()": FunctionFragment; "pricingModules(bytes32)": FunctionFragment; "renounceOwnership()": FunctionFragment; "reserve()": FunctionFragment; "setBreakerBox(address)": FunctionFragment; "setBroker(address)": FunctionFragment; "setPricingModules(bytes32[],address[])": FunctionFragment; "setReserve(address)": FunctionFragment; "setSortedOracles(address)": FunctionFragment; "sortedOracles()": FunctionFragment; "swapIn(bytes32,address,address,uint256)": FunctionFragment; "swapOut(bytes32,address,address,uint256)": FunctionFragment; "tokenPrecisionMultipliers(address)": FunctionFragment; "transferOwnership(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "CONSTANT_PRODUCT" | "CONSTANT_SUM" | "breakerBox" | "broker" | "createExchange" | "destroyExchange" | "exchangeIds" | "exchanges" | "getAmountIn" | "getAmountOut" | "getExchangeIds" | "getExchanges" | "getPoolExchange" | "initialize" | "initialized" | "isOwner" | "owner" | "pricingModules" | "renounceOwnership" | "reserve" | "setBreakerBox" | "setBroker" | "setPricingModules" | "setReserve" | "setSortedOracles" | "sortedOracles" | "swapIn" | "swapOut" | "tokenPrecisionMultipliers" | "transferOwnership"): FunctionFragment; encodeFunctionData(functionFragment: "CONSTANT_PRODUCT", values?: undefined): string; encodeFunctionData(functionFragment: "CONSTANT_SUM", values?: undefined): string; encodeFunctionData(functionFragment: "breakerBox", values?: undefined): string; encodeFunctionData(functionFragment: "broker", values?: undefined): string; encodeFunctionData(functionFragment: "createExchange", values: [IBiPoolManager.PoolExchangeStruct]): string; encodeFunctionData(functionFragment: "destroyExchange", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "exchangeIds", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "exchanges", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "getAmountIn", values: [ PromiseOrValue<BytesLike>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "getAmountOut", values: [ PromiseOrValue<BytesLike>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "getExchangeIds", values?: undefined): string; encodeFunctionData(functionFragment: "getExchanges", values?: undefined): string; encodeFunctionData(functionFragment: "getPoolExchange", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "initialize", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string> ]): string; encodeFunctionData(functionFragment: "initialized", values?: undefined): string; encodeFunctionData(functionFragment: "isOwner", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pricingModules", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "reserve", values?: undefined): string; encodeFunctionData(functionFragment: "setBreakerBox", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setBroker", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setPricingModules", values: [PromiseOrValue<BytesLike>[], PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "setReserve", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setSortedOracles", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "sortedOracles", values?: undefined): string; encodeFunctionData(functionFragment: "swapIn", values: [ PromiseOrValue<BytesLike>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "swapOut", values: [ PromiseOrValue<BytesLike>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "tokenPrecisionMultipliers", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string; decodeFunctionResult(functionFragment: "CONSTANT_PRODUCT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "CONSTANT_SUM", data: BytesLike): Result; decodeFunctionResult(functionFragment: "breakerBox", data: BytesLike): Result; decodeFunctionResult(functionFragment: "broker", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createExchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "destroyExchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchangeIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchanges", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAmountIn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAmountOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getExchangeIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getExchanges", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolExchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pricingModules", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reserve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBreakerBox", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBroker", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPricingModules", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setReserve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSortedOracles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sortedOracles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapIn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenPrecisionMultipliers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; events: { "BreakerBoxUpdated(address)": EventFragment; "BrokerUpdated(address)": EventFragment; "BucketsUpdated(bytes32,uint256,uint256)": EventFragment; "ExchangeCreated(bytes32,address,address,address)": EventFragment; "ExchangeDestroyed(bytes32,address,address,address)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "PricingModulesUpdated(bytes32[],address[])": EventFragment; "ReserveUpdated(address)": EventFragment; "SortedOraclesUpdated(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BreakerBoxUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "BrokerUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "BucketsUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "ExchangeCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "ExchangeDestroyed"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "PricingModulesUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "SortedOraclesUpdated"): EventFragment; } export interface BreakerBoxUpdatedEventObject { newBreakerBox: string; } export type BreakerBoxUpdatedEvent = TypedEvent<[ string ], BreakerBoxUpdatedEventObject>; export type BreakerBoxUpdatedEventFilter = TypedEventFilter<BreakerBoxUpdatedEvent>; export interface BrokerUpdatedEventObject { newBroker: string; } export type BrokerUpdatedEvent = TypedEvent<[string], BrokerUpdatedEventObject>; export type BrokerUpdatedEventFilter = TypedEventFilter<BrokerUpdatedEvent>; export interface BucketsUpdatedEventObject { exchangeId: string; bucket0: BigNumber; bucket1: BigNumber; } export type BucketsUpdatedEvent = TypedEvent<[ string, BigNumber, BigNumber ], BucketsUpdatedEventObject>; export type BucketsUpdatedEventFilter = TypedEventFilter<BucketsUpdatedEvent>; export interface ExchangeCreatedEventObject { exchangeId: string; asset0: string; asset1: string; pricingModule: string; } export type ExchangeCreatedEvent = TypedEvent<[ string, string, string, string ], ExchangeCreatedEventObject>; export type ExchangeCreatedEventFilter = TypedEventFilter<ExchangeCreatedEvent>; export interface ExchangeDestroyedEventObject { exchangeId: string; asset0: string; asset1: string; pricingModule: string; } export type ExchangeDestroyedEvent = TypedEvent<[ string, string, string, string ], ExchangeDestroyedEventObject>; export type ExchangeDestroyedEventFilter = TypedEventFilter<ExchangeDestroyedEvent>; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>; export interface PricingModulesUpdatedEventObject { newIdentifiers: string[]; newAddresses: string[]; } export type PricingModulesUpdatedEvent = TypedEvent<[ string[], string[] ], PricingModulesUpdatedEventObject>; export type PricingModulesUpdatedEventFilter = TypedEventFilter<PricingModulesUpdatedEvent>; export interface ReserveUpdatedEventObject { newReserve: string; } export type ReserveUpdatedEvent = TypedEvent<[ string ], ReserveUpdatedEventObject>; export type ReserveUpdatedEventFilter = TypedEventFilter<ReserveUpdatedEvent>; export interface SortedOraclesUpdatedEventObject { newSortedOracles: string; } export type SortedOraclesUpdatedEvent = TypedEvent<[ string ], SortedOraclesUpdatedEventObject>; export type SortedOraclesUpdatedEventFilter = TypedEventFilter<SortedOraclesUpdatedEvent>; export interface BiPoolManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: BiPoolManagerInterface; 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: { CONSTANT_PRODUCT(overrides?: CallOverrides): Promise<[string]>; CONSTANT_SUM(overrides?: CallOverrides): Promise<[string]>; breakerBox(overrides?: CallOverrides): Promise<[string]>; broker(overrides?: CallOverrides): Promise<[string]>; createExchange(_exchange: IBiPoolManager.PoolExchangeStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; destroyExchange(exchangeId: PromiseOrValue<BytesLike>, exchangeIdIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; exchangeIds(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>; exchanges(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ string, string, string, BigNumber, BigNumber, BigNumber, IBiPoolManager.PoolConfigStructOutput ] & { asset0: string; asset1: string; pricingModule: string; bucket0: BigNumber; bucket1: BigNumber; lastBucketUpdate: BigNumber; config: IBiPoolManager.PoolConfigStructOutput; }>; getAmountIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & { amountIn: BigNumber; }>; getAmountOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & { amountOut: BigNumber; }>; getExchangeIds(overrides?: CallOverrides): Promise<[string[]]>; getExchanges(overrides?: CallOverrides): Promise<[ IExchangeProvider.ExchangeStructOutput[] ] & { _exchanges: IExchangeProvider.ExchangeStructOutput[]; }>; getPoolExchange(exchangeId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ IBiPoolManager.PoolExchangeStructOutput ] & { exchange: IBiPoolManager.PoolExchangeStructOutput; }>; initialize(_broker: PromiseOrValue<string>, _reserve: PromiseOrValue<string>, _sortedOracles: PromiseOrValue<string>, _breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialized(overrides?: CallOverrides): Promise<[boolean]>; isOwner(overrides?: CallOverrides): Promise<[boolean]>; owner(overrides?: CallOverrides): Promise<[string]>; pricingModules(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; reserve(overrides?: CallOverrides): Promise<[string]>; setBreakerBox(_breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setBroker(_broker: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setPricingModules(identifiers: PromiseOrValue<BytesLike>[], modules: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setReserve(_reserve: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setSortedOracles(_sortedOracles: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; sortedOracles(overrides?: CallOverrides): Promise<[string]>; swapIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; tokenPrecisionMultipliers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; CONSTANT_PRODUCT(overrides?: CallOverrides): Promise<string>; CONSTANT_SUM(overrides?: CallOverrides): Promise<string>; breakerBox(overrides?: CallOverrides): Promise<string>; broker(overrides?: CallOverrides): Promise<string>; createExchange(_exchange: IBiPoolManager.PoolExchangeStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; destroyExchange(exchangeId: PromiseOrValue<BytesLike>, exchangeIdIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; exchangeIds(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; exchanges(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ string, string, string, BigNumber, BigNumber, BigNumber, IBiPoolManager.PoolConfigStructOutput ] & { asset0: string; asset1: string; pricingModule: string; bucket0: BigNumber; bucket1: BigNumber; lastBucketUpdate: BigNumber; config: IBiPoolManager.PoolConfigStructOutput; }>; getAmountIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getExchangeIds(overrides?: CallOverrides): Promise<string[]>; getExchanges(overrides?: CallOverrides): Promise<IExchangeProvider.ExchangeStructOutput[]>; getPoolExchange(exchangeId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IBiPoolManager.PoolExchangeStructOutput>; initialize(_broker: PromiseOrValue<string>, _reserve: PromiseOrValue<string>, _sortedOracles: PromiseOrValue<string>, _breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialized(overrides?: CallOverrides): Promise<boolean>; isOwner(overrides?: CallOverrides): Promise<boolean>; owner(overrides?: CallOverrides): Promise<string>; pricingModules(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; reserve(overrides?: CallOverrides): Promise<string>; setBreakerBox(_breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setBroker(_broker: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setPricingModules(identifiers: PromiseOrValue<BytesLike>[], modules: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setReserve(_reserve: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setSortedOracles(_sortedOracles: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; sortedOracles(overrides?: CallOverrides): Promise<string>; swapIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; tokenPrecisionMultipliers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { CONSTANT_PRODUCT(overrides?: CallOverrides): Promise<string>; CONSTANT_SUM(overrides?: CallOverrides): Promise<string>; breakerBox(overrides?: CallOverrides): Promise<string>; broker(overrides?: CallOverrides): Promise<string>; createExchange(_exchange: IBiPoolManager.PoolExchangeStruct, overrides?: CallOverrides): Promise<string>; destroyExchange(exchangeId: PromiseOrValue<BytesLike>, exchangeIdIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; exchangeIds(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; exchanges(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ string, string, string, BigNumber, BigNumber, BigNumber, IBiPoolManager.PoolConfigStructOutput ] & { asset0: string; asset1: string; pricingModule: string; bucket0: BigNumber; bucket1: BigNumber; lastBucketUpdate: BigNumber; config: IBiPoolManager.PoolConfigStructOutput; }>; getAmountIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getExchangeIds(overrides?: CallOverrides): Promise<string[]>; getExchanges(overrides?: CallOverrides): Promise<IExchangeProvider.ExchangeStructOutput[]>; getPoolExchange(exchangeId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IBiPoolManager.PoolExchangeStructOutput>; initialize(_broker: PromiseOrValue<string>, _reserve: PromiseOrValue<string>, _sortedOracles: PromiseOrValue<string>, _breakerBox: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; initialized(overrides?: CallOverrides): Promise<boolean>; isOwner(overrides?: CallOverrides): Promise<boolean>; owner(overrides?: CallOverrides): Promise<string>; pricingModules(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; renounceOwnership(overrides?: CallOverrides): Promise<void>; reserve(overrides?: CallOverrides): Promise<string>; setBreakerBox(_breakerBox: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; setBroker(_broker: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; setPricingModules(identifiers: PromiseOrValue<BytesLike>[], modules: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>; setReserve(_reserve: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; setSortedOracles(_sortedOracles: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; sortedOracles(overrides?: CallOverrides): Promise<string>; swapIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; swapOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; tokenPrecisionMultipliers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; }; filters: { "BreakerBoxUpdated(address)"(newBreakerBox?: null): BreakerBoxUpdatedEventFilter; BreakerBoxUpdated(newBreakerBox?: null): BreakerBoxUpdatedEventFilter; "BrokerUpdated(address)"(newBroker?: PromiseOrValue<string> | null): BrokerUpdatedEventFilter; BrokerUpdated(newBroker?: PromiseOrValue<string> | null): BrokerUpdatedEventFilter; "BucketsUpdated(bytes32,uint256,uint256)"(exchangeId?: PromiseOrValue<BytesLike> | null, bucket0?: null, bucket1?: null): BucketsUpdatedEventFilter; BucketsUpdated(exchangeId?: PromiseOrValue<BytesLike> | null, bucket0?: null, bucket1?: null): BucketsUpdatedEventFilter; "ExchangeCreated(bytes32,address,address,address)"(exchangeId?: PromiseOrValue<BytesLike> | null, asset0?: PromiseOrValue<string> | null, asset1?: PromiseOrValue<string> | null, pricingModule?: null): ExchangeCreatedEventFilter; ExchangeCreated(exchangeId?: PromiseOrValue<BytesLike> | null, asset0?: PromiseOrValue<string> | null, asset1?: PromiseOrValue<string> | null, pricingModule?: null): ExchangeCreatedEventFilter; "ExchangeDestroyed(bytes32,address,address,address)"(exchangeId?: PromiseOrValue<BytesLike> | null, asset0?: PromiseOrValue<string> | null, asset1?: PromiseOrValue<string> | null, pricingModule?: null): ExchangeDestroyedEventFilter; ExchangeDestroyed(exchangeId?: PromiseOrValue<BytesLike> | null, asset0?: PromiseOrValue<string> | null, asset1?: PromiseOrValue<string> | null, pricingModule?: null): ExchangeDestroyedEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter; "PricingModulesUpdated(bytes32[],address[])"(newIdentifiers?: null, newAddresses?: null): PricingModulesUpdatedEventFilter; PricingModulesUpdated(newIdentifiers?: null, newAddresses?: null): PricingModulesUpdatedEventFilter; "ReserveUpdated(address)"(newReserve?: PromiseOrValue<string> | null): ReserveUpdatedEventFilter; ReserveUpdated(newReserve?: PromiseOrValue<string> | null): ReserveUpdatedEventFilter; "SortedOraclesUpdated(address)"(newSortedOracles?: PromiseOrValue<string> | null): SortedOraclesUpdatedEventFilter; SortedOraclesUpdated(newSortedOracles?: PromiseOrValue<string> | null): SortedOraclesUpdatedEventFilter; }; estimateGas: { CONSTANT_PRODUCT(overrides?: CallOverrides): Promise<BigNumber>; CONSTANT_SUM(overrides?: CallOverrides): Promise<BigNumber>; breakerBox(overrides?: CallOverrides): Promise<BigNumber>; broker(overrides?: CallOverrides): Promise<BigNumber>; createExchange(_exchange: IBiPoolManager.PoolExchangeStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; destroyExchange(exchangeId: PromiseOrValue<BytesLike>, exchangeIdIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; exchangeIds(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; exchanges(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; getAmountIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getAmountOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getExchangeIds(overrides?: CallOverrides): Promise<BigNumber>; getExchanges(overrides?: CallOverrides): Promise<BigNumber>; getPoolExchange(exchangeId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; initialize(_broker: PromiseOrValue<string>, _reserve: PromiseOrValue<string>, _sortedOracles: PromiseOrValue<string>, _breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; initialized(overrides?: CallOverrides): Promise<BigNumber>; isOwner(overrides?: CallOverrides): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<BigNumber>; pricingModules(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; reserve(overrides?: CallOverrides): Promise<BigNumber>; setBreakerBox(_breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; setBroker(_broker: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; setPricingModules(identifiers: PromiseOrValue<BytesLike>[], modules: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; setReserve(_reserve: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; setSortedOracles(_sortedOracles: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; sortedOracles(overrides?: CallOverrides): Promise<BigNumber>; swapIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; swapOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; tokenPrecisionMultipliers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { CONSTANT_PRODUCT(overrides?: CallOverrides): Promise<PopulatedTransaction>; CONSTANT_SUM(overrides?: CallOverrides): Promise<PopulatedTransaction>; breakerBox(overrides?: CallOverrides): Promise<PopulatedTransaction>; broker(overrides?: CallOverrides): Promise<PopulatedTransaction>; createExchange(_exchange: IBiPoolManager.PoolExchangeStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; destroyExchange(exchangeId: PromiseOrValue<BytesLike>, exchangeIdIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; exchangeIds(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; exchanges(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getAmountIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getAmountOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getExchangeIds(overrides?: CallOverrides): Promise<PopulatedTransaction>; getExchanges(overrides?: CallOverrides): Promise<PopulatedTransaction>; getPoolExchange(exchangeId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; initialize(_broker: PromiseOrValue<string>, _reserve: PromiseOrValue<string>, _sortedOracles: PromiseOrValue<string>, _breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; initialized(overrides?: CallOverrides): Promise<PopulatedTransaction>; isOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>; owner(overrides?: CallOverrides): Promise<PopulatedTransaction>; pricingModules(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; reserve(overrides?: CallOverrides): Promise<PopulatedTransaction>; setBreakerBox(_breakerBox: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; setBroker(_broker: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; setPricingModules(identifiers: PromiseOrValue<BytesLike>[], modules: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; setReserve(_reserve: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; setSortedOracles(_sortedOracles: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; sortedOracles(overrides?: CallOverrides): Promise<PopulatedTransaction>; swapIn(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountIn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; swapOut(exchangeId: PromiseOrValue<BytesLike>, tokenIn: PromiseOrValue<string>, tokenOut: PromiseOrValue<string>, amountOut: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; tokenPrecisionMultipliers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }