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 interface SingleIndexModuleInterface extends utils.Interface { functions: { "anyoneTrade()": FunctionFragment; "assetInfo(address)": FunctionFragment; "balancerProxy()": FunctionFragment; "controller()": FunctionFragment; "getRebalanceComponents()": FunctionFragment; "getTargetUnits(address[])": FunctionFragment; "index()": FunctionFragment; "initialize(address)": FunctionFragment; "positionMultiplier()": FunctionFragment; "raiseAssetTargets()": FunctionFragment; "rebalanceComponents(uint256)": FunctionFragment; "removeModule()": FunctionFragment; "setCoolOffPeriods(address[],uint256[])": FunctionFragment; "setExchanges(address[],uint256[])": FunctionFragment; "setTradeMaximums(address[],uint256[])": FunctionFragment; "startRebalance(address[],uint256[],uint256[],uint256)": FunctionFragment; "sushiswapRouter()": FunctionFragment; "trade(address)": FunctionFragment; "tradeAllowList(address)": FunctionFragment; "tradeRemainingWETH(address)": FunctionFragment; "uniswapRouter()": FunctionFragment; "updateAnyoneTrade(bool)": FunctionFragment; "updateTraderStatus(address[],bool[])": FunctionFragment; "weth()": FunctionFragment; }; encodeFunctionData(functionFragment: "anyoneTrade", values?: undefined): string; encodeFunctionData(functionFragment: "assetInfo", values: [string]): string; encodeFunctionData(functionFragment: "balancerProxy", values?: undefined): string; encodeFunctionData(functionFragment: "controller", values?: undefined): string; encodeFunctionData(functionFragment: "getRebalanceComponents", values?: undefined): string; encodeFunctionData(functionFragment: "getTargetUnits", values: [string[]]): string; encodeFunctionData(functionFragment: "index", values?: undefined): string; encodeFunctionData(functionFragment: "initialize", values: [string]): string; encodeFunctionData(functionFragment: "positionMultiplier", values?: undefined): string; encodeFunctionData(functionFragment: "raiseAssetTargets", values?: undefined): string; encodeFunctionData(functionFragment: "rebalanceComponents", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "removeModule", values?: undefined): string; encodeFunctionData(functionFragment: "setCoolOffPeriods", values: [string[], BigNumberish[]]): string; encodeFunctionData(functionFragment: "setExchanges", values: [string[], BigNumberish[]]): string; encodeFunctionData(functionFragment: "setTradeMaximums", values: [string[], BigNumberish[]]): string; encodeFunctionData(functionFragment: "startRebalance", values: [string[], BigNumberish[], BigNumberish[], BigNumberish]): string; encodeFunctionData(functionFragment: "sushiswapRouter", values?: undefined): string; encodeFunctionData(functionFragment: "trade", values: [string]): string; encodeFunctionData(functionFragment: "tradeAllowList", values: [string]): string; encodeFunctionData(functionFragment: "tradeRemainingWETH", values: [string]): string; encodeFunctionData(functionFragment: "uniswapRouter", values?: undefined): string; encodeFunctionData(functionFragment: "updateAnyoneTrade", values: [boolean]): string; encodeFunctionData(functionFragment: "updateTraderStatus", values: [string[], boolean[]]): string; encodeFunctionData(functionFragment: "weth", values?: undefined): string; decodeFunctionResult(functionFragment: "anyoneTrade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assetInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balancerProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRebalanceComponents", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTargetUnits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "index", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "positionMultiplier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "raiseAssetTargets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rebalanceComponents", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeModule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCoolOffPeriods", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setExchanges", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTradeMaximums", data: BytesLike): Result; decodeFunctionResult(functionFragment: "startRebalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sushiswapRouter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeAllowList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRemainingWETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "uniswapRouter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateAnyoneTrade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateTraderStatus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "weth", data: BytesLike): Result; events: { "AnyoneTradeUpdated(bool)": EventFragment; "AssetExchangeUpdated(address,uint256)": EventFragment; "CoolOffPeriodUpdated(address,uint256)": EventFragment; "TargetUnitsUpdated(address,uint256,uint256)": EventFragment; "TradeExecuted(address,address,address,uint256,uint256)": EventFragment; "TradeMaximumUpdated(address,uint256)": EventFragment; "TraderStatusUpdated(address,bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AnyoneTradeUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetExchangeUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "CoolOffPeriodUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TargetUnitsUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TradeExecuted"): EventFragment; getEvent(nameOrSignatureOrTopic: "TradeMaximumUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TraderStatusUpdated"): EventFragment; } export declare type AnyoneTradeUpdatedEvent = TypedEvent<[ boolean ], { _status: boolean; }>; export declare type AnyoneTradeUpdatedEventFilter = TypedEventFilter; export declare type AssetExchangeUpdatedEvent = TypedEvent<[ string, BigNumber ], { _component: string; _newExchange: BigNumber; }>; export declare type AssetExchangeUpdatedEventFilter = TypedEventFilter; export declare type CoolOffPeriodUpdatedEvent = TypedEvent<[ string, BigNumber ], { _component: string; _newCoolOffPeriod: BigNumber; }>; export declare type CoolOffPeriodUpdatedEventFilter = TypedEventFilter; export declare type TargetUnitsUpdatedEvent = TypedEvent<[ string, BigNumber, BigNumber ], { _component: string; _newUnit: BigNumber; _positionMultiplier: BigNumber; }>; export declare type TargetUnitsUpdatedEventFilter = TypedEventFilter; export declare type TradeExecutedEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber ], { _executor: string; _sellComponent: string; _buyComponent: string; _amountSold: BigNumber; _amountBought: BigNumber; }>; export declare type TradeExecutedEventFilter = TypedEventFilter; export declare type TradeMaximumUpdatedEvent = TypedEvent<[ string, BigNumber ], { _component: string; _newMaximum: BigNumber; }>; export declare type TradeMaximumUpdatedEventFilter = TypedEventFilter; export declare type TraderStatusUpdatedEvent = TypedEvent<[ string, boolean ], { _trader: string; _status: boolean; }>; export declare type TraderStatusUpdatedEventFilter = TypedEventFilter; export interface SingleIndexModule extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: SingleIndexModuleInterface; 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: { anyoneTrade(overrides?: CallOverrides): Promise<[boolean]>; assetInfo(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { targetUnit: BigNumber; maxSize: BigNumber; coolOffPeriod: BigNumber; lastTradeTimestamp: BigNumber; exchange: BigNumber; }>; balancerProxy(overrides?: CallOverrides): Promise<[string]>; controller(overrides?: CallOverrides): Promise<[string]>; getRebalanceComponents(overrides?: CallOverrides): Promise<[string[]]>; getTargetUnits(_components: string[], overrides?: CallOverrides): Promise<[BigNumber[]]>; index(overrides?: CallOverrides): Promise<[string]>; initialize(_index: string, overrides?: Overrides & { from?: string | Promise; }): Promise; positionMultiplier(overrides?: CallOverrides): Promise<[BigNumber]>; raiseAssetTargets(overrides?: Overrides & { from?: string | Promise; }): Promise; rebalanceComponents(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>; removeModule(overrides?: Overrides & { from?: string | Promise; }): Promise; setCoolOffPeriods(_components: string[], _coolOffPeriods: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setExchanges(_components: string[], _exchanges: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setTradeMaximums(_components: string[], _tradeMaximums: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; startRebalance(_newComponents: string[], _newComponentsTargetUnits: BigNumberish[], _oldComponentsTargetUnits: BigNumberish[], _positionMultiplier: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; sushiswapRouter(overrides?: CallOverrides): Promise<[string]>; trade(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tradeAllowList(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; tradeRemainingWETH(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; uniswapRouter(overrides?: CallOverrides): Promise<[string]>; updateAnyoneTrade(_status: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; updateTraderStatus(_traders: string[], _statuses: boolean[], overrides?: Overrides & { from?: string | Promise; }): Promise; weth(overrides?: CallOverrides): Promise<[string]>; }; anyoneTrade(overrides?: CallOverrides): Promise; assetInfo(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { targetUnit: BigNumber; maxSize: BigNumber; coolOffPeriod: BigNumber; lastTradeTimestamp: BigNumber; exchange: BigNumber; }>; balancerProxy(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; getRebalanceComponents(overrides?: CallOverrides): Promise; getTargetUnits(_components: string[], overrides?: CallOverrides): Promise; index(overrides?: CallOverrides): Promise; initialize(_index: string, overrides?: Overrides & { from?: string | Promise; }): Promise; positionMultiplier(overrides?: CallOverrides): Promise; raiseAssetTargets(overrides?: Overrides & { from?: string | Promise; }): Promise; rebalanceComponents(arg0: BigNumberish, overrides?: CallOverrides): Promise; removeModule(overrides?: Overrides & { from?: string | Promise; }): Promise; setCoolOffPeriods(_components: string[], _coolOffPeriods: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setExchanges(_components: string[], _exchanges: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setTradeMaximums(_components: string[], _tradeMaximums: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; startRebalance(_newComponents: string[], _newComponentsTargetUnits: BigNumberish[], _oldComponentsTargetUnits: BigNumberish[], _positionMultiplier: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; sushiswapRouter(overrides?: CallOverrides): Promise; trade(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tradeAllowList(arg0: string, overrides?: CallOverrides): Promise; tradeRemainingWETH(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; uniswapRouter(overrides?: CallOverrides): Promise; updateAnyoneTrade(_status: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; updateTraderStatus(_traders: string[], _statuses: boolean[], overrides?: Overrides & { from?: string | Promise; }): Promise; weth(overrides?: CallOverrides): Promise; callStatic: { anyoneTrade(overrides?: CallOverrides): Promise; assetInfo(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { targetUnit: BigNumber; maxSize: BigNumber; coolOffPeriod: BigNumber; lastTradeTimestamp: BigNumber; exchange: BigNumber; }>; balancerProxy(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; getRebalanceComponents(overrides?: CallOverrides): Promise; getTargetUnits(_components: string[], overrides?: CallOverrides): Promise; index(overrides?: CallOverrides): Promise; initialize(_index: string, overrides?: CallOverrides): Promise; positionMultiplier(overrides?: CallOverrides): Promise; raiseAssetTargets(overrides?: CallOverrides): Promise; rebalanceComponents(arg0: BigNumberish, overrides?: CallOverrides): Promise; removeModule(overrides?: CallOverrides): Promise; setCoolOffPeriods(_components: string[], _coolOffPeriods: BigNumberish[], overrides?: CallOverrides): Promise; setExchanges(_components: string[], _exchanges: BigNumberish[], overrides?: CallOverrides): Promise; setTradeMaximums(_components: string[], _tradeMaximums: BigNumberish[], overrides?: CallOverrides): Promise; startRebalance(_newComponents: string[], _newComponentsTargetUnits: BigNumberish[], _oldComponentsTargetUnits: BigNumberish[], _positionMultiplier: BigNumberish, overrides?: CallOverrides): Promise; sushiswapRouter(overrides?: CallOverrides): Promise; trade(_component: string, overrides?: CallOverrides): Promise; tradeAllowList(arg0: string, overrides?: CallOverrides): Promise; tradeRemainingWETH(_component: string, overrides?: CallOverrides): Promise; uniswapRouter(overrides?: CallOverrides): Promise; updateAnyoneTrade(_status: boolean, overrides?: CallOverrides): Promise; updateTraderStatus(_traders: string[], _statuses: boolean[], overrides?: CallOverrides): Promise; weth(overrides?: CallOverrides): Promise; }; filters: { "AnyoneTradeUpdated(bool)"(_status?: boolean | null): AnyoneTradeUpdatedEventFilter; AnyoneTradeUpdated(_status?: boolean | null): AnyoneTradeUpdatedEventFilter; "AssetExchangeUpdated(address,uint256)"(_component?: string | null, _newExchange?: null): AssetExchangeUpdatedEventFilter; AssetExchangeUpdated(_component?: string | null, _newExchange?: null): AssetExchangeUpdatedEventFilter; "CoolOffPeriodUpdated(address,uint256)"(_component?: string | null, _newCoolOffPeriod?: null): CoolOffPeriodUpdatedEventFilter; CoolOffPeriodUpdated(_component?: string | null, _newCoolOffPeriod?: null): CoolOffPeriodUpdatedEventFilter; "TargetUnitsUpdated(address,uint256,uint256)"(_component?: string | null, _newUnit?: null, _positionMultiplier?: null): TargetUnitsUpdatedEventFilter; TargetUnitsUpdated(_component?: string | null, _newUnit?: null, _positionMultiplier?: null): TargetUnitsUpdatedEventFilter; "TradeExecuted(address,address,address,uint256,uint256)"(_executor?: string | null, _sellComponent?: string | null, _buyComponent?: string | null, _amountSold?: null, _amountBought?: null): TradeExecutedEventFilter; TradeExecuted(_executor?: string | null, _sellComponent?: string | null, _buyComponent?: string | null, _amountSold?: null, _amountBought?: null): TradeExecutedEventFilter; "TradeMaximumUpdated(address,uint256)"(_component?: string | null, _newMaximum?: null): TradeMaximumUpdatedEventFilter; TradeMaximumUpdated(_component?: string | null, _newMaximum?: null): TradeMaximumUpdatedEventFilter; "TraderStatusUpdated(address,bool)"(_trader?: string | null, _status?: null): TraderStatusUpdatedEventFilter; TraderStatusUpdated(_trader?: string | null, _status?: null): TraderStatusUpdatedEventFilter; }; estimateGas: { anyoneTrade(overrides?: CallOverrides): Promise; assetInfo(arg0: string, overrides?: CallOverrides): Promise; balancerProxy(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; getRebalanceComponents(overrides?: CallOverrides): Promise; getTargetUnits(_components: string[], overrides?: CallOverrides): Promise; index(overrides?: CallOverrides): Promise; initialize(_index: string, overrides?: Overrides & { from?: string | Promise; }): Promise; positionMultiplier(overrides?: CallOverrides): Promise; raiseAssetTargets(overrides?: Overrides & { from?: string | Promise; }): Promise; rebalanceComponents(arg0: BigNumberish, overrides?: CallOverrides): Promise; removeModule(overrides?: Overrides & { from?: string | Promise; }): Promise; setCoolOffPeriods(_components: string[], _coolOffPeriods: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setExchanges(_components: string[], _exchanges: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setTradeMaximums(_components: string[], _tradeMaximums: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; startRebalance(_newComponents: string[], _newComponentsTargetUnits: BigNumberish[], _oldComponentsTargetUnits: BigNumberish[], _positionMultiplier: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; sushiswapRouter(overrides?: CallOverrides): Promise; trade(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tradeAllowList(arg0: string, overrides?: CallOverrides): Promise; tradeRemainingWETH(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; uniswapRouter(overrides?: CallOverrides): Promise; updateAnyoneTrade(_status: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; updateTraderStatus(_traders: string[], _statuses: boolean[], overrides?: Overrides & { from?: string | Promise; }): Promise; weth(overrides?: CallOverrides): Promise; }; populateTransaction: { anyoneTrade(overrides?: CallOverrides): Promise; assetInfo(arg0: string, overrides?: CallOverrides): Promise; balancerProxy(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; getRebalanceComponents(overrides?: CallOverrides): Promise; getTargetUnits(_components: string[], overrides?: CallOverrides): Promise; index(overrides?: CallOverrides): Promise; initialize(_index: string, overrides?: Overrides & { from?: string | Promise; }): Promise; positionMultiplier(overrides?: CallOverrides): Promise; raiseAssetTargets(overrides?: Overrides & { from?: string | Promise; }): Promise; rebalanceComponents(arg0: BigNumberish, overrides?: CallOverrides): Promise; removeModule(overrides?: Overrides & { from?: string | Promise; }): Promise; setCoolOffPeriods(_components: string[], _coolOffPeriods: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setExchanges(_components: string[], _exchanges: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; setTradeMaximums(_components: string[], _tradeMaximums: BigNumberish[], overrides?: Overrides & { from?: string | Promise; }): Promise; startRebalance(_newComponents: string[], _newComponentsTargetUnits: BigNumberish[], _oldComponentsTargetUnits: BigNumberish[], _positionMultiplier: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; sushiswapRouter(overrides?: CallOverrides): Promise; trade(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tradeAllowList(arg0: string, overrides?: CallOverrides): Promise; tradeRemainingWETH(_component: string, overrides?: Overrides & { from?: string | Promise; }): Promise; uniswapRouter(overrides?: CallOverrides): Promise; updateAnyoneTrade(_status: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; updateTraderStatus(_traders: string[], _statuses: boolean[], overrides?: Overrides & { from?: string | Promise; }): Promise; weth(overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=SingleIndexModule.d.ts.map