rubic-sdk
Version:
Simplify dApp creation
26 lines (25 loc) • 1.35 kB
TypeScript
import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName, SolanaBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { GasData } from "../../common/evm-cross-chain-trade/models/gas-data";
import { FeeInfo } from "../../common/models/fee-info";
import { TransactionRequest } from "./transaction-request";
import { EvmOnChainTrade } from "../../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade";
export interface DebridgeCrossChainTradeConstructor<T extends BlockchainName> {
from: PriceTokenAmount<T>;
to: PriceTokenAmount<BlockchainName>;
priceImpact: number | null;
slippage: number;
feeInfo: FeeInfo;
transitAmount: BigNumber;
toTokenAmountMin: BigNumber;
cryptoFeeToken: PriceTokenAmount;
transactionRequest?: TransactionRequest;
gasData?: GasData | null;
allowanceTarget?: string;
onChainTrade?: EvmOnChainTrade | null;
}
export type DebridgeEvmCrossChainTradeConstructor = Required<DebridgeCrossChainTradeConstructor<EvmBlockchainName>>;
export interface DebridgeSolanaCrossChainTradeConstructor extends DebridgeCrossChainTradeConstructor<SolanaBlockchainName> {
transactionRequest: TransactionRequest;
}