@waku/rln 0.1.3-f6d5deb → 0.1.4-d27db21.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 (341) hide show
  1. package/README.md +10 -186
  2. package/bundle/_virtual/__node-resolve_empty.js +6 -0
  3. package/bundle/_virtual/_assert.js +3 -0
  4. package/bundle/_virtual/_commonjs-dynamic-modules.js +5 -0
  5. package/bundle/_virtual/_commonjsHelpers.js +32 -0
  6. package/bundle/_virtual/_node-resolve_empty.js +3 -0
  7. package/bundle/_virtual/_sha2.js +3 -0
  8. package/bundle/_virtual/_u64.js +3 -0
  9. package/bundle/_virtual/aes.js +3 -0
  10. package/bundle/_virtual/bn.js +3 -0
  11. package/bundle/_virtual/browser.js +3 -0
  12. package/bundle/_virtual/checksum.js +3 -0
  13. package/bundle/_virtual/cipher.js +3 -0
  14. package/bundle/_virtual/class.js +3 -0
  15. package/bundle/_virtual/common.js +3 -0
  16. package/bundle/_virtual/common2.js +3 -0
  17. package/bundle/_virtual/cryptoBrowser.js +3 -0
  18. package/bundle/_virtual/functional.js +3 -0
  19. package/bundle/_virtual/hash.js +3 -0
  20. package/bundle/_virtual/hmac.js +3 -0
  21. package/bundle/_virtual/index.js +3 -0
  22. package/bundle/_virtual/index2.js +6 -0
  23. package/bundle/_virtual/inherits_browser.js +3 -0
  24. package/bundle/_virtual/kdf.js +3 -0
  25. package/bundle/_virtual/lodash.js +3 -0
  26. package/bundle/_virtual/password.js +3 -0
  27. package/bundle/_virtual/pbkdf2.js +3 -0
  28. package/bundle/_virtual/pbkdf22.js +3 -0
  29. package/bundle/_virtual/random.js +3 -0
  30. package/bundle/_virtual/ripemd.js +3 -0
  31. package/bundle/_virtual/schema-validation-generated.js +3 -0
  32. package/bundle/_virtual/schema-validation.js +3 -0
  33. package/bundle/_virtual/scrypt.js +3 -0
  34. package/bundle/_virtual/scrypt2.js +3 -0
  35. package/bundle/_virtual/sha.js +3 -0
  36. package/bundle/_virtual/sha256.js +3 -0
  37. package/bundle/_virtual/sha2562.js +3 -0
  38. package/bundle/_virtual/sha3.js +3 -0
  39. package/bundle/_virtual/sha512.js +3 -0
  40. package/bundle/_virtual/types.js +3 -0
  41. package/bundle/_virtual/utils.js +3 -0
  42. package/bundle/_virtual/utils2.js +3 -0
  43. package/bundle/_virtual/utils3.js +3 -0
  44. package/bundle/index.js +12 -74804
  45. package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +3 -0
  46. package/bundle/node_modules/@ethersproject/abi/lib.esm/abi-coder.js +96 -0
  47. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js +148 -0
  48. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/address.js +26 -0
  49. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js +20 -0
  50. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/array.js +210 -0
  51. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js +18 -0
  52. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js +30 -0
  53. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js +26 -0
  54. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/null.js +22 -0
  55. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/number.js +43 -0
  56. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/string.js +19 -0
  57. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js +58 -0
  58. package/bundle/node_modules/@ethersproject/abi/lib.esm/fragments.js +854 -0
  59. package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +609 -0
  60. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +3 -0
  61. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +66 -0
  62. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +3 -0
  63. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +302 -0
  64. package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +3 -0
  65. package/bundle/node_modules/@ethersproject/address/lib.esm/index.js +110 -0
  66. package/bundle/node_modules/@ethersproject/base64/lib.esm/base64.js +20 -0
  67. package/bundle/node_modules/@ethersproject/basex/lib.esm/index.js +120 -0
  68. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +3 -0
  69. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +287 -0
  70. package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +3 -0
  71. package/bundle/node_modules/@ethersproject/bytes/lib.esm/index.js +402 -0
  72. package/bundle/node_modules/@ethersproject/constants/lib.esm/addresses.js +3 -0
  73. package/bundle/node_modules/@ethersproject/constants/lib.esm/bignumbers.js +8 -0
  74. package/bundle/node_modules/@ethersproject/constants/lib.esm/hashes.js +3 -0
  75. package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +3 -0
  76. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +893 -0
  77. package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +3 -0
  78. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js +256 -0
  79. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js +36 -0
  80. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +135 -0
  81. package/bundle/node_modules/@ethersproject/hash/lib.esm/id.js +8 -0
  82. package/bundle/node_modules/@ethersproject/hash/lib.esm/namehash.js +64 -0
  83. package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +443 -0
  84. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +8 -0
  85. package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +660 -0
  86. package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +3 -0
  87. package/bundle/node_modules/@ethersproject/logger/lib.esm/index.js +352 -0
  88. package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +3 -0
  89. package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +248 -0
  90. package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +3 -0
  91. package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +127 -0
  92. package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +3 -0
  93. package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +2007 -0
  94. package/bundle/node_modules/@ethersproject/providers/lib.esm/formatter.js +422 -0
  95. package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +674 -0
  96. package/bundle/node_modules/@ethersproject/providers/lib.esm/web3-provider.js +132 -0
  97. package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +3 -0
  98. package/bundle/node_modules/@ethersproject/rlp/lib.esm/index.js +120 -0
  99. package/bundle/node_modules/@ethersproject/sha2/lib.esm/sha2.js +8 -0
  100. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +3 -0
  101. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +2430 -0
  102. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/index.js +76 -0
  103. package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +3 -0
  104. package/bundle/node_modules/@ethersproject/strings/lib.esm/utf8.js +219 -0
  105. package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +3 -0
  106. package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +279 -0
  107. package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +3 -0
  108. package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +69 -0
  109. package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +404 -0
  110. package/bundle/node_modules/@multiformats/multiaddr/dist/src/convert.js +15 -0
  111. package/bundle/node_modules/@multiformats/multiaddr/dist/src/multiaddr.js +20 -0
  112. package/bundle/node_modules/@multiformats/multiaddr/dist/src/protocols-table.js +92 -0
  113. package/bundle/node_modules/@noble/hashes/esm/_assert.js +37 -0
  114. package/bundle/node_modules/@noble/hashes/esm/_md.js +132 -0
  115. package/bundle/node_modules/@noble/hashes/esm/_u64.js +29 -0
  116. package/bundle/node_modules/@noble/hashes/esm/sha256.js +113 -0
  117. package/bundle/node_modules/@noble/hashes/esm/sha3.js +210 -0
  118. package/bundle/node_modules/@noble/hashes/esm/utils.js +144 -0
  119. package/bundle/node_modules/@waku/zerokit-rln-wasm/rln_wasm.js +756 -0
  120. package/bundle/node_modules/bech32/index.js +187 -0
  121. package/bundle/node_modules/bn.js/lib/bn.js +3361 -0
  122. package/bundle/node_modules/debug/src/browser.js +283 -0
  123. package/bundle/node_modules/debug/src/common.js +295 -0
  124. package/bundle/node_modules/ethereum-cryptography/esm/keccak.js +10 -0
  125. package/bundle/node_modules/ethereum-cryptography/esm/sha256.js +6 -0
  126. package/bundle/node_modules/ethereum-cryptography/esm/utils.js +24 -0
  127. package/bundle/node_modules/hash.js/lib/hash/common.js +97 -0
  128. package/bundle/node_modules/hash.js/lib/hash/hmac.js +51 -0
  129. package/bundle/node_modules/hash.js/lib/hash/ripemd.js +152 -0
  130. package/bundle/node_modules/hash.js/lib/hash/sha/1.js +81 -0
  131. package/bundle/node_modules/hash.js/lib/hash/sha/224.js +33 -0
  132. package/bundle/node_modules/hash.js/lib/hash/sha/256.js +113 -0
  133. package/bundle/node_modules/hash.js/lib/hash/sha/384.js +39 -0
  134. package/bundle/node_modules/hash.js/lib/hash/sha/512.js +336 -0
  135. package/bundle/node_modules/hash.js/lib/hash/sha/common.js +53 -0
  136. package/bundle/node_modules/hash.js/lib/hash/sha.js +14 -0
  137. package/bundle/node_modules/hash.js/lib/hash/utils.js +282 -0
  138. package/bundle/node_modules/hash.js/lib/hash.js +33 -0
  139. package/bundle/node_modules/inherits/inherits_browser.js +33 -0
  140. package/bundle/node_modules/it-length-prefixed/dist/src/decode.js +6 -0
  141. package/bundle/node_modules/lodash/lodash.js +17207 -0
  142. package/bundle/node_modules/minimalistic-assert/index.js +13 -0
  143. package/bundle/node_modules/ms/index.js +172 -0
  144. package/bundle/node_modules/multiformats/dist/src/bases/base.js +205 -0
  145. package/bundle/node_modules/multiformats/dist/src/bases/base10.js +9 -0
  146. package/bundle/node_modules/multiformats/dist/src/bases/base16.js +16 -0
  147. package/bundle/node_modules/multiformats/dist/src/bases/base2.js +10 -0
  148. package/bundle/node_modules/multiformats/dist/src/bases/base256emoji.js +41 -0
  149. package/bundle/node_modules/multiformats/dist/src/bases/base32.js +58 -0
  150. package/bundle/node_modules/multiformats/dist/src/bases/base36.js +14 -0
  151. package/bundle/node_modules/multiformats/dist/src/bases/base58.js +14 -0
  152. package/bundle/node_modules/multiformats/dist/src/bases/base64.js +28 -0
  153. package/bundle/node_modules/multiformats/dist/src/bases/base8.js +10 -0
  154. package/bundle/node_modules/multiformats/dist/src/bases/identity.js +11 -0
  155. package/bundle/node_modules/multiformats/dist/src/basics.js +15 -0
  156. package/bundle/node_modules/multiformats/dist/src/bytes.js +18 -0
  157. package/bundle/node_modules/multiformats/dist/src/codecs/json.js +2 -0
  158. package/bundle/node_modules/multiformats/dist/src/vendor/base-x.js +170 -0
  159. package/bundle/node_modules/protons-runtime/dist/src/codec.js +20 -0
  160. package/bundle/node_modules/protons-runtime/dist/src/codecs/enum.js +24 -0
  161. package/bundle/node_modules/protons-runtime/dist/src/codecs/message.js +7 -0
  162. package/bundle/node_modules/protons-runtime/dist/src/decode.js +8 -0
  163. package/bundle/node_modules/protons-runtime/dist/src/encode.js +11 -0
  164. package/bundle/node_modules/protons-runtime/dist/src/index.js +30 -0
  165. package/bundle/node_modules/protons-runtime/dist/src/utils/float.js +54 -0
  166. package/bundle/node_modules/protons-runtime/dist/src/utils/longbits.js +175 -0
  167. package/bundle/node_modules/protons-runtime/dist/src/utils/pool.js +28 -0
  168. package/bundle/node_modules/protons-runtime/dist/src/utils/reader.js +367 -0
  169. package/bundle/node_modules/protons-runtime/dist/src/utils/utf8.js +99 -0
  170. package/bundle/node_modules/protons-runtime/dist/src/utils/writer.js +438 -0
  171. package/bundle/node_modules/uint8-varint/dist/src/index.js +124 -0
  172. package/bundle/node_modules/uint8arrays/dist/src/alloc.js +17 -0
  173. package/bundle/node_modules/uint8arrays/dist/src/from-string.js +19 -0
  174. package/bundle/node_modules/uint8arrays/dist/src/util/bases.js +49 -0
  175. package/bundle/packages/core/dist/lib/connection_manager/connection_manager.js +21 -0
  176. package/bundle/packages/core/dist/lib/connection_manager/keep_alive_manager.js +18 -0
  177. package/bundle/packages/core/dist/lib/filter/filter.js +27 -0
  178. package/bundle/packages/core/dist/lib/light_push/light_push.js +27 -0
  179. package/bundle/packages/core/dist/lib/message/version_0.js +154 -0
  180. package/bundle/packages/core/dist/lib/metadata/metadata.js +27 -0
  181. package/bundle/packages/core/dist/lib/store/store.js +27 -0
  182. package/bundle/packages/interfaces/dist/connection_manager.js +19 -0
  183. package/bundle/packages/interfaces/dist/constants.js +6 -0
  184. package/bundle/packages/interfaces/dist/health_indicator.js +12 -0
  185. package/bundle/packages/interfaces/dist/protocols.js +92 -0
  186. package/bundle/packages/proto/dist/generated/filter.js +445 -0
  187. package/bundle/packages/proto/dist/generated/filter_v2.js +424 -0
  188. package/bundle/packages/proto/dist/generated/light_push.js +389 -0
  189. package/bundle/packages/proto/dist/generated/message.js +213 -0
  190. package/bundle/packages/proto/dist/generated/metadata.js +130 -0
  191. package/bundle/packages/proto/dist/generated/peer_exchange.js +209 -0
  192. package/bundle/packages/proto/dist/generated/sds_message.js +105 -0
  193. package/bundle/packages/proto/dist/generated/store_v3.js +490 -0
  194. package/bundle/packages/proto/dist/generated/topic_only_message.js +61 -0
  195. package/bundle/packages/rln/dist/codec.js +93 -0
  196. package/bundle/packages/rln/dist/contract/abi.js +394 -0
  197. package/bundle/packages/rln/dist/contract/constants.js +27 -0
  198. package/bundle/packages/rln/dist/contract/rln_contract.js +438 -0
  199. package/bundle/packages/rln/dist/create.js +9 -0
  200. package/bundle/packages/rln/dist/identity.js +30 -0
  201. package/bundle/packages/rln/dist/keystore/cipher.js +31 -0
  202. package/bundle/packages/rln/dist/keystore/credential_validation_generated.js +119 -0
  203. package/bundle/packages/rln/dist/keystore/keystore.js +223 -0
  204. package/bundle/packages/rln/dist/keystore/keystore_validation_generated.js +74 -0
  205. package/bundle/packages/rln/dist/keystore/schema_validator.js +20 -0
  206. package/bundle/packages/rln/dist/message.js +51 -0
  207. package/bundle/packages/rln/dist/proof.js +54 -0
  208. package/bundle/packages/rln/dist/resources/verification_key.js +112 -0
  209. package/bundle/packages/rln/dist/resources/witness_calculator.js +330 -0
  210. package/bundle/packages/rln/dist/rln.js +220 -0
  211. package/bundle/packages/rln/dist/root_tracker.js +76 -0
  212. package/bundle/packages/rln/dist/utils/bytes.js +65 -0
  213. package/bundle/packages/rln/dist/utils/epoch.js +39 -0
  214. package/bundle/packages/rln/dist/utils/hash.js +10 -0
  215. package/bundle/packages/rln/dist/utils/metamask.js +14 -0
  216. package/bundle/packages/rln/dist/zerokit.js +128 -0
  217. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/checksum.js +52 -0
  218. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/cipher.js +65 -0
  219. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/class.js +99 -0
  220. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/functional.js +103 -0
  221. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/index.js +28 -0
  222. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/kdf.js +78 -0
  223. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/password.js +17 -0
  224. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/schema-validation-generated.js +1253 -0
  225. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/schema-validation.js +40 -0
  226. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/types.js +5 -0
  227. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/aes.js +103 -0
  228. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/pbkdf2.js +41 -0
  229. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +17 -0
  230. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/scrypt.js +23 -0
  231. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/sha256.js +12 -0
  232. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +77 -0
  233. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/index.js +9 -0
  234. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  235. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/nil.js +3 -0
  236. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  237. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/regex.js +3 -0
  238. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/rng.js +21 -0
  239. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  240. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/stringify.js +31 -0
  241. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v1.js +96 -0
  242. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v3.js +6 -0
  243. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  244. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v4.js +24 -0
  245. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v5.js +6 -0
  246. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  247. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/version.js +11 -0
  248. package/bundle/packages/rln/node_modules/@noble/hashes/_assert.js +52 -0
  249. package/bundle/packages/rln/node_modules/@noble/hashes/_sha2.js +124 -0
  250. package/bundle/packages/rln/node_modules/@noble/hashes/_u64.js +71 -0
  251. package/bundle/packages/rln/node_modules/@noble/hashes/cryptoBrowser.js +10 -0
  252. package/bundle/packages/rln/node_modules/@noble/hashes/hmac.js +88 -0
  253. package/bundle/packages/rln/node_modules/@noble/hashes/pbkdf2.js +99 -0
  254. package/bundle/packages/rln/node_modules/@noble/hashes/scrypt.js +233 -0
  255. package/bundle/packages/rln/node_modules/@noble/hashes/sha256.js +133 -0
  256. package/bundle/packages/rln/node_modules/@noble/hashes/sha512.js +243 -0
  257. package/bundle/packages/rln/node_modules/@noble/hashes/utils.js +167 -0
  258. package/bundle/packages/rln/node_modules/uuid/dist/esm-browser/native.js +4 -0
  259. package/bundle/packages/rln/node_modules/uuid/dist/esm-browser/rng.js +13 -0
  260. package/bundle/packages/rln/node_modules/uuid/dist/esm-browser/stringify.js +28 -0
  261. package/bundle/packages/rln/node_modules/uuid/dist/esm-browser/v4.js +19 -0
  262. package/bundle/packages/utils/dist/bytes/index.js +44 -0
  263. package/bundle/packages/utils/dist/common/sharding/index.js +91 -0
  264. package/bundle/packages/utils/dist/logger/index.js +31 -0
  265. package/bundle/resources/verification_key.d.ts +13 -0
  266. package/bundle/resources/verification_key.js +112 -0
  267. package/bundle/resources/witness_calculator.d.ts +11 -0
  268. package/bundle/resources/witness_calculator.js +328 -0
  269. package/dist/.tsbuildinfo +1 -0
  270. package/dist/codec.d.ts +5 -5
  271. package/dist/codec.js +6 -6
  272. package/dist/codec.js.map +1 -1
  273. package/dist/contract/abi.d.ts +42 -0
  274. package/dist/contract/abi.js +393 -0
  275. package/dist/contract/abi.js.map +1 -0
  276. package/dist/contract/constants.d.ts +59 -3
  277. package/dist/contract/constants.js +21 -63
  278. package/dist/contract/constants.js.map +1 -1
  279. package/dist/contract/rln_contract.d.ts +98 -17
  280. package/dist/contract/rln_contract.js +292 -71
  281. package/dist/contract/rln_contract.js.map +1 -1
  282. package/dist/identity.js +5 -2
  283. package/dist/identity.js.map +1 -1
  284. package/dist/index.d.ts +3 -3
  285. package/dist/index.js +3 -3
  286. package/dist/index.js.map +1 -1
  287. package/dist/keystore/cipher.js +3 -3
  288. package/dist/keystore/cipher.js.map +1 -1
  289. package/dist/keystore/credential_validation_generated.js.map +1 -1
  290. package/dist/keystore/keystore.js +4 -4
  291. package/dist/keystore/keystore.js.map +1 -1
  292. package/dist/keystore/keystore_validation_generated.js.map +1 -1
  293. package/dist/message.js +3 -3
  294. package/dist/message.js.map +1 -1
  295. package/dist/proof.js +3 -2
  296. package/dist/proof.js.map +1 -1
  297. package/dist/resources/verification_key.d.ts +12 -11
  298. package/dist/resources/verification_key.js +103 -103
  299. package/dist/resources/witness_calculator.d.ts +10 -15
  300. package/dist/resources/witness_calculator.js +302 -265
  301. package/dist/rln.d.ts +5 -1
  302. package/dist/rln.js +56 -28
  303. package/dist/rln.js.map +1 -1
  304. package/dist/root_tracker.js.map +1 -1
  305. package/dist/utils/epoch.js +5 -5
  306. package/dist/utils/epoch.js.map +1 -1
  307. package/dist/zerokit.d.ts +13 -9
  308. package/dist/zerokit.js +40 -20
  309. package/dist/zerokit.js.map +1 -1
  310. package/package.json +1 -146
  311. package/src/codec.ts +26 -22
  312. package/src/contract/abi.ts +392 -0
  313. package/src/contract/constants.ts +28 -0
  314. package/src/contract/index.ts +2 -0
  315. package/src/contract/rln_contract.ts +686 -0
  316. package/src/identity.ts +8 -4
  317. package/src/index.ts +4 -9
  318. package/src/keystore/cipher.ts +54 -0
  319. package/src/keystore/credential_validation_generated.ts +7 -0
  320. package/src/keystore/index.ts +5 -0
  321. package/src/keystore/keystore.ts +330 -0
  322. package/src/keystore/keystore_validation_generated.ts +7 -0
  323. package/src/keystore/schema_validator.ts +34 -0
  324. package/src/keystore/types.ts +36 -0
  325. package/src/message.ts +10 -10
  326. package/src/proof.ts +13 -11
  327. package/src/resources/verification_key.d.ts +13 -0
  328. package/src/resources/witness_calculator.d.ts +11 -0
  329. package/src/rln.ts +76 -31
  330. package/src/root_tracker.ts +7 -6
  331. package/src/utils/bytes.ts +84 -0
  332. package/src/utils/epoch.ts +30 -0
  333. package/src/utils/hash.ts +15 -0
  334. package/src/utils/index.ts +9 -0
  335. package/src/utils/metamask.ts +17 -0
  336. package/src/zerokit.ts +95 -33
  337. package/bundle/assets/rln_wasm_bg-a503e304.wasm +0 -0
  338. package/dist/resources/verification_key.js.map +0 -1
  339. package/dist/resources/witness_calculator.js.map +0 -1
  340. /package/bundle/{assets/rln-6ded2896.wasm → resources/rln.wasm} +0 -0
  341. /package/bundle/{assets/rln_final-8b299152.zkey → resources/rln_final.zkey} +0 -0
