@waku/rln 0.1.6-16328a3.0 → 0.1.6-383e0b2.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.
Files changed (89) hide show
  1. package/bundle/_virtual/index2.js +1 -1
  2. package/bundle/_virtual/utils.js +2 -2
  3. package/bundle/_virtual/utils2.js +2 -2
  4. package/bundle/index.js +1 -2
  5. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +1 -1
  6. package/bundle/node_modules/{js-sha3 → @ethersproject/keccak256/node_modules/js-sha3}/src/sha3.js +2 -2
  7. package/bundle/node_modules/@noble/hashes/esm/_assert.js +32 -6
  8. package/bundle/node_modules/@noble/hashes/esm/_md.js +11 -22
  9. package/bundle/node_modules/@noble/hashes/esm/_u64.js +3 -4
  10. package/bundle/node_modules/@noble/hashes/esm/sha256.js +102 -5
  11. package/bundle/node_modules/@noble/hashes/esm/sha3.js +24 -30
  12. package/bundle/node_modules/@noble/hashes/esm/utils.js +18 -69
  13. package/bundle/node_modules/bn.js/lib/bn.js +0 -1
  14. package/bundle/node_modules/ethereum-cryptography/esm/sha256.js +1 -1
  15. package/bundle/packages/rln/dist/contract/constants.js +0 -1
  16. package/bundle/packages/rln/dist/contract/rln_base_contract.js +71 -127
  17. package/bundle/packages/rln/dist/credentials_manager.js +3 -3
  18. package/bundle/packages/rln/dist/keystore/cipher.js +3 -3
  19. package/bundle/packages/rln/dist/keystore/keystore.js +1 -1
  20. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/checksum.js +3 -3
  21. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/cipher.js +4 -4
  22. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/class.js +7 -7
  23. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/functional.js +7 -7
  24. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/index.js +6 -6
  25. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/kdf.js +5 -5
  26. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/password.js +1 -1
  27. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/schema-validation-generated.js +1 -1
  28. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/schema-validation.js +2 -2
  29. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/types.js +1 -1
  30. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/aes.js +3 -3
  31. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/pbkdf2.js +7 -7
  32. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +3 -3
  33. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/scrypt.js +3 -3
  34. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/sha256.js +3 -3
  35. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +7 -7
  36. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_assert.js +1 -1
  37. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_sha2.js +3 -3
  38. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_u64.js +1 -1
  39. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/cryptoBrowser.js +1 -1
  40. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_assert.js +43 -0
  41. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_sha2.js +116 -0
  42. package/bundle/{node_modules → packages/rln/node_modules}/@noble/hashes/esm/hmac.js +10 -19
  43. package/bundle/{node_modules/@noble/hashes/esm/sha2.js → packages/rln/node_modules/@noble/hashes/esm/sha256.js} +50 -36
  44. package/bundle/packages/rln/node_modules/@noble/hashes/esm/utils.js +43 -0
  45. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/hmac.js +3 -3
  46. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/pbkdf2.js +4 -4
  47. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/scrypt.js +5 -5
  48. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/sha256.js +3 -3
  49. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/sha512.js +4 -4
  50. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/utils.js +2 -2
  51. package/dist/.tsbuildinfo +1 -1
  52. package/dist/contract/index.d.ts +0 -1
  53. package/dist/contract/index.js +0 -1
  54. package/dist/contract/index.js.map +1 -1
  55. package/dist/contract/rln_base_contract.d.ts +22 -32
  56. package/dist/contract/rln_base_contract.js +71 -127
  57. package/dist/contract/rln_base_contract.js.map +1 -1
  58. package/dist/contract/types.d.ts +0 -5
  59. package/dist/contract/types.js.map +1 -1
  60. package/dist/credentials_manager.js +1 -1
  61. package/dist/credentials_manager.js.map +1 -1
  62. package/dist/index.d.ts +1 -2
  63. package/dist/index.js +0 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/keystore/keystore.js.map +1 -1
  66. package/dist/keystore/types.d.ts +2 -2
  67. package/package.json +1 -1
  68. package/src/contract/index.ts +0 -1
  69. package/src/contract/rln_base_contract.ts +102 -166
  70. package/src/contract/types.ts +0 -5
  71. package/src/credentials_manager.ts +1 -1
  72. package/src/index.ts +1 -3
  73. package/src/keystore/keystore.ts +2 -4
  74. package/src/keystore/types.ts +2 -2
  75. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/index.js +0 -0
  76. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/md5.js +0 -0
  77. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/nil.js +0 -0
  78. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/parse.js +0 -0
  79. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/regex.js +0 -0
  80. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/rng.js +0 -0
  81. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/sha1.js +0 -0
  82. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/stringify.js +0 -0
  83. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v1.js +0 -0
  84. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v3.js +0 -0
  85. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v35.js +0 -0
  86. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v4.js +0 -0
  87. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v5.js +0 -0
  88. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/validate.js +0 -0
  89. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/version.js +0 -0
