@waku/rln 0.1.5-9901863.0 → 0.1.5-a824fff.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 (142) hide show
  1. package/bundle/index.js +2 -1
  2. package/bundle/packages/rln/dist/contract/constants.js +2 -1
  3. package/bundle/packages/rln/dist/contract/rln_base_contract.js +70 -65
  4. package/bundle/packages/rln/dist/contract/rln_contract.js +1 -1
  5. package/bundle/packages/rln/dist/credentials_manager.js +10 -28
  6. package/bundle/packages/rln/dist/identity.js +0 -8
  7. package/bundle/packages/rln/dist/keystore/keystore.js +28 -15
  8. package/bundle/packages/rln/dist/utils/metamask.js +2 -2
  9. package/bundle/packages/rln/dist/zerokit.js +5 -5
  10. package/dist/.tsbuildinfo +1 -1
  11. package/dist/contract/constants.d.ts +1 -1
  12. package/dist/contract/constants.js +1 -1
  13. package/dist/contract/constants.js.map +1 -1
  14. package/dist/contract/index.d.ts +1 -0
  15. package/dist/contract/index.js +1 -0
  16. package/dist/contract/index.js.map +1 -1
  17. package/dist/contract/rln_base_contract.d.ts +5 -11
  18. package/dist/contract/rln_base_contract.js +68 -63
  19. package/dist/contract/rln_base_contract.js.map +1 -1
  20. package/dist/contract/types.d.ts +5 -0
  21. package/dist/contract/types.js.map +1 -1
  22. package/dist/credentials_manager.d.ts +3 -9
  23. package/dist/credentials_manager.js +10 -28
  24. package/dist/credentials_manager.js.map +1 -1
  25. package/dist/identity.d.ts +0 -1
  26. package/dist/identity.js +0 -8
  27. package/dist/identity.js.map +1 -1
  28. package/dist/index.d.ts +2 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/keystore/keystore.d.ts +1 -0
  32. package/dist/keystore/keystore.js +28 -15
  33. package/dist/keystore/keystore.js.map +1 -1
  34. package/dist/keystore/types.d.ts +2 -2
  35. package/dist/rln.js.map +1 -1
  36. package/dist/zerokit.d.ts +3 -3
  37. package/dist/zerokit.js +5 -5
  38. package/dist/zerokit.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/contract/constants.ts +1 -1
  41. package/src/contract/index.ts +1 -0
  42. package/src/contract/rln_base_contract.ts +100 -93
  43. package/src/contract/types.ts +5 -0
  44. package/src/credentials_manager.ts +10 -34
  45. package/src/identity.ts +0 -9
  46. package/src/index.ts +3 -1
  47. package/src/keystore/keystore.ts +54 -29
  48. package/src/keystore/types.ts +2 -2
  49. package/src/rln.ts +1 -0
  50. package/src/zerokit.ts +3 -3
  51. package/bundle/_virtual/__node-resolve_empty.js +0 -6
  52. package/bundle/_virtual/_node-resolve_empty.js +0 -3
  53. package/bundle/_virtual/bn.js +0 -3
  54. package/bundle/_virtual/common.js +0 -3
  55. package/bundle/_virtual/common2.js +0 -3
  56. package/bundle/_virtual/hash.js +0 -3
  57. package/bundle/_virtual/inherits_browser.js +0 -3
  58. package/bundle/_virtual/ripemd.js +0 -3
  59. package/bundle/_virtual/sha.js +0 -3
  60. package/bundle/_virtual/sha3.js +0 -3
  61. package/bundle/_virtual/utils3.js +0 -3
  62. package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +0 -3
  63. package/bundle/node_modules/@ethersproject/abi/lib.esm/abi-coder.js +0 -96
  64. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js +0 -148
  65. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/address.js +0 -26
  66. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js +0 -20
  67. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/array.js +0 -210
  68. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js +0 -18
  69. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js +0 -30
  70. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js +0 -26
  71. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/null.js +0 -22
  72. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/number.js +0 -43
  73. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/string.js +0 -19
  74. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js +0 -58
  75. package/bundle/node_modules/@ethersproject/abi/lib.esm/fragments.js +0 -854
  76. package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +0 -609
  77. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +0 -3
  78. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +0 -66
  79. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +0 -3
  80. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +0 -302
  81. package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +0 -3
  82. package/bundle/node_modules/@ethersproject/address/lib.esm/index.js +0 -110
  83. package/bundle/node_modules/@ethersproject/base64/lib.esm/base64.js +0 -20
  84. package/bundle/node_modules/@ethersproject/basex/lib.esm/index.js +0 -120
  85. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +0 -3
  86. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +0 -287
  87. package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +0 -3
  88. package/bundle/node_modules/@ethersproject/bytes/lib.esm/index.js +0 -402
  89. package/bundle/node_modules/@ethersproject/constants/lib.esm/addresses.js +0 -3
  90. package/bundle/node_modules/@ethersproject/constants/lib.esm/bignumbers.js +0 -8
  91. package/bundle/node_modules/@ethersproject/constants/lib.esm/hashes.js +0 -3
  92. package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +0 -3
  93. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +0 -893
  94. package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +0 -3
  95. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js +0 -256
  96. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js +0 -36
  97. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +0 -135
  98. package/bundle/node_modules/@ethersproject/hash/lib.esm/id.js +0 -8
  99. package/bundle/node_modules/@ethersproject/hash/lib.esm/namehash.js +0 -64
  100. package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +0 -443
  101. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +0 -8
  102. package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +0 -660
  103. package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +0 -3
  104. package/bundle/node_modules/@ethersproject/logger/lib.esm/index.js +0 -352
  105. package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +0 -3
  106. package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +0 -248
  107. package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +0 -3
  108. package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +0 -127
  109. package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +0 -3
  110. package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +0 -2007
  111. package/bundle/node_modules/@ethersproject/providers/lib.esm/formatter.js +0 -422
  112. package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +0 -674
  113. package/bundle/node_modules/@ethersproject/providers/lib.esm/web3-provider.js +0 -132
  114. package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +0 -3
  115. package/bundle/node_modules/@ethersproject/rlp/lib.esm/index.js +0 -120
  116. package/bundle/node_modules/@ethersproject/sha2/lib.esm/sha2.js +0 -8
  117. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +0 -3
  118. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +0 -2430
  119. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/index.js +0 -76
  120. package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +0 -3
  121. package/bundle/node_modules/@ethersproject/strings/lib.esm/utf8.js +0 -219
  122. package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +0 -3
  123. package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +0 -279
  124. package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +0 -3
  125. package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +0 -69
  126. package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +0 -404
  127. package/bundle/node_modules/bech32/index.js +0 -187
  128. package/bundle/node_modules/bn.js/lib/bn.js +0 -3361
  129. package/bundle/node_modules/hash.js/lib/hash/common.js +0 -97
  130. package/bundle/node_modules/hash.js/lib/hash/hmac.js +0 -51
  131. package/bundle/node_modules/hash.js/lib/hash/ripemd.js +0 -152
  132. package/bundle/node_modules/hash.js/lib/hash/sha/1.js +0 -81
  133. package/bundle/node_modules/hash.js/lib/hash/sha/224.js +0 -33
  134. package/bundle/node_modules/hash.js/lib/hash/sha/256.js +0 -113
  135. package/bundle/node_modules/hash.js/lib/hash/sha/384.js +0 -39
  136. package/bundle/node_modules/hash.js/lib/hash/sha/512.js +0 -336
  137. package/bundle/node_modules/hash.js/lib/hash/sha/common.js +0 -53
  138. package/bundle/node_modules/hash.js/lib/hash/sha.js +0 -14
  139. package/bundle/node_modules/hash.js/lib/hash/utils.js +0 -282
  140. package/bundle/node_modules/hash.js/lib/hash.js +0 -33
  141. package/bundle/node_modules/inherits/inherits_browser.js +0 -33
  142. package/bundle/node_modules/minimalistic-assert/index.js +0 -13
