rubic-sdk
Version:
Simplify dApp creation
62 lines (61 loc) • 3.55 kB
TypeScript
import { Token } from "../../../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../../../core/blockchain/models/blockchain-name";
import { EvmWeb3Private } from "../../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private";
import { ContractMulticallResponse } from "../../../../../../../core/blockchain/web3-public-service/web3-public/models/contract-multicall-response";
import { EncodeTransactionOptions } from "../../../../../../common/models/encode-transaction-options";
import { SwapTransactionOptions } from "../../../../../../common/models/swap-transaction-options";
import { OnChainTradeType } from "../../../common/models/on-chain-trade-type";
import { EvmEncodedConfigAndToAmount } from "../../../common/on-chain-aggregator/models/aggregator-on-chain-types";
import { EvmOnChainTrade } from "../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade";
import { Exact } from "../../../common/on-chain-trade/evm-on-chain-trade/models/exact";
import { ExactInputOutputSwapMethodsList } from "./constants/SWAP_METHOD";
import { AerodromeRoutePoolArgument } from "./models/aerodrome-route-method-arguments";
import { DefaultEstimatedGas } from "./models/default-estimated-gas";
import { ExtendedRoutesMethodArguments } from "./models/route-method-arguments";
import { UniswapV2TradeStruct } from "./models/uniswap-v2-trade-struct";
import { AbiItem } from 'web3-utils';
export declare abstract class UniswapV2AbstractTrade extends EvmOnChainTrade {
/** @internal */
static getDexContractAddress(blockchain: BlockchainName): string;
static get type(): OnChainTradeType;
/** @internal */
static readonly contractAbi: AbiItem[];
/** @internal */
static readonly swapMethods: ExactInputOutputSwapMethodsList;
/** @internal */
static readonly defaultEstimatedGasInfo: DefaultEstimatedGas;
static callForRoutes(blockchain: EvmBlockchainName, exact: Exact, routesMethodArguments: ExtendedRoutesMethodArguments): Promise<ContractMulticallResponse<string[]>[]>;
/**
* Deadline for transaction in minutes.
*/
readonly deadlineMinutes: number;
/**
* @internal
* Path with wrapped native address.
*/
readonly wrappedPath: ReadonlyArray<Token>;
readonly routPoolInfo: AerodromeRoutePoolArgument[] | undefined;
/**
* Defines, whether to call 'exactInput' or 'exactOutput' method.
*/
readonly exact: Exact;
get type(): OnChainTradeType;
protected get deadlineMinutesTimestamp(): number;
protected get nativeValueToSend(): string | undefined;
private get regularSwapMethod();
private get supportedFeeSwapMethod();
private get regularSwapMethodKey();
constructor(tradeStruct: UniswapV2TradeStruct, providerAddress: string);
protected getAmountInAndAmountOut(): {
amountIn: string;
amountOut: string;
};
protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
protected getSwapError(err: Error & {
code: number;
}): Error;
protected getCallParameters(receiverAddress?: string): unknown[];
protected getMethodName(options: SwapTransactionOptions, fromAddress?: string, supportFee?: boolean): Promise<string>;
protected getSwapParametersByMethod(method: string, options: SwapTransactionOptions): Parameters<InstanceType<typeof EvmWeb3Private>['executeContractMethod']>;
private convertSwapParametersToCallParameters;
}