UNPKG

rubic-sdk-next

Version:
47 lines (46 loc) 3.57 kB
import { QuoteRequestInterface, QuoteResponseInterface } from '@cryptorubic/core'; import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from '../../../../../../common/tokens'; import { BlockchainName, EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name'; import { EvmWeb3Private } from '../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private'; import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config'; import { ContractParams } from '../../../../../common/models/contract-params'; import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options'; import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options'; import { EvmOnChainTrade } from '../../../../../on-chain/calculation-manager/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade'; import { MarkRequired } from 'ts-essentials'; import { TransactionConfig } from 'web3-core'; import { EvmCrossChainTrade } from '../evm-cross-chain-trade/evm-cross-chain-trade'; import { GasData } from '../evm-cross-chain-trade/models/gas-data'; import { FeeInfo } from '../models/fee-info'; import { GetContractParamsOptions } from '../models/get-contract-params-options'; import { RubicStep } from '../models/rubicStep'; import { CrossChainPaymentInfo, CrossChainTransferData } from './models/cross-chain-payment-info'; export declare abstract class CrossChainTransferTrade extends EvmCrossChainTrade { static getGasData(from: PriceTokenAmount): Promise<GasData | null>; protected paymentInfo: CrossChainTransferData | null; readonly onChainTrade: EvmOnChainTrade | null; protected get methodName(): string; readonly isAggregator = false; readonly from: PriceTokenAmount<EvmBlockchainName>; readonly to: PriceTokenAmount<BlockchainName>; readonly toTokenAmountMin: BigNumber; readonly gasData: GasData; readonly feeInfo: FeeInfo; readonly priceImpact: number | null; protected actualTokenAmount: BigNumber; protected get web3Private(): EvmWeb3Private; constructor(providerAddress: string, routePath: RubicStep[], onChainTrade: EvmOnChainTrade | null, from: PriceTokenAmount<BlockchainName>, to: PriceTokenAmount<BlockchainName>, toTokenAmountMin: BigNumber, gasData: GasData, feeInfo: FeeInfo, priceImpact: number | null, apiQuote: QuoteRequestInterface, apiResponse: QuoteResponseInterface); getTransferTrade(receiverAddress: string, refundAddress?: string): Promise<CrossChainPaymentInfo>; protected getTransactionConfigAndAmount(testMode?: boolean, receiverAddress?: string, refundAddress?: string): Promise<{ config: EvmEncodeConfig; amount: string; }>; protected abstract getPaymentInfo(receiverAddress: string, testMode?: boolean, fromAddress?: string, refundAddress?: string): Promise<CrossChainTransferData>; encode(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>; protected getContractParams(options: MarkRequired<GetContractParamsOptions, 'receiverAddress'>, skipAmountChangeCheck?: boolean): Promise<ContractParams>; encodeApprove(): Promise<TransactionConfig>; needApprove(): Promise<boolean>; swapDirect(options?: SwapTransactionOptions): Promise<string | never>; protected setTransactionConfig(skipAmountChangeCheck: boolean, useCacheData: boolean, testMode?: boolean, receiverAddress?: string, refundAddress?: string): Promise<EvmEncodeConfig>; }