@faast/tron-payments
Version:
Library to assist in processing tron payments, such as deriving addresses and sweeping funds
43 lines (42 loc) • 2 kB
TypeScript
import { PaymentsUtils, NetworkType, Payport, AutoFeeLevels, FeeRate, BalanceResult } from '@faast/payments-common';
import { Logger, Numeric } from '@faast/ts-common';
import TronWeb from 'tronweb';
import { isValidXprv, isValidXpub, isValidPrivateKey, privateKeyToAddress } from './helpers';
import { BaseTronPaymentsConfig, TronTransactionInfo } from './types';
export declare class TronPaymentsUtils implements PaymentsUtils {
readonly coinSymbol = "TRX";
readonly coinName = "Tron";
readonly coinDecimals = 6;
readonly networkType: NetworkType;
logger: Logger;
fullNode: string;
solidityNode: string;
eventServer: string;
tronweb: TronWeb;
constructor(config?: BaseTronPaymentsConfig);
init(): Promise<void>;
destroy(): Promise<void>;
isValidExtraId(extraId: string): boolean;
isValidAddress(address: string): boolean;
standardizeAddress(address: string): string | null;
private _getPayportValidationMessage;
getPayportValidationMessage(payport: Payport): Promise<string | undefined>;
validatePayport(payport: Payport): Promise<void>;
isValidPayport(payport: Payport): Promise<boolean>;
toMainDenomination(amount: string | number): string;
toBaseDenomination(amount: string | number): string;
isValidXprv: typeof isValidXprv;
isValidXpub: typeof isValidXpub;
isValidPrivateKey: typeof isValidPrivateKey;
privateKeyToAddress: typeof privateKeyToAddress;
getFeeRateRecommendation(level: AutoFeeLevels): FeeRate;
_retryDced<T>(fn: () => Promise<T>): Promise<T>;
getCurrentBlockNumber(): Promise<number>;
getAddressUtxos(): Promise<never[]>;
getAddressNextSequenceNumber(): Promise<null>;
protected canSweepBalanceSun(balanceSun: number): boolean;
isAddressBalanceSweepable(balanceTrx: Numeric): boolean;
getAddressBalance(address: string): Promise<BalanceResult>;
private extractTxFields;
getTransactionInfo(txid: string): Promise<TronTransactionInfo>;
}