@@ -3,7 +3,7 @@ export type MembershipHash = string;
3
3
  export type Sha256Hash = string;
4
4
  export type Keccak256Hash = string;
5
5
  export type Password = string | Uint8Array;
6
- export type MembershipInfo = {
6
+ export type KeystoreMembershipInfo = {
7
7
  chainId: string;
8
8
  address: string;
9
9
  treeIndex: number;
@@ -11,7 +11,7 @@ export type MembershipInfo = {
11
11
  };
12
12
  export type KeystoreEntity = {
13
13
  identity: IdentityCredential;
14
- membership: MembershipInfo;
14
+ membership: KeystoreMembershipInfo;
15
15
  };
16
16
  export type DecryptedCredentials = KeystoreEntity;
17
17
  export type EncryptedCredentials = {
package/dist/rln.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAMnC,MAAM,OAAO,WAAY,SAAQ,qBAAqB;IA4BzB;IA3B3B;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACxB,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAO,IAAY,EAAE,EAAE,CAAC;YACxB,UAAU,CAAC,eAAe,EAAE,CAAC;YAE7B,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAE1C,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;YAE1E,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,YAA2B,OAAgB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QADU,YAAO,GAAP,OAAO,CAAS;IAE3C,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAA8B;QAE9B,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GACzC,MAAM,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,oBAAoB,IAAI,IAAI,CAAC,WAAW,CAAC;QAE7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,KAAK,CACT,mFAAmF,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,gCAAgC,CAAC,WAAW,CAAC,CAAC;QAEzD,OAAO,gBAAgB,CAAC;YACtB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS;YACvC,UAAU,EAAE,WAAW,CAAC,QAAQ;SACjC,CAAC,CAAC;IACL,CAAC;IAEM,aAAa,CAClB,YAA0B;QAE1B,OAAO,gBAAgB,CAAC;YACtB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAChF,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,EAAE,CAAC,OAAO,CACrB,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAClE,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
package/dist/zerokit.d.ts CHANGED
@@ -4,11 +4,11 @@ import { WitnessCalculator } from "./resources/witness_calculator";
4
4
  export declare class Zerokit {
5
5
  private readonly zkRLN;
6
6
  private readonly witnessCalculator;
7
- private readonly rateLimit;
8
- constructor(zkRLN: number, witnessCalculator: WitnessCalculator, rateLimit?: number);
7
+ private readonly _rateLimit;
8
+ constructor(zkRLN: number, witnessCalculator: WitnessCalculator, _rateLimit?: number);
9
9
  get getZkRLN(): number;
10
10
  get getWitnessCalculator(): WitnessCalculator;
11
- get getRateLimit(): number;
11
+ get rateLimit(): number;
12
12
  generateIdentityCredentials(): IdentityCredential;
13
13
  generateSeededIdentityCredential(seed: string): IdentityCredential;
14
14
  insertMember(idCommitment: Uint8Array): void;
package/dist/zerokit.js CHANGED
@@ -6,11 +6,11 @@ import { concatenate, dateToEpoch, epochIntToBytes, writeUIntLE } from "./utils/
6
6
  export class Zerokit {
7
7
  zkRLN;
8
8
  witnessCalculator;
9
- rateLimit;
10
- constructor(zkRLN, witnessCalculator, rateLimit = DEFAULT_RATE_LIMIT) {
9
+ _rateLimit;
10
+ constructor(zkRLN, witnessCalculator, _rateLimit = DEFAULT_RATE_LIMIT) {
11
11
  this.zkRLN = zkRLN;
12
12
  this.witnessCalculator = witnessCalculator;
13
- this.rateLimit = rateLimit;
13
+ this._rateLimit = _rateLimit;
14
14
  }
15
15
  get getZkRLN() {
16
16
  return this.zkRLN;
@@ -18,8 +18,8 @@ export class Zerokit {
18
18
  get getWitnessCalculator() {
19
19
  return this.witnessCalculator;
20
20
  }
21
- get getRateLimit() {
22
- return this.rateLimit;
21
+ get rateLimit() {
22
+ return this._rateLimit;
23
23
  }
24
24
  generateIdentityCredentials() {
25
25
  const memKeys = zerokitRLN.generateExtendedMembershipKey(this.zkRLN); // TODO: rename this function in zerokit rln-wasm
@@ -1 +1 @@
1
- {"version":3,"file":"zerokit.js","sourceRoot":"","sources":["../src/zerokit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,OAAO,OAAO;IAEC;IACA;IACA;IAHnB,YACmB,KAAa,EACb,iBAAoC,EACpC,YAAoB,kBAAkB;QAFtC,UAAK,GAAL,KAAK,CAAQ;QACb,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,cAAS,GAAT,SAAS,CAA6B;IACtD,CAAC;IAEJ,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,2BAA2B;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iDAAiD;QACvH,OAAO,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,gCAAgC,CAAC,IAAY;QAClD,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,iDAAiD;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,mCAAmC,CAC5D,IAAI,CAAC,KAAK,EACV,SAAS,CACV,CAAC;QACF,OAAO,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,YAAY,CAAC,YAAwB;QAC1C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAEM,aAAa,CAClB,KAAa,EACb,GAAG,aAAgC;QAEnC,kDAAkD;QAClD,0EAA0E;QAC1E,MAAM,eAAe,GAAG,WAAW,CACjC,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB,aAAa,CAAC,MAAM,EACpB,CAAC,EACD,CAAC,CACF,CAAC;QACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,aAAa,CAAC,CAAC;QACzE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAEM,YAAY,CAAC,KAAa;QAC/B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,aAAa;QAClB,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,gBAAgB,CACrB,QAAoB,EACpB,QAAgB,EAChB,KAAiB,EACjB,KAAiB,EACjB,SAAkB;QAElB,2BAA2B;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB,SAAS,IAAI,IAAI,CAAC,SAAS,EAC3B,CAAC,EACD,CAAC,CACF,CAAC;QAEF,yFAAyF;QACzF,OAAO,WAAW,CAChB,KAAK,EACL,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACf,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,GAAe,EACf,KAAa,EACb,KAAoC,EACpC,YAAwB,EACxB,SAAkB;QAElB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YACjC,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,kBAAkB,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrD,IACE,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ;YAC/C,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8BAA8B,iBAAiB,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAC1C,GAAG,EACH,KAAK,EACL,KAAK,EACL,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,UAAU,CAAC,uBAAuB,CACnD,IAAI,CAAC,KAAK,EACV,cAAc,CACf,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACrE,MAAM,EACN,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,UAAU,CAAC,+BAA+B,CAC3D,IAAI,CAAC,KAAK,EACV,iBAAiB,EACjB,UAAU,CACX,CAAC;QAEF,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAEM,cAAc,CACnB,KAAmC,EACnC,GAAe,EACf,SAAkB;QAElB,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB,SAAS,IAAI,IAAI,CAAC,SAAS,EAC3B,CAAC,EACD,CAAC,CACF,CAAC;QAEF,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CACjD,CAAC;IACJ,CAAC;IAEM,eAAe,CACpB,KAAmC,EACnC,GAAe,EACf,KAAwB,EACxB,SAAkB;QAElB,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,2BAA2B;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB,SAAS,IAAI,IAAI,CAAC,SAAS,EAC3B,CAAC,EACD,CAAC,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC;QAEzC,OAAO,UAAU,CAAC,eAAe,CAC/B,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAChD,UAAU,CACX,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,KAAmC,EACnC,GAAe,EACf,SAAkB;QAElB,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB,SAAS,IAAI,IAAI,CAAC,SAAS,EAC3B,CAAC,EACD,CAAC,CACF,CAAC;QAEF,OAAO,UAAU,CAAC,eAAe,CAC/B,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAChD,IAAI,UAAU,EAAE,CACjB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"zerokit.js","sourceRoot":"","sources":["../src/zerokit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@waku/rln","version":"0.1.5-9901863.0","description":"RLN (Rate Limiting Nullifier) implementation for Waku","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"type":"module","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/rln#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","rln","rate-limiting","privacy","web3"],"scripts":{"build":"run-s build:**","build:copy":"mkdir -p dist/resources && cp -r src/resources/* dist/resources/","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:tsc":"tsc -p tsconfig.dev.json","check:lint":"eslint \"src/!(resources)/**/*.{ts,js}\" *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","test":"NODE_ENV=test run-s test:*","test:browser":"karma start karma.conf.cjs","watch:build":"tsc -p tsconfig.json -w","watch:test":"mocha --watch","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build"},"engines":{"node":">=20"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@types/chai":"^5.0.1","@types/chai-spies":"^1.0.6","@types/deep-equal-in-any-order":"^1.0.4","@types/lodash":"^4.17.15","@types/sinon":"^17.0.3","@waku/build-utils":"^1.0.0","@waku/message-encryption":"0.0.33-9901863.0","deep-equal-in-any-order":"^2.0.6","fast-check":"^3.23.2","rollup-plugin-copy":"^3.5.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"],"dependencies":{"@chainsafe/bls-keystore":"3.0.0","@waku/core":"0.0.35-9901863.0","@waku/utils":"0.0.23-9901863.0","@noble/hashes":"^1.2.0","@waku/zerokit-rln-wasm":"^0.0.13","ethereum-cryptography":"^3.1.0","ethers":"^5.7.2","lodash":"^4.17.21","uuid":"^11.0.5","chai":"^5.1.2","chai-as-promised":"^8.0.1","chai-spies":"^1.1.0","chai-subset":"^1.6.0","sinon":"^19.0.2"}}
1
+ {"name":"@waku/rln","version":"0.1.5-a824fff.0","description":"RLN (Rate Limiting Nullifier) implementation for Waku","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"type":"module","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/rln#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","rln","rate-limiting","privacy","web3"],"scripts":{"build":"run-s build:**","build:copy":"mkdir -p dist/resources && cp -r src/resources/* dist/resources/","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:tsc":"tsc -p tsconfig.dev.json","check:lint":"eslint \"src/!(resources)/**/*.{ts,js}\" *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","test":"NODE_ENV=test run-s test:*","test:browser":"karma start karma.conf.cjs","watch:build":"tsc -p tsconfig.json -w","watch:test":"mocha --watch","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build"},"engines":{"node":">=20"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@types/chai":"^5.0.1","@types/chai-spies":"^1.0.6","@types/deep-equal-in-any-order":"^1.0.4","@types/lodash":"^4.17.15","@types/sinon":"^17.0.3","@waku/build-utils":"^1.0.0","@waku/message-encryption":"0.0.33-a824fff.0","deep-equal-in-any-order":"^2.0.6","fast-check":"^3.23.2","rollup-plugin-copy":"^3.5.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"],"dependencies":{"@chainsafe/bls-keystore":"3.0.0","@waku/core":"0.0.35-a824fff.0","@waku/utils":"0.0.23-a824fff.0","@noble/hashes":"^1.2.0","@waku/zerokit-rln-wasm":"^0.0.13","ethereum-cryptography":"^3.1.0","ethers":"^5.7.2","lodash":"^4.17.21","uuid":"^11.0.5","chai":"^5.1.2","chai-as-promised":"^8.0.1","chai-spies":"^1.1.0","chai-subset":"^1.6.0","sinon":"^19.0.2"}}
@@ -1,7 +1,7 @@
1
1
  import { RLN_ABI } from "./abi.js";
2
2
 
3
3
  export const LINEA_CONTRACT = {
4
- chainId: "59141",
4
+ chainId: 59141,
5
5
  address: "0xb9cd878c90e49f797b4431fbf4fb333108cb90e6",
6
6
  abi: RLN_ABI
7
7
  };
@@ -1,2 +1,3 @@
1
1
  export { RLNContract } from "./rln_contract.js";
2
2
  export * from "./constants.js";
3
+ export * from "./types.js";
@@ -33,15 +33,6 @@ export class RLNBaseContract {
33
33
  * Allows injecting a mocked contract for testing purposes.
34
34
  */
35
35
  public constructor(options: RLNContractInitOptions) {
36
- // Initialize members and subscriptions
37
- this.fetchMembers()
38
- .then(() => {
39
- this.subscribeToMembers();
40
- })
41
- .catch((error) => {
42
- log.error("Failed to initialize members", { error });
43
- });
44
-
45
36
  const {
46
37
  address,
47
38
  signer,
@@ -49,15 +40,38 @@ export class RLNBaseContract {
49
40
  contract
50
41
  } = options;
51
42
 
52
- this.validateRateLimit(rateLimit);
43
+ log.info("Initializing RLNBaseContract", { address, rateLimit });
53
44
 
54
45
  this.contract = contract || new ethers.Contract(address, RLN_ABI, signer);
55
46
  this.rateLimit = rateLimit;
56
47
 
57
- // Initialize event filters
58
- this._membersFilter = this.contract.filters.MembershipRegistered();
59
- this._membershipErasedFilter = this.contract.filters.MembershipErased();
60
- this._membersExpiredFilter = this.contract.filters.MembershipExpired();
48
+ try {
49
+ log.info("Setting up event filters");
50
+ // Initialize event filters
51
+ this._membersFilter = this.contract.filters.MembershipRegistered();
52
+ this._membershipErasedFilter = this.contract.filters.MembershipErased();
53
+ this._membersExpiredFilter = this.contract.filters.MembershipExpired();
54
+ log.info("Event filters initialized successfully");
55
+ } catch (error) {
56
+ log.error("Failed to initialize event filters", { error });
57
+ throw new Error(
58
+ "Failed to initialize event filters: " + (error as Error).message
59
+ );
60
+ }
61
+
62
+ // Initialize members and subscriptions
63
+ this.fetchMembers()
64
+ .then(() => {
65
+ this.subscribeToMembers();
66
+ })
67
+ .catch((error) => {
68
+ log.error("Failed to initialize members", { error });
69
+ });
70
+
71
+ // Validate rate limit asynchronously
72
+ this.validateRateLimit(rateLimit).catch((error) => {
73
+ log.error("Failed to validate initial rate limit", { error });
74
+ });
61
75
  }
62
76
 
63
77
  /**
@@ -134,7 +148,7 @@ export class RLNBaseContract {
134
148
  * @param newRateLimit The new rate limit to use
135
149
  */
136
150
  public async setRateLimit(newRateLimit: number): Promise<void> {
137
- this.validateRateLimit(newRateLimit);
151
+ await this.validateRateLimit(newRateLimit);
138
152
  this.rateLimit = newRateLimit;
139
153
  }
140
154
 
@@ -324,7 +338,7 @@ export class RLNBaseContract {
324
338
  this.contract.on(
325
339
  this.membersFilter,
326
340
  (
327
- _idCommitment: string,
341
+ _idCommitment: bigint,
328
342
  _membershipRateLimit: ethers.BigNumber,
329
343
  _index: ethers.BigNumber,
330
344
  event: ethers.Event
@@ -336,7 +350,7 @@ export class RLNBaseContract {
336
350
  this.contract.on(
337
351
  this.membershipErasedFilter,
338
352
  (
339
- _idCommitment: string,
353
+ _idCommitment: bigint,
340
354
  _membershipRateLimit: ethers.BigNumber,
341
355
  _index: ethers.BigNumber,
342
356
  event: ethers.Event
@@ -348,7 +362,7 @@ export class RLNBaseContract {
348
362
  this.contract.on(
349
363
  this.membersExpiredFilter,
350
364
  (
351
- _idCommitment: string,
365
+ _idCommitment: bigint,
352
366
  _membershipRateLimit: ethers.BigNumber,
353
367
  _index: ethers.BigNumber,
354
368
  event: ethers.Event
@@ -358,94 +372,82 @@ export class RLNBaseContract {
358
372
  );
359
373
  }
360
374
 
361
- /**
362
- * Helper method to get remaining messages in current epoch
363
- * @param membershipId The ID of the membership to check
364
- * @returns number of remaining messages allowed in current epoch
365
- */
366
- public async getRemainingMessages(membershipId: number): Promise<number> {
367
- try {
368
- const [startTime, , rateLimit] =
369
- await this.contract.getMembershipInfo(membershipId);
370
-
371
- // Calculate current epoch
372
- const currentTime = Math.floor(Date.now() / 1000);
373
- const epochsPassed = Math.floor(
374
- (currentTime - startTime) / RATE_LIMIT_PARAMS.EPOCH_LENGTH
375
- );
376
- const currentEpochStart =
377
- startTime + epochsPassed * RATE_LIMIT_PARAMS.EPOCH_LENGTH;
378
-
379
- // Get message count in current epoch using contract's function
380
- const messageCount = await this.contract.getMessageCount(
381
- membershipId,
382
- currentEpochStart
383
- );
384
- return Math.max(
385
- 0,
386
- ethers.BigNumber.from(rateLimit)
387
- .sub(ethers.BigNumber.from(messageCount))
388
- .toNumber()
389
- );
390
- } catch (error) {
391
- log.error(
392
- `Error getting remaining messages: ${(error as Error).message}`
393
- );
394
- return 0; // Fail safe: assume no messages remaining on error
395
- }
396
- }
397
-
398
375
  public async getMembershipInfo(
399
- idCommitment: string
376
+ idCommitmentBigInt: bigint
400
377
  ): Promise<MembershipInfo | undefined> {
401
378
  try {
402
- const [startBlock, endBlock, rateLimit] =
403
- await this.contract.getMembershipInfo(idCommitment);
379
+ const membershipData =
380
+ await this.contract.memberships(idCommitmentBigInt);
404
381
  const currentBlock = await this.contract.provider.getBlockNumber();
382
+ const [
383
+ depositAmount,
384
+ activeDuration,
385
+ gracePeriodStartTimestamp,
386
+ gracePeriodDuration,
387
+ rateLimit,
388
+ index,
389
+ holder,
390
+ token
391
+ ] = membershipData;
392
+
393
+ const gracePeriodEnd = gracePeriodStartTimestamp.add(gracePeriodDuration);
405
394
 
406
395
  let state: MembershipState;
407
- if (currentBlock < startBlock) {
396
+ if (currentBlock < gracePeriodStartTimestamp.toNumber()) {
408
397
  state = MembershipState.Active;
409
- } else if (currentBlock < endBlock) {
398
+ } else if (currentBlock < gracePeriodEnd.toNumber()) {
410
399
  state = MembershipState.GracePeriod;
411
400
  } else {
412
401
  state = MembershipState.Expired;
413
402
  }
414
403
 
415
- const index = await this.getMemberIndex(idCommitment);
416
- if (!index) return undefined;
417
-
418
404
  return {
419
405
  index,
420
- idCommitment,
421
- rateLimit: rateLimit.toNumber(),
422
- startBlock: startBlock.toNumber(),
423
- endBlock: endBlock.toNumber(),
424
- state
406
+ idCommitment: idCommitmentBigInt.toString(),
407
+ rateLimit: Number(rateLimit),
408
+ startBlock: gracePeriodStartTimestamp.toNumber(),
409
+ endBlock: gracePeriodEnd.toNumber(),
410
+ state,
411
+ depositAmount,
412
+ activeDuration,
413
+ gracePeriodDuration,
414
+ holder,
415
+ token
425
416
  };
426
417
  } catch (error) {
418
+ log.error("Error in getMembershipInfo:", error);
427
419
  return undefined;
428
420
  }
429
421
  }
430
422
 
431
423
  public async extendMembership(
432
- idCommitment: string
424
+ idCommitmentBigInt: bigint
433
425
  ): Promise<ethers.ContractTransaction> {
434
- return this.contract.extendMemberships([idCommitment]);
426
+ const tx = await this.contract.extendMemberships([idCommitmentBigInt]);
427
+ await tx.wait();
428
+ return tx;
435
429
  }
436
430
 
437
431
  public async eraseMembership(
438
- idCommitment: string,
432
+ idCommitmentBigInt: bigint,
439
433
  eraseFromMembershipSet: boolean = true
440
434
  ): Promise<ethers.ContractTransaction> {
441
- return this.contract.eraseMemberships(
442
- [idCommitment],
443
- eraseFromMembershipSet
435
+ const estimatedGas = await this.contract.estimateGas[
436
+ "eraseMemberships(uint256[],bool)"
437
+ ]([idCommitmentBigInt], eraseFromMembershipSet);
438
+ const gasLimit = estimatedGas.add(10000);
439
+
440
+ const tx = await this.contract["eraseMemberships(uint256[],bool)"](
441
+ [idCommitmentBigInt],
442
+ eraseFromMembershipSet,
443
+ { gasLimit }
444
444
  );
445
+ await tx.wait();
446
+ return tx;
445
447
  }
446
448
 
447
449
  public async registerMembership(
448
- idCommitment: string,
450
+ idCommitmentBigInt: bigint,
449
451
  rateLimit: number = DEFAULT_RATE_LIMIT
450
452
  ): Promise<ethers.ContractTransaction> {
451
453
  if (
@@ -456,12 +458,12 @@ export class RLNBaseContract {
456
458
  `Rate limit must be between ${RATE_LIMIT_PARAMS.MIN_RATE} and ${RATE_LIMIT_PARAMS.MAX_RATE}`
457
459
  );
458
460
  }
459
- return this.contract.register(idCommitment, rateLimit, []);
461
+ return this.contract.register(idCommitmentBigInt, rateLimit, []);
460
462
  }
461
463
 
462
- public async withdraw(token: string, holder: string): Promise<void> {
464
+ public async withdraw(token: string, from: string): Promise<void> {
463
465
  try {
464
- const tx = await this.contract.withdraw(token, { from: holder });
466
+ const tx = await this.contract.withdraw(token, from);
465
467
  await tx.wait();
466
468
  } catch (error) {
467
469
  log.error(`Error in withdraw: ${(error as Error).message}`);
@@ -478,7 +480,7 @@ export class RLNBaseContract {
478
480
 
479
481
  // Check if the ID commitment is already registered
480
482
  const existingIndex = await this.getMemberIndex(
481
- identity.IDCommitmentBigInt.toString()
483
+ identity.IDCommitmentBigInt
482
484
  );
483
485
  if (existingIndex) {
484
486
  throw new Error(
@@ -516,7 +518,7 @@ export class RLNBaseContract {
516
518
  }
517
519
 
518
520
  const memberRegistered = txRegisterReceipt.events?.find(
519
- (event) => event.event === "MembershipRegistered"
521
+ (event: ethers.Event) => event.event === "MembershipRegistered"
520
522
  );
521
523
 
522
524
  if (!memberRegistered || !memberRegistered.args) {
@@ -539,13 +541,13 @@ export class RLNBaseContract {
539
541
 
540
542
  const network = await this.contract.provider.getNetwork();
541
543
  const address = this.contract.address;
542
- const membershipId = decodedData.index.toString();
544
+ const membershipId = Number(decodedData.index);
543
545
 
544
546
  return {
545
547
  identity,
546
548
  membership: {
547
549
  address,
548
- treeIndex: parseInt(membershipId),
550
+ treeIndex: membershipId,
549
551
  chainId: network.chainId.toString(),
550
552
  rateLimit: decodedData.membershipRateLimit.toNumber()
551
553
  }
@@ -610,7 +612,7 @@ export class RLNBaseContract {
610
612
  const txRegisterReceipt = await txRegisterResponse.wait();
611
613
 
612
614
  const memberRegistered = txRegisterReceipt.events?.find(
613
- (event) => event.event === "MembershipRegistered"
615
+ (event: ethers.Event) => event.event === "MembershipRegistered"
614
616
  );
615
617
 
616
618
  if (!memberRegistered || !memberRegistered.args) {
@@ -633,13 +635,13 @@ export class RLNBaseContract {
633
635
 
634
636
  const network = await this.contract.provider.getNetwork();
635
637
  const address = this.contract.address;
636
- const membershipId = decodedData.index.toString();
638
+ const membershipId = Number(decodedData.index);
637
639
 
638
640
  return {
639
641
  identity,
640
642
  membership: {
641
643
  address,
642
- treeIndex: parseInt(membershipId),
644
+ treeIndex: membershipId,
643
645
  chainId: network.chainId.toString(),
644
646
  rateLimit: decodedData.membershipRateLimit.toNumber()
645
647
  }
@@ -656,13 +658,18 @@ export class RLNBaseContract {
656
658
  * Validates that the rate limit is within the allowed range
657
659
  * @throws Error if the rate limit is outside the allowed range
658
660
  */
659
- private validateRateLimit(rateLimit: number): void {
660
- if (
661
- rateLimit < RATE_LIMIT_PARAMS.MIN_RATE ||
662
- rateLimit > RATE_LIMIT_PARAMS.MAX_RATE
663
- ) {
661
+ private async validateRateLimit(rateLimit: number): Promise<void> {
662
+ const [minRate, maxRate] = await Promise.all([
663
+ this.contract.minMembershipRateLimit(),
664
+ this.contract.maxMembershipRateLimit()
665
+ ]);
666
+
667
+ const minRateNum = ethers.BigNumber.from(minRate).toNumber();
668
+ const maxRateNum = ethers.BigNumber.from(maxRate).toNumber();
669
+
670
+ if (rateLimit < minRateNum || rateLimit > maxRateNum) {
664
671
  throw new Error(
665
- `Rate limit must be between ${RATE_LIMIT_PARAMS.MIN_RATE} and ${RATE_LIMIT_PARAMS.MAX_RATE} messages per epoch`
672
+ `Rate limit must be between ${minRateNum} and ${maxRateNum} messages per epoch`
666
673
  );
667
674
  }
668
675
  }
@@ -689,11 +696,11 @@ export class RLNBaseContract {
689
696
  }
690
697
 
691
698
  private async getMemberIndex(
692
- idCommitment: string
699
+ idCommitmentBigInt: bigint
693
700
  ): Promise<ethers.BigNumber | undefined> {
694
701
  try {
695
702
  const events = await this.contract.queryFilter(
696
- this.contract.filters.MembershipRegistered(idCommitment)
703
+ this.contract.filters.MembershipRegistered(idCommitmentBigInt)
697
704
  );
698
705
  if (events.length === 0) return undefined;
699
706
 
@@ -38,6 +38,11 @@ export interface MembershipInfo {
38
38
  startBlock: number;
39
39
  endBlock: number;
40
40
  state: MembershipState;
41
+ depositAmount: ethers.BigNumber;
42
+ activeDuration: number;
43
+ gracePeriodDuration: number;
44
+ holder: string;
45
+ token: string;
41
46
  }
42
47
 
43
48
  export enum MembershipState {
@@ -30,11 +30,11 @@ export class RLNCredentialsManager {
30
30
  protected started = false;
31
31
  protected starting = false;
32
32
 
33
- private _contract: undefined | RLNBaseContract;
34
- private _signer: undefined | ethers.Signer;
33
+ public contract: undefined | RLNBaseContract;
34
+ public signer: undefined | ethers.Signer;
35
35
 
36
36
  protected keystore = Keystore.create();
37
- private _credentials: undefined | DecryptedCredentials;
37
+ public credentials: undefined | DecryptedCredentials;
38
38
 
39
39
  public zerokit: undefined | Zerokit;
40
40
 
@@ -43,30 +43,6 @@ export class RLNCredentialsManager {
43
43
  this.zerokit = zerokit;
44
44
  }
45
45
 
46
- public get contract(): undefined | RLNBaseContract {
47
- return this._contract;
48
- }
49
-
50
- public set contract(contract: RLNBaseContract | undefined) {
51
- this._contract = contract;
52
- }
53
-
54
- public get signer(): undefined | ethers.Signer {
55
- return this._signer;
56
- }
57
-
58
- public set signer(signer: ethers.Signer | undefined) {
59
- this._signer = signer;
60
- }
61
-
62
- public get credentials(): undefined | DecryptedCredentials {
63
- return this._credentials;
64
- }
65
-
66
- public set credentials(credentials: DecryptedCredentials | undefined) {
67
- this._credentials = credentials;
68
- }
69
-
70
46
  public get provider(): undefined | ethers.providers.Provider {
71
47
  return this.contract?.provider;
72
48
  }
@@ -102,12 +78,12 @@ export class RLNCredentialsManager {
102
78
  log.info("Using provided keystore");
103
79
  }
104
80
 
105
- this._credentials = credentials;
106
- this._signer = signer!;
107
- this._contract = new RLNBaseContract({
81
+ this.credentials = credentials;
82
+ this.signer = signer!;
83
+ this.contract = new RLNBaseContract({
108
84
  address: address!,
109
85
  signer: signer!,
110
- rateLimit: rateLimit ?? this.zerokit?.getRateLimit
86
+ rateLimit: rateLimit ?? this.zerokit?.rateLimit
111
87
  });
112
88
 
113
89
  log.info("RLNCredentialsManager successfully started");
@@ -160,8 +136,8 @@ export class RLNCredentialsManager {
160
136
  */
161
137
  public async useCredentials(id: string, password: Password): Promise<void> {
162
138
  log.info(`Attempting to use credentials with ID: ${id}`);
163
- this._credentials = await this.keystore?.readCredential(id, password);
164
- if (this._credentials) {
139
+ this.credentials = await this.keystore?.readCredential(id, password);
140
+ if (this.credentials) {
165
141
  log.info("Successfully loaded credentials");
166
142
  } else {
167
143
  log.warn("Failed to load credentials");
@@ -179,7 +155,7 @@ export class RLNCredentialsManager {
179
155
  LINEA_CONTRACT.address;
180
156
 
181
157
  if (address === LINEA_CONTRACT.address) {
182
- chainId = LINEA_CONTRACT.chainId;
158
+ chainId = LINEA_CONTRACT.chainId.toString();
183
159
  log.info(`Using Linea contract with chainId: ${chainId}`);
184
160
  }
185
161
 
package/src/identity.ts CHANGED
@@ -28,13 +28,4 @@ export class IdentityCredential {
28
28
  idCommitmentBigInt
29
29
  );
30
30
  }
31
-
32
- public toJSON(): Record<string, number[]> {
33
- return {
34
- idTrapdoor: Array.from(this.IDTrapdoor),
35
- idNullifier: Array.from(this.IDNullifier),
36
- idSecretHash: Array.from(this.IDSecretHash),
37
- idCommitment: Array.from(this.IDCommitment)
38
- };
39
- }
40
31
  }
package/src/index.ts CHANGED
@@ -34,7 +34,9 @@ export type {
34
34
  Keccak256Hash,
35
35
  KeystoreEntity,
36
36
  MembershipHash,
37
- MembershipInfo,
37
+ KeystoreMembershipInfo,
38
38
  Password,
39
39
  Sha256Hash
40
40
  } from "./keystore/types.js";
41
+
42
+ export * from "./contract/index.js";