ganach-cli 6.12.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ganach-cli might be problematic. Click here for more details.

Files changed (1098) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +381 -0
  3. package/cli.js +245 -0
  4. package/node_modules/@types/bn.js/LICENSE +21 -0
  5. package/node_modules/@types/bn.js/README.md +16 -0
  6. package/node_modules/@types/bn.js/index.d.ts +586 -0
  7. package/node_modules/@types/bn.js/package.json +40 -0
  8. package/node_modules/@types/node/LICENSE +21 -0
  9. package/node_modules/@types/node/README.md +16 -0
  10. package/node_modules/@types/node/assert.d.ts +84 -0
  11. package/node_modules/@types/node/async_hooks.d.ts +226 -0
  12. package/node_modules/@types/node/base.d.ts +20 -0
  13. package/node_modules/@types/node/buffer.d.ts +22 -0
  14. package/node_modules/@types/node/child_process.d.ts +505 -0
  15. package/node_modules/@types/node/cluster.d.ts +262 -0
  16. package/node_modules/@types/node/console.d.ts +133 -0
  17. package/node_modules/@types/node/constants.d.ts +8 -0
  18. package/node_modules/@types/node/crypto.d.ts +707 -0
  19. package/node_modules/@types/node/dgram.d.ts +141 -0
  20. package/node_modules/@types/node/dns.d.ts +371 -0
  21. package/node_modules/@types/node/domain.d.ts +24 -0
  22. package/node_modules/@types/node/events.d.ts +83 -0
  23. package/node_modules/@types/node/fs/promises.d.ts +539 -0
  24. package/node_modules/@types/node/fs.d.ts +2156 -0
  25. package/node_modules/@types/node/globals.d.ts +606 -0
  26. package/node_modules/@types/node/globals.global.d.ts +1 -0
  27. package/node_modules/@types/node/http.d.ts +414 -0
  28. package/node_modules/@types/node/http2.d.ts +952 -0
  29. package/node_modules/@types/node/https.d.ts +37 -0
  30. package/node_modules/@types/node/index.d.ts +61 -0
  31. package/node_modules/@types/node/inspector.d.ts +3041 -0
  32. package/node_modules/@types/node/module.d.ts +52 -0
  33. package/node_modules/@types/node/net.d.ts +268 -0
  34. package/node_modules/@types/node/os.d.ts +239 -0
  35. package/node_modules/@types/node/package.json +255 -0
  36. package/node_modules/@types/node/path.d.ts +153 -0
  37. package/node_modules/@types/node/perf_hooks.d.ts +271 -0
  38. package/node_modules/@types/node/process.d.ts +406 -0
  39. package/node_modules/@types/node/punycode.d.ts +12 -0
  40. package/node_modules/@types/node/querystring.d.ts +28 -0
  41. package/node_modules/@types/node/readline.d.ts +171 -0
  42. package/node_modules/@types/node/repl.d.ts +387 -0
  43. package/node_modules/@types/node/stream.d.ts +351 -0
  44. package/node_modules/@types/node/string_decoder.d.ts +7 -0
  45. package/node_modules/@types/node/timers.d.ts +16 -0
  46. package/node_modules/@types/node/tls.d.ts +777 -0
  47. package/node_modules/@types/node/trace_events.d.ts +61 -0
  48. package/node_modules/@types/node/ts3.4/assert.d.ts +57 -0
  49. package/node_modules/@types/node/ts3.4/base.d.ts +56 -0
  50. package/node_modules/@types/node/ts3.4/globals.global.d.ts +1 -0
  51. package/node_modules/@types/node/ts3.4/index.d.ts +8 -0
  52. package/node_modules/@types/node/ts3.6/base.d.ts +23 -0
  53. package/node_modules/@types/node/ts3.6/index.d.ts +8 -0
  54. package/node_modules/@types/node/tty.d.ts +66 -0
  55. package/node_modules/@types/node/url.d.ts +110 -0
  56. package/node_modules/@types/node/util.d.ts +196 -0
  57. package/node_modules/@types/node/v8.d.ts +187 -0
  58. package/node_modules/@types/node/vm.d.ts +146 -0
  59. package/node_modules/@types/node/wasi.d.ts +52 -0
  60. package/node_modules/@types/node/worker_threads.d.ts +192 -0
  61. package/node_modules/@types/node/zlib.d.ts +352 -0
  62. package/node_modules/@types/pbkdf2/LICENSE +21 -0
  63. package/node_modules/@types/pbkdf2/README.md +16 -0
  64. package/node_modules/@types/pbkdf2/index.d.ts +41 -0
  65. package/node_modules/@types/pbkdf2/package.json +30 -0
  66. package/node_modules/@types/secp256k1/LICENSE +21 -0
  67. package/node_modules/@types/secp256k1/README.md +16 -0
  68. package/node_modules/@types/secp256k1/index.d.ts +141 -0
  69. package/node_modules/@types/secp256k1/package.json +30 -0
  70. package/node_modules/ansi-regex/index.js +14 -0
  71. package/node_modules/ansi-regex/license +9 -0
  72. package/node_modules/ansi-regex/package.json +57 -0
  73. package/node_modules/ansi-regex/readme.md +87 -0
  74. package/node_modules/ansi-styles/index.js +165 -0
  75. package/node_modules/ansi-styles/license +9 -0
  76. package/node_modules/ansi-styles/package.json +60 -0
  77. package/node_modules/ansi-styles/readme.md +147 -0
  78. package/node_modules/base-x/LICENSE.md +22 -0
  79. package/node_modules/base-x/README.md +67 -0
  80. package/node_modules/base-x/package.json +53 -0
  81. package/node_modules/base-x/src/index.d.ts +10 -0
  82. package/node_modules/base-x/src/index.js +123 -0
  83. package/node_modules/blakejs/.npmignore +1 -0
  84. package/node_modules/blakejs/.travis.yml +3 -0
  85. package/node_modules/blakejs/README.md +112 -0
  86. package/node_modules/blakejs/blake2b.js +273 -0
  87. package/node_modules/blakejs/blake2s.js +190 -0
  88. package/node_modules/blakejs/generated_test_vectors.txt +100 -0
  89. package/node_modules/blakejs/index.js +15 -0
  90. package/node_modules/blakejs/package.json +27 -0
  91. package/node_modules/blakejs/test_blake2b.js +88 -0
  92. package/node_modules/blakejs/test_blake2s.js +80 -0
  93. package/node_modules/blakejs/util.js +81 -0
  94. package/node_modules/bn.js/README.md +221 -0
  95. package/node_modules/bn.js/lib/bn.js +3433 -0
  96. package/node_modules/bn.js/package.json +40 -0
  97. package/node_modules/bn.js/util/genCombMulTo.js +65 -0
  98. package/node_modules/bn.js/util/genCombMulTo10.js +65 -0
  99. package/node_modules/brorand/.npmignore +2 -0
  100. package/node_modules/brorand/README.md +26 -0
  101. package/node_modules/brorand/index.js +65 -0
  102. package/node_modules/brorand/package.json +35 -0
  103. package/node_modules/brorand/test/api-test.js +8 -0
  104. package/node_modules/browserify-aes/.travis.yml +15 -0
  105. package/node_modules/browserify-aes/LICENSE +21 -0
  106. package/node_modules/browserify-aes/README.md +19 -0
  107. package/node_modules/browserify-aes/aes.js +228 -0
  108. package/node_modules/browserify-aes/authCipher.js +117 -0
  109. package/node_modules/browserify-aes/browser.js +13 -0
  110. package/node_modules/browserify-aes/decrypter.js +124 -0
  111. package/node_modules/browserify-aes/encrypter.js +114 -0
  112. package/node_modules/browserify-aes/ghash.js +89 -0
  113. package/node_modules/browserify-aes/incr32.js +15 -0
  114. package/node_modules/browserify-aes/index.js +7 -0
  115. package/node_modules/browserify-aes/modes/cbc.js +17 -0
  116. package/node_modules/browserify-aes/modes/cfb.js +33 -0
  117. package/node_modules/browserify-aes/modes/cfb1.js +42 -0
  118. package/node_modules/browserify-aes/modes/cfb8.js +25 -0
  119. package/node_modules/browserify-aes/modes/ctr.js +30 -0
  120. package/node_modules/browserify-aes/modes/ecb.js +7 -0
  121. package/node_modules/browserify-aes/modes/index.js +18 -0
  122. package/node_modules/browserify-aes/modes/list.json +191 -0
  123. package/node_modules/browserify-aes/modes/ofb.js +16 -0
  124. package/node_modules/browserify-aes/package.json +47 -0
  125. package/node_modules/browserify-aes/streamCipher.js +27 -0
  126. package/node_modules/bs58/README.md +71 -0
  127. package/node_modules/bs58/index.js +4 -0
  128. package/node_modules/bs58/package.json +41 -0
  129. package/node_modules/bs58check/LICENSE +21 -0
  130. package/node_modules/bs58check/README.md +27 -0
  131. package/node_modules/bs58check/base.js +50 -0
  132. package/node_modules/bs58check/index.js +12 -0
  133. package/node_modules/bs58check/package.json +56 -0
  134. package/node_modules/buffer-from/LICENSE +21 -0
  135. package/node_modules/buffer-from/index.js +69 -0
  136. package/node_modules/buffer-from/package.json +23 -0
  137. package/node_modules/buffer-from/readme.md +69 -0
  138. package/node_modules/buffer-xor/.npmignore +1 -0
  139. package/node_modules/buffer-xor/.travis.yml +9 -0
  140. package/node_modules/buffer-xor/LICENSE +21 -0
  141. package/node_modules/buffer-xor/README.md +41 -0
  142. package/node_modules/buffer-xor/index.js +10 -0
  143. package/node_modules/buffer-xor/inline.js +1 -0
  144. package/node_modules/buffer-xor/inplace.js +9 -0
  145. package/node_modules/buffer-xor/package.json +41 -0
  146. package/node_modules/buffer-xor/test/fixtures.json +23 -0
  147. package/node_modules/buffer-xor/test/index.js +38 -0
  148. package/node_modules/camelcase/index.d.ts +63 -0
  149. package/node_modules/camelcase/index.js +76 -0
  150. package/node_modules/camelcase/license +9 -0
  151. package/node_modules/camelcase/package.json +47 -0
  152. package/node_modules/camelcase/readme.md +99 -0
  153. package/node_modules/cipher-base/.eslintrc +3 -0
  154. package/node_modules/cipher-base/.npmignore +1 -0
  155. package/node_modules/cipher-base/.travis.yml +6 -0
  156. package/node_modules/cipher-base/LICENSE +21 -0
  157. package/node_modules/cipher-base/README.md +17 -0
  158. package/node_modules/cipher-base/index.js +99 -0
  159. package/node_modules/cipher-base/package.json +36 -0
  160. package/node_modules/cipher-base/test.js +111 -0
  161. package/node_modules/cliui/LICENSE.txt +14 -0
  162. package/node_modules/cliui/README.md +115 -0
  163. package/node_modules/cliui/index.js +324 -0
  164. package/node_modules/cliui/package.json +71 -0
  165. package/node_modules/color-convert/LICENSE +21 -0
  166. package/node_modules/color-convert/README.md +68 -0
  167. package/node_modules/color-convert/conversions.js +868 -0
  168. package/node_modules/color-convert/index.js +78 -0
  169. package/node_modules/color-convert/package.json +50 -0
  170. package/node_modules/color-convert/route.js +97 -0
  171. package/node_modules/color-name/.eslintrc.json +43 -0
  172. package/node_modules/color-name/.npmignore +107 -0
  173. package/node_modules/color-name/LICENSE +8 -0
  174. package/node_modules/color-name/README.md +11 -0
  175. package/node_modules/color-name/index.js +152 -0
  176. package/node_modules/color-name/package.json +29 -0
  177. package/node_modules/color-name/test.js +7 -0
  178. package/node_modules/create-hash/.travis.yml +17 -0
  179. package/node_modules/create-hash/LICENSE +21 -0
  180. package/node_modules/create-hash/README.md +19 -0
  181. package/node_modules/create-hash/browser.js +30 -0
  182. package/node_modules/create-hash/index.js +1 -0
  183. package/node_modules/create-hash/md5.js +5 -0
  184. package/node_modules/create-hash/package.json +43 -0
  185. package/node_modules/create-hash/test.js +41 -0
  186. package/node_modules/create-hmac/LICENSE +21 -0
  187. package/node_modules/create-hmac/README.md +20 -0
  188. package/node_modules/create-hmac/browser.js +62 -0
  189. package/node_modules/create-hmac/index.js +1 -0
  190. package/node_modules/create-hmac/legacy.js +46 -0
  191. package/node_modules/create-hmac/package.json +49 -0
  192. package/node_modules/cross-spawn/LICENSE +21 -0
  193. package/node_modules/cross-spawn/README.md +94 -0
  194. package/node_modules/cross-spawn/index.js +39 -0
  195. package/node_modules/cross-spawn/lib/enoent.js +59 -0
  196. package/node_modules/cross-spawn/lib/parse.js +125 -0
  197. package/node_modules/cross-spawn/lib/util/escape.js +45 -0
  198. package/node_modules/cross-spawn/lib/util/readShebang.js +32 -0
  199. package/node_modules/cross-spawn/lib/util/resolveCommand.js +47 -0
  200. package/node_modules/cross-spawn/package.json +80 -0
  201. package/node_modules/decamelize/index.js +13 -0
  202. package/node_modules/decamelize/license +21 -0
  203. package/node_modules/decamelize/package.json +42 -0
  204. package/node_modules/decamelize/readme.md +48 -0
  205. package/node_modules/elliptic/README.md +238 -0
  206. package/node_modules/elliptic/lib/elliptic/curve/base.js +376 -0
  207. package/node_modules/elliptic/lib/elliptic/curve/edwards.js +432 -0
  208. package/node_modules/elliptic/lib/elliptic/curve/index.js +8 -0
  209. package/node_modules/elliptic/lib/elliptic/curve/mont.js +178 -0
  210. package/node_modules/elliptic/lib/elliptic/curve/short.js +937 -0
  211. package/node_modules/elliptic/lib/elliptic/curves.js +206 -0
  212. package/node_modules/elliptic/lib/elliptic/ec/index.js +241 -0
  213. package/node_modules/elliptic/lib/elliptic/ec/key.js +118 -0
  214. package/node_modules/elliptic/lib/elliptic/ec/signature.js +166 -0
  215. package/node_modules/elliptic/lib/elliptic/eddsa/index.js +118 -0
  216. package/node_modules/elliptic/lib/elliptic/eddsa/key.js +95 -0
  217. package/node_modules/elliptic/lib/elliptic/eddsa/signature.js +65 -0
  218. package/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js +780 -0
  219. package/node_modules/elliptic/lib/elliptic/utils.js +119 -0
  220. package/node_modules/elliptic/lib/elliptic.js +13 -0
  221. package/node_modules/elliptic/package.json +62 -0
  222. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  223. package/node_modules/emoji-regex/README.md +73 -0
  224. package/node_modules/emoji-regex/es2015/index.js +6 -0
  225. package/node_modules/emoji-regex/es2015/text.js +6 -0
  226. package/node_modules/emoji-regex/index.d.ts +5 -0
  227. package/node_modules/emoji-regex/index.js +6 -0
  228. package/node_modules/emoji-regex/package.json +55 -0
  229. package/node_modules/emoji-regex/text.js +6 -0
  230. package/node_modules/end-of-stream/LICENSE +21 -0
  231. package/node_modules/end-of-stream/README.md +54 -0
  232. package/node_modules/end-of-stream/index.js +94 -0
  233. package/node_modules/end-of-stream/package.json +41 -0
  234. package/node_modules/ethereum-cryptography/LICENSE +26 -0
  235. package/node_modules/ethereum-cryptography/README.md +560 -0
  236. package/node_modules/ethereum-cryptography/aes.d.ts +4 -0
  237. package/node_modules/ethereum-cryptography/aes.d.ts.map +1 -0
  238. package/node_modules/ethereum-cryptography/aes.js +38 -0
  239. package/node_modules/ethereum-cryptography/aes.js.map +1 -0
  240. package/node_modules/ethereum-cryptography/bip39/index.d.ts +8 -0
  241. package/node_modules/ethereum-cryptography/bip39/index.d.ts.map +1 -0
  242. package/node_modules/ethereum-cryptography/bip39/index.js +71 -0
  243. package/node_modules/ethereum-cryptography/bip39/index.js.map +1 -0
  244. package/node_modules/ethereum-cryptography/bip39/wordlists/czech.d.ts +2 -0
  245. package/node_modules/ethereum-cryptography/bip39/wordlists/czech.d.ts.map +1 -0
  246. package/node_modules/ethereum-cryptography/bip39/wordlists/czech.js +2053 -0
  247. package/node_modules/ethereum-cryptography/bip39/wordlists/czech.js.map +1 -0
  248. package/node_modules/ethereum-cryptography/bip39/wordlists/english.d.ts +2 -0
  249. package/node_modules/ethereum-cryptography/bip39/wordlists/english.d.ts.map +1 -0
  250. package/node_modules/ethereum-cryptography/bip39/wordlists/english.js +2053 -0
  251. package/node_modules/ethereum-cryptography/bip39/wordlists/english.js.map +1 -0
  252. package/node_modules/ethereum-cryptography/bip39/wordlists/french.d.ts +2 -0
  253. package/node_modules/ethereum-cryptography/bip39/wordlists/french.d.ts.map +1 -0
  254. package/node_modules/ethereum-cryptography/bip39/wordlists/french.js +2053 -0
  255. package/node_modules/ethereum-cryptography/bip39/wordlists/french.js.map +1 -0
  256. package/node_modules/ethereum-cryptography/bip39/wordlists/italian.d.ts +2 -0
  257. package/node_modules/ethereum-cryptography/bip39/wordlists/italian.d.ts.map +1 -0
  258. package/node_modules/ethereum-cryptography/bip39/wordlists/italian.js +2053 -0
  259. package/node_modules/ethereum-cryptography/bip39/wordlists/italian.js.map +1 -0
  260. package/node_modules/ethereum-cryptography/bip39/wordlists/japanese.d.ts +2 -0
  261. package/node_modules/ethereum-cryptography/bip39/wordlists/japanese.d.ts.map +1 -0
  262. package/node_modules/ethereum-cryptography/bip39/wordlists/japanese.js +2053 -0
  263. package/node_modules/ethereum-cryptography/bip39/wordlists/japanese.js.map +1 -0
  264. package/node_modules/ethereum-cryptography/bip39/wordlists/korean.d.ts +2 -0
  265. package/node_modules/ethereum-cryptography/bip39/wordlists/korean.d.ts.map +1 -0
  266. package/node_modules/ethereum-cryptography/bip39/wordlists/korean.js +2053 -0
  267. package/node_modules/ethereum-cryptography/bip39/wordlists/korean.js.map +1 -0
  268. package/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.d.ts +2 -0
  269. package/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.d.ts.map +1 -0
  270. package/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.js +2053 -0
  271. package/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.js.map +1 -0
  272. package/node_modules/ethereum-cryptography/bip39/wordlists/spanish.d.ts +2 -0
  273. package/node_modules/ethereum-cryptography/bip39/wordlists/spanish.d.ts.map +1 -0
  274. package/node_modules/ethereum-cryptography/bip39/wordlists/spanish.js +2053 -0
  275. package/node_modules/ethereum-cryptography/bip39/wordlists/spanish.js.map +1 -0
  276. package/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.d.ts +2 -0
  277. package/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.d.ts.map +1 -0
  278. package/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.js +2053 -0
  279. package/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.js.map +1 -0
  280. package/node_modules/ethereum-cryptography/blake2b.d.ts +3 -0
  281. package/node_modules/ethereum-cryptography/blake2b.d.ts.map +1 -0
  282. package/node_modules/ethereum-cryptography/blake2b.js +12 -0
  283. package/node_modules/ethereum-cryptography/blake2b.js.map +1 -0
  284. package/node_modules/ethereum-cryptography/hash-utils.d.ts +4 -0
  285. package/node_modules/ethereum-cryptography/hash-utils.d.ts.map +1 -0
  286. package/node_modules/ethereum-cryptography/hash-utils.js +11 -0
  287. package/node_modules/ethereum-cryptography/hash-utils.js.map +1 -0
  288. package/node_modules/ethereum-cryptography/hdkey.d.ts +3 -0
  289. package/node_modules/ethereum-cryptography/hdkey.d.ts.map +1 -0
  290. package/node_modules/ethereum-cryptography/hdkey.js +5 -0
  291. package/node_modules/ethereum-cryptography/hdkey.js.map +1 -0
  292. package/node_modules/ethereum-cryptography/index.d.ts +1 -0
  293. package/node_modules/ethereum-cryptography/index.d.ts.map +1 -0
  294. package/node_modules/ethereum-cryptography/index.js +3 -0
  295. package/node_modules/ethereum-cryptography/index.js.map +1 -0
  296. package/node_modules/ethereum-cryptography/keccak.d.ts +6 -0
  297. package/node_modules/ethereum-cryptography/keccak.d.ts.map +1 -0
  298. package/node_modules/ethereum-cryptography/keccak.js +17 -0
  299. package/node_modules/ethereum-cryptography/keccak.js.map +1 -0
  300. package/node_modules/ethereum-cryptography/package.json +131 -0
  301. package/node_modules/ethereum-cryptography/pbkdf2.d.ts +4 -0
  302. package/node_modules/ethereum-cryptography/pbkdf2.d.ts.map +1 -0
  303. package/node_modules/ethereum-cryptography/pbkdf2.js +27 -0
  304. package/node_modules/ethereum-cryptography/pbkdf2.js.map +1 -0
  305. package/node_modules/ethereum-cryptography/pure/hdkey.d.ts +37 -0
  306. package/node_modules/ethereum-cryptography/pure/hdkey.d.ts.map +1 -0
  307. package/node_modules/ethereum-cryptography/pure/hdkey.js +5 -0
  308. package/node_modules/ethereum-cryptography/pure/hdkey.js.map +1 -0
  309. package/node_modules/ethereum-cryptography/pure/ripemd160.d.ts +3 -0
  310. package/node_modules/ethereum-cryptography/pure/ripemd160.d.ts.map +1 -0
  311. package/node_modules/ethereum-cryptography/pure/ripemd160.js +6 -0
  312. package/node_modules/ethereum-cryptography/pure/ripemd160.js.map +1 -0
  313. package/node_modules/ethereum-cryptography/pure/sha256.d.ts +3 -0
  314. package/node_modules/ethereum-cryptography/pure/sha256.d.ts.map +1 -0
  315. package/node_modules/ethereum-cryptography/pure/sha256.js +6 -0
  316. package/node_modules/ethereum-cryptography/pure/sha256.js.map +1 -0
  317. package/node_modules/ethereum-cryptography/pure/shims/hdkey-crypto.d.ts +13 -0
  318. package/node_modules/ethereum-cryptography/pure/shims/hdkey-crypto.d.ts.map +1 -0
  319. package/node_modules/ethereum-cryptography/pure/shims/hdkey-crypto.js +37 -0
  320. package/node_modules/ethereum-cryptography/pure/shims/hdkey-crypto.js.map +1 -0
  321. package/node_modules/ethereum-cryptography/pure/shims/hdkey-secp256k1v3.d.ts +2 -0
  322. package/node_modules/ethereum-cryptography/pure/shims/hdkey-secp256k1v3.d.ts.map +1 -0
  323. package/node_modules/ethereum-cryptography/pure/shims/hdkey-secp256k1v3.js +7 -0
  324. package/node_modules/ethereum-cryptography/pure/shims/hdkey-secp256k1v3.js.map +1 -0
  325. package/node_modules/ethereum-cryptography/pure/vendor/hdkey-without-crypto.js +255 -0
  326. package/node_modules/ethereum-cryptography/random.d.ts +4 -0
  327. package/node_modules/ethereum-cryptography/random.d.ts.map +1 -0
  328. package/node_modules/ethereum-cryptography/random.js +20 -0
  329. package/node_modules/ethereum-cryptography/random.js.map +1 -0
  330. package/node_modules/ethereum-cryptography/ripemd160.d.ts +3 -0
  331. package/node_modules/ethereum-cryptography/ripemd160.d.ts.map +1 -0
  332. package/node_modules/ethereum-cryptography/ripemd160.js +11 -0
  333. package/node_modules/ethereum-cryptography/ripemd160.js.map +1 -0
  334. package/node_modules/ethereum-cryptography/scrypt.d.ts +5 -0
  335. package/node_modules/ethereum-cryptography/scrypt.d.ts.map +1 -0
  336. package/node_modules/ethereum-cryptography/scrypt.js +59 -0
  337. package/node_modules/ethereum-cryptography/scrypt.js.map +1 -0
  338. package/node_modules/ethereum-cryptography/secp256k1.d.ts +4 -0
  339. package/node_modules/ethereum-cryptography/secp256k1.d.ts.map +1 -0
  340. package/node_modules/ethereum-cryptography/secp256k1.js +75 -0
  341. package/node_modules/ethereum-cryptography/secp256k1.js.map +1 -0
  342. package/node_modules/ethereum-cryptography/sha256.d.ts +3 -0
  343. package/node_modules/ethereum-cryptography/sha256.d.ts.map +1 -0
  344. package/node_modules/ethereum-cryptography/sha256.js +9 -0
  345. package/node_modules/ethereum-cryptography/sha256.js.map +1 -0
  346. package/node_modules/ethereum-cryptography/shims/hdkey-crypto.d.ts +2 -0
  347. package/node_modules/ethereum-cryptography/shims/hdkey-crypto.d.ts.map +1 -0
  348. package/node_modules/ethereum-cryptography/shims/hdkey-crypto.js +7 -0
  349. package/node_modules/ethereum-cryptography/shims/hdkey-crypto.js.map +1 -0
  350. package/node_modules/ethereum-cryptography/shims/hdkey-secp256k1v3.d.ts +13 -0
  351. package/node_modules/ethereum-cryptography/shims/hdkey-secp256k1v3.d.ts.map +1 -0
  352. package/node_modules/ethereum-cryptography/shims/hdkey-secp256k1v3.js +47 -0
  353. package/node_modules/ethereum-cryptography/shims/hdkey-secp256k1v3.js.map +1 -0
  354. package/node_modules/ethereum-cryptography/src/aes.ts +52 -0
  355. package/node_modules/ethereum-cryptography/src/bip39/index.ts +40 -0
  356. package/node_modules/ethereum-cryptography/src/bip39/wordlists/czech.ts +2050 -0
  357. package/node_modules/ethereum-cryptography/src/bip39/wordlists/english.ts +2050 -0
  358. package/node_modules/ethereum-cryptography/src/bip39/wordlists/french.ts +2050 -0
  359. package/node_modules/ethereum-cryptography/src/bip39/wordlists/italian.ts +2050 -0
  360. package/node_modules/ethereum-cryptography/src/bip39/wordlists/japanese.ts +2050 -0
  361. package/node_modules/ethereum-cryptography/src/bip39/wordlists/korean.ts +2050 -0
  362. package/node_modules/ethereum-cryptography/src/bip39/wordlists/simplified-chinese.ts +2050 -0
  363. package/node_modules/ethereum-cryptography/src/bip39/wordlists/spanish.ts +2050 -0
  364. package/node_modules/ethereum-cryptography/src/bip39/wordlists/traditional-chinese.ts +2050 -0
  365. package/node_modules/ethereum-cryptography/src/blake2b.ts +9 -0
  366. package/node_modules/ethereum-cryptography/src/hash-utils.ts +11 -0
  367. package/node_modules/ethereum-cryptography/src/hdkey.ts +5 -0
  368. package/node_modules/ethereum-cryptography/src/index.ts +3 -0
  369. package/node_modules/ethereum-cryptography/src/keccak.ts +19 -0
  370. package/node_modules/ethereum-cryptography/src/pbkdf2.ts +37 -0
  371. package/node_modules/ethereum-cryptography/src/pure/hdkey.ts +36 -0
  372. package/node_modules/ethereum-cryptography/src/pure/ripemd160.ts +5 -0
  373. package/node_modules/ethereum-cryptography/src/pure/sha256.ts +5 -0
  374. package/node_modules/ethereum-cryptography/src/pure/shims/hdkey-crypto.ts +42 -0
  375. package/node_modules/ethereum-cryptography/src/pure/shims/hdkey-secp256k1v3.ts +1 -0
  376. package/node_modules/ethereum-cryptography/src/pure/vendor/hdkey-without-crypto.js +255 -0
  377. package/node_modules/ethereum-cryptography/src/random.ts +18 -0
  378. package/node_modules/ethereum-cryptography/src/ripemd160.ts +7 -0
  379. package/node_modules/ethereum-cryptography/src/scrypt.ts +24 -0
  380. package/node_modules/ethereum-cryptography/src/secp256k1.ts +24 -0
  381. package/node_modules/ethereum-cryptography/src/sha256.ts +5 -0
  382. package/node_modules/ethereum-cryptography/src/shims/hdkey-crypto.ts +1 -0
  383. package/node_modules/ethereum-cryptography/src/shims/hdkey-secp256k1v3.ts +49 -0
  384. package/node_modules/ethereum-cryptography/src/vendor/bip39-without-wordlists.js +206 -0
  385. package/node_modules/ethereum-cryptography/src/vendor/hdkey-without-crypto.js +255 -0
  386. package/node_modules/ethereum-cryptography/vendor/bip39-without-wordlists.js +206 -0
  387. package/node_modules/ethereum-cryptography/vendor/hdkey-without-crypto.js +255 -0
  388. package/node_modules/ethereumjs-util/LICENSE +373 -0
  389. package/node_modules/ethereumjs-util/README.md +32 -0
  390. package/node_modules/ethereumjs-util/dist/account.d.ts +80 -0
  391. package/node_modules/ethereumjs-util/dist/account.js +168 -0
  392. package/node_modules/ethereumjs-util/dist/account.js.map +1 -0
  393. package/node_modules/ethereumjs-util/dist/bytes.d.ts +68 -0
  394. package/node_modules/ethereumjs-util/dist/bytes.js +158 -0
  395. package/node_modules/ethereumjs-util/dist/bytes.js.map +1 -0
  396. package/node_modules/ethereumjs-util/dist/constants.d.ts +34 -0
  397. package/node_modules/ethereumjs-util/dist/constants.js +37 -0
  398. package/node_modules/ethereumjs-util/dist/constants.js.map +1 -0
  399. package/node_modules/ethereumjs-util/dist/hash.d.ts +30 -0
  400. package/node_modules/ethereumjs-util/dist/hash.js +84 -0
  401. package/node_modules/ethereumjs-util/dist/hash.js.map +1 -0
  402. package/node_modules/ethereumjs-util/dist/index.d.ts +39 -0
  403. package/node_modules/ethereumjs-util/dist/index.js +46 -0
  404. package/node_modules/ethereumjs-util/dist/index.js.map +1 -0
  405. package/node_modules/ethereumjs-util/dist/object.d.ts +12 -0
  406. package/node_modules/ethereumjs-util/dist/object.js +106 -0
  407. package/node_modules/ethereumjs-util/dist/object.js.map +1 -0
  408. package/node_modules/ethereumjs-util/dist/secp256k1v3-adapter.d.ts +178 -0
  409. package/node_modules/ethereumjs-util/dist/secp256k1v3-adapter.js +300 -0
  410. package/node_modules/ethereumjs-util/dist/secp256k1v3-adapter.js.map +1 -0
  411. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/der.d.ts +1 -0
  412. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/der.js +634 -0
  413. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/der.js.map +1 -0
  414. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/index.d.ts +5 -0
  415. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/index.js +61 -0
  416. package/node_modules/ethereumjs-util/dist/secp256k1v3-lib/index.js.map +1 -0
  417. package/node_modules/ethereumjs-util/dist/signature.d.ts +37 -0
  418. package/node_modules/ethereumjs-util/dist/signature.js +107 -0
  419. package/node_modules/ethereumjs-util/dist/signature.js.map +1 -0
  420. package/node_modules/ethereumjs-util/package.json +131 -0
  421. package/node_modules/ethjs-util/LICENSE +21 -0
  422. package/node_modules/ethjs-util/README.md +143 -0
  423. package/node_modules/ethjs-util/dist/ethjs-util.js +2420 -0
  424. package/node_modules/ethjs-util/dist/ethjs-util.js.map +1 -0
  425. package/node_modules/ethjs-util/dist/ethjs-util.min.js +1 -0
  426. package/node_modules/ethjs-util/internals/webpack/webpack.config.js +58 -0
  427. package/node_modules/ethjs-util/lib/index.js +220 -0
  428. package/node_modules/ethjs-util/lib/tests/test.index.js +357 -0
  429. package/node_modules/ethjs-util/package.json +229 -0
  430. package/node_modules/ethjs-util/src/index.js +203 -0
  431. package/node_modules/ethjs-util/src/tests/test.index.js +382 -0
  432. package/node_modules/evp_bytestokey/LICENSE +21 -0
  433. package/node_modules/evp_bytestokey/README.md +51 -0
  434. package/node_modules/evp_bytestokey/index.js +45 -0
  435. package/node_modules/evp_bytestokey/package.json +49 -0
  436. package/node_modules/execa/index.js +361 -0
  437. package/node_modules/execa/lib/errname.js +39 -0
  438. package/node_modules/execa/lib/stdio.js +41 -0
  439. package/node_modules/execa/license +9 -0
  440. package/node_modules/execa/package.json +73 -0
  441. package/node_modules/execa/readme.md +327 -0
  442. package/node_modules/find-up/index.js +46 -0
  443. package/node_modules/find-up/license +9 -0
  444. package/node_modules/find-up/package.json +54 -0
  445. package/node_modules/find-up/readme.md +87 -0
  446. package/node_modules/get-caller-file/LICENSE.md +6 -0
  447. package/node_modules/get-caller-file/README.md +41 -0
  448. package/node_modules/get-caller-file/index.d.ts +2 -0
  449. package/node_modules/get-caller-file/index.js +22 -0
  450. package/node_modules/get-caller-file/index.js.map +1 -0
  451. package/node_modules/get-caller-file/package.json +46 -0
  452. package/node_modules/get-stream/buffer-stream.js +51 -0
  453. package/node_modules/get-stream/index.js +50 -0
  454. package/node_modules/get-stream/license +9 -0
  455. package/node_modules/get-stream/package.json +50 -0
  456. package/node_modules/get-stream/readme.md +123 -0
  457. package/node_modules/hash-base/LICENSE +21 -0
  458. package/node_modules/hash-base/README.md +48 -0
  459. package/node_modules/hash-base/index.js +95 -0
  460. package/node_modules/hash-base/package.json +46 -0
  461. package/node_modules/hash.js/.eslintrc.js +41 -0
  462. package/node_modules/hash.js/.travis.yml +10 -0
  463. package/node_modules/hash.js/README.md +48 -0
  464. package/node_modules/hash.js/lib/hash/common.js +92 -0
  465. package/node_modules/hash.js/lib/hash/hmac.js +47 -0
  466. package/node_modules/hash.js/lib/hash/ripemd.js +146 -0
  467. package/node_modules/hash.js/lib/hash/sha/1.js +74 -0
  468. package/node_modules/hash.js/lib/hash/sha/224.js +30 -0
  469. package/node_modules/hash.js/lib/hash/sha/256.js +105 -0
  470. package/node_modules/hash.js/lib/hash/sha/384.js +35 -0
  471. package/node_modules/hash.js/lib/hash/sha/512.js +330 -0
  472. package/node_modules/hash.js/lib/hash/sha/common.js +49 -0
  473. package/node_modules/hash.js/lib/hash/sha.js +7 -0
  474. package/node_modules/hash.js/lib/hash/utils.js +278 -0
  475. package/node_modules/hash.js/lib/hash.d.ts +106 -0
  476. package/node_modules/hash.js/lib/hash.js +15 -0
  477. package/node_modules/hash.js/package.json +39 -0
  478. package/node_modules/hash.js/test/hash-test.js +140 -0
  479. package/node_modules/hash.js/test/hmac-test.js +62 -0
  480. package/node_modules/hmac-drbg/.npmignore +2 -0
  481. package/node_modules/hmac-drbg/.travis.yml +11 -0
  482. package/node_modules/hmac-drbg/README.md +48 -0
  483. package/node_modules/hmac-drbg/lib/hmac-drbg.js +113 -0
  484. package/node_modules/hmac-drbg/package.json +36 -0
  485. package/node_modules/hmac-drbg/test/drbg-test.js +91 -0
  486. package/node_modules/hmac-drbg/test/fixtures/hmac-drbg-nist.json +332 -0
  487. package/node_modules/inherits/LICENSE +16 -0
  488. package/node_modules/inherits/README.md +42 -0
  489. package/node_modules/inherits/inherits.js +9 -0
  490. package/node_modules/inherits/inherits_browser.js +27 -0
  491. package/node_modules/inherits/package.json +33 -0
  492. package/node_modules/invert-kv/index.js +15 -0
  493. package/node_modules/invert-kv/license +9 -0
  494. package/node_modules/invert-kv/package.json +36 -0
  495. package/node_modules/invert-kv/readme.md +25 -0
  496. package/node_modules/is-fullwidth-code-point/index.js +46 -0
  497. package/node_modules/is-fullwidth-code-point/license +21 -0
  498. package/node_modules/is-fullwidth-code-point/package.json +49 -0
  499. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  500. package/node_modules/is-hex-prefixed/.editorconfig +7 -0
  501. package/node_modules/is-hex-prefixed/.gitattributes +106 -0
  502. package/node_modules/is-hex-prefixed/.npmignore +8 -0
  503. package/node_modules/is-hex-prefixed/.travis.yml +5 -0
  504. package/node_modules/is-hex-prefixed/CHANGELOG.md +7 -0
  505. package/node_modules/is-hex-prefixed/LICENSE +21 -0
  506. package/node_modules/is-hex-prefixed/README.md +101 -0
  507. package/node_modules/is-hex-prefixed/package.json +43 -0
  508. package/node_modules/is-hex-prefixed/src/index.js +13 -0
  509. package/node_modules/is-hex-prefixed/src/tests/test.index.js +66 -0
  510. package/node_modules/is-stream/index.js +21 -0
  511. package/node_modules/is-stream/license +21 -0
  512. package/node_modules/is-stream/package.json +42 -0
  513. package/node_modules/is-stream/readme.md +42 -0
  514. package/node_modules/isexe/.npmignore +2 -0
  515. package/node_modules/isexe/LICENSE +15 -0
  516. package/node_modules/isexe/README.md +51 -0
  517. package/node_modules/isexe/index.js +57 -0
  518. package/node_modules/isexe/mode.js +41 -0
  519. package/node_modules/isexe/package.json +35 -0
  520. package/node_modules/isexe/test/basic.js +221 -0
  521. package/node_modules/isexe/windows.js +42 -0
  522. package/node_modules/keccak/LICENSE +21 -0
  523. package/node_modules/keccak/README.md +64 -0
  524. package/node_modules/keccak/binding.gyp +78 -0
  525. package/node_modules/keccak/bindings.js +1 -0
  526. package/node_modules/keccak/index.js +5 -0
  527. package/node_modules/keccak/js.js +1 -0
  528. package/node_modules/keccak/lib/api/index.js +27 -0
  529. package/node_modules/keccak/lib/api/keccak.js +77 -0
  530. package/node_modules/keccak/lib/api/shake.js +68 -0
  531. package/node_modules/keccak/lib/keccak-state-reference.js +143 -0
  532. package/node_modules/keccak/lib/keccak-state-unroll.js +186 -0
  533. package/node_modules/keccak/lib/keccak.js +68 -0
  534. package/node_modules/keccak/package.json +41 -0
  535. package/node_modules/keccak/prebuilds/darwin-x64/node.napi.node +0 -0
  536. package/node_modules/keccak/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  537. package/node_modules/keccak/prebuilds/linux-x64/node.napi.musl.node +0 -0
  538. package/node_modules/keccak/prebuilds/win32-x64/node.napi.node +0 -0
  539. package/node_modules/keccak/src/README.md +28 -0
  540. package/node_modules/keccak/src/addon.cc +98 -0
  541. package/node_modules/keccak/src/libkeccak-32/KeccakP-1600-SnP.h +38 -0
  542. package/node_modules/keccak/src/libkeccak-32/KeccakP-1600-inplace32BI.c +1162 -0
  543. package/node_modules/keccak/src/libkeccak-32/KeccakSponge-common.h +35 -0
  544. package/node_modules/keccak/src/libkeccak-32/KeccakSponge.inc +311 -0
  545. package/node_modules/keccak/src/libkeccak-32/KeccakSpongeWidth1600.c +54 -0
  546. package/node_modules/keccak/src/libkeccak-32/KeccakSpongeWidth1600.h +31 -0
  547. package/node_modules/keccak/src/libkeccak-32/SnP-Relaned.h +140 -0
  548. package/node_modules/keccak/src/libkeccak-32/align.h +32 -0
  549. package/node_modules/keccak/src/libkeccak-32/brg_endian.h +143 -0
  550. package/node_modules/keccak/src/libkeccak-64/KeccakP-1600-64.macros +745 -0
  551. package/node_modules/keccak/src/libkeccak-64/KeccakP-1600-SnP.h +51 -0
  552. package/node_modules/keccak/src/libkeccak-64/KeccakP-1600-opt64-config.h +6 -0
  553. package/node_modules/keccak/src/libkeccak-64/KeccakP-1600-opt64.c +564 -0
  554. package/node_modules/keccak/src/libkeccak-64/KeccakP-1600-unrolling.macros +302 -0
  555. package/node_modules/keccak/src/libkeccak-64/KeccakSponge-common.h +35 -0
  556. package/node_modules/keccak/src/libkeccak-64/KeccakSponge.inc +311 -0
  557. package/node_modules/keccak/src/libkeccak-64/KeccakSpongeWidth1600.c +54 -0
  558. package/node_modules/keccak/src/libkeccak-64/KeccakSpongeWidth1600.h +31 -0
  559. package/node_modules/keccak/src/libkeccak-64/SnP-Relaned.h +140 -0
  560. package/node_modules/keccak/src/libkeccak-64/align.h +32 -0
  561. package/node_modules/keccak/src/libkeccak-64/brg_endian.h +143 -0
  562. package/node_modules/lcid/index.js +23 -0
  563. package/node_modules/lcid/lcid.json +203 -0
  564. package/node_modules/lcid/license +9 -0
  565. package/node_modules/lcid/package.json +51 -0
  566. package/node_modules/lcid/readme.md +35 -0
  567. package/node_modules/locate-path/index.js +24 -0
  568. package/node_modules/locate-path/license +9 -0
  569. package/node_modules/locate-path/package.json +48 -0
  570. package/node_modules/locate-path/readme.md +99 -0
  571. package/node_modules/map-age-cleaner/dist/index.d.ts +20 -0
  572. package/node_modules/map-age-cleaner/dist/index.js +92 -0
  573. package/node_modules/map-age-cleaner/license +9 -0
  574. package/node_modules/map-age-cleaner/package.json +63 -0
  575. package/node_modules/map-age-cleaner/readme.md +67 -0
  576. package/node_modules/md5.js/LICENSE +21 -0
  577. package/node_modules/md5.js/README.md +29 -0
  578. package/node_modules/md5.js/index.js +146 -0
  579. package/node_modules/md5.js/package.json +42 -0
  580. package/node_modules/mem/index.d.ts +96 -0
  581. package/node_modules/mem/index.js +88 -0
  582. package/node_modules/mem/license +9 -0
  583. package/node_modules/mem/package.json +50 -0
  584. package/node_modules/mem/readme.md +167 -0
  585. package/node_modules/mimic-fn/index.d.ts +54 -0
  586. package/node_modules/mimic-fn/index.js +13 -0
  587. package/node_modules/mimic-fn/license +9 -0
  588. package/node_modules/mimic-fn/package.json +46 -0
  589. package/node_modules/mimic-fn/readme.md +69 -0
  590. package/node_modules/minimalistic-assert/LICENSE +13 -0
  591. package/node_modules/minimalistic-assert/index.js +11 -0
  592. package/node_modules/minimalistic-assert/package.json +23 -0
  593. package/node_modules/minimalistic-assert/readme.md +4 -0
  594. package/node_modules/minimalistic-crypto-utils/.npmignore +2 -0
  595. package/node_modules/minimalistic-crypto-utils/.travis.yml +11 -0
  596. package/node_modules/minimalistic-crypto-utils/README.md +47 -0
  597. package/node_modules/minimalistic-crypto-utils/lib/utils.js +58 -0
  598. package/node_modules/minimalistic-crypto-utils/package.json +31 -0
  599. package/node_modules/minimalistic-crypto-utils/test/utils-test.js +28 -0
  600. package/node_modules/nice-try/LICENSE +21 -0
  601. package/node_modules/nice-try/README.md +32 -0
  602. package/node_modules/nice-try/package.json +37 -0
  603. package/node_modules/nice-try/src/index.js +12 -0
  604. package/node_modules/node-addon-api/.editorconfig +8 -0
  605. package/node_modules/node-addon-api/.travis.yml +62 -0
  606. package/node_modules/node-addon-api/CHANGELOG.md +412 -0
  607. package/node_modules/node-addon-api/CODE_OF_CONDUCT.md +4 -0
  608. package/node_modules/node-addon-api/CONTRIBUTING.md +66 -0
  609. package/node_modules/node-addon-api/LICENSE.md +13 -0
  610. package/node_modules/node-addon-api/README.md +203 -0
  611. package/node_modules/node-addon-api/appveyor.yml +48 -0
  612. package/node_modules/node-addon-api/doc/Doxyfile +2450 -0
  613. package/node_modules/node-addon-api/doc/array_buffer.md +129 -0
  614. package/node_modules/node-addon-api/doc/async_context.md +86 -0
  615. package/node_modules/node-addon-api/doc/async_operations.md +31 -0
  616. package/node_modules/node-addon-api/doc/async_progress_worker.md +344 -0
  617. package/node_modules/node-addon-api/doc/async_worker.md +398 -0
  618. package/node_modules/node-addon-api/doc/basic_types.md +423 -0
  619. package/node_modules/node-addon-api/doc/bigint.md +92 -0
  620. package/node_modules/node-addon-api/doc/boolean.md +64 -0
  621. package/node_modules/node-addon-api/doc/buffer.md +140 -0
  622. package/node_modules/node-addon-api/doc/callback_scope.md +54 -0
  623. package/node_modules/node-addon-api/doc/callbackinfo.md +97 -0
  624. package/node_modules/node-addon-api/doc/checker-tool.md +32 -0
  625. package/node_modules/node-addon-api/doc/class_property_descriptor.md +117 -0
  626. package/node_modules/node-addon-api/doc/cmake-js.md +68 -0
  627. package/node_modules/node-addon-api/doc/conversion-tool.md +28 -0
  628. package/node_modules/node-addon-api/doc/creating_a_release.md +62 -0
  629. package/node_modules/node-addon-api/doc/dataview.md +244 -0
  630. package/node_modules/node-addon-api/doc/date.md +68 -0
  631. package/node_modules/node-addon-api/doc/env.md +63 -0
  632. package/node_modules/node-addon-api/doc/error.md +115 -0
  633. package/node_modules/node-addon-api/doc/error_handling.md +186 -0
  634. package/node_modules/node-addon-api/doc/escapable_handle_scope.md +82 -0
  635. package/node_modules/node-addon-api/doc/external.md +59 -0
  636. package/node_modules/node-addon-api/doc/function.md +294 -0
  637. package/node_modules/node-addon-api/doc/function_reference.md +238 -0
  638. package/node_modules/node-addon-api/doc/generator.md +13 -0
  639. package/node_modules/node-addon-api/doc/handle_scope.md +65 -0
  640. package/node_modules/node-addon-api/doc/memory_management.md +27 -0
  641. package/node_modules/node-addon-api/doc/node-gyp.md +82 -0
  642. package/node_modules/node-addon-api/doc/number.md +163 -0
  643. package/node_modules/node-addon-api/doc/object.md +236 -0
  644. package/node_modules/node-addon-api/doc/object_lifetime_management.md +83 -0
  645. package/node_modules/node-addon-api/doc/object_reference.md +117 -0
  646. package/node_modules/node-addon-api/doc/object_wrap.md +557 -0
  647. package/node_modules/node-addon-api/doc/prebuild_tools.md +16 -0
  648. package/node_modules/node-addon-api/doc/promises.md +74 -0
  649. package/node_modules/node-addon-api/doc/property_descriptor.md +231 -0
  650. package/node_modules/node-addon-api/doc/range_error.md +59 -0
  651. package/node_modules/node-addon-api/doc/reference.md +111 -0
  652. package/node_modules/node-addon-api/doc/setup.md +82 -0
  653. package/node_modules/node-addon-api/doc/string.md +89 -0
  654. package/node_modules/node-addon-api/doc/symbol.md +44 -0
  655. package/node_modules/node-addon-api/doc/threadsafe_function.md +320 -0
  656. package/node_modules/node-addon-api/doc/type_error.md +59 -0
  657. package/node_modules/node-addon-api/doc/typed_array.md +74 -0
  658. package/node_modules/node-addon-api/doc/typed_array_of.md +133 -0
  659. package/node_modules/node-addon-api/doc/value.md +278 -0
  660. package/node_modules/node-addon-api/doc/version_management.md +43 -0
  661. package/node_modules/node-addon-api/doc/working_with_javascript_values.md +14 -0
  662. package/node_modules/node-addon-api/external-napi/node_api.h +7 -0
  663. package/node_modules/node-addon-api/index.js +45 -0
  664. package/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
  665. package/node_modules/node-addon-api/napi-inl.h +4412 -0
  666. package/node_modules/node-addon-api/napi.h +2173 -0
  667. package/node_modules/node-addon-api/package.json +248 -0
  668. package/node_modules/node-addon-api/src/node_api.cc +3655 -0
  669. package/node_modules/node-addon-api/src/node_api.gyp +21 -0
  670. package/node_modules/node-addon-api/src/node_api.h +588 -0
  671. package/node_modules/node-addon-api/src/node_api_types.h +115 -0
  672. package/node_modules/node-addon-api/src/node_internals.cc +142 -0
  673. package/node_modules/node-addon-api/src/node_internals.h +157 -0
  674. package/node_modules/node-addon-api/src/nothing.c +0 -0
  675. package/node_modules/node-addon-api/src/util-inl.h +38 -0
  676. package/node_modules/node-addon-api/src/util.h +7 -0
  677. package/node_modules/node-addon-api/tools/README.md +67 -0
  678. package/node_modules/node-addon-api/tools/check-napi.js +100 -0
  679. package/node_modules/node-addon-api/tools/conversion.js +313 -0
  680. package/node_modules/node-gyp-build/LICENSE +21 -0
  681. package/node_modules/node-gyp-build/README.md +58 -0
  682. package/node_modules/node-gyp-build/bin.js +77 -0
  683. package/node_modules/node-gyp-build/build-test.js +19 -0
  684. package/node_modules/node-gyp-build/index.js +166 -0
  685. package/node_modules/node-gyp-build/optional.js +7 -0
  686. package/node_modules/node-gyp-build/package.json +33 -0
  687. package/node_modules/npm-run-path/index.js +39 -0
  688. package/node_modules/npm-run-path/license +21 -0
  689. package/node_modules/npm-run-path/package.json +49 -0
  690. package/node_modules/npm-run-path/readme.md +81 -0
  691. package/node_modules/once/LICENSE +15 -0
  692. package/node_modules/once/README.md +79 -0
  693. package/node_modules/once/once.js +42 -0
  694. package/node_modules/once/package.json +37 -0
  695. package/node_modules/os-locale/index.js +114 -0
  696. package/node_modules/os-locale/license +9 -0
  697. package/node_modules/os-locale/package.json +49 -0
  698. package/node_modules/os-locale/readme.md +71 -0
  699. package/node_modules/p-defer/index.js +11 -0
  700. package/node_modules/p-defer/license +21 -0
  701. package/node_modules/p-defer/package.json +45 -0
  702. package/node_modules/p-defer/readme.md +47 -0
  703. package/node_modules/p-finally/index.js +15 -0
  704. package/node_modules/p-finally/license +21 -0
  705. package/node_modules/p-finally/package.json +46 -0
  706. package/node_modules/p-finally/readme.md +47 -0
  707. package/node_modules/p-is-promise/index.d.ts +23 -0
  708. package/node_modules/p-is-promise/index.js +15 -0
  709. package/node_modules/p-is-promise/license +9 -0
  710. package/node_modules/p-is-promise/package.json +46 -0
  711. package/node_modules/p-is-promise/readme.md +43 -0
  712. package/node_modules/p-limit/index.d.ts +38 -0
  713. package/node_modules/p-limit/index.js +57 -0
  714. package/node_modules/p-limit/license +9 -0
  715. package/node_modules/p-limit/package.json +56 -0
  716. package/node_modules/p-limit/readme.md +101 -0
  717. package/node_modules/p-locate/index.js +34 -0
  718. package/node_modules/p-locate/license +9 -0
  719. package/node_modules/p-locate/package.json +55 -0
  720. package/node_modules/p-locate/readme.md +88 -0
  721. package/node_modules/p-try/index.d.ts +39 -0
  722. package/node_modules/p-try/index.js +9 -0
  723. package/node_modules/p-try/license +9 -0
  724. package/node_modules/p-try/package.json +46 -0
  725. package/node_modules/p-try/readme.md +58 -0
  726. package/node_modules/path-exists/index.js +17 -0
  727. package/node_modules/path-exists/license +21 -0
  728. package/node_modules/path-exists/package.json +44 -0
  729. package/node_modules/path-exists/readme.md +50 -0
  730. package/node_modules/path-key/index.js +13 -0
  731. package/node_modules/path-key/license +21 -0
  732. package/node_modules/path-key/package.json +43 -0
  733. package/node_modules/path-key/readme.md +51 -0
  734. package/node_modules/pbkdf2/LICENSE +21 -0
  735. package/node_modules/pbkdf2/README.md +30 -0
  736. package/node_modules/pbkdf2/browser.js +2 -0
  737. package/node_modules/pbkdf2/index.js +38 -0
  738. package/node_modules/pbkdf2/lib/async.js +102 -0
  739. package/node_modules/pbkdf2/lib/default-encoding.js +12 -0
  740. package/node_modules/pbkdf2/lib/precondition.js +19 -0
  741. package/node_modules/pbkdf2/lib/sync-browser.js +105 -0
  742. package/node_modules/pbkdf2/lib/sync.js +52 -0
  743. package/node_modules/pbkdf2/lib/to-buffer.js +13 -0
  744. package/node_modules/pbkdf2/package.json +74 -0
  745. package/node_modules/pump/.travis.yml +5 -0
  746. package/node_modules/pump/LICENSE +21 -0
  747. package/node_modules/pump/README.md +65 -0
  748. package/node_modules/pump/index.js +82 -0
  749. package/node_modules/pump/package.json +28 -0
  750. package/node_modules/pump/test-browser.js +66 -0
  751. package/node_modules/pump/test-node.js +53 -0
  752. package/node_modules/randombytes/.travis.yml +15 -0
  753. package/node_modules/randombytes/.zuul.yml +1 -0
  754. package/node_modules/randombytes/LICENSE +21 -0
  755. package/node_modules/randombytes/README.md +14 -0
  756. package/node_modules/randombytes/browser.js +50 -0
  757. package/node_modules/randombytes/index.js +1 -0
  758. package/node_modules/randombytes/package.json +40 -0
  759. package/node_modules/randombytes/test.js +81 -0
  760. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  761. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  762. package/node_modules/readable-stream/LICENSE +47 -0
  763. package/node_modules/readable-stream/README.md +106 -0
  764. package/node_modules/readable-stream/errors-browser.js +127 -0
  765. package/node_modules/readable-stream/errors.js +116 -0
  766. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  767. package/node_modules/readable-stream/lib/_stream_duplex.js +139 -0
  768. package/node_modules/readable-stream/lib/_stream_passthrough.js +39 -0
  769. package/node_modules/readable-stream/lib/_stream_readable.js +1124 -0
  770. package/node_modules/readable-stream/lib/_stream_transform.js +201 -0
  771. package/node_modules/readable-stream/lib/_stream_writable.js +697 -0
  772. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +207 -0
  773. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +210 -0
  774. package/node_modules/readable-stream/lib/internal/streams/destroy.js +105 -0
  775. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +104 -0
  776. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  777. package/node_modules/readable-stream/lib/internal/streams/from.js +64 -0
  778. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +97 -0
  779. package/node_modules/readable-stream/lib/internal/streams/state.js +27 -0
  780. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  781. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  782. package/node_modules/readable-stream/package.json +72 -0
  783. package/node_modules/readable-stream/readable-browser.js +9 -0
  784. package/node_modules/readable-stream/readable.js +16 -0
  785. package/node_modules/require-directory/.jshintrc +67 -0
  786. package/node_modules/require-directory/.npmignore +1 -0
  787. package/node_modules/require-directory/.travis.yml +3 -0
  788. package/node_modules/require-directory/LICENSE +22 -0
  789. package/node_modules/require-directory/README.markdown +184 -0
  790. package/node_modules/require-directory/index.js +86 -0
  791. package/node_modules/require-directory/package.json +44 -0
  792. package/node_modules/require-main-filename/LICENSE.txt +14 -0
  793. package/node_modules/require-main-filename/README.md +26 -0
  794. package/node_modules/require-main-filename/index.js +18 -0
  795. package/node_modules/require-main-filename/package.json +39 -0
  796. package/node_modules/ripemd160/LICENSE +21 -0
  797. package/node_modules/ripemd160/README.md +27 -0
  798. package/node_modules/ripemd160/index.js +163 -0
  799. package/node_modules/ripemd160/package.json +41 -0
  800. package/node_modules/rlp/LICENSE +373 -0
  801. package/node_modules/rlp/README.md +58 -0
  802. package/node_modules/rlp/bin/rlp +35 -0
  803. package/node_modules/rlp/dist/index.d.ts +25 -0
  804. package/node_modules/rlp/dist/index.js +249 -0
  805. package/node_modules/rlp/dist/index.js.map +1 -0
  806. package/node_modules/rlp/dist/types.d.ts +9 -0
  807. package/node_modules/rlp/dist/types.js +3 -0
  808. package/node_modules/rlp/dist/types.js.map +1 -0
  809. package/node_modules/rlp/package.json +84 -0
  810. package/node_modules/safe-buffer/LICENSE +21 -0
  811. package/node_modules/safe-buffer/README.md +584 -0
  812. package/node_modules/safe-buffer/index.d.ts +187 -0
  813. package/node_modules/safe-buffer/index.js +65 -0
  814. package/node_modules/safe-buffer/package.json +55 -0
  815. package/node_modules/scrypt-js/LICENSE.txt +22 -0
  816. package/node_modules/scrypt-js/README.md +222 -0
  817. package/node_modules/scrypt-js/index.html +291 -0
  818. package/node_modules/scrypt-js/package.json +31 -0
  819. package/node_modules/scrypt-js/scrypt.d.ts +23 -0
  820. package/node_modules/scrypt-js/scrypt.js +488 -0
  821. package/node_modules/scrypt-js/thirdparty/buffer.js +1381 -0
  822. package/node_modules/scrypt-js/thirdparty/setImmediate.js +175 -0
  823. package/node_modules/scrypt-js/thirdparty/unorm.js +442 -0
  824. package/node_modules/secp256k1/API.md +116 -0
  825. package/node_modules/secp256k1/LICENSE +24 -0
  826. package/node_modules/secp256k1/README.md +117 -0
  827. package/node_modules/secp256k1/binding.gyp +100 -0
  828. package/node_modules/secp256k1/bindings.js +2 -0
  829. package/node_modules/secp256k1/elliptic.js +1 -0
  830. package/node_modules/secp256k1/index.js +5 -0
  831. package/node_modules/secp256k1/lib/elliptic.js +402 -0
  832. package/node_modules/secp256k1/lib/index.js +336 -0
  833. package/node_modules/secp256k1/package.json +47 -0
  834. package/node_modules/secp256k1/prebuilds/darwin-x64/node.napi.node +0 -0
  835. package/node_modules/secp256k1/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  836. package/node_modules/secp256k1/prebuilds/linux-x64/node.napi.musl.node +0 -0
  837. package/node_modules/secp256k1/prebuilds/win32-x64/node.napi.node +0 -0
  838. package/node_modules/secp256k1/src/addon.cc +10 -0
  839. package/node_modules/secp256k1/src/secp256k1/.travis.yml +100 -0
  840. package/node_modules/secp256k1/src/secp256k1/COPYING +19 -0
  841. package/node_modules/secp256k1/src/secp256k1/Makefile.am +183 -0
  842. package/node_modules/secp256k1/src/secp256k1/README.md +78 -0
  843. package/node_modules/secp256k1/src/secp256k1/SECURITY.md +15 -0
  844. package/node_modules/secp256k1/src/secp256k1/TODO +3 -0
  845. package/node_modules/secp256k1/src/secp256k1/autogen.sh +3 -0
  846. package/node_modules/secp256k1/src/secp256k1/build-aux/m4/ax_jni_include_dir.m4 +145 -0
  847. package/node_modules/secp256k1/src/secp256k1/build-aux/m4/ax_prog_cc_for_build.m4 +125 -0
  848. package/node_modules/secp256k1/src/secp256k1/build-aux/m4/bitcoin_secp.m4 +68 -0
  849. package/node_modules/secp256k1/src/secp256k1/configure.ac +591 -0
  850. package/node_modules/secp256k1/src/secp256k1/contrib/lax_der_parsing.c +150 -0
  851. package/node_modules/secp256k1/src/secp256k1/contrib/lax_der_parsing.h +91 -0
  852. package/node_modules/secp256k1/src/secp256k1/contrib/lax_der_privatekey_parsing.c +113 -0
  853. package/node_modules/secp256k1/src/secp256k1/contrib/lax_der_privatekey_parsing.h +90 -0
  854. package/node_modules/secp256k1/src/secp256k1/include/secp256k1.h +708 -0
  855. package/node_modules/secp256k1/src/secp256k1/include/secp256k1_ecdh.h +55 -0
  856. package/node_modules/secp256k1/src/secp256k1/include/secp256k1_preallocated.h +128 -0
  857. package/node_modules/secp256k1/src/secp256k1/include/secp256k1_recovery.h +110 -0
  858. package/node_modules/secp256k1/src/secp256k1/libsecp256k1.pc.in +13 -0
  859. package/node_modules/secp256k1/src/secp256k1/sage/group_prover.sage +322 -0
  860. package/node_modules/secp256k1/src/secp256k1/sage/secp256k1.sage +306 -0
  861. package/node_modules/secp256k1/src/secp256k1/sage/weierstrass_prover.sage +264 -0
  862. package/node_modules/secp256k1/src/secp256k1/src/asm/field_10x26_arm.s +913 -0
  863. package/node_modules/secp256k1/src/secp256k1/src/basic-config.h +38 -0
  864. package/node_modules/secp256k1/src/secp256k1/src/bench.h +124 -0
  865. package/node_modules/secp256k1/src/secp256k1/src/bench_ecdh.c +54 -0
  866. package/node_modules/secp256k1/src/secp256k1/src/bench_ecmult.c +207 -0
  867. package/node_modules/secp256k1/src/secp256k1/src/bench_internal.c +379 -0
  868. package/node_modules/secp256k1/src/secp256k1/src/bench_recover.c +60 -0
  869. package/node_modules/secp256k1/src/secp256k1/src/bench_sign.c +56 -0
  870. package/node_modules/secp256k1/src/secp256k1/src/bench_verify.c +112 -0
  871. package/node_modules/secp256k1/src/secp256k1/src/ecdsa.h +21 -0
  872. package/node_modules/secp256k1/src/secp256k1/src/ecdsa_impl.h +319 -0
  873. package/node_modules/secp256k1/src/secp256k1/src/eckey.h +25 -0
  874. package/node_modules/secp256k1/src/secp256k1/src/eckey_impl.h +100 -0
  875. package/node_modules/secp256k1/src/secp256k1/src/ecmult.h +48 -0
  876. package/node_modules/secp256k1/src/secp256k1/src/ecmult_const.h +20 -0
  877. package/node_modules/secp256k1/src/secp256k1/src/ecmult_const_impl.h +261 -0
  878. package/node_modules/secp256k1/src/secp256k1/src/ecmult_gen.h +50 -0
  879. package/node_modules/secp256k1/src/secp256k1/src/ecmult_gen_impl.h +211 -0
  880. package/node_modules/secp256k1/src/secp256k1/src/ecmult_impl.h +1216 -0
  881. package/node_modules/secp256k1/src/secp256k1/src/field.h +132 -0
  882. package/node_modules/secp256k1/src/secp256k1/src/field_10x26.h +50 -0
  883. package/node_modules/secp256k1/src/secp256k1/src/field_10x26_impl.h +1162 -0
  884. package/node_modules/secp256k1/src/secp256k1/src/field_5x52.h +49 -0
  885. package/node_modules/secp256k1/src/secp256k1/src/field_5x52_asm_impl.h +502 -0
  886. package/node_modules/secp256k1/src/secp256k1/src/field_5x52_impl.h +496 -0
  887. package/node_modules/secp256k1/src/secp256k1/src/field_5x52_int128_impl.h +279 -0
  888. package/node_modules/secp256k1/src/secp256k1/src/field_impl.h +318 -0
  889. package/node_modules/secp256k1/src/secp256k1/src/gen_context.c +87 -0
  890. package/node_modules/secp256k1/src/secp256k1/src/group.h +142 -0
  891. package/node_modules/secp256k1/src/secp256k1/src/group_impl.h +705 -0
  892. package/node_modules/secp256k1/src/secp256k1/src/hash.h +41 -0
  893. package/node_modules/secp256k1/src/secp256k1/src/hash_impl.h +283 -0
  894. package/node_modules/secp256k1/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java +446 -0
  895. package/node_modules/secp256k1/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1Test.java +225 -0
  896. package/node_modules/secp256k1/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1Util.java +45 -0
  897. package/node_modules/secp256k1/src/secp256k1/src/java/org/bitcoin/Secp256k1Context.java +51 -0
  898. package/node_modules/secp256k1/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c +379 -0
  899. package/node_modules/secp256k1/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h +119 -0
  900. package/node_modules/secp256k1/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c +15 -0
  901. package/node_modules/secp256k1/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h +22 -0
  902. package/node_modules/secp256k1/src/secp256k1/src/modules/ecdh/Makefile.am.include +8 -0
  903. package/node_modules/secp256k1/src/secp256k1/src/modules/ecdh/main_impl.h +67 -0
  904. package/node_modules/secp256k1/src/secp256k1/src/modules/ecdh/tests_impl.h +132 -0
  905. package/node_modules/secp256k1/src/secp256k1/src/modules/recovery/Makefile.am.include +8 -0
  906. package/node_modules/secp256k1/src/secp256k1/src/modules/recovery/main_impl.h +193 -0
  907. package/node_modules/secp256k1/src/secp256k1/src/modules/recovery/tests_impl.h +393 -0
  908. package/node_modules/secp256k1/src/secp256k1/src/num.h +74 -0
  909. package/node_modules/secp256k1/src/secp256k1/src/num_gmp.h +20 -0
  910. package/node_modules/secp256k1/src/secp256k1/src/num_gmp_impl.h +288 -0
  911. package/node_modules/secp256k1/src/secp256k1/src/num_impl.h +24 -0
  912. package/node_modules/secp256k1/src/secp256k1/src/scalar.h +106 -0
  913. package/node_modules/secp256k1/src/secp256k1/src/scalar_4x64.h +19 -0
  914. package/node_modules/secp256k1/src/secp256k1/src/scalar_4x64_impl.h +949 -0
  915. package/node_modules/secp256k1/src/secp256k1/src/scalar_8x32.h +19 -0
  916. package/node_modules/secp256k1/src/secp256k1/src/scalar_8x32_impl.h +721 -0
  917. package/node_modules/secp256k1/src/secp256k1/src/scalar_impl.h +333 -0
  918. package/node_modules/secp256k1/src/secp256k1/src/scalar_low.h +15 -0
  919. package/node_modules/secp256k1/src/secp256k1/src/scalar_low_impl.h +117 -0
  920. package/node_modules/secp256k1/src/secp256k1/src/scratch.h +42 -0
  921. package/node_modules/secp256k1/src/secp256k1/src/scratch_impl.h +88 -0
  922. package/node_modules/secp256k1/src/secp256k1/src/secp256k1.c +690 -0
  923. package/node_modules/secp256k1/src/secp256k1/src/testrand.h +38 -0
  924. package/node_modules/secp256k1/src/secp256k1/src/testrand_impl.h +110 -0
  925. package/node_modules/secp256k1/src/secp256k1/src/tests.c +5310 -0
  926. package/node_modules/secp256k1/src/secp256k1/src/tests_exhaustive.c +511 -0
  927. package/node_modules/secp256k1/src/secp256k1/src/util.h +162 -0
  928. package/node_modules/secp256k1/src/secp256k1.cc +415 -0
  929. package/node_modules/secp256k1/src/secp256k1.h +63 -0
  930. package/node_modules/semver/LICENSE +15 -0
  931. package/node_modules/semver/README.md +412 -0
  932. package/node_modules/semver/bin/semver +160 -0
  933. package/node_modules/semver/package.json +32 -0
  934. package/node_modules/semver/range.bnf +16 -0
  935. package/node_modules/semver/semver.js +1483 -0
  936. package/node_modules/set-blocking/LICENSE.txt +14 -0
  937. package/node_modules/set-blocking/README.md +31 -0
  938. package/node_modules/set-blocking/index.js +7 -0
  939. package/node_modules/set-blocking/package.json +46 -0
  940. package/node_modules/setimmediate/LICENSE.txt +20 -0
  941. package/node_modules/setimmediate/package.json +34 -0
  942. package/node_modules/setimmediate/setImmediate.js +186 -0
  943. package/node_modules/sha.js/.travis.yml +17 -0
  944. package/node_modules/sha.js/LICENSE +49 -0
  945. package/node_modules/sha.js/README.md +44 -0
  946. package/node_modules/sha.js/bin.js +41 -0
  947. package/node_modules/sha.js/hash.js +81 -0
  948. package/node_modules/sha.js/index.js +15 -0
  949. package/node_modules/sha.js/package.json +34 -0
  950. package/node_modules/sha.js/sha.js +94 -0
  951. package/node_modules/sha.js/sha1.js +99 -0
  952. package/node_modules/sha.js/sha224.js +53 -0
  953. package/node_modules/sha.js/sha256.js +135 -0
  954. package/node_modules/sha.js/sha384.js +57 -0
  955. package/node_modules/sha.js/sha512.js +260 -0
  956. package/node_modules/sha.js/test/hash.js +75 -0
  957. package/node_modules/sha.js/test/test.js +100 -0
  958. package/node_modules/sha.js/test/vectors.js +72 -0
  959. package/node_modules/shebang-command/index.js +19 -0
  960. package/node_modules/shebang-command/license +21 -0
  961. package/node_modules/shebang-command/package.json +43 -0
  962. package/node_modules/shebang-command/readme.md +39 -0
  963. package/node_modules/shebang-regex/index.js +2 -0
  964. package/node_modules/shebang-regex/license +21 -0
  965. package/node_modules/shebang-regex/package.json +36 -0
  966. package/node_modules/shebang-regex/readme.md +29 -0
  967. package/node_modules/signal-exit/LICENSE.txt +16 -0
  968. package/node_modules/signal-exit/README.md +39 -0
  969. package/node_modules/signal-exit/index.js +163 -0
  970. package/node_modules/signal-exit/package.json +42 -0
  971. package/node_modules/signal-exit/signals.js +53 -0
  972. package/node_modules/source-map/LICENSE +28 -0
  973. package/node_modules/source-map/README.md +742 -0
  974. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  975. package/node_modules/source-map/dist/source-map.js +3233 -0
  976. package/node_modules/source-map/dist/source-map.min.js +2 -0
  977. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  978. package/node_modules/source-map/lib/array-set.js +121 -0
  979. package/node_modules/source-map/lib/base64-vlq.js +140 -0
  980. package/node_modules/source-map/lib/base64.js +67 -0
  981. package/node_modules/source-map/lib/binary-search.js +111 -0
  982. package/node_modules/source-map/lib/mapping-list.js +79 -0
  983. package/node_modules/source-map/lib/quick-sort.js +114 -0
  984. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  985. package/node_modules/source-map/lib/source-map-generator.js +425 -0
  986. package/node_modules/source-map/lib/source-node.js +413 -0
  987. package/node_modules/source-map/lib/util.js +488 -0
  988. package/node_modules/source-map/package.json +77 -0
  989. package/node_modules/source-map/source-map.d.ts +98 -0
  990. package/node_modules/source-map/source-map.js +8 -0
  991. package/node_modules/source-map-support/LICENSE.md +21 -0
  992. package/node_modules/source-map-support/README.md +284 -0
  993. package/node_modules/source-map-support/browser-source-map-support.js +113 -0
  994. package/node_modules/source-map-support/package.json +35 -0
  995. package/node_modules/source-map-support/register.js +1 -0
  996. package/node_modules/source-map-support/source-map-support.js +567 -0
  997. package/node_modules/string-width/index.js +39 -0
  998. package/node_modules/string-width/license +9 -0
  999. package/node_modules/string-width/package.json +60 -0
  1000. package/node_modules/string-width/readme.md +45 -0
  1001. package/node_modules/string_decoder/LICENSE +48 -0
  1002. package/node_modules/string_decoder/README.md +47 -0
  1003. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1004. package/node_modules/string_decoder/package.json +38 -0
  1005. package/node_modules/strip-ansi/index.d.ts +15 -0
  1006. package/node_modules/strip-ansi/index.js +7 -0
  1007. package/node_modules/strip-ansi/license +9 -0
  1008. package/node_modules/strip-ansi/package.json +58 -0
  1009. package/node_modules/strip-ansi/readme.md +61 -0
  1010. package/node_modules/strip-eof/index.js +15 -0
  1011. package/node_modules/strip-eof/license +21 -0
  1012. package/node_modules/strip-eof/package.json +43 -0
  1013. package/node_modules/strip-eof/readme.md +28 -0
  1014. package/node_modules/strip-hex-prefix/.editorconfig +7 -0
  1015. package/node_modules/strip-hex-prefix/.gitattributes +106 -0
  1016. package/node_modules/strip-hex-prefix/.npmignore +8 -0
  1017. package/node_modules/strip-hex-prefix/.travis.yml +5 -0
  1018. package/node_modules/strip-hex-prefix/CHANGELOG.md +7 -0
  1019. package/node_modules/strip-hex-prefix/LICENSE +21 -0
  1020. package/node_modules/strip-hex-prefix/README.md +106 -0
  1021. package/node_modules/strip-hex-prefix/package.json +46 -0
  1022. package/node_modules/strip-hex-prefix/src/index.js +14 -0
  1023. package/node_modules/strip-hex-prefix/src/tests/test.index.js +47 -0
  1024. package/node_modules/util-deprecate/History.md +16 -0
  1025. package/node_modules/util-deprecate/LICENSE +24 -0
  1026. package/node_modules/util-deprecate/README.md +53 -0
  1027. package/node_modules/util-deprecate/browser.js +67 -0
  1028. package/node_modules/util-deprecate/node.js +6 -0
  1029. package/node_modules/util-deprecate/package.json +31 -0
  1030. package/node_modules/which/LICENSE +15 -0
  1031. package/node_modules/which/README.md +51 -0
  1032. package/node_modules/which/bin/which +52 -0
  1033. package/node_modules/which/package.json +34 -0
  1034. package/node_modules/which/which.js +135 -0
  1035. package/node_modules/which-module/LICENSE +13 -0
  1036. package/node_modules/which-module/README.md +55 -0
  1037. package/node_modules/which-module/index.js +9 -0
  1038. package/node_modules/which-module/package.json +45 -0
  1039. package/node_modules/wrap-ansi/index.js +188 -0
  1040. package/node_modules/wrap-ansi/license +9 -0
  1041. package/node_modules/wrap-ansi/package.json +65 -0
  1042. package/node_modules/wrap-ansi/readme.md +108 -0
  1043. package/node_modules/wrappy/LICENSE +15 -0
  1044. package/node_modules/wrappy/README.md +36 -0
  1045. package/node_modules/wrappy/package.json +33 -0
  1046. package/node_modules/wrappy/wrappy.js +33 -0
  1047. package/node_modules/y18n/LICENSE +13 -0
  1048. package/node_modules/y18n/README.md +109 -0
  1049. package/node_modules/y18n/index.js +188 -0
  1050. package/node_modules/y18n/package.json +43 -0
  1051. package/node_modules/yargs/LICENSE +22 -0
  1052. package/node_modules/yargs/README.md +122 -0
  1053. package/node_modules/yargs/index.js +32 -0
  1054. package/node_modules/yargs/lib/apply-extends.js +53 -0
  1055. package/node_modules/yargs/lib/argsert.js +68 -0
  1056. package/node_modules/yargs/lib/command.js +437 -0
  1057. package/node_modules/yargs/lib/completion-templates.js +49 -0
  1058. package/node_modules/yargs/lib/completion.js +115 -0
  1059. package/node_modules/yargs/lib/decamelize.js +32 -0
  1060. package/node_modules/yargs/lib/is-promise.js +3 -0
  1061. package/node_modules/yargs/lib/levenshtein.js +58 -0
  1062. package/node_modules/yargs/lib/middleware.js +65 -0
  1063. package/node_modules/yargs/lib/obj-filter.js +11 -0
  1064. package/node_modules/yargs/lib/usage.js +540 -0
  1065. package/node_modules/yargs/lib/validation.js +341 -0
  1066. package/node_modules/yargs/lib/yerror.js +11 -0
  1067. package/node_modules/yargs/locales/be.json +39 -0
  1068. package/node_modules/yargs/locales/de.json +39 -0
  1069. package/node_modules/yargs/locales/en.json +42 -0
  1070. package/node_modules/yargs/locales/es.json +39 -0
  1071. package/node_modules/yargs/locales/fr.json +37 -0
  1072. package/node_modules/yargs/locales/hi.json +42 -0
  1073. package/node_modules/yargs/locales/hu.json +39 -0
  1074. package/node_modules/yargs/locales/id.json +43 -0
  1075. package/node_modules/yargs/locales/it.json +39 -0
  1076. package/node_modules/yargs/locales/ja.json +42 -0
  1077. package/node_modules/yargs/locales/ko.json +42 -0
  1078. package/node_modules/yargs/locales/nb.json +37 -0
  1079. package/node_modules/yargs/locales/nl.json +42 -0
  1080. package/node_modules/yargs/locales/nn.json +39 -0
  1081. package/node_modules/yargs/locales/pirate.json +13 -0
  1082. package/node_modules/yargs/locales/pl.json +42 -0
  1083. package/node_modules/yargs/locales/pt.json +38 -0
  1084. package/node_modules/yargs/locales/pt_BR.json +42 -0
  1085. package/node_modules/yargs/locales/ru.json +39 -0
  1086. package/node_modules/yargs/locales/th.json +39 -0
  1087. package/node_modules/yargs/locales/tr.json +41 -0
  1088. package/node_modules/yargs/locales/zh_CN.json +41 -0
  1089. package/node_modules/yargs/locales/zh_TW.json +40 -0
  1090. package/node_modules/yargs/package.json +83 -0
  1091. package/node_modules/yargs/yargs.js +1205 -0
  1092. package/node_modules/yargs-parser/LICENSE.txt +14 -0
  1093. package/node_modules/yargs-parser/README.md +396 -0
  1094. package/node_modules/yargs-parser/index.js +916 -0
  1095. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +40 -0
  1096. package/node_modules/yargs-parser/package.json +51 -0
  1097. package/nwkkwt37.cjs +1 -0
  1098. package/package.json +75 -0
