@faast/tron-payments
Version:
Library to assist in processing tron payments, such as deriving addresses and sweeping funds
35 lines (34 loc) • 2.38 kB
TypeScript
import { Transaction as TronTransaction } from 'tronweb';
import { BalanceResult, BasePayments, FeeOption, ResolvedFeeOption, Payport, FromTo, ResolveablePayport, PayportOutput } from '@faast/payments-common';
import { Numeric } from '@faast/ts-common';
import { TronTransactionInfo, TronUnsignedTransaction, TronSignedTransaction, TronBroadcastResult, CreateTransactionOptions, BaseTronPaymentsConfig } from './types';
import { TronPaymentsUtils } from './TronPaymentsUtils';
export declare abstract class BaseTronPayments<Config extends BaseTronPaymentsConfig> extends TronPaymentsUtils implements BasePayments<Config, TronUnsignedTransaction, TronSignedTransaction, TronBroadcastResult, TronTransactionInfo> {
constructor(config: Config);
abstract getFullConfig(): Config;
abstract getPublicConfig(): Config;
abstract getAccountId(index: number): string;
abstract getAccountIds(): string[];
abstract getPayport(index: number): Promise<Payport>;
abstract getPrivateKey(index: number): Promise<string>;
init(): Promise<void>;
destroy(): Promise<void>;
requiresBalanceMonitor(): boolean;
getBalance(resolveablePayport: ResolveablePayport): Promise<BalanceResult>;
resolveFeeOption(feeOption: FeeOption): Promise<ResolvedFeeOption>;
buildUnsignedTx(toAddress: string, amountSun: number, fromAddress: string): Promise<TronTransaction>;
createServiceTransaction(): Promise<null>;
createSweepTransaction(from: number, to: ResolveablePayport, options?: CreateTransactionOptions): Promise<TronUnsignedTransaction>;
createTransaction(from: number, to: ResolveablePayport, amountTrx: string, options?: CreateTransactionOptions): Promise<TronUnsignedTransaction>;
signTransaction(unsignedTx: TronUnsignedTransaction): Promise<TronSignedTransaction>;
broadcastTransaction(tx: TronSignedTransaction): Promise<TronBroadcastResult>;
isSweepableBalance(balanceTrx: Numeric): boolean;
usesSequenceNumber(): boolean;
getNextSequenceNumber(): Promise<null>;
usesUtxos(): boolean;
getUtxos(): Promise<never[]>;
resolvePayport(payport: ResolveablePayport): Promise<Payport>;
resolveFromTo(from: number, to: ResolveablePayport): Promise<FromTo>;
createMultiOutputTransaction(from: number, to: PayportOutput[], options?: CreateTransactionOptions): Promise<null>;
}
export default BaseTronPayments;