UNPKG

rubic-sdk

Version:
68 lines (67 loc) 3.27 kB
import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from "../../../../../common/tokens"; import { EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name"; import { EvmBasicTransactionOptions } from "../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-basic-transaction-options"; import { ContractParams } from "../../../../common/models/contract-params"; import { SwapTransactionOptions } from "../../../../common/models/swap-transaction-options"; import { CelerContractTrade } from "./celer-contract-trade/celer-contract-trade"; import { EvmCrossChainTrade } from "../common/emv-cross-chain-trade/evm-cross-chain-trade"; import { GasData } from "../common/emv-cross-chain-trade/models/gas-data"; import { FeeInfo } from "../common/models/fee-info"; import { GetContractParamsOptions } from "../common/models/get-contract-params-options"; import { OnChainSubtype } from "../common/models/on-chain-subtype"; import { TradeInfo } from "../common/models/trade-info"; import { TransactionReceipt } from 'web3-eth'; /** * Calculated Celer cross-chain trade. */ export declare class CelerCrossChainTrade extends EvmCrossChainTrade { private readonly maxSlippage; /** @internal */ static getGasData(fromTrade: CelerContractTrade, toTrade: CelerContractTrade, cryptoFeeToken: PriceTokenAmount, maxSlippage: number): Promise<GasData | null>; readonly type: "cbridge"; readonly isAggregator = false; readonly onChainSubtype: OnChainSubtype; readonly bridgeType: "cbridge"; readonly feeInPercents: number; readonly feeInfo: FeeInfo; readonly transitFeeToken: PriceTokenAmount; readonly from: PriceTokenAmount<EvmBlockchainName>; readonly to: PriceTokenAmount; readonly toTokenAmountMin: BigNumber; readonly fromTrade: CelerContractTrade; readonly toTrade: CelerContractTrade; readonly gasData: GasData | null; readonly cryptoFeeToken: PriceTokenAmount; private readonly deflationTokenManager; isDeflationTokenInTargetNetwork: boolean; private readonly slippage; /** * Gets price impact in source and target blockchains, based on tokens usd prices. */ get priceImpactData(): { priceImpactFrom: number | null; priceImpactTo: number | null; }; protected get fromContractAddress(): string; constructor(crossChainTrade: { fromTrade: CelerContractTrade; toTrade: CelerContractTrade; cryptoFeeToken: PriceTokenAmount; transitFeeToken: PriceTokenAmount; gasData: GasData | null; feeInPercents: number; feeInfo: FeeInfo; slippage: number; }, providerAddress: string, maxSlippage: number); swap(options?: SwapTransactionOptions): Promise<string | never>; protected checkTradeErrors(): Promise<void | never>; private checkContractsState; private parseSwapErrors; getContractParams(options: GetContractParamsOptions): Promise<ContractParams>; private calculateSwapValue; getTradeAmountRatio(fromUsd: BigNumber): BigNumber; approve(options: EvmBasicTransactionOptions, checkNeedApprove?: boolean): Promise<TransactionReceipt>; getUsdPrice(): BigNumber; getTradeInfo(): TradeInfo; }