UNPKG

@signumjs/contracts

Version:

Smart Contracts package for Signum Network

33 lines 1.27 kB
"use strict"; /** * Copyright (c) 2019 Burst Apps Team * * Credits to AJ ONeal for the two-complements stuff * https://coolaj86.com/articles/convert-decimal-to-hex-with-js-bigints/ */ Object.defineProperty(exports, "__esModule", { value: true }); exports.generateDataStack = void 0; const util_1 = require("@signumjs/util"); const convertContractData_1 = require("./internal/convertContractData"); const countDataPages_1 = require("./countDataPages"); /** * Generates a data stack message of a contracts, which can be used as initialization. The message can be used on a contract's creation with * {@link core.ContractApi.publishContract} or {@link core.ContractApi.publishContractByReference} * @param data A list of variables forming the data stack * @return The data stack * */ const generateDataStack = (data) => { const dataHex = data .map(convertContractData_1.convertContractData) .map(long => (0, util_1.convertDecStringToHexString)(long, 16)) .map(util_1.convertHexEndianess) .join(''); const dataPageCount = (0, countDataPages_1.countDataPages)(dataHex); return { dataHex, dataPageCount }; }; exports.generateDataStack = generateDataStack; //# sourceMappingURL=generateDataStack.js.map