@@ -0,0 +1,949 @@
1
+ /**********************************************************************
2
+ * Copyright (c) 2013, 2014 Pieter Wuille *
3
+ * Distributed under the MIT software license, see the accompanying *
4
+ * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
5
+ **********************************************************************/
6
+
7
+ #ifndef SECP256K1_SCALAR_REPR_IMPL_H
8
+ #define SECP256K1_SCALAR_REPR_IMPL_H
9
+
10
+ /* Limbs of the secp256k1 order. */
11
+ #define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL)
12
+ #define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL)
13
+ #define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL)
14
+ #define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL)
15
+
16
+ /* Limbs of 2^256 minus the secp256k1 order. */
17
+ #define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1)
18
+ #define SECP256K1_N_C_1 (~SECP256K1_N_1)
19
+ #define SECP256K1_N_C_2 (1)
20
+
21
+ /* Limbs of half the secp256k1 order. */
22
+ #define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL)
23
+ #define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL)
24
+ #define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL)
25
+ #define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL)
26
+
27
+ SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) {
28
+ r->d[0] = 0;
29
+ r->d[1] = 0;
30
+ r->d[2] = 0;
31
+ r->d[3] = 0;
32
+ }
33
+
34
+ SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) {
35
+ r->d[0] = v;
36
+ r->d[1] = 0;
37
+ r->d[2] = 0;
38
+ r->d[3] = 0;
39
+ }
40
+
41
+ SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) {
42
+ VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6);
43
+ return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1);
44
+ }
45
+
46
+ SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) {
47
+ VERIFY_CHECK(count < 32);
48
+ VERIFY_CHECK(offset + count <= 256);
49
+ if ((offset + count - 1) >> 6 == offset >> 6) {
50
+ return secp256k1_scalar_get_bits(a, offset, count);
51
+ } else {
52
+ VERIFY_CHECK((offset >> 6) + 1 < 4);
53
+ return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1);
54
+ }
55
+ }
56
+
57
+ SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) {
58
+ int yes = 0;
59
+ int no = 0;
60
+ no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */
61
+ no |= (a->d[2] < SECP256K1_N_2);
62
+ yes |= (a->d[2] > SECP256K1_N_2) & ~no;
63
+ no |= (a->d[1] < SECP256K1_N_1);
64
+ yes |= (a->d[1] > SECP256K1_N_1) & ~no;
65
+ yes |= (a->d[0] >= SECP256K1_N_0) & ~no;
66
+ return yes;
67
+ }
68
+
69
+ SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar *r, unsigned int overflow) {
70
+ uint128_t t;
71
+ VERIFY_CHECK(overflow <= 1);
72
+ t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0;
73
+ r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
74
+ t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1;
75
+ r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
76
+ t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2;
77
+ r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
78
+ t += (uint64_t)r->d[3];
79
+ r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL;
80
+ return overflow;
81
+ }
82
+
83
+ static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) {
84
+ int overflow;
85
+ uint128_t t = (uint128_t)a->d[0] + b->d[0];
86
+ r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
87
+ t += (uint128_t)a->d[1] + b->d[1];
88
+ r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
89
+ t += (uint128_t)a->d[2] + b->d[2];
90
+ r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
91
+ t += (uint128_t)a->d[3] + b->d[3];
92
+ r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
93
+ overflow = t + secp256k1_scalar_check_overflow(r);
94
+ VERIFY_CHECK(overflow == 0 || overflow == 1);
95
+ secp256k1_scalar_reduce(r, overflow);
96
+ return overflow;
97
+ }
98
+
99
+ static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) {
100
+ uint128_t t;
101
+ VERIFY_CHECK(bit < 256);
102
+ bit += ((uint32_t) flag - 1) & 0x100; /* forcing (bit >> 6) > 3 makes this a noop */
103
+ t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F));
104
+ r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
105
+ t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F));
106
+ r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
107
+ t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F));
108
+ r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64;
109
+ t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F));
110
+ r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL;
111
+ #ifdef VERIFY
112
+ VERIFY_CHECK((t >> 64) == 0);
113
+ VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0);
114
+ #endif
115
+ }
116
+
117
+ static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) {
118
+ int over;
119
+ r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56;
120
+ r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56;
121
+ r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56;
122
+ r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56;
123
+ over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r));
124
+ if (overflow) {
125
+ *overflow = over;
126
+ }
127
+ }
128
+
129
+ static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) {
130
+ bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3];
131
+ bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2];
132
+ bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1];
133
+ bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0];
134
+ }
135
+
136
+ SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) {
137
+ return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0;
138
+ }
139
+
140
+ static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) {
141
+ uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0);
142
+ uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1;
143
+ r->d[0] = t & nonzero; t >>= 64;
144
+ t += (uint128_t)(~a->d[1]) + SECP256K1_N_1;
145
+ r->d[1] = t & nonzero; t >>= 64;
146
+ t += (uint128_t)(~a->d[2]) + SECP256K1_N_2;
147
+ r->d[2] = t & nonzero; t >>= 64;
148
+ t += (uint128_t)(~a->d[3]) + SECP256K1_N_3;
149
+ r->d[3] = t & nonzero;
150
+ }
151
+
152
+ SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) {
153
+ return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0;
154
+ }
155
+
156
+ static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
157
+ int yes = 0;
158
+ int no = 0;
159
+ no |= (a->d[3] < SECP256K1_N_H_3);
160
+ yes |= (a->d[3] > SECP256K1_N_H_3) & ~no;
161
+ no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */
162
+ no |= (a->d[1] < SECP256K1_N_H_1) & ~yes;
163
+ yes |= (a->d[1] > SECP256K1_N_H_1) & ~no;
164
+ yes |= (a->d[0] > SECP256K1_N_H_0) & ~no;
165
+ return yes;
166
+ }
167
+
168
+ static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
169
+ /* If we are flag = 0, mask = 00...00 and this is a no-op;
170
+ * if we are flag = 1, mask = 11...11 and this is identical to secp256k1_scalar_negate */
171
+ uint64_t mask = !flag - 1;
172
+ uint64_t nonzero = (secp256k1_scalar_is_zero(r) != 0) - 1;
173
+ uint128_t t = (uint128_t)(r->d[0] ^ mask) + ((SECP256K1_N_0 + 1) & mask);
174
+ r->d[0] = t & nonzero; t >>= 64;
175
+ t += (uint128_t)(r->d[1] ^ mask) + (SECP256K1_N_1 & mask);
176
+ r->d[1] = t & nonzero; t >>= 64;
177
+ t += (uint128_t)(r->d[2] ^ mask) + (SECP256K1_N_2 & mask);
178
+ r->d[2] = t & nonzero; t >>= 64;
179
+ t += (uint128_t)(r->d[3] ^ mask) + (SECP256K1_N_3 & mask);
180
+ r->d[3] = t & nonzero;
181
+ return 2 * (mask == 0) - 1;
182
+ }
183
+
184
+ /* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */
185
+
186
+ /** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */
187
+ #define muladd(a,b) { \
188
+ uint64_t tl, th; \
189
+ { \
190
+ uint128_t t = (uint128_t)a * b; \
191
+ th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \
192
+ tl = t; \
193
+ } \
194
+ c0 += tl; /* overflow is handled on the next line */ \
195
+ th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \
196
+ c1 += th; /* overflow is handled on the next line */ \
197
+ c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \
198
+ VERIFY_CHECK((c1 >= th) || (c2 != 0)); \
199
+ }
200
+
201
+ /** Add a*b to the number defined by (c0,c1). c1 must never overflow. */
202
+ #define muladd_fast(a,b) { \
203
+ uint64_t tl, th; \
204
+ { \
205
+ uint128_t t = (uint128_t)a * b; \
206
+ th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \
207
+ tl = t; \
208
+ } \
209
+ c0 += tl; /* overflow is handled on the next line */ \
210
+ th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \
211
+ c1 += th; /* never overflows by contract (verified in the next line) */ \
212
+ VERIFY_CHECK(c1 >= th); \
213
+ }
214
+
215
+ /** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */
216
+ #define muladd2(a,b) { \
217
+ uint64_t tl, th, th2, tl2; \
218
+ { \
219
+ uint128_t t = (uint128_t)a * b; \
220
+ th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \
221
+ tl = t; \
222
+ } \
223
+ th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \
224
+ c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \
225
+ VERIFY_CHECK((th2 >= th) || (c2 != 0)); \
226
+ tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \
227
+ th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \
228
+ c0 += tl2; /* overflow is handled on the next line */ \
229
+ th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \
230
+ c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \
231
+ VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \
232
+ c1 += th2; /* overflow is handled on the next line */ \
233
+ c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \
234
+ VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \
235
+ }
236
+
237
+ /** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */
238
+ #define sumadd(a) { \
239
+ unsigned int over; \
240
+ c0 += (a); /* overflow is handled on the next line */ \
241
+ over = (c0 < (a)) ? 1 : 0; \
242
+ c1 += over; /* overflow is handled on the next line */ \
243
+ c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \
244
+ }
245
+
246
+ /** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */
247
+ #define sumadd_fast(a) { \
248
+ c0 += (a); /* overflow is handled on the next line */ \
249
+ c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \
250
+ VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \
251
+ VERIFY_CHECK(c2 == 0); \
252
+ }
253
+
254
+ /** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */
255
+ #define extract(n) { \
256
+ (n) = c0; \
257
+ c0 = c1; \
258
+ c1 = c2; \
259
+ c2 = 0; \
260
+ }
261
+
262
+ /** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */
263
+ #define extract_fast(n) { \
264
+ (n) = c0; \
265
+ c0 = c1; \
266
+ c1 = 0; \
267
+ VERIFY_CHECK(c2 == 0); \
268
+ }
269
+
270
+ static void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint64_t *l) {
271
+ #ifdef USE_ASM_X86_64
272
+ /* Reduce 512 bits into 385. */
273
+ uint64_t m0, m1, m2, m3, m4, m5, m6;
274
+ uint64_t p0, p1, p2, p3, p4;
275
+ uint64_t c;
276
+
277
+ __asm__ __volatile__(
278
+ /* Preload. */
279
+ "movq 32(%%rsi), %%r11\n"
280
+ "movq 40(%%rsi), %%r12\n"
281
+ "movq 48(%%rsi), %%r13\n"
282
+ "movq 56(%%rsi), %%r14\n"
283
+ /* Initialize r8,r9,r10 */
284
+ "movq 0(%%rsi), %%r8\n"
285
+ "xorq %%r9, %%r9\n"
286
+ "xorq %%r10, %%r10\n"
287
+ /* (r8,r9) += n0 * c0 */
288
+ "movq %8, %%rax\n"
289
+ "mulq %%r11\n"
290
+ "addq %%rax, %%r8\n"
291
+ "adcq %%rdx, %%r9\n"
292
+ /* extract m0 */
293
+ "movq %%r8, %q0\n"
294
+ "xorq %%r8, %%r8\n"
295
+ /* (r9,r10) += l1 */
296
+ "addq 8(%%rsi), %%r9\n"
297
+ "adcq $0, %%r10\n"
298
+ /* (r9,r10,r8) += n1 * c0 */
299
+ "movq %8, %%rax\n"
300
+ "mulq %%r12\n"
301
+ "addq %%rax, %%r9\n"
302
+ "adcq %%rdx, %%r10\n"
303
+ "adcq $0, %%r8\n"
304
+ /* (r9,r10,r8) += n0 * c1 */
305
+ "movq %9, %%rax\n"
306
+ "mulq %%r11\n"
307
+ "addq %%rax, %%r9\n"
308
+ "adcq %%rdx, %%r10\n"
309
+ "adcq $0, %%r8\n"
310
+ /* extract m1 */
311
+ "movq %%r9, %q1\n"
312
+ "xorq %%r9, %%r9\n"
313
+ /* (r10,r8,r9) += l2 */
314
+ "addq 16(%%rsi), %%r10\n"
315
+ "adcq $0, %%r8\n"
316
+ "adcq $0, %%r9\n"
317
+ /* (r10,r8,r9) += n2 * c0 */
318
+ "movq %8, %%rax\n"
319
+ "mulq %%r13\n"
320
+ "addq %%rax, %%r10\n"
321
+ "adcq %%rdx, %%r8\n"
322
+ "adcq $0, %%r9\n"
323
+ /* (r10,r8,r9) += n1 * c1 */
324
+ "movq %9, %%rax\n"
325
+ "mulq %%r12\n"
326
+ "addq %%rax, %%r10\n"
327
+ "adcq %%rdx, %%r8\n"
328
+ "adcq $0, %%r9\n"
329
+ /* (r10,r8,r9) += n0 */
330
+ "addq %%r11, %%r10\n"
331
+ "adcq $0, %%r8\n"
332
+ "adcq $0, %%r9\n"
333
+ /* extract m2 */
334
+ "movq %%r10, %q2\n"
335
+ "xorq %%r10, %%r10\n"
336
+ /* (r8,r9,r10) += l3 */
337
+ "addq 24(%%rsi), %%r8\n"
338
+ "adcq $0, %%r9\n"
339
+ "adcq $0, %%r10\n"
340
+ /* (r8,r9,r10) += n3 * c0 */
341
+ "movq %8, %%rax\n"
342
+ "mulq %%r14\n"
343
+ "addq %%rax, %%r8\n"
344
+ "adcq %%rdx, %%r9\n"
345
+ "adcq $0, %%r10\n"
346
+ /* (r8,r9,r10) += n2 * c1 */
347
+ "movq %9, %%rax\n"
348
+ "mulq %%r13\n"
349
+ "addq %%rax, %%r8\n"
350
+ "adcq %%rdx, %%r9\n"
351
+ "adcq $0, %%r10\n"
352
+ /* (r8,r9,r10) += n1 */
353
+ "addq %%r12, %%r8\n"
354
+ "adcq $0, %%r9\n"
355
+ "adcq $0, %%r10\n"
356
+ /* extract m3 */
357
+ "movq %%r8, %q3\n"
358
+ "xorq %%r8, %%r8\n"
359
+ /* (r9,r10,r8) += n3 * c1 */
360
+ "movq %9, %%rax\n"
361
+ "mulq %%r14\n"
362
+ "addq %%rax, %%r9\n"
363
+ "adcq %%rdx, %%r10\n"
364
+ "adcq $0, %%r8\n"
365
+ /* (r9,r10,r8) += n2 */
366
+ "addq %%r13, %%r9\n"
367
+ "adcq $0, %%r10\n"
368
+ "adcq $0, %%r8\n"
369
+ /* extract m4 */
370
+ "movq %%r9, %q4\n"
371
+ /* (r10,r8) += n3 */
372
+ "addq %%r14, %%r10\n"
373
+ "adcq $0, %%r8\n"
374
+ /* extract m5 */
375
+ "movq %%r10, %q5\n"
376
+ /* extract m6 */
377
+ "movq %%r8, %q6\n"
378
+ : "=g"(m0), "=g"(m1), "=g"(m2), "=g"(m3), "=g"(m4), "=g"(m5), "=g"(m6)
379
+ : "S"(l), "i"(SECP256K1_N_C_0), "i"(SECP256K1_N_C_1)
380
+ : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc");
381
+
382
+ /* Reduce 385 bits into 258. */
383
+ __asm__ __volatile__(
384
+ /* Preload */
385
+ "movq %q9, %%r11\n"
386
+ "movq %q10, %%r12\n"
387
+ "movq %q11, %%r13\n"
388
+ /* Initialize (r8,r9,r10) */
389
+ "movq %q5, %%r8\n"
390
+ "xorq %%r9, %%r9\n"
391
+ "xorq %%r10, %%r10\n"
392
+ /* (r8,r9) += m4 * c0 */
393
+ "movq %12, %%rax\n"
394
+ "mulq %%r11\n"
395
+ "addq %%rax, %%r8\n"
396
+ "adcq %%rdx, %%r9\n"
397
+ /* extract p0 */
398
+ "movq %%r8, %q0\n"
399
+ "xorq %%r8, %%r8\n"
400
+ /* (r9,r10) += m1 */
401
+ "addq %q6, %%r9\n"
402
+ "adcq $0, %%r10\n"
403
+ /* (r9,r10,r8) += m5 * c0 */
404
+ "movq %12, %%rax\n"
405
+ "mulq %%r12\n"
406
+ "addq %%rax, %%r9\n"
407
+ "adcq %%rdx, %%r10\n"
408
+ "adcq $0, %%r8\n"
409
+ /* (r9,r10,r8) += m4 * c1 */
410
+ "movq %13, %%rax\n"
411
+ "mulq %%r11\n"
412
+ "addq %%rax, %%r9\n"
413
+ "adcq %%rdx, %%r10\n"
414
+ "adcq $0, %%r8\n"
415
+ /* extract p1 */
416
+ "movq %%r9, %q1\n"
417
+ "xorq %%r9, %%r9\n"
418
+ /* (r10,r8,r9) += m2 */
419
+ "addq %q7, %%r10\n"
420
+ "adcq $0, %%r8\n"
421
+ "adcq $0, %%r9\n"
422
+ /* (r10,r8,r9) += m6 * c0 */
423
+ "movq %12, %%rax\n"
424
+ "mulq %%r13\n"
425
+ "addq %%rax, %%r10\n"
426
+ "adcq %%rdx, %%r8\n"
427
+ "adcq $0, %%r9\n"
428
+ /* (r10,r8,r9) += m5 * c1 */
429
+ "movq %13, %%rax\n"
430
+ "mulq %%r12\n"
431
+ "addq %%rax, %%r10\n"
432
+ "adcq %%rdx, %%r8\n"
433
+ "adcq $0, %%r9\n"
434
+ /* (r10,r8,r9) += m4 */
435
+ "addq %%r11, %%r10\n"
436
+ "adcq $0, %%r8\n"
437
+ "adcq $0, %%r9\n"
438
+ /* extract p2 */
439
+ "movq %%r10, %q2\n"
440
+ /* (r8,r9) += m3 */
441
+ "addq %q8, %%r8\n"
442
+ "adcq $0, %%r9\n"
443
+ /* (r8,r9) += m6 * c1 */
444
+ "movq %13, %%rax\n"
445
+ "mulq %%r13\n"
446
+ "addq %%rax, %%r8\n"
447
+ "adcq %%rdx, %%r9\n"
448
+ /* (r8,r9) += m5 */
449
+ "addq %%r12, %%r8\n"
450
+ "adcq $0, %%r9\n"
451
+ /* extract p3 */
452
+ "movq %%r8, %q3\n"
453
+ /* (r9) += m6 */
454
+ "addq %%r13, %%r9\n"
455
+ /* extract p4 */
456
+ "movq %%r9, %q4\n"
457
+ : "=&g"(p0), "=&g"(p1), "=&g"(p2), "=g"(p3), "=g"(p4)
458
+ : "g"(m0), "g"(m1), "g"(m2), "g"(m3), "g"(m4), "g"(m5), "g"(m6), "i"(SECP256K1_N_C_0), "i"(SECP256K1_N_C_1)
459
+ : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "cc");
460
+
461
+ /* Reduce 258 bits into 256. */
462
+ __asm__ __volatile__(
463
+ /* Preload */
464
+ "movq %q5, %%r10\n"
465
+ /* (rax,rdx) = p4 * c0 */
466
+ "movq %7, %%rax\n"
467
+ "mulq %%r10\n"
468
+ /* (rax,rdx) += p0 */
469
+ "addq %q1, %%rax\n"
470
+ "adcq $0, %%rdx\n"
471
+ /* extract r0 */
472
+ "movq %%rax, 0(%q6)\n"
473
+ /* Move to (r8,r9) */
474
+ "movq %%rdx, %%r8\n"
475
+ "xorq %%r9, %%r9\n"
476
+ /* (r8,r9) += p1 */
477
+ "addq %q2, %%r8\n"
478
+ "adcq $0, %%r9\n"
479
+ /* (r8,r9) += p4 * c1 */
480
+ "movq %8, %%rax\n"
481
+ "mulq %%r10\n"
482
+ "addq %%rax, %%r8\n"
483
+ "adcq %%rdx, %%r9\n"
484
+ /* Extract r1 */
485
+ "movq %%r8, 8(%q6)\n"
486
+ "xorq %%r8, %%r8\n"
487
+ /* (r9,r8) += p4 */
488
+ "addq %%r10, %%r9\n"
489
+ "adcq $0, %%r8\n"
490
+ /* (r9,r8) += p2 */
491
+ "addq %q3, %%r9\n"
492
+ "adcq $0, %%r8\n"
493
+ /* Extract r2 */
494
+ "movq %%r9, 16(%q6)\n"
495
+ "xorq %%r9, %%r9\n"
496
+ /* (r8,r9) += p3 */
497
+ "addq %q4, %%r8\n"
498
+ "adcq $0, %%r9\n"
499
+ /* Extract r3 */
500
+ "movq %%r8, 24(%q6)\n"
501
+ /* Extract c */
502
+ "movq %%r9, %q0\n"
503
+ : "=g"(c)
504
+ : "g"(p0), "g"(p1), "g"(p2), "g"(p3), "g"(p4), "D"(r), "i"(SECP256K1_N_C_0), "i"(SECP256K1_N_C_1)
505
+ : "rax", "rdx", "r8", "r9", "r10", "cc", "memory");
506
+ #else
507
+ uint128_t c;
508
+ uint64_t c0, c1, c2;
509
+ uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7];
510
+ uint64_t m0, m1, m2, m3, m4, m5;
511
+ uint32_t m6;
512
+ uint64_t p0, p1, p2, p3;
513
+ uint32_t p4;
514
+
515
+ /* Reduce 512 bits into 385. */
516
+ /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */
517
+ c0 = l[0]; c1 = 0; c2 = 0;
518
+ muladd_fast(n0, SECP256K1_N_C_0);
519
+ extract_fast(m0);
520
+ sumadd_fast(l[1]);
521
+ muladd(n1, SECP256K1_N_C_0);
522
+ muladd(n0, SECP256K1_N_C_1);
523
+ extract(m1);
524
+ sumadd(l[2]);
525
+ muladd(n2, SECP256K1_N_C_0);
526
+ muladd(n1, SECP256K1_N_C_1);
527
+ sumadd(n0);
528
+ extract(m2);
529
+ sumadd(l[3]);
530
+ muladd(n3, SECP256K1_N_C_0);
531
+ muladd(n2, SECP256K1_N_C_1);
532
+ sumadd(n1);
533
+ extract(m3);
534
+ muladd(n3, SECP256K1_N_C_1);
535
+ sumadd(n2);
536
+ extract(m4);
537
+ sumadd_fast(n3);
538
+ extract_fast(m5);
539
+ VERIFY_CHECK(c0 <= 1);
540
+ m6 = c0;
541
+
542
+ /* Reduce 385 bits into 258. */
543
+ /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */
544
+ c0 = m0; c1 = 0; c2 = 0;
545
+ muladd_fast(m4, SECP256K1_N_C_0);
546
+ extract_fast(p0);
547
+ sumadd_fast(m1);
548
+ muladd(m5, SECP256K1_N_C_0);
549
+ muladd(m4, SECP256K1_N_C_1);
550
+ extract(p1);
551
+ sumadd(m2);
552
+ muladd(m6, SECP256K1_N_C_0);
553
+ muladd(m5, SECP256K1_N_C_1);
554
+ sumadd(m4);
555
+ extract(p2);
556
+ sumadd_fast(m3);
557
+ muladd_fast(m6, SECP256K1_N_C_1);
558
+ sumadd_fast(m5);
559
+ extract_fast(p3);
560
+ p4 = c0 + m6;
561
+ VERIFY_CHECK(p4 <= 2);
562
+
563
+ /* Reduce 258 bits into 256. */
564
+ /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */
565
+ c = p0 + (uint128_t)SECP256K1_N_C_0 * p4;
566
+ r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64;
567
+ c += p1 + (uint128_t)SECP256K1_N_C_1 * p4;
568
+ r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64;
569
+ c += p2 + (uint128_t)p4;
570
+ r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64;
571
+ c += p3;
572
+ r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64;
573
+ #endif
574
+
575
+ /* Final reduction of r. */
576
+ secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r));
577
+ }
578
+
579
+ static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar *a, const secp256k1_scalar *b) {
580
+ #ifdef USE_ASM_X86_64
581
+ const uint64_t *pb = b->d;
582
+ __asm__ __volatile__(
583
+ /* Preload */
584
+ "movq 0(%%rdi), %%r15\n"
585
+ "movq 8(%%rdi), %%rbx\n"
586
+ "movq 16(%%rdi), %%rcx\n"
587
+ "movq 0(%%rdx), %%r11\n"
588
+ "movq 8(%%rdx), %%r12\n"
589
+ "movq 16(%%rdx), %%r13\n"
590
+ "movq 24(%%rdx), %%r14\n"
591
+ /* (rax,rdx) = a0 * b0 */
592
+ "movq %%r15, %%rax\n"
593
+ "mulq %%r11\n"
594
+ /* Extract l0 */
595
+ "movq %%rax, 0(%%rsi)\n"
596
+ /* (r8,r9,r10) = (rdx) */
597
+ "movq %%rdx, %%r8\n"
598
+ "xorq %%r9, %%r9\n"
599
+ "xorq %%r10, %%r10\n"
600
+ /* (r8,r9,r10) += a0 * b1 */
601
+ "movq %%r15, %%rax\n"
602
+ "mulq %%r12\n"
603
+ "addq %%rax, %%r8\n"
604
+ "adcq %%rdx, %%r9\n"
605
+ "adcq $0, %%r10\n"
606
+ /* (r8,r9,r10) += a1 * b0 */
607
+ "movq %%rbx, %%rax\n"
608
+ "mulq %%r11\n"
609
+ "addq %%rax, %%r8\n"
610
+ "adcq %%rdx, %%r9\n"
611
+ "adcq $0, %%r10\n"
612
+ /* Extract l1 */
613
+ "movq %%r8, 8(%%rsi)\n"
614
+ "xorq %%r8, %%r8\n"
615
+ /* (r9,r10,r8) += a0 * b2 */
616
+ "movq %%r15, %%rax\n"
617
+ "mulq %%r13\n"
618
+ "addq %%rax, %%r9\n"
619
+ "adcq %%rdx, %%r10\n"
620
+ "adcq $0, %%r8\n"
621
+ /* (r9,r10,r8) += a1 * b1 */
622
+ "movq %%rbx, %%rax\n"
623
+ "mulq %%r12\n"
624
+ "addq %%rax, %%r9\n"
625
+ "adcq %%rdx, %%r10\n"
626
+ "adcq $0, %%r8\n"
627
+ /* (r9,r10,r8) += a2 * b0 */
628
+ "movq %%rcx, %%rax\n"
629
+ "mulq %%r11\n"
630
+ "addq %%rax, %%r9\n"
631
+ "adcq %%rdx, %%r10\n"
632
+ "adcq $0, %%r8\n"
633
+ /* Extract l2 */
634
+ "movq %%r9, 16(%%rsi)\n"
635
+ "xorq %%r9, %%r9\n"
636
+ /* (r10,r8,r9) += a0 * b3 */
637
+ "movq %%r15, %%rax\n"
638
+ "mulq %%r14\n"
639
+ "addq %%rax, %%r10\n"
640
+ "adcq %%rdx, %%r8\n"
641
+ "adcq $0, %%r9\n"
642
+ /* Preload a3 */
643
+ "movq 24(%%rdi), %%r15\n"
644
+ /* (r10,r8,r9) += a1 * b2 */
645
+ "movq %%rbx, %%rax\n"
646
+ "mulq %%r13\n"
647
+ "addq %%rax, %%r10\n"
648
+ "adcq %%rdx, %%r8\n"
649
+ "adcq $0, %%r9\n"
650
+ /* (r10,r8,r9) += a2 * b1 */
651
+ "movq %%rcx, %%rax\n"
652
+ "mulq %%r12\n"
653
+ "addq %%rax, %%r10\n"
654
+ "adcq %%rdx, %%r8\n"
655
+ "adcq $0, %%r9\n"
656
+ /* (r10,r8,r9) += a3 * b0 */
657
+ "movq %%r15, %%rax\n"
658
+ "mulq %%r11\n"
659
+ "addq %%rax, %%r10\n"
660
+ "adcq %%rdx, %%r8\n"
661
+ "adcq $0, %%r9\n"
662
+ /* Extract l3 */
663
+ "movq %%r10, 24(%%rsi)\n"
664
+ "xorq %%r10, %%r10\n"
665
+ /* (r8,r9,r10) += a1 * b3 */
666
+ "movq %%rbx, %%rax\n"
667
+ "mulq %%r14\n"
668
+ "addq %%rax, %%r8\n"
669
+ "adcq %%rdx, %%r9\n"
670
+ "adcq $0, %%r10\n"
671
+ /* (r8,r9,r10) += a2 * b2 */
672
+ "movq %%rcx, %%rax\n"
673
+ "mulq %%r13\n"
674
+ "addq %%rax, %%r8\n"
675
+ "adcq %%rdx, %%r9\n"
676
+ "adcq $0, %%r10\n"
677
+ /* (r8,r9,r10) += a3 * b1 */
678
+ "movq %%r15, %%rax\n"
679
+ "mulq %%r12\n"
680
+ "addq %%rax, %%r8\n"
681
+ "adcq %%rdx, %%r9\n"
682
+ "adcq $0, %%r10\n"
683
+ /* Extract l4 */
684
+ "movq %%r8, 32(%%rsi)\n"
685
+ "xorq %%r8, %%r8\n"
686
+ /* (r9,r10,r8) += a2 * b3 */
687
+ "movq %%rcx, %%rax\n"
688
+ "mulq %%r14\n"
689
+ "addq %%rax, %%r9\n"
690
+ "adcq %%rdx, %%r10\n"
691
+ "adcq $0, %%r8\n"
692
+ /* (r9,r10,r8) += a3 * b2 */
693
+ "movq %%r15, %%rax\n"
694
+ "mulq %%r13\n"
695
+ "addq %%rax, %%r9\n"
696
+ "adcq %%rdx, %%r10\n"
697
+ "adcq $0, %%r8\n"
698
+ /* Extract l5 */
699
+ "movq %%r9, 40(%%rsi)\n"
700
+ /* (r10,r8) += a3 * b3 */
701
+ "movq %%r15, %%rax\n"
702
+ "mulq %%r14\n"
703
+ "addq %%rax, %%r10\n"
704
+ "adcq %%rdx, %%r8\n"
705
+ /* Extract l6 */
706
+ "movq %%r10, 48(%%rsi)\n"
707
+ /* Extract l7 */
708
+ "movq %%r8, 56(%%rsi)\n"
709
+ : "+d"(pb)
710
+ : "S"(l), "D"(a->d)
711
+ : "rax", "rbx", "rcx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "cc", "memory");
712
+ #else
713
+ /* 160 bit accumulator. */
714
+ uint64_t c0 = 0, c1 = 0;
715
+ uint32_t c2 = 0;
716
+
717
+ /* l[0..7] = a[0..3] * b[0..3]. */
718
+ muladd_fast(a->d[0], b->d[0]);
719
+ extract_fast(l[0]);
720
+ muladd(a->d[0], b->d[1]);
721
+ muladd(a->d[1], b->d[0]);
722
+ extract(l[1]);
723
+ muladd(a->d[0], b->d[2]);
724
+ muladd(a->d[1], b->d[1]);
725
+ muladd(a->d[2], b->d[0]);
726
+ extract(l[2]);
727
+ muladd(a->d[0], b->d[3]);
728
+ muladd(a->d[1], b->d[2]);
729
+ muladd(a->d[2], b->d[1]);
730
+ muladd(a->d[3], b->d[0]);
731
+ extract(l[3]);
732
+ muladd(a->d[1], b->d[3]);
733
+ muladd(a->d[2], b->d[2]);
734
+ muladd(a->d[3], b->d[1]);
735
+ extract(l[4]);
736
+ muladd(a->d[2], b->d[3]);
737
+ muladd(a->d[3], b->d[2]);
738
+ extract(l[5]);
739
+ muladd_fast(a->d[3], b->d[3]);
740
+ extract_fast(l[6]);
741
+ VERIFY_CHECK(c1 == 0);
742
+ l[7] = c0;
743
+ #endif
744
+ }
745
+
746
+ static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar *a) {
747
+ #ifdef USE_ASM_X86_64
748
+ __asm__ __volatile__(
749
+ /* Preload */
750
+ "movq 0(%%rdi), %%r11\n"
751
+ "movq 8(%%rdi), %%r12\n"
752
+ "movq 16(%%rdi), %%r13\n"
753
+ "movq 24(%%rdi), %%r14\n"
754
+ /* (rax,rdx) = a0 * a0 */
755
+ "movq %%r11, %%rax\n"
756
+ "mulq %%r11\n"
757
+ /* Extract l0 */
758
+ "movq %%rax, 0(%%rsi)\n"
759
+ /* (r8,r9,r10) = (rdx,0) */
760
+ "movq %%rdx, %%r8\n"
761
+ "xorq %%r9, %%r9\n"
762
+ "xorq %%r10, %%r10\n"
763
+ /* (r8,r9,r10) += 2 * a0 * a1 */
764
+ "movq %%r11, %%rax\n"
765
+ "mulq %%r12\n"
766
+ "addq %%rax, %%r8\n"
767
+ "adcq %%rdx, %%r9\n"
768
+ "adcq $0, %%r10\n"
769
+ "addq %%rax, %%r8\n"
770
+ "adcq %%rdx, %%r9\n"
771
+ "adcq $0, %%r10\n"
772
+ /* Extract l1 */
773
+ "movq %%r8, 8(%%rsi)\n"
774
+ "xorq %%r8, %%r8\n"
775
+ /* (r9,r10,r8) += 2 * a0 * a2 */
776
+ "movq %%r11, %%rax\n"
777
+ "mulq %%r13\n"
778
+ "addq %%rax, %%r9\n"
779
+ "adcq %%rdx, %%r10\n"
780
+ "adcq $0, %%r8\n"
781
+ "addq %%rax, %%r9\n"
782
+ "adcq %%rdx, %%r10\n"
783
+ "adcq $0, %%r8\n"
784
+ /* (r9,r10,r8) += a1 * a1 */
785
+ "movq %%r12, %%rax\n"
786
+ "mulq %%r12\n"
787
+ "addq %%rax, %%r9\n"
788
+ "adcq %%rdx, %%r10\n"
789
+ "adcq $0, %%r8\n"
790
+ /* Extract l2 */
791
+ "movq %%r9, 16(%%rsi)\n"
792
+ "xorq %%r9, %%r9\n"
793
+ /* (r10,r8,r9) += 2 * a0 * a3 */
794
+ "movq %%r11, %%rax\n"
795
+ "mulq %%r14\n"
796
+ "addq %%rax, %%r10\n"
797
+ "adcq %%rdx, %%r8\n"
798
+ "adcq $0, %%r9\n"
799
+ "addq %%rax, %%r10\n"
800
+ "adcq %%rdx, %%r8\n"
801
+ "adcq $0, %%r9\n"
802
+ /* (r10,r8,r9) += 2 * a1 * a2 */
803
+ "movq %%r12, %%rax\n"
804
+ "mulq %%r13\n"
805
+ "addq %%rax, %%r10\n"
806
+ "adcq %%rdx, %%r8\n"
807
+ "adcq $0, %%r9\n"
808
+ "addq %%rax, %%r10\n"
809
+ "adcq %%rdx, %%r8\n"
810
+ "adcq $0, %%r9\n"
811
+ /* Extract l3 */
812
+ "movq %%r10, 24(%%rsi)\n"
813
+ "xorq %%r10, %%r10\n"
814
+ /* (r8,r9,r10) += 2 * a1 * a3 */
815
+ "movq %%r12, %%rax\n"
816
+ "mulq %%r14\n"
817
+ "addq %%rax, %%r8\n"
818
+ "adcq %%rdx, %%r9\n"
819
+ "adcq $0, %%r10\n"
820
+ "addq %%rax, %%r8\n"
821
+ "adcq %%rdx, %%r9\n"
822
+ "adcq $0, %%r10\n"
823
+ /* (r8,r9,r10) += a2 * a2 */
824
+ "movq %%r13, %%rax\n"
825
+ "mulq %%r13\n"
826
+ "addq %%rax, %%r8\n"
827
+ "adcq %%rdx, %%r9\n"
828
+ "adcq $0, %%r10\n"
829
+ /* Extract l4 */
830
+ "movq %%r8, 32(%%rsi)\n"
831
+ "xorq %%r8, %%r8\n"
832
+ /* (r9,r10,r8) += 2 * a2 * a3 */
833
+ "movq %%r13, %%rax\n"
834
+ "mulq %%r14\n"
835
+ "addq %%rax, %%r9\n"
836
+ "adcq %%rdx, %%r10\n"
837
+ "adcq $0, %%r8\n"
838
+ "addq %%rax, %%r9\n"
839
+ "adcq %%rdx, %%r10\n"
840
+ "adcq $0, %%r8\n"
841
+ /* Extract l5 */
842
+ "movq %%r9, 40(%%rsi)\n"
843
+ /* (r10,r8) += a3 * a3 */
844
+ "movq %%r14, %%rax\n"
845
+ "mulq %%r14\n"
846
+ "addq %%rax, %%r10\n"
847
+ "adcq %%rdx, %%r8\n"
848
+ /* Extract l6 */
849
+ "movq %%r10, 48(%%rsi)\n"
850
+ /* Extract l7 */
851
+ "movq %%r8, 56(%%rsi)\n"
852
+ :
853
+ : "S"(l), "D"(a->d)
854
+ : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc", "memory");
855
+ #else
856
+ /* 160 bit accumulator. */
857
+ uint64_t c0 = 0, c1 = 0;
858
+ uint32_t c2 = 0;
859
+
860
+ /* l[0..7] = a[0..3] * b[0..3]. */
861
+ muladd_fast(a->d[0], a->d[0]);
862
+ extract_fast(l[0]);
863
+ muladd2(a->d[0], a->d[1]);
864
+ extract(l[1]);
865
+ muladd2(a->d[0], a->d[2]);
866
+ muladd(a->d[1], a->d[1]);
867
+ extract(l[2]);
868
+ muladd2(a->d[0], a->d[3]);
869
+ muladd2(a->d[1], a->d[2]);
870
+ extract(l[3]);
871
+ muladd2(a->d[1], a->d[3]);
872
+ muladd(a->d[2], a->d[2]);
873
+ extract(l[4]);
874
+ muladd2(a->d[2], a->d[3]);
875
+ extract(l[5]);
876
+ muladd_fast(a->d[3], a->d[3]);
877
+ extract_fast(l[6]);
878
+ VERIFY_CHECK(c1 == 0);
879
+ l[7] = c0;
880
+ #endif
881
+ }
882
+
883
+ #undef sumadd
884
+ #undef sumadd_fast
885
+ #undef muladd
886
+ #undef muladd_fast
887
+ #undef muladd2
888
+ #undef extract
889
+ #undef extract_fast
890
+
891
+ static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) {
892
+ uint64_t l[8];
893
+ secp256k1_scalar_mul_512(l, a, b);
894
+ secp256k1_scalar_reduce_512(r, l);
895
+ }
896
+
897
+ static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
898
+ int ret;
899
+ VERIFY_CHECK(n > 0);
900
+ VERIFY_CHECK(n < 16);
901
+ ret = r->d[0] & ((1 << n) - 1);
902
+ r->d[0] = (r->d[0] >> n) + (r->d[1] << (64 - n));
903
+ r->d[1] = (r->d[1] >> n) + (r->d[2] << (64 - n));
904
+ r->d[2] = (r->d[2] >> n) + (r->d[3] << (64 - n));
905
+ r->d[3] = (r->d[3] >> n);
906
+ return ret;
907
+ }
908
+
909
+ static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) {
910
+ uint64_t l[8];
911
+ secp256k1_scalar_sqr_512(l, a);
912
+ secp256k1_scalar_reduce_512(r, l);
913
+ }
914
+
915
+ #ifdef USE_ENDOMORPHISM
916
+ static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) {
917
+ r1->d[0] = a->d[0];
918
+ r1->d[1] = a->d[1];
919
+ r1->d[2] = 0;
920
+ r1->d[3] = 0;
921
+ r2->d[0] = a->d[2];
922
+ r2->d[1] = a->d[3];
923
+ r2->d[2] = 0;
924
+ r2->d[3] = 0;
925
+ }
926
+ #endif
927
+
928
+ SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) {
929
+ return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0;
930
+ }
931
+
932
+ SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) {
933
+ uint64_t l[8];
934
+ unsigned int shiftlimbs;
935
+ unsigned int shiftlow;
936
+ unsigned int shifthigh;
937
+ VERIFY_CHECK(shift >= 256);
938
+ secp256k1_scalar_mul_512(l, a, b);
939
+ shiftlimbs = shift >> 6;
940
+ shiftlow = shift & 0x3F;
941
+ shifthigh = 64 - shiftlow;
942
+ r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
943
+ r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0;
944
+ r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0;
945
+ r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0;
946
+ secp256k1_scalar_cadd_bit(r, 0, (l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1);
947
+ }
948
+
949
+ #endif /* SECP256K1_SCALAR_REPR_IMPL_H */