UNPKG

@libra-opensource/client-sdk-typescript

Version:
66 lines (65 loc) 3.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class Prettify { constructor(logger) { this.logger = logger; } prettifyTx(transaction) { var _a, _b, _c, _d; this.logger.group('Transaction Details:'); if (((_a = transaction.transaction) === null || _a === void 0 ? void 0 : _a.type) === 'writeset') { this.printWriteSetTxDetails(transaction); } else if (((_b = transaction.transaction) === null || _b === void 0 ? void 0 : _b.type) === 'blockmetadata') { this.printBlockMetadataTxDetails(transaction); } else if (((_c = transaction.transaction) === null || _c === void 0 ? void 0 : _c.type) === 'user') { this.prettifyUserTx(transaction); } else { throw new Error('Failed to handle unrecognized transaction type ' + ((_d = transaction.transaction) === null || _d === void 0 ? void 0 : _d.type)); } this.logger.groupEnd(); this.logger.info('--------------------------------------------------------'); } prettifyUserTx(transaction) { var _a, _b; const txType = (_b = (_a = transaction.transaction) === null || _a === void 0 ? void 0 : _a.script) === null || _b === void 0 ? void 0 : _b.type; if (txType === 'unknown_transaction') { this.printUnknownTxDetails(transaction); } else { this.printUserTx(transaction, txType); } } printTxFinancialDetails(transaction) { var _a, _b, _c, _d, _e, _f, _g; this.logger.info('Source:', (_a = transaction.transaction) === null || _a === void 0 ? void 0 : _a.sender); this.logger.info('Target:', (_c = (_b = transaction.transaction) === null || _b === void 0 ? void 0 : _b.script) === null || _c === void 0 ? void 0 : _c.receiver); this.logger.info('Amount:', (_e = (_d = transaction.transaction) === null || _d === void 0 ? void 0 : _d.script) === null || _e === void 0 ? void 0 : _e.amount); this.logger.info('Types:', (_g = (_f = transaction.transaction) === null || _f === void 0 ? void 0 : _f.script) === null || _g === void 0 ? void 0 : _g.currency); } printBlockMetadataTxDetails(transaction) { var _a; this.logger.info('Type:', 'blockmetadata'); this.printTxBasicDetails(transaction); this.logger.info('Expiration Time:', Math.trunc(Number(BigInt((_a = transaction.transaction) === null || _a === void 0 ? void 0 : _a.timestamp_usecs) / BigInt(1000000)))); } printUnknownTxDetails(transaction) { this.logger.info('Type:', 'unknown_transaction'); this.printTxBasicDetails(transaction); } printUserTx(transaction, type) { this.logger.info('Type:', type); this.printTxBasicDetails(transaction); this.printTxFinancialDetails(transaction); } printWriteSetTxDetails(transaction) { this.logger.info('Type:', 'writeset'); this.printTxBasicDetails(transaction); } printTxBasicDetails(transaction) { this.logger.info('Version:', transaction.version); } } exports.default = Prettify;