@tidecloak/js
Version:
TideCloak client side JS SDK
53 lines • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Ed25519_js_1 = require("../../Cryptide/Ed25519.js");
const Serialization_js_1 = require("../../Cryptide/Serialization.js");
class OrkInfo {
/**
*
* @param {string} orkID
* @param {Point} orkPublic
* @param {string} orkURL
* @param {Point} orkPaymentPublic
*/
constructor(orkID, orkPublic, orkURL, orkPaymentPublic) {
this.orkID = orkID;
this.orkPublic = orkPublic;
this.orkURL = orkURL;
this.orkPaymentPublic = orkPaymentPublic;
}
toString() {
return JSON.stringify({
Id: this.orkID,
PublicKey: this.orkPublic.toBase64(),
URL: this.orkURL,
PaymentPublicKey: this.orkPaymentPublic.toBase64()
});
}
toNativeTypeObject() {
return {
Id: this.orkID,
PublicKey: this.orkPublic.toBase64(),
URL: this.orkURL,
PaymentPublicKey: this.orkPaymentPublic.toBase64()
};
}
static fromNativeTypeObject(json) {
return new OrkInfo(json.Id, Ed25519_js_1.Point.fromBase64(json.PublicKey), json.URL, Ed25519_js_1.Point.fromBase64(json.PaymentPublicKey));
}
static from(json) {
const { publickey, paymentpublickey, id, url } = normalizeKeys(json);
const pub = Ed25519_js_1.Point.fromBytes((0, Serialization_js_1.Hex2Bytes)(publickey).slice(3));
const paymentPub = Ed25519_js_1.Point.fromBytes((0, Serialization_js_1.Hex2Bytes)(paymentpublickey).slice(3));
return new OrkInfo(id, pub, url, paymentPub);
}
}
exports.default = OrkInfo;
function normalizeKeys(obj) {
const normalized = {};
Object.keys(obj).forEach(key => {
normalized[key.toLowerCase()] = obj[key];
});
return normalized;
}
//# sourceMappingURL=OrkInfo.js.map