hermes-swap-router-sdk
Version:
An sdk for routing swaps using Uniswap v2, Uniswap v3 and Balancer Stable Pools.
34 lines (33 loc) • 1.72 kB
TypeScript
import { Interface } from '@ethersproject/abi';
import { IncreaseSpecificOptions, MintSpecificOptions, Position } from 'hermes-v2-sdk';
import { Currency, NativeToken, Percent } from 'maia-core-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: NativeToken): string;
static encodeApproveMaxMinusOne(token: NativeToken): string;
static encodeApproveZeroThenMax(token: NativeToken): string;
static encodeApproveZeroThenMaxMinusOne(token: NativeToken): 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;
}