UNPKG

@mean-finance/dca-v2-core

Version:

Core smart contracts of DCA v2 by mean.finance

163 lines 9.16 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 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