@waku/rln 0.1.6-27c1236.0 → 0.1.6-34d4730.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/_virtual/utils.js +2 -2
- package/bundle/_virtual/utils2.js +2 -2
- package/bundle/index.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/_sha2.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/hmac.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/pbkdf2.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/scrypt.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/sha256.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/sha512.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/utils.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +1 -1
- package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +2 -2
- package/bundle/packages/rln/dist/contract/constants.js +1 -7
- package/bundle/packages/rln/dist/contract/rln_base_contract.js +3 -10
- package/bundle/packages/rln/dist/credentials_manager.js +8 -13
- package/bundle/packages/rln/dist/identity.js +2 -2
- package/bundle/packages/rln/dist/keystore/keystore.js +11 -19
- package/bundle/packages/rln/dist/utils/bytes.js +9 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/contract/constants.d.ts +0 -6
- package/dist/contract/constants.js +0 -6
- package/dist/contract/constants.js.map +1 -1
- package/dist/contract/rln_base_contract.d.ts +0 -5
- package/dist/contract/rln_base_contract.js +3 -10
- package/dist/contract/rln_base_contract.js.map +1 -1
- package/dist/credentials_manager.js +8 -13
- package/dist/credentials_manager.js.map +1 -1
- package/dist/identity.js +2 -2
- package/dist/identity.js.map +1 -1
- package/dist/keystore/keystore.js +11 -19
- package/dist/keystore/keystore.js.map +1 -1
- package/dist/utils/bytes.d.ts +6 -1
- package/dist/utils/bytes.js +8 -2
- package/dist/utils/bytes.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/contract/constants.ts +0 -9
- package/src/contract/rln_base_contract.ts +3 -17
- package/src/credentials_manager.ts +8 -21
- package/src/identity.ts +2 -2
- package/src/keystore/keystore.ts +18 -33
- package/src/utils/bytes.ts +11 -5
- package/src/utils/index.ts +1 -1
package/src/keystore/keystore.ts
CHANGED
@@ -14,7 +14,7 @@ import {
|
|
14
14
|
import _ from "lodash";
|
15
15
|
import { v4 as uuidV4 } from "uuid";
|
16
16
|
|
17
|
-
import {
|
17
|
+
import { buildBigIntFromUint8Array } from "../utils/bytes.js";
|
18
18
|
|
19
19
|
import { decryptEipKeystore, keccak256Checksum } from "./cipher.js";
|
20
20
|
import { isCredentialValid, isKeystoreValid } from "./schema_validator.js";
|
@@ -246,37 +246,29 @@ export class Keystore {
|
|
246
246
|
private static fromBytesToIdentity(
|
247
247
|
bytes: Uint8Array
|
248
248
|
): undefined | KeystoreEntity {
|
249
|
-
function fromLittleEndian(bytes: Uint8Array): Uint8Array {
|
250
|
-
return new Uint8Array(bytes).reverse();
|
251
|
-
}
|
252
249
|
try {
|
253
250
|
const str = bytesToUtf8(bytes);
|
254
251
|
const obj = JSON.parse(str);
|
255
252
|
|
256
|
-
//
|
257
|
-
const idCommitmentLE = Keystore.fromArraylikeToBytes(
|
258
|
-
_.get(obj, "identityCredential.idCommitment", [])
|
259
|
-
);
|
260
|
-
|
253
|
+
// TODO: add runtime validation of nwaku credentials
|
261
254
|
return {
|
262
255
|
identity: {
|
263
|
-
IDCommitment:
|
264
|
-
|
265
|
-
Keystore.fromArraylikeToBytes(
|
266
|
-
_.get(obj, "identityCredential.idTrapdoor", [])
|
267
|
-
)
|
256
|
+
IDCommitment: Keystore.fromArraylikeToBytes(
|
257
|
+
_.get(obj, "identityCredential.idCommitment", [])
|
268
258
|
),
|
269
|
-
|
270
|
-
|
271
|
-
_.get(obj, "identityCredential.idNullifier", [])
|
272
|
-
)
|
259
|
+
IDTrapdoor: Keystore.fromArraylikeToBytes(
|
260
|
+
_.get(obj, "identityCredential.idTrapdoor", [])
|
273
261
|
),
|
274
|
-
|
275
|
-
|
276
|
-
|
262
|
+
IDNullifier: Keystore.fromArraylikeToBytes(
|
263
|
+
_.get(obj, "identityCredential.idNullifier", [])
|
264
|
+
),
|
265
|
+
IDCommitmentBigInt: buildBigIntFromUint8Array(
|
277
266
|
Keystore.fromArraylikeToBytes(
|
278
|
-
_.get(obj, "identityCredential.
|
267
|
+
_.get(obj, "identityCredential.idCommitment", [])
|
279
268
|
)
|
269
|
+
),
|
270
|
+
IDSecretHash: Keystore.fromArraylikeToBytes(
|
271
|
+
_.get(obj, "identityCredential.idSecretHash", [])
|
280
272
|
)
|
281
273
|
},
|
282
274
|
membership: {
|
@@ -329,21 +321,14 @@ export class Keystore {
|
|
329
321
|
// follows nwaku implementation
|
330
322
|
// https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/protocol_types.nim#L98
|
331
323
|
private static fromIdentityToBytes(options: KeystoreEntity): Uint8Array {
|
332
|
-
function toLittleEndian(bytes: Uint8Array): Uint8Array {
|
333
|
-
return new Uint8Array(bytes).reverse();
|
334
|
-
}
|
335
324
|
return utf8ToBytes(
|
336
325
|
JSON.stringify({
|
337
326
|
treeIndex: options.membership.treeIndex,
|
338
327
|
identityCredential: {
|
339
|
-
idCommitment: Array.from(
|
340
|
-
|
341
|
-
),
|
342
|
-
|
343
|
-
idSecretHash: Array.from(
|
344
|
-
toLittleEndian(options.identity.IDSecretHash)
|
345
|
-
),
|
346
|
-
idTrapdoor: Array.from(toLittleEndian(options.identity.IDTrapdoor))
|
328
|
+
idCommitment: Array.from(options.identity.IDCommitment),
|
329
|
+
idNullifier: Array.from(options.identity.IDNullifier),
|
330
|
+
idSecretHash: Array.from(options.identity.IDSecretHash),
|
331
|
+
idTrapdoor: Array.from(options.identity.IDTrapdoor)
|
347
332
|
},
|
348
333
|
membershipContract: {
|
349
334
|
chainId: options.membership.chainId,
|
package/src/utils/bytes.ts
CHANGED
@@ -56,11 +56,17 @@ export function writeUIntLE(
|
|
56
56
|
return buf;
|
57
57
|
}
|
58
58
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
59
|
+
/**
|
60
|
+
* Transforms Uint8Array into BigInt
|
61
|
+
* @param array: Uint8Array
|
62
|
+
* @returns BigInt
|
63
|
+
*/
|
64
|
+
export function buildBigIntFromUint8Array(
|
65
|
+
array: Uint8Array,
|
66
|
+
byteOffset: number = 0
|
67
|
+
): bigint {
|
68
|
+
const dataView = new DataView(array.buffer);
|
69
|
+
return dataView.getBigUint64(byteOffset, true);
|
64
70
|
}
|
65
71
|
|
66
72
|
/**
|
package/src/utils/index.ts
CHANGED