@tidecloak/js
Version:
TideCloak client side JS SDK
34 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateVRKPackage = CreateVRKPackage;
exports.CreateAuthorizerPackage = CreateAuthorizerPackage;
const Serialization_js_1 = require("./Serialization.js");
const index_js_1 = require("../index.js");
const Ed25519Components_js_1 = require("./Components/Schemes/Ed25519/Ed25519Components.js");
const TideSignature_js_1 = require("./Signing/TideSignature.js");
/**
*
* @param {Ed25519PublicComponent} gvrk
* @param {number | bigint} expiry
*/
function CreateVRKPackage(gvrk, expiry) {
const serializedgvrk = gvrk.Serialize().ToBytes();
const ex = typeof expiry == "bigint" ? expiry : BigInt(expiry);
if (ex < BigInt(index_js_1.Utils.CurrentTime() + 5))
throw Error("Expiry must be at least 5 seconds into future");
const time_b = (0, Serialization_js_1.writeInt64LittleEndian)(ex);
const vrk_pack = (0, Serialization_js_1.CreateTideMemory)(serializedgvrk, 4 + 4 + serializedgvrk.length + time_b.length);
(0, Serialization_js_1.WriteValue)(vrk_pack, 1, time_b);
return vrk_pack;
}
/**
*
* @param {string} authFlow
* @param {string[]} signModels
* @param {Uint8Array} vrk_pack
* @returns
*/
function CreateAuthorizerPackage(authFlow, signModels, vrk_pack) {
return new TideSignature_js_1.AuthorizerSignatureFormat(authFlow, signModels, vrk_pack).format();
}
//# sourceMappingURL=TideMemoryObjects.js.map