@mean-finance/dca-v2-periphery
Version:
💱 Periphery smart contracts of DCA V2 by mean.finance
855 lines • 67 kB
TypeScript
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 IDCAHubWithAccessControlInterface 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;
"getRoleAdmin(bytes32)": FunctionFragment;
"grantRole(bytes32,address)": FunctionFragment;
"hasRole(bytes32,address)": 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;
"renounceRole(bytes32,address)": FunctionFragment;
"revokeRole(bytes32,address)": 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" | "getRoleAdmin" | "grantRole" | "hasRole" | "increasePosition" | "oracle" | "pause" | "paused" | "permissionManager" | "platformBalance" | "platformFeeRatio" | "reducePosition" | "removeSwapIntervalsFromAllowedList" | "renounceRole" | "revokeRole" | "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: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): 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: "renounceRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): 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: "getRoleAdmin", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hasRole", 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: "renounceRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "revokeRole", 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;
"RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
"RoleGranted(bytes32,address,address)": EventFragment;
"RoleRevoked(bytes32,address,address)": 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: "RoleAdminChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RoleRevoked"): 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 RoleAdminChangedEventObject {
role: string;
previousAdminRole: string;
newAdminRole: string;
}
export declare type RoleAdminChangedEvent = TypedEvent<[
string,
string,
string
], RoleAdminChangedEventObject>;
export declare type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export interface RoleGrantedEventObject {
role: string;
account: string;
sender: string;
}
export declare type RoleGrantedEvent = TypedEvent<[
string,
string,
string
], RoleGrantedEventObject>;
export declare type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
role: string;
account: string;
sender: string;
}
export declare type RoleRevokedEvent = TypedEvent<[
string,
string,
string
], RoleRevokedEventObject>;
export declare type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
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 IDCAHubWithAccessControl extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IDCAHubWithAccessControlInterface;
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;
}>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
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>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, 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>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
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>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, 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>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
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>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, 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;
"RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
"RoleGranted(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
"RoleRevoked(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: Promi