From 9ff1a0b97e07cc83dad7e3d758cf3d91086e23eb Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Tue, 27 Sep 2022 15:22:52 +1000 Subject: [PATCH] feat: enable MembershipKey object to be created from existing creds --- src/rln.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/rln.ts b/src/rln.ts index 487a461..43c6f7a 100644 --- a/src/rln.ts +++ b/src/rln.ts @@ -54,12 +54,15 @@ export async function create(): Promise { } export class MembershipKey { - readonly IDKey: Uint8Array; - readonly IDCommitment: Uint8Array; + constructor( + public readonly IDKey: Uint8Array, + public readonly IDCommitment: Uint8Array + ) {} - constructor(memKeys: Uint8Array) { - this.IDKey = memKeys.subarray(0, 32); - this.IDCommitment = memKeys.subarray(32); + static fromBytes(memKeys: Uint8Array): MembershipKey { + const idKey = memKeys.subarray(0, 32); + const idCommitment = memKeys.subarray(32); + return new MembershipKey(idKey, idCommitment); } } @@ -163,7 +166,7 @@ export class RLNInstance { generateMembershipKey(): MembershipKey { const memKeys = zerokitRLN.generateMembershipKey(this.zkRLN); - return new MembershipKey(memKeys); + return MembershipKey.fromBytes(memKeys); } insertMember(idCommitment: Uint8Array): void {