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