react-native-quick-crypto 1.0.0-beta.2 → 1.0.0-beta.21

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 (462) hide show
  1. package/QuickCrypto.podspec +143 -7
  2. package/README.md +12 -6
  3. package/android/CMakeLists.txt +82 -21
  4. package/android/build.gradle +47 -4
  5. package/android/src/main/cpp/cpp-adapter.cpp +3 -10
  6. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +13 -10
  7. package/app.plugin.js +3 -0
  8. package/cpp/blake3/HybridBlake3.cpp +118 -0
  9. package/cpp/blake3/HybridBlake3.hpp +35 -0
  10. package/cpp/cipher/CCMCipher.cpp +199 -0
  11. package/cpp/cipher/CCMCipher.hpp +26 -0
  12. package/cpp/cipher/ChaCha20Cipher.cpp +97 -0
  13. package/cpp/cipher/ChaCha20Cipher.hpp +25 -0
  14. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +170 -0
  15. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +30 -0
  16. package/cpp/cipher/HybridCipher.cpp +322 -0
  17. package/cpp/cipher/HybridCipher.hpp +68 -0
  18. package/cpp/cipher/HybridCipherFactory.hpp +97 -0
  19. package/cpp/cipher/OCBCipher.cpp +55 -0
  20. package/cpp/cipher/OCBCipher.hpp +19 -0
  21. package/cpp/cipher/XSalsa20Cipher.cpp +61 -0
  22. package/cpp/cipher/XSalsa20Cipher.hpp +33 -0
  23. package/cpp/ec/HybridEcKeyPair.cpp +428 -0
  24. package/cpp/ec/HybridEcKeyPair.hpp +48 -0
  25. package/cpp/ed25519/HybridEdKeyPair.cpp +300 -0
  26. package/cpp/ed25519/HybridEdKeyPair.hpp +63 -0
  27. package/cpp/hash/HybridHash.cpp +185 -0
  28. package/cpp/hash/HybridHash.hpp +43 -0
  29. package/cpp/hmac/HybridHmac.cpp +95 -0
  30. package/cpp/hmac/HybridHmac.hpp +31 -0
  31. package/cpp/keys/HybridKeyObjectHandle.cpp +243 -0
  32. package/cpp/keys/HybridKeyObjectHandle.hpp +42 -0
  33. package/cpp/keys/KeyObjectData.cpp +226 -0
  34. package/cpp/keys/KeyObjectData.hpp +71 -0
  35. package/cpp/keys/node.h +5 -0
  36. package/cpp/pbkdf2/HybridPbkdf2.cpp +51 -0
  37. package/cpp/pbkdf2/HybridPbkdf2.hpp +24 -0
  38. package/cpp/random/HybridRandom.cpp +32 -18
  39. package/cpp/random/HybridRandom.hpp +18 -30
  40. package/cpp/rsa/HybridRsaKeyPair.cpp +154 -0
  41. package/cpp/rsa/HybridRsaKeyPair.hpp +43 -0
  42. package/cpp/utils/Macros.hpp +68 -0
  43. package/cpp/utils/Utils.hpp +53 -1
  44. package/deps/blake3/.cargo/config.toml +2 -0
  45. package/deps/blake3/.git-blame-ignore-revs +2 -0
  46. package/deps/blake3/.github/workflows/build_b3sum.py +38 -0
  47. package/deps/blake3/.github/workflows/ci.yml +491 -0
  48. package/deps/blake3/.github/workflows/tag.yml +43 -0
  49. package/deps/blake3/.github/workflows/upload_github_release_asset.py +73 -0
  50. package/deps/blake3/CONTRIBUTING.md +31 -0
  51. package/deps/blake3/Cargo.toml +135 -0
  52. package/deps/blake3/LICENSE_A2 +202 -0
  53. package/deps/blake3/LICENSE_A2LLVM +219 -0
  54. package/deps/blake3/LICENSE_CC0 +121 -0
  55. package/deps/blake3/README.md +229 -0
  56. package/deps/blake3/b3sum/Cargo.lock +513 -0
  57. package/deps/blake3/b3sum/Cargo.toml +26 -0
  58. package/deps/blake3/b3sum/README.md +72 -0
  59. package/deps/blake3/b3sum/src/main.rs +564 -0
  60. package/deps/blake3/b3sum/src/unit_tests.rs +235 -0
  61. package/deps/blake3/b3sum/tests/cli_tests.rs +680 -0
  62. package/deps/blake3/b3sum/what_does_check_do.md +176 -0
  63. package/deps/blake3/benches/bench.rs +623 -0
  64. package/deps/blake3/build.rs +389 -0
  65. package/deps/blake3/c/CMakeLists.txt +383 -0
  66. package/deps/blake3/c/CMakePresets.json +73 -0
  67. package/deps/blake3/c/Makefile.testing +82 -0
  68. package/deps/blake3/c/README.md +403 -0
  69. package/deps/blake3/c/blake3-config.cmake.in +14 -0
  70. package/deps/blake3/c/blake3.c +650 -0
  71. package/deps/blake3/c/blake3.h +86 -0
  72. package/deps/blake3/c/blake3_avx2.c +326 -0
  73. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +1815 -0
  74. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +1817 -0
  75. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +1828 -0
  76. package/deps/blake3/c/blake3_avx512.c +1388 -0
  77. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +4824 -0
  78. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +2615 -0
  79. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +2634 -0
  80. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +32 -0
  81. package/deps/blake3/c/blake3_c_rust_bindings/README.md +4 -0
  82. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +477 -0
  83. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +253 -0
  84. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +31 -0
  85. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +333 -0
  86. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +696 -0
  87. package/deps/blake3/c/blake3_dispatch.c +332 -0
  88. package/deps/blake3/c/blake3_impl.h +333 -0
  89. package/deps/blake3/c/blake3_neon.c +366 -0
  90. package/deps/blake3/c/blake3_portable.c +160 -0
  91. package/deps/blake3/c/blake3_sse2.c +566 -0
  92. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +2291 -0
  93. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +2332 -0
  94. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +2350 -0
  95. package/deps/blake3/c/blake3_sse41.c +560 -0
  96. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +2028 -0
  97. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +2069 -0
  98. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +2089 -0
  99. package/deps/blake3/c/blake3_tbb.cpp +37 -0
  100. package/deps/blake3/c/dependencies/CMakeLists.txt +3 -0
  101. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +28 -0
  102. package/deps/blake3/c/example.c +36 -0
  103. package/deps/blake3/c/example_tbb.c +57 -0
  104. package/deps/blake3/c/libblake3.pc.in +12 -0
  105. package/deps/blake3/c/main.c +166 -0
  106. package/deps/blake3/c/test.py +97 -0
  107. package/deps/blake3/media/B3.svg +70 -0
  108. package/deps/blake3/media/BLAKE3.svg +85 -0
  109. package/deps/blake3/media/speed.svg +1474 -0
  110. package/deps/blake3/reference_impl/Cargo.toml +8 -0
  111. package/deps/blake3/reference_impl/README.md +14 -0
  112. package/deps/blake3/reference_impl/reference_impl.rs +374 -0
  113. package/deps/blake3/src/ffi_avx2.rs +65 -0
  114. package/deps/blake3/src/ffi_avx512.rs +169 -0
  115. package/deps/blake3/src/ffi_neon.rs +82 -0
  116. package/deps/blake3/src/ffi_sse2.rs +126 -0
  117. package/deps/blake3/src/ffi_sse41.rs +126 -0
  118. package/deps/blake3/src/guts.rs +60 -0
  119. package/deps/blake3/src/hazmat.rs +704 -0
  120. package/deps/blake3/src/io.rs +64 -0
  121. package/deps/blake3/src/join.rs +92 -0
  122. package/deps/blake3/src/lib.rs +1835 -0
  123. package/deps/blake3/src/platform.rs +587 -0
  124. package/deps/blake3/src/portable.rs +198 -0
  125. package/deps/blake3/src/rust_avx2.rs +474 -0
  126. package/deps/blake3/src/rust_sse2.rs +775 -0
  127. package/deps/blake3/src/rust_sse41.rs +766 -0
  128. package/deps/blake3/src/test.rs +1049 -0
  129. package/deps/blake3/src/traits.rs +227 -0
  130. package/deps/blake3/src/wasm32_simd.rs +794 -0
  131. package/deps/blake3/test_vectors/Cargo.toml +19 -0
  132. package/deps/blake3/test_vectors/cross_test.sh +25 -0
  133. package/deps/blake3/test_vectors/src/bin/generate.rs +4 -0
  134. package/deps/blake3/test_vectors/src/lib.rs +350 -0
  135. package/deps/blake3/test_vectors/test_vectors.json +217 -0
  136. package/deps/blake3/tools/compiler_version/Cargo.toml +7 -0
  137. package/deps/blake3/tools/compiler_version/build.rs +6 -0
  138. package/deps/blake3/tools/compiler_version/src/main.rs +27 -0
  139. package/deps/blake3/tools/instruction_set_support/Cargo.toml +6 -0
  140. package/deps/blake3/tools/instruction_set_support/src/main.rs +10 -0
  141. package/deps/blake3/tools/release.md +16 -0
  142. package/deps/fastpbkdf2/fastpbkdf2.c +356 -0
  143. package/deps/fastpbkdf2/fastpbkdf2.h +68 -0
  144. package/deps/ncrypto/ncrypto.cc +4679 -0
  145. package/deps/ncrypto/ncrypto.h +1625 -0
  146. package/lib/commonjs/blake3.js +98 -0
  147. package/lib/commonjs/blake3.js.map +1 -0
  148. package/lib/commonjs/cipher.js +180 -0
  149. package/lib/commonjs/cipher.js.map +1 -0
  150. package/lib/commonjs/ec.js +344 -0
  151. package/lib/commonjs/ec.js.map +1 -0
  152. package/lib/commonjs/ed.js +185 -0
  153. package/lib/commonjs/ed.js.map +1 -0
  154. package/lib/commonjs/expo-plugin/@types.js +2 -0
  155. package/lib/commonjs/expo-plugin/@types.js.map +1 -0
  156. package/lib/commonjs/expo-plugin/withRNQC.js +25 -0
  157. package/lib/commonjs/expo-plugin/withRNQC.js.map +1 -0
  158. package/lib/commonjs/expo-plugin/withSodiumAndroid.js +25 -0
  159. package/lib/commonjs/expo-plugin/withSodiumAndroid.js.map +1 -0
  160. package/lib/commonjs/expo-plugin/withSodiumIos.js +26 -0
  161. package/lib/commonjs/expo-plugin/withSodiumIos.js.map +1 -0
  162. package/lib/commonjs/expo-plugin/withXCode.js +51 -0
  163. package/lib/commonjs/expo-plugin/withXCode.js.map +1 -0
  164. package/lib/commonjs/hash.js +215 -0
  165. package/lib/commonjs/hash.js.map +1 -0
  166. package/lib/commonjs/hmac.js +109 -0
  167. package/lib/commonjs/hmac.js.map +1 -0
  168. package/lib/commonjs/index.js +152 -32
  169. package/lib/commonjs/index.js.map +1 -1
  170. package/lib/commonjs/keys/classes.js +250 -0
  171. package/lib/commonjs/keys/classes.js.map +1 -0
  172. package/lib/commonjs/keys/generateKeyPair.js +102 -0
  173. package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
  174. package/lib/commonjs/keys/index.js +89 -0
  175. package/lib/commonjs/keys/index.js.map +1 -0
  176. package/lib/commonjs/keys/signVerify.js +41 -0
  177. package/lib/commonjs/keys/signVerify.js.map +1 -0
  178. package/lib/commonjs/keys/utils.js +123 -0
  179. package/lib/commonjs/keys/utils.js.map +1 -0
  180. package/lib/commonjs/pbkdf2.js +89 -0
  181. package/lib/commonjs/pbkdf2.js.map +1 -0
  182. package/lib/commonjs/random.js +9 -3
  183. package/lib/commonjs/random.js.map +1 -1
  184. package/lib/commonjs/rsa.js +129 -0
  185. package/lib/commonjs/rsa.js.map +1 -0
  186. package/lib/commonjs/specs/blake3.nitro.js +6 -0
  187. package/lib/commonjs/specs/blake3.nitro.js.map +1 -0
  188. package/lib/commonjs/specs/cipher.nitro.js +6 -0
  189. package/lib/commonjs/specs/cipher.nitro.js.map +1 -0
  190. package/lib/commonjs/specs/ecKeyPair.nitro.js +6 -0
  191. package/lib/commonjs/specs/ecKeyPair.nitro.js.map +1 -0
  192. package/lib/commonjs/specs/edKeyPair.nitro.js +6 -0
  193. package/lib/commonjs/specs/edKeyPair.nitro.js.map +1 -0
  194. package/lib/commonjs/specs/hash.nitro.js +6 -0
  195. package/lib/commonjs/specs/hash.nitro.js.map +1 -0
  196. package/lib/commonjs/specs/hmac.nitro.js +6 -0
  197. package/lib/commonjs/specs/hmac.nitro.js.map +1 -0
  198. package/lib/commonjs/specs/keyObjectHandle.nitro.js +6 -0
  199. package/lib/commonjs/specs/keyObjectHandle.nitro.js.map +1 -0
  200. package/lib/commonjs/specs/pbkdf2.nitro.js +6 -0
  201. package/lib/commonjs/specs/pbkdf2.nitro.js.map +1 -0
  202. package/lib/commonjs/specs/rsaKeyPair.nitro.js +6 -0
  203. package/lib/commonjs/specs/rsaKeyPair.nitro.js.map +1 -0
  204. package/lib/commonjs/subtle.js +365 -0
  205. package/lib/commonjs/subtle.js.map +1 -0
  206. package/lib/commonjs/utils/cipher.js +64 -0
  207. package/lib/commonjs/utils/cipher.js.map +1 -0
  208. package/lib/commonjs/utils/conversion.js +140 -6
  209. package/lib/commonjs/utils/conversion.js.map +1 -1
  210. package/lib/commonjs/utils/errors.js +14 -0
  211. package/lib/commonjs/utils/errors.js.map +1 -0
  212. package/lib/commonjs/utils/hashnames.js +91 -0
  213. package/lib/commonjs/utils/hashnames.js.map +1 -0
  214. package/lib/commonjs/utils/index.js +65 -5
  215. package/lib/commonjs/utils/index.js.map +1 -1
  216. package/lib/commonjs/utils/noble.js +82 -0
  217. package/lib/commonjs/utils/noble.js.map +1 -0
  218. package/lib/commonjs/utils/types.js +52 -0
  219. package/lib/commonjs/utils/types.js.map +1 -1
  220. package/lib/commonjs/utils/validation.js +98 -0
  221. package/lib/commonjs/utils/validation.js.map +1 -0
  222. package/lib/module/blake3.js +90 -0
  223. package/lib/module/blake3.js.map +1 -0
  224. package/lib/module/cipher.js +173 -0
  225. package/lib/module/cipher.js.map +1 -0
  226. package/lib/module/ec.js +336 -0
  227. package/lib/module/ec.js.map +1 -0
  228. package/lib/module/ed.js +178 -0
  229. package/lib/module/ed.js.map +1 -0
  230. package/lib/module/expo-plugin/@types.js +2 -0
  231. package/lib/module/expo-plugin/@types.js.map +1 -0
  232. package/lib/module/expo-plugin/withRNQC.js +21 -0
  233. package/lib/module/expo-plugin/withRNQC.js.map +1 -0
  234. package/lib/module/expo-plugin/withSodiumAndroid.js +20 -0
  235. package/lib/module/expo-plugin/withSodiumAndroid.js.map +1 -0
  236. package/lib/module/expo-plugin/withSodiumIos.js +20 -0
  237. package/lib/module/expo-plugin/withSodiumIos.js.map +1 -0
  238. package/lib/module/expo-plugin/withXCode.js +46 -0
  239. package/lib/module/expo-plugin/withXCode.js.map +1 -0
  240. package/lib/module/hash.js +207 -0
  241. package/lib/module/hash.js.map +1 -0
  242. package/lib/module/hmac.js +104 -0
  243. package/lib/module/hmac.js.map +1 -0
  244. package/lib/module/index.js +33 -29
  245. package/lib/module/index.js.map +1 -1
  246. package/lib/module/keys/classes.js +241 -0
  247. package/lib/module/keys/classes.js.map +1 -0
  248. package/lib/module/keys/generateKeyPair.js +96 -0
  249. package/lib/module/keys/generateKeyPair.js.map +1 -0
  250. package/lib/module/keys/index.js +32 -0
  251. package/lib/module/keys/index.js.map +1 -0
  252. package/lib/module/keys/signVerify.js +41 -0
  253. package/lib/module/keys/signVerify.js.map +1 -0
  254. package/lib/module/keys/utils.js +114 -0
  255. package/lib/module/keys/utils.js.map +1 -0
  256. package/lib/module/pbkdf2.js +83 -0
  257. package/lib/module/pbkdf2.js.map +1 -0
  258. package/lib/module/random.js +7 -1
  259. package/lib/module/random.js.map +1 -1
  260. package/lib/module/rsa.js +123 -0
  261. package/lib/module/rsa.js.map +1 -0
  262. package/lib/module/specs/blake3.nitro.js +4 -0
  263. package/lib/module/specs/blake3.nitro.js.map +1 -0
  264. package/lib/module/specs/cipher.nitro.js +4 -0
  265. package/lib/module/specs/cipher.nitro.js.map +1 -0
  266. package/lib/module/specs/ecKeyPair.nitro.js +4 -0
  267. package/lib/module/specs/ecKeyPair.nitro.js.map +1 -0
  268. package/lib/module/specs/edKeyPair.nitro.js +4 -0
  269. package/lib/module/specs/edKeyPair.nitro.js.map +1 -0
  270. package/lib/module/specs/hash.nitro.js +4 -0
  271. package/lib/module/specs/hash.nitro.js.map +1 -0
  272. package/lib/module/specs/hmac.nitro.js +4 -0
  273. package/lib/module/specs/hmac.nitro.js.map +1 -0
  274. package/lib/module/specs/keyObjectHandle.nitro.js +4 -0
  275. package/lib/module/specs/keyObjectHandle.nitro.js.map +1 -0
  276. package/lib/module/specs/pbkdf2.nitro.js +4 -0
  277. package/lib/module/specs/pbkdf2.nitro.js.map +1 -0
  278. package/lib/module/specs/rsaKeyPair.nitro.js +4 -0
  279. package/lib/module/specs/rsaKeyPair.nitro.js.map +1 -0
  280. package/lib/module/subtle.js +360 -0
  281. package/lib/module/subtle.js.map +1 -0
  282. package/lib/module/utils/cipher.js +56 -0
  283. package/lib/module/utils/cipher.js.map +1 -0
  284. package/lib/module/utils/conversion.js +120 -8
  285. package/lib/module/utils/conversion.js.map +1 -1
  286. package/lib/module/utils/errors.js +10 -0
  287. package/lib/module/utils/errors.js.map +1 -0
  288. package/lib/module/utils/hashnames.js +89 -0
  289. package/lib/module/utils/hashnames.js.map +1 -0
  290. package/lib/module/utils/index.js +6 -5
  291. package/lib/module/utils/index.js.map +1 -1
  292. package/lib/module/utils/noble.js +76 -0
  293. package/lib/module/utils/noble.js.map +1 -0
  294. package/lib/module/utils/types.js +53 -0
  295. package/lib/module/utils/types.js.map +1 -1
  296. package/lib/module/utils/validation.js +87 -0
  297. package/lib/module/utils/validation.js.map +1 -0
  298. package/lib/tsconfig.tsbuildinfo +1 -1
  299. package/lib/typescript/blake3.d.ts +33 -0
  300. package/lib/typescript/blake3.d.ts.map +1 -0
  301. package/lib/typescript/cipher.d.ts +60 -0
  302. package/lib/typescript/cipher.d.ts.map +1 -0
  303. package/lib/typescript/ec.d.ts +13 -0
  304. package/lib/typescript/ec.d.ts.map +1 -0
  305. package/lib/typescript/ed.d.ts +43 -0
  306. package/lib/typescript/ed.d.ts.map +1 -0
  307. package/lib/typescript/expo-plugin/@types.d.ts +8 -0
  308. package/lib/typescript/expo-plugin/@types.d.ts.map +1 -0
  309. package/lib/typescript/expo-plugin/withRNQC.d.ts +4 -0
  310. package/lib/typescript/expo-plugin/withRNQC.d.ts.map +1 -0
  311. package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts +4 -0
  312. package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts.map +1 -0
  313. package/lib/typescript/expo-plugin/withSodiumIos.d.ts +4 -0
  314. package/lib/typescript/expo-plugin/withSodiumIos.d.ts.map +1 -0
  315. package/lib/typescript/expo-plugin/withXCode.d.ts +9 -0
  316. package/lib/typescript/expo-plugin/withXCode.d.ts.map +1 -0
  317. package/lib/typescript/hash.d.ts +122 -0
  318. package/lib/typescript/hash.d.ts.map +1 -0
  319. package/lib/typescript/hmac.d.ts +66 -0
  320. package/lib/typescript/hmac.d.ts.map +1 -0
  321. package/lib/typescript/index.d.ts +110 -9
  322. package/lib/typescript/index.d.ts.map +1 -1
  323. package/lib/typescript/keys/classes.d.ts +79 -0
  324. package/lib/typescript/keys/classes.d.ts.map +1 -0
  325. package/lib/typescript/keys/generateKeyPair.d.ts +6 -0
  326. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
  327. package/lib/typescript/keys/index.d.ts +7 -0
  328. package/lib/typescript/keys/index.d.ts.map +1 -0
  329. package/lib/typescript/keys/signVerify.d.ts +1 -0
  330. package/lib/typescript/keys/signVerify.d.ts.map +1 -0
  331. package/lib/typescript/keys/utils.d.ts +34 -0
  332. package/lib/typescript/keys/utils.d.ts.map +1 -0
  333. package/lib/typescript/pbkdf2.d.ts +12 -0
  334. package/lib/typescript/pbkdf2.d.ts.map +1 -0
  335. package/lib/typescript/random.d.ts +11 -5
  336. package/lib/typescript/random.d.ts.map +1 -1
  337. package/lib/typescript/rsa.d.ts +10 -0
  338. package/lib/typescript/rsa.d.ts.map +1 -0
  339. package/lib/typescript/specs/blake3.nitro.d.ts +15 -0
  340. package/lib/typescript/specs/blake3.nitro.d.ts.map +1 -0
  341. package/lib/typescript/specs/cipher.nitro.d.ts +29 -0
  342. package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -0
  343. package/lib/typescript/specs/ecKeyPair.nitro.d.ts +20 -0
  344. package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
  345. package/lib/typescript/specs/edKeyPair.nitro.d.ts +17 -0
  346. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
  347. package/lib/typescript/specs/hash.nitro.d.ts +13 -0
  348. package/lib/typescript/specs/hash.nitro.d.ts.map +1 -0
  349. package/lib/typescript/specs/hmac.nitro.d.ts +10 -0
  350. package/lib/typescript/specs/hmac.nitro.d.ts.map +1 -0
  351. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +14 -0
  352. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -0
  353. package/lib/typescript/specs/pbkdf2.nitro.d.ts +9 -0
  354. package/lib/typescript/specs/pbkdf2.nitro.d.ts.map +1 -0
  355. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts +20 -0
  356. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts.map +1 -0
  357. package/lib/typescript/subtle.d.ts +17 -0
  358. package/lib/typescript/subtle.d.ts.map +1 -0
  359. package/lib/typescript/utils/cipher.d.ts +7 -0
  360. package/lib/typescript/utils/cipher.d.ts.map +1 -0
  361. package/lib/typescript/utils/conversion.d.ts +24 -2
  362. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  363. package/lib/typescript/utils/errors.d.ts +7 -0
  364. package/lib/typescript/utils/errors.d.ts.map +1 -0
  365. package/lib/typescript/utils/hashnames.d.ts +13 -0
  366. package/lib/typescript/utils/hashnames.d.ts.map +1 -0
  367. package/lib/typescript/utils/index.d.ts +6 -5
  368. package/lib/typescript/utils/index.d.ts.map +1 -1
  369. package/lib/typescript/utils/noble.d.ts +19 -0
  370. package/lib/typescript/utils/noble.d.ts.map +1 -0
  371. package/lib/typescript/utils/types.d.ts +252 -2
  372. package/lib/typescript/utils/types.d.ts.map +1 -1
  373. package/lib/typescript/utils/validation.d.ts +13 -0
  374. package/lib/typescript/utils/validation.d.ts.map +1 -0
  375. package/nitrogen/generated/.gitattributes +1 -0
  376. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +47 -4
  377. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +4 -3
  378. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +144 -0
  379. package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +25 -0
  380. package/nitrogen/generated/android/kotlin/com/margelo/nitro/crypto/QuickCryptoOnLoad.kt +35 -0
  381. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +11 -8
  382. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +11 -3
  383. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +5 -3
  384. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +16 -7
  385. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +135 -0
  386. package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +12 -0
  387. package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +84 -0
  388. package/nitrogen/generated/shared/c++/CipherArgs.hpp +86 -0
  389. package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
  390. package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +76 -0
  391. package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp +21 -0
  392. package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +67 -0
  393. package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +28 -0
  394. package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +76 -0
  395. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +29 -0
  396. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +77 -0
  397. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +30 -0
  398. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +75 -0
  399. package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +26 -0
  400. package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +75 -0
  401. package/nitrogen/generated/shared/c++/HybridHmacSpec.cpp +23 -0
  402. package/nitrogen/generated/shared/c++/HybridHmacSpec.hpp +66 -0
  403. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +26 -0
  404. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +92 -0
  405. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +22 -0
  406. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +66 -0
  407. package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +2 -3
  408. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +9 -6
  409. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
  410. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +77 -0
  411. package/nitrogen/generated/shared/c++/JWK.hpp +161 -0
  412. package/nitrogen/generated/shared/c++/JWKkty.hpp +84 -0
  413. package/nitrogen/generated/shared/c++/JWKuse.hpp +76 -0
  414. package/nitrogen/generated/shared/c++/KFormatType.hpp +63 -0
  415. package/nitrogen/generated/shared/c++/KeyDetail.hpp +92 -0
  416. package/nitrogen/generated/shared/c++/KeyEncoding.hpp +64 -0
  417. package/nitrogen/generated/shared/c++/KeyObject.hpp +67 -0
  418. package/nitrogen/generated/shared/c++/KeyType.hpp +63 -0
  419. package/nitrogen/generated/shared/c++/KeyUsage.hpp +116 -0
  420. package/nitrogen/generated/shared/c++/NamedCurve.hpp +80 -0
  421. package/package.json +66 -39
  422. package/src/blake3.ts +123 -0
  423. package/src/cipher.ts +335 -0
  424. package/src/ec.ts +432 -0
  425. package/src/ed.ts +256 -0
  426. package/src/expo-plugin/@types.ts +7 -0
  427. package/src/expo-plugin/withRNQC.ts +23 -0
  428. package/src/expo-plugin/withSodiumAndroid.ts +24 -0
  429. package/src/expo-plugin/withSodiumIos.ts +30 -0
  430. package/src/expo-plugin/withXCode.ts +55 -0
  431. package/src/hash.ts +274 -0
  432. package/src/hmac.ts +135 -0
  433. package/src/index.ts +32 -29
  434. package/src/keys/classes.ts +317 -0
  435. package/src/keys/generateKeyPair.ts +145 -0
  436. package/src/keys/index.ts +52 -0
  437. package/src/keys/signVerify.ts +39 -0
  438. package/src/keys/utils.ts +190 -0
  439. package/src/pbkdf2.ts +154 -0
  440. package/src/random.ts +26 -23
  441. package/src/rsa.ts +176 -0
  442. package/src/specs/blake3.nitro.ts +12 -0
  443. package/src/specs/cipher.nitro.ts +25 -0
  444. package/src/specs/ecKeyPair.nitro.ts +38 -0
  445. package/src/specs/edKeyPair.nitro.ts +43 -0
  446. package/src/specs/hash.nitro.ts +10 -0
  447. package/src/specs/hmac.nitro.ts +7 -0
  448. package/src/specs/keyObjectHandle.nitro.ts +31 -0
  449. package/src/specs/pbkdf2.nitro.ts +18 -0
  450. package/src/specs/random.nitro.ts +2 -2
  451. package/src/specs/rsaKeyPair.nitro.ts +33 -0
  452. package/src/subtle.ts +614 -0
  453. package/src/utils/cipher.ts +60 -0
  454. package/src/utils/conversion.ts +143 -9
  455. package/src/utils/errors.ts +15 -0
  456. package/src/utils/hashnames.ts +98 -0
  457. package/src/utils/index.ts +6 -6
  458. package/src/utils/noble.ts +85 -0
  459. package/src/utils/types.ts +423 -3
  460. package/src/utils/validation.ts +130 -0
  461. package/ios/QuickCryptoOnLoad.mm +0 -19
  462. package/lib/module/package.json +0 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDefaultEncoding = getDefaultEncoding;
