@waku/rln 0.1.7-2ed5ddc.0 → 0.1.7-987c6cd.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/index.js +2 -2
- package/bundle/packages/core/dist/lib/connection_manager/connection_limiter.js +1 -1
- package/bundle/packages/core/dist/lib/connection_manager/connection_manager.js +2 -1
- package/bundle/packages/core/dist/lib/connection_manager/dialer.js +17 -0
- package/bundle/packages/core/dist/lib/connection_manager/discovery_dialer.js +1 -1
- package/bundle/packages/core/dist/lib/connection_manager/keep_alive_manager.js +1 -1
- package/bundle/packages/core/dist/lib/connection_manager/shard_reader.js +1 -1
- package/bundle/packages/core/dist/lib/filter/filter.js +1 -1
- package/bundle/packages/core/dist/lib/light_push/light_push.js +1 -1
- package/bundle/packages/core/dist/lib/message/version_0.js +1 -1
- package/bundle/packages/core/dist/lib/metadata/metadata.js +1 -1
- package/bundle/packages/core/dist/lib/store/store.js +1 -1
- package/bundle/packages/rln/dist/codec.js +1 -1
- package/bundle/packages/rln/dist/contract/abi/price_calculator.js +95 -0
- package/bundle/packages/rln/dist/contract/constants.js +15 -3
- package/bundle/packages/rln/dist/contract/rln_base_contract.js +17 -5
- package/bundle/packages/rln/dist/contract/rln_contract.js +3 -3
- package/bundle/packages/rln/dist/credentials_manager.js +24 -20
- package/bundle/packages/rln/dist/identity.js +8 -6
- package/bundle/packages/rln/dist/keystore/keystore.js +39 -12
- package/bundle/packages/rln/dist/proof.js +2 -2
- package/bundle/packages/rln/dist/rln.js +1 -1
- package/bundle/packages/rln/dist/utils/bytes.js +103 -58
- package/bundle/packages/rln/dist/utils/epoch.js +1 -1
- package/bundle/packages/rln/dist/utils/hash.js +3 -3
- package/bundle/packages/rln/dist/zerokit.js +17 -17
- package/bundle/packages/utils/dist/{logger/index.js → logger.js} +3 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/contract/abi/price_calculator.d.ts +46 -0
- package/dist/contract/abi/price_calculator.js +94 -0
- package/dist/contract/abi/price_calculator.js.map +1 -0
- package/dist/contract/{abi.js → abi/rln.js} +1 -1
- package/dist/contract/abi/rln.js.map +1 -0
- package/dist/contract/constants.d.ts +57 -1
- package/dist/contract/constants.js +14 -2
- package/dist/contract/constants.js.map +1 -1
- package/dist/contract/price_calculator.test.d.ts +1 -0
- package/dist/contract/price_calculator.test.js +28 -0
- package/dist/contract/price_calculator.test.js.map +1 -0
- package/dist/contract/rln_base_contract.d.ts +7 -0
- package/dist/contract/rln_base_contract.js +16 -4
- package/dist/contract/rln_base_contract.js.map +1 -1
- package/dist/contract/rln_contract.js +2 -2
- package/dist/contract/rln_contract.js.map +1 -1
- package/dist/contract/{test-setup.d.ts → test_setup.d.ts} +4 -4
- package/dist/contract/{test-setup.js → test_setup.js} +4 -4
- package/dist/contract/{test-setup.js.map → test_setup.js.map} +1 -1
- package/dist/contract/{test-utils.js → test_utils.js} +10 -10
- package/dist/contract/{test-utils.js.map → test_utils.js.map} +1 -1
- package/dist/credentials_manager.d.ts +4 -0
- package/dist/credentials_manager.js +24 -19
- package/dist/credentials_manager.js.map +1 -1
- package/dist/identity.d.ts +5 -2
- package/dist/identity.js +8 -5
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/keystore/keystore.js +38 -11
- package/dist/keystore/keystore.js.map +1 -1
- package/dist/proof.js +2 -2
- package/dist/proof.js.map +1 -1
- package/dist/utils/bytes.d.ts +42 -20
- package/dist/utils/bytes.js +102 -57
- package/dist/utils/bytes.js.map +1 -1
- package/dist/utils/hash.js +5 -5
- package/dist/utils/hash.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/dist/zerokit.js +17 -17
- package/dist/zerokit.js.map +1 -1
- package/package.json +1 -1
- package/src/contract/abi/price_calculator.ts +93 -0
- package/src/contract/constants.ts +18 -2
- package/src/contract/price_calculator.test.ts +36 -0
- package/src/contract/rln_base_contract.ts +27 -5
- package/src/contract/rln_contract.ts +5 -2
- package/src/contract/{test-setup.ts → test_setup.ts} +4 -4
- package/src/contract/{test-utils.ts → test_utils.ts} +9 -9
- package/src/credentials_manager.ts +41 -27
- package/src/identity.ts +11 -7
- package/src/index.ts +3 -3
- package/src/keystore/keystore.ts +52 -23
- package/src/proof.ts +2 -2
- package/src/utils/bytes.ts +118 -72
- package/src/utils/hash.ts +15 -5
- package/src/utils/index.ts +1 -6
- package/src/zerokit.ts +30 -22
- package/dist/contract/abi.js.map +0 -1
- /package/bundle/packages/rln/dist/contract/{abi.js → abi/rln.js} +0 -0
- /package/dist/contract/{abi.d.ts → abi/rln.d.ts} +0 -0
- /package/dist/contract/{test-utils.d.ts → test_utils.d.ts} +0 -0
- /package/src/contract/{abi.ts → abi/rln.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"
|
1
|
+
{"version":3,"file":"test_utils.js","sourceRoot":"","sources":["../../src/contract/test_utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import { hmac } from "@noble/hashes/hmac";
|
2
|
-
import { sha256 } from "@noble/hashes/
|
2
|
+
import { sha256 } from "@noble/hashes/sha2";
|
3
3
|
import { Logger } from "@waku/utils";
|
4
|
-
import {
|
4
|
+
import { RLN_CONTRACT, RLN_Q } from "./contract/constants.js";
|
5
5
|
import { RLNBaseContract } from "./contract/rln_base_contract.js";
|
6
6
|
import { IdentityCredential } from "./identity.js";
|
7
7
|
import { Keystore } from "./keystore/index.js";
|
8
|
-
import {
|
8
|
+
import { BytesUtils } from "./utils/bytes.js";
|
9
|
+
import { extractMetaMaskSigner } from "./utils/index.js";
|
9
10
|
const log = new Logger("waku:credentials");
|
10
11
|
/**
|
11
12
|
* Manages credentials for RLN
|
@@ -78,7 +79,7 @@ export class RLNCredentialsManager {
|
|
78
79
|
}
|
79
80
|
else {
|
80
81
|
log.info("Using local implementation to generate identity");
|
81
|
-
identity = this.generateSeededIdentityCredential(options.signature);
|
82
|
+
identity = await this.generateSeededIdentityCredential(options.signature);
|
82
83
|
}
|
83
84
|
}
|
84
85
|
if (!identity) {
|
@@ -107,9 +108,9 @@ export class RLNCredentialsManager {
|
|
107
108
|
let chainId = credentials?.membership.chainId;
|
108
109
|
const address = credentials?.membership.address ||
|
109
110
|
options.address ||
|
110
|
-
|
111
|
-
if (address ===
|
112
|
-
chainId =
|
111
|
+
RLN_CONTRACT.address;
|
112
|
+
if (address === RLN_CONTRACT.address) {
|
113
|
+
chainId = RLN_CONTRACT.chainId.toString();
|
113
114
|
log.info(`Using Linea contract with chainId: ${chainId}`);
|
114
115
|
}
|
115
116
|
const signer = options.signer || (await extractMetaMaskSigner());
|
@@ -174,24 +175,28 @@ export class RLNCredentialsManager {
|
|
174
175
|
* @param seed A string seed to generate the identity from
|
175
176
|
* @returns IdentityCredential
|
176
177
|
*/
|
177
|
-
generateSeededIdentityCredential(seed) {
|
178
|
+
async generateSeededIdentityCredential(seed) {
|
178
179
|
log.info("Generating seeded identity credential");
|
179
180
|
// Convert the seed to bytes
|
180
181
|
const encoder = new TextEncoder();
|
181
182
|
const seedBytes = encoder.encode(seed);
|
182
183
|
// Generate deterministic values using HMAC-SHA256
|
183
184
|
// We use different context strings for each component to ensure they're different
|
184
|
-
const
|
185
|
-
const
|
186
|
-
|
187
|
-
const
|
188
|
-
const
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
185
|
+
const idTrapdoorBE = hmac(sha256, seedBytes, encoder.encode("IDTrapdoor"));
|
186
|
+
const idNullifierBE = hmac(sha256, seedBytes, encoder.encode("IDNullifier"));
|
187
|
+
const combinedBytes = new Uint8Array([...idTrapdoorBE, ...idNullifierBE]);
|
188
|
+
const idSecretHashBE = sha256(combinedBytes);
|
189
|
+
const idCommitmentRawBE = sha256(idSecretHashBE);
|
190
|
+
const idCommitmentBE = this.reduceIdCommitment(idCommitmentRawBE);
|
191
|
+
log.info("Successfully generated identity credential, storing in Big Endian format");
|
192
|
+
return new IdentityCredential(idTrapdoorBE, idNullifierBE, idSecretHashBE, idCommitmentBE);
|
193
|
+
}
|
194
|
+
/**
|
195
|
+
* Helper: take 32-byte BE, reduce mod Q, return 32-byte BE
|
196
|
+
*/
|
197
|
+
reduceIdCommitment(bytesBE, limit = RLN_Q) {
|
198
|
+
const nBE = BytesUtils.buildBigIntFromUint8ArrayBE(bytesBE);
|
199
|
+
return BytesUtils.bigIntToUint8Array32BE(nBE % limit);
|
195
200
|
}
|
196
201
|
}
|
197
202
|
//# sourceMappingURL=credentials_manager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"credentials_manager.js","sourceRoot":"","sources":["../src/credentials_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"credentials_manager.js","sourceRoot":"","sources":["../src/credentials_manager.ts"],"names":[],"mappings":"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"}
|
package/dist/identity.d.ts
CHANGED
@@ -3,7 +3,10 @@ export declare class IdentityCredential {
|
|
3
3
|
readonly IDNullifier: Uint8Array;
|
4
4
|
readonly IDSecretHash: Uint8Array;
|
5
5
|
readonly IDCommitment: Uint8Array;
|
6
|
-
|
7
|
-
|
6
|
+
IDCommitmentBigInt: bigint;
|
7
|
+
/**
|
8
|
+
* All variables are in little-endian format
|
9
|
+
*/
|
10
|
+
constructor(IDTrapdoor: Uint8Array, IDNullifier: Uint8Array, IDSecretHash: Uint8Array, IDCommitment: Uint8Array);
|
8
11
|
static fromBytes(memKeys: Uint8Array): IdentityCredential;
|
9
12
|
}
|
package/dist/identity.js
CHANGED
@@ -1,16 +1,20 @@
|
|
1
|
-
import {
|
1
|
+
import { BytesUtils } from "./utils/bytes.js";
|
2
2
|
export class IdentityCredential {
|
3
3
|
IDTrapdoor;
|
4
4
|
IDNullifier;
|
5
5
|
IDSecretHash;
|
6
6
|
IDCommitment;
|
7
7
|
IDCommitmentBigInt;
|
8
|
-
|
8
|
+
/**
|
9
|
+
* All variables are in little-endian format
|
10
|
+
*/
|
11
|
+
constructor(IDTrapdoor, IDNullifier, IDSecretHash, IDCommitment) {
|
9
12
|
this.IDTrapdoor = IDTrapdoor;
|
10
13
|
this.IDNullifier = IDNullifier;
|
11
14
|
this.IDSecretHash = IDSecretHash;
|
12
15
|
this.IDCommitment = IDCommitment;
|
13
|
-
this.IDCommitmentBigInt =
|
16
|
+
this.IDCommitmentBigInt =
|
17
|
+
BytesUtils.buildBigIntFromUint8ArrayBE(IDCommitment);
|
14
18
|
}
|
15
19
|
static fromBytes(memKeys) {
|
16
20
|
if (memKeys.length < 128) {
|
@@ -20,8 +24,7 @@ export class IdentityCredential {
|
|
20
24
|
const idNullifier = memKeys.subarray(32, 64);
|
21
25
|
const idSecretHash = memKeys.subarray(64, 96);
|
22
26
|
const idCommitment = memKeys.subarray(96, 128);
|
23
|
-
|
24
|
-
return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment, idCommitmentBigInt);
|
27
|
+
return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment);
|
25
28
|
}
|
26
29
|
}
|
27
30
|
//# sourceMappingURL=identity.js.map
|
package/dist/identity.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAMX;IACA;IACA;IACA;IARX,kBAAkB,CAAS;IAClC;;OAEG;IACH,YACkB,UAAsB,EACtB,WAAuB,EACvB,YAAwB,EACxB,YAAwB;QAHxB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAY;QACvB,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;QAExC,IAAI,CAAC,kBAAkB;YACrB,UAAU,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAAmB;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,kBAAkB,CAC3B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,CACb,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { RLNDecoder, RLNEncoder } from "./codec.js";
|
2
|
-
import { RLN_ABI } from "./contract/abi.js";
|
3
|
-
import {
|
2
|
+
import { RLN_ABI } from "./contract/abi/rln.js";
|
3
|
+
import { RLN_CONTRACT, RLNContract } from "./contract/index.js";
|
4
4
|
import { RLNBaseContract } from "./contract/rln_base_contract.js";
|
5
5
|
import { createRLN } from "./create.js";
|
6
6
|
import { RLNCredentialsManager } from "./credentials_manager.js";
|
@@ -10,6 +10,6 @@ import { Proof } from "./proof.js";
|
|
10
10
|
import { RLNInstance } from "./rln.js";
|
11
11
|
import { MerkleRootTracker } from "./root_tracker.js";
|
12
12
|
import { extractMetaMaskSigner } from "./utils/index.js";
|
13
|
-
export { RLNCredentialsManager, RLNBaseContract, createRLN, Keystore, RLNInstance, IdentityCredential, Proof, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract,
|
13
|
+
export { RLNCredentialsManager, RLNBaseContract, createRLN, Keystore, RLNInstance, IdentityCredential, Proof, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_CONTRACT, extractMetaMaskSigner, RLN_ABI };
|
14
14
|
export type { DecryptedCredentials, EncryptedCredentials, Keccak256Hash, KeystoreEntity, MembershipHash, KeystoreMembershipInfo, Password, Sha256Hash } from "./keystore/types.js";
|
15
15
|
export * from "./contract/index.js";
|
package/dist/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { RLNDecoder, RLNEncoder } from "./codec.js";
|
2
|
-
import { RLN_ABI } from "./contract/abi.js";
|
3
|
-
import {
|
2
|
+
import { RLN_ABI } from "./contract/abi/rln.js";
|
3
|
+
import { RLN_CONTRACT, RLNContract } from "./contract/index.js";
|
4
4
|
import { RLNBaseContract } from "./contract/rln_base_contract.js";
|
5
5
|
import { createRLN } from "./create.js";
|
6
6
|
import { RLNCredentialsManager } from "./credentials_manager.js";
|
@@ -10,6 +10,6 @@ import { Proof } from "./proof.js";
|
|
10
10
|
import { RLNInstance } from "./rln.js";
|
11
11
|
import { MerkleRootTracker } from "./root_tracker.js";
|
12
12
|
import { extractMetaMaskSigner } from "./utils/index.js";
|
13
|
-
export { RLNCredentialsManager, RLNBaseContract, createRLN, Keystore, RLNInstance, IdentityCredential, Proof, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract,
|
13
|
+
export { RLNCredentialsManager, RLNBaseContract, createRLN, Keystore, RLNInstance, IdentityCredential, Proof, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_CONTRACT, extractMetaMaskSigner, RLN_ABI };
|
14
14
|
export * from "./contract/index.js";
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,OAAO,EACR,CAAC;AAaF,cAAc,qBAAqB,CAAC"}
|
@@ -4,7 +4,7 @@ import { sha256 } from "ethereum-cryptography/sha256";
|
|
4
4
|
import { bytesToHex, bytesToUtf8, utf8ToBytes } from "ethereum-cryptography/utils";
|
5
5
|
import _ from "lodash";
|
6
6
|
import { v4 as uuidV4 } from "uuid";
|
7
|
-
import {
|
7
|
+
import { BytesUtils } from "../utils/bytes.js";
|
8
8
|
import { decryptEipKeystore, keccak256Checksum } from "./cipher.js";
|
9
9
|
import { isCredentialValid, isKeystoreValid } from "./schema_validator.js";
|
10
10
|
const log = new Logger("waku:rln:keystore");
|
@@ -147,14 +147,24 @@ export class Keystore {
|
|
147
147
|
try {
|
148
148
|
const str = bytesToUtf8(bytes);
|
149
149
|
const obj = JSON.parse(str);
|
150
|
-
//
|
150
|
+
// Little Endian
|
151
|
+
const idCommitmentLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []));
|
152
|
+
const idTrapdoorLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", []));
|
153
|
+
const idNullifierLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", []));
|
154
|
+
const idSecretHashLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", []));
|
155
|
+
// Big Endian
|
156
|
+
const idCommitmentBE = BytesUtils.switchEndianness(idCommitmentLE);
|
157
|
+
const idTrapdoorBE = BytesUtils.switchEndianness(idTrapdoorLE);
|
158
|
+
const idNullifierBE = BytesUtils.switchEndianness(idNullifierLE);
|
159
|
+
const idSecretHashBE = BytesUtils.switchEndianness(idSecretHashLE);
|
160
|
+
const idCommitmentBigInt = BytesUtils.buildBigIntFromUint8ArrayBE(idCommitmentBE);
|
151
161
|
return {
|
152
162
|
identity: {
|
153
|
-
IDCommitment:
|
154
|
-
IDTrapdoor:
|
155
|
-
IDNullifier:
|
156
|
-
|
157
|
-
|
163
|
+
IDCommitment: idCommitmentBE,
|
164
|
+
IDTrapdoor: idTrapdoorBE,
|
165
|
+
IDNullifier: idNullifierBE,
|
166
|
+
IDSecretHash: idSecretHashBE,
|
167
|
+
IDCommitmentBigInt: idCommitmentBigInt
|
158
168
|
},
|
159
169
|
membership: {
|
160
170
|
treeIndex: _.get(obj, "treeIndex"),
|
@@ -190,14 +200,31 @@ export class Keystore {
|
|
190
200
|
}
|
191
201
|
// follows nwaku implementation
|
192
202
|
// https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/protocol_types.nim#L98
|
203
|
+
// IdentityCredential is stored in Big Endian format => switch to Little Endian
|
193
204
|
static fromIdentityToBytes(options) {
|
205
|
+
const { IDCommitment, IDNullifier, IDSecretHash, IDTrapdoor } = options.identity;
|
206
|
+
const idCommitmentLE = BytesUtils.switchEndianness(IDCommitment);
|
207
|
+
const idNullifierLE = BytesUtils.switchEndianness(IDNullifier);
|
208
|
+
const idSecretHashLE = BytesUtils.switchEndianness(IDSecretHash);
|
209
|
+
const idTrapdoorLE = BytesUtils.switchEndianness(IDTrapdoor);
|
210
|
+
// eslint-disable-next-line no-console
|
211
|
+
console.log({
|
212
|
+
idCommitmentBE: IDCommitment,
|
213
|
+
idCommitmentLE,
|
214
|
+
idNullifierBE: IDNullifier,
|
215
|
+
idNullifierLE,
|
216
|
+
idSecretHashBE: IDSecretHash,
|
217
|
+
idSecretHashLE,
|
218
|
+
idTrapdoorBE: IDTrapdoor,
|
219
|
+
idTrapdoorLE
|
220
|
+
});
|
194
221
|
return utf8ToBytes(JSON.stringify({
|
195
222
|
treeIndex: options.membership.treeIndex,
|
196
223
|
identityCredential: {
|
197
|
-
idCommitment: Array.from(
|
198
|
-
idNullifier: Array.from(
|
199
|
-
idSecretHash: Array.from(
|
200
|
-
idTrapdoor: Array.from(
|
224
|
+
idCommitment: Array.from(idCommitmentLE),
|
225
|
+
idNullifier: Array.from(idNullifierLE),
|
226
|
+
idSecretHash: Array.from(idSecretHashLE),
|
227
|
+
idTrapdoor: Array.from(idTrapdoorLE)
|
201
228
|
},
|
202
229
|
membershipContract: {
|
203
230
|
chainId: options.membership.chainId,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"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"}
|
package/dist/proof.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { BytesUtils, poseidonHash } from "./utils/index.js";
|
2
2
|
const proofOffset = 128;
|
3
3
|
const rootOffset = proofOffset + 32;
|
4
4
|
const epochOffset = rootOffset + 32;
|
@@ -45,6 +45,6 @@ export class Proof {
|
|
45
45
|
}
|
46
46
|
}
|
47
47
|
export function proofToBytes(p) {
|
48
|
-
return concatenate(p.proof, p.merkleRoot, p.epoch, p.shareX, p.shareY, p.nullifier, p.rlnIdentifier);
|
48
|
+
return BytesUtils.concatenate(p.proof, p.merkleRoot, p.epoch, p.shareX, p.shareY, p.nullifier, p.rlnIdentifier);
|
49
49
|
}
|
50
50
|
//# sourceMappingURL=proof.js.map
|
package/dist/proof.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"proof.js","sourceRoot":"","sources":["../src/proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"proof.js","sourceRoot":"","sources":["../src/proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAC;AACpC,MAAM,WAAW,GAAG,UAAU,GAAG,EAAE,CAAC;AACpC,MAAM,YAAY,GAAG,WAAW,GAAG,EAAE,CAAC;AACtC,MAAM,YAAY,GAAG,YAAY,GAAG,EAAE,CAAC;AACvC,MAAM,eAAe,GAAG,YAAY,GAAG,EAAE,CAAC;AAC1C,MAAM,mBAAmB,GAAG,eAAe,GAAG,EAAE,CAAC;AAEjD,MAAM,aAAa;IAEC;IACA;IACA;IACA;IAJlB,YACkB,SAAqB,EACrB,MAAkB,EAClB,MAAkB,EAClB,iBAA6B;QAH7B,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAY;QAClB,WAAM,GAAN,MAAM,CAAY;QAClB,sBAAiB,GAAjB,iBAAiB,CAAY;IAC5C,CAAC;CACL;AAED,MAAM,OAAO,KAAK;IACA,KAAK,CAAa;IAClB,UAAU,CAAa;IACvB,KAAK,CAAa;IAClB,MAAM,CAAa;IACnB,MAAM,CAAa;IACnB,SAAS,CAAa;IACtB,aAAa,CAAa;IAE1C,YAAmB,UAAsB;QACvC,IAAI,UAAU,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QACD,wHAAwH;QACxH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,CACtC,eAAe,EACf,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAEM,eAAe;QACpB,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvE,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,iBAAiB,CAClB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,CAAkB;IAC7C,OAAO,UAAU,CAAC,WAAW,CAC3B,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,aAAa,CAChB,CAAC;AACJ,CAAC"}
|
package/dist/utils/bytes.d.ts
CHANGED
@@ -1,20 +1,42 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
1
|
+
export declare class BytesUtils {
|
2
|
+
/**
|
3
|
+
* Switches endianness of a byte array
|
4
|
+
*/
|
5
|
+
static switchEndianness(bytes: Uint8Array): Uint8Array;
|
6
|
+
/**
|
7
|
+
* Builds a BigInt from a big-endian Uint8Array
|
8
|
+
* @param bytes The big-endian bytes to convert
|
9
|
+
* @returns The resulting BigInt in big-endian format
|
10
|
+
*/
|
11
|
+
static buildBigIntFromUint8ArrayBE(bytes: Uint8Array): bigint;
|
12
|
+
/**
|
13
|
+
* Switches endianness of a bigint value
|
14
|
+
* @param value The bigint value to switch endianness for
|
15
|
+
* @returns The bigint value with reversed endianness
|
16
|
+
*/
|
17
|
+
static switchEndiannessBigInt(value: bigint): bigint;
|
18
|
+
/**
|
19
|
+
* Converts a big-endian bigint to a 32-byte big-endian Uint8Array
|
20
|
+
* @param value The big-endian bigint to convert
|
21
|
+
* @returns A 32-byte big-endian Uint8Array
|
22
|
+
*/
|
23
|
+
static bigIntToUint8Array32BE(value: bigint): Uint8Array;
|
24
|
+
/**
|
25
|
+
* Writes an unsigned integer to a buffer in little-endian format
|
26
|
+
*/
|
27
|
+
static writeUIntLE(buf: Uint8Array, value: number, offset: number, byteLength: number, noAssert?: boolean): Uint8Array;
|
28
|
+
/**
|
29
|
+
* Fills with zeros to set length
|
30
|
+
* @param array little endian Uint8Array
|
31
|
+
* @param length amount to pad
|
32
|
+
* @returns little endian Uint8Array padded with zeros to set length
|
33
|
+
*/
|
34
|
+
static zeroPadLE(array: Uint8Array, length: number): Uint8Array;
|
35
|
+
static checkInt(buf: Uint8Array, value: number, offset: number, ext: number, max: number, min: number): void;
|
36
|
+
/**
|
37
|
+
* Concatenate Uint8Arrays
|
38
|
+
* @param input
|
39
|
+
* @returns concatenation of all Uint8Array received as input
|
40
|
+
*/
|
41
|
+
static concatenate(...input: Uint8Array[]): Uint8Array;
|
42
|
+
}
|