rubic-sdk
Version:
Simplify dApp creation
37 lines (36 loc) • 2.06 kB
TypeScript
import { PriceTokenAmount } from "../../../../../../../common/tokens";
import { TonWeb3Private } from "../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private";
import { TonWeb3Public } from "../../../../../../../core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public";
import { EncodeTransactionOptions } from "../../../../../../common/models/encode-transaction-options";
import { FeeInfo } from "../../../../../../cross-chain/calculation-manager/providers/common/models/fee-info";
import { TradeInfo } from "../../../../../../cross-chain/calculation-manager/providers/common/models/trade-info";
import { TransactionConfig } from 'web3-core';
import { GasFeeInfo } from '../evm-on-chain-trade/models/gas-fee-info';
import { OnChainTrade } from '../on-chain-trade';
import { TonOnChainTradeStruct, TonTradeAdditionalInfo } from './models/ton-on-chian-trade-types';
export declare abstract class TonOnChainTrade<T = undefined> extends OnChainTrade {
readonly from: PriceTokenAmount;
readonly to: PriceTokenAmount;
readonly slippageTolerance: number;
readonly feeInfo: FeeInfo;
readonly gasFeeInfo: GasFeeInfo | null;
readonly path: never[];
private readonly routingPath;
protected skipAmountCheck: boolean;
readonly additionalInfo: TonTradeAdditionalInfo;
protected get spenderAddress(): string;
protected get web3Public(): TonWeb3Public;
protected get web3Private(): TonWeb3Private;
constructor(tradeStruct: TonOnChainTradeStruct, providerAddress: string);
needApprove(): Promise<boolean>;
approve(): Promise<void>;
encodeApprove(): Promise<TransactionConfig>;
encode(): Promise<T>;
protected checkNativeBalance(): Promise<void>;
protected makePreSwapChecks(options: EncodeTransactionOptions): Promise<void>;
/**
* recalculates and returns output stringWeiAmount
*/
protected abstract calculateOutputAmount(options: EncodeTransactionOptions): Promise<string>;
getTradeInfo(): TradeInfo;
}