meteor-node-stubs 1.2.17 → 1.2.19

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 (460) hide show
  1. package/node_modules/@meteorjs/browserify-sign/browser/sign.js +1 -1
  2. package/node_modules/@meteorjs/browserify-sign/browser/verify.js +1 -1
  3. package/node_modules/@meteorjs/browserify-sign/elliptic/benchmarks/deps/jodid.js +82 -0
  4. package/node_modules/@meteorjs/browserify-sign/elliptic/benchmarks/deps/secp256k1.js +41 -0
  5. package/node_modules/@meteorjs/browserify-sign/elliptic/benchmarks/index.js +153 -0
  6. package/node_modules/@meteorjs/browserify-sign/elliptic/benchmarks/package.json +21 -0
  7. package/node_modules/@meteorjs/browserify-sign/elliptic/dist/.gitkeep +0 -0
  8. package/node_modules/@meteorjs/browserify-sign/elliptic/dist/elliptic.js +8961 -0
  9. package/node_modules/@meteorjs/browserify-sign/elliptic/dist/elliptic.min.js +1 -0
  10. package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic.js +1 -1
  11. package/node_modules/@meteorjs/browserify-sign/elliptic/test/api-test.js +20 -0
  12. package/node_modules/@meteorjs/browserify-sign/elliptic/test/curve-test.js +357 -0
  13. package/node_modules/@meteorjs/browserify-sign/elliptic/test/ecdh-test.js +43 -0
  14. package/node_modules/@meteorjs/browserify-sign/elliptic/test/ecdsa-test.js +547 -0
  15. package/node_modules/@meteorjs/browserify-sign/elliptic/test/ed25519-test.js +138 -0
  16. package/node_modules/@meteorjs/browserify-sign/elliptic/test/fixtures/derivation-fixtures.js +3842 -0
  17. package/node_modules/@meteorjs/browserify-sign/elliptic/test/fixtures/sign.input +1024 -0
  18. package/node_modules/@meteorjs/browserify-sign/elliptic/test/index.js +10 -0
  19. package/node_modules/@meteorjs/browserify-sign/elliptic/test/unittests.html +39 -0
  20. package/node_modules/@meteorjs/browserify-sign/package.json +22 -5
  21. package/node_modules/@meteorjs/create-ecdh/browser.js +1 -1
  22. package/node_modules/@meteorjs/create-ecdh/elliptic/README.md +238 -0
  23. package/node_modules/@meteorjs/create-ecdh/elliptic/benchmarks/deps/jodid.js +82 -0
  24. package/node_modules/@meteorjs/create-ecdh/elliptic/benchmarks/deps/secp256k1.js +41 -0
  25. package/node_modules/@meteorjs/create-ecdh/elliptic/benchmarks/index.js +153 -0
  26. package/node_modules/@meteorjs/create-ecdh/elliptic/benchmarks/package.json +21 -0
  27. package/node_modules/@meteorjs/create-ecdh/elliptic/dist/.gitkeep +0 -0
  28. package/node_modules/@meteorjs/create-ecdh/elliptic/dist/elliptic.js +8961 -0
  29. package/node_modules/@meteorjs/create-ecdh/elliptic/dist/elliptic.min.js +1 -0
  30. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curve/base.js +381 -0
  31. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curve/edwards.js +435 -0
  32. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curve/index.js +8 -0
  33. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curve/mont.js +178 -0
  34. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curve/short.js +938 -0
  35. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/curves.js +206 -0
  36. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/ec/index.js +278 -0
  37. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/ec/key.js +121 -0
  38. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/ec/signature.js +176 -0
  39. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/eddsa/index.js +121 -0
  40. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/eddsa/key.js +95 -0
  41. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/eddsa/signature.js +66 -0
  42. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/precomputed/secp256k1.js +780 -0
  43. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic/utils.js +122 -0
  44. package/node_modules/@meteorjs/create-ecdh/elliptic/lib/elliptic.js +13 -0
  45. package/node_modules/@meteorjs/create-ecdh/elliptic/test/api-test.js +20 -0
  46. package/node_modules/@meteorjs/create-ecdh/elliptic/test/curve-test.js +357 -0
  47. package/node_modules/@meteorjs/create-ecdh/elliptic/test/ecdh-test.js +43 -0
  48. package/node_modules/@meteorjs/create-ecdh/elliptic/test/ecdsa-test.js +547 -0
  49. package/node_modules/@meteorjs/create-ecdh/elliptic/test/ed25519-test.js +138 -0
  50. package/node_modules/@meteorjs/create-ecdh/elliptic/test/fixtures/derivation-fixtures.js +3842 -0
  51. package/node_modules/@meteorjs/create-ecdh/elliptic/test/fixtures/sign.input +1024 -0
  52. package/node_modules/@meteorjs/create-ecdh/elliptic/test/index.js +10 -0
  53. package/node_modules/@meteorjs/create-ecdh/elliptic/test/unittests.html +39 -0
  54. package/node_modules/@meteorjs/create-ecdh/node_modules/bn.js/lib/bn.js +1 -0
  55. package/node_modules/@meteorjs/create-ecdh/node_modules/bn.js/package.json +1 -1
  56. package/node_modules/@meteorjs/create-ecdh/package.json +23 -5
  57. package/node_modules/asn1.js/node_modules/bn.js/lib/bn.js +6 -5
  58. package/node_modules/asn1.js/node_modules/bn.js/package.json +1 -1
  59. package/node_modules/asn1.js/node_modules/bn.js/util/genCombMulTo.js +65 -0
  60. package/node_modules/asn1.js/node_modules/bn.js/util/genCombMulTo10.js +65 -0
  61. package/node_modules/available-typed-arrays/.eslintrc +0 -4
  62. package/node_modules/available-typed-arrays/CHANGELOG.md +21 -0
  63. package/node_modules/available-typed-arrays/README.md +16 -13
  64. package/node_modules/available-typed-arrays/index.d.ts +8 -0
  65. package/node_modules/available-typed-arrays/index.js +4 -14
  66. package/node_modules/available-typed-arrays/package.json +26 -15
  67. package/node_modules/available-typed-arrays/tsconfig.json +49 -0
  68. package/node_modules/bn.js/README.md +11 -5
  69. package/node_modules/bn.js/lib/bn.js +6 -5
  70. package/node_modules/bn.js/package.json +1 -1
  71. package/node_modules/browserify-rsa/CHANGELOG.md +98 -0
  72. package/node_modules/browserify-rsa/README.md +0 -2
  73. package/node_modules/browserify-rsa/index.js +31 -28
  74. package/node_modules/browserify-rsa/package.json +64 -29
  75. package/node_modules/call-bind/CHANGELOG.md +13 -0
  76. package/node_modules/call-bind/index.js +6 -17
  77. package/node_modules/call-bind/package.json +14 -16
  78. package/node_modules/call-bind/test/index.js +4 -10
  79. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  80. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  81. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  82. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  83. package/node_modules/{has-proto → call-bind-apply-helpers}/LICENSE +1 -1
  84. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  85. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  86. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  87. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  88. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  89. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  90. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  91. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  92. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  93. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  94. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  95. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  96. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  97. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  98. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  99. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  100. package/node_modules/call-bound/.eslintrc +13 -0
  101. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  102. package/node_modules/call-bound/.nycrc +9 -0
  103. package/node_modules/call-bound/CHANGELOG.md +42 -0
  104. package/node_modules/{@meteorjs/browserify-sign/node_modules/bn.js → call-bound}/LICENSE +3 -1
  105. package/node_modules/call-bound/README.md +53 -0
  106. package/node_modules/call-bound/index.d.ts +94 -0
  107. package/node_modules/call-bound/index.js +19 -0
  108. package/node_modules/call-bound/package.json +99 -0
  109. package/node_modules/call-bound/test/index.js +61 -0
  110. package/node_modules/call-bound/tsconfig.json +10 -0
  111. package/node_modules/cipher-base/.eslintrc +24 -1
  112. package/node_modules/cipher-base/.github/FUNDING.yml +12 -0
  113. package/node_modules/cipher-base/CHANGELOG.md +66 -0
  114. package/node_modules/cipher-base/index.js +145 -77
  115. package/node_modules/cipher-base/package.json +60 -30
  116. package/node_modules/cipher-base/test/index.js +221 -0
  117. package/node_modules/des.js/lib/des/cipher.js +1 -0
  118. package/node_modules/des.js/lib/des/des.js +8 -0
  119. package/node_modules/des.js/package.json +3 -4
  120. package/node_modules/des.js/test/cbc-test.js +5 -5
  121. package/node_modules/des.js/test/des-test.js +9 -9
  122. package/node_modules/des.js/test/ede-test.js +39 -6
  123. package/node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js +6 -5
  124. package/node_modules/diffie-hellman/node_modules/bn.js/package.json +1 -1
  125. package/node_modules/diffie-hellman/node_modules/bn.js/util/genCombMulTo.js +65 -0
  126. package/node_modules/diffie-hellman/node_modules/bn.js/util/genCombMulTo10.js +65 -0
  127. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  128. package/node_modules/dunder-proto/.nycrc +13 -0
  129. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  130. package/node_modules/{@meteorjs/crypto-browserify/node_modules/hash-base → dunder-proto}/LICENSE +6 -6
  131. package/node_modules/dunder-proto/README.md +54 -0
  132. package/node_modules/dunder-proto/get.d.ts +5 -0
  133. package/node_modules/dunder-proto/get.js +30 -0
  134. package/node_modules/dunder-proto/package.json +76 -0
  135. package/node_modules/dunder-proto/set.d.ts +5 -0
  136. package/node_modules/dunder-proto/set.js +35 -0
  137. package/node_modules/dunder-proto/test/get.js +34 -0
  138. package/node_modules/dunder-proto/test/index.js +4 -0
  139. package/node_modules/dunder-proto/test/set.js +50 -0
  140. package/node_modules/dunder-proto/tsconfig.json +9 -0
  141. package/node_modules/es-define-property/CHANGELOG.md +14 -0
  142. package/node_modules/es-define-property/index.js +1 -3
  143. package/node_modules/es-define-property/package.json +12 -12
  144. package/node_modules/es-define-property/test/index.js +1 -0
  145. package/node_modules/es-define-property/tsconfig.json +2 -42
  146. package/node_modules/es-object-atoms/.eslintrc +16 -0
  147. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  148. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  149. package/node_modules/{elliptic/node_modules/bn.js → es-object-atoms}/LICENSE +3 -1
  150. package/node_modules/es-object-atoms/README.md +63 -0
  151. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  152. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  153. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  154. package/node_modules/es-object-atoms/ToObject.js +10 -0
  155. package/node_modules/es-object-atoms/index.d.ts +3 -0
  156. package/node_modules/es-object-atoms/index.js +4 -0
  157. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  158. package/node_modules/es-object-atoms/isObject.js +6 -0
  159. package/node_modules/es-object-atoms/package.json +80 -0
  160. package/node_modules/es-object-atoms/test/index.js +38 -0
  161. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  162. package/node_modules/for-each/.eslintrc +16 -2
  163. package/node_modules/{has-proto → for-each}/.github/FUNDING.yml +1 -1
  164. package/node_modules/for-each/.github/SECURITY.md +3 -0
  165. package/node_modules/for-each/.nycrc +8 -0
  166. package/node_modules/for-each/CHANGELOG.md +107 -0
  167. package/node_modules/for-each/README.md +0 -4
  168. package/node_modules/for-each/index.d.ts +35 -0
  169. package/node_modules/for-each/index.js +11 -4
  170. package/node_modules/for-each/package.json +47 -36
  171. package/node_modules/for-each/test/test.js +54 -12
  172. package/node_modules/for-each/tsconfig.json +8 -0
  173. package/node_modules/get-intrinsic/.eslintrc +4 -0
  174. package/node_modules/get-intrinsic/CHANGELOG.md +43 -0
  175. package/node_modules/get-intrinsic/index.js +40 -21
  176. package/node_modules/get-intrinsic/package.json +24 -20
  177. package/node_modules/get-intrinsic/test/GetIntrinsic.js +2 -2
  178. package/node_modules/get-proto/.eslintrc +10 -0
  179. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  180. package/node_modules/get-proto/.nycrc +9 -0
  181. package/node_modules/get-proto/CHANGELOG.md +21 -0
  182. package/node_modules/get-proto/LICENSE +21 -0
  183. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  184. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  185. package/node_modules/get-proto/README.md +50 -0
  186. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  187. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  188. package/node_modules/get-proto/index.d.ts +5 -0
  189. package/node_modules/get-proto/index.js +27 -0
  190. package/node_modules/{has-proto → get-proto}/package.json +33 -26
  191. package/node_modules/get-proto/test/index.js +68 -0
  192. package/node_modules/get-proto/tsconfig.json +9 -0
  193. package/node_modules/gopd/CHANGELOG.md +20 -0
  194. package/node_modules/gopd/gOPD.d.ts +1 -0
  195. package/node_modules/gopd/gOPD.js +4 -0
  196. package/node_modules/gopd/index.d.ts +5 -0
  197. package/node_modules/gopd/index.js +2 -3
  198. package/node_modules/gopd/package.json +16 -10
  199. package/node_modules/gopd/test/index.js +2 -1
  200. package/node_modules/gopd/tsconfig.json +9 -0
  201. package/node_modules/has-symbols/CHANGELOG.md +16 -0
  202. package/node_modules/has-symbols/index.d.ts +3 -0
  203. package/node_modules/has-symbols/index.js +1 -0
  204. package/node_modules/has-symbols/package.json +19 -9
  205. package/node_modules/has-symbols/shams.d.ts +3 -0
  206. package/node_modules/has-symbols/shams.js +5 -2
  207. package/node_modules/has-symbols/test/shams/core-js.js +1 -0
  208. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +1 -0
  209. package/node_modules/has-symbols/test/tests.js +4 -2
  210. package/node_modules/has-symbols/tsconfig.json +10 -0
  211. package/node_modules/has-tostringtag/.eslintrc +0 -6
  212. package/node_modules/has-tostringtag/.nycrc +13 -0
  213. package/node_modules/has-tostringtag/CHANGELOG.md +22 -0
  214. package/node_modules/has-tostringtag/index.d.ts +3 -0
  215. package/node_modules/has-tostringtag/index.js +1 -0
  216. package/node_modules/has-tostringtag/package.json +37 -13
  217. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  218. package/node_modules/has-tostringtag/shams.js +1 -0
  219. package/node_modules/has-tostringtag/test/shams/core-js.js +3 -0
  220. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +2 -0
  221. package/node_modules/has-tostringtag/test/tests.js +2 -1
  222. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  223. package/node_modules/hash-base/README.md +15 -15
  224. package/node_modules/hash-base/index.js +52 -9
  225. package/node_modules/hash-base/package.json +40 -40
  226. package/node_modules/hasown/CHANGELOG.md +20 -0
  227. package/node_modules/hasown/index.d.ts +3 -3
  228. package/node_modules/hasown/index.js +1 -1
  229. package/node_modules/hasown/package.json +16 -15
  230. package/node_modules/hasown/tsconfig.json +3 -46
  231. package/node_modules/is-arguments/.eslintrc +0 -1
  232. package/node_modules/is-arguments/CHANGELOG.md +22 -0
  233. package/node_modules/is-arguments/README.md +11 -11
  234. package/node_modules/is-arguments/index.d.ts +6 -0
  235. package/node_modules/is-arguments/index.js +19 -8
  236. package/node_modules/is-arguments/package.json +25 -11
  237. package/node_modules/is-arguments/test/index.js +4 -1
  238. package/node_modules/is-arguments/tsconfig.json +9 -0
  239. package/node_modules/is-generator-function/.eslintrc +1 -1
  240. package/node_modules/is-generator-function/CHANGELOG.md +21 -0
  241. package/node_modules/is-generator-function/index.d.ts +3 -0
  242. package/node_modules/is-generator-function/index.js +16 -7
  243. package/node_modules/is-generator-function/package.json +30 -11
  244. package/node_modules/is-generator-function/test/corejs.js +1 -0
  245. package/node_modules/is-generator-function/test/index.js +4 -7
  246. package/node_modules/is-generator-function/test/uglified.js +1 -0
  247. package/node_modules/is-generator-function/tsconfig.json +9 -0
  248. package/node_modules/is-regex/.editorconfig +23 -0
  249. package/node_modules/is-regex/.eslintrc +10 -0
  250. package/node_modules/is-regex/.nycrc +10 -0
  251. package/node_modules/is-regex/CHANGELOG.md +233 -0
  252. package/node_modules/is-regex/LICENSE +20 -0
  253. package/node_modules/is-regex/README.md +52 -0
  254. package/node_modules/is-regex/index.d.ts +3 -0
  255. package/node_modules/is-regex/index.js +69 -0
  256. package/node_modules/is-regex/package.json +104 -0
  257. package/node_modules/is-regex/test/index.js +121 -0
  258. package/node_modules/is-regex/tsconfig.json +9 -0
  259. package/node_modules/is-typed-array/CHANGELOG.md +32 -0
  260. package/node_modules/is-typed-array/index.d.ts +9 -0
  261. package/node_modules/is-typed-array/index.js +1 -0
  262. package/node_modules/is-typed-array/package.json +23 -10
  263. package/node_modules/is-typed-array/test/index.js +9 -1
  264. package/node_modules/is-typed-array/tsconfig.json +6 -0
  265. package/node_modules/math-intrinsics/.eslintrc +16 -0
  266. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  267. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  268. package/node_modules/math-intrinsics/LICENSE +21 -0
  269. package/node_modules/math-intrinsics/README.md +50 -0
  270. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  271. package/node_modules/math-intrinsics/abs.js +4 -0
  272. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  273. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  274. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  275. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  276. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  277. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  278. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  279. package/node_modules/math-intrinsics/floor.js +4 -0
  280. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  281. package/node_modules/math-intrinsics/isFinite.js +12 -0
  282. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  283. package/node_modules/math-intrinsics/isInteger.js +16 -0
  284. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  285. package/node_modules/math-intrinsics/isNaN.js +6 -0
  286. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  287. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  288. package/node_modules/math-intrinsics/max.d.ts +1 -0
  289. package/node_modules/math-intrinsics/max.js +4 -0
  290. package/node_modules/math-intrinsics/min.d.ts +1 -0
  291. package/node_modules/math-intrinsics/min.js +4 -0
  292. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  293. package/node_modules/math-intrinsics/mod.js +9 -0
  294. package/node_modules/math-intrinsics/package.json +86 -0
  295. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  296. package/node_modules/math-intrinsics/pow.js +4 -0
  297. package/node_modules/math-intrinsics/round.d.ts +1 -0
  298. package/node_modules/math-intrinsics/round.js +4 -0
  299. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  300. package/node_modules/math-intrinsics/sign.js +11 -0
  301. package/node_modules/math-intrinsics/test/index.js +192 -0
  302. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  303. package/node_modules/miller-rabin/node_modules/bn.js/lib/bn.js +6 -5
  304. package/node_modules/miller-rabin/node_modules/bn.js/package.json +1 -1
  305. package/node_modules/miller-rabin/node_modules/bn.js/util/genCombMulTo.js +65 -0
  306. package/node_modules/miller-rabin/node_modules/bn.js/util/genCombMulTo10.js +65 -0
  307. package/node_modules/object-inspect/CHANGELOG.md +20 -0
  308. package/node_modules/object-inspect/index.js +27 -10
  309. package/node_modules/object-inspect/package.json +9 -8
  310. package/node_modules/object-inspect/test/quoteStyle.js +9 -0
  311. package/node_modules/object-inspect/test/values.js +50 -0
  312. package/node_modules/object-is/.eslintrc +1 -1
  313. package/node_modules/object-is/.nycrc +0 -4
  314. package/node_modules/object-is/CHANGELOG.md +25 -0
  315. package/node_modules/object-is/README.md +20 -20
  316. package/node_modules/object-is/package.json +23 -14
  317. package/node_modules/object.assign/CHANGELOG.md +21 -0
  318. package/node_modules/object.assign/dist/browser.js +495 -135
  319. package/node_modules/object.assign/implementation.js +6 -6
  320. package/node_modules/object.assign/package.json +14 -14
  321. package/node_modules/object.assign/test/tests.js +2 -2
  322. package/node_modules/possible-typed-array-names/.eslintrc +5 -0
  323. package/node_modules/possible-typed-array-names/.github/FUNDING.yml +12 -0
  324. package/node_modules/possible-typed-array-names/CHANGELOG.md +29 -0
  325. package/node_modules/possible-typed-array-names/LICENSE +21 -0
  326. package/node_modules/possible-typed-array-names/README.md +50 -0
  327. package/node_modules/possible-typed-array-names/index.d.ts +16 -0
  328. package/node_modules/possible-typed-array-names/index.js +17 -0
  329. package/node_modules/possible-typed-array-names/package.json +84 -0
  330. package/node_modules/possible-typed-array-names/test/index.js +19 -0
  331. package/node_modules/possible-typed-array-names/tsconfig.json +9 -0
  332. package/node_modules/public-encrypt/node_modules/bn.js/lib/bn.js +6 -5
  333. package/node_modules/public-encrypt/node_modules/bn.js/package.json +1 -1
  334. package/node_modules/public-encrypt/node_modules/bn.js/util/genCombMulTo.js +65 -0
  335. package/node_modules/public-encrypt/node_modules/bn.js/util/genCombMulTo10.js +65 -0
  336. package/node_modules/qs/.eslintrc +1 -0
  337. package/node_modules/qs/CHANGELOG.md +22 -0
  338. package/node_modules/qs/README.md +25 -1
  339. package/node_modules/qs/dist/qs.js +95 -44
  340. package/node_modules/qs/lib/parse.js +44 -12
  341. package/node_modules/qs/lib/stringify.js +11 -6
  342. package/node_modules/qs/lib/utils.js +7 -4
  343. package/node_modules/qs/package.json +9 -7
  344. package/node_modules/qs/test/parse.js +133 -27
  345. package/node_modules/qs/test/stringify.js +19 -11
  346. package/node_modules/qs/test/utils.js +126 -0
  347. package/node_modules/safe-regex-test/.eslintrc +9 -0
  348. package/node_modules/safe-regex-test/.github/FUNDING.yml +12 -0
  349. package/node_modules/safe-regex-test/.nycrc +13 -0
  350. package/node_modules/safe-regex-test/CHANGELOG.md +55 -0
  351. package/node_modules/safe-regex-test/LICENSE +21 -0
  352. package/node_modules/safe-regex-test/README.md +46 -0
  353. package/node_modules/safe-regex-test/index.d.ts +3 -0
  354. package/node_modules/safe-regex-test/index.js +17 -0
  355. package/node_modules/safe-regex-test/package.json +87 -0
  356. package/node_modules/safe-regex-test/test/index.js +41 -0
  357. package/node_modules/safe-regex-test/tsconfig.json +9 -0
  358. package/node_modules/side-channel/.eslintrc +1 -0
  359. package/node_modules/side-channel/CHANGELOG.md +15 -0
  360. package/node_modules/side-channel/README.md +60 -1
  361. package/node_modules/side-channel/index.d.ts +9 -22
  362. package/node_modules/side-channel/index.js +20 -106
  363. package/node_modules/side-channel/package.json +20 -19
  364. package/node_modules/side-channel/test/index.js +76 -55
  365. package/node_modules/side-channel/tsconfig.json +2 -43
  366. package/node_modules/side-channel-list/.editorconfig +9 -0
  367. package/node_modules/side-channel-list/.eslintrc +11 -0
  368. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  369. package/node_modules/side-channel-list/.nycrc +13 -0
  370. package/node_modules/side-channel-list/CHANGELOG.md +15 -0
  371. package/node_modules/side-channel-list/LICENSE +21 -0
  372. package/node_modules/side-channel-list/README.md +62 -0
  373. package/node_modules/side-channel-list/index.d.ts +13 -0
  374. package/node_modules/side-channel-list/index.js +113 -0
  375. package/node_modules/side-channel-list/list.d.ts +14 -0
  376. package/node_modules/side-channel-list/package.json +77 -0
  377. package/node_modules/side-channel-list/test/index.js +104 -0
  378. package/node_modules/side-channel-list/tsconfig.json +9 -0
  379. package/node_modules/side-channel-map/.editorconfig +9 -0
  380. package/node_modules/side-channel-map/.eslintrc +11 -0
  381. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  382. package/node_modules/side-channel-map/.nycrc +13 -0
  383. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  384. package/node_modules/side-channel-map/LICENSE +21 -0
  385. package/node_modules/side-channel-map/README.md +62 -0
  386. package/node_modules/side-channel-map/index.d.ts +15 -0
  387. package/node_modules/side-channel-map/index.js +68 -0
  388. package/node_modules/side-channel-map/package.json +80 -0
  389. package/node_modules/side-channel-map/test/index.js +114 -0
  390. package/node_modules/side-channel-map/tsconfig.json +9 -0
  391. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  392. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  393. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  394. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  395. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  396. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  397. package/node_modules/side-channel-weakmap/README.md +62 -0
  398. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  399. package/node_modules/side-channel-weakmap/index.js +84 -0
  400. package/node_modules/side-channel-weakmap/package.json +87 -0
  401. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  402. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  403. package/node_modules/which-typed-array/.eslintrc +1 -0
  404. package/node_modules/which-typed-array/CHANGELOG.md +57 -0
  405. package/node_modules/which-typed-array/index.d.ts +62 -0
  406. package/node_modules/which-typed-array/index.js +50 -25
  407. package/node_modules/which-typed-array/package.json +28 -13
  408. package/node_modules/which-typed-array/test/index.js +7 -1
  409. package/node_modules/which-typed-array/tsconfig.json +9 -0
  410. package/package.json +2 -3
  411. package/node_modules/@meteorjs/browserify-sign/node_modules/bn.js/README.md +0 -214
  412. package/node_modules/@meteorjs/browserify-sign/node_modules/bn.js/lib/bn.js +0 -3547
  413. package/node_modules/@meteorjs/browserify-sign/node_modules/bn.js/package.json +0 -39
  414. package/node_modules/@meteorjs/browserify-sign/node_modules/hash-base/LICENSE +0 -21
  415. package/node_modules/@meteorjs/browserify-sign/node_modules/hash-base/README.md +0 -48
  416. package/node_modules/@meteorjs/browserify-sign/node_modules/hash-base/index.js +0 -138
  417. package/node_modules/@meteorjs/browserify-sign/node_modules/hash-base/package.json +0 -42
  418. package/node_modules/@meteorjs/crypto-browserify/node_modules/hash-base/README.md +0 -48
  419. package/node_modules/@meteorjs/crypto-browserify/node_modules/hash-base/index.js +0 -95
  420. package/node_modules/@meteorjs/crypto-browserify/node_modules/hash-base/package.json +0 -41
  421. package/node_modules/available-typed-arrays/.eslintignore +0 -1
  422. package/node_modules/bn.js/CHANGELOG.md +0 -51
  423. package/node_modules/cipher-base/.npmignore +0 -1
  424. package/node_modules/cipher-base/.travis.yml +0 -6
  425. package/node_modules/cipher-base/test.js +0 -111
  426. package/node_modules/elliptic/node_modules/bn.js/README.md +0 -200
  427. package/node_modules/elliptic/node_modules/bn.js/lib/bn.js +0 -3446
  428. package/node_modules/elliptic/node_modules/bn.js/package.json +0 -36
  429. package/node_modules/elliptic/package.json +0 -56
  430. package/node_modules/for-each/.travis.yml +0 -45
  431. package/node_modules/for-each/test/.eslintrc +0 -8
  432. package/node_modules/has-proto/CHANGELOG.md +0 -23
  433. package/node_modules/has-proto/README.md +0 -38
  434. package/node_modules/has-proto/index.js +0 -11
  435. package/node_modules/has-proto/test/index.js +0 -19
  436. package/node_modules/hasown/index.d.ts.map +0 -1
  437. package/node_modules/is-arguments/.eslintignore +0 -1
  438. package/node_modules/is-generator-function/.eslintignore +0 -1
  439. package/node_modules/object-is/.eslintignore +0 -1
  440. package/node_modules/object.assign/test.html +0 -18458
  441. package/node_modules/parse-asn1/node_modules/hash-base/LICENSE +0 -21
  442. package/node_modules/parse-asn1/node_modules/hash-base/README.md +0 -48
  443. package/node_modules/parse-asn1/node_modules/hash-base/index.js +0 -95
  444. package/node_modules/parse-asn1/node_modules/hash-base/package.json +0 -41
  445. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/README.md +0 -0
  446. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curve/base.js +0 -0
  447. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curve/edwards.js +0 -0
  448. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curve/index.js +0 -0
  449. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curve/mont.js +0 -0
  450. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curve/short.js +0 -0
  451. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/curves.js +0 -0
  452. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/ec/index.js +0 -0
  453. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/ec/key.js +0 -0
  454. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/ec/signature.js +0 -0
  455. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/eddsa/index.js +0 -0
  456. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/eddsa/key.js +0 -0
  457. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/eddsa/signature.js +0 -0
  458. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/precomputed/secp256k1.js +0 -0
  459. /package/node_modules/{elliptic → @meteorjs/browserify-sign/elliptic}/lib/elliptic/utils.js +0 -0
  460. /package/node_modules/{has-proto → dunder-proto}/.eslintrc +0 -0
