UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

29 lines 1.06 kB
import { BytesUtils } from "./utils/bytes.js"; export class IdentityCredential { IDTrapdoor; IDNullifier; IDSecretHash; IDCommitment; IDCommitmentBigInt; /** * All variables are in little-endian format */ constructor(IDTrapdoor, IDNullifier, IDSecretHash, IDCommitment) { this.IDTrapdoor = IDTrapdoor; this.IDNullifier = IDNullifier; this.IDSecretHash = IDSecretHash; this.IDCommitment = IDCommitment; this.IDCommitmentBigInt = BytesUtils.toBigInt(IDCommitment); } static fromBytes(memKeys) { if (memKeys.length < 128) { throw new Error("Invalid memKeys length - must be at least 128 bytes"); } const idTrapdoor = memKeys.subarray(0, 32); const idNullifier = memKeys.subarray(32, 64); const idSecretHash = memKeys.subarray(64, 96); const idCommitment = memKeys.subarray(96, 128); return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment); } } //# sourceMappingURL=identity.js.map