UNPKG

hector-rubic-sdk

Version:
34 lines (33 loc) 1.91 kB
import { BasicTransactionOptions } from '../../core/blockchain/models/basic-transaction-options'; import { PriceTokenAmount } from '../../core/blockchain/tokens/price-token-amount'; import { EncodeTransactionOptions } from './models/encode-transaction-options'; import { GasFeeInfo } from './models/gas-fee-info'; import { SwapTransactionOptions } from './models/swap-transaction-options'; import { TransactionConfig } from 'web3-core'; import { TransactionReceipt } from 'web3-eth'; import { Web3Public } from '../../core/blockchain/web3-public/web3-public'; import { BlockchainName } from '../../core/blockchain/models/blockchain-name'; import { OptionsGasParams, TransactionGasParams } from './models/gas-params'; import { TradeType } from '..'; export declare abstract class InstantTrade { abstract readonly from: PriceTokenAmount; abstract readonly to: PriceTokenAmount; abstract gasFeeInfo: GasFeeInfo | null; abstract slippageTolerance: number; protected abstract contractAddress: string; protected readonly web3Public: Web3Public; abstract get type(): TradeType; get toTokenAmountMin(): PriceTokenAmount; protected get walletAddress(): string; get priceImpact(): number | null; protected constructor(blockchain: BlockchainName); needApprove(fromAddress?: string): Promise<boolean>; approve(options?: BasicTransactionOptions): Promise<TransactionReceipt>; protected checkAllowanceAndApprove(options?: Omit<SwapTransactionOptions, 'onConfirm'>): Promise<void>; abstract swap(options?: SwapTransactionOptions): Promise<TransactionReceipt>; abstract encode(options: EncodeTransactionOptions): Promise<TransactionConfig>; protected checkWalletState(): Promise<void>; protected checkWalletConnected(): never | void; private checkBlockchainCorrect; protected getGasParams(options: OptionsGasParams): TransactionGasParams; }