rubic-sdk-next
Version:
Simplify dApp creation
31 lines (30 loc) • 1.54 kB
TypeScript
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>;