@@ -0,0 +1,490 @@
1
+ import { MaxLengthError } from '../../../../node_modules/protons-runtime/dist/src/index.js';
2
+ import { alloc } from '../../../../node_modules/uint8arrays/dist/src/alloc.js';
3
+ import { message } from '../../../../node_modules/protons-runtime/dist/src/codecs/message.js';
4
+ import { encodeMessage } from '../../../../node_modules/protons-runtime/dist/src/encode.js';
5
+ import { decodeMessage } from '../../../../node_modules/protons-runtime/dist/src/decode.js';
6
+
7
+ /* eslint-disable import/export */
8
+ /* eslint-disable complexity */
9
+ /* eslint-disable @typescript-eslint/no-namespace */
10
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
11
+ /* eslint-disable @typescript-eslint/no-empty-interface */
12
+ var WakuMessageKeyValue;
13
+ (function (WakuMessageKeyValue) {
14
+ let _codec;
15
+ WakuMessageKeyValue.codec = () => {
16
+ if (_codec == null) {
17
+ _codec = message((obj, w, opts = {}) => {
18
+ if (opts.lengthDelimited !== false) {
19
+ w.fork();
20
+ }
21
+ if (obj.messageHash != null) {
22
+ w.uint32(10);
23
+ w.bytes(obj.messageHash);
24
+ }
25
+ if (obj.message != null) {
26
+ w.uint32(18);
27
+ WakuMessage.codec().encode(obj.message, w);
28
+ }
29
+ if (obj.pubsubTopic != null) {
30
+ w.uint32(26);
31
+ w.string(obj.pubsubTopic);
32
+ }
33
+ if (opts.lengthDelimited !== false) {
34
+ w.ldelim();
35
+ }
36
+ }, (reader, length, opts = {}) => {
37
+ const obj = {};
38
+ const end = length == null ? reader.len : reader.pos + length;
39
+ while (reader.pos < end) {
40
+ const tag = reader.uint32();
41
+ switch (tag >>> 3) {
42
+ case 1: {
43
+ obj.messageHash = reader.bytes();
44
+ break;
45
+ }
46
+ case 2: {
47
+ obj.message = WakuMessage.codec().decode(reader, reader.uint32(), {
48
+ limits: opts.limits?.message
49
+ });
50
+ break;
51
+ }
52
+ case 3: {
53
+ obj.pubsubTopic = reader.string();
54
+ break;
55
+ }
56
+ default: {
57
+ reader.skipType(tag & 7);
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ return obj;
63
+ });
64
+ }
65
+ return _codec;
66
+ };
67
+ WakuMessageKeyValue.encode = (obj) => {
68
+ return encodeMessage(obj, WakuMessageKeyValue.codec());
69
+ };
70
+ WakuMessageKeyValue.decode = (buf, opts) => {
71
+ return decodeMessage(buf, WakuMessageKeyValue.codec(), opts);
72
+ };
73
+ })(WakuMessageKeyValue || (WakuMessageKeyValue = {}));
74
+ var StoreQueryRequest$1;
75
+ (function (StoreQueryRequest) {
76
+ let _codec;
77
+ StoreQueryRequest.codec = () => {
78
+ if (_codec == null) {
79
+ _codec = message((obj, w, opts = {}) => {
80
+ if (opts.lengthDelimited !== false) {
81
+ w.fork();
82
+ }
83
+ if ((obj.requestId != null && obj.requestId !== '')) {
84
+ w.uint32(10);
85
+ w.string(obj.requestId);
86
+ }
87
+ if ((obj.includeData != null && obj.includeData !== false)) {
88
+ w.uint32(16);
89
+ w.bool(obj.includeData);
90
+ }
91
+ if (obj.pubsubTopic != null) {
92
+ w.uint32(82);
93
+ w.string(obj.pubsubTopic);
94
+ }
95
+ if (obj.contentTopics != null) {
96
+ for (const value of obj.contentTopics) {
97
+ w.uint32(90);
98
+ w.string(value);
99
+ }
100
+ }
101
+ if (obj.timeStart != null) {
102
+ w.uint32(96);
103
+ w.sint64(obj.timeStart);
104
+ }
105
+ if (obj.timeEnd != null) {
106
+ w.uint32(104);
107
+ w.sint64(obj.timeEnd);
108
+ }
109
+ if (obj.messageHashes != null) {
110
+ for (const value of obj.messageHashes) {
111
+ w.uint32(162);
112
+ w.bytes(value);
113
+ }
114
+ }
115
+ if (obj.paginationCursor != null) {
116
+ w.uint32(410);
117
+ w.bytes(obj.paginationCursor);
118
+ }
119
+ if ((obj.paginationForward != null && obj.paginationForward !== false)) {
120
+ w.uint32(416);
121
+ w.bool(obj.paginationForward);
122
+ }
123
+ if (obj.paginationLimit != null) {
124
+ w.uint32(424);
125
+ w.uint64(obj.paginationLimit);
126
+ }
127
+ if (opts.lengthDelimited !== false) {
128
+ w.ldelim();
129
+ }
130
+ }, (reader, length, opts = {}) => {
131
+ const obj = {
132
+ requestId: '',
133
+ includeData: false,
134
+ contentTopics: [],
135
+ messageHashes: [],
136
+ paginationForward: false
137
+ };
138
+ const end = length == null ? reader.len : reader.pos + length;
139
+ while (reader.pos < end) {
140
+ const tag = reader.uint32();
141
+ switch (tag >>> 3) {
142
+ case 1: {
143
+ obj.requestId = reader.string();
144
+ break;
145
+ }
146
+ case 2: {
147
+ obj.includeData = reader.bool();
148
+ break;
149
+ }
150
+ case 10: {
151
+ obj.pubsubTopic = reader.string();
152
+ break;
153
+ }
154
+ case 11: {
155
+ if (opts.limits?.contentTopics != null && obj.contentTopics.length === opts.limits.contentTopics) {
156
+ throw new MaxLengthError('Decode error - map field "contentTopics" had too many elements');
157
+ }
158
+ obj.contentTopics.push(reader.string());
159
+ break;
160
+ }
161
+ case 12: {
162
+ obj.timeStart = reader.sint64();
163
+ break;
164
+ }
165
+ case 13: {
166
+ obj.timeEnd = reader.sint64();
167
+ break;
168
+ }
169
+ case 20: {
170
+ if (opts.limits?.messageHashes != null && obj.messageHashes.length === opts.limits.messageHashes) {
171
+ throw new MaxLengthError('Decode error - map field "messageHashes" had too many elements');
172
+ }
173
+ obj.messageHashes.push(reader.bytes());
174
+ break;
175
+ }
176
+ case 51: {
177
+ obj.paginationCursor = reader.bytes();
178
+ break;
179
+ }
180
+ case 52: {
181
+ obj.paginationForward = reader.bool();
182
+ break;
183
+ }
184
+ case 53: {
185
+ obj.paginationLimit = reader.uint64();
186
+ break;
187
+ }
188
+ default: {
189
+ reader.skipType(tag & 7);
190
+ break;
191
+ }
192
+ }
193
+ }
194
+ return obj;
195
+ });
196
+ }
197
+ return _codec;
198
+ };
199
+ StoreQueryRequest.encode = (obj) => {
200
+ return encodeMessage(obj, StoreQueryRequest.codec());
201
+ };
202
+ StoreQueryRequest.decode = (buf, opts) => {
203
+ return decodeMessage(buf, StoreQueryRequest.codec(), opts);
204
+ };
205
+ })(StoreQueryRequest$1 || (StoreQueryRequest$1 = {}));
206
+ var StoreQueryResponse$1;
207
+ (function (StoreQueryResponse) {
208
+ let _codec;
209
+ StoreQueryResponse.codec = () => {
210
+ if (_codec == null) {
211
+ _codec = message((obj, w, opts = {}) => {
212
+ if (opts.lengthDelimited !== false) {
213
+ w.fork();
214
+ }
215
+ if ((obj.requestId != null && obj.requestId !== '')) {
216
+ w.uint32(10);
217
+ w.string(obj.requestId);
218
+ }
219
+ if (obj.statusCode != null) {
220
+ w.uint32(80);
221
+ w.uint32(obj.statusCode);
222
+ }
223
+ if (obj.statusDesc != null) {
224
+ w.uint32(90);
225
+ w.string(obj.statusDesc);
226
+ }
227
+ if (obj.messages != null) {
228
+ for (const value of obj.messages) {
229
+ w.uint32(162);
230
+ WakuMessageKeyValue.codec().encode(value, w);
231
+ }
232
+ }
233
+ if (obj.paginationCursor != null) {
234
+ w.uint32(410);
235
+ w.bytes(obj.paginationCursor);
236
+ }
237
+ if (opts.lengthDelimited !== false) {
238
+ w.ldelim();
239
+ }
240
+ }, (reader, length, opts = {}) => {
241
+ const obj = {
242
+ requestId: '',
243
+ messages: []
244
+ };
245
+ const end = length == null ? reader.len : reader.pos + length;
246
+ while (reader.pos < end) {
247
+ const tag = reader.uint32();
248
+ switch (tag >>> 3) {
249
+ case 1: {
250
+ obj.requestId = reader.string();
251
+ break;
252
+ }
253
+ case 10: {
254
+ obj.statusCode = reader.uint32();
255
+ break;
256
+ }
257
+ case 11: {
258
+ obj.statusDesc = reader.string();
259
+ break;
260
+ }
261
+ case 20: {
262
+ if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {
263
+ throw new MaxLengthError('Decode error - map field "messages" had too many elements');
264
+ }
265
+ obj.messages.push(WakuMessageKeyValue.codec().decode(reader, reader.uint32(), {
266
+ limits: opts.limits?.messages$
267
+ }));
268
+ break;
269
+ }
270
+ case 51: {
271
+ obj.paginationCursor = reader.bytes();
272
+ break;
273
+ }
274
+ default: {
275
+ reader.skipType(tag & 7);
276
+ break;
277
+ }
278
+ }
279
+ }
280
+ return obj;
281
+ });
282
+ }
283
+ return _codec;
284
+ };
285
+ StoreQueryResponse.encode = (obj) => {
286
+ return encodeMessage(obj, StoreQueryResponse.codec());
287
+ };
288
+ StoreQueryResponse.decode = (buf, opts) => {
289
+ return decodeMessage(buf, StoreQueryResponse.codec(), opts);
290
+ };
291
+ })(StoreQueryResponse$1 || (StoreQueryResponse$1 = {}));
292
+ var RateLimitProof;
293
+ (function (RateLimitProof) {
294
+ let _codec;
295
+ RateLimitProof.codec = () => {
296
+ if (_codec == null) {
297
+ _codec = message((obj, w, opts = {}) => {
298
+ if (opts.lengthDelimited !== false) {
299
+ w.fork();
300
+ }
301
+ if ((obj.proof != null && obj.proof.byteLength > 0)) {
302
+ w.uint32(10);
303
+ w.bytes(obj.proof);
304
+ }
305
+ if ((obj.merkleRoot != null && obj.merkleRoot.byteLength > 0)) {
306
+ w.uint32(18);
307
+ w.bytes(obj.merkleRoot);
308
+ }
309
+ if ((obj.epoch != null && obj.epoch.byteLength > 0)) {
310
+ w.uint32(26);
311
+ w.bytes(obj.epoch);
312
+ }
313
+ if ((obj.shareX != null && obj.shareX.byteLength > 0)) {
314
+ w.uint32(34);
315
+ w.bytes(obj.shareX);
316
+ }
317
+ if ((obj.shareY != null && obj.shareY.byteLength > 0)) {
318
+ w.uint32(42);
319
+ w.bytes(obj.shareY);
320
+ }
321
+ if ((obj.nullifier != null && obj.nullifier.byteLength > 0)) {
322
+ w.uint32(50);
323
+ w.bytes(obj.nullifier);
324
+ }
325
+ if ((obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0)) {
326
+ w.uint32(58);
327
+ w.bytes(obj.rlnIdentifier);
328
+ }
329
+ if (opts.lengthDelimited !== false) {
330
+ w.ldelim();
331
+ }
332
+ }, (reader, length, opts = {}) => {
333
+ const obj = {
334
+ proof: alloc(0),
335
+ merkleRoot: alloc(0),
336
+ epoch: alloc(0),
337
+ shareX: alloc(0),
338
+ shareY: alloc(0),
339
+ nullifier: alloc(0),
340
+ rlnIdentifier: alloc(0)
341
+ };
342
+ const end = length == null ? reader.len : reader.pos + length;
343
+ while (reader.pos < end) {
344
+ const tag = reader.uint32();
345
+ switch (tag >>> 3) {
346
+ case 1: {
347
+ obj.proof = reader.bytes();
348
+ break;
349
+ }
350
+ case 2: {
351
+ obj.merkleRoot = reader.bytes();
352
+ break;
353
+ }
354
+ case 3: {
355
+ obj.epoch = reader.bytes();
356
+ break;
357
+ }
358
+ case 4: {
359
+ obj.shareX = reader.bytes();
360
+ break;
361
+ }
362
+ case 5: {
363
+ obj.shareY = reader.bytes();
364
+ break;
365
+ }
366
+ case 6: {
367
+ obj.nullifier = reader.bytes();
368
+ break;
369
+ }
370
+ case 7: {
371
+ obj.rlnIdentifier = reader.bytes();
372
+ break;
373
+ }
374
+ default: {
375
+ reader.skipType(tag & 7);
376
+ break;
377
+ }
378
+ }
379
+ }
380
+ return obj;
381
+ });
382
+ }
383
+ return _codec;
384
+ };
385
+ RateLimitProof.encode = (obj) => {
386
+ return encodeMessage(obj, RateLimitProof.codec());
387
+ };
388
+ RateLimitProof.decode = (buf, opts) => {
389
+ return decodeMessage(buf, RateLimitProof.codec(), opts);
390
+ };
391
+ })(RateLimitProof || (RateLimitProof = {}));
392
+ var WakuMessage;
393
+ (function (WakuMessage) {
394
+ let _codec;
395
+ WakuMessage.codec = () => {
396
+ if (_codec == null) {
397
+ _codec = message((obj, w, opts = {}) => {
398
+ if (opts.lengthDelimited !== false) {
399
+ w.fork();
400
+ }
401
+ if ((obj.payload != null && obj.payload.byteLength > 0)) {
402
+ w.uint32(10);
403
+ w.bytes(obj.payload);
404
+ }
405
+ if ((obj.contentTopic != null && obj.contentTopic !== '')) {
406
+ w.uint32(18);
407
+ w.string(obj.contentTopic);
408
+ }
409
+ if (obj.version != null) {
410
+ w.uint32(24);
411
+ w.uint32(obj.version);
412
+ }
413
+ if (obj.timestamp != null) {
414
+ w.uint32(80);
415
+ w.sint64(obj.timestamp);
416
+ }
417
+ if (obj.meta != null) {
418
+ w.uint32(90);
419
+ w.bytes(obj.meta);
420
+ }
421
+ if (obj.rateLimitProof != null) {
422
+ w.uint32(170);
423
+ RateLimitProof.codec().encode(obj.rateLimitProof, w);
424
+ }
425
+ if (obj.ephemeral != null) {
426
+ w.uint32(248);
427
+ w.bool(obj.ephemeral);
428
+ }
429
+ if (opts.lengthDelimited !== false) {
430
+ w.ldelim();
431
+ }
432
+ }, (reader, length, opts = {}) => {
433
+ const obj = {
434
+ payload: alloc(0),
435
+ contentTopic: ''
436
+ };
437
+ const end = length == null ? reader.len : reader.pos + length;
438
+ while (reader.pos < end) {
439
+ const tag = reader.uint32();
440
+ switch (tag >>> 3) {
441
+ case 1: {
442
+ obj.payload = reader.bytes();
443
+ break;
444
+ }
445
+ case 2: {
446
+ obj.contentTopic = reader.string();
447
+ break;
448
+ }
449
+ case 3: {
450
+ obj.version = reader.uint32();
451
+ break;
452
+ }
453
+ case 10: {
454
+ obj.timestamp = reader.sint64();
455
+ break;
456
+ }
457
+ case 11: {
458
+ obj.meta = reader.bytes();
459
+ break;
460
+ }
461
+ case 21: {
462
+ obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {
463
+ limits: opts.limits?.rateLimitProof
464
+ });
465
+ break;
466
+ }
467
+ case 31: {
468
+ obj.ephemeral = reader.bool();
469
+ break;
470
+ }
471
+ default: {
472
+ reader.skipType(tag & 7);
473
+ break;
474
+ }
475
+ }
476
+ }
477
+ return obj;
478
+ });
479
+ }
480
+ return _codec;
481
+ };
482
+ WakuMessage.encode = (obj) => {
483
+ return encodeMessage(obj, WakuMessage.codec());
484
+ };
485
+ WakuMessage.decode = (buf, opts) => {
486
+ return decodeMessage(buf, WakuMessage.codec(), opts);
487
+ };
488
+ })(WakuMessage || (WakuMessage = {}));
489
+
490
+ export { RateLimitProof, StoreQueryRequest$1 as StoreQueryRequest, StoreQueryResponse$1 as StoreQueryResponse, WakuMessage, WakuMessageKeyValue };
@@ -0,0 +1,61 @@
1
+ import { decodeMessage } from '../../../../node_modules/protons-runtime/dist/src/decode.js';
2
+ import { encodeMessage } from '../../../../node_modules/protons-runtime/dist/src/encode.js';
3
+ import '../../../../node_modules/protons-runtime/dist/src/codec.js';
4
+ import { message } from '../../../../node_modules/protons-runtime/dist/src/codecs/message.js';
5
+ import '../../../../node_modules/protons-runtime/dist/src/utils/float.js';
6
+ import '../../../../node_modules/protons-runtime/dist/src/utils/longbits.js';
7
+ import '../../../../node_modules/protons-runtime/dist/src/utils/writer.js';
8
+
9
+ /* eslint-disable import/export */
10
+ /* eslint-disable complexity */
11
+ /* eslint-disable @typescript-eslint/no-namespace */
12
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
13
+ /* eslint-disable @typescript-eslint/no-empty-interface */
14
+ var TopicOnlyMessage;
15
+ (function (TopicOnlyMessage) {
16
+ let _codec;
17
+ TopicOnlyMessage.codec = () => {
18
+ if (_codec == null) {
19
+ _codec = message((obj, w, opts = {}) => {
20
+ if (opts.lengthDelimited !== false) {
21
+ w.fork();
22
+ }
23
+ if ((obj.contentTopic != null && obj.contentTopic !== '')) {
24
+ w.uint32(18);
25
+ w.string(obj.contentTopic);
26
+ }
27
+ if (opts.lengthDelimited !== false) {
28
+ w.ldelim();
29
+ }
30
+ }, (reader, length, opts = {}) => {
31
+ const obj = {
32
+ contentTopic: ''
33
+ };
34
+ const end = length == null ? reader.len : reader.pos + length;
35
+ while (reader.pos < end) {
36
+ const tag = reader.uint32();
37
+ switch (tag >>> 3) {
38
+ case 2: {
39
+ obj.contentTopic = reader.string();
40
+ break;
41
+ }
42
+ default: {
43
+ reader.skipType(tag & 7);
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ return obj;
49
+ });
50
+ }
51
+ return _codec;
52
+ };
53
+ TopicOnlyMessage.encode = (obj) => {
54
+ return encodeMessage(obj, TopicOnlyMessage.codec());
55
+ };
56
+ TopicOnlyMessage.decode = (buf, opts) => {
57
+ return decodeMessage(buf, TopicOnlyMessage.codec(), opts);
58
+ };
59
+ })(TopicOnlyMessage || (TopicOnlyMessage = {}));
60
+
61
+ export { TopicOnlyMessage };
@@ -0,0 +1,93 @@
1
+ import '../../interfaces/dist/protocols.js';
2
+ import '../../interfaces/dist/connection_manager.js';
3
+ import '../../interfaces/dist/health_indicator.js';
4
+ import '../../../node_modules/multiformats/dist/src/bases/base10.js';
5
+ import '../../../node_modules/multiformats/dist/src/bases/base16.js';
6
+ import '../../../node_modules/multiformats/dist/src/bases/base2.js';
7
+ import '../../../node_modules/multiformats/dist/src/bases/base256emoji.js';
8
+ import '../../../node_modules/multiformats/dist/src/bases/base32.js';
9
+ import '../../../node_modules/multiformats/dist/src/bases/base36.js';
10
+ import '../../../node_modules/multiformats/dist/src/bases/base58.js';
11
+ import '../../../node_modules/multiformats/dist/src/bases/base64.js';
12
+ import '../../../node_modules/multiformats/dist/src/bases/base8.js';
13
+ import '../../../node_modules/multiformats/dist/src/bases/identity.js';
14
+ import '../../../node_modules/multiformats/dist/src/codecs/json.js';
15
+ import { Logger } from '../../utils/dist/logger/index.js';
16
+ import { toRLNSignal, RlnMessage } from './message.js';
17
+
18
+ const log = new Logger("waku:rln:encoder");
19
+ class RLNEncoder {
20
+ encoder;
21
+ rlnInstance;
22
+ index;
23
+ idSecretHash;
24
+ constructor(encoder, rlnInstance, index, identityCredential) {
25
+ this.encoder = encoder;
26
+ this.rlnInstance = rlnInstance;
27
+ this.index = index;
28
+ if (index < 0)
29
+ throw new Error("Invalid membership index");
30
+ this.idSecretHash = identityCredential.IDSecretHash;
31
+ }
32
+ async toWire(message) {
33
+ message.rateLimitProof = await this.generateProof(message);
34
+ log.info("Proof generated", message.rateLimitProof);
35
+ return this.encoder.toWire(message);
36
+ }
37
+ async toProtoObj(message) {
38
+ const protoMessage = await this.encoder.toProtoObj(message);
39
+ if (!protoMessage)
40
+ return;
41
+ protoMessage.contentTopic = this.contentTopic;
42
+ protoMessage.rateLimitProof = await this.generateProof(message);
43
+ log.info("Proof generated", protoMessage.rateLimitProof);
44
+ return protoMessage;
45
+ }
46
+ async generateProof(message) {
47
+ const signal = toRLNSignal(this.contentTopic, message);
48
+ const proof = await this.rlnInstance.zerokit.generateRLNProof(signal, this.index, message.timestamp, this.idSecretHash);
49
+ return proof;
50
+ }
51
+ get pubsubTopic() {
52
+ return this.encoder.pubsubTopic;
53
+ }
54
+ get contentTopic() {
55
+ return this.encoder.contentTopic;
56
+ }
57
+ get ephemeral() {
58
+ return this.encoder.ephemeral;
59
+ }
60
+ }
61
+ const createRLNEncoder = (options) => {
62
+ return new RLNEncoder(options.encoder, options.rlnInstance, options.index, options.credential);
63
+ };
64
+ class RLNDecoder {
65
+ rlnInstance;
66
+ decoder;
67
+ constructor(rlnInstance, decoder) {
68
+ this.rlnInstance = rlnInstance;
69
+ this.decoder = decoder;
70
+ }
71
+ get pubsubTopic() {
72
+ return this.decoder.pubsubTopic;
73
+ }
74
+ get contentTopic() {
75
+ return this.decoder.contentTopic;
76
+ }
77
+ fromWireToProtoObj(bytes) {
78
+ const protoMessage = this.decoder.fromWireToProtoObj(bytes);
79
+ log.info("Message decoded", protoMessage);
80
+ return Promise.resolve(protoMessage);
81
+ }
82
+ async fromProtoObj(pubsubTopic, proto) {
83
+ const msg = await this.decoder.fromProtoObj(pubsubTopic, proto);
84
+ if (!msg)
85
+ return;
86
+ return new RlnMessage(this.rlnInstance, msg, proto.rateLimitProof);
87
+ }
88
+ }
89
+ const createRLNDecoder = (options) => {
90
+ return new RLNDecoder(options.rlnInstance, options.decoder);
91
+ };
92
+
93
+ export { RLNDecoder, RLNEncoder, createRLNDecoder, createRLNEncoder };