@broxus/js-core
Version:
MobX-based JavaScript Core library
114 lines (113 loc) • 7.2 kB
TypeScript
import { type Address, type DecodedAbiFunctionOutputs, type FullContractState, type ProviderRpcClient } from 'everscale-inpage-provider';
import { type DexPoolType } from '../../models/dex';
import { type DexPairFeeParams, type DexPairFullDetails } from '../../models/dex-pair';
import { type DexStablePairAbi } from '../../models/dex-stable-pair/abi';
import { type CallId } from '../../types';
export interface DexStablePairCrossExchangePayloadAbiParams extends Partial<CallId> {
deployWalletGrams?: string | number;
expectedAmount: string | number;
steps: {
amount: string | number;
root: Address | string;
}[];
}
export interface DexStablePairCrossExchangePayloadV2AbiParams extends Partial<CallId> {
cancelPayload?: string | null;
deployWalletGrams?: string | number;
expectedAmount: string | number;
nextStepIndices: (string | number)[];
outcoming: Address | string;
recipient: Address | string;
referrer?: Address | string;
steps: {
amount: string | number;
nextStepIndices: (string | number)[];
numerator: string | number;
outcoming: Address | string;
roots: (Address | string)[];
}[];
successPayload?: string | null;
toNative?: boolean | null;
}
export interface DexStablePairExchangePayloadAbiParams extends Partial<CallId> {
deployWalletGrams?: string | number;
expectedAmount: string | number;
}
export interface DexStablePairExchangePayloadV2AbiParams extends Partial<CallId> {
cancelPayload?: string | null;
deployWalletGrams?: string | number;
expectedAmount: string | number;
recipient: Address | string;
referrer?: Address | string;
successPayload?: string | null;
toNative?: boolean | null;
}
export interface DexStablePairDepositLiquidityPayloadAbiParams extends Partial<CallId> {
deployWalletGrams?: string | number;
}
export interface DexStablePairDepositLiquidityPayloadV2AbiParams extends Partial<CallId> {
cancelPayload?: string | null;
deployWalletGrams?: string | number;
expectedAmount: string | number;
recipient: Address | string;
referrer?: Address | string;
successPayload?: string | null;
}
export interface DexStablePairWithdrawLiquidityPayloadAbiParams extends Partial<CallId> {
deployWalletGrams?: string | number;
}
export interface DexStablePairWithdrawLiquidityPayloadV2AbiParams extends Partial<CallId> {
cancelPayload?: string | null;
deployWalletGrams?: string | number;
expectedLeftAmount: string | number;
expectedRightAmount: string | number;
recipient: Address | string;
referrer?: Address | string;
successPayload?: string | null;
toNative?: boolean | null;
}
export interface DexStablePairExpectedExchangeAbiParams {
amount: string | number;
spentTokenAddress: Address | string;
}
export interface DexStablePairExpectedSpendAmountAbiParams {
receiveAmount: string | number;
receiveTokenAddress: Address | string;
}
export interface DexStablePairExpectedDepositLiquidityV2AbiParams {
amounts: (string | number)[];
}
export interface DexStablePairExpectedExchange {
expectedAmount: string;
expectedFee: string;
}
export interface DexStablePairExpectedSpendAmount {
expectedAmount: string;
expectedFee: string;
}
export interface DexStablePairFeeParams extends DexPairFeeParams {
}
export interface DexStablePairFullDetails extends DexPairFullDetails {
}
export declare abstract class DexStablePairUtils {
static getDetails(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<DexStablePairFullDetails>;
static getBalances(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<Map<string, string>>;
static getFeeParams(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<DexPairFeeParams>;
static isActive(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<boolean>;
static getTokenRoots(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<DecodedAbiFunctionOutputs<typeof DexStablePairAbi, 'getTokenRoots'>>;
static getTokenWallets(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<DecodedAbiFunctionOutputs<typeof DexStablePairAbi, 'getTokenWallets'>>;
static getPoolType(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<DexPoolType>;
static getRoot(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
static getVault(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
static getAccumulatedFees(connection: ProviderRpcClient, pairAddress: Address | string, cachedState?: FullContractState): Promise<string[]>;
static buildCrossPairExchangePayload(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairCrossExchangePayloadAbiParams, cachedState?: FullContractState): Promise<string>;
static buildCrossPairExchangePayloadV2(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairCrossExchangePayloadV2AbiParams, cachedState?: FullContractState): Promise<string>;
static buildExchangePayload(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairExchangePayloadAbiParams, cachedState?: FullContractState): Promise<string>;
static buildExchangePayloadV2(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairExchangePayloadV2AbiParams, cachedState?: FullContractState): Promise<string>;
static buildDepositLiquidityPayload(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairDepositLiquidityPayloadAbiParams, cachedState?: FullContractState): Promise<string>;
static buildDepositLiquidityPayloadV2(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairDepositLiquidityPayloadV2AbiParams, cachedState?: FullContractState): Promise<string>;
static buildWithdrawLiquidityPayload(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairWithdrawLiquidityPayloadAbiParams, cachedState?: FullContractState): Promise<string>;
static expectedDepositLiquidityV2(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairExpectedDepositLiquidityV2AbiParams, cachedState?: FullContractState): Promise<DecodedAbiFunctionOutputs<typeof DexStablePairAbi, 'expectedDepositLiquidityV2'>['value0']>;
static expectedExchange(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairExpectedExchangeAbiParams, cachedState?: FullContractState): Promise<DexStablePairExpectedExchange>;
static expectedSpendAmount(connection: ProviderRpcClient, pairAddress: Address | string, params: DexStablePairExpectedSpendAmountAbiParams, cachedState?: FullContractState): Promise<DexStablePairExpectedSpendAmount>;
}