UNPKG

@tidecloak/js

Version:

TideCloak client side JS SDK

53 lines 1.88 kB
"use strict"; 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