UNPKG

hector-rubic-sdk

Version:
34 lines (33 loc) 2.61 kB
import { TradeType } from '../../..'; import { BlockchainName } from '../../../../core'; import { PriceToken } from '../../../../core/blockchain/tokens/price-token'; import { PriceTokenAmount } from '../../../../core/blockchain/tokens/price-token-amount'; import { CelerCrossChainSupportedBlockchain } from './constants/celer-cross-chain-supported-blockchain'; import { getCelerCrossChainContract } from './constants/celer-cross-chain-contracts'; import { RequiredCrossChainOptions } from '../../models/cross-chain-options'; import { CelerCrossChainContractTrade } from './celer-cross-chain-contract-trade/celer-cross-chain-contract-trade'; import { ItCalculatedTrade } from '../common/celer-rubic/models/it-calculated-trade'; import { CelerItCrossChainContractTrade } from './celer-cross-chain-contract-trade/celer-it-cross-chain-contract-trade/celer-it-cross-chain-contract-trade'; import { CrossChainContractData } from '../common/celer-rubic/cross-chain-contract-data'; import { CelerRubicCrossChainTradeProvider } from '../common/celer-rubic/celer-rubic-cross-chain-trade-provider'; import { WrappedCrossChainTrade } from '../common/models/wrapped-cross-chain-trade'; export declare class CelerCrossChainTradeProvider extends CelerRubicCrossChainTradeProvider { static isSupportedBlockchain(blockchain: BlockchainName): blockchain is CelerCrossChainSupportedBlockchain; type: "CELER"; protected contracts: typeof getCelerCrossChainContract; calculate(from: PriceTokenAmount, to: PriceToken, options: RequiredCrossChainOptions): Promise<WrappedCrossChainTrade | null>; /** * Calculates celer bridge slippage. * @param fromBlockchain Source blockchain. * @param toBlockchain Target blockchain. * @param amount Trade amount. * @param transitToken Swap transit token. * @returns Celer bridge slippage. */ private fetchCelerSlippage; private fetchCelerAmount; private fetchCelerEstimate; protected calculateBestTrade(blockchain: CelerCrossChainSupportedBlockchain, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number, disabledProviders?: TradeType[]): Promise<CelerCrossChainContractTrade>; protected getItCalculatedTrade(contract: CrossChainContractData, providerIndex: number, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number): Promise<ItCalculatedTrade>; protected getBestItContractTrade(blockchain: CelerCrossChainSupportedBlockchain, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number, disabledProviders?: TradeType[]): Promise<CelerItCrossChainContractTrade>; }