@waku/rln 0.1.3-f6d5deb → 0.1.4-0e49a1e.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,422 @@
1
+ import { getAddress, getContractAddress } from '../../address/lib.esm/index.js';
2
+ import { isHexString, hexDataSlice, hexValue, hexDataLength, hexZeroPad } from '../../bytes/lib.esm/index.js';
3
+ import { shallowCopy } from '../../properties/lib.esm/index.js';
4
+ import { accessListify, parse } from '../../transactions/lib.esm/index.js';
5
+ import { Logger } from '../../logger/lib.esm/index.js';
6
+ import { version } from './_version.js';
7
+ import { BigNumber } from '../../bignumber/lib.esm/bignumber.js';
8
+ import { AddressZero } from '../../constants/lib.esm/addresses.js';
9
+
10
+ const logger = new Logger(version);
11
+ class Formatter {
12
+ constructor() {
13
+ this.formats = this.getDefaultFormats();
14
+ }
15
+ getDefaultFormats() {
16
+ const formats = ({});
17
+ const address = this.address.bind(this);
18
+ const bigNumber = this.bigNumber.bind(this);
19
+ const blockTag = this.blockTag.bind(this);
20
+ const data = this.data.bind(this);
21
+ const hash = this.hash.bind(this);
22
+ const hex = this.hex.bind(this);
23
+ const number = this.number.bind(this);
24
+ const type = this.type.bind(this);
25
+ const strictData = (v) => { return this.data(v, true); };
26
+ formats.transaction = {
27
+ hash: hash,
28
+ type: type,
29
+ accessList: Formatter.allowNull(this.accessList.bind(this), null),
30
+ blockHash: Formatter.allowNull(hash, null),
31
+ blockNumber: Formatter.allowNull(number, null),
32
+ transactionIndex: Formatter.allowNull(number, null),
33
+ confirmations: Formatter.allowNull(number, null),
34
+ from: address,
35
+ // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)
36
+ // must be set
37
+ gasPrice: Formatter.allowNull(bigNumber),
38
+ maxPriorityFeePerGas: Formatter.allowNull(bigNumber),
39
+ maxFeePerGas: Formatter.allowNull(bigNumber),
40
+ gasLimit: bigNumber,
41
+ to: Formatter.allowNull(address, null),
42
+ value: bigNumber,
43
+ nonce: number,
44
+ data: data,
45
+ r: Formatter.allowNull(this.uint256),
46
+ s: Formatter.allowNull(this.uint256),
47
+ v: Formatter.allowNull(number),
48
+ creates: Formatter.allowNull(address, null),
49
+ raw: Formatter.allowNull(data),
50
+ };
51
+ formats.transactionRequest = {
52
+ from: Formatter.allowNull(address),
53
+ nonce: Formatter.allowNull(number),
54
+ gasLimit: Formatter.allowNull(bigNumber),
55
+ gasPrice: Formatter.allowNull(bigNumber),
56
+ maxPriorityFeePerGas: Formatter.allowNull(bigNumber),
57
+ maxFeePerGas: Formatter.allowNull(bigNumber),
58
+ to: Formatter.allowNull(address),
59
+ value: Formatter.allowNull(bigNumber),
60
+ data: Formatter.allowNull(strictData),
61
+ type: Formatter.allowNull(number),
62
+ accessList: Formatter.allowNull(this.accessList.bind(this), null),
63
+ };
64
+ formats.receiptLog = {
65
+ transactionIndex: number,
66
+ blockNumber: number,
67
+ transactionHash: hash,
68
+ address: address,
69
+ topics: Formatter.arrayOf(hash),
70
+ data: data,
71
+ logIndex: number,
72
+ blockHash: hash,
73
+ };
74
+ formats.receipt = {
75
+ to: Formatter.allowNull(this.address, null),
76
+ from: Formatter.allowNull(this.address, null),
77
+ contractAddress: Formatter.allowNull(address, null),
78
+ transactionIndex: number,
79
+ // should be allowNull(hash), but broken-EIP-658 support is handled in receipt
80
+ root: Formatter.allowNull(hex),
81
+ gasUsed: bigNumber,
82
+ logsBloom: Formatter.allowNull(data),
83
+ blockHash: hash,
84
+ transactionHash: hash,
85
+ logs: Formatter.arrayOf(this.receiptLog.bind(this)),
86
+ blockNumber: number,
87
+ confirmations: Formatter.allowNull(number, null),
88
+ cumulativeGasUsed: bigNumber,
89
+ effectiveGasPrice: Formatter.allowNull(bigNumber),
90
+ status: Formatter.allowNull(number),
91
+ type: type
92
+ };
93
+ formats.block = {
94
+ hash: Formatter.allowNull(hash),
95
+ parentHash: hash,
96
+ number: number,
97
+ timestamp: number,
98
+ nonce: Formatter.allowNull(hex),
99
+ difficulty: this.difficulty.bind(this),
100
+ gasLimit: bigNumber,
101
+ gasUsed: bigNumber,
102
+ miner: Formatter.allowNull(address),
103
+ extraData: data,
104
+ transactions: Formatter.allowNull(Formatter.arrayOf(hash)),
105
+ baseFeePerGas: Formatter.allowNull(bigNumber)
106
+ };
107
+ formats.blockWithTransactions = shallowCopy(formats.block);
108
+ formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));
109
+ formats.filter = {
110
+ fromBlock: Formatter.allowNull(blockTag, undefined),
111
+ toBlock: Formatter.allowNull(blockTag, undefined),
112
+ blockHash: Formatter.allowNull(hash, undefined),
113
+ address: Formatter.allowNull(address, undefined),
114
+ topics: Formatter.allowNull(this.topics.bind(this), undefined),
115
+ };
116
+ formats.filterLog = {
117
+ blockNumber: Formatter.allowNull(number),
118
+ blockHash: Formatter.allowNull(hash),
119
+ transactionIndex: number,
120
+ removed: Formatter.allowNull(this.boolean.bind(this)),
121
+ address: address,
122
+ data: Formatter.allowFalsish(data, "0x"),
123
+ topics: Formatter.arrayOf(hash),
124
+ transactionHash: hash,
125
+ logIndex: number,
126
+ };
127
+ return formats;
128
+ }
129
+ accessList(accessList) {
130
+ return accessListify(accessList || []);
131
+ }
132
+ // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number
133
+ // Strict! Used on input.
134
+ number(number) {
135
+ if (number === "0x") {
136
+ return 0;
137
+ }
138
+ return BigNumber.from(number).toNumber();
139
+ }
140
+ type(number) {
141
+ if (number === "0x" || number == null) {
142
+ return 0;
143
+ }
144
+ return BigNumber.from(number).toNumber();
145
+ }
146
+ // Strict! Used on input.
147
+ bigNumber(value) {
148
+ return BigNumber.from(value);
149
+ }
150
+ // Requires a boolean, "true" or "false"; returns a boolean
151
+ boolean(value) {
152
+ if (typeof (value) === "boolean") {
153
+ return value;
154
+ }
155
+ if (typeof (value) === "string") {
156
+ value = value.toLowerCase();
157
+ if (value === "true") {
158
+ return true;
159
+ }
160
+ if (value === "false") {
161
+ return false;
162
+ }
163
+ }
164
+ throw new Error("invalid boolean - " + value);
165
+ }
166
+ hex(value, strict) {
167
+ if (typeof (value) === "string") {
168
+ if (!strict && value.substring(0, 2) !== "0x") {
169
+ value = "0x" + value;
170
+ }
171
+ if (isHexString(value)) {
172
+ return value.toLowerCase();
173
+ }
174
+ }
175
+ return logger.throwArgumentError("invalid hash", "value", value);
176
+ }
177
+ data(value, strict) {
178
+ const result = this.hex(value, strict);
179
+ if ((result.length % 2) !== 0) {
180
+ throw new Error("invalid data; odd-length - " + value);
181
+ }
182
+ return result;
183
+ }
184
+ // Requires an address
185
+ // Strict! Used on input.
186
+ address(value) {
187
+ return getAddress(value);
188
+ }
189
+ callAddress(value) {
190
+ if (!isHexString(value, 32)) {
191
+ return null;
192
+ }
193
+ const address = getAddress(hexDataSlice(value, 12));
194
+ return (address === AddressZero) ? null : address;
195
+ }
196
+ contractAddress(value) {
197
+ return getContractAddress(value);
198
+ }
199
+ // Strict! Used on input.
200
+ blockTag(blockTag) {
201
+ if (blockTag == null) {
202
+ return "latest";
203
+ }
204
+ if (blockTag === "earliest") {
205
+ return "0x0";
206
+ }
207
+ switch (blockTag) {
208
+ case "earliest": return "0x0";
209
+ case "latest":
210
+ case "pending":
211
+ case "safe":
212
+ case "finalized":
213
+ return blockTag;
214
+ }
215
+ if (typeof (blockTag) === "number" || isHexString(blockTag)) {
216
+ return hexValue(blockTag);
217
+ }
218
+ throw new Error("invalid blockTag");
219
+ }
220
+ // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.
221
+ hash(value, strict) {
222
+ const result = this.hex(value, strict);
223
+ if (hexDataLength(result) !== 32) {
224
+ return logger.throwArgumentError("invalid hash", "value", value);
225
+ }
226
+ return result;
227
+ }
228
+ // Returns the difficulty as a number, or if too large (i.e. PoA network) null
229
+ difficulty(value) {
230
+ if (value == null) {
231
+ return null;
232
+ }
233
+ const v = BigNumber.from(value);
234
+ try {
235
+ return v.toNumber();
236
+ }
237
+ catch (error) { }
238
+ return null;
239
+ }
240
+ uint256(value) {
241
+ if (!isHexString(value)) {
242
+ throw new Error("invalid uint256");
243
+ }
244
+ return hexZeroPad(value, 32);
245
+ }
246
+ _block(value, format) {
247
+ if (value.author != null && value.miner == null) {
248
+ value.miner = value.author;
249
+ }
250
+ // The difficulty may need to come from _difficulty in recursed blocks
251
+ const difficulty = (value._difficulty != null) ? value._difficulty : value.difficulty;
252
+ const result = Formatter.check(format, value);
253
+ result._difficulty = ((difficulty == null) ? null : BigNumber.from(difficulty));
254
+ return result;
255
+ }
256
+ block(value) {
257
+ return this._block(value, this.formats.block);
258
+ }
259
+ blockWithTransactions(value) {
260
+ return this._block(value, this.formats.blockWithTransactions);
261
+ }
262
+ // Strict! Used on input.
263
+ transactionRequest(value) {
264
+ return Formatter.check(this.formats.transactionRequest, value);
265
+ }
266
+ transactionResponse(transaction) {
267
+ // Rename gas to gasLimit
268
+ if (transaction.gas != null && transaction.gasLimit == null) {
269
+ transaction.gasLimit = transaction.gas;
270
+ }
271
+ // Some clients (TestRPC) do strange things like return 0x0 for the
272
+ // 0 address; correct this to be a real address
273
+ if (transaction.to && BigNumber.from(transaction.to).isZero()) {
274
+ transaction.to = "0x0000000000000000000000000000000000000000";
275
+ }
276
+ // Rename input to data
277
+ if (transaction.input != null && transaction.data == null) {
278
+ transaction.data = transaction.input;
279
+ }
280
+ // If to and creates are empty, populate the creates from the transaction
281
+ if (transaction.to == null && transaction.creates == null) {
282
+ transaction.creates = this.contractAddress(transaction);
283
+ }
284
+ if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) {
285
+ transaction.accessList = [];
286
+ }
287
+ const result = Formatter.check(this.formats.transaction, transaction);
288
+ if (transaction.chainId != null) {
289
+ let chainId = transaction.chainId;
290
+ if (isHexString(chainId)) {
291
+ chainId = BigNumber.from(chainId).toNumber();
292
+ }
293
+ result.chainId = chainId;
294
+ }
295
+ else {
296
+ let chainId = transaction.networkId;
297
+ // geth-etc returns chainId
298
+ if (chainId == null && result.v == null) {
299
+ chainId = transaction.chainId;
300
+ }
301
+ if (isHexString(chainId)) {
302
+ chainId = BigNumber.from(chainId).toNumber();
303
+ }
304
+ if (typeof (chainId) !== "number" && result.v != null) {
305
+ chainId = (result.v - 35) / 2;
306
+ if (chainId < 0) {
307
+ chainId = 0;
308
+ }
309
+ chainId = parseInt(chainId);
310
+ }
311
+ if (typeof (chainId) !== "number") {
312
+ chainId = 0;
313
+ }
314
+ result.chainId = chainId;
315
+ }
316
+ // 0x0000... should actually be null
317
+ if (result.blockHash && result.blockHash.replace(/0/g, "") === "x") {
318
+ result.blockHash = null;
319
+ }
320
+ return result;
321
+ }
322
+ transaction(value) {
323
+ return parse(value);
324
+ }
325
+ receiptLog(value) {
326
+ return Formatter.check(this.formats.receiptLog, value);
327
+ }
328
+ receipt(value) {
329
+ const result = Formatter.check(this.formats.receipt, value);
330
+ // RSK incorrectly implemented EIP-658, so we munge things a bit here for it
331
+ if (result.root != null) {
332
+ if (result.root.length <= 4) {
333
+ // Could be 0x00, 0x0, 0x01 or 0x1
334
+ const value = BigNumber.from(result.root).toNumber();
335
+ if (value === 0 || value === 1) {
336
+ // Make sure if both are specified, they match
337
+ if (result.status != null && (result.status !== value)) {
338
+ logger.throwArgumentError("alt-root-status/status mismatch", "value", { root: result.root, status: result.status });
339
+ }
340
+ result.status = value;
341
+ delete result.root;
342
+ }
343
+ else {
344
+ logger.throwArgumentError("invalid alt-root-status", "value.root", result.root);
345
+ }
346
+ }
347
+ else if (result.root.length !== 66) {
348
+ // Must be a valid bytes32
349
+ logger.throwArgumentError("invalid root hash", "value.root", result.root);
350
+ }
351
+ }
352
+ if (result.status != null) {
353
+ result.byzantium = true;
354
+ }
355
+ return result;
356
+ }
357
+ topics(value) {
358
+ if (Array.isArray(value)) {
359
+ return value.map((v) => this.topics(v));
360
+ }
361
+ else if (value != null) {
362
+ return this.hash(value, true);
363
+ }
364
+ return null;
365
+ }
366
+ filter(value) {
367
+ return Formatter.check(this.formats.filter, value);
368
+ }
369
+ filterLog(value) {
370
+ return Formatter.check(this.formats.filterLog, value);
371
+ }
372
+ static check(format, object) {
373
+ const result = {};
374
+ for (const key in format) {
375
+ try {
376
+ const value = format[key](object[key]);
377
+ if (value !== undefined) {
378
+ result[key] = value;
379
+ }
380
+ }
381
+ catch (error) {
382
+ error.checkKey = key;
383
+ error.checkValue = object[key];
384
+ throw error;
385
+ }
386
+ }
387
+ return result;
388
+ }
389
+ // if value is null-ish, nullValue is returned
390
+ static allowNull(format, nullValue) {
391
+ return (function (value) {
392
+ if (value == null) {
393
+ return nullValue;
394
+ }
395
+ return format(value);
396
+ });
397
+ }
398
+ // If value is false-ish, replaceValue is returned
399
+ static allowFalsish(format, replaceValue) {
400
+ return (function (value) {
401
+ if (!value) {
402
+ return replaceValue;
403
+ }
404
+ return format(value);
405
+ });
406
+ }
407
+ // Requires an Array satisfying check
408
+ static arrayOf(format) {
409
+ return (function (array) {
410
+ if (!Array.isArray(array)) {
411
+ throw new Error("not an array");
412
+ }
413
+ const result = [];
414
+ array.forEach(function (value) {
415
+ result.push(format(value));
416
+ });
417
+ return result;
418
+ });
419
+ }
420
+ }
421
+
422
+ export { Formatter };