UNPKG

@pokt-network/pocket-js

Version:

Pocket-js core package with the main functionalities to interact with the Pocket Network.

75 lines 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StoredReceipt = void 0; var session_header_1 = require("./input/session-header"); var utils_1 = require("../../utils"); /** * * * @class StoredReceipt */ var StoredReceipt = /** @class */ (function () { /** * StoredReceipt. * @constructor * @param {SessionHeader} sessionHeader - Session Header. * @param {string} address - Servicer address. * @param {BigInt} total - Total amount of relays. * @param {number} evidenceType - Evidence type. */ function StoredReceipt(sessionHeader, address, total, evidenceType) { this.sessionHeader = sessionHeader; this.address = address; this.total = total; this.evidenceType = evidenceType; } /** * * Creates a StoredReceipt object using a JSON string * @param {string} json - JSON string. * @returns {StoredReceipt} - StoredReceipt object. * @memberof StoredReceipt */ StoredReceipt.fromJSON = function (json) { try { var jsonObject = JSON.parse(json); return new StoredReceipt(session_header_1.SessionHeader.fromJSON(JSON.stringify(jsonObject.header)), jsonObject.address, BigInt(jsonObject.total), jsonObject.evidence_type); } catch (error) { throw error; } }; /** * * Creates a JSON object with the StoredReceipt properties * @returns {JSON} - JSON Object. * @memberof StoredReceipt */ StoredReceipt.prototype.toJSON = function () { return { servicer_address: this.address, session_header: this.sessionHeader.toJSON(), total_relays: Number(this.total.toString()), evidence_type: this.evidenceType }; }; /** * * Check if the StoredReceipt object is valid * @returns {boolean} - True or false. * @memberof StoredReceipt */ StoredReceipt.prototype.isValid = function () { var validAddress = true; if (this.address) { validAddress = utils_1.Hex.validateAddress(this.address); } return validAddress && Number(this.total.toString()) >= 0 && this.sessionHeader.isValid() && this.evidenceType >= 0; }; return StoredReceipt; }()); exports.StoredReceipt = StoredReceipt; //# sourceMappingURL=stored-receipt.js.map