UNPKG

@mstable/protocol

Version:
1,771 lines (1,628 loc) 53.3 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, BaseContract, ContractTransaction, Overrides, CallOverrides, } from "ethers"; import { BytesLike } from "@ethersproject/bytes"; import { Listener, Provider } from "@ethersproject/providers"; import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; interface BasketManagerInterface extends ethers.utils.Interface { functions: { "addBasset(address,address,bool)": FunctionFragment; "basket()": FunctionFragment; "collectInterest()": FunctionFragment; "decreaseVaultBalance(uint8,address,uint256)": FunctionFragment; "decreaseVaultBalances(uint8[],address[],uint256[])": FunctionFragment; "failBasset(address)": FunctionFragment; "getBasket()": FunctionFragment; "getBasset(address)": FunctionFragment; "getBassetIntegrator(address)": FunctionFragment; "getBassets()": FunctionFragment; "handlePegLoss(address,bool)": FunctionFragment; "increaseVaultBalance(uint8,address,uint256)": FunctionFragment; "increaseVaultBalances(uint8[],address[],uint256[])": FunctionFragment; "integrations(uint256)": FunctionFragment; "mAsset()": FunctionFragment; "migrateBassets(address[],address)": FunctionFragment; "negateIsolation(address)": FunctionFragment; "nexus()": FunctionFragment; "pause()": FunctionFragment; "paused()": FunctionFragment; "prepareForgeBasset(address,uint256,bool)": FunctionFragment; "prepareForgeBassets(address[],uint256[],bool)": FunctionFragment; "prepareRedeemBassets(address[])": FunctionFragment; "prepareRedeemMulti()": FunctionFragment; "prepareSwapBassets(address,address,bool)": FunctionFragment; "removeBasset(address)": FunctionFragment; "setBasketWeights(address[],uint256[])": FunctionFragment; "setTransferFeesFlag(address,bool)": FunctionFragment; "unpause()": FunctionFragment; }; encodeFunctionData( functionFragment: "addBasset", values: [string, string, boolean] ): string; encodeFunctionData(functionFragment: "basket", values?: undefined): string; encodeFunctionData( functionFragment: "collectInterest", values?: undefined ): string; encodeFunctionData( functionFragment: "decreaseVaultBalance", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "decreaseVaultBalances", values: [BigNumberish[], string[], BigNumberish[]] ): string; encodeFunctionData(functionFragment: "failBasset", values: [string]): string; encodeFunctionData(functionFragment: "getBasket", values?: undefined): string; encodeFunctionData(functionFragment: "getBasset", values: [string]): string; encodeFunctionData( functionFragment: "getBassetIntegrator", values: [string] ): string; encodeFunctionData( functionFragment: "getBassets", values?: undefined ): string; encodeFunctionData( functionFragment: "handlePegLoss", values: [string, boolean] ): string; encodeFunctionData( functionFragment: "increaseVaultBalance", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "increaseVaultBalances", values: [BigNumberish[], string[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "integrations", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "mAsset", values?: undefined): string; encodeFunctionData( functionFragment: "migrateBassets", values: [string[], string] ): string; encodeFunctionData( functionFragment: "negateIsolation", values: [string] ): string; encodeFunctionData(functionFragment: "nexus", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData( functionFragment: "prepareForgeBasset", values: [string, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "prepareForgeBassets", values: [string[], BigNumberish[], boolean] ): string; encodeFunctionData( functionFragment: "prepareRedeemBassets", values: [string[]] ): string; encodeFunctionData( functionFragment: "prepareRedeemMulti", values?: undefined ): string; encodeFunctionData( functionFragment: "prepareSwapBassets", values: [string, string, boolean] ): string; encodeFunctionData( functionFragment: "removeBasset", values: [string] ): string; encodeFunctionData( functionFragment: "setBasketWeights", values: [string[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "setTransferFeesFlag", values: [string, boolean] ): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; decodeFunctionResult(functionFragment: "addBasset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "basket", data: BytesLike): Result; decodeFunctionResult( functionFragment: "collectInterest", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "decreaseVaultBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "decreaseVaultBalances", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "failBasset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBasket", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBasset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getBassetIntegrator", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getBassets", data: BytesLike): Result; decodeFunctionResult( functionFragment: "handlePegLoss", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "increaseVaultBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "increaseVaultBalances", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "integrations", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "mAsset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "migrateBassets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "negateIsolation", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "nexus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult( functionFragment: "prepareForgeBasset", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "prepareForgeBassets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "prepareRedeemBassets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "prepareRedeemMulti", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "prepareSwapBassets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeBasset", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setBasketWeights", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setTransferFeesFlag", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; events: { "BasketStatusChanged()": EventFragment; "BasketWeightsUpdated(address[],uint256[])": EventFragment; "BassetAdded(address,address)": EventFragment; "BassetRemoved(address)": EventFragment; "BassetStatusChanged(address,uint8)": EventFragment; "BassetsMigrated(address[],address)": EventFragment; "Paused(address)": EventFragment; "TransferFeeEnabled(address,bool)": EventFragment; "Unpaused(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BasketStatusChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BasketWeightsUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "BassetAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "BassetRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "BassetStatusChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BassetsMigrated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransferFeeEnabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; } export class BasketManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; listeners<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter?: TypedEventFilter<EventArgsArray, EventArgsObject> ): Array<TypedListener<EventArgsArray, EventArgsObject>>; off<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter: TypedEventFilter<EventArgsArray, EventArgsObject>, listener: TypedListener<EventArgsArray, EventArgsObject> ): this; on<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter: TypedEventFilter<EventArgsArray, EventArgsObject>, listener: TypedListener<EventArgsArray, EventArgsObject> ): this; once<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter: TypedEventFilter<EventArgsArray, EventArgsObject>, listener: TypedListener<EventArgsArray, EventArgsObject> ): this; removeListener<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter: TypedEventFilter<EventArgsArray, EventArgsObject>, listener: TypedListener<EventArgsArray, EventArgsObject> ): this; removeAllListeners<EventArgsArray extends Array<any>, EventArgsObject>( eventFilter: TypedEventFilter<EventArgsArray, EventArgsObject> ): this; listeners(eventName?: string): Array<Listener>; off(eventName: string, listener: Listener): this; on(eventName: string, listener: Listener): this; once(eventName: string, listener: Listener): this; removeListener(eventName: string, listener: Listener): this; removeAllListeners(eventName?: string): this; queryFilter<EventArgsArray extends Array<any>, EventArgsObject>( event: TypedEventFilter<EventArgsArray, EventArgsObject>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TypedEvent<EventArgsArray & EventArgsObject>>>; interface: BasketManagerInterface; functions: { addBasset( _bAsset: string, _integration: string, _isTransferFeeCharged: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; basket( overrides?: CallOverrides ): Promise< [number, boolean, boolean, BigNumber] & { maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } >; collectInterest( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; decreaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _decreaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; decreaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _decreaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; failBasset( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; getBasket( overrides?: CallOverrides ): Promise< [ [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], number, boolean, boolean, BigNumber ] & { bassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } ] & { b: [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], number, boolean, boolean, BigNumber ] & { bassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; }; } >; getBasset( _bAsset: string, overrides?: CallOverrides ): Promise< [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; } ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; } >; getBassetIntegrator( _bAsset: string, overrides?: CallOverrides ): Promise<[string] & { integrator: string }>; getBassets( overrides?: CallOverrides ): Promise< [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], BigNumber ] & { bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; len: BigNumber; } >; handlePegLoss( _bAsset: string, _belowPeg: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; increaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _increaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; increaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _increaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; integrations( arg0: BigNumberish, overrides?: CallOverrides ): Promise<[string]>; mAsset(overrides?: CallOverrides): Promise<[string]>; migrateBassets( _bAssets: string[], _newIntegration: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; negateIsolation( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; nexus(overrides?: CallOverrides): Promise<[string]>; pause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<[boolean]>; prepareForgeBasset( _bAsset: string, arg1: BigNumberish, arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; prepareForgeBassets( _bAssets: string[], arg1: BigNumberish[], arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; prepareRedeemBassets( _bAssets: string[], overrides?: CallOverrides ): Promise< [ [ boolean, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { isValid: boolean; allBassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; bAssets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } ] & { props: [ boolean, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { isValid: boolean; allBassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; bAssets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; }; } >; prepareRedeemMulti( overrides?: CallOverrides ): Promise< [ [ BigNumber, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { colRatio: BigNumber; bAssets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } ] & { props: [ BigNumber, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { colRatio: BigNumber; bAssets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; }; } >; prepareSwapBassets( _input: string, _output: string, _isMint: boolean, overrides?: CallOverrides ): Promise< [ boolean, string, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; }, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; } ] >; removeBasset( _assetToRemove: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; setBasketWeights( _bAssets: string[], _weights: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; setTransferFeesFlag( _bAsset: string, _flag: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; unpause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; }; addBasset( _bAsset: string, _integration: string, _isTransferFeeCharged: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; basket( overrides?: CallOverrides ): Promise< [number, boolean, boolean, BigNumber] & { maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } >; collectInterest( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; decreaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _decreaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; decreaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _decreaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; failBasset( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; getBasket( overrides?: CallOverrides ): Promise< [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], number, boolean, boolean, BigNumber ] & { bassets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } >; getBasset( _bAsset: string, overrides?: CallOverrides ): Promise< [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; } >; getBassetIntegrator( _bAsset: string, overrides?: CallOverrides ): Promise<string>; getBassets( overrides?: CallOverrides ): Promise< [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], BigNumber ] & { bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; len: BigNumber; } >; handlePegLoss( _bAsset: string, _belowPeg: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; increaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _increaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; increaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _increaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; integrations(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>; mAsset(overrides?: CallOverrides): Promise<string>; migrateBassets( _bAssets: string[], _newIntegration: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; negateIsolation( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; nexus(overrides?: CallOverrides): Promise<string>; pause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<boolean>; prepareForgeBasset( _bAsset: string, arg1: BigNumberish, arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; prepareForgeBassets( _bAssets: string[], arg1: BigNumberish[], arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; prepareRedeemBassets( _bAssets: string[], overrides?: CallOverrides ): Promise< [ boolean, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { isValid: boolean; allBassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } >; prepareRedeemMulti( overrides?: CallOverrides ): Promise< [ BigNumber, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { colRatio: BigNumber; bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } >; prepareSwapBassets( _input: string, _output: string, _isMint: boolean, overrides?: CallOverrides ): Promise< [ boolean, string, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; }, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; } ] >; removeBasset( _assetToRemove: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; setBasketWeights( _bAssets: string[], _weights: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; setTransferFeesFlag( _bAsset: string, _flag: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; unpause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; callStatic: { addBasset( _bAsset: string, _integration: string, _isTransferFeeCharged: boolean, overrides?: CallOverrides ): Promise<number>; basket( overrides?: CallOverrides ): Promise< [number, boolean, boolean, BigNumber] & { maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } >; collectInterest( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber[]] & { interestCollected: BigNumber; gains: BigNumber[]; } >; decreaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _decreaseAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; decreaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _decreaseAmount: BigNumberish[], overrides?: CallOverrides ): Promise<void>; failBasset(_bAsset: string, overrides?: CallOverrides): Promise<void>; getBasket( overrides?: CallOverrides ): Promise< [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], number, boolean, boolean, BigNumber ] & { bassets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; maxBassets: number; undergoingRecol: boolean; failed: boolean; collateralisationRatio: BigNumber; } >; getBasset( _bAsset: string, overrides?: CallOverrides ): Promise< [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; } >; getBassetIntegrator( _bAsset: string, overrides?: CallOverrides ): Promise<string>; getBassets( overrides?: CallOverrides ): Promise< [ ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], BigNumber ] & { bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; len: BigNumber; } >; handlePegLoss( _bAsset: string, _belowPeg: boolean, overrides?: CallOverrides ): Promise<boolean>; increaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _increaseAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; increaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _increaseAmount: BigNumberish[], overrides?: CallOverrides ): Promise<void>; integrations( arg0: BigNumberish, overrides?: CallOverrides ): Promise<string>; mAsset(overrides?: CallOverrides): Promise<string>; migrateBassets( _bAssets: string[], _newIntegration: string, overrides?: CallOverrides ): Promise<void>; negateIsolation(_bAsset: string, overrides?: CallOverrides): Promise<void>; nexus(overrides?: CallOverrides): Promise<string>; pause(overrides?: CallOverrides): Promise<void>; paused(overrides?: CallOverrides): Promise<boolean>; prepareForgeBasset( _bAsset: string, arg1: BigNumberish, arg2: boolean, overrides?: CallOverrides ): Promise< [ boolean, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; } ] & { isValid: boolean; bInfo: [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; }; } >; prepareForgeBassets( _bAssets: string[], arg1: BigNumberish[], arg2: boolean, overrides?: CallOverrides ): Promise< [ boolean, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { isValid: boolean; bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } >; prepareRedeemBassets( _bAssets: string[], overrides?: CallOverrides ): Promise< [ boolean, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { isValid: boolean; allBassets: ([ string, number, boolean, BigNumber, BigNumber, BigNumber ] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } >; prepareRedeemMulti( overrides?: CallOverrides ): Promise< [ BigNumber, ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[], string[], number[] ] & { colRatio: BigNumber; bAssets: ([string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; })[]; integrators: string[]; indexes: number[]; } >; prepareSwapBassets( _input: string, _output: string, _isMint: boolean, overrides?: CallOverrides ): Promise< [ boolean, string, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; }, [ [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }, string, number ] & { bAsset: [string, number, boolean, BigNumber, BigNumber, BigNumber] & { addr: string; status: number; isTransferFeeCharged: boolean; ratio: BigNumber; maxWeight: BigNumber; vaultBalance: BigNumber; }; integrator: string; index: number; } ] >; removeBasset( _assetToRemove: string, overrides?: CallOverrides ): Promise<void>; setBasketWeights( _bAssets: string[], _weights: BigNumberish[], overrides?: CallOverrides ): Promise<void>; setTransferFeesFlag( _bAsset: string, _flag: boolean, overrides?: CallOverrides ): Promise<void>; unpause(overrides?: CallOverrides): Promise<void>; }; filters: { BasketStatusChanged(): TypedEventFilter<[], {}>; BasketWeightsUpdated( bAssets?: null, maxWeights?: null ): TypedEventFilter< [string[], BigNumber[]], { bAssets: string[]; maxWeights: BigNumber[] } >; BassetAdded( bAsset?: string | null, integrator?: null ): TypedEventFilter< [string, string], { bAsset: string; integrator: string } >; BassetRemoved( bAsset?: string | null ): TypedEventFilter<[string], { bAsset: string }>; BassetStatusChanged( bAsset?: string | null, status?: null ): TypedEventFilter<[string, number], { bAsset: string; status: number }>; BassetsMigrated( bAssets?: null, newIntegrator?: null ): TypedEventFilter< [string[], string], { bAssets: string[]; newIntegrator: string } >; Paused(account?: null): TypedEventFilter<[string], { account: string }>; TransferFeeEnabled( bAsset?: string | null, enabled?: null ): TypedEventFilter< [string, boolean], { bAsset: string; enabled: boolean } >; Unpaused(account?: null): TypedEventFilter<[string], { account: string }>; }; estimateGas: { addBasset( _bAsset: string, _integration: string, _isTransferFeeCharged: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; basket(overrides?: CallOverrides): Promise<BigNumber>; collectInterest( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; decreaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _decreaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; decreaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _decreaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; failBasset( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; getBasket(overrides?: CallOverrides): Promise<BigNumber>; getBasset(_bAsset: string, overrides?: CallOverrides): Promise<BigNumber>; getBassetIntegrator( _bAsset: string, overrides?: CallOverrides ): Promise<BigNumber>; getBassets(overrides?: CallOverrides): Promise<BigNumber>; handlePegLoss( _bAsset: string, _belowPeg: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; increaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _increaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; increaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _increaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; integrations( arg0: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; mAsset(overrides?: CallOverrides): Promise<BigNumber>; migrateBassets( _bAssets: string[], _newIntegration: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; negateIsolation( _bAsset: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; nexus(overrides?: CallOverrides): Promise<BigNumber>; pause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; paused(overrides?: CallOverrides): Promise<BigNumber>; prepareForgeBasset( _bAsset: string, arg1: BigNumberish, arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; prepareForgeBassets( _bAssets: string[], arg1: BigNumberish[], arg2: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; prepareRedeemBassets( _bAssets: string[], overrides?: CallOverrides ): Promise<BigNumber>; prepareRedeemMulti(overrides?: CallOverrides): Promise<BigNumber>; prepareSwapBassets( _input: string, _output: string, _isMint: boolean, overrides?: CallOverrides ): Promise<BigNumber>; removeBasset( _assetToRemove: string, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; setBasketWeights( _bAssets: string[], _weights: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; setTransferFeesFlag( _bAsset: string, _flag: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; unpause( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; }; populateTransaction: { addBasset( _bAsset: string, _integration: string, _isTransferFeeCharged: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; basket(overrides?: CallOverrides): Promise<PopulatedTransaction>; collectInterest( overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; decreaseVaultBalance( _bAssetIndex: BigNumberish, arg1: string, _decreaseAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; decreaseVaultBalances( _bAssetIndices: BigNumberish[], arg1: string[], _decreaseAmount: BigNumberish[], overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>;