hector-rubic-sdk
Version:
Simplify dApp creation
28 lines (27 loc) • 1.54 kB
TypeScript
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>;
}