7
+ exports.getUIntOption = getUIntOption;
8
+ exports.normalizeEncoding = normalizeEncoding;
9
+ exports.setDefaultEncoding = setDefaultEncoding;
10
+ exports.validateEncoding = validateEncoding;
11
+ // Mimics node behavior for default global encoding
12
+ let defaultEncoding = 'buffer';
13
+ function setDefaultEncoding(encoding) {
14
+ defaultEncoding = encoding;
15
+ }
16
+ function getDefaultEncoding() {
17
+ return defaultEncoding;
18
+ }
19
+ function normalizeEncoding(enc) {
20
+ if (!enc) return 'utf8';
21
+ let retried;
22
+ while (true) {
23
+ switch (enc) {
24
+ case 'utf8':
25
+ case 'utf-8':
26
+ return 'utf8';
27
+ case 'ucs2':
28
+ case 'ucs-2':
29
+ case 'utf16le':
30
+ case 'utf-16le':
31
+ return 'utf16le';
32
+ case 'latin1':
33
+ case 'binary':
34
+ return 'latin1';
35
+ case 'base64':
36
+ case 'ascii':
37
+ case 'hex':
38
+ return enc;
39
+ default:
40
+ if (retried) return; // undefined
41
+ enc = ('' + enc).toLowerCase();
42
+ retried = true;
43
+ }
44
+ }
45
+ }
46
+ function validateEncoding(data, encoding) {
47
+ const normalizedEncoding = normalizeEncoding(encoding);
48
+ const length = data.length;
49
+ if (normalizedEncoding === 'hex' && length % 2 !== 0) {
50
+ throw new Error(`Encoding ${encoding} not valid for data length ${length}`);
51
+ }
52
+ }
53
+
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ function getUIntOption(options, key) {
56
+ let value;
57
+ if (options && (value = options[key]) != null) {
58
+ // >>> Turns any type into a positive integer (also sets the sign bit to 0)
59
+ if (value >>> 0 !== value) throw new Error(`options.${key}: ${value}`);
60
+ return value;
61
+ }
62
+ return -1;
63
+ }
64
+ //# sourceMappingURL=cipher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","normalizeEncoding","enc","retried","toLowerCase","validateEncoding","data","normalizedEncoding","length","Error","getUIntOption","options","key","value"],"sourceRoot":"../../../src","sources":["utils/cipher.ts"],"mappings":";;;;;;;;;;AAEA;AACA,IAAIA,eAAyB,GAAG,QAAQ;AAEjC,SAASC,kBAAkBA,CAACC,QAAkB,EAAE;EACrDF,eAAe,GAAGE,QAAQ;AAC5B;AAEO,SAASC,kBAAkBA,CAAA,EAAa;EAC7C,OAAOH,eAAe;AACxB;AAEO,SAASI,iBAAiBA,CAACC,GAAW,EAAE;EAC7C,IAAI,CAACA,GAAG,EAAE,OAAO,MAAM;EACvB,IAAIC,OAAO;EACX,OAAO,IAAI,EAAE;IACX,QAAQD,GAAG;MACT,KAAK,MAAM;MACX,KAAK,OAAO;QACV,OAAO,MAAM;MACf,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,SAAS;MACd,KAAK,UAAU;QACb,OAAO,SAAS;MAClB,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAO,QAAQ;MACjB,KAAK,QAAQ;MACb,KAAK,OAAO;MACZ,KAAK,KAAK;QACR,OAAOA,GAAG;MACZ;QACE,IAAIC,OAAO,EAAE,OAAO,CAAC;QACrBD,GAAG,GAAG,CAAC,EAAE,GAAGA,GAAG,EAAEE,WAAW,CAAC,CAAC;QAC9BD,OAAO,GAAG,IAAI;IAClB;EACF;AACF;AAEO,SAASE,gBAAgBA,CAACC,IAAY,EAAEP,QAAgB,EAAE;EAC/D,MAAMQ,kBAAkB,GAAGN,iBAAiB,CAACF,QAAQ,CAAC;EACtD,MAAMS,MAAM,GAAGF,IAAI,CAACE,MAAM;EAE1B,IAAID,kBAAkB,KAAK,KAAK,IAAIC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IACpD,MAAM,IAAIC,KAAK,CAAC,YAAYV,QAAQ,8BAA8BS,MAAM,EAAE,CAAC;EAC7E;AACF;;AAEA;AACO,SAASE,aAAaA,CAACC,OAA4B,EAAEC,GAAW,EAAE;EACvE,IAAIC,KAAK;EACT,IAAIF,OAAO,IAAI,CAACE,KAAK,GAAGF,OAAO,CAACC,GAAG,CAAC,KAAK,IAAI,EAAE;IAC7C;IACA,IAAIC,KAAK,KAAK,CAAC,KAAKA,KAAK,EAAE,MAAM,IAAIJ,KAAK,CAAC,WAAWG,GAAG,KAAKC,KAAK,EAAE,CAAC;IACtE,OAAOA,KAAK;EACd;EACA,OAAO,CAAC,CAAC;AACX","ignoreList":[]}
@@ -3,20 +3,154 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ abvToArrayBuffer: true,
8
+ toArrayBuffer: true,
9
+ bufferLikeToArrayBuffer: true,
10
+ binaryLikeToArrayBuffer: true,
11
+ ab2str: true,
12
+ kEmptyObject: true
13
+ };
6
14
  exports.ab2str = ab2str;