@@ -0,0 +1,435 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils');
4
+ var BN = require('bn.js');
5
+ var inherits = require('inherits');
6
+ var Base = require('./base');
7
+
8
+ var assert = utils.assert;
9
+
10
+ function EdwardsCurve(conf) {
11
+ // NOTE: Important as we are creating point in Base.call()
12
+ this.twisted = (conf.a | 0) !== 1;
13
+ this.mOneA = this.twisted && (conf.a | 0) === -1;
14
+ this.extended = this.mOneA;
15
+
16
+ Base.call(this, 'edwards', conf);
17
+
18
+ this.a = new BN(conf.a, 16).umod(this.red.m);
19
+ this.a = this.a.toRed(this.red);
20
+ this.c = new BN(conf.c, 16).toRed(this.red);
21
+ this.c2 = this.c.redSqr();
22
+ this.d = new BN(conf.d, 16).toRed(this.red);
23
+ this.dd = this.d.redAdd(this.d);
24
+
25
+ assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);
26
+ this.oneC = (conf.c | 0) === 1;
27
+ }
28
+ inherits(EdwardsCurve, Base);
29
+ module.exports = EdwardsCurve;
30
+
31
+ EdwardsCurve.prototype._mulA = function _mulA(num) {
32
+ if (this.mOneA)
33
+ return num.redNeg();
34
+ else
35
+ return this.a.redMul(num);
36
+ };
37
+
38
+ EdwardsCurve.prototype._mulC = function _mulC(num) {
39
+ if (this.oneC)
40
+ return num;
41
+ else
42
+ return this.c.redMul(num);
43
+ };
44
+
45
+ // Just for compatibility with Short curve
46
+ EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {
47
+ return this.point(x, y, z, t);
48
+ };
49
+
50
+ EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {
51
+ x = new BN(x, 16);
52
+ if (!x.red)
53
+ x = x.toRed(this.red);
54
+
55
+ var x2 = x.redSqr();
56
+ var rhs = this.c2.redSub(this.a.redMul(x2));
57
+ var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));
58
+
59
+ var y2 = rhs.redMul(lhs.redInvm());
60
+ var y = y2.redSqrt();
61
+ if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
62
+ throw new Error('invalid point');
63
+
64
+ var isOdd = y.fromRed().isOdd();
65
+ if (odd && !isOdd || !odd && isOdd)
66
+ y = y.redNeg();
67
+
68
+ return this.point(x, y);
69
+ };
70
+
71
+ EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {
72
+ y = new BN(y, 16);
73
+ if (!y.red)
74
+ y = y.toRed(this.red);
75
+
76
+ // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)
77
+ var y2 = y.redSqr();
78
+ var lhs = y2.redSub(this.c2);
79
+ var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);
80
+ var x2 = lhs.redMul(rhs.redInvm());
81
+
82
+ if (x2.cmp(this.zero) === 0) {
83
+ if (odd)
84
+ throw new Error('invalid point');
85
+ else
86
+ return this.point(this.zero, y);
87
+ }
88
+
89
+ var x = x2.redSqrt();
90
+ if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)
91
+ throw new Error('invalid point');
92
+
93
+ if (x.fromRed().isOdd() !== odd)
94
+ x = x.redNeg();
95
+
96
+ return this.point(x, y);
97
+ };
98
+
99
+ EdwardsCurve.prototype.validate = function validate(point) {
100
+ if (point.isInfinity())
101
+ return true;
102
+
103
+ // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)
104
+ point.normalize();
105
+
106
+ var x2 = point.x.redSqr();
107
+ var y2 = point.y.redSqr();
108
+ var lhs = x2.redMul(this.a).redAdd(y2);
109
+ var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));
110
+
111
+ return lhs.cmp(rhs) === 0;
112
+ };
113
+
114
+ function Point(curve, x, y, z, t) {
115
+ Base.BasePoint.call(this, curve, 'projective');
116
+ if (x === null && y === null && z === null) {
117
+ this.x = this.curve.zero;
118
+ this.y = this.curve.one;
119
+ this.z = this.curve.one;
120
+ this.t = this.curve.zero;
121
+ this.zOne = true;
122
+ } else {
123
+ this.x = new BN(x, 16);
124
+ this.y = new BN(y, 16);
125
+ this.z = z ? new BN(z, 16) : this.curve.one;
126
+ this.t = t && new BN(t, 16);
127
+ if (!this.x.red)
128
+ this.x = this.x.toRed(this.curve.red);
129
+ if (!this.y.red)
130
+ this.y = this.y.toRed(this.curve.red);
131
+ if (!this.z.red)
132
+ this.z = this.z.toRed(this.curve.red);
133
+ if (this.t && !this.t.red)
134
+ this.t = this.t.toRed(this.curve.red);
135
+ this.zOne = this.z === this.curve.one;
136
+
137
+ // Use extended coordinates
138
+ if (this.curve.extended && !this.t) {
139
+ this.t = this.x.redMul(this.y);
140
+ if (!this.zOne)
141
+ this.t = this.t.redMul(this.z.redInvm());
142
+ }
143
+ }
144
+ }
145
+ inherits(Point, Base.BasePoint);
146
+
147
+ EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
148
+ return Point.fromJSON(this, obj);
149
+ };
150
+
151
+ EdwardsCurve.prototype.point = function point(x, y, z, t) {
152
+ return new Point(this, x, y, z, t);
153
+ };
154
+
155
+ Point.fromJSON = function fromJSON(curve, obj) {
156
+ return new Point(curve, obj[0], obj[1], obj[2]);
157
+ };
158
+
159
+ Point.prototype.inspect = function inspect() {
160
+ if (this.isInfinity())
161
+ return '<EC Point Infinity>';
162
+ return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
163
+ ' y: ' + this.y.fromRed().toString(16, 2) +
164
+ ' z: ' + this.z.fromRed().toString(16, 2) + '>';
165
+ };
166
+
167
+ Point.prototype.isInfinity = function isInfinity() {
168
+ // XXX This code assumes that zero is always zero in red
169
+ return this.x.cmpn(0) === 0 &&
170
+ (this.y.cmp(this.z) === 0 ||
171
+ (this.zOne && this.y.cmp(this.curve.c) === 0));
172
+ };
173
+
174
+ Point.prototype._extDbl = function _extDbl() {
175
+ // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
176
+ // #doubling-dbl-2008-hwcd
177
+ // 4M + 4S
178
+
179
+ // A = X1^2
180
+ var a = this.x.redSqr();
181
+ // B = Y1^2
182
+ var b = this.y.redSqr();
183
+ // C = 2 * Z1^2
184
+ var c = this.z.redSqr();
185
+ c = c.redIAdd(c);
186
+ // D = a * A
187
+ var d = this.curve._mulA(a);
188
+ // E = (X1 + Y1)^2 - A - B
189
+ var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);
190
+ // G = D + B
191
+ var g = d.redAdd(b);
192
+ // F = G - C
193
+ var f = g.redSub(c);
194
+ // H = D - B
195
+ var h = d.redSub(b);
196
+ // X3 = E * F
197
+ var nx = e.redMul(f);
198
+ // Y3 = G * H
199
+ var ny = g.redMul(h);
200
+ // T3 = E * H
201
+ var nt = e.redMul(h);
202
+ // Z3 = F * G
203
+ var nz = f.redMul(g);
204
+ return this.curve.point(nx, ny, nz, nt);
205
+ };
206
+
207
+ Point.prototype._projDbl = function _projDbl() {
208
+ // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
209
+ // #doubling-dbl-2008-bbjlp
210
+ // #doubling-dbl-2007-bl
211
+ // and others
212
+ // Generally 3M + 4S or 2M + 4S
213
+
214
+ // B = (X1 + Y1)^2
215
+ var b = this.x.redAdd(this.y).redSqr();
216
+ // C = X1^2
217
+ var c = this.x.redSqr();
218
+ // D = Y1^2
219
+ var d = this.y.redSqr();
220
+
221
+ var nx;
222
+ var ny;
223
+ var nz;
224
+ var e;
225
+ var h;
226
+ var j;
227
+ if (this.curve.twisted) {
228
+ // E = a * C
229
+ e = this.curve._mulA(c);
230
+ // F = E + D
231
+ var f = e.redAdd(d);
232
+ if (this.zOne) {
233
+ // X3 = (B - C - D) * (F - 2)
234
+ nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));
235
+ // Y3 = F * (E - D)
236
+ ny = f.redMul(e.redSub(d));
237
+ // Z3 = F^2 - 2 * F
238
+ nz = f.redSqr().redSub(f).redSub(f);
239
+ } else {
240
+ // H = Z1^2
241
+ h = this.z.redSqr();
242
+ // J = F - 2 * H
243
+ j = f.redSub(h).redISub(h);
244
+ // X3 = (B-C-D)*J
245
+ nx = b.redSub(c).redISub(d).redMul(j);
246
+ // Y3 = F * (E - D)
247
+ ny = f.redMul(e.redSub(d));
248
+ // Z3 = F * J
249
+ nz = f.redMul(j);
250
+ }
251
+ } else {
252
+ // E = C + D
253
+ e = c.redAdd(d);
254
+ // H = (c * Z1)^2
255
+ h = this.curve._mulC(this.z).redSqr();
256
+ // J = E - 2 * H
257
+ j = e.redSub(h).redSub(h);
258
+ // X3 = c * (B - E) * J
259
+ nx = this.curve._mulC(b.redISub(e)).redMul(j);
260
+ // Y3 = c * E * (C - D)
261
+ ny = this.curve._mulC(e).redMul(c.redISub(d));
262
+ // Z3 = E * J
263
+ nz = e.redMul(j);
264
+ }
265
+ return this.curve.point(nx, ny, nz);
266
+ };
267
+
268
+ Point.prototype.dbl = function dbl() {
269
+ if (this.isInfinity())
270
+ return this;
271
+
272
+ // Double in extended coordinates
273
+ if (this.curve.extended)
274
+ return this._extDbl();
275
+ else
276
+ return this._projDbl();
277
+ };
278
+
279
+ Point.prototype._extAdd = function _extAdd(p) {
280
+ // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
281
+ // #addition-add-2008-hwcd-3
282
+ // 8M
283
+
284
+ // A = (Y1 - X1) * (Y2 - X2)
285
+ var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));
286
+ // B = (Y1 + X1) * (Y2 + X2)
287
+ var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));
288
+ // C = T1 * k * T2
289
+ var c = this.t.redMul(this.curve.dd).redMul(p.t);
290
+ // D = Z1 * 2 * Z2
291
+ var d = this.z.redMul(p.z.redAdd(p.z));
292
+ // E = B - A
293
+ var e = b.redSub(a);
294
+ // F = D - C
295
+ var f = d.redSub(c);
296
+ // G = D + C
297
+ var g = d.redAdd(c);
298
+ // H = B + A
299
+ var h = b.redAdd(a);
300
+ // X3 = E * F
301
+ var nx = e.redMul(f);
302
+ // Y3 = G * H
303
+ var ny = g.redMul(h);
304
+ // T3 = E * H
305
+ var nt = e.redMul(h);
306
+ // Z3 = F * G
307
+ var nz = f.redMul(g);
308
+ return this.curve.point(nx, ny, nz, nt);
309
+ };
310
+
311
+ Point.prototype._projAdd = function _projAdd(p) {
312
+ // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
313
+ // #addition-add-2008-bbjlp
314
+ // #addition-add-2007-bl
315
+ // 10M + 1S
316
+
317
+ // A = Z1 * Z2
318
+ var a = this.z.redMul(p.z);
319
+ // B = A^2
320
+ var b = a.redSqr();
321
+ // C = X1 * X2
322
+ var c = this.x.redMul(p.x);
323
+ // D = Y1 * Y2
324
+ var d = this.y.redMul(p.y);
325
+ // E = d * C * D
326
+ var e = this.curve.d.redMul(c).redMul(d);
327
+ // F = B - E
328
+ var f = b.redSub(e);
329
+ // G = B + E
330
+ var g = b.redAdd(e);
331
+ // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)
332
+ var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);
333
+ var nx = a.redMul(f).redMul(tmp);
334
+ var ny;
335
+ var nz;
336
+ if (this.curve.twisted) {
337
+ // Y3 = A * G * (D - a * C)
338
+ ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));
339
+ // Z3 = F * G
340
+ nz = f.redMul(g);
341
+ } else {
342
+ // Y3 = A * G * (D - C)
343
+ ny = a.redMul(g).redMul(d.redSub(c));
344
+ // Z3 = c * F * G
345
+ nz = this.curve._mulC(f).redMul(g);
346
+ }
347
+ return this.curve.point(nx, ny, nz);
348
+ };
349
+
350
+ Point.prototype.add = function add(p) {
351
+ if (this.isInfinity())
352
+ return p;
353
+ if (p.isInfinity())
354
+ return this;
355
+
356
+ if (this.curve.extended)
357
+ return this._extAdd(p);
358
+ else
359
+ return this._projAdd(p);
360
+ };
361
+
362
+ Point.prototype.mul = function mul(k) {
363
+ if (this._hasDoubles(k))
364
+ return this.curve._fixedNafMul(this, k);
365
+ else
366
+ return this.curve._wnafMul(this, k);
367
+ };
368
+
369
+ Point.prototype.mulAdd = function mulAdd(k1, p, k2) {
370
+ return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);
371
+ };
372
+
373
+ Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {
374
+ return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);
375
+ };
376
+
377
+ Point.prototype.normalize = function normalize() {
378
+ if (this.zOne)
379
+ return this;
380
+
381
+ // Normalize coordinates
382
+ var zi = this.z.redInvm();
383
+ this.x = this.x.redMul(zi);
384
+ this.y = this.y.redMul(zi);
385
+ if (this.t)
386
+ this.t = this.t.redMul(zi);
387
+ this.z = this.curve.one;
388
+ this.zOne = true;
389
+ return this;
390
+ };
391
+
392
+ Point.prototype.neg = function neg() {
393
+ return this.curve.point(this.x.redNeg(),
394
+ this.y,
395
+ this.z,
396
+ this.t && this.t.redNeg());
397
+ };
398
+
399
+ Point.prototype.getX = function getX() {
400
+ this.normalize();
401
+ return this.x.fromRed();
402
+ };
403
+
404
+ Point.prototype.getY = function getY() {
405
+ this.normalize();
406
+ return this.y.fromRed();
407
+ };
408
+
409
+ Point.prototype.eq = function eq(other) {
410
+ return this === other ||
411
+ this.getX().cmp(other.getX()) === 0 &&
412
+ this.getY().cmp(other.getY()) === 0;
413
+ };
414
+
415
+ Point.prototype.eqXToP = function eqXToP(x) {
416
+ var rx = x.toRed(this.curve.red).redMul(this.z);
417
+ if (this.x.cmp(rx) === 0)
418
+ return true;
419
+
420
+ var xc = x.clone();
421
+ var t = this.curve.redN.redMul(this.z);
422
+ for (;;) {
423
+ xc.iadd(this.curve.n);
424
+ if (xc.cmp(this.curve.p) >= 0)
425
+ return false;
426
+
427
+ rx.redIAdd(t);
428
+ if (this.x.cmp(rx) === 0)
429
+ return true;
430
+ }
431
+ };
432
+
433
+ // Compatibility with BaseCurve
434
+ Point.prototype.toP = Point.prototype.normalize;
435
+ Point.prototype.mixedAdd = Point.prototype.add;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var curve = exports;
4
+
5
+ curve.base = require('./base');
6
+ curve.short = require('./short');
7
+ curve.mont = require('./mont');
8
+ curve.edwards = require('./edwards');
@@ -0,0 +1,178 @@
1
+ 'use strict';
2
+
3
+ var BN = require('bn.js');
4
+ var inherits = require('inherits');
5
+ var Base = require('./base');
6
+
7
+ var utils = require('../utils');
8
+
9
+ function MontCurve(conf) {
10
+ Base.call(this, 'mont', conf);
11
+
12
+ this.a = new BN(conf.a, 16).toRed(this.red);
13
+ this.b = new BN(conf.b, 16).toRed(this.red);
14
+ this.i4 = new BN(4).toRed(this.red).redInvm();
15
+ this.two = new BN(2).toRed(this.red);
16
+ this.a24 = this.i4.redMul(this.a.redAdd(this.two));
17
+ }
18
+ inherits(MontCurve, Base);
19
+ module.exports = MontCurve;
20
+
21
+ MontCurve.prototype.validate = function validate(point) {
22
+ var x = point.normalize().x;
23
+ var x2 = x.redSqr();
24
+ var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);
25
+ var y = rhs.redSqrt();
26
+
27
+ return y.redSqr().cmp(rhs) === 0;
28
+ };
29
+
30
+ function Point(curve, x, z) {
31
+ Base.BasePoint.call(this, curve, 'projective');
32
+ if (x === null && z === null) {
33
+ this.x = this.curve.one;
34
+ this.z = this.curve.zero;
35
+ } else {
36
+ this.x = new BN(x, 16);
37
+ this.z = new BN(z, 16);
38
+ if (!this.x.red)
39
+ this.x = this.x.toRed(this.curve.red);
40
+ if (!this.z.red)
41
+ this.z = this.z.toRed(this.curve.red);
42
+ }
43
+ }
44
+ inherits(Point, Base.BasePoint);
45
+
46
+ MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
47
+ return this.point(utils.toArray(bytes, enc), 1);
48
+ };
49
+
50
+ MontCurve.prototype.point = function point(x, z) {
51
+ return new Point(this, x, z);
52
+ };
53
+
54
+ MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
55
+ return Point.fromJSON(this, obj);
56
+ };
57
+
58
+ Point.prototype.precompute = function precompute() {
59
+ // No-op
60
+ };
61
+
62
+ Point.prototype._encode = function _encode() {
63
+ return this.getX().toArray('be', this.curve.p.byteLength());
64
+ };
65
+
66
+ Point.fromJSON = function fromJSON(curve, obj) {
67
+ return new Point(curve, obj[0], obj[1] || curve.one);
68
+ };
69
+
70
+ Point.prototype.inspect = function inspect() {
71
+ if (this.isInfinity())
72
+ return '<EC Point Infinity>';
73
+ return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
74
+ ' z: ' + this.z.fromRed().toString(16, 2) + '>';
75
+ };
76
+
77
+ Point.prototype.isInfinity = function isInfinity() {
78
+ // XXX This code assumes that zero is always zero in red
79
+ return this.z.cmpn(0) === 0;
80
+ };
81
+
82
+ Point.prototype.dbl = function dbl() {
83
+ // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
84
+ // 2M + 2S + 4A
85
+
86
+ // A = X1 + Z1
87
+ var a = this.x.redAdd(this.z);
88
+ // AA = A^2
89
+ var aa = a.redSqr();
90
+ // B = X1 - Z1
91
+ var b = this.x.redSub(this.z);
92
+ // BB = B^2
93
+ var bb = b.redSqr();
94
+ // C = AA - BB
95
+ var c = aa.redSub(bb);
96
+ // X3 = AA * BB
97
+ var nx = aa.redMul(bb);
98
+ // Z3 = C * (BB + A24 * C)
99
+ var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));
100
+ return this.curve.point(nx, nz);
101
+ };
102
+
103
+ Point.prototype.add = function add() {
104
+ throw new Error('Not supported on Montgomery curve');
105
+ };
106
+
107
+ Point.prototype.diffAdd = function diffAdd(p, diff) {
108
+ // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3
109
+ // 4M + 2S + 6A
110
+
111
+ // A = X2 + Z2
112
+ var a = this.x.redAdd(this.z);
113
+ // B = X2 - Z2
114
+ var b = this.x.redSub(this.z);
115
+ // C = X3 + Z3
116
+ var c = p.x.redAdd(p.z);
117
+ // D = X3 - Z3
118
+ var d = p.x.redSub(p.z);
119
+ // DA = D * A
120
+ var da = d.redMul(a);
121
+ // CB = C * B
122
+ var cb = c.redMul(b);
123
+ // X5 = Z1 * (DA + CB)^2
124
+ var nx = diff.z.redMul(da.redAdd(cb).redSqr());
125
+ // Z5 = X1 * (DA - CB)^2
126
+ var nz = diff.x.redMul(da.redISub(cb).redSqr());
127
+ return this.curve.point(nx, nz);
128
+ };
129
+
130
+ Point.prototype.mul = function mul(k) {
131
+ var t = k.clone();
132
+ var a = this; // (N / 2) * Q + Q
133
+ var b = this.curve.point(null, null); // (N / 2) * Q
134
+ var c = this; // Q
135
+
136
+ for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))
137
+ bits.push(t.andln(1));
138
+
139
+ for (var i = bits.length - 1; i >= 0; i--) {
140
+ if (bits[i] === 0) {
141
+ // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q
142
+ a = a.diffAdd(b, c);
143
+ // N * Q = 2 * ((N / 2) * Q + Q))
144
+ b = b.dbl();
145
+ } else {
146
+ // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
147
+ b = a.diffAdd(b, c);
148
+ // N * Q + Q = 2 * ((N / 2) * Q + Q)
149
+ a = a.dbl();
150
+ }
151
+ }
152
+ return b;
153
+ };
154
+
155
+ Point.prototype.mulAdd = function mulAdd() {
156
+ throw new Error('Not supported on Montgomery curve');
157
+ };
158
+
159
+ Point.prototype.jumlAdd = function jumlAdd() {
160
+ throw new Error('Not supported on Montgomery curve');
161
+ };
162
+
163
+ Point.prototype.eq = function eq(other) {
164
+ return this.getX().cmp(other.getX()) === 0;
165
+ };
166
+
167
+ Point.prototype.normalize = function normalize() {
168
+ this.x = this.x.redMul(this.z.redInvm());
169
+ this.z = this.curve.one;
170
+ return this;
171
+ };
172
+
173
+ Point.prototype.getX = function getX() {
174
+ // Normalize coordinates
175
+ this.normalize();
176
+
177
+ return this.x.fromRed();
178
+ };