feat: enable MembershipKey object to be created from existing creds

This commit is contained in:
fryorcraken.eth 2022-09-27 15:22:52 +10:00
parent c54b716cc9
commit 9ff1a0b97e
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4

View File

@ -54,12 +54,15 @@ export async function create(): Promise<RLNInstance> {
} }
export class MembershipKey { export class MembershipKey {
readonly IDKey: Uint8Array; constructor(
readonly IDCommitment: Uint8Array; public readonly IDKey: Uint8Array,
public readonly IDCommitment: Uint8Array
) {}
constructor(memKeys: Uint8Array) { static fromBytes(memKeys: Uint8Array): MembershipKey {
this.IDKey = memKeys.subarray(0, 32); const idKey = memKeys.subarray(0, 32);
this.IDCommitment = memKeys.subarray(32); const idCommitment = memKeys.subarray(32);
return new MembershipKey(idKey, idCommitment);
} }
} }
@ -163,7 +166,7 @@ export class RLNInstance {
generateMembershipKey(): MembershipKey { generateMembershipKey(): MembershipKey {
const memKeys = zerokitRLN.generateMembershipKey(this.zkRLN); const memKeys = zerokitRLN.generateMembershipKey(this.zkRLN);
return new MembershipKey(memKeys); return MembershipKey.fromBytes(memKeys);
} }
insertMember(idCommitment: Uint8Array): void { insertMember(idCommitment: Uint8Array): void {