7
15
  exports.abvToArrayBuffer = void 0;
16
+ exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
17
+ exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
18
+ exports.kEmptyObject = void 0;
19
+ exports.toArrayBuffer = toArrayBuffer;
8
20
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
9
- const abvToArrayBuffer = buffer => {
10
- if (_reactNativeBuffer.Buffer.isBuffer(buffer)) {
11
- return buffer.buffer;
21
+ var _safeBuffer = require("safe-buffer");
22
+ var _classes = require("../keys/classes");
23
+ var _noble = require("./noble");
24
+ Object.keys(_noble).forEach(function (key) {
25
+ if (key === "default" || key === "__esModule") return;
26
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
+ if (key in exports && exports[key] === _noble[key]) return;
28
+ Object.defineProperty(exports, key, {
29
+ enumerable: true,
30
+ get: function () {
31
+ return _noble[key];
32
+ }
33
+ });
34
+ });
35
+ /**
36
+ * Converts supplied argument to an ArrayBuffer. Note this does not copy the
37
+ * data so it is faster than toArrayBuffer. Not copying is important for
38
+ * functions like randomFill which need to be able to write to the underlying
39
+ * buffer.
40
+ * @param buf
41
+ * @returns ArrayBuffer
42
+ */
43
+ const abvToArrayBuffer = buf => {
44
+ if (_reactNativeBuffer.Buffer.isBuffer(buf)) {
45
+ return buf.buffer;
12
46
  }
13
- if (ArrayBuffer.isView(buffer)) {
14
- return buffer.buffer;
47
+ if (ArrayBuffer.isView(buf)) {
48
+ return buf.buffer;
15
49
  }
16
- return buffer;
50
+ return buf;
17
51
  };
52
+
53
+ /**
54
+ * Converts supplied argument to an ArrayBuffer. Note this copies data if the
55
+ * supplied buffer has the .slice() method, so can be a bit slow.
56
+ * @param buf
57
+ * @returns ArrayBuffer
58
+ */
18
59
  exports.abvToArrayBuffer = abvToArrayBuffer;
60
+ function toArrayBuffer(buf) {
61
+ if (_reactNativeBuffer.Buffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
62
+ if (buf?.buffer?.slice) {
63
+ return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
64
+ } else {
65
+ return buf.buffer;
66
+ }
67
+ }
68
+ const ab = new ArrayBuffer(buf.length);
69
+ const view = new Uint8Array(ab);
70
+ for (let i = 0; i < buf.length; ++i) {
71
+ view[i] = _safeBuffer.Buffer.isBuffer(buf) ? buf.readUInt8(i) : buf[i];
72
+ }
73
+ return ab;
74
+ }
75
+ function bufferLikeToArrayBuffer(buf) {
76
+ // Buffer
77
+ if (_reactNativeBuffer.Buffer.isBuffer(buf) || _safeBuffer.Buffer.isBuffer(buf)) {
78
+ return toArrayBuffer(buf);
79
+ }
80
+ // ArrayBufferView
81
+ if (ArrayBuffer.isView(buf)) {
82
+ return toArrayBuffer(buf);
83
+ }
84
+
85
+ // If buf is already an ArrayBuffer, return it.
86
+ if (buf instanceof ArrayBuffer) {
87
+ return buf;
88
+ }
89
+
90
+ // If buf is a SharedArrayBuffer, convert it to ArrayBuffer.
91
+ // This typically involves a copy of the data.
92
+ if (typeof SharedArrayBuffer !== 'undefined' && buf instanceof SharedArrayBuffer) {
93
+ const arrayBuffer = new ArrayBuffer(buf.byteLength);
94
+ new Uint8Array(arrayBuffer).set(new Uint8Array(buf));
95
+ return arrayBuffer;
96
+ }
97
+
98
+ // If we reach here, 'buf' is of a type within BufferLike that has not been handled by the above checks.
99
+ // This indicates either an incomplete BufferLike definition or an unexpected input type.
100
+ // Throw an error to signal this, ensuring the function's contract (return ArrayBuffer or throw) is met.
101
+ throw new TypeError('Input must be a Buffer, ArrayBufferView, ArrayBuffer, or SharedArrayBuffer.');
102
+ }
103
+ function binaryLikeToArrayBuffer(input,
104
+ // CipherKey adds compat with node types
105
+ encoding = 'utf-8') {
106
+ // string
107
+ if (typeof input === 'string') {
108
+ if (encoding === 'buffer') {
109
+ throw new Error('Cannot create a buffer from a string with a buffer encoding');
110
+ }
111
+ const buffer = _reactNativeBuffer.Buffer.from(input, encoding);
112
+ return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
113
+ }
114
+
115
+ // Buffer
116
+ if (_reactNativeBuffer.Buffer.isBuffer(input) || _safeBuffer.Buffer.isBuffer(input)) {
117
+ return toArrayBuffer(input);
118
+ }
119
+
120
+ // ArrayBufferView
121
+ // TODO add further binary types to BinaryLike, UInt8Array and so for have this array as property
122
+ if (ArrayBuffer.isView(input)) {
123
+ return toArrayBuffer(input);
124
+ }
125
+
126
+ // ArrayBuffer
127
+ if (input instanceof ArrayBuffer) {
128
+ return input;
129
+ }
130
+
131
+ // if (!(input instanceof ArrayBuffer)) {
132
+ // try {
133
+ // // this is a strange fallback case and input is unknown at this point
134
+ // const buffer = Buffer.from(input as unknown as string);
135
+ // return buffer.buffer.slice(
136
+ // buffer.byteOffset,
137
+ // buffer.byteOffset + buffer.byteLength
138
+ // );
139
+ // } catch(e: unknown) {
140
+ // console.log('throwing 1');
141
+ // const err = e as Error;
142
+ // throw new Error(err.message);
143
+ // }
144
+ // }
145
+
146
+ // KeyObject
147
+ if (input instanceof _classes.KeyObject) {
148
+ return input.handle.exportKey();
149
+ }
150
+ throw new Error('input could not be converted to ArrayBuffer');
151
+ }
19
152
  function ab2str(buf, encoding = 'hex') {
20
153
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
21
154
  }
155
+ const kEmptyObject = exports.kEmptyObject = Object.freeze(Object.create(null));
22
156
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","abvToArrayBuffer","buffer","Buffer","isBuffer","ArrayBuffer","isView","exports","ab2str","buf","encoding","from","toString"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAGO,MAAMC,gBAAgB,GAAIC,MAAuB,IAAK;EAC3D,IAAIC,yBAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,IAAIG,WAAW,CAACC,MAAM,CAACJ,MAAM,CAAC,EAAE;IAC9B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,OAAOA,MAAM;AACf,CAAC;AAACK,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEK,SAASO,MAAMA,CAACC,GAAgB,EAAEC,QAAgB,GAAG,KAAK,EAAE;EACjE,OAAOP,yBAAM,CAACQ,IAAI,CAACF,GAAG,CAAC,CAACG,QAAQ,CAACF,QAAQ,CAAC;AAC5C","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_classes","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","KeyObject","handle","exportKey","ab2str","toString","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.lazyDOMException = lazyDOMException;
7
+ function lazyDOMException(message, domName) {
8
+ let cause = '';
9
+ if (typeof domName !== 'string') {
10
+ cause = `\nCaused by: ${domName.cause}`;
11
+ }
12
+ return new Error(`[${domName}]: ${message}${cause}`);
13
+ }
14
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["lazyDOMException","message","domName","cause","Error"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":";;;;;;AAOO,SAASA,gBAAgBA,CAACC,OAAe,EAAEC,OAAgB,EAAS;EACzE,IAAIC,KAAK,GAAG,EAAE;EACd,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/BC,KAAK,GAAG,gBAAgBD,OAAO,CAACC,KAAK,EAAE;EACzC;EAEA,OAAO,IAAIC,KAAK,CAAC,IAAIF,OAAO,MAAMD,OAAO,GAAGE,KAAK,EAAE,CAAC;AACtD","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HashContext = void 0;
7
+ exports.normalizeHashName = normalizeHashName;
8
+ let HashContext = exports.HashContext = /*#__PURE__*/function (HashContext) {
9
+ HashContext[HashContext["Node"] = 0] = "Node";
10
+ HashContext[HashContext["WebCrypto"] = 1] = "WebCrypto";
11
+ HashContext[HashContext["JwkRsa"] = 2] = "JwkRsa";
12
+ HashContext[HashContext["JwkRsaPss"] = 3] = "JwkRsaPss";
13
+ HashContext[HashContext["JwkRsaOaep"] = 4] = "JwkRsaOaep";
14
+ HashContext[HashContext["JwkHmac"] = 5] = "JwkHmac";
15
+ return HashContext;
16
+ }({}); // WebCrypto and JWK use a bunch of different names for the
17
+ // standard set of SHA-* digest algorithms... which is ... fun.
18
+ // Here we provide a utility for mapping between them in order
19
+ // make it easier in the code.
20
+ const kHashNames = {
21
+ sha1: {
22
+ [HashContext.Node]: 'sha1',
23
+ [HashContext.WebCrypto]: 'SHA-1',
24
+ [HashContext.JwkRsa]: 'RS1',
25
+ [HashContext.JwkRsaPss]: 'PS1',
26
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP',
27
+ [HashContext.JwkHmac]: 'HS1'
28
+ },
29
+ sha224: {
30
+ [HashContext.Node]: 'sha224',
31
+ [HashContext.WebCrypto]: 'SHA-224',
32
+ [HashContext.JwkRsa]: 'RS224',
33
+ [HashContext.JwkRsaPss]: 'PS224',
34
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-224',
35
+ [HashContext.JwkHmac]: 'HS224'
36
+ },
37
+ sha256: {
38
+ [HashContext.Node]: 'sha256',
39
+ [HashContext.WebCrypto]: 'SHA-256',
40
+ [HashContext.JwkRsa]: 'RS256',
41
+ [HashContext.JwkRsaPss]: 'PS256',
42
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-256',
43
+ [HashContext.JwkHmac]: 'HS256'
44
+ },
45
+ sha384: {
46
+ [HashContext.Node]: 'sha384',
47
+ [HashContext.WebCrypto]: 'SHA-384',
48
+ [HashContext.JwkRsa]: 'RS384',
49
+ [HashContext.JwkRsaPss]: 'PS384',
50
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-384',
51
+ [HashContext.JwkHmac]: 'HS384'
52
+ },
53
+ sha512: {
54
+ [HashContext.Node]: 'sha512',
55
+ [HashContext.WebCrypto]: 'SHA-512',
56
+ [HashContext.JwkRsa]: 'RS512',
57
+ [HashContext.JwkRsaPss]: 'PS512',
58
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-512',
59
+ [HashContext.JwkHmac]: 'HS512'
60
+ },
61
+ ripemd160: {
62
+ [HashContext.Node]: 'ripemd160',
63
+ [HashContext.WebCrypto]: 'RIPEMD-160'
64
+ }
65
+ };
66
+ {
67
+ // Index the aliases
68
+ const keys = Object.keys(kHashNames);
69
+ for (let n = 0; n < keys.length; n++) {
70
+ const contexts = Object.keys(kHashNames[keys[n]]);
71
+ for (let i = 0; i < contexts.length; i++) {
72
+ const alias = kHashNames[keys[n]][contexts[i]].toLowerCase();
73
+ if (kHashNames[alias] === undefined) kHashNames[alias] = kHashNames[keys[n]];
74
+ }
75
+ }
76
+ }
77
+ function normalizeHashName(algo, context = HashContext.Node) {
78
+ if (typeof algo !== 'undefined') {
79
+ const hashName = typeof algo === 'string' ? algo : algo.name || algo.toString();
80
+ const normAlgo = hashName.toLowerCase();
81
+ try {
82
+ const alias = kHashNames[normAlgo][context];
83
+ if (alias) return alias;
84
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
85
+ } catch (_e) {
86
+ // ignore
87
+ }
88
+ }
89
+ throw new Error(`Invalid Hash Algorithm: ${algo}`);
90
+ }
91
+ //# sourceMappingURL=hashnames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HashContext","exports","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","normalizeHashName","algo","context","hashName","name","toString","normAlgo","_e","Error"],"sourceRoot":"../../../src","sources":["utils/hashnames.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,70 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.utils = void 0;
7
6
  var _conversion = require("./conversion");
8
- const utils = exports.utils = {
9
- ab2str: _conversion.ab2str,
10
- abvToArrayBuffer: _conversion.abvToArrayBuffer
11
- };
7
+ Object.keys(_conversion).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _conversion[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _conversion[key];
14
+ }
15
+ });
16
+ });
17
+ var _errors = require("./errors");
18
+ Object.keys(_errors).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _errors[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _errors[key];
25
+ }
26
+ });
27
+ });
28
+ var _hashnames = require("./hashnames");
29
+ Object.keys(_hashnames).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _hashnames[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _hashnames[key];
36
+ }
37
+ });
38
+ });
39
+ var _types = require("./types");
40
+ Object.keys(_types).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _types[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _types[key];
47
+ }
48
+ });
49
+ });
50
+ var _validation = require("./validation");
51
+ Object.keys(_validation).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _validation[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _validation[key];
58
+ }
59
+ });
60
+ });
61
+ var _cipher = require("./cipher");
62
+ Object.keys(_cipher).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _cipher[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _cipher[key];
69
+ }
70
+ });
71
+ });
12
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_conversion","require","utils","exports","ab2str","abvToArrayBuffer"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACnBE,MAAM,EAANA,kBAAM;EACNC,gBAAgB,EAAhBA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_conversion","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_errors","_hashnames","_types","_validation","_cipher"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,WAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,WAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,WAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,WAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,OAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ensureBytes = ensureBytes;
7
+ exports.hexToBytes = hexToBytes;
8
+ exports.isBytes = isBytes;
9
+ /**
10
+ * Takes hex string or Uint8Array, converts to Uint8Array.
11
+ * Validates output length.
12
+ * Will throw error for other types.
13
+ * @param title descriptive title for an error e.g. 'private key'
14
+ * @param hex hex string or Uint8Array
15
+ * @param expectedLength optional, will compare to result array's length
16
+ * @returns
17
+ */
18
+ function ensureBytes(title, hex, expectedLength) {
19
+ let res;
20
+ if (typeof hex === 'string') {
21
+ try {
22
+ res = hexToBytes(hex);
23
+ } catch (e) {
24
+ throw new Error(title + ' must be hex string or Uint8Array, cause: ' + e);
25
+ }
26
+ } else if (isBytes(hex)) {
27
+ // Uint8Array.from() instead of hash.slice() because node.js Buffer
28
+ // is instance of Uint8Array, and its slice() creates **mutable** copy
29
+ res = Uint8Array.from(hex);
30
+ } else {
31
+ throw new Error(title + ' must be hex string or Uint8Array');
32
+ }
33
+ const len = res.length;
34
+ if (typeof expectedLength === 'number' && len !== expectedLength) throw new Error(title + ' of length ' + expectedLength + ' expected, got ' + len);
35
+ return res;
36
+ }
37
+
38
+ /** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */
39
+ function isBytes(a) {
40
+ return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array';
41
+ }
42
+
43
+ // We use optimized technique to convert hex string to byte array
44
+ const asciis = {
45
+ _0: 48,
46
+ _9: 57,
47
+ A: 65,
48
+ F: 70,
49
+ a: 97,
50
+ f: 102
51
+ };
52
+ function asciiToBase16(ch) {
53
+ if (ch >= asciis._0 && ch <= asciis._9) return ch - asciis._0; // '2' => 50-48
54
+ if (ch >= asciis.A && ch <= asciis.F) return ch - (asciis.A - 10); // 'B' => 66-(65-10)
55
+ if (ch >= asciis.a && ch <= asciis.f) return ch - (asciis.a - 10); // 'b' => 98-(97-10)
56
+ return;
57
+ }
58
+
59
+ /**
60
+ * Convert hex string to byte array. Uses built-in function, when available.
61
+ * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])
62
+ */
63
+ function hexToBytes(hex) {
64
+ if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);
65
+ // @ts-expect-error Uint8Array.fromHex
66
+ if (hasHexBuiltin) return Uint8Array.fromHex(hex);
67
+ const hl = hex.length;
68
+ const al = hl / 2;
69
+ if (hl % 2) throw new Error('hex string expected, got unpadded hex of length ' + hl);
70
+ const array = new Uint8Array(al);
71
+ for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {
72
+ const n1 = asciiToBase16(hex.charCodeAt(hi));
73
+ const n2 = asciiToBase16(hex.charCodeAt(hi + 1));
74
+ if (n1 === undefined || n2 === undefined) {
75
+ const char = hex.substring(hi, hi + 2);
76
+ throw new Error('hex string expected, got non-hex character "' + char + '" at index ' + hi);
77
+ }
78
+ array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163
79
+ }
80
+ return array;
81
+ }
82
+ //# sourceMappingURL=noble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ensureBytes","title","hex","expectedLength","res","hexToBytes","e","Error","isBytes","Uint8Array","from","len","length","a","ArrayBuffer","isView","constructor","name","asciis","_0","_9","A","F","f","asciiToBase16","ch","hasHexBuiltin","fromHex","hl","al","array","ai","hi","n1","charCodeAt","n2","undefined","char","substring"],"sourceRoot":"../../../src","sources":["utils/noble.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,54 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.kNamedCurveAliases = exports.KeyVariant = exports.KeyType = exports.KeyFormat = exports.KeyEncoding = exports.KFormatType = void 0;
7
+ // @types/node
8
+ // TODO: These enums need to be defined on the native side
9
+ let KFormatType = exports.KFormatType = /*#__PURE__*/function (KFormatType) {
10
+ KFormatType[KFormatType["DER"] = 0] = "DER";
11
+ KFormatType[KFormatType["PEM"] = 1] = "PEM";
12
+ KFormatType[KFormatType["JWK"] = 2] = "JWK";
13
+ return KFormatType;
14
+ }({});
15
+ let KeyType = exports.KeyType = /*#__PURE__*/function (KeyType) {
16
+ KeyType[KeyType["SECRET"] = 0] = "SECRET";
17
+ KeyType[KeyType["PUBLIC"] = 1] = "PUBLIC";
18
+ KeyType[KeyType["PRIVATE"] = 2] = "PRIVATE";
19
+ return KeyType;
20
+ }({});
21
+ let KeyEncoding = exports.KeyEncoding = /*#__PURE__*/function (KeyEncoding) {
22
+ KeyEncoding[KeyEncoding["PKCS1"] = 0] = "PKCS1";
23
+ KeyEncoding[KeyEncoding["PKCS8"] = 1] = "PKCS8";
24
+ KeyEncoding[KeyEncoding["SPKI"] = 2] = "SPKI";
25
+ KeyEncoding[KeyEncoding["SEC1"] = 3] = "SEC1";
26
+ return KeyEncoding;
27
+ }({});
28
+ let KeyFormat = exports.KeyFormat = /*#__PURE__*/function (KeyFormat) {
29
+ KeyFormat[KeyFormat["RAW"] = 0] = "RAW";
30
+ KeyFormat[KeyFormat["PKCS8"] = 1] = "PKCS8";
31
+ KeyFormat[KeyFormat["SPKI"] = 2] = "SPKI";
32
+ KeyFormat[KeyFormat["JWK"] = 3] = "JWK";
33
+ return KeyFormat;
34
+ }({});
35
+ const kNamedCurveAliases = exports.kNamedCurveAliases = {
36
+ 'P-256': 'prime256v1',
37
+ 'P-384': 'secp384r1',
38
+ 'P-521': 'secp521r1'
39
+ };
40
+ // end TODO
41
+ let KeyVariant = exports.KeyVariant = /*#__PURE__*/function (KeyVariant) {
42
+ KeyVariant[KeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
43
+ KeyVariant[KeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
44
+ KeyVariant[KeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
45
+ KeyVariant[KeyVariant["DSA"] = 3] = "DSA";
46
+ KeyVariant[KeyVariant["EC"] = 4] = "EC";
47
+ KeyVariant[KeyVariant["NID"] = 5] = "NID";
48
+ KeyVariant[KeyVariant["DH"] = 6] = "DH";
49
+ return KeyVariant;
50
+ }({}); // These are for shortcomings in @types/node
51
+ // Here we use "*Type" instead of "*Types" like node does.
52
+ // export type CipherCBCType = 'aes-128-cbc' | 'aes-192-cbc' | 'aes-256-cbc';
53
+ // from @paulmillr/noble-curves
2
54
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["KFormatType","exports","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;;;;;AAE8C;AAmL9C;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAMXE,OAAO,GAAAD,OAAA,CAAAC,OAAA,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAAA,IAMPC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAOXC,SAAS,GAAAH,OAAA,CAAAG,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AASd,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAG;EAChC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE;AACX,CAAU;AACV;AAAA,IAkIYC,UAAU,GAAAL,OAAA,CAAAK,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,OAuBtB;AACA;AACA;AAqCA","ignoreList":[]}