UNPKG

stellar-plus

Version:

beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain

32 lines (31 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractOperationsData = exports.extractTransactionData = exports.extractTransactionInvocationMeta = void 0; const stellar_sdk_1 = require("@stellar/stellar-sdk"); const extractTransactionInvocationMeta = (txInvocationArgs, stringfy) => { const { header, signers, feeBump } = txInvocationArgs; const meta = header ? { header: Object.assign({}, header) } : {}; if (signers) meta.signers = signers.map((signer) => signer.getPublicKey()); if (feeBump) meta.feebump = (0, exports.extractTransactionInvocationMeta)({ feeBump }, false); return stringfy ? JSON.stringify(meta) : meta; }; exports.extractTransactionInvocationMeta = extractTransactionInvocationMeta; const extractTransactionData = (envelope) => { const innerTransaction = envelope instanceof stellar_sdk_1.FeeBumpTransaction ? envelope.innerTransaction : envelope; const feeBump = envelope instanceof stellar_sdk_1.FeeBumpTransaction ? envelope : undefined; const operations = (0, exports.extractOperationsData)(innerTransaction.operations, false); return Object.assign(Object.assign({ feeSource: feeBump === null || feeBump === void 0 ? void 0 : feeBump.feeSource, feeBumpFee: feeBump === null || feeBump === void 0 ? void 0 : feeBump.fee, source: innerTransaction.source, fee: innerTransaction.fee, sequence: innerTransaction.sequence }, innerTransaction.timeBounds), { operations }); }; exports.extractTransactionData = extractTransactionData; const extractOperationsData = (operations, stringfy) => { const operationData = operations.map((operation) => { return { type: operation.type, source: operation.source, }; }); return stringfy ? JSON.stringify(operationData) : operationData; }; exports.extractOperationsData = extractOperationsData;