@tidecloak/js
Version:
TideCloak client side JS SDK
49 lines • 2.27 kB
JavaScript
;
//
// Tide Protocol - Infrastructure for a TRUE Zero-Trust paradigm
// Copyright (C) 2022 Tide Foundation Ltd
//
// This program is free software and is subject to the terms of
// the Tide Community Open Code License as published by the
// Tide Foundation Limited. You may modify it and redistribute
// it in accordance with and subject to the terms of that License.
// This program is distributed WITHOUT WARRANTY of any kind,
// including without any implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
// See the Tide Community Open Code License for more details.
// You should have received a copy of the Tide Community Open
// Code License along with this program.
// If not, see https://tide.org/licenses_tcoc2-0-0-en
//
Object.defineProperty(exports, "__esModule", { value: true });
const Ed25519Components_js_1 = require("../../../../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js");
const Ed25519_js_1 = require("../../../../Cryptide/Ed25519.js");
class DecryptedGenShardResponse {
/**
* @param {Point} GRi
* @param {bigint} Timestampi
* @param {Ed25519PublicComponent[]} GMultiplied
* @param {Ed25519PublicComponent} GK1i
* @param {Point[] | null} VRK_GR
*/
constructor(GRi, Timestampi, GMultiplied, GK1i, VRK_GR = null) {
this.GRi = GRi;
this.Timestampi = Timestampi;
this.GMultiplied = GMultiplied;
this.GK1i = GK1i;
this.VRK_GR = VRK_GR;
}
static from(data) {
const obj = JSON.parse(data);
const timestampi = BigInt(obj.Timestampi);
const gRi = obj.GRi != null ? Ed25519_js_1.Point.fromBase64(obj.GRi) : null;
const gMultiplied = obj.GMultiplied.map(p => p == null ? null : Ed25519Components_js_1.Ed25519PublicComponent.DeserializeComponent(p));
const gK1i = Ed25519Components_js_1.Ed25519PublicComponent.DeserializeComponent(obj.GK1i);
let VRK_GR = null;
if (obj.VRK_GRi != undefined)
VRK_GR = obj.VRK_GRi.map(gr => Ed25519_js_1.Point.fromBase64(gr));
return new DecryptedGenShardResponse(gRi, timestampi, gMultiplied, gK1i, VRK_GR);
}
}
exports.default = DecryptedGenShardResponse;
//# sourceMappingURL=DecryptedGenShardResponse.js.map