@signumjs/contracts
Version:
Smart Contracts package for Signum Network
27 lines • 1.08 kB
JavaScript
;
/**
* 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");
/**
* 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 as hex string
*
*/
const generateDataStack = (data) => {
return data
.map(convertContractData_1.convertContractData)
.map(long => (0, util_1.convertDecStringToHexString)(long, 16))
.map(util_1.convertHexEndianess)
.join('');
};
exports.generateDataStack = generateDataStack;
//# sourceMappingURL=generateDataStack.js.map