hector-rubic-sdk
Version:
Simplify dApp creation
34 lines (33 loc) • 2.61 kB
TypeScript
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>;
}