UNPKG

hector-rubic-sdk

Version:
28 lines (27 loc) 1.54 kB
import { BasicTransactionOptions, PriceTokenAmount, Web3Public } from '../../../../core'; import { GasData } from '../../models/gas-data'; import BigNumber from 'bignumber.js'; import { EncodeTransactionOptions, SwapTransactionOptions } from '../../..'; import { TransactionReceipt } from 'web3-eth'; import { ContractParams } from '../../models/contract-params'; import { TransactionConfig } from 'web3-core'; export declare abstract class CrossChainTrade { protected readonly providerAddress: string; abstract readonly to: PriceTokenAmount; abstract readonly from: PriceTokenAmount; protected abstract readonly gasData: GasData | null; protected abstract readonly fromWeb3Public: Web3Public; protected abstract get fromContractAddress(): string; protected get walletAddress(): string; get estimatedGas(): BigNumber | null; protected constructor(providerAddress: string); abstract swap(options?: SwapTransactionOptions): Promise<string | never>; protected abstract getContractParams(fromAddress?: string): Promise<ContractParams>; needApprove(): Promise<boolean>; approve(options: BasicTransactionOptions): Promise<TransactionReceipt>; protected checkAllowanceAndApprove(options?: Omit<SwapTransactionOptions, 'onConfirm'>): Promise<void>; encode(options: EncodeTransactionOptions): Promise<TransactionConfig>; protected checkWalletConnected(): never | void; protected checkBlockchainCorrect(): never | void; protected checkUserBalance(): Promise<void | never>; }