UNPKG

rubic-sdk-next

Version:
31 lines (30 loc) 1.54 kB
import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from '../../../../../../common/tokens'; import { BitcoinBlockchainName, BlockchainName, EvmBlockchainName, TonBlockchainName, TronBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name'; import { GasData } from '../../common/evm-cross-chain-trade/models/gas-data'; import { SymbiosisSwappingParams } from './symbiosis-swapping-params'; import { SymbiosisTradeType } from './symbiosis-trade-data'; import { FeeInfo } from '../../common/models/fee-info'; export interface SymbiosisCrossChainTradeConstructor<Blockchain extends BlockchainName> { from: PriceTokenAmount<Blockchain>; to: PriceTokenAmount; gasData: GasData | null; priceImpact: number | null; slippage: number; feeInfo: FeeInfo; transitAmount: BigNumber; tradeType: { in?: SymbiosisTradeType; out?: SymbiosisTradeType; }; contractAddresses: { providerRouter: string; providerGateway: string; }; swapParams: SymbiosisSwappingParams; promotions?: string[]; } export type SymbiosisEvmCrossChainTradeConstructor = SymbiosisCrossChainTradeConstructor<EvmBlockchainName>; export type SymbiosisTonCrossChainTradeConstructor = SymbiosisCrossChainTradeConstructor<TonBlockchainName>; export type SymbiosisTronCrossChainTradeConstructor = SymbiosisCrossChainTradeConstructor<TronBlockchainName>; export type SymbiosisbitcoinCrossChainTradeConstructor = SymbiosisCrossChainTradeConstructor<BitcoinBlockchainName>;