@@ -24,32 +24,15 @@ class RLNBaseContract {
24
24
  contract;
25
25
  deployBlock;
26
26
  rateLimit;
27
- minRateLimit;
28
- maxRateLimit;
29
27
  _members = new Map();
30
28
  _membersFilter;
31
29
  _membershipErasedFilter;
32
30
  _membersExpiredFilter;
33
31
  /**
34
- * Private constructor for RLNBaseContract. Use static create() instead.
32
+ * Constructor for RLNBaseContract.
33
+ * Allows injecting a mocked contract for testing purposes.
35
34
  */
36
35
  constructor(options) {
37
- const { address, signer, rateLimit = DEFAULT_RATE_LIMIT, contract } = options;
38
- log.info("Initializing RLNBaseContract", { address, rateLimit });
39
- this.contract = contract || new Contract(address, RLN_ABI, signer);
40
- this.rateLimit = rateLimit;
41
- try {
42
- log.info("Setting up event filters");
43
- // Initialize event filters
44
- this._membersFilter = this.contract.filters.MembershipRegistered();
45
- this._membershipErasedFilter = this.contract.filters.MembershipErased();
46
- this._membersExpiredFilter = this.contract.filters.MembershipExpired();
47
- log.info("Event filters initialized successfully");
48
- }
49
- catch (error) {
50
- log.error("Failed to initialize event filters", { error });
51
- throw new Error("Failed to initialize event filters: " + error.message);
52
- }
53
36
  // Initialize members and subscriptions
54
37
  this.fetchMembers()
55
38
  .then(() => {
@@ -58,20 +41,14 @@ class RLNBaseContract {
58
41
  .catch((error) => {
59
42
  log.error("Failed to initialize members", { error });
60
43
  });
61
- }
62
- /**
63
- * Static async factory to create and initialize RLNBaseContract
64
- */
65
- static async create(options) {
66
- const instance = new RLNBaseContract(options);
67
- const [min, max] = await Promise.all([
68
- instance.contract.minMembershipRateLimit(),
69
- instance.contract.maxMembershipRateLimit()
70
- ]);
71
- instance.minRateLimit = BigNumber.from(min).toNumber();
72
- instance.maxRateLimit = BigNumber.from(max).toNumber();
73
- instance.validateRateLimit(instance.rateLimit);
74
- return instance;
44
+ const { address, signer, rateLimit = DEFAULT_RATE_LIMIT, contract } = options;
45
+ this.validateRateLimit(rateLimit);
46
+ this.contract = contract || new Contract(address, RLN_ABI, signer);
47
+ this.rateLimit = rateLimit;
48
+ // Initialize event filters
49
+ this._membersFilter = this.contract.filters.MembershipRegistered();
50
+ this._membershipErasedFilter = this.contract.filters.MembershipErased();
51
+ this._membersExpiredFilter = this.contract.filters.MembershipExpired();
75
52
  }
76
53
  /**
77
54
  * Gets the current rate limit for this contract instance
@@ -92,20 +69,20 @@ class RLNBaseContract {
92
69
  return this.contract.provider;
93
70
  }
94
71
  /**
95
- * Gets the minimum allowed rate limit (cached)
72
+ * Gets the minimum allowed rate limit from the contract
73
+ * @returns Promise<number> The minimum rate limit in messages per epoch
96
74
  */
97
- getMinRateLimit() {
98
- if (this.minRateLimit === undefined)
99
- throw new Error("minRateLimit not initialized");
100
- return this.minRateLimit;
75
+ async getMinRateLimit() {
76
+ const minRate = await this.contract.minMembershipRateLimit();
77
+ return BigNumber.from(minRate).toNumber();
101
78
  }
102
79
  /**
103
- * Gets the maximum allowed rate limit (cached)
80
+ * Gets the maximum allowed rate limit from the contract
81
+ * @returns Promise<number> The maximum rate limit in messages per epoch
104
82
  */
105
- getMaxRateLimit() {
106
- if (this.maxRateLimit === undefined)
107
- throw new Error("maxRateLimit not initialized");
108
- return this.maxRateLimit;
83
+ async getMaxRateLimit() {
84
+ const maxRate = await this.contract.maxMembershipRateLimit();
85
+ return BigNumber.from(maxRate).toNumber();
109
86
  }
110
87
  /**
111
88
  * Gets the maximum total rate limit across all memberships
@@ -138,7 +115,7 @@ class RLNBaseContract {
138
115
  * Updates the rate limit for future registrations
139
116
  * @param newRateLimit The new rate limit to use
140
117
  */
141
- setRateLimit(newRateLimit) {
118
+ async setRateLimit(newRateLimit) {
142
119
  this.validateRateLimit(newRateLimit);
143
120
  this.rateLimit = newRateLimit;
144
121
  }
@@ -270,67 +247,75 @@ class RLNBaseContract {
270
247
  this.processEvents([event]);
271
248
  });
272
249
  }
273
- async getMembershipInfo(idCommitmentBigInt) {
250
+ /**
251
+ * Helper method to get remaining messages in current epoch
252
+ * @param membershipId The ID of the membership to check
253
+ * @returns number of remaining messages allowed in current epoch
254
+ */
255
+ async getRemainingMessages(membershipId) {
256
+ try {
257
+ const [startTime, , rateLimit] = await this.contract.getMembershipInfo(membershipId);
258
+ // Calculate current epoch
259
+ const currentTime = Math.floor(Date.now() / 1000);
260
+ const epochsPassed = Math.floor((currentTime - startTime) / RATE_LIMIT_PARAMS.EPOCH_LENGTH);
261
+ const currentEpochStart = startTime + epochsPassed * RATE_LIMIT_PARAMS.EPOCH_LENGTH;
262
+ // Get message count in current epoch using contract's function
263
+ const messageCount = await this.contract.getMessageCount(membershipId, currentEpochStart);
264
+ return Math.max(0, BigNumber.from(rateLimit)
265
+ .sub(BigNumber.from(messageCount))
266
+ .toNumber());
267
+ }
268
+ catch (error) {
269
+ log.error(`Error getting remaining messages: ${error.message}`);
270
+ return 0; // Fail safe: assume no messages remaining on error
271
+ }
272
+ }
273
+ async getMembershipInfo(idCommitment) {
274
274
  try {
275
- const membershipData = await this.contract.memberships(idCommitmentBigInt);
275
+ const [startBlock, endBlock, rateLimit] = await this.contract.getMembershipInfo(idCommitment);
276
276
  const currentBlock = await this.contract.provider.getBlockNumber();
277
- const [depositAmount, activeDuration, gracePeriodStartTimestamp, gracePeriodDuration, rateLimit, index, holder, token] = membershipData;
278
- const gracePeriodEnd = gracePeriodStartTimestamp.add(gracePeriodDuration);
279
277
  let state;
280
- if (currentBlock < gracePeriodStartTimestamp.toNumber()) {
278
+ if (currentBlock < startBlock) {
281
279
  state = MembershipState.Active;
282
280
  }
283
- else if (currentBlock < gracePeriodEnd.toNumber()) {
281
+ else if (currentBlock < endBlock) {
284
282
  state = MembershipState.GracePeriod;
285
283
  }
286
284
  else {
287
285
  state = MembershipState.Expired;
288
286
  }
287
+ const index = await this.getMemberIndex(idCommitment);
288
+ if (!index)
289
+ return undefined;
289
290
  return {
290
291
  index,
291
- idCommitment: idCommitmentBigInt.toString(),
292
- rateLimit: Number(rateLimit),
293
- startBlock: gracePeriodStartTimestamp.toNumber(),
294
- endBlock: gracePeriodEnd.toNumber(),
295
- state,
296
- depositAmount,
297
- activeDuration,
298
- gracePeriodDuration,
299
- holder,
300
- token
292
+ idCommitment,
293
+ rateLimit: rateLimit.toNumber(),
294
+ startBlock: startBlock.toNumber(),
295
+ endBlock: endBlock.toNumber(),
296
+ state
301
297
  };
302
298
  }
303
299
  catch (error) {
304
- log.error("Error in getMembershipInfo:", error);
305
300
  return undefined;
306
301
  }
307
302
  }
308
- async extendMembership(idCommitmentBigInt) {
309
- const tx = await this.contract.extendMemberships([idCommitmentBigInt]);
310
- await tx.wait();
311
- return tx;
303
+ async extendMembership(idCommitment) {
304
+ return this.contract.extendMemberships([idCommitment]);
312
305
  }
313
- async eraseMembership(idCommitmentBigInt, eraseFromMembershipSet = true) {
314
- if (!(await this.isExpired(idCommitmentBigInt)) ||
315
- !(await this.isInGracePeriod(idCommitmentBigInt))) {
316
- throw new Error("Membership is not expired or in grace period");
317
- }
318
- const estimatedGas = await this.contract.estimateGas["eraseMemberships(uint256[],bool)"]([idCommitmentBigInt], eraseFromMembershipSet);
319
- const gasLimit = estimatedGas.add(10000);
320
- const tx = await this.contract["eraseMemberships(uint256[],bool)"]([idCommitmentBigInt], eraseFromMembershipSet, { gasLimit });
321
- await tx.wait();
322
- return tx;
306
+ async eraseMembership(idCommitment, eraseFromMembershipSet = true) {
307
+ return this.contract.eraseMemberships([idCommitment], eraseFromMembershipSet);
323
308
  }
324
- async registerMembership(idCommitmentBigInt, rateLimit = DEFAULT_RATE_LIMIT) {
309
+ async registerMembership(idCommitment, rateLimit = DEFAULT_RATE_LIMIT) {
325
310
  if (rateLimit < RATE_LIMIT_PARAMS.MIN_RATE ||
326
311
  rateLimit > RATE_LIMIT_PARAMS.MAX_RATE) {
327
312
  throw new Error(`Rate limit must be between ${RATE_LIMIT_PARAMS.MIN_RATE} and ${RATE_LIMIT_PARAMS.MAX_RATE}`);
328
313
  }
329
- return this.contract.register(idCommitmentBigInt, rateLimit, []);
314
+ return this.contract.register(idCommitment, rateLimit, []);
330
315
  }
331
- async withdraw(token, walletAddress) {
316
+ async withdraw(token, holder) {
332
317
  try {
333
- const tx = await this.contract.withdraw(token, walletAddress);
318
+ const tx = await this.contract.withdraw(token, { from: holder });
334
319
  await tx.wait();
335
320
  }
336
321
  catch (error) {
@@ -341,7 +326,7 @@ class RLNBaseContract {
341
326
  try {
342
327
  log.info(`Registering identity with rate limit: ${this.rateLimit} messages/epoch`);
343
328
  // Check if the ID commitment is already registered
344
- const existingIndex = await this.getMemberIndex(identity.IDCommitmentBigInt);
329
+ const existingIndex = await this.getMemberIndex(identity.IDCommitmentBigInt.toString());
345
330
  if (existingIndex) {
346
331
  throw new Error(`ID commitment is already registered with index ${existingIndex}`);
347
332
  }
@@ -447,15 +432,13 @@ class RLNBaseContract {
447
432
  }
448
433
  }
449
434
  /**
450
- * Validates that the rate limit is within the allowed range (sync)
435
+ * Validates that the rate limit is within the allowed range
451
436
  * @throws Error if the rate limit is outside the allowed range
452
437
  */
453
438
  validateRateLimit(rateLimit) {
454
- if (this.minRateLimit === undefined || this.maxRateLimit === undefined) {
455
- throw new Error("Rate limits not initialized");
456
- }
457
- if (rateLimit < this.minRateLimit || rateLimit > this.maxRateLimit) {
458
- throw new Error(`Rate limit must be between ${this.minRateLimit} and ${this.maxRateLimit} messages per epoch`);
439
+ if (rateLimit < RATE_LIMIT_PARAMS.MIN_RATE ||
440
+ rateLimit > RATE_LIMIT_PARAMS.MAX_RATE) {
441
+ throw new Error(`Rate limit must be between ${RATE_LIMIT_PARAMS.MIN_RATE} and ${RATE_LIMIT_PARAMS.MAX_RATE} messages per epoch`);
459
442
  }
460
443
  }
461
444
  get membersFilter() {
@@ -476,9 +459,9 @@ class RLNBaseContract {
476
459
  }
477
460
  return this._membersExpiredFilter;
478
461
  }
479
- async getMemberIndex(idCommitmentBigInt) {
462
+ async getMemberIndex(idCommitment) {
480
463
  try {
481
- const events = await this.contract.queryFilter(this.contract.filters.MembershipRegistered(idCommitmentBigInt));
464
+ const events = await this.contract.queryFilter(this.contract.filters.MembershipRegistered(idCommitment));
482
465
  if (events.length === 0)
483
466
  return undefined;
484
467
  // Get the most recent registration event
@@ -489,45 +472,6 @@ class RLNBaseContract {
489
472
  return undefined;
490
473
  }
491
474
  }
492
- async getMembershipStatus(idCommitment) {
493
- const [isExpired, isInGrace] = await Promise.all([
494
- this.contract.isExpired(idCommitment),
495
- this.contract.isInGracePeriod(idCommitment)
496
- ]);
497
- if (isExpired)
498
- return "expired";
499
- if (isInGrace)
500
- return "grace";
501
- return "active";
502
- }
503
- /**
504
- * Checks if a membership is expired for the given idCommitment
505
- * @param idCommitmentBigInt The idCommitment as bigint
506
- * @returns Promise<boolean> True if expired, false otherwise
507
- */
508
- async isExpired(idCommitmentBigInt) {
509
- try {
510
- return await this.contract.isExpired(idCommitmentBigInt);
511
- }
512
- catch (error) {
513
- log.error("Error in isExpired:", error);
514
- return false;
515
- }
516
- }
517
- /**
518
- * Checks if a membership is in grace period for the given idCommitment
519
- * @param idCommitmentBigInt The idCommitment as bigint
520
- * @returns Promise<boolean> True if in grace period, false otherwise
521
- */
522
- async isInGracePeriod(idCommitmentBigInt) {
523
- try {
524
- return await this.contract.isInGracePeriod(idCommitmentBigInt);
525
- }
526
- catch (error) {
527
- log.error("Error in isInGracePeriod:", error);
528
- return false;
529
- }
530
- }
531
475
  }
532
476
 
533
477
  export { RLNBaseContract };
@@ -1,5 +1,5 @@
1
- import { hmac } from '../../../node_modules/@noble/hashes/esm/hmac.js';
2
- import { sha256 } from '../../../node_modules/@noble/hashes/esm/sha256.js';
1
+ import { hmac } from '../node_modules/@noble/hashes/esm/hmac.js';
2
+ import { sha256 } from '../node_modules/@noble/hashes/esm/sha256.js';
3
3
  import '../../interfaces/dist/protocols.js';
4
4
  import '../../interfaces/dist/connection_manager.js';
5
5
  import '../../interfaces/dist/health_indicator.js';
@@ -64,7 +64,7 @@ class RLNCredentialsManager {
64
64
  }
65
65
  this.credentials = credentials;
66
66
  this.signer = signer;
67
- this.contract = await RLNBaseContract.create({
67
+ this.contract = new RLNBaseContract({
68
68
  address: address,
69
69
  signer: signer,
70
70
  rateLimit: rateLimit ?? this.zerokit?.rateLimit
@@ -1,6 +1,6 @@
1
- import { cipherDecrypt as cipherDecrypt_1 } from '../../../../node_modules/@chainsafe/bls-keystore/lib/cipher.js';
2
- import { kdf as kdf_2 } from '../../../../node_modules/@chainsafe/bls-keystore/lib/kdf.js';
3
- import { normalizePassword as normalizePassword_1 } from '../../../../node_modules/@chainsafe/bls-keystore/lib/password.js';
1
+ import { cipherDecrypt as cipherDecrypt_1 } from '../../node_modules/@chainsafe/bls-keystore/lib/cipher.js';
2
+ import { kdf as kdf_2 } from '../../node_modules/@chainsafe/bls-keystore/lib/kdf.js';
3
+ import { normalizePassword as normalizePassword_1 } from '../../node_modules/@chainsafe/bls-keystore/lib/password.js';
4
4
  import { keccak256 } from '../../../../node_modules/ethereum-cryptography/esm/keccak.js';
5
5
  import { hexToBytes } from '../../../../node_modules/ethereum-cryptography/esm/utils.js';
6
6
  import { concatBytes, bytesToHex } from '../../../../node_modules/@noble/hashes/esm/utils.js';
@@ -1,4 +1,4 @@
1
- import '../../../../node_modules/@chainsafe/bls-keystore/lib/index.js';
1
+ import '../../node_modules/@chainsafe/bls-keystore/lib/index.js';
2
2
  import '../../../interfaces/dist/protocols.js';
3
3
  import '../../../interfaces/dist/connection_manager.js';
4
4
  import '../../../interfaces/dist/health_indicator.js';
@@ -1,8 +1,8 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as checksum$1 } from '../../../../_virtual/checksum.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as checksum$1 } from '../../../../../../_virtual/checksum.js';
3
3
  import '../node_modules/ethereum-cryptography/sha256.js';
4
4
  import { u as utilsExports } from '../node_modules/ethereum-cryptography/utils.js';
5
- import { __exports as sha256 } from '../../../../_virtual/sha256.js';
5
+ import { __exports as sha256 } from '../../../../../../_virtual/sha256.js';
6
6
 
7
7
  var __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8
8
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1,10 +1,10 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as cipher } from '../../../../_virtual/cipher.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as cipher } from '../../../../../../_virtual/cipher.js';
3
3
  import '../node_modules/ethereum-cryptography/random.js';
4
4
  import '../node_modules/ethereum-cryptography/aes.js';
5
5
  import { u as utilsExports } from '../node_modules/ethereum-cryptography/utils.js';
6
- import { __exports as random } from '../../../../_virtual/random.js';
7
- import { __exports as aes } from '../../../../_virtual/aes.js';
6
+ import { __exports as random } from '../../../../../../_virtual/random.js';
7
+ import { __exports as aes } from '../../../../../../_virtual/aes.js';
8
8
 
9
9
  var __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
10
10
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1,15 +1,15 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as _class } from '../../../../_virtual/class.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as _class } from '../../../../../../_virtual/class.js';
3
3
  import './kdf.js';
4
4
  import './checksum.js';
5
5
  import './cipher.js';
6
6
  import './functional.js';
7
7
  import './schema-validation.js';
8
- import { __exports as kdf } from '../../../../_virtual/kdf.js';
9
- import { __exports as checksum } from '../../../../_virtual/checksum.js';
10
- import { __exports as cipher } from '../../../../_virtual/cipher.js';
11
- import { __exports as functional } from '../../../../_virtual/functional.js';
12
- import { __exports as schemaValidation } from '../../../../_virtual/schema-validation.js';
8
+ import { __exports as kdf } from '../../../../../../_virtual/kdf.js';
9
+ import { __exports as checksum } from '../../../../../../_virtual/checksum.js';
10
+ import { __exports as cipher } from '../../../../../../_virtual/cipher.js';
11
+ import { __exports as functional } from '../../../../../../_virtual/functional.js';
12
+ import { __exports as schemaValidation } from '../../../../../../_virtual/schema-validation.js';
13
13
 
14
14
  var __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
15
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1,15 +1,15 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as functional } from '../../../../_virtual/functional.js';
3
- import require$$0 from '../../../../_virtual/index2.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as functional } from '../../../../../../_virtual/functional.js';
3
+ import require$$0 from '../../../../../../_virtual/index2.js';
4
4
  import './kdf.js';
5
5
  import './checksum.js';
6
6
  import './cipher.js';
7
7
  import './password.js';
8
8
  import { u as utilsExports } from '../node_modules/ethereum-cryptography/utils.js';
9
- import { __exports as kdf } from '../../../../_virtual/kdf.js';
10
- import { __exports as checksum } from '../../../../_virtual/checksum.js';
11
- import { __exports as cipher } from '../../../../_virtual/cipher.js';
12
- import { __exports as password } from '../../../../_virtual/password.js';
9
+ import { __exports as kdf } from '../../../../../../_virtual/kdf.js';
10
+ import { __exports as checksum } from '../../../../../../_virtual/checksum.js';
11
+ import { __exports as cipher } from '../../../../../../_virtual/cipher.js';
12
+ import { __exports as password } from '../../../../../../_virtual/password.js';
13
13
 
14
14
  (function (exports) {
15
15
  var __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1,13 +1,13 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as lib } from '../../../../_virtual/index.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as lib } from '../../../../../../_virtual/index.js';
3
3
  import './types.js';
4
4
  import './functional.js';
5
5
  import './class.js';
6
6
  import './schema-validation.js';
7
- import { __exports as types } from '../../../../_virtual/types.js';
8
- import { __exports as functional } from '../../../../_virtual/functional.js';
9
- import { __exports as _class } from '../../../../_virtual/class.js';
10
- import { __exports as schemaValidation } from '../../../../_virtual/schema-validation.js';
7
+ import { __exports as types } from '../../../../../../_virtual/types.js';
8
+ import { __exports as functional } from '../../../../../../_virtual/functional.js';
9
+ import { __exports as _class } from '../../../../../../_virtual/class.js';
10
+ import { __exports as schemaValidation } from '../../../../../../_virtual/schema-validation.js';
11
11
 
12
12
  (function (exports) {
13
13
  var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -1,12 +1,12 @@
1
- import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as kdf$1 } from '../../../../_virtual/kdf.js';
1
+ import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { __exports as kdf$1 } from '../../../../../../_virtual/kdf.js';
3
3
  import '../node_modules/ethereum-cryptography/random.js';
4
4
  import '../node_modules/ethereum-cryptography/pbkdf2.js';
5
5
  import '../node_modules/ethereum-cryptography/scrypt.js';
6
6
  import { u as utilsExports } from '../node_modules/ethereum-cryptography/utils.js';
7
- import { __exports as random } from '../../../../_virtual/random.js';
8
- import { __exports as pbkdf2 } from '../../../../_virtual/pbkdf2.js';
9
- import { __exports as scrypt } from '../../../../_virtual/scrypt.js';
7
+ import { __exports as random } from '../../../../../../_virtual/random.js';
8
+ import { __exports as pbkdf2 } from '../../../../../../_virtual/pbkdf2.js';
9
+ import { __exports as scrypt } from '../../../../../../_virtual/scrypt.js';
10
10
 
11
11
  var __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
12
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1,4 +1,4 @@
1
- import { __exports as password } from '../../../../_virtual/password.js';
1
+ import { __exports as password } from '../../../../../../_virtual/password.js';
2
2
  import { u as utilsExports } from '../node_modules/ethereum-cryptography/utils.js';
3
3
 
4
4
  Object.defineProperty(password, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { __exports as schemaValidationGenerated } from '../../../../_virtual/schema-validation-generated.js';
1
+ import { __exports as schemaValidationGenerated } from '../../../../../../_virtual/schema-validation-generated.js';
2
2
 
3
3
  Object.defineProperty(schemaValidationGenerated, "__esModule", { value: true });
4
4
  schemaValidationGenerated.Keystore = void 0;
@@ -1,6 +1,6 @@
1
- import { __exports as schemaValidation } from '../../../../_virtual/schema-validation.js';
1
+ import { __exports as schemaValidation } from '../../../../../../_virtual/schema-validation.js';
2
2
  import './schema-validation-generated.js';
3
- import { __exports as schemaValidationGenerated } from '../../../../_virtual/schema-validation-generated.js';
3
+ import { __exports as schemaValidationGenerated } from '../../../../../../_virtual/schema-validation-generated.js';
4
4
 
5
5
  Object.defineProperty(schemaValidation, "__esModule", { value: true });
6
6
  schemaValidation.isValidKeystore = schemaValidation.validateKeystore = schemaValidation.schemaValidationErrors = void 0;
@@ -1,4 +1,4 @@
1
- import { __exports as types } from '../../../../_virtual/types.js';
1
+ import { __exports as types } from '../../../../../../_virtual/types.js';
2
2
 
3
3
  Object.defineProperty(types, "__esModule", { value: true });
4
4
 
@@ -1,7 +1,7 @@
1
- import { __exports as aes } from '../../../../../_virtual/aes.js';
2
- import '../@noble/hashes/cryptoBrowser.js';
1
+ import { __exports as aes } from '../../../../../../../_virtual/aes.js';
2
+ import '../../../../@noble/hashes/cryptoBrowser.js';
3
3
  import { u as utilsExports } from './utils.js';
4
- import { __exports as cryptoBrowser } from '../../../../../_virtual/cryptoBrowser.js';
4
+ import { __exports as cryptoBrowser } from '../../../../../../../_virtual/cryptoBrowser.js';
5
5
 
6
6
  Object.defineProperty(aes, "__esModule", { value: true });
7
7
  aes.decrypt = aes.encrypt = void 0;
@@ -1,11 +1,11 @@
1
- import { __exports as pbkdf2$1 } from '../../../../../_virtual/pbkdf2.js';
2
- import '../@noble/hashes/pbkdf2.js';
3
- import '../@noble/hashes/sha256.js';
4
- import '../@noble/hashes/sha512.js';
1
+ import { __exports as pbkdf2$1 } from '../../../../../../../_virtual/pbkdf2.js';
2
+ import '../../../../@noble/hashes/pbkdf2.js';
3
+ import '../../../../@noble/hashes/sha256.js';
4
+ import '../../../../@noble/hashes/sha512.js';
5
5
  import { u as utilsExports } from './utils.js';
6
- import { __exports as pbkdf2$2 } from '../../../../../_virtual/pbkdf22.js';
7
- import { __exports as sha256 } from '../../../../../_virtual/sha2562.js';
8
- import { __exports as sha512 } from '../../../../../_virtual/sha512.js';
6
+ import { __exports as pbkdf2$2 } from '../../../../../../../_virtual/pbkdf22.js';
7
+ import { __exports as sha256 } from '../../../../../../../_virtual/sha2562.js';
8
+ import { __exports as sha512 } from '../../../../../../../_virtual/sha512.js';
9
9
 
10
10
  Object.defineProperty(pbkdf2$1, "__esModule", { value: true });
11
11
  pbkdf2$1.pbkdf2Sync = pbkdf2$1.pbkdf2 = void 0;
@@ -1,6 +1,6 @@
1
- import { __exports as random } from '../../../../../_virtual/random.js';
2
- import '../@noble/hashes/utils.js';
3
- import { __exports as utils } from '../../../../../_virtual/utils2.js';
1
+ import { __exports as random } from '../../../../../../../_virtual/random.js';
2
+ import '../../../../@noble/hashes/utils.js';
3
+ import { __exports as utils } from '../../../../../../../_virtual/utils.js';
4
4
 
5
5
  Object.defineProperty(random, "__esModule", { value: true });
6
6
  random.getRandomBytes = random.getRandomBytesSync = void 0;
@@ -1,7 +1,7 @@
1
- import { __exports as scrypt$1 } from '../../../../../_virtual/scrypt.js';
2
- import '../@noble/hashes/scrypt.js';
1
+ import { __exports as scrypt$1 } from '../../../../../../../_virtual/scrypt.js';
2
+ import '../../../../@noble/hashes/scrypt.js';
3
3
  import { u as utilsExports } from './utils.js';
4
- import { __exports as scrypt$2 } from '../../../../../_virtual/scrypt2.js';
4
+ import { __exports as scrypt$2 } from '../../../../../../../_virtual/scrypt2.js';
5
5
 
6
6
  Object.defineProperty(scrypt$1, "__esModule", { value: true });
7
7
  scrypt$1.scryptSync = scrypt$1.scrypt = void 0;
@@ -1,7 +1,7 @@
1
- import { __exports as sha256 } from '../../../../../_virtual/sha256.js';
2
- import '../@noble/hashes/sha256.js';
1
+ import { __exports as sha256 } from '../../../../../../../_virtual/sha256.js';
2
+ import '../../../../@noble/hashes/sha256.js';
3
3
  import { u as utilsExports } from './utils.js';
4
- import { __exports as sha256$1 } from '../../../../../_virtual/sha2562.js';
4
+ import { __exports as sha256$1 } from '../../../../../../../_virtual/sha2562.js';
5
5
 
6
6
  Object.defineProperty(sha256, "__esModule", { value: true });
7
7
  sha256.sha256 = void 0;
@@ -1,10 +1,10 @@
1
- import { commonjsGlobal } from '../../../../../_virtual/_commonjsHelpers.js';
2
- import { commonjsRequire } from '../../../../../_virtual/_commonjs-dynamic-modules.js';
3
- import { __module as utils } from '../../../../../_virtual/utils.js';
4
- import '../@noble/hashes/_assert.js';
5
- import '../@noble/hashes/utils.js';
6
- import { __exports as _assert } from '../../../../../_virtual/_assert.js';
7
- import { __exports as utils$1 } from '../../../../../_virtual/utils2.js';
1
+ import { commonjsGlobal } from '../../../../../../../_virtual/_commonjsHelpers.js';
2
+ import { commonjsRequire } from '../../../../../../../_virtual/_commonjs-dynamic-modules.js';
3
+ import { __module as utils } from '../../../../../../../_virtual/utils2.js';
4
+ import '../../../../@noble/hashes/_assert.js';
5
+ import '../../../../@noble/hashes/utils.js';
6
+ import { __exports as _assert } from '../../../../../../../_virtual/_assert.js';
7
+ import { __exports as utils$1 } from '../../../../../../../_virtual/utils.js';
8
8
 
9
9
  utils.exports;
10
10
 
@@ -1,4 +1,4 @@
1
- import { __exports as _assert } from '../../../../../../_virtual/_assert.js';
1
+ import { __exports as _assert } from '../../../../../_virtual/_assert.js';
2
2
 
3
3
  Object.defineProperty(_assert, "__esModule", { value: true });
4
4
  _assert.output = _assert.exists = _assert.hash = _assert.bytes = _assert.bool = _assert.number = void 0;
@@ -1,8 +1,8 @@
1
- import { __exports as _sha2 } from '../../../../../../_virtual/_sha2.js';
1
+ import { __exports as _sha2 } from '../../../../../_virtual/_sha2.js';
2
2
  import './_assert.js';
3
3
  import './utils.js';
4
- import { __exports as utils } from '../../../../../../_virtual/utils2.js';
5
- import { __exports as _assert } from '../../../../../../_virtual/_assert.js';
4
+ import { __exports as utils } from '../../../../../_virtual/utils.js';
5
+ import { __exports as _assert } from '../../../../../_virtual/_assert.js';
6
6
 
7
7
  Object.defineProperty(_sha2, "__esModule", { value: true });
8
8
  _sha2.SHA2 = void 0;
@@ -1,4 +1,4 @@
1
- import { __exports as _u64 } from '../../../../../../_virtual/_u64.js';
1
+ import { __exports as _u64 } from '../../../../../_virtual/_u64.js';
2
2
 
3
3
  (function (exports) {
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { __exports as cryptoBrowser } from '../../../../../../_virtual/cryptoBrowser.js';
1
+ import { __exports as cryptoBrowser } from '../../../../../_virtual/cryptoBrowser.js';
2
2
 
3
3
  Object.defineProperty(cryptoBrowser, "__esModule", { value: true });
4
4
  cryptoBrowser.crypto = void 0;