UNPKG

hector-rubic-sdk

Version:
26 lines (25 loc) 2.27 kB
import { BlockchainName, Token } from '../../../../../core'; import { CrossChainContractData } from './cross-chain-contract-data'; import { CrossChainContractTrade } from './cross-chain-contract-trade'; import BigNumber from 'bignumber.js'; import { CrossChainSupportedInstantTradeProvider } from './models/cross-chain-supported-instant-trade'; import { PriceTokenAmount } from '../../../../../core/blockchain/tokens/price-token-amount'; import { MinMaxAmountsErrors } from '../../../models/min-max-amounts-errors'; import { MinMaxAmounts } from '../../../models/min-max-amounts'; import { PriceToken } from '../../../../../core/blockchain/tokens/price-token'; import { ItCalculatedTrade } from './models/it-calculated-trade'; import { CrossChainTradeProvider } from '../cross-chain-trade-provider'; export declare abstract class CelerRubicCrossChainTradeProvider extends CrossChainTradeProvider { protected abstract contracts(blockchain: BlockchainName): CrossChainContractData; protected getItCalculatedTrade(contract: CrossChainContractData, providerIndex: number, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number): Promise<ItCalculatedTrade>; protected getToTransitTokenAmount(toBlockchain: BlockchainName, transitToken: PriceTokenAmount, transitTokenMinAmount: BigNumber, contract: CrossChainContractData): Promise<{ toTransitTokenAmount: BigNumber; transitFeeToken: PriceTokenAmount; }>; protected checkMinMaxAmountsErrors(fromTrade: CrossChainContractTrade): Promise<MinMaxAmountsErrors>; protected getMinMaxTransitTokenAmounts(fromBlockchain: BlockchainName, slippageTolerance?: number, fromToken?: PriceToken): Promise<MinMaxAmounts>; private getTokenAmountForExactTransitTokenAmount; protected getTokenAmountForExactTransitTokenAmountByProvider(fromToken: Token, transitToken: Token, transitTokenAmount: BigNumber, provider: CrossChainSupportedInstantTradeProvider): Promise<BigNumber>; protected abstract getBestItContractTrade(blockchain: BlockchainName, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number): Promise<CrossChainContractTrade>; protected checkContractsState(fromTrade: CrossChainContractTrade, toTrade: CrossChainContractTrade): Promise<void>; }