@mutants/cardano-tx-builder
Version:
A package that provides utility functions to build and destructure a cardano transaction
30 lines (29 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeOutput = exports.encodeOutputs = void 0;
const cardano_utils_1 = require("@mutants/cardano-utils");
const encodeOutputDatum_1 = require("./encodeOutputDatum");
const encodeValue_1 = require("./encodeValue");
const types_1 = require("./types");
const encodeOutputs = (outputs) => {
const arr = outputs.map((output) => {
return (0, exports.encodeOutput)(output);
});
return arr;
};
exports.encodeOutputs = encodeOutputs;
const encodeOutput = (output) => {
const hexAddress = Buffer.from((0, cardano_utils_1.toHexAddress)(output.address), "hex");
const encodedValue = (0, encodeValue_1.encodeValue)(output.value);
const map = new Map();
map.set(0, hexAddress);
map.set(1, encodedValue);
if (output.datumInlined) {
map.set(2, (0, encodeOutputDatum_1.encodeOutputDatum)(output.datumInlined, types_1.DatumOption.Inline));
}
if (output.datumHash) {
map.set(2, (0, encodeOutputDatum_1.encodeOutputDatum)(output.datumHash, types_1.DatumOption.Hash));
}
return map;
};
exports.encodeOutput = encodeOutput;