From f39d215cca7589c20cf40f80f84b2974e43a4416 Mon Sep 17 00:00:00 2001 From: Danish Arora Date: Wed, 2 Apr 2025 18:30:11 +0530 Subject: [PATCH] chore: use array of arrays with named obj structure for identity credential --- packages/rln/src/identity.ts | 16 ++++++++-------- packages/rln/src/keystore/keystore.ts | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/rln/src/identity.ts b/packages/rln/src/identity.ts index 956786a29b..04d988c518 100644 --- a/packages/rln/src/identity.ts +++ b/packages/rln/src/identity.ts @@ -29,13 +29,13 @@ export class IdentityCredential { ); } - public toJSON(): [number[], number[], number[], number[], string] { - return [ - Array.from(this.IDTrapdoor), - Array.from(this.IDNullifier), - Array.from(this.IDSecretHash), - Array.from(this.IDCommitment), - this.IDCommitmentBigInt.toString() - ]; + public toJSON(): Record { + return { + idTrapdoor: Array.from(this.IDTrapdoor), + idNullifier: Array.from(this.IDNullifier), + idSecretHash: Array.from(this.IDSecretHash), + idCommitment: Array.from(this.IDCommitment), + idCommitmentBigInt: this.IDCommitmentBigInt.toString() + }; } } diff --git a/packages/rln/src/keystore/keystore.ts b/packages/rln/src/keystore/keystore.ts index ff415fe492..49eaaeca58 100644 --- a/packages/rln/src/keystore/keystore.ts +++ b/packages/rln/src/keystore/keystore.ts @@ -251,11 +251,11 @@ export class Keystore { const str = bytesToUtf8(bytes); const obj = JSON.parse(str); - // Get identity arrays - const [idTrapdoor, idNullifier, idSecretHash, idCommitment] = _.get( + // Get identity fields from named object + const { idTrapdoor, idNullifier, idSecretHash, idCommitment } = _.get( obj, "identityCredential", - [] + {} ); const idTrapdoorArray = new Uint8Array(idTrapdoor || []); @@ -299,12 +299,12 @@ export class Keystore { return utf8ToBytes( JSON.stringify({ treeIndex: options.membership.treeIndex, - identityCredential: [ - Array.from(options.identity.IDTrapdoor), - Array.from(options.identity.IDNullifier), - Array.from(options.identity.IDSecretHash), - Array.from(options.identity.IDCommitment) - ], + identityCredential: { + idTrapdoor: Array.from(options.identity.IDTrapdoor), + idNullifier: Array.from(options.identity.IDNullifier), + idSecretHash: Array.from(options.identity.IDSecretHash), + idCommitment: Array.from(options.identity.IDCommitment) + }, membershipContract: { chainId: options.membership.chainId, address: options.membership.address