@mean-finance/dca-v2-core
Version:
Core smart contracts of DCA v2 by mean.finance
163 lines • 9.16 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 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 interface IDCAHubSwapHandlerInterface extends utils.Interface {
functions: {
"getNextSwapInfo(address[],(uint8,uint8)[],bool,bytes)": FunctionFragment;
"swap(address[],(uint8,uint8)[],address,address,uint256[],bytes,bytes)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "getNextSwapInfo" | "swap"): FunctionFragment;
encodeFunctionData(functionFragment: "getNextSwapInfo", values: [
PromiseOrValue<string>[],
IDCAHubSwapHandler.PairIndexesStruct[],
PromiseOrValue<boolean>,
PromiseOrValue<BytesLike>
]): string;
encodeFunctionData(functionFragment: "swap", values: [
PromiseOrValue<string>[],
IDCAHubSwapHandler.PairIndexesStruct[],
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>[],
PromiseOrValue<BytesLike>,
PromiseOrValue<BytesLike>
]): string;
decodeFunctionResult(functionFragment: "getNextSwapInfo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
events: {
"Swapped(address,address,address,tuple,uint256[],uint32)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Swapped"): EventFragment;
}
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 IDCAHubSwapHandler extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IDCAHubSwapHandlerInterface;
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: {
getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[
IDCAHubSwapHandler.SwapInfoStructOutput
] & {
swapInformation: IDCAHubSwapHandler.SwapInfoStructOutput;
}>;
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>;
};
getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IDCAHubSwapHandler.SwapInfoStructOutput>;
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>;
callStatic: {
getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IDCAHubSwapHandler.SwapInfoStructOutput>;
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>;
};
filters: {
"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;
};
estimateGas: {
getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
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<BigNumber>;
};
populateTransaction: {
getNextSwapInfo(tokens: PromiseOrValue<string>[], pairs: IDCAHubSwapHandler.PairIndexesStruct[], calculatePrivilegedAvailability: PromiseOrValue<boolean>, oracleData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
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<PopulatedTransaction>;
};
}
//# sourceMappingURL=IDCAHubSwapHandler.d.ts.map