UNPKG

@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
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;