fsevents 1.0.5 → 1.0.6

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.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (360) hide show
  1. package/Readme.md +12 -13
  2. package/node_modules/ansi/package.json +1 -2
  3. package/node_modules/are-we-there-yet/package.json +1 -2
  4. package/node_modules/asn1/.travis.yml +4 -0
  5. package/node_modules/asn1/lib/ber/reader.js +27 -33
  6. package/node_modules/asn1/lib/ber/writer.js +10 -11
  7. package/node_modules/asn1/package.json +21 -19
  8. package/node_modules/asn1/tst/ber/reader.test.js +36 -0
  9. package/node_modules/asn1/tst/ber/writer.test.js +74 -0
  10. package/node_modules/assert-plus/package.json +1 -0
  11. package/node_modules/{ctype → bl/node_modules/readable-stream/node_modules/core-util-is}/LICENSE +1 -6
  12. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  13. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  14. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  15. package/node_modules/boom/package.json +1 -1
  16. package/node_modules/commander/package.json +1 -1
  17. package/node_modules/core-util-is/LICENSE +19 -0
  18. package/node_modules/core-util-is/lib/util.js +11 -11
  19. package/node_modules/core-util-is/package.json +17 -12
  20. package/node_modules/core-util-is/test.js +68 -0
  21. package/node_modules/dashdash/README.md +508 -0
  22. package/node_modules/dashdash/lib/dashdash.js +813 -0
  23. package/node_modules/dashdash/package.json +87 -0
  24. package/node_modules/deep-extend/LICENSE +1 -1
  25. package/node_modules/deep-extend/README.md +89 -52
  26. package/node_modules/deep-extend/index.js +1 -90
  27. package/node_modules/deep-extend/lib/deep-extend.js +144 -0
  28. package/node_modules/deep-extend/package.json +47 -16
  29. package/node_modules/deep-extend/test/index.spec.js +168 -5
  30. package/node_modules/delegates/package.json +1 -2
  31. package/node_modules/ecc-jsbn/.npmignore +15 -0
  32. package/node_modules/ecc-jsbn/LICENSE +21 -0
  33. package/node_modules/ecc-jsbn/README.md +8 -0
  34. package/node_modules/ecc-jsbn/index.js +57 -0
  35. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  36. package/node_modules/ecc-jsbn/lib/ec.js +561 -0
  37. package/node_modules/ecc-jsbn/lib/sec.js +170 -0
  38. package/node_modules/ecc-jsbn/package.json +63 -0
  39. package/node_modules/ecc-jsbn/test.js +14 -0
  40. package/node_modules/extsprintf/.gitmodules +6 -0
  41. package/node_modules/{path-is-absolute/license → extsprintf/LICENSE} +2 -4
  42. package/node_modules/extsprintf/Makefile +23 -0
  43. package/node_modules/extsprintf/Makefile.deps +39 -0
  44. package/node_modules/extsprintf/Makefile.targ +285 -0
  45. package/node_modules/extsprintf/README.md +39 -0
  46. package/node_modules/extsprintf/examples/simple.js +2 -0
  47. package/node_modules/{ctype/tools/jsl.conf → extsprintf/jsl.node.conf} +71 -63
  48. package/node_modules/extsprintf/lib/extsprintf.js +166 -0
  49. package/node_modules/extsprintf/package.json +48 -0
  50. package/node_modules/fstream/package.json +1 -2
  51. package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/package.json +4 -22
  52. package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/package.json +3 -21
  53. package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/package.json +4 -23
  54. package/node_modules/fstream-ignore/node_modules/minimatch/package.json +4 -24
  55. package/node_modules/fstream-ignore/package.json +1 -2
  56. package/node_modules/gauge/package.json +1 -2
  57. package/node_modules/har-validator/package.json +15 -15
  58. package/node_modules/has-unicode/package.json +1 -2
  59. package/node_modules/hawk/dist/client.js +340 -0
  60. package/node_modules/hawk/lib/browser.js +14 -20
  61. package/node_modules/hawk/package.json +10 -10
  62. package/node_modules/hawk/test/browser.js +134 -101
  63. package/node_modules/hawk/test/index.js +61 -61
  64. package/node_modules/hawk/test/server.js +72 -84
  65. package/node_modules/hawk/test/uri.js +52 -63
  66. package/node_modules/http-signature/CHANGES.md +39 -0
  67. package/node_modules/http-signature/http_signing.md +16 -17
  68. package/node_modules/http-signature/lib/index.js +6 -4
  69. package/node_modules/http-signature/lib/parser.js +43 -29
  70. package/node_modules/http-signature/lib/signer.js +290 -74
  71. package/node_modules/http-signature/lib/utils.js +112 -0
  72. package/node_modules/http-signature/lib/verify.js +47 -15
  73. package/node_modules/http-signature/package.json +20 -14
  74. package/node_modules/is-my-json-valid/index.js +16 -14
  75. package/node_modules/is-my-json-valid/package.json +16 -12
  76. package/node_modules/is-typedarray/LICENSE.md +18 -0
  77. package/node_modules/is-typedarray/README.md +16 -0
  78. package/node_modules/is-typedarray/index.js +41 -0
  79. package/node_modules/is-typedarray/package.json +63 -0
  80. package/node_modules/is-typedarray/test.js +34 -0
  81. package/node_modules/jodid25519/.npmignore +11 -0
  82. package/node_modules/jodid25519/.travis.yml +7 -0
  83. package/node_modules/jodid25519/AUTHORS.md +3 -0
  84. package/node_modules/jodid25519/LICENSE +23 -0
  85. package/node_modules/jodid25519/README.md +51 -0
  86. package/node_modules/jodid25519/almond.0 +42 -0
  87. package/node_modules/jodid25519/almond.1 +13 -0
  88. package/node_modules/jodid25519/index.js +35 -0
  89. package/node_modules/jodid25519/jsdoc.json +19 -0
  90. package/node_modules/jodid25519/lib/core.js +481 -0
  91. package/node_modules/jodid25519/lib/curve255.js +221 -0
  92. package/node_modules/jodid25519/lib/dh.js +111 -0
  93. package/node_modules/jodid25519/lib/eddsa.js +573 -0
  94. package/node_modules/jodid25519/lib/utils.js +198 -0
  95. package/node_modules/jodid25519/package.json +77 -0
  96. package/node_modules/jsbn/.npmignore +2 -0
  97. package/node_modules/jsbn/LICENSE +40 -0
  98. package/node_modules/jsbn/README.md +175 -0
  99. package/node_modules/jsbn/example.html +12 -0
  100. package/node_modules/jsbn/example.js +3 -0
  101. package/node_modules/jsbn/index.js +1358 -0
  102. package/node_modules/jsbn/package.json +60 -0
  103. package/node_modules/json-schema/README.md +5 -0
  104. package/node_modules/json-schema/draft-00/hyper-schema +68 -0
  105. package/node_modules/json-schema/draft-00/json-ref +26 -0
  106. package/node_modules/json-schema/draft-00/links +33 -0
  107. package/node_modules/json-schema/draft-00/schema +155 -0
  108. package/node_modules/json-schema/draft-01/hyper-schema +68 -0
  109. package/node_modules/json-schema/draft-01/json-ref +26 -0
  110. package/node_modules/json-schema/draft-01/links +33 -0
  111. package/node_modules/json-schema/draft-01/schema +155 -0
  112. package/node_modules/json-schema/draft-02/hyper-schema +68 -0
  113. package/node_modules/json-schema/draft-02/json-ref +26 -0
  114. package/node_modules/json-schema/draft-02/links +35 -0
  115. package/node_modules/json-schema/draft-02/schema +166 -0
  116. package/node_modules/json-schema/draft-03/examples/address +20 -0
  117. package/node_modules/json-schema/draft-03/examples/calendar +53 -0
  118. package/node_modules/json-schema/draft-03/examples/card +105 -0
  119. package/node_modules/json-schema/draft-03/examples/geo +8 -0
  120. package/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  121. package/node_modules/json-schema/draft-03/hyper-schema +60 -0
  122. package/node_modules/json-schema/draft-03/json-ref +26 -0
  123. package/node_modules/json-schema/draft-03/links +35 -0
  124. package/node_modules/json-schema/draft-03/schema +174 -0
  125. package/node_modules/json-schema/draft-04/hyper-schema +60 -0
  126. package/node_modules/json-schema/draft-04/links +41 -0
  127. package/node_modules/json-schema/draft-04/schema +189 -0
  128. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  129. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  130. package/node_modules/json-schema/lib/links.js +52 -0
  131. package/node_modules/json-schema/lib/validate.js +260 -0
  132. package/node_modules/json-schema/package.json +67 -0
  133. package/node_modules/json-schema/test/tests.js +95 -0
  134. package/node_modules/jsprim/CHANGES.md +30 -0
  135. package/node_modules/jsprim/LICENSE +19 -0
  136. package/node_modules/jsprim/README.md +228 -0
  137. package/node_modules/jsprim/lib/jsprim.js +478 -0
  138. package/node_modules/jsprim/package.json +54 -0
  139. package/node_modules/lodash._basetostring/package.json +1 -2
  140. package/node_modules/lodash._createpadding/package.json +1 -2
  141. package/node_modules/lodash.pad/package.json +1 -2
  142. package/node_modules/lodash.padleft/package.json +1 -2
  143. package/node_modules/lodash.padright/package.json +1 -2
  144. package/node_modules/lodash.repeat/package.json +1 -2
  145. package/node_modules/node-pre-gyp/CHANGELOG.md +8 -0
  146. package/node_modules/node-pre-gyp/README.md +570 -0
  147. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +4 -0
  148. package/node_modules/node-pre-gyp/node_modules/nopt/lib/nopt.js +2 -1
  149. package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/package.json +30 -37
  150. package/node_modules/node-pre-gyp/node_modules/nopt/package.json +37 -57
  151. package/node_modules/node-pre-gyp/node_modules/nopt/test/basic.js +22 -0
  152. package/node_modules/node-pre-gyp/package.json +17 -17
  153. package/node_modules/node-uuid/.npmignore +2 -0
  154. package/node_modules/node-uuid/README.md +12 -1
  155. package/node_modules/node-uuid/bower.json +1 -1
  156. package/node_modules/node-uuid/component.json +11 -4
  157. package/node_modules/node-uuid/package.json +25 -12
  158. package/node_modules/node-uuid/test/test.js +3 -0
  159. package/node_modules/node-uuid/uuid.js +70 -45
  160. package/node_modules/npmlog/.travis.yml +14 -0
  161. package/node_modules/npmlog/log.js +3 -0
  162. package/node_modules/npmlog/package.json +23 -20
  163. package/node_modules/npmlog/test/basic.js +8 -1
  164. package/node_modules/once/package.json +2 -3
  165. package/node_modules/pinkie/index.js +23 -7
  166. package/node_modules/pinkie/package.json +22 -15
  167. package/node_modules/pinkie/readme.md +17 -9
  168. package/node_modules/pinkie-promise/package.json +16 -14
  169. package/node_modules/pinkie-promise/readme.md +5 -3
  170. package/node_modules/rc/README.md +1 -1
  171. package/node_modules/rc/index.js +1 -1
  172. package/node_modules/rc/node_modules/minimist/package.json +1 -1
  173. package/node_modules/rc/package.json +12 -12
  174. package/node_modules/request/.eslintrc +1 -1
  175. package/node_modules/request/.travis.yml +4 -4
  176. package/node_modules/request/CHANGELOG.md +25 -0
  177. package/node_modules/request/README.md +12 -13
  178. package/node_modules/request/lib/har.js +84 -75
  179. package/node_modules/request/lib/redirect.js +2 -3
  180. package/node_modules/request/lib/tunnel.js +13 -18
  181. package/node_modules/request/package.json +17 -16
  182. package/node_modules/request/request.js +16 -59
  183. package/node_modules/rimraf/README.md +7 -2
  184. package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/package.json +5 -25
  185. package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/package.json +5 -25
  186. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  187. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md +42 -0
  188. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  189. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  190. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json +58 -0
  191. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js +25 -0
  192. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +3 -0
  193. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +122 -0
  194. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  195. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  196. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  197. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +3 -0
  198. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md +21 -0
  199. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  200. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  201. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  202. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  203. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +79 -0
  204. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  205. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  206. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  207. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  208. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  209. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  210. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +90 -0
  211. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  212. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +81 -0
  213. package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/package.json +3 -21
  214. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  215. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +58 -0
  216. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  217. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  218. package/node_modules/rimraf/node_modules/glob/node_modules/once/package.json +70 -0
  219. package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/package.json +4 -22
  220. package/node_modules/rimraf/node_modules/glob/package.json +2 -20
  221. package/node_modules/rimraf/package.json +10 -10
  222. package/node_modules/semver/README.md +25 -1
  223. package/node_modules/semver/package.json +10 -10
  224. package/node_modules/semver/range.bnf +16 -0
  225. package/node_modules/semver/semver.js +0 -12
  226. package/node_modules/sshpk/.npmignore +8 -0
  227. package/node_modules/sshpk/.travis.yml +11 -0
  228. package/node_modules/sshpk/LICENSE +18 -0
  229. package/node_modules/sshpk/README.md +436 -0
  230. package/node_modules/sshpk/bin/sshpk-conv +183 -0
  231. package/node_modules/sshpk/lib/algs.js +168 -0
  232. package/node_modules/sshpk/lib/dhe.js +312 -0
  233. package/node_modules/sshpk/lib/ed-compat.js +94 -0
  234. package/node_modules/sshpk/lib/errors.js +58 -0
  235. package/node_modules/sshpk/lib/fingerprint.js +140 -0
  236. package/node_modules/sshpk/lib/formats/auto.js +73 -0
  237. package/node_modules/sshpk/lib/formats/pem.js +152 -0
  238. package/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  239. package/node_modules/sshpk/lib/formats/pkcs8.js +510 -0
  240. package/node_modules/sshpk/lib/formats/rfc4253.js +145 -0
  241. package/node_modules/sshpk/lib/formats/ssh-private.js +138 -0
  242. package/node_modules/sshpk/lib/formats/ssh.js +114 -0
  243. package/node_modules/sshpk/lib/index.js +25 -0
  244. package/node_modules/sshpk/lib/key.js +260 -0
  245. package/node_modules/sshpk/lib/private-key.js +224 -0
  246. package/node_modules/sshpk/lib/signature.js +237 -0
  247. package/node_modules/sshpk/lib/ssh-buffer.js +123 -0
  248. package/node_modules/sshpk/lib/utils.js +207 -0
  249. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  250. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +8 -0
  251. package/node_modules/sshpk/node_modules/assert-plus/README.md +155 -0
  252. package/node_modules/sshpk/node_modules/assert-plus/assert.js +206 -0
  253. package/node_modules/sshpk/node_modules/assert-plus/package.json +88 -0
  254. package/node_modules/sshpk/package.json +92 -0
  255. package/node_modules/strip-json-comments/cli.js +2 -2
  256. package/node_modules/strip-json-comments/package.json +13 -12
  257. package/node_modules/strip-json-comments/readme.md +11 -5
  258. package/node_modules/strip-json-comments/strip-json-comments.js +16 -7
  259. package/node_modules/tar/package.json +1 -2
  260. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/LICENSE +19 -0
  261. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  262. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  263. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  264. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/inherits/package.json +1 -1
  265. package/node_modules/tar-pack/node_modules/rimraf/package.json +1 -2
  266. package/node_modules/tar-pack/package.json +1 -2
  267. package/node_modules/tough-cookie/lib/cookie.js +1 -1
  268. package/node_modules/tough-cookie/package.json +7 -7
  269. package/node_modules/tweetnacl/.npmignore +4 -0
  270. package/node_modules/tweetnacl/CHANGELOG.md +128 -0
  271. package/node_modules/tweetnacl/README.md +463 -0
  272. package/node_modules/tweetnacl/nacl-fast.js +2418 -0
  273. package/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  274. package/node_modules/tweetnacl/nacl.js +1205 -0
  275. package/node_modules/tweetnacl/nacl.min.js +1 -0
  276. package/node_modules/tweetnacl/package.json +101 -0
  277. package/node_modules/uid-number/package.json +2 -3
  278. package/node_modules/verror/.gitmodules +0 -0
  279. package/node_modules/verror/LICENSE +19 -0
  280. package/node_modules/verror/Makefile +35 -0
  281. package/node_modules/verror/Makefile.targ +285 -0
  282. package/node_modules/verror/README.md +120 -0
  283. package/node_modules/verror/examples/levels-verror.js +36 -0
  284. package/node_modules/verror/examples/levels-werror.js +34 -0
  285. package/node_modules/verror/examples/varargs.js +6 -0
  286. package/node_modules/verror/examples/verror.js +13 -0
  287. package/node_modules/verror/examples/werror.js +14 -0
  288. package/node_modules/verror/jsl.node.conf +139 -0
  289. package/node_modules/verror/lib/verror.js +157 -0
  290. package/node_modules/verror/package.json +51 -0
  291. package/node_modules/verror/tests/tst.inherit.js +100 -0
  292. package/node_modules/verror/tests/tst.verror.js +156 -0
  293. package/node_modules/verror/tests/tst.werror.js +179 -0
  294. package/package.json +3 -3
  295. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  296. package/node_modules/core-util-is/util.js +0 -106
  297. package/node_modules/ctype/.npmignore +0 -1
  298. package/node_modules/ctype/CHANGELOG +0 -78
  299. package/node_modules/ctype/README +0 -82
  300. package/node_modules/ctype/README.old +0 -298
  301. package/node_modules/ctype/ctf.js +0 -245
  302. package/node_modules/ctype/ctio.js +0 -1485
  303. package/node_modules/ctype/ctype.js +0 -944
  304. package/node_modules/ctype/man/man3ctype/ctio.3ctype +0 -241
  305. package/node_modules/ctype/package.json +0 -51
  306. package/node_modules/ctype/tools/jsstyle +0 -839
  307. package/node_modules/http-signature/lib/util.js +0 -306
  308. package/node_modules/inflight/node_modules/once/package.json +0 -86
  309. package/node_modules/inflight/node_modules/once/test/once.js +0 -23
  310. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -15
  311. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  312. package/node_modules/rimraf/node_modules/once/LICENSE +0 -15
  313. package/node_modules/rimraf/node_modules/once/README.md +0 -51
  314. package/node_modules/rimraf/node_modules/once/once.js +0 -21
  315. package/node_modules/rimraf/node_modules/once/package.json +0 -84
  316. package/node_modules/rimraf/node_modules/once/test/once.js +0 -23
  317. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  318. package/node_modules/wrappy/LICENSE +0 -15
  319. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/.npmignore +0 -0
  320. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/README.md +0 -0
  321. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/example.js +0 -0
  322. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/index.js +0 -0
  323. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.npmignore +0 -0
  324. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.travis.yml +0 -0
  325. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/LICENSE.md +0 -0
  326. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/Makefile +0 -0
  327. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/README.md +0 -0
  328. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/example.js +0 -0
  329. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/index.js +0 -0
  330. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/test/balanced.js +0 -0
  331. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/.travis.yml +0 -0
  332. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/LICENSE +0 -0
  333. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/README.markdown +0 -0
  334. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/example/map.js +0 -0
  335. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/index.js +0 -0
  336. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/test/map.js +0 -0
  337. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.npmignore +0 -0
  338. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.travis.yml +0 -0
  339. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/CONTRIBUTING.md +0 -0
  340. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/LICENSE +0 -0
  341. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/README.md +0 -0
  342. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/abbrev.js +0 -0
  343. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/test.js +0 -0
  344. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/.eslintrc +0 -0
  345. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/LICENSE +0 -0
  346. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/README.md +0 -0
  347. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/inflight.js +0 -0
  348. /package/node_modules/{fstream-ignore/node_modules/minimatch → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/LICENSE +0 -0
  349. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/README.md +0 -0
  350. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/test/basic.js +0 -0
  351. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/wrappy.js +0 -0
  352. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/test.js +0 -0
  353. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/README.md +0 -0
  354. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/minimatch.js +0 -0
  355. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/README.md +0 -0
  356. /package/node_modules/{inflight/node_modules/once → rimraf/node_modules/glob/node_modules/once/node_modules/wrappy}/LICENSE +0 -0
  357. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/once.js +0 -0
  358. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/index.js +0 -0
  359. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/readme.md +0 -0
  360. /package/node_modules/{deep-extend → verror}/.npmignore +0 -0
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * @fileOverview
4
+ * EC Diffie-Hellman operations on Curve25519.
5
+ */
6
+
7
+ /*
8
+ * Copyright (c) 2014 Mega Limited
9
+ * under the MIT License.
10
+ *
11
+ * Authors: Guy K. Kloss
12
+ *
13
+ * You should have received a copy of the license along with this program.
14
+ */
15
+
16
+ var core = require('./core');
17
+ var utils = require('./utils');
18
+ var curve255 = require('./curve255');
19
+
20
+
21
+ /**
22
+ * @exports jodid25519/dh
23
+ * EC Diffie-Hellman operations on Curve25519.
24
+ *
25
+ * @description
26
+ * EC Diffie-Hellman operations on Curve25519.
27
+ */
28
+ var ns = {};
29
+
30
+
31
+ function _toString(vector) {
32
+ var u = new Uint16Array(vector);
33
+ return (new Buffer(new Uint8Array(u.buffer)));
34
+ }
35
+
36
+ function _fromString(vector) {
37
+ if (Buffer.isBuffer(vector)) {
38
+ var u = new Uint8Array(vector);
39
+ return (new Uint16Array(u.buffer));
40
+ }
41
+
42
+ var result = new Array(16);
43
+ for (var i = 0, l = 0; i < vector.length; i += 2) {
44
+ result[l] = (vector.charCodeAt(i + 1) << 8) | vector.charCodeAt(i);
45
+ l++;
46
+ }
47
+ return result;
48
+ }
49
+
50
+
51
+ /**
52
+ * Computes a key through scalar multiplication of a point on the curve 25519.
53
+ *
54
+ * This function is used for the DH key-exchange protocol. It computes a
55
+ * key based on a secret key with a public component (opponent's public key
56
+ * or curve base point if not given) by using scalar multiplication.
57
+ *
58
+ * Before multiplication, some bit operations are applied to the
59
+ * private key to ensure it is a valid Curve25519 secret key.
60
+ * It is the user's responsibility to make sure that the private
61
+ * key is a uniformly random, secret value.
62
+ *
63
+ * @function
64
+ * @param privateComponent {string}
65
+ * Private point as byte string on the curve.
66
+ * @param publicComponent {string}
67
+ * Public point as byte string on the curve. If not given, the curve's
68
+ * base point is used.
69
+ * @returns {string}
70
+ * Key point as byte string resulting from scalar product.
71
+ */
72
+ ns.computeKey = function(privateComponent, publicComponent) {
73
+ if (publicComponent) {
74
+ return _toString(curve255.curve25519(_fromString(privateComponent),
75
+ _fromString(publicComponent)));
76
+ } else {
77
+ return _toString(curve255.curve25519(_fromString(privateComponent)));
78
+ }
79
+ };
80
+
81
+ /**
82
+ * Computes the public key to a private key on the curve 25519.
83
+ *
84
+ * Before multiplication, some bit operations are applied to the
85
+ * private key to ensure it is a valid Curve25519 secret key.
86
+ * It is the user's responsibility to make sure that the private
87
+ * key is a uniformly random, secret value.
88
+ *
89
+ * @function
90
+ * @param privateKey {string}
91
+ * Private point as byte string on the curve.
92
+ * @returns {string}
93
+ * Public key point as byte string resulting from scalar product.
94
+ */
95
+ ns.publicKey = function(privateKey) {
96
+ return _toString(curve255.curve25519(_fromString(privateKey)));
97
+ };
98
+
99
+
100
+ /**
101
+ * Generates a new random private key of 32 bytes length (256 bit).
102
+ *
103
+ * @function
104
+ * @returns {string}
105
+ * Byte string containing a new random private key seed.
106
+ */
107
+ ns.generateKey = function() {
108
+ return core.generateKey(true);
109
+ };
110
+
111
+ module.exports = ns;
@@ -0,0 +1,573 @@
1
+ "use strict";
2
+ /**
3
+ * @fileOverview
4
+ * Digital signature scheme based on Curve25519 (Ed25519 or EdDSA).
5
+ */
6
+
7
+ /*
8
+ * Copyright (c) 2011, 2012, 2014 Ron Garret
9
+ * Copyright (c) 2014 Mega Limited
10
+ * under the MIT License.
11
+ *
12
+ * Authors: Guy K. Kloss, Ron Garret
13
+ *
14
+ * You should have received a copy of the license along with this program.
15
+ */
16
+
17
+ var core = require('./core');
18
+ var curve255 = require('./curve255');
19
+ var utils = require('./utils');
20
+ var BigInteger = require('jsbn').BigInteger;
21
+ var crypto = require('crypto');
22
+
23
+ /**
24
+ * @exports jodid25519/eddsa
25
+ * Digital signature scheme based on Curve25519 (Ed25519 or EdDSA).
26
+ *
27
+ * @description
28
+ * Digital signature scheme based on Curve25519 (Ed25519 or EdDSA).
29
+ *
30
+ * <p>
31
+ * This code is adapted from fast-djbec.js, a faster but more complicated
32
+ * version of the Ed25519 encryption scheme (as compared to djbec.js).
33
+ * It uses two different representations for big integers: The jsbn
34
+ * BigInteger class, which can represent arbitrary-length numbers, and a
35
+ * special fixed-length representation optimised for 256-bit integers.
36
+ * The reason both are needed is that the Ed25519 algorithm requires some
37
+ * 512-bit numbers.</p>
38
+ */
39
+ var ns = {};
40
+
41
+ function _bi255(value) {
42
+ if (!(this instanceof _bi255)) {
43
+ return new _bi255(value);
44
+ }
45
+ if (typeof value === 'undefined') {
46
+ return _ZERO;
47
+ }
48
+ var c = value.constructor;
49
+ if ((c === Array || c === Uint16Array || c === Uint32Array) && (value.length === 16)) {
50
+ this.n = value;
51
+ } else if ((c === Array) && (value.length === 32)) {
52
+ this.n = _bytes2bi255(value).n;
53
+ } else if (c === String) {
54
+ this.n = utils.hexDecode(value);
55
+ } else if (c === Number) {
56
+ this.n = [value & 0xffff,
57
+ value >> 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
58
+ } else if (value instanceof _bi255) {
59
+ this.n = value.n.slice(0); // Copy constructor
60
+ } else {
61
+ throw "Bad argument for bignum: " + value;
62
+ }
63
+ }
64
+
65
+ _bi255.prototype = {
66
+ 'toString' : function() {
67
+ return utils.hexEncode(this.n);
68
+ },
69
+ 'toSource' : function() {
70
+ return '_' + utils.hexEncode(this.n);
71
+ },
72
+ 'plus' : function(n1) {
73
+ return _bi255(core.bigintadd(this.n, n1.n));
74
+ },
75
+ 'minus' : function(n1) {
76
+ return _bi255(core.bigintsub(this.n, n1.n)).modq();
77
+ },
78
+ 'times' : function(n1) {
79
+ return _bi255(core.mulmodp(this.n, n1.n));
80
+ },
81
+ 'divide' : function(n1) {
82
+ return this.times(n1.inv());
83
+ },
84
+ 'sqr' : function() {
85
+ return _bi255(core.sqrmodp(this.n));
86
+ },
87
+ 'cmp' : function(n1) {
88
+ return core.bigintcmp(this.n, n1.n);
89
+ },
90
+ 'equals' : function(n1) {
91
+ return this.cmp(n1) === 0;
92
+ },
93
+ 'isOdd' : function() {
94
+ return (this.n[0] & 1) === 1;
95
+ },
96
+ 'shiftLeft' : function(cnt) {
97
+ _shiftL(this.n, cnt);
98
+ return this;
99
+ },
100
+ 'shiftRight' : function(cnt) {
101
+ _shiftR(this.n, cnt);
102
+ return this;
103
+ },
104
+ 'inv' : function() {
105
+ return _bi255(core.invmodp(this.n));
106
+ },
107
+ 'pow' : function(e) {
108
+ return _bi255(_pow(this.n, e.n));
109
+ },
110
+ 'modq' : function() {
111
+ return _modq(this);
112
+ },
113
+ 'bytes' : function() {
114
+ return _bi255_bytes(this);
115
+ }
116
+ };
117
+
118
+ function _shiftL(n, cnt) {
119
+ var lastcarry = 0;
120
+ for (var i = 0; i < 16; i++) {
121
+ var carry = n[i] >> (16 - cnt);
122
+ n[i] = (n[i] << cnt) & 0xffff | lastcarry;
123
+ lastcarry = carry;
124
+ }
125
+ return n;
126
+ }
127
+
128
+ function _shiftR(n, cnt) {
129
+ var lastcarry = 0;
130
+ for (var i = 15; i >= 0; i--) {
131
+ var carry = n[i] << (16 - cnt) & 0xffff;
132
+ n[i] = (n[i] >> cnt) | lastcarry;
133
+ lastcarry = carry;
134
+ }
135
+ return n;
136
+ }
137
+
138
+ function _bi255_bytes(n) {
139
+ n = _bi255(n); // Make a copy because shiftRight is destructive
140
+ var a = new Array(32);
141
+ for (var i = 31; i >= 0; i--) {
142
+ a[i] = n.n[0] & 0xff;
143
+ n.shiftRight(8);
144
+ }
145
+ return a;
146
+ }
147
+
148
+ function _bytes2bi255(a) {
149
+ var n = _ZERO;
150
+ for (var i = 0; i < 32; i++) {
151
+ n.shiftLeft(8);
152
+ n = n.plus(_bi255(a[i]));
153
+ }
154
+ return n;
155
+ }
156
+
157
+ function _pow(n, e) {
158
+ var result = core.ONE();
159
+ for (var i = 0; i < 256; i++) {
160
+ if (core.getbit(e, i) === 1) {
161
+ result = core.mulmodp(result, n);
162
+ }
163
+ n = core.sqrmodp(n);
164
+ }
165
+ return result;
166
+ }
167
+
168
+ var _ZERO = _bi255(0);
169
+ var _ONE = _bi255(1);
170
+ var _TWO = _bi255(2);
171
+ // This is the core prime.
172
+ var _Q = _bi255([0xffff - 18, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
173
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
174
+ 0xffff, 0xffff, 0x7fff]);
175
+
176
+ function _modq(n) {
177
+ core.reduce(n.n);
178
+ if (n.cmp(_Q) >= 0) {
179
+ return _modq(n.minus(_Q));
180
+ }
181
+ if (n.cmp(_ZERO) === -1) {
182
+ return _modq(n.plus(_Q));
183
+ } else {
184
+ return n;
185
+ }
186
+ }
187
+
188
+ // _RECOVERY_EXPONENT = _Q.plus(_bi255(3)).divide(_bi255(8));
189
+ var _RECOVERY_EXPONENT = _bi255('0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe');
190
+ // _D = _Q.minus(_bi255(121665)).divide(_bi255(121666));
191
+ var _D = _bi255('52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3');
192
+ // _I = _TWO.pow(_Q.minus(_ONE).divide(_bi255(4)));
193
+ var _I = _bi255('2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0');
194
+ // _L = _TWO.pow(_bi255(252)).plus(_bi255('14def9dea2f79cd65812631a5cf5d3ed'));
195
+ var _L = _bi255('1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed');
196
+ var _L_BI = _bi('1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed', 16);
197
+
198
+
199
+ // ////////////////////////////////////////////////////////////
200
+
201
+ function _isoncurve(p) {
202
+ var x = p[0];
203
+ var y = p[1];
204
+ var xsqr = x.sqr();
205
+ var ysqr = y.sqr();
206
+ var v = _D.times(xsqr).times(ysqr);
207
+ return ysqr.minus(xsqr).minus(_ONE).minus(v).modq().equals(_ZERO);
208
+ }
209
+
210
+ function _xrecover(y) {
211
+ var ysquared = y.sqr();
212
+ var xx = ysquared.minus(_ONE).divide(_ONE.plus(_D.times(ysquared)));
213
+ var x = xx.pow(_RECOVERY_EXPONENT);
214
+ if (!(x.times(x).minus(xx).equals(_ZERO))) {
215
+ x = x.times(_I);
216
+ }
217
+ if (x.isOdd()) {
218
+ x = _Q.minus(x);
219
+ }
220
+ return x;
221
+ }
222
+
223
+ function _x_pt_add(pt1, pt2) {
224
+ var x1 = pt1[0];
225
+ var y1 = pt1[1];
226
+ var z1 = pt1[2];
227
+ var t1 = pt1[3];
228
+ var x2 = pt2[0];
229
+ var y2 = pt2[1];
230
+ var z2 = pt2[2];
231
+ var t2 = pt2[3];
232
+ var A = y1.minus(x1).times(y2.plus(x2));
233
+ var B = y1.plus(x1).times(y2.minus(x2));
234
+ var C = z1.times(_TWO).times(t2);
235
+ var D = t1.times(_TWO).times(z2);
236
+ var E = D.plus(C);
237
+ var F = B.minus(A);
238
+ var G = B.plus(A);
239
+ var H = D.minus(C);
240
+ return [E.times(F), G.times(H), F.times(G), E.times(H)];
241
+ }
242
+
243
+ function _xpt_double(pt1) {
244
+ var x1 = pt1[0];
245
+ var y1 = pt1[1];
246
+ var z1 = pt1[2];
247
+ var A = x1.times(x1);
248
+ var B = y1.times(y1);
249
+ var C = _TWO.times(z1).times(z1);
250
+ var D = _Q.minus(A);
251
+ var J = x1.plus(y1);
252
+ var E = J.times(J).minus(A).minus(B);
253
+ var G = D.plus(B);
254
+ var F = G.minus(C);
255
+ var H = D.minus(B);
256
+ return [E.times(F), G.times(H), F.times(G), E.times(H)];
257
+ }
258
+
259
+ function _xpt_mult(pt, n) {
260
+ if (n.equals(_ZERO)) {
261
+ return [_ZERO, _ONE, _ONE, _ZERO];
262
+ }
263
+ var odd = n.isOdd();
264
+ n.shiftRight(1);
265
+ var value = _xpt_double(_xpt_mult(pt, n));
266
+ return odd ? _x_pt_add(value, pt) : value;
267
+ }
268
+
269
+ function _pt_xform(pt) {
270
+ var x = pt[0];
271
+ var y = pt[1];
272
+ return [x, y, _ONE, x.times(y)];
273
+ }
274
+
275
+ function _pt_unxform(pt) {
276
+ var x = pt[0];
277
+ var y = pt[1];
278
+ var z = pt[2];
279
+ var invz = z.inv();
280
+ return [x.times(invz), y.times(invz)];
281
+ }
282
+
283
+ function _scalarmult(pt, n) {
284
+ return _pt_unxform(_xpt_mult(_pt_xform(pt), n));
285
+ }
286
+
287
+ function _bytesgetbit(bytes, n) {
288
+ return (bytes[bytes.length - (n >>> 3) - 1] >> (n & 7)) & 1;
289
+ }
290
+
291
+ function _xpt_mult_bytes(pt, bytes) {
292
+ var r = [_ZERO, _ONE, _ONE, _ZERO];
293
+ for (var i = (bytes.length << 3) - 1; i >= 0; i--) {
294
+ r = _xpt_double(r);
295
+ if (_bytesgetbit(bytes, i) === 1) {
296
+ r = _x_pt_add(r, pt);
297
+ }
298
+ }
299
+ return r;
300
+ }
301
+
302
+ function _scalarmultBytes(pt, bytes) {
303
+ return _pt_unxform(_xpt_mult_bytes(_pt_xform(pt), bytes));
304
+ }
305
+
306
+ var _by = _bi255(4).divide(_bi255(5));
307
+ var _bx = _xrecover(_by);
308
+ var _bp = [_bx, _by];
309
+
310
+ function _encodeint(n) {
311
+ return n.bytes(32).reverse();
312
+ }
313
+ function _decodeint(b) {
314
+ return _bi255(b.slice(0).reverse());
315
+ }
316
+
317
+ function _encodepoint(p) {
318
+ var v = _encodeint(p[1]);
319
+ if (p[0].isOdd()) {
320
+ v[31] |= 0x80;
321
+ }
322
+ return v;
323
+ }
324
+
325
+ function _decodepoint(v) {
326
+ v = v.slice(0);
327
+ var signbit = v[31] >> 7;
328
+ v[31] &= 127;
329
+ var y = _decodeint(v);
330
+ var x = _xrecover(y);
331
+ if ((x.n[0] & 1) !== signbit) {
332
+ x = _Q.minus(x);
333
+ }
334
+ var p = [x, y];
335
+ if (!_isoncurve(p)) {
336
+ throw ('Point is not on curve');
337
+ }
338
+ return p;
339
+ }
340
+
341
+ // //////////////////////////////////////////////////
342
+
343
+ /**
344
+ * Factory function to create a suitable BigInteger.
345
+ *
346
+ * @param value
347
+ * The value for the big integer.
348
+ * @param base {integer}
349
+ * Base of the conversion of elements in ``value``.
350
+ * @returns
351
+ * A BigInteger object.
352
+ */
353
+ function _bi(value, base) {
354
+ if (base !== undefined) {
355
+ if (base === 256) {
356
+ return _bi(utils.string2bytes(value));
357
+ }
358
+ return new BigInteger(value, base);
359
+ } else if (typeof value === 'string') {
360
+ return new BigInteger(value, 10);
361
+ } else if ((value instanceof Array) || (value instanceof Uint8Array)
362
+ || Buffer.isBuffer(value)) {
363
+ return new BigInteger(value);
364
+ } else if (typeof value === 'number') {
365
+ return new BigInteger(value.toString(), 10);
366
+ } else {
367
+ throw "Can't convert " + value + " to BigInteger";
368
+ }
369
+ }
370
+
371
+ function _bi2bytes(n, cnt) {
372
+ if (cnt === undefined) {
373
+ cnt = (n.bitLength() + 7) >>> 3;
374
+ }
375
+ var bytes = new Array(cnt);
376
+ for (var i = cnt - 1; i >= 0; i--) {
377
+ bytes[i] = n[0] & 255; // n.and(0xff);
378
+ n = n.shiftRight(8);
379
+ }
380
+ return bytes;
381
+ }
382
+
383
+ BigInteger.prototype.bytes = function(n) {
384
+ return _bi2bytes(this, n);
385
+ };
386
+
387
+ // /////////////////////////////////////////////////////////
388
+
389
+ function _bytehash(s) {
390
+ var sha = crypto.createHash('sha512').update(s).digest();
391
+ return _bi2bytes(_bi(sha), 64).reverse();
392
+ }
393
+
394
+ function _stringhash(s) {
395
+ var sha = crypto.createHash('sha512').update(s).digest();
396
+ return _map(_chr, _bi2bytes(_bi(sha), 64)).join('');
397
+ }
398
+
399
+ function _inthash(s) {
400
+ // Need a leading 0 to prevent sign extension
401
+ return _bi([0].concat(_bytehash(s)));
402
+ }
403
+
404
+ function _inthash_lo(s) {
405
+ return _bi255(_bytehash(s).slice(32, 64));
406
+ }
407
+
408
+ function _inthash_mod_l(s) {
409
+ return _inthash(s).mod(_L_BI);
410
+ }
411
+
412
+ function _get_a(sk) {
413
+ var a = _inthash_lo(sk);
414
+ a.n[0] &= 0xfff8;
415
+ a.n[15] &= 0x3fff;
416
+ a.n[15] |= 0x4000;
417
+ return a;
418
+ }
419
+
420
+ function _publickey(sk) {
421
+ return _encodepoint(_scalarmult(_bp, _get_a(sk)));
422
+ }
423
+
424
+ function _map(f, l) {
425
+ var result = new Array(l.length);
426
+ for (var i = 0; i < l.length; i++) {
427
+ result[i] = f(l[i]);
428
+ }
429
+ return result;
430
+ }
431
+
432
+ function _chr(n) {
433
+ return String.fromCharCode(n);
434
+ }
435
+
436
+ function _ord(c) {
437
+ return c.charCodeAt(0);
438
+ }
439
+
440
+ function _pt_add(p1, p2) {
441
+ return _pt_unxform(_x_pt_add(_pt_xform(p1), _pt_xform(p2)));
442
+ }
443
+
444
+
445
+ // Exports for the API.
446
+
447
+ /**
448
+ * Checks whether a point is on the curve.
449
+ *
450
+ * @function
451
+ * @param point {string}
452
+ * The point to check for in a byte string representation.
453
+ * @returns {boolean}
454
+ * true if the point is on the curve, false otherwise.
455
+ */
456
+ ns.isOnCurve = function(point) {
457
+ try {
458
+ _isoncurve(_decodepoint(utils.string2bytes(point)));
459
+ } catch(e) {
460
+ if (e === 'Point is not on curve') {
461
+ return false;
462
+ } else {
463
+ throw e;
464
+ }
465
+ }
466
+ return true;
467
+ };
468
+
469
+
470
+ /**
471
+ * Computes the EdDSA public key.
472
+ *
473
+ * <p>Note: Seeds should be a byte string, not a unicode string containing
474
+ * multi-byte characters.</p>
475
+ *
476
+ * @function
477
+ * @param keySeed {string}
478
+ * Private key seed in the form of a byte string.
479
+ * @returns {string}
480
+ * Public key as byte string computed from the private key seed
481
+ * (32 bytes).
482
+ */
483
+ ns.publicKey = function(keySeed) {
484
+ return utils.bytes2string(_publickey(keySeed));
485
+ };
486
+
487
+
488
+ /**
489
+ * Computes an EdDSA signature of a message.
490
+ *
491
+ * <p>Notes:</p>
492
+ *
493
+ * <ul>
494
+ * <li>Unicode messages need to be converted to a byte representation
495
+ * (e. g. UTF-8).</li>
496
+ * <li>If `publicKey` is given, and it is *not* a point of the curve,
497
+ * the signature will be faulty, but no error will be thrown.</li>
498
+ * </ul>
499
+ *
500
+ * @function
501
+ * @param message {string}
502
+ * Message in the form of a byte string.
503
+ * @param keySeed {string}
504
+ * Private key seed in the form of a byte string.
505
+ * @param publicKey {string}
506
+ * Public key as byte string (if not present, it will be computed from
507
+ * the private key seed).
508
+ * @returns {string}
509
+ * Detached message signature in the form of a byte string (64 bytes).
510
+ */
511
+ ns.sign = function(message, keySeed, publicKey) {
512
+ if (publicKey === undefined) {
513
+ publicKey = _publickey(keySeed);
514
+ } else {
515
+ publicKey = utils.string2bytes(publicKey);
516
+ }
517
+ var a = _bi(_get_a(keySeed).toString(), 16);
518
+ var hs = _stringhash(keySeed);
519
+ var r = _bytehash(hs.slice(32, 64) + message);
520
+ var rp = _scalarmultBytes(_bp, r);
521
+ var erp = _encodepoint(rp);
522
+ r = _bi(r).mod(_bi(1, 10).shiftLeft(512));
523
+ var s = _map(_chr, erp).join('') + _map(_chr, publicKey).join('') + message;
524
+ s = _inthash_mod_l(s).multiply(a).add(r).mod(_L_BI);
525
+ return utils.bytes2string(erp.concat(_encodeint(s)));
526
+ };
527
+
528
+
529
+ /**
530
+ * Verifies an EdDSA signature of a message with the public key.
531
+ *
532
+ * <p>Note: Unicode messages need to be converted to a byte representation
533
+ * (e. g. UTF-8).</p>
534
+ *
535
+ * @function
536
+ * @param signature {string}
537
+ * Message signature in the form of a byte string. Can be detached
538
+ * (64 bytes), or attached to be sliced off.
539
+ * @param message {string}
540
+ * Message in the form of a byte string.
541
+ * @param publicKey {string}
542
+ * Public key as byte string (if not present, it will be computed from
543
+ * the private key seed).
544
+ * @returns {boolean}
545
+ * true, if the signature verifies.
546
+ */
547
+ ns.verify = function(signature, message, publicKey) {
548
+ signature = utils.string2bytes(signature.slice(0, 64));
549
+ publicKey = utils.string2bytes(publicKey);
550
+ var rpe = signature.slice(0, 32);
551
+ var rp = _decodepoint(rpe);
552
+ var a = _decodepoint(publicKey);
553
+ var s = _decodeint(signature.slice(32, 64));
554
+ var h = _inthash(utils.bytes2string(rpe.concat(publicKey)) + message);
555
+ var v1 = _scalarmult(_bp, s);
556
+ var value = _scalarmultBytes(a, _bi2bytes(h));
557
+ var v2 = _pt_add(rp, value);
558
+ return v1[0].equals(v2[0]) && v1[1].equals(v2[1]);
559
+ };
560
+
561
+
562
+ /**
563
+ * Generates a new random private key seed of 32 bytes length (256 bit).
564
+ *
565
+ * @function
566
+ * @returns {string}
567
+ * Byte string containing a new random private key seed.
568
+ */
569
+ ns.generateKeySeed = function() {
570
+ return core.generateKey(false);
571
+ };
572
+
573
+ module.exports = ns;