@zentraswap/router-sdk
Version:
An sdk for routing swaps using Zentra X v2 and Zentra X v3.
34 lines (33 loc) • 1.7 kB
TypeScript
import { Interface } from '@ethersproject/abi';
import { Currency, Percent, Token } from '@zentraswap/sdk-core';
import { MintSpecificOptions, IncreaseSpecificOptions, Position } from '@zentraswap/v3-sdk';
export declare type CondensedAddLiquidityOptions = Omit<MintSpecificOptions, 'createPool'> | IncreaseSpecificOptions;
export declare enum ApprovalTypes {
NOT_REQUIRED = 0,
MAX = 1,
MAX_MINUS_ONE = 2,
ZERO_THEN_MAX = 3,
ZERO_THEN_MAX_MINUS_ONE = 4
}
export declare function isMint(options: CondensedAddLiquidityOptions): options is Omit<MintSpecificOptions, 'createPool'>;
export declare abstract class ApproveAndCall {
static INTERFACE: Interface;
/**
* Cannot be constructed.
*/
private constructor();
static encodeApproveMax(token: Token): string;
static encodeApproveMaxMinusOne(token: Token): string;
static encodeApproveZeroThenMax(token: Token): string;
static encodeApproveZeroThenMaxMinusOne(token: Token): string;
static encodeCallPositionManager(calldatas: string[]): string;
/**
* Encode adding liquidity to a position in the nft manager contract
* @param position Forcasted position with expected amount out from swap
* @param minimalPosition Forcasted position with custom minimal token amounts
* @param addLiquidityOptions Options for adding liquidity
* @param slippageTolerance Defines maximum slippage
*/
static encodeAddLiquidity(position: Position, minimalPosition: Position, addLiquidityOptions: CondensedAddLiquidityOptions, slippageTolerance: Percent): string;
static encodeApprove(token: Currency, approvalType: ApprovalTypes): string;
}