@stricahq/cardano-codec
Version:
Cardano Codec library for parsing Cardano CBOR data types
44 lines (43 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseAuxiliaryData = void 0;
const common_1 = require("../common");
const parseAuxiliaryData = (metadata) => {
const data = {};
let m;
let nativeScripts;
let plutusScripts;
let plutusScriptsV2;
// shelley AuxiliaryData is Map
if (metadata instanceof Map) {
m = metadata;
}
// Allegra format AuxiliaryData
else if (Array.isArray(metadata)) {
m = metadata[0];
nativeScripts = metadata[1];
}
// Alonzo onwards AuxiliaryData
else {
const auxData = metadata.value;
m = auxData.get(0);
nativeScripts = auxData.get(1);
plutusScripts = auxData.get(2);
plutusScriptsV2 = auxData.get(3);
}
if (m instanceof Map) {
data.metadata = (0, common_1.parseMetadata)(m);
}
if (nativeScripts) {
data.nativeScripts = (0, common_1.parseNativeScripts)(nativeScripts);
}
if (plutusScripts) {
data.plutusScripts = plutusScripts.map((p) => p.toString("hex"));
}
if (plutusScriptsV2) {
data.plutusScriptsV2 = plutusScriptsV2.map((p) => p.toString("hex"));
}
return data;
};
exports.parseAuxiliaryData = parseAuxiliaryData;
exports.default = exports.parseAuxiliaryData;