@pokt-network/pocket-js
Version:
Pocket-js core package with the main functionalities to interact with the Pocket Network.
75 lines • 2.44 kB
JavaScript
;
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