UNPKG

@signumjs/contracts

Version:

Smart Contracts package for Signum Network

39 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContractDataView = void 0; const util_1 = require("@signumjs/util"); const getContractDatablock_1 = require("./getContractDatablock"); const countCodePages_1 = require("./countCodePages"); class ContractDataView { _contract; static VariableLength = 16; constructor(_contract) { this._contract = _contract; } getContract() { return this._contract; } countCodePages() { return (0, countCodePages_1.countCodePages)(this._contract.machineCode); } getVariableAsString(index) { const hexData = this.getHexDataAt(index, ContractDataView.VariableLength); return (0, util_1.convertHexStringToString)(hexData.replace(/00/g, '')); } getDataBlocksAsString(index, count) { const hexData = this.getHexDataAt(index, count * ContractDataView.VariableLength); return (0, util_1.convertHexStringToString)(hexData.replace(/00/g, '')); } getVariableAsDecimal(index) { return (0, util_1.convertHexStringToDecString)(this.getVariable(index)); } getVariable(index) { return this.getHexDataAt(index, ContractDataView.VariableLength); } getHexDataAt(index, length) { const l = length ? length : this._contract.machineData.length - ContractDataView.VariableLength * index; return (0, getContractDatablock_1.getContractDatablock)(this._contract, index, l); } } exports.ContractDataView = ContractDataView; //# sourceMappingURL=ContractDataView.js.map