UNPKG

rubic-sdk-next

Version:
42 lines (41 loc) 2.6 kB
import { QuoteRequestInterface, QuoteResponseInterface } from '@cryptorubic/core'; import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from '../../../../../../common/tokens'; import { SolanaBlockchainName } 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 { SolanaWeb3Private } from '../../../../../../core/blockchain/web3-private-service/web3-private/solana-web3-private/solana-web3-private'; import { SolanaWeb3Public } from '../../../../../../core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public'; import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config'; import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options'; import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options'; import { CrossChainTrade } from '../cross-chain-trade'; import { TransactionConfig } from 'web3-core'; import { TransactionReceipt } from 'web3-eth'; import { RubicStep } from '../models/rubicStep'; export declare abstract class SolanaCrossChainTrade extends CrossChainTrade<{ data: string; }> { abstract readonly from: PriceTokenAmount<SolanaBlockchainName>; protected get fromWeb3Public(): SolanaWeb3Public; protected get web3Private(): SolanaWeb3Private; /** * Gets gas fee in source blockchain. */ get estimatedGas(): BigNumber | null; private readonly shouldCalculateConsumedParams; constructor(providerAddress: string, routePath: RubicStep[], apiQuote: QuoteRequestInterface, apiResponse: QuoteResponseInterface, shouldCalculateConsumedParams: boolean); approve(_options: EvmBasicTransactionOptions, _checkNeedApprove?: boolean, _amount?: BigNumber | 'infinity'): Promise<TransactionReceipt>; protected checkAllowanceAndApprove(options?: Omit<SwapTransactionOptions, 'onConfirm' | 'gasLimit'>): Promise<void>; /** * * @returns txHash(srcTxHash) | never */ swap(options?: SwapTransactionOptions): Promise<string | never>; encode(options: EncodeTransactionOptions): Promise<TransactionConfig>; getUsdPrice(providerFeeToken?: BigNumber): BigNumber; protected getTransactionConfigAndAmount(testMode?: boolean, receiverAddress?: string): Promise<{ config: EvmEncodeConfig; amount: string; }>; authWallet(): Promise<string>; }