UNPKG

@mean-finance/dca-v2-core

Version:

Core smart contracts of DCA v2 by mean.finance

819 lines (818 loc) 59.2 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 IDCAPermissionManager { type PermissionSetStruct = { operator: PromiseOrValue<string>; permissions: PromiseOrValue<BigNumberish>[]; }; type PermissionSetStructOutput = [string, number[]] & { operator: string; permissions: number[]; }; } export declare namespace IDCAHubSwapHandler { type TokenInSwapStruct = { token: PromiseOrValue<string>; reward: PromiseOrValue<BigNumberish>; toProvide: PromiseOrValue<BigNumberish>; platformFee: PromiseOrValue<BigNumberish>; }; type TokenInSwapStructOutput = [ string, BigNumber, BigNumber, BigNumber ] & { token: string; reward: BigNumber; toProvide: BigNumber; platformFee: BigNumber; }; type PairInSwapStruct = { tokenA: PromiseOrValue<string>; tokenB: PromiseOrValue<string>; totalAmountToSwapTokenA: PromiseOrValue<BigNumberish>; totalAmountToSwapTokenB: PromiseOrValue<BigNumberish>; ratioAToB: PromiseOrValue<BigNumberish>; ratioBToA: PromiseOrValue<BigNumberish>; intervalsInSwap: PromiseOrValue<BytesLike>; }; type PairInSwapStructOutput = [ string, string, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { tokenA: string; tokenB: string; totalAmountToSwapTokenA: BigNumber; totalAmountToSwapTokenB: BigNumber; ratioAToB: BigNumber; ratioBToA: BigNumber; intervalsInSwap: string; }; type SwapInfoStruct = { tokens: IDCAHubSwapHandler.TokenInSwapStruct[]; pairs: IDCAHubSwapHandler.PairInSwapStruct[]; }; type SwapInfoStructOutput = [ IDCAHubSwapHandler.TokenInSwapStructOutput[], IDCAHubSwapHandler.PairInSwapStructOutput[] ] & { tokens: IDCAHubSwapHandler.TokenInSwapStructOutput[]; pairs: IDCAHubSwapHandler.PairInSwapStructOutput[]; }; type PairIndexesStruct = { indexTokenA: PromiseOrValue<BigNumberish>; indexTokenB: PromiseOrValue<BigNumberish>; }; type PairIndexesStructOutput = [number, number] & { indexTokenA: number; indexTokenB: number; }; } export declare namespace IDCAHub { type AmountOfTokenStruct = { token: PromiseOrValue<string>; amount: PromiseOrValue<BigNumberish>; }; type AmountOfTokenStructOutput = [string, BigNumber] & { token: string; amount: BigNumber; }; } export declare namespace IDCAHubPositionHandler { type PositionSetStruct = { token: PromiseOrValue<string>; positionIds: PromiseOrValue<BigNumberish>[]; }; type PositionSetStructOutput = [string, BigNumber[]] & { token: string; positionIds: BigNumber[]; }; type UserPositionStruct = { from: PromiseOrValue<string>; to: PromiseOrValue<string>; swapInterval: PromiseOrValue<BigNumberish>; swapsExecuted: PromiseOrValue<BigNumberish>; swapped: PromiseOrValue<BigNumberish>; swapsLeft: PromiseOrValue<BigNumberish>; remaining: PromiseOrValue<BigNumberish>; rate: PromiseOrValue<BigNumberish>; }; type UserPositionStructOutput = [ string, string, number, number, BigNumber, number, BigNumber, BigNumber ] & { from: string; to: string; swapInterval: number; swapsExecuted: number; swapped: BigNumber; swapsLeft: number; remaining: BigNumber; rate: BigNumber; }; } export interface IDCAHubInterface extends utils.Interface { functions: { "MAX_FEE()": FunctionFragment; "MAX_PLATFORM_FEE_RATIO()": FunctionFragment; "accumRatio(address,address,bytes1,uint32)": FunctionFragment; "activeSwapIntervals(address,address)": FunctionFragment; "addSwapIntervalsToAllowedList(uint32[])": FunctionFragment; "allowedSwapIntervals()": FunctionFragment; "allowedTokens(address)": FunctionFragment; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])": FunctionFragment; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)": FunctionFragment; "getNextSwapInfo(address[],(uint8,uint8)[],bool,bytes)": FunctionFragment; "increasePosition(uint256,uint256,uint32)": FunctionFragment; "oracle()": FunctionFragment; "pause()": FunctionFragment; "paused()": FunctionFragment; "permissionManager()": FunctionFragment; "platformBalance(address)": FunctionFragment; "platformFeeRatio()": FunctionFragment; "reducePosition(uint256,uint256,uint32,address)": FunctionFragment; "removeSwapIntervalsFromAllowedList(uint32[])": FunctionFragment; "setOracle(address)": FunctionFragment; "setPlatformFeeRatio(uint16)": FunctionFragment; "setSwapFee(uint32)": FunctionFragment; "swap(address[],(uint8,uint8)[],address,address,uint256[],bytes,bytes)": FunctionFragment; "swapAmountDelta(address,address,bytes1,uint32)": FunctionFragment; "swapData(address,address,bytes1)": FunctionFragment; "swapFee()": FunctionFragment; "terminate(uint256,address,address)": FunctionFragment; "tokenMagnitude(address)": FunctionFragment; "totalCreatedPositions()": FunctionFragment; "unpause()": FunctionFragment; "userPosition(uint256)": FunctionFragment; "withdrawFromPlatformBalance((address,uint256)[],address)": FunctionFragment; "withdrawSwapped(uint256,address)": FunctionFragment; "withdrawSwappedMany((address,uint256[])[],address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "MAX_FEE" | "MAX_PLATFORM_FEE_RATIO" | "accumRatio" | "activeSwapIntervals" | "addSwapIntervalsToAllowedList" | "allowedSwapIntervals" | "allowedTokens" | "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])" | "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)" | "getNextSwapInfo" | "increasePosition" | "oracle" | "pause" | "paused" | "permissionManager" | "platformBalance" | "platformFeeRatio" | "reducePosition" | "removeSwapIntervalsFromAllowedList" | "setOracle" | "setPlatformFeeRatio" | "setSwapFee" | "swap" | "swapAmountDelta" | "swapData" | "swapFee" | "terminate" | "tokenMagnitude" | "totalCreatedPositions" | "unpause" | "userPosition" | "withdrawFromPlatformBalance" | "withdrawSwapped" | "withdrawSwappedMany"): FunctionFragment; encodeFunctionData(functionFragment: "MAX_FEE", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_PLATFORM_FEE_RATIO", values?: undefined): string; encodeFunctionData(functionFragment: "accumRatio", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "activeSwapIntervals", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "addSwapIntervalsToAllowedList", values: [PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "allowedSwapIntervals", values?: undefined): string; encodeFunctionData(functionFragment: "allowedTokens", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, IDCAPermissionManager.PermissionSetStruct[] ]): string; encodeFunctionData(functionFragment: "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, IDCAPermissionManager.PermissionSetStruct[], PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "getNextSwapInfo", values: [ PromiseOrValue<string>[], IDCAHubSwapHandler.PairIndexesStruct[], PromiseOrValue<boolean>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "increasePosition", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "oracle", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "permissionManager", values?: undefined): string; encodeFunctionData(functionFragment: "platformBalance", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "platformFeeRatio", values?: undefined): string; encodeFunctionData(functionFragment: "reducePosition", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string> ]): string; encodeFunctionData(functionFragment: "removeSwapIntervalsFromAllowedList", values: [PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "setOracle", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setPlatformFeeRatio", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "setSwapFee", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "swap", values: [ PromiseOrValue<string>[], IDCAHubSwapHandler.PairIndexesStruct[], PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>[], PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "swapAmountDelta", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "swapData", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "swapFee", values?: undefined): string; encodeFunctionData(functionFragment: "terminate", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string> ]): string; encodeFunctionData(functionFragment: "tokenMagnitude", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "totalCreatedPositions", values?: undefined): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; encodeFunctionData(functionFragment: "userPosition", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "withdrawFromPlatformBalance", values: [IDCAHub.AmountOfTokenStruct[], PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdrawSwapped", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdrawSwappedMany", values: [IDCAHubPositionHandler.PositionSetStruct[], PromiseOrValue<string>]): string; decodeFunctionResult(functionFragment: "MAX_FEE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_PLATFORM_FEE_RATIO", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accumRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "activeSwapIntervals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSwapIntervalsToAllowedList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowedSwapIntervals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowedTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNextSwapInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "increasePosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permissionManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "platformBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "platformFeeRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reducePosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSwapIntervalsFromAllowedList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPlatformFeeRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSwapFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapAmountDelta", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "terminate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenMagnitude", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalCreatedPositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userPosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFromPlatformBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawSwapped", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawSwappedMany", data: BytesLike): Result; events: { "Deposited(address,address,uint256,address,address,uint32,uint120,uint32,uint32,tuple[])": EventFragment; "Miscellaneous(uint256,bytes)": EventFragment; "Modified(address,uint256,uint120,uint32,uint32)": EventFragment; "OracleSet(address)": EventFragment; "PlatformFeeRatioSet(uint16)": EventFragment; "SwapFeeSet(uint32)": EventFragment; "SwapIntervalsAllowed(uint32[])": EventFragment; "SwapIntervalsForbidden(uint32[])": EventFragment; "Swapped(address,address,address,tuple,uint256[],uint32)": EventFragment; "Terminated(address,address,address,uint256,uint256,uint256)": EventFragment; "TokensAllowedUpdated(address[],bool[])": EventFragment; "Withdrew(address,address,uint256,address,uint256)": EventFragment; "WithdrewFromPlatform(address,address,tuple[])": EventFragment; "WithdrewMany(address,address,tuple[],uint256[])": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "Miscellaneous"): EventFragment; getEvent(nameOrSignatureOrTopic: "Modified"): EventFragment; getEvent(nameOrSignatureOrTopic: "OracleSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlatformFeeRatioSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "SwapFeeSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "SwapIntervalsAllowed"): EventFragment; getEvent(nameOrSignatureOrTopic: "SwapIntervalsForbidden"): EventFragment; getEvent(nameOrSignatureOrTopic: "Swapped"): EventFragment; getEvent(nameOrSignatureOrTopic: "Terminated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TokensAllowedUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrew"): EventFragment; getEvent(nameOrSignatureOrTopic: "WithdrewFromPlatform"): EventFragment; getEvent(nameOrSignatureOrTopic: "WithdrewMany"): EventFragment; } export interface DepositedEventObject { depositor: string; owner: string; positionId: BigNumber; fromToken: string; toToken: string; swapInterval: number; rate: BigNumber; startingSwap: number; lastSwap: number; permissions: IDCAPermissionManager.PermissionSetStructOutput[]; } export declare type DepositedEvent = TypedEvent<[ string, string, BigNumber, string, string, number, BigNumber, number, number, IDCAPermissionManager.PermissionSetStructOutput[] ], DepositedEventObject>; export declare type DepositedEventFilter = TypedEventFilter<DepositedEvent>; export interface MiscellaneousEventObject { positionId: BigNumber; data: string; } export declare type MiscellaneousEvent = TypedEvent<[ BigNumber, string ], MiscellaneousEventObject>; export declare type MiscellaneousEventFilter = TypedEventFilter<MiscellaneousEvent>; export interface ModifiedEventObject { user: string; positionId: BigNumber; rate: BigNumber; startingSwap: number; lastSwap: number; } export declare type ModifiedEvent = TypedEvent<[ string, BigNumber, BigNumber, number, number ], ModifiedEventObject>; export declare type ModifiedEventFilter = TypedEventFilter<ModifiedEvent>; export interface OracleSetEventObject { oracle: string; } export declare type OracleSetEvent = TypedEvent<[string], OracleSetEventObject>; export declare type OracleSetEventFilter = TypedEventFilter<OracleSetEvent>; export interface PlatformFeeRatioSetEventObject { platformFeeRatio: number; } export declare type PlatformFeeRatioSetEvent = TypedEvent<[ number ], PlatformFeeRatioSetEventObject>; export declare type PlatformFeeRatioSetEventFilter = TypedEventFilter<PlatformFeeRatioSetEvent>; export interface SwapFeeSetEventObject { feeSet: number; } export declare type SwapFeeSetEvent = TypedEvent<[number], SwapFeeSetEventObject>; export declare type SwapFeeSetEventFilter = TypedEventFilter<SwapFeeSetEvent>; export interface SwapIntervalsAllowedEventObject { swapIntervals: number[]; } export declare type SwapIntervalsAllowedEvent = TypedEvent<[ number[] ], SwapIntervalsAllowedEventObject>; export declare type SwapIntervalsAllowedEventFilter = TypedEventFilter<SwapIntervalsAllowedEvent>; export interface SwapIntervalsForbiddenEventObject { swapIntervals: number[]; } export declare type SwapIntervalsForbiddenEvent = TypedEvent<[ number[] ], SwapIntervalsForbiddenEventObject>; export declare type SwapIntervalsForbiddenEventFilter = TypedEventFilter<SwapIntervalsForbiddenEvent>; export interface SwappedEventObject { sender: string; rewardRecipient: string; callbackHandler: string; swapInformation: IDCAHubSwapHandler.SwapInfoStructOutput; borrowed: BigNumber[]; fee: number; } export declare type SwappedEvent = TypedEvent<[ string, string, string, IDCAHubSwapHandler.SwapInfoStructOutput, BigNumber[], number ], SwappedEventObject>; export declare type SwappedEventFilter = TypedEventFilter<SwappedEvent>; export interface TerminatedEventObject { user: string; recipientUnswapped: string; recipientSwapped: string; positionId: BigNumber; returnedUnswapped: BigNumber; returnedSwapped: BigNumber; } export declare type TerminatedEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, BigNumber ], TerminatedEventObject>; export declare type TerminatedEventFilter = TypedEventFilter<TerminatedEvent>; export interface TokensAllowedUpdatedEventObject { tokens: string[]; allowed: boolean[]; } export declare type TokensAllowedUpdatedEvent = TypedEvent<[ string[], boolean[] ], TokensAllowedUpdatedEventObject>; export declare type TokensAllowedUpdatedEventFilter = TypedEventFilter<TokensAllowedUpdatedEvent>; export interface WithdrewEventObject { withdrawer: string; recipient: string; positionId: BigNumber; token: string; amount: BigNumber; } export declare type WithdrewEvent = TypedEvent<[ string, string, BigNumber, string, BigNumber ], WithdrewEventObject>; export declare type WithdrewEventFilter = TypedEventFilter<WithdrewEvent>; export interface WithdrewFromPlatformEventObject { sender: string; recipient: string; amounts: IDCAHub.AmountOfTokenStructOutput[]; } export declare type WithdrewFromPlatformEvent = TypedEvent<[ string, string, IDCAHub.AmountOfTokenStructOutput[] ], WithdrewFromPlatformEventObject>; export declare type WithdrewFromPlatformEventFilter = TypedEventFilter<WithdrewFromPlatformEvent>; export interface WithdrewManyEventObject { withdrawer: string; recipient: string; positions: IDCAHubPositionHandler.PositionSetStructOutput[]; withdrew: BigNumber[]; } export declare type WithdrewManyEvent = TypedEvent<[ string, string, IDCAHubPositionHandler.PositionSetStructOutput[], BigNumber[] ], WithdrewManyEventObject>; export declare type WithdrewManyEventFilter = TypedEventFilter<WithdrewManyEvent>; export interface IDCAHub extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IDCAHubInterface; 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: { MAX_FEE(overrides?: CallOverrides): Promise<[number] & { maxFee: number; }>; MAX_PLATFORM_FEE_RATIO(overrides?: CallOverrides): Promise<[number]>; accumRatio(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { accumRatioAToB: BigNumber; accumRatioBToA: BigNumber; }>; activeSwapIntervals(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>; addSwapIntervalsToAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; allowedSwapIntervals(overrides?: CallOverrides): Promise<[string] & { allowedSwapIntervals: string; }>; allowedTokens(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], miscellaneous: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ IDCAHubSwapHandler.SwapInfoStructOutput ] & { swapInformation: IDCAHubSwapHandler.SwapInfoStructOutput; }>; increasePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; oracle(overrides?: CallOverrides): Promise<[string] & { oracle: string; }>; pause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<[boolean] & { isPaused: boolean; }>; permissionManager(overrides?: CallOverrides): Promise<[string]>; platformBalance(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; platformFeeRatio(overrides?: CallOverrides): Promise<[number]>; reducePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeSwapIntervalsFromAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setOracle(oracle: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setPlatformFeeRatio(platformFeeRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setSwapFee(fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swap(tokens: PromiseOrValue<string>[], pairsToSwap: IDCAHubSwapHandler.PairIndexesStruct[], rewardRecipient: PromiseOrValue<string>, callbackHandler: PromiseOrValue<string>, borrow: PromiseOrValue<BigNumberish>[], callbackData: PromiseOrValue<BytesLike>, oracleData: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapAmountDelta(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { swapDeltaAToB: BigNumber; swapDeltaBToA: BigNumber; }>; swapData(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ number, BigNumber, number, BigNumber ] & { performedSwaps: number; nextAmountToSwapAToB: BigNumber; lastSwappedAt: number; nextAmountToSwapBToA: BigNumber; }>; swapFee(overrides?: CallOverrides): Promise<[number] & { swapFee: number; }>; terminate(positionId: PromiseOrValue<BigNumberish>, recipientUnswapped: PromiseOrValue<string>, recipientSwapped: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; tokenMagnitude(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; totalCreatedPositions(overrides?: CallOverrides): Promise<[BigNumber]>; unpause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; userPosition(positionId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ IDCAHubPositionHandler.UserPositionStructOutput ] & { position: IDCAHubPositionHandler.UserPositionStructOutput; }>; withdrawFromPlatformBalance(amounts: IDCAHub.AmountOfTokenStruct[], recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawSwapped(positionId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawSwappedMany(positions: IDCAHubPositionHandler.PositionSetStruct[], recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; MAX_FEE(overrides?: CallOverrides): Promise<number>; MAX_PLATFORM_FEE_RATIO(overrides?: CallOverrides): Promise<number>; accumRatio(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { accumRatioAToB: BigNumber; accumRatioBToA: BigNumber; }>; activeSwapIntervals(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>; addSwapIntervalsToAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; allowedSwapIntervals(overrides?: CallOverrides): Promise<string>; allowedTokens(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], miscellaneous: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IDCAHubSwapHandler.SwapInfoStructOutput>; increasePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; oracle(overrides?: CallOverrides): Promise<string>; pause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<boolean>; permissionManager(overrides?: CallOverrides): Promise<string>; platformBalance(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; platformFeeRatio(overrides?: CallOverrides): Promise<number>; reducePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeSwapIntervalsFromAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setOracle(oracle: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setPlatformFeeRatio(platformFeeRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; setSwapFee(fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swap(tokens: PromiseOrValue<string>[], pairsToSwap: IDCAHubSwapHandler.PairIndexesStruct[], rewardRecipient: PromiseOrValue<string>, callbackHandler: PromiseOrValue<string>, borrow: PromiseOrValue<BigNumberish>[], callbackData: PromiseOrValue<BytesLike>, oracleData: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapAmountDelta(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { swapDeltaAToB: BigNumber; swapDeltaBToA: BigNumber; }>; swapData(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ number, BigNumber, number, BigNumber ] & { performedSwaps: number; nextAmountToSwapAToB: BigNumber; lastSwappedAt: number; nextAmountToSwapBToA: BigNumber; }>; swapFee(overrides?: CallOverrides): Promise<number>; terminate(positionId: PromiseOrValue<BigNumberish>, recipientUnswapped: PromiseOrValue<string>, recipientSwapped: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; tokenMagnitude(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; totalCreatedPositions(overrides?: CallOverrides): Promise<BigNumber>; unpause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; userPosition(positionId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IDCAHubPositionHandler.UserPositionStructOutput>; withdrawFromPlatformBalance(amounts: IDCAHub.AmountOfTokenStruct[], recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawSwapped(positionId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawSwappedMany(positions: IDCAHubPositionHandler.PositionSetStruct[], recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { MAX_FEE(overrides?: CallOverrides): Promise<number>; MAX_PLATFORM_FEE_RATIO(overrides?: CallOverrides): Promise<number>; accumRatio(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { accumRatioAToB: BigNumber; accumRatioBToA: BigNumber; }>; activeSwapIntervals(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>; addSwapIntervalsToAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; allowedSwapIntervals(overrides?: CallOverrides): Promise<string>; allowedTokens(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: CallOverrides): Promise<BigNumber>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], miscellaneous: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IDCAHubSwapHandler.SwapInfoStructOutput>; increasePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; oracle(overrides?: CallOverrides): Promise<string>; pause(overrides?: CallOverrides): Promise<void>; paused(overrides?: CallOverrides): Promise<boolean>; permissionManager(overrides?: CallOverrides): Promise<string>; platformBalance(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; platformFeeRatio(overrides?: CallOverrides): Promise<number>; reducePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; removeSwapIntervalsFromAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; setOracle(oracle: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; setPlatformFeeRatio(platformFeeRatio: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; setSwapFee(fee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; swap(tokens: PromiseOrValue<string>[], pairsToSwap: IDCAHubSwapHandler.PairIndexesStruct[], rewardRecipient: PromiseOrValue<string>, callbackHandler: PromiseOrValue<string>, borrow: PromiseOrValue<BigNumberish>[], callbackData: PromiseOrValue<BytesLike>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IDCAHubSwapHandler.SwapInfoStructOutput>; swapAmountDelta(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { swapDeltaAToB: BigNumber; swapDeltaBToA: BigNumber; }>; swapData(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[ number, BigNumber, number, BigNumber ] & { performedSwaps: number; nextAmountToSwapAToB: BigNumber; lastSwappedAt: number; nextAmountToSwapBToA: BigNumber; }>; swapFee(overrides?: CallOverrides): Promise<number>; terminate(positionId: PromiseOrValue<BigNumberish>, recipientUnswapped: PromiseOrValue<string>, recipientSwapped: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { unswapped: BigNumber; swapped: BigNumber; }>; tokenMagnitude(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; totalCreatedPositions(overrides?: CallOverrides): Promise<BigNumber>; unpause(overrides?: CallOverrides): Promise<void>; userPosition(positionId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IDCAHubPositionHandler.UserPositionStructOutput>; withdrawFromPlatformBalance(amounts: IDCAHub.AmountOfTokenStruct[], recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; withdrawSwapped(positionId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; withdrawSwappedMany(positions: IDCAHubPositionHandler.PositionSetStruct[], recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>; }; filters: { "Deposited(address,address,uint256,address,address,uint32,uint120,uint32,uint32,tuple[])"(depositor?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, positionId?: null, fromToken?: null, toToken?: null, swapInterval?: null, rate?: null, startingSwap?: null, lastSwap?: null, permissions?: null): DepositedEventFilter; Deposited(depositor?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, positionId?: null, fromToken?: null, toToken?: null, swapInterval?: null, rate?: null, startingSwap?: null, lastSwap?: null, permissions?: null): DepositedEventFilter; "Miscellaneous(uint256,bytes)"(positionId?: null, data?: null): MiscellaneousEventFilter; Miscellaneous(positionId?: null, data?: null): MiscellaneousEventFilter; "Modified(address,uint256,uint120,uint32,uint32)"(user?: PromiseOrValue<string> | null, positionId?: null, rate?: null, startingSwap?: null, lastSwap?: null): ModifiedEventFilter; Modified(user?: PromiseOrValue<string> | null, positionId?: null, rate?: null, startingSwap?: null, lastSwap?: null): ModifiedEventFilter; "OracleSet(address)"(oracle?: null): OracleSetEventFilter; OracleSet(oracle?: null): OracleSetEventFilter; "PlatformFeeRatioSet(uint16)"(platformFeeRatio?: null): PlatformFeeRatioSetEventFilter; PlatformFeeRatioSet(platformFeeRatio?: null): PlatformFeeRatioSetEventFilter; "SwapFeeSet(uint32)"(feeSet?: null): SwapFeeSetEventFilter; SwapFeeSet(feeSet?: null): SwapFeeSetEventFilter; "SwapIntervalsAllowed(uint32[])"(swapIntervals?: null): SwapIntervalsAllowedEventFilter; SwapIntervalsAllowed(swapIntervals?: null): SwapIntervalsAllowedEventFilter; "SwapIntervalsForbidden(uint32[])"(swapIntervals?: null): SwapIntervalsForbiddenEventFilter; SwapIntervalsForbidden(swapIntervals?: null): SwapIntervalsForbiddenEventFilter; "Swapped(address,address,address,tuple,uint256[],uint32)"(sender?: PromiseOrValue<string> | null, rewardRecipient?: PromiseOrValue<string> | null, callbackHandler?: PromiseOrValue<string> | null, swapInformation?: null, borrowed?: null, fee?: null): SwappedEventFilter; Swapped(sender?: PromiseOrValue<string> | null, rewardRecipient?: PromiseOrValue<string> | null, callbackHandler?: PromiseOrValue<string> | null, swapInformation?: null, borrowed?: null, fee?: null): SwappedEventFilter; "Terminated(address,address,address,uint256,uint256,uint256)"(user?: PromiseOrValue<string> | null, recipientUnswapped?: PromiseOrValue<string> | null, recipientSwapped?: PromiseOrValue<string> | null, positionId?: null, returnedUnswapped?: null, returnedSwapped?: null): TerminatedEventFilter; Terminated(user?: PromiseOrValue<string> | null, recipientUnswapped?: PromiseOrValue<string> | null, recipientSwapped?: PromiseOrValue<string> | null, positionId?: null, returnedUnswapped?: null, returnedSwapped?: null): TerminatedEventFilter; "TokensAllowedUpdated(address[],bool[])"(tokens?: null, allowed?: null): TokensAllowedUpdatedEventFilter; TokensAllowedUpdated(tokens?: null, allowed?: null): TokensAllowedUpdatedEventFilter; "Withdrew(address,address,uint256,address,uint256)"(withdrawer?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, positionId?: null, token?: null, amount?: null): WithdrewEventFilter; Withdrew(withdrawer?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, positionId?: null, token?: null, amount?: null): WithdrewEventFilter; "WithdrewFromPlatform(address,address,tuple[])"(sender?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, amounts?: null): WithdrewFromPlatformEventFilter; WithdrewFromPlatform(sender?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, amounts?: null): WithdrewFromPlatformEventFilter; "WithdrewMany(address,address,tuple[],uint256[])"(withdrawer?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, positions?: null, withdrew?: null): WithdrewManyEventFilter; WithdrewMany(withdrawer?: PromiseOrValue<string> | null, recipient?: PromiseOrValue<string> | null, positions?: null, withdrew?: null): WithdrewManyEventFilter; }; estimateGas: { MAX_FEE(overrides?: CallOverrides): Promise<BigNumber>; MAX_PLATFORM_FEE_RATIO(overrides?: CallOverrides): Promise<BigNumber>; accumRatio(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapIntervalMask: PromiseOrValue<BytesLike>, swapNumber: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; activeSwapIntervals(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; addSwapIntervalsToAllowedList(swapIntervals: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; allowedSwapIntervals(overrides?: CallOverrides): Promise<BigNumber>; allowedTokens(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[])"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; "deposit(address,address,uint256,uint32,uint32,address,(address,uint8[])[],bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, amountOfSwaps: PromiseOrValue<BigNumberish>, swapInterval: PromiseOrValue<BigNumberish>, owner: PromiseOrValue<string>, permissions: IDCAPermissionManager.PermissionSetStruct[], miscellaneous: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; increasePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; oracle(overrides?: CallOverrides): Promise<BigNumber>; pause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; paused(overrides?: CallOverrides): Promise<BigNumber>; permissionManager(overrides?: CallOverrides): Promise<BigNumber>; platformBalance(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; platformFeeRatio(overrides?: CallOverrides): Promise<BigNumber>; reducePosition(positionId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, newSwaps: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>;