@stricahq/cardano-codec
Version:
Cardano Codec library for parsing Cardano CBOR data types
36 lines (35 loc) • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseBlock = void 0;
const transactionBodyParser_1 = require("./transactionBodyParser");
const headerParser_1 = __importDefault(require("./headerParser"));
const witnessesParser_1 = __importDefault(require("./witnessesParser"));
const auxiliaryDataParser_1 = require("./auxiliaryDataParser");
const parseBlock = (block, blockCbor) => {
const header = (0, headerParser_1.default)(block[0], blockCbor);
const transactions = [];
for (const trx of block[1]) {
transactions.push((0, transactionBodyParser_1.parseTransaction)(trx, blockCbor));
}
const invalidTransactions = block[4] ? block[4] : [];
const witnesses = [];
for (const witness of block[2]) {
witnesses.push((0, witnessesParser_1.default)(witness, blockCbor));
}
const auxiliaryDataMap = new Map();
for (const [txIndex, auxData] of block[3].entries()) {
auxiliaryDataMap.set(txIndex, (0, auxiliaryDataParser_1.parseAuxiliaryData)(auxData));
}
return {
header,
transactions,
witnesses,
auxiliaryDataMap,
invalidTransactions,
};
};
exports.parseBlock = parseBlock;
exports.default = exports.parseBlock;