waves_lib 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1222) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/CHANGELOG.md +5 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/LICENSE.txt +19 -0
  7. data/README.md +39 -0
  8. data/Rakefile +12 -0
  9. data/js/node_modules/@protobufjs/aspromise/LICENSE +26 -0
  10. data/js/node_modules/@protobufjs/aspromise/README.md +13 -0
  11. data/js/node_modules/@protobufjs/aspromise/index.d.ts +13 -0
  12. data/js/node_modules/@protobufjs/aspromise/index.js +52 -0
  13. data/js/node_modules/@protobufjs/aspromise/package.json +21 -0
  14. data/js/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
  15. data/js/node_modules/@protobufjs/base64/LICENSE +26 -0
  16. data/js/node_modules/@protobufjs/base64/README.md +19 -0
  17. data/js/node_modules/@protobufjs/base64/index.d.ts +32 -0
  18. data/js/node_modules/@protobufjs/base64/index.js +139 -0
  19. data/js/node_modules/@protobufjs/base64/package.json +21 -0
  20. data/js/node_modules/@protobufjs/base64/tests/index.js +46 -0
  21. data/js/node_modules/@protobufjs/codegen/LICENSE +26 -0
  22. data/js/node_modules/@protobufjs/codegen/README.md +49 -0
  23. data/js/node_modules/@protobufjs/codegen/index.d.ts +31 -0
  24. data/js/node_modules/@protobufjs/codegen/index.js +99 -0
  25. data/js/node_modules/@protobufjs/codegen/package.json +13 -0
  26. data/js/node_modules/@protobufjs/codegen/tests/index.js +13 -0
  27. data/js/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
  28. data/js/node_modules/@protobufjs/eventemitter/README.md +22 -0
  29. data/js/node_modules/@protobufjs/eventemitter/index.d.ts +43 -0
  30. data/js/node_modules/@protobufjs/eventemitter/index.js +76 -0
  31. data/js/node_modules/@protobufjs/eventemitter/package.json +21 -0
  32. data/js/node_modules/@protobufjs/eventemitter/tests/index.js +47 -0
  33. data/js/node_modules/@protobufjs/fetch/LICENSE +26 -0
  34. data/js/node_modules/@protobufjs/fetch/README.md +13 -0
  35. data/js/node_modules/@protobufjs/fetch/index.d.ts +56 -0
  36. data/js/node_modules/@protobufjs/fetch/index.js +115 -0
  37. data/js/node_modules/@protobufjs/fetch/package.json +25 -0
  38. data/js/node_modules/@protobufjs/fetch/tests/index.js +16 -0
  39. data/js/node_modules/@protobufjs/float/LICENSE +26 -0
  40. data/js/node_modules/@protobufjs/float/README.md +102 -0
  41. data/js/node_modules/@protobufjs/float/bench/index.js +87 -0
  42. data/js/node_modules/@protobufjs/float/bench/suite.js +46 -0
  43. data/js/node_modules/@protobufjs/float/index.d.ts +83 -0
  44. data/js/node_modules/@protobufjs/float/index.js +335 -0
  45. data/js/node_modules/@protobufjs/float/package.json +26 -0
  46. data/js/node_modules/@protobufjs/float/tests/index.js +100 -0
  47. data/js/node_modules/@protobufjs/inquire/LICENSE +26 -0
  48. data/js/node_modules/@protobufjs/inquire/README.md +13 -0
  49. data/js/node_modules/@protobufjs/inquire/index.d.ts +9 -0
  50. data/js/node_modules/@protobufjs/inquire/index.js +17 -0
  51. data/js/node_modules/@protobufjs/inquire/package.json +21 -0
  52. data/js/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
  53. data/js/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
  54. data/js/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
  55. data/js/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
  56. data/js/node_modules/@protobufjs/inquire/tests/index.js +20 -0
  57. data/js/node_modules/@protobufjs/path/LICENSE +26 -0
  58. data/js/node_modules/@protobufjs/path/README.md +19 -0
  59. data/js/node_modules/@protobufjs/path/index.d.ts +22 -0
  60. data/js/node_modules/@protobufjs/path/index.js +65 -0
  61. data/js/node_modules/@protobufjs/path/package.json +21 -0
  62. data/js/node_modules/@protobufjs/path/tests/index.js +60 -0
  63. data/js/node_modules/@protobufjs/pool/LICENSE +26 -0
  64. data/js/node_modules/@protobufjs/pool/README.md +13 -0
  65. data/js/node_modules/@protobufjs/pool/index.d.ts +32 -0
  66. data/js/node_modules/@protobufjs/pool/index.js +48 -0
  67. data/js/node_modules/@protobufjs/pool/package.json +21 -0
  68. data/js/node_modules/@protobufjs/pool/tests/index.js +33 -0
  69. data/js/node_modules/@protobufjs/utf8/LICENSE +26 -0
  70. data/js/node_modules/@protobufjs/utf8/README.md +20 -0
  71. data/js/node_modules/@protobufjs/utf8/index.d.ts +24 -0
  72. data/js/node_modules/@protobufjs/utf8/index.js +105 -0
  73. data/js/node_modules/@protobufjs/utf8/package.json +21 -0
  74. data/js/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
  75. data/js/node_modules/@protobufjs/utf8/tests/index.js +57 -0
  76. data/js/node_modules/@types/base64-js/LICENSE +21 -0
  77. data/js/node_modules/@types/base64-js/README.md +16 -0
  78. data/js/node_modules/@types/base64-js/index.d.ts +23 -0
  79. data/js/node_modules/@types/base64-js/package.json +29 -0
  80. data/js/node_modules/@types/long/LICENSE +21 -0
  81. data/js/node_modules/@types/long/README.md +16 -0
  82. data/js/node_modules/@types/long/index.d.ts +389 -0
  83. data/js/node_modules/@types/long/package.json +25 -0
  84. data/js/node_modules/@types/node/LICENSE +21 -0
  85. data/js/node_modules/@types/node/README.md +16 -0
  86. data/js/node_modules/@types/node/assert/strict.d.ts +8 -0
  87. data/js/node_modules/@types/node/assert.d.ts +972 -0
  88. data/js/node_modules/@types/node/async_hooks.d.ts +530 -0
  89. data/js/node_modules/@types/node/buffer.d.ts +2354 -0
  90. data/js/node_modules/@types/node/child_process.d.ts +1395 -0
  91. data/js/node_modules/@types/node/cluster.d.ts +414 -0
  92. data/js/node_modules/@types/node/console.d.ts +412 -0
  93. data/js/node_modules/@types/node/constants.d.ts +18 -0
  94. data/js/node_modules/@types/node/crypto.d.ts +3978 -0
  95. data/js/node_modules/@types/node/dgram.d.ts +545 -0
  96. data/js/node_modules/@types/node/diagnostics_channel.d.ts +191 -0
  97. data/js/node_modules/@types/node/dns/promises.d.ts +414 -0
  98. data/js/node_modules/@types/node/dns.d.ts +668 -0
  99. data/js/node_modules/@types/node/dom-events.d.ts +126 -0
  100. data/js/node_modules/@types/node/domain.d.ts +170 -0
  101. data/js/node_modules/@types/node/events.d.ts +724 -0
  102. data/js/node_modules/@types/node/fs/promises.d.ts +1190 -0
  103. data/js/node_modules/@types/node/fs.d.ts +4044 -0
  104. data/js/node_modules/@types/node/globals.d.ts +303 -0
  105. data/js/node_modules/@types/node/globals.global.d.ts +1 -0
  106. data/js/node_modules/@types/node/http.d.ts +1724 -0
  107. data/js/node_modules/@types/node/http2.d.ts +2129 -0
  108. data/js/node_modules/@types/node/https.d.ts +441 -0
  109. data/js/node_modules/@types/node/index.d.ts +134 -0
  110. data/js/node_modules/@types/node/inspector.d.ts +2748 -0
  111. data/js/node_modules/@types/node/module.d.ts +129 -0
  112. data/js/node_modules/@types/node/net.d.ts +888 -0
  113. data/js/node_modules/@types/node/os.d.ts +477 -0
  114. data/js/node_modules/@types/node/package.json +237 -0
  115. data/js/node_modules/@types/node/path.d.ts +191 -0
  116. data/js/node_modules/@types/node/perf_hooks.d.ts +638 -0
  117. data/js/node_modules/@types/node/process.d.ts +1494 -0
  118. data/js/node_modules/@types/node/punycode.d.ts +117 -0
  119. data/js/node_modules/@types/node/querystring.d.ts +131 -0
  120. data/js/node_modules/@types/node/readline/promises.d.ts +145 -0
  121. data/js/node_modules/@types/node/readline.d.ts +526 -0
  122. data/js/node_modules/@types/node/repl.d.ts +424 -0
  123. data/js/node_modules/@types/node/stream/consumers.d.ts +12 -0
  124. data/js/node_modules/@types/node/stream/promises.d.ts +42 -0
  125. data/js/node_modules/@types/node/stream/web.d.ts +330 -0
  126. data/js/node_modules/@types/node/stream.d.ts +1421 -0
  127. data/js/node_modules/@types/node/string_decoder.d.ts +67 -0
  128. data/js/node_modules/@types/node/test.d.ts +1383 -0
  129. data/js/node_modules/@types/node/timers/promises.d.ts +93 -0
  130. data/js/node_modules/@types/node/timers.d.ts +215 -0
  131. data/js/node_modules/@types/node/tls.d.ts +1130 -0
  132. data/js/node_modules/@types/node/trace_events.d.ts +182 -0
  133. data/js/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  134. data/js/node_modules/@types/node/ts4.8/assert.d.ts +972 -0
  135. data/js/node_modules/@types/node/ts4.8/async_hooks.d.ts +530 -0
  136. data/js/node_modules/@types/node/ts4.8/buffer.d.ts +2354 -0
  137. data/js/node_modules/@types/node/ts4.8/child_process.d.ts +1395 -0
  138. data/js/node_modules/@types/node/ts4.8/cluster.d.ts +414 -0
  139. data/js/node_modules/@types/node/ts4.8/console.d.ts +412 -0
  140. data/js/node_modules/@types/node/ts4.8/constants.d.ts +18 -0
  141. data/js/node_modules/@types/node/ts4.8/crypto.d.ts +3977 -0
  142. data/js/node_modules/@types/node/ts4.8/dgram.d.ts +545 -0
  143. data/js/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +191 -0
  144. data/js/node_modules/@types/node/ts4.8/dns/promises.d.ts +414 -0
  145. data/js/node_modules/@types/node/ts4.8/dns.d.ts +668 -0
  146. data/js/node_modules/@types/node/ts4.8/dom-events.d.ts +126 -0
  147. data/js/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  148. data/js/node_modules/@types/node/ts4.8/events.d.ts +724 -0
  149. data/js/node_modules/@types/node/ts4.8/fs/promises.d.ts +1189 -0
  150. data/js/node_modules/@types/node/ts4.8/fs.d.ts +4044 -0
  151. data/js/node_modules/@types/node/ts4.8/globals.d.ts +303 -0
  152. data/js/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  153. data/js/node_modules/@types/node/ts4.8/http.d.ts +1724 -0
  154. data/js/node_modules/@types/node/ts4.8/http2.d.ts +2129 -0
  155. data/js/node_modules/@types/node/ts4.8/https.d.ts +441 -0
  156. data/js/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  157. data/js/node_modules/@types/node/ts4.8/inspector.d.ts +2748 -0
  158. data/js/node_modules/@types/node/ts4.8/module.d.ts +129 -0
  159. data/js/node_modules/@types/node/ts4.8/net.d.ts +888 -0
  160. data/js/node_modules/@types/node/ts4.8/os.d.ts +477 -0
  161. data/js/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  162. data/js/node_modules/@types/node/ts4.8/perf_hooks.d.ts +638 -0
  163. data/js/node_modules/@types/node/ts4.8/process.d.ts +1494 -0
  164. data/js/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  165. data/js/node_modules/@types/node/ts4.8/querystring.d.ts +131 -0
  166. data/js/node_modules/@types/node/ts4.8/readline/promises.d.ts +145 -0
  167. data/js/node_modules/@types/node/ts4.8/readline.d.ts +526 -0
  168. data/js/node_modules/@types/node/ts4.8/repl.d.ts +424 -0
  169. data/js/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  170. data/js/node_modules/@types/node/ts4.8/stream/promises.d.ts +42 -0
  171. data/js/node_modules/@types/node/ts4.8/stream/web.d.ts +330 -0
  172. data/js/node_modules/@types/node/ts4.8/stream.d.ts +1392 -0
  173. data/js/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  174. data/js/node_modules/@types/node/ts4.8/test.d.ts +1365 -0
  175. data/js/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
  176. data/js/node_modules/@types/node/ts4.8/timers.d.ts +215 -0
  177. data/js/node_modules/@types/node/ts4.8/tls.d.ts +1130 -0
  178. data/js/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
  179. data/js/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
  180. data/js/node_modules/@types/node/ts4.8/url.d.ts +901 -0
  181. data/js/node_modules/@types/node/ts4.8/util.d.ts +2116 -0
  182. data/js/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
  183. data/js/node_modules/@types/node/ts4.8/vm.d.ts +894 -0
  184. data/js/node_modules/@types/node/ts4.8/wasi.d.ts +152 -0
  185. data/js/node_modules/@types/node/ts4.8/worker_threads.d.ts +693 -0
  186. data/js/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  187. data/js/node_modules/@types/node/tty.d.ts +208 -0
  188. data/js/node_modules/@types/node/url.d.ts +901 -0
  189. data/js/node_modules/@types/node/util.d.ts +2116 -0
  190. data/js/node_modules/@types/node/v8.d.ts +635 -0
  191. data/js/node_modules/@types/node/vm.d.ts +894 -0
  192. data/js/node_modules/@types/node/wasi.d.ts +152 -0
  193. data/js/node_modules/@types/node/worker_threads.d.ts +693 -0
  194. data/js/node_modules/@types/node/zlib.d.ts +517 -0
  195. data/js/node_modules/@types/node-fetch/LICENSE +21 -0
  196. data/js/node_modules/@types/node-fetch/README.md +16 -0
  197. data/js/node_modules/@types/node-fetch/externals.d.ts +24 -0
  198. data/js/node_modules/@types/node-fetch/index.d.ts +224 -0
  199. data/js/node_modules/@types/node-fetch/package.json +83 -0
  200. data/js/node_modules/@waves/bignumber/dist/BigNumber.d.ts +74 -0
  201. data/js/node_modules/@waves/bignumber/dist/BigNumber.js +252 -0
  202. data/js/node_modules/@waves/bignumber/dist/BigNumber.js.map +1 -0
  203. data/js/node_modules/@waves/bignumber/dist/Config.d.ts +22 -0
  204. data/js/node_modules/@waves/bignumber/dist/Config.js +43 -0
  205. data/js/node_modules/@waves/bignumber/dist/Config.js.map +1 -0
  206. data/js/node_modules/@waves/bignumber/dist/bignumber.umd.js +3194 -0
  207. data/js/node_modules/@waves/bignumber/dist/bignumber.umd.min.js +1 -0
  208. data/js/node_modules/@waves/bignumber/dist/index.d.ts +3 -0
  209. data/js/node_modules/@waves/bignumber/dist/index.js +9 -0
  210. data/js/node_modules/@waves/bignumber/dist/index.js.map +1 -0
  211. data/js/node_modules/@waves/bignumber/package.json +64 -0
  212. data/js/node_modules/@waves/bignumber/readme.md +285 -0
  213. data/js/node_modules/@waves/marshall/LICENSE +9 -0
  214. data/js/node_modules/@waves/marshall/README.md +39 -0
  215. data/js/node_modules/@waves/marshall/dist/index.d.ts +26 -0
  216. data/js/node_modules/@waves/marshall/dist/index.js +45 -0
  217. data/js/node_modules/@waves/marshall/dist/index.js.map +1 -0
  218. data/js/node_modules/@waves/marshall/dist/jsonMethods.d.ts +36 -0
  219. data/js/node_modules/@waves/marshall/dist/jsonMethods.js +194 -0
  220. data/js/node_modules/@waves/marshall/dist/jsonMethods.js.map +1 -0
  221. data/js/node_modules/@waves/marshall/dist/libs/Utf8ArrayToStr.d.ts +1 -0
  222. data/js/node_modules/@waves/marshall/dist/libs/Utf8ArrayToStr.js +35 -0
  223. data/js/node_modules/@waves/marshall/dist/libs/Utf8ArrayToStr.js.map +1 -0
  224. data/js/node_modules/@waves/marshall/dist/libs/base58.d.ts +5 -0
  225. data/js/node_modules/@waves/marshall/dist/libs/base58.js +66 -0
  226. data/js/node_modules/@waves/marshall/dist/libs/base58.js.map +1 -0
  227. data/js/node_modules/@waves/marshall/dist/libs/utils.d.ts +2 -0
  228. data/js/node_modules/@waves/marshall/dist/libs/utils.js +6 -0
  229. data/js/node_modules/@waves/marshall/dist/libs/utils.js.map +1 -0
  230. data/js/node_modules/@waves/marshall/dist/min/waves-marshall.min.js +1 -0
  231. data/js/node_modules/@waves/marshall/dist/parse.d.ts +21 -0
  232. data/js/node_modules/@waves/marshall/dist/parse.js +142 -0
  233. data/js/node_modules/@waves/marshall/dist/parse.js.map +1 -0
  234. data/js/node_modules/@waves/marshall/dist/parsePrimitives.d.ts +57 -0
  235. data/js/node_modules/@waves/marshall/dist/parsePrimitives.js +96 -0
  236. data/js/node_modules/@waves/marshall/dist/parsePrimitives.js.map +1 -0
  237. data/js/node_modules/@waves/marshall/dist/schemaTypes.d.ts +62 -0
  238. data/js/node_modules/@waves/marshall/dist/schemaTypes.js +41 -0
  239. data/js/node_modules/@waves/marshall/dist/schemaTypes.js.map +1 -0
  240. data/js/node_modules/@waves/marshall/dist/schemas.d.ts +128 -0
  241. data/js/node_modules/@waves/marshall/dist/schemas.js +542 -0
  242. data/js/node_modules/@waves/marshall/dist/schemas.js.map +1 -0
  243. data/js/node_modules/@waves/marshall/dist/serialize.d.ts +11 -0
  244. data/js/node_modules/@waves/marshall/dist/serialize.js +102 -0
  245. data/js/node_modules/@waves/marshall/dist/serialize.js.map +1 -0
  246. data/js/node_modules/@waves/marshall/dist/serializePrimitives.d.ts +21 -0
  247. data/js/node_modules/@waves/marshall/dist/serializePrimitives.js +63 -0
  248. data/js/node_modules/@waves/marshall/dist/serializePrimitives.js.map +1 -0
  249. data/js/node_modules/@waves/marshall/package.json +45 -0
  250. data/js/node_modules/@waves/marshall/src/index.ts +51 -0
  251. data/js/node_modules/@waves/marshall/src/jsonMethods.ts +231 -0
  252. data/js/node_modules/@waves/marshall/src/libs/Utf8ArrayToStr.ts +35 -0
  253. data/js/node_modules/@waves/marshall/src/libs/base58.ts +88 -0
  254. data/js/node_modules/@waves/marshall/src/libs/utils.ts +6 -0
  255. data/js/node_modules/@waves/marshall/src/parse.ts +157 -0
  256. data/js/node_modules/@waves/marshall/src/parsePrimitives.ts +118 -0
  257. data/js/node_modules/@waves/marshall/src/schemaTypes.ts +91 -0
  258. data/js/node_modules/@waves/marshall/src/schemas.ts +630 -0
  259. data/js/node_modules/@waves/marshall/src/serialize.ts +110 -0
  260. data/js/node_modules/@waves/marshall/src/serializePrimitives.ts +80 -0
  261. data/js/node_modules/@waves/node-api-js/README.md +2 -0
  262. data/js/node_modules/@waves/node-api-js/cjs/api-node/activation/index.d.ts +21 -0
  263. data/js/node_modules/@waves/node-api-js/cjs/api-node/activation/index.js +20 -0
  264. data/js/node_modules/@waves/node-api-js/cjs/api-node/activation/index.js.map +1 -0
  265. data/js/node_modules/@waves/node-api-js/cjs/api-node/addresses/index.d.ts +81 -0
  266. data/js/node_modules/@waves/node-api-js/cjs/api-node/addresses/index.js +174 -0
  267. data/js/node_modules/@waves/node-api-js/cjs/api-node/addresses/index.js.map +1 -0
  268. data/js/node_modules/@waves/node-api-js/cjs/api-node/alias/index.d.ts +6 -0
  269. data/js/node_modules/@waves/node-api-js/cjs/api-node/alias/index.js +22 -0
  270. data/js/node_modules/@waves/node-api-js/cjs/api-node/alias/index.js.map +1 -0
  271. data/js/node_modules/@waves/node-api-js/cjs/api-node/assets/index.d.ts +79 -0
  272. data/js/node_modules/@waves/node-api-js/cjs/api-node/assets/index.js +172 -0
  273. data/js/node_modules/@waves/node-api-js/cjs/api-node/assets/index.js.map +1 -0
  274. data/js/node_modules/@waves/node-api-js/cjs/api-node/blocks/index.d.ts +131 -0
  275. data/js/node_modules/@waves/node-api-js/cjs/api-node/blocks/index.js +210 -0
  276. data/js/node_modules/@waves/node-api-js/cjs/api-node/blocks/index.js.map +1 -0
  277. data/js/node_modules/@waves/node-api-js/cjs/api-node/consensus/index.d.ts +39 -0
  278. data/js/node_modules/@waves/node-api-js/cjs/api-node/consensus/index.js +37 -0
  279. data/js/node_modules/@waves/node-api-js/cjs/api-node/consensus/index.js.map +1 -0
  280. data/js/node_modules/@waves/node-api-js/cjs/api-node/debug/index.d.ts +189 -0
  281. data/js/node_modules/@waves/node-api-js/cjs/api-node/debug/index.js +245 -0
  282. data/js/node_modules/@waves/node-api-js/cjs/api-node/debug/index.js.map +1 -0
  283. data/js/node_modules/@waves/node-api-js/cjs/api-node/eth/index.d.ts +3 -0
  284. data/js/node_modules/@waves/node-api-js/cjs/api-node/eth/index.js +15 -0
  285. data/js/node_modules/@waves/node-api-js/cjs/api-node/eth/index.js.map +1 -0
  286. data/js/node_modules/@waves/node-api-js/cjs/api-node/leasing/index.d.ts +22 -0
  287. data/js/node_modules/@waves/node-api-js/cjs/api-node/leasing/index.js +42 -0
  288. data/js/node_modules/@waves/node-api-js/cjs/api-node/leasing/index.js.map +1 -0
  289. data/js/node_modules/@waves/node-api-js/cjs/api-node/node/index.d.ts +11 -0
  290. data/js/node_modules/@waves/node-api-js/cjs/api-node/node/index.js +20 -0
  291. data/js/node_modules/@waves/node-api-js/cjs/api-node/node/index.js.map +1 -0
  292. data/js/node_modules/@waves/node-api-js/cjs/api-node/peers/index.d.ts +46 -0
  293. data/js/node_modules/@waves/node-api-js/cjs/api-node/peers/index.js +60 -0
  294. data/js/node_modules/@waves/node-api-js/cjs/api-node/peers/index.js.map +1 -0
  295. data/js/node_modules/@waves/node-api-js/cjs/api-node/rewards/index.d.ts +21 -0
  296. data/js/node_modules/@waves/node-api-js/cjs/api-node/rewards/index.js +21 -0
  297. data/js/node_modules/@waves/node-api-js/cjs/api-node/rewards/index.js.map +1 -0
  298. data/js/node_modules/@waves/node-api-js/cjs/api-node/transactions/index.d.ts +73 -0
  299. data/js/node_modules/@waves/node-api-js/cjs/api-node/transactions/index.js +193 -0
  300. data/js/node_modules/@waves/node-api-js/cjs/api-node/transactions/index.js.map +1 -0
  301. data/js/node_modules/@waves/node-api-js/cjs/api-node/utils/index.d.ts +110 -0
  302. data/js/node_modules/@waves/node-api-js/cjs/api-node/utils/index.js +211 -0
  303. data/js/node_modules/@waves/node-api-js/cjs/api-node/utils/index.js.map +1 -0
  304. data/js/node_modules/@waves/node-api-js/cjs/api-node/wallet/index.d.ts +5 -0
  305. data/js/node_modules/@waves/node-api-js/cjs/api-node/wallet/index.js +7 -0
  306. data/js/node_modules/@waves/node-api-js/cjs/api-node/wallet/index.js.map +1 -0
  307. data/js/node_modules/@waves/node-api-js/cjs/constants.d.ts +40 -0
  308. data/js/node_modules/@waves/node-api-js/cjs/constants.js +43 -0
  309. data/js/node_modules/@waves/node-api-js/cjs/constants.js.map +1 -0
  310. data/js/node_modules/@waves/node-api-js/cjs/create.d.ts +1240 -0
  311. data/js/node_modules/@waves/node-api-js/cjs/create.js +119 -0
  312. data/js/node_modules/@waves/node-api-js/cjs/create.js.map +1 -0
  313. data/js/node_modules/@waves/node-api-js/cjs/index.d.ts +9 -0
  314. data/js/node_modules/@waves/node-api-js/cjs/index.js +18 -0
  315. data/js/node_modules/@waves/node-api-js/cjs/index.js.map +1 -0
  316. data/js/node_modules/@waves/node-api-js/cjs/interface.d.ts +44 -0
  317. data/js/node_modules/@waves/node-api-js/cjs/interface.js +10 -0
  318. data/js/node_modules/@waves/node-api-js/cjs/interface.js.map +1 -0
  319. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/availableSponsoredBalances.d.ts +7 -0
  320. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/availableSponsoredBalances.js +30 -0
  321. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/availableSponsoredBalances.js.map +1 -0
  322. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/ethAddress2waves.d.ts +1 -0
  323. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/ethAddress2waves.js +47 -0
  324. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/ethAddress2waves.js.map +1 -0
  325. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetIdListByTx.d.ts +2 -0
  326. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetIdListByTx.js +48 -0
  327. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetIdListByTx.js.map +1 -0
  328. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetsByTransaction.d.ts +3 -0
  329. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetsByTransaction.js +14 -0
  330. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getAssetsByTransaction.js.map +1 -0
  331. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getTransactionsWithAssets.d.ts +6 -0
  332. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getTransactionsWithAssets.js +13 -0
  333. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/getTransactionsWithAssets.js.map +1 -0
  334. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/watch.d.ts +24 -0
  335. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/watch.js +168 -0
  336. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/watch.js.map +1 -0
  337. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/wavesAddress2eth.d.ts +1 -0
  338. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/wavesAddress2eth.js +10 -0
  339. data/js/node_modules/@waves/node-api-js/cjs/tools/adresses/wavesAddress2eth.js.map +1 -0
  340. data/js/node_modules/@waves/node-api-js/cjs/tools/assets/wavesAsset2eth.d.ts +1 -0
  341. data/js/node_modules/@waves/node-api-js/cjs/tools/assets/wavesAsset2eth.js +10 -0
  342. data/js/node_modules/@waves/node-api-js/cjs/tools/assets/wavesAsset2eth.js.map +1 -0
  343. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/detectInterval.d.ts +1 -0
  344. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/detectInterval.js +12 -0
  345. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/detectInterval.js.map +1 -0
  346. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkByte.d.ts +1 -0
  347. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkByte.js +54 -0
  348. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkByte.js.map +1 -0
  349. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkCode.d.ts +1 -0
  350. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkCode.js +11 -0
  351. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/getNetworkCode.js.map +1 -0
  352. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/waitHeight.d.ts +3 -0
  353. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/waitHeight.js +65 -0
  354. data/js/node_modules/@waves/node-api-js/cjs/tools/blocks/waitHeight.js.map +1 -0
  355. data/js/node_modules/@waves/node-api-js/cjs/tools/parse.d.ts +1 -0
  356. data/js/node_modules/@waves/node-api-js/cjs/tools/parse.js +8 -0
  357. data/js/node_modules/@waves/node-api-js/cjs/tools/parse.js.map +1 -0
  358. data/js/node_modules/@waves/node-api-js/cjs/tools/query.d.ts +4 -0
  359. data/js/node_modules/@waves/node-api-js/cjs/tools/query.js +41 -0
  360. data/js/node_modules/@waves/node-api-js/cjs/tools/query.js.map +1 -0
  361. data/js/node_modules/@waves/node-api-js/cjs/tools/request.d.ts +64 -0
  362. data/js/node_modules/@waves/node-api-js/cjs/tools/request.js +42 -0
  363. data/js/node_modules/@waves/node-api-js/cjs/tools/request.js.map +1 -0
  364. data/js/node_modules/@waves/node-api-js/cjs/tools/resolve.d.ts +1 -0
  365. data/js/node_modules/@waves/node-api-js/cjs/tools/resolve.js +7 -0
  366. data/js/node_modules/@waves/node-api-js/cjs/tools/resolve.js.map +1 -0
  367. data/js/node_modules/@waves/node-api-js/cjs/tools/stringify.d.ts +1 -0
  368. data/js/node_modules/@waves/node-api-js/cjs/tools/stringify.js +21 -0
  369. data/js/node_modules/@waves/node-api-js/cjs/tools/stringify.js.map +1 -0
  370. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/broadcast.d.ts +14 -0
  371. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/broadcast.js +60 -0
  372. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/broadcast.js.map +1 -0
  373. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/ethTxId2waves.d.ts +1 -0
  374. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/ethTxId2waves.js +11 -0
  375. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/ethTxId2waves.js.map +1 -0
  376. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/transactions.d.ts +0 -0
  377. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/transactions.js +2 -0
  378. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/transactions.js.map +1 -0
  379. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/wait.d.ts +10 -0
  380. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/wait.js +42 -0
  381. data/js/node_modules/@waves/node-api-js/cjs/tools/transactions/wait.js.map +1 -0
  382. data/js/node_modules/@waves/node-api-js/cjs/tools/utils.d.ts +32 -0
  383. data/js/node_modules/@waves/node-api-js/cjs/tools/utils.js +118 -0
  384. data/js/node_modules/@waves/node-api-js/cjs/tools/utils.js.map +1 -0
  385. data/js/node_modules/@waves/node-api-js/dist/0.node-api.js +467 -0
  386. data/js/node_modules/@waves/node-api-js/dist/node-api.js +30544 -0
  387. data/js/node_modules/@waves/node-api-js/dist/node-api.min.js +26 -0
  388. data/js/node_modules/@waves/node-api-js/dist/node-api.min.js.LICENSE.txt +17 -0
  389. data/js/node_modules/@waves/node-api-js/dist/node_fs-node_path.node-api.js +23 -0
  390. data/js/node_modules/@waves/node-api-js/dist/vendors-node_modules_node-fetch_src_utils_multipart-parser_js.node-api.js +599 -0
  391. data/js/node_modules/@waves/node-api-js/es/api-node/activation/index.d.ts +21 -0
  392. data/js/node_modules/@waves/node-api-js/es/api-node/activation/index.js +13 -0
  393. data/js/node_modules/@waves/node-api-js/es/api-node/activation/index.js.map +1 -0
  394. data/js/node_modules/@waves/node-api-js/es/api-node/addresses/index.d.ts +81 -0
  395. data/js/node_modules/@waves/node-api-js/es/api-node/addresses/index.js +111 -0
  396. data/js/node_modules/@waves/node-api-js/es/api-node/addresses/index.js.map +1 -0
  397. data/js/node_modules/@waves/node-api-js/es/api-node/alias/index.d.ts +6 -0
  398. data/js/node_modules/@waves/node-api-js/es/api-node/alias/index.js +14 -0
  399. data/js/node_modules/@waves/node-api-js/es/api-node/alias/index.js.map +1 -0
  400. data/js/node_modules/@waves/node-api-js/es/api-node/assets/index.d.ts +79 -0
  401. data/js/node_modules/@waves/node-api-js/es/api-node/assets/index.js +103 -0
  402. data/js/node_modules/@waves/node-api-js/es/api-node/assets/index.js.map +1 -0
  403. data/js/node_modules/@waves/node-api-js/es/api-node/blocks/index.d.ts +131 -0
  404. data/js/node_modules/@waves/node-api-js/es/api-node/blocks/index.js +179 -0
  405. data/js/node_modules/@waves/node-api-js/es/api-node/blocks/index.js.map +1 -0
  406. data/js/node_modules/@waves/node-api-js/es/api-node/consensus/index.d.ts +39 -0
  407. data/js/node_modules/@waves/node-api-js/es/api-node/consensus/index.js +27 -0
  408. data/js/node_modules/@waves/node-api-js/es/api-node/consensus/index.js.map +1 -0
  409. data/js/node_modules/@waves/node-api-js/es/api-node/debug/index.d.ts +189 -0
  410. data/js/node_modules/@waves/node-api-js/es/api-node/debug/index.js +201 -0
  411. data/js/node_modules/@waves/node-api-js/es/api-node/debug/index.js.map +1 -0
  412. data/js/node_modules/@waves/node-api-js/es/api-node/eth/index.d.ts +3 -0
  413. data/js/node_modules/@waves/node-api-js/es/api-node/eth/index.js +8 -0
  414. data/js/node_modules/@waves/node-api-js/es/api-node/eth/index.js.map +1 -0
  415. data/js/node_modules/@waves/node-api-js/es/api-node/leasing/index.d.ts +22 -0
  416. data/js/node_modules/@waves/node-api-js/es/api-node/leasing/index.js +22 -0
  417. data/js/node_modules/@waves/node-api-js/es/api-node/leasing/index.js.map +1 -0
  418. data/js/node_modules/@waves/node-api-js/es/api-node/node/index.d.ts +11 -0
  419. data/js/node_modules/@waves/node-api-js/es/api-node/node/index.js +10 -0
  420. data/js/node_modules/@waves/node-api-js/es/api-node/node/index.js.map +1 -0
  421. data/js/node_modules/@waves/node-api-js/es/api-node/peers/index.d.ts +46 -0
  422. data/js/node_modules/@waves/node-api-js/es/api-node/peers/index.js +46 -0
  423. data/js/node_modules/@waves/node-api-js/es/api-node/peers/index.js.map +1 -0
  424. data/js/node_modules/@waves/node-api-js/es/api-node/rewards/index.d.ts +21 -0
  425. data/js/node_modules/@waves/node-api-js/es/api-node/rewards/index.js +13 -0
  426. data/js/node_modules/@waves/node-api-js/es/api-node/rewards/index.js.map +1 -0
  427. data/js/node_modules/@waves/node-api-js/es/api-node/transactions/index.d.ts +73 -0
  428. data/js/node_modules/@waves/node-api-js/es/api-node/transactions/index.js +137 -0
  429. data/js/node_modules/@waves/node-api-js/es/api-node/transactions/index.js.map +1 -0
  430. data/js/node_modules/@waves/node-api-js/es/api-node/utils/index.d.ts +110 -0
  431. data/js/node_modules/@waves/node-api-js/es/api-node/utils/index.js +193 -0
  432. data/js/node_modules/@waves/node-api-js/es/api-node/utils/index.js.map +1 -0
  433. data/js/node_modules/@waves/node-api-js/es/api-node/wallet/index.d.ts +5 -0
  434. data/js/node_modules/@waves/node-api-js/es/api-node/wallet/index.js +7 -0
  435. data/js/node_modules/@waves/node-api-js/es/api-node/wallet/index.js.map +1 -0
  436. data/js/node_modules/@waves/node-api-js/es/constants.d.ts +40 -0
  437. data/js/node_modules/@waves/node-api-js/es/constants.js +40 -0
  438. data/js/node_modules/@waves/node-api-js/es/constants.js.map +1 -0
  439. data/js/node_modules/@waves/node-api-js/es/create.d.ts +1240 -0
  440. data/js/node_modules/@waves/node-api-js/es/create.js +93 -0
  441. data/js/node_modules/@waves/node-api-js/es/create.js.map +1 -0
  442. data/js/node_modules/@waves/node-api-js/es/index.d.ts +9 -0
  443. data/js/node_modules/@waves/node-api-js/es/index.js +9 -0
  444. data/js/node_modules/@waves/node-api-js/es/index.js.map +1 -0
  445. data/js/node_modules/@waves/node-api-js/es/interface.d.ts +44 -0
  446. data/js/node_modules/@waves/node-api-js/es/interface.js +3 -0
  447. data/js/node_modules/@waves/node-api-js/es/interface.js.map +1 -0
  448. data/js/node_modules/@waves/node-api-js/es/tools/adresses/availableSponsoredBalances.d.ts +7 -0
  449. data/js/node_modules/@waves/node-api-js/es/tools/adresses/availableSponsoredBalances.js +27 -0
  450. data/js/node_modules/@waves/node-api-js/es/tools/adresses/availableSponsoredBalances.js.map +1 -0
  451. data/js/node_modules/@waves/node-api-js/es/tools/adresses/ethAddress2waves.d.ts +1 -0
  452. data/js/node_modules/@waves/node-api-js/es/tools/adresses/ethAddress2waves.js +31 -0
  453. data/js/node_modules/@waves/node-api-js/es/tools/adresses/ethAddress2waves.js.map +1 -0
  454. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetIdListByTx.d.ts +2 -0
  455. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetIdListByTx.js +24 -0
  456. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetIdListByTx.js.map +1 -0
  457. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetsByTransaction.d.ts +3 -0
  458. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetsByTransaction.js +8 -0
  459. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getAssetsByTransaction.js.map +1 -0
  460. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getTransactionsWithAssets.d.ts +6 -0
  461. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getTransactionsWithAssets.js +7 -0
  462. data/js/node_modules/@waves/node-api-js/es/tools/adresses/getTransactionsWithAssets.js.map +1 -0
  463. data/js/node_modules/@waves/node-api-js/es/tools/adresses/watch.d.ts +24 -0
  464. data/js/node_modules/@waves/node-api-js/es/tools/adresses/watch.js +134 -0
  465. data/js/node_modules/@waves/node-api-js/es/tools/adresses/watch.js.map +1 -0
  466. data/js/node_modules/@waves/node-api-js/es/tools/adresses/wavesAddress2eth.d.ts +1 -0
  467. data/js/node_modules/@waves/node-api-js/es/tools/adresses/wavesAddress2eth.js +7 -0
  468. data/js/node_modules/@waves/node-api-js/es/tools/adresses/wavesAddress2eth.js.map +1 -0
  469. data/js/node_modules/@waves/node-api-js/es/tools/assets/wavesAsset2eth.d.ts +1 -0
  470. data/js/node_modules/@waves/node-api-js/es/tools/assets/wavesAsset2eth.js +7 -0
  471. data/js/node_modules/@waves/node-api-js/es/tools/assets/wavesAsset2eth.js.map +1 -0
  472. data/js/node_modules/@waves/node-api-js/es/tools/blocks/detectInterval.d.ts +1 -0
  473. data/js/node_modules/@waves/node-api-js/es/tools/blocks/detectInterval.js +9 -0
  474. data/js/node_modules/@waves/node-api-js/es/tools/blocks/detectInterval.js.map +1 -0
  475. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkByte.d.ts +1 -0
  476. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkByte.js +51 -0
  477. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkByte.js.map +1 -0
  478. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkCode.d.ts +1 -0
  479. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkCode.js +5 -0
  480. data/js/node_modules/@waves/node-api-js/es/tools/blocks/getNetworkCode.js.map +1 -0
  481. data/js/node_modules/@waves/node-api-js/es/tools/blocks/waitHeight.d.ts +3 -0
  482. data/js/node_modules/@waves/node-api-js/es/tools/blocks/waitHeight.js +36 -0
  483. data/js/node_modules/@waves/node-api-js/es/tools/blocks/waitHeight.js.map +1 -0
  484. data/js/node_modules/@waves/node-api-js/es/tools/parse.d.ts +1 -0
  485. data/js/node_modules/@waves/node-api-js/es/tools/parse.js +5 -0
  486. data/js/node_modules/@waves/node-api-js/es/tools/parse.js.map +1 -0
  487. data/js/node_modules/@waves/node-api-js/es/tools/query.d.ts +4 -0
  488. data/js/node_modules/@waves/node-api-js/es/tools/query.js +12 -0
  489. data/js/node_modules/@waves/node-api-js/es/tools/query.js.map +1 -0
  490. data/js/node_modules/@waves/node-api-js/es/tools/request.d.ts +64 -0
  491. data/js/node_modules/@waves/node-api-js/es/tools/request.js +22 -0
  492. data/js/node_modules/@waves/node-api-js/es/tools/request.js.map +1 -0
  493. data/js/node_modules/@waves/node-api-js/es/tools/resolve.d.ts +1 -0
  494. data/js/node_modules/@waves/node-api-js/es/tools/resolve.js +4 -0
  495. data/js/node_modules/@waves/node-api-js/es/tools/resolve.js.map +1 -0
  496. data/js/node_modules/@waves/node-api-js/es/tools/stringify.d.ts +1 -0
  497. data/js/node_modules/@waves/node-api-js/es/tools/stringify.js +18 -0
  498. data/js/node_modules/@waves/node-api-js/es/tools/stringify.js.map +1 -0
  499. data/js/node_modules/@waves/node-api-js/es/tools/transactions/broadcast.d.ts +14 -0
  500. data/js/node_modules/@waves/node-api-js/es/tools/transactions/broadcast.js +43 -0
  501. data/js/node_modules/@waves/node-api-js/es/tools/transactions/broadcast.js.map +1 -0
  502. data/js/node_modules/@waves/node-api-js/es/tools/transactions/ethTxId2waves.d.ts +1 -0
  503. data/js/node_modules/@waves/node-api-js/es/tools/transactions/ethTxId2waves.js +8 -0
  504. data/js/node_modules/@waves/node-api-js/es/tools/transactions/ethTxId2waves.js.map +1 -0
  505. data/js/node_modules/@waves/node-api-js/es/tools/transactions/transactions.d.ts +0 -0
  506. data/js/node_modules/@waves/node-api-js/es/tools/transactions/transactions.js +2 -0
  507. data/js/node_modules/@waves/node-api-js/es/tools/transactions/transactions.js.map +1 -0
  508. data/js/node_modules/@waves/node-api-js/es/tools/transactions/wait.d.ts +10 -0
  509. data/js/node_modules/@waves/node-api-js/es/tools/transactions/wait.js +39 -0
  510. data/js/node_modules/@waves/node-api-js/es/tools/transactions/wait.js.map +1 -0
  511. data/js/node_modules/@waves/node-api-js/es/tools/utils.d.ts +32 -0
  512. data/js/node_modules/@waves/node-api-js/es/tools/utils.js +73 -0
  513. data/js/node_modules/@waves/node-api-js/es/tools/utils.js.map +1 -0
  514. data/js/node_modules/@waves/node-api-js/package.json +66 -0
  515. data/js/node_modules/@waves/parse-json-bignumber/coverage/clover.xml +225 -0
  516. data/js/node_modules/@waves/parse-json-bignumber/coverage/coverage-final.json +2 -0
  517. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/base.css +212 -0
  518. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/index.html +93 -0
  519. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/parse-json-bignumber.ts.html +1598 -0
  520. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/prettify.css +1 -0
  521. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/prettify.js +1 -0
  522. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  523. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov-report/sorter.js +158 -0
  524. data/js/node_modules/@waves/parse-json-bignumber/coverage/lcov.info +415 -0
  525. data/js/node_modules/@waves/parse-json-bignumber/dist/parse-json-bignumber.d.ts +11 -0
  526. data/js/node_modules/@waves/parse-json-bignumber/dist/parse-json-bignumber.js +412 -0
  527. data/js/node_modules/@waves/parse-json-bignumber/dist/parse-json-bignumber.min.js +1 -0
  528. data/js/node_modules/@waves/parse-json-bignumber/package.json +40 -0
  529. data/js/node_modules/@waves/parse-json-bignumber/src/parse-json-bignumber.ts +511 -0
  530. data/js/node_modules/@waves/parse-json-bignumber/test/index.ts +130 -0
  531. data/js/node_modules/@waves/parse-json-bignumber/test/tsconfig.json +14 -0
  532. data/js/node_modules/@waves/parse-json-bignumber/tsconfig.json +15 -0
  533. data/js/node_modules/@waves/protobuf-serialization/README.MD +116 -0
  534. data/js/node_modules/@waves/protobuf-serialization/dist/index.d.ts +2005 -0
  535. data/js/node_modules/@waves/protobuf-serialization/dist/index.js +6636 -0
  536. data/js/node_modules/@waves/protobuf-serialization/package.json +30 -0
  537. data/js/node_modules/@waves/protobuf-serialization/proto/waves/amount.proto +10 -0
  538. data/js/node_modules/@waves/protobuf-serialization/proto/waves/block.proto +40 -0
  539. data/js/node_modules/@waves/protobuf-serialization/proto/waves/events/events.proto +213 -0
  540. data/js/node_modules/@waves/protobuf-serialization/proto/waves/events/grpc/blockchain_updates.proto +42 -0
  541. data/js/node_modules/@waves/protobuf-serialization/proto/waves/invoke_script_result.proto +98 -0
  542. data/js/node_modules/@waves/protobuf-serialization/proto/waves/lang/dapp_meta.proto +21 -0
  543. data/js/node_modules/@waves/protobuf-serialization/proto/waves/node/grpc/accounts_api.proto +68 -0
  544. data/js/node_modules/@waves/protobuf-serialization/proto/waves/node/grpc/assets_api.proto +41 -0
  545. data/js/node_modules/@waves/protobuf-serialization/proto/waves/node/grpc/blockchain_api.proto +54 -0
  546. data/js/node_modules/@waves/protobuf-serialization/proto/waves/node/grpc/blocks_api.proto +41 -0
  547. data/js/node_modules/@waves/protobuf-serialization/proto/waves/node/grpc/transactions_api.proto +73 -0
  548. data/js/node_modules/@waves/protobuf-serialization/proto/waves/order.proto +43 -0
  549. data/js/node_modules/@waves/protobuf-serialization/proto/waves/recipient.proto +13 -0
  550. data/js/node_modules/@waves/protobuf-serialization/proto/waves/transaction.proto +156 -0
  551. data/js/node_modules/@waves/ts-lib-crypto/README.md +492 -0
  552. data/js/node_modules/@waves/ts-lib-crypto/bytes.d.ts +10 -0
  553. data/js/node_modules/@waves/ts-lib-crypto/bytes.js +21 -0
  554. data/js/node_modules/@waves/ts-lib-crypto/bytes.js.map +1 -0
  555. data/js/node_modules/@waves/ts-lib-crypto/conversions/base-xx.d.ts +7 -0
  556. data/js/node_modules/@waves/ts-lib-crypto/conversions/base-xx.js +27 -0
  557. data/js/node_modules/@waves/ts-lib-crypto/conversions/base-xx.js.map +1 -0
  558. data/js/node_modules/@waves/ts-lib-crypto/conversions/param.d.ts +3 -0
  559. data/js/node_modules/@waves/ts-lib-crypto/conversions/param.js +24 -0
  560. data/js/node_modules/@waves/ts-lib-crypto/conversions/param.js.map +1 -0
  561. data/js/node_modules/@waves/ts-lib-crypto/conversions/string-bytes.d.ts +11 -0
  562. data/js/node_modules/@waves/ts-lib-crypto/conversions/string-bytes.js +65 -0
  563. data/js/node_modules/@waves/ts-lib-crypto/conversions/string-bytes.js.map +1 -0
  564. data/js/node_modules/@waves/ts-lib-crypto/crypto/address-keys-seed.d.ts +7 -0
  565. data/js/node_modules/@waves/ts-lib-crypto/crypto/address-keys-seed.js +58 -0
  566. data/js/node_modules/@waves/ts-lib-crypto/crypto/address-keys-seed.js.map +1 -0
  567. data/js/node_modules/@waves/ts-lib-crypto/crypto/concat-split.d.ts +3 -0
  568. data/js/node_modules/@waves/ts-lib-crypto/crypto/concat-split.js +39 -0
  569. data/js/node_modules/@waves/ts-lib-crypto/crypto/concat-split.js.map +1 -0
  570. data/js/node_modules/@waves/ts-lib-crypto/crypto/crypto.d.ts +13 -0
  571. data/js/node_modules/@waves/ts-lib-crypto/crypto/crypto.js +117 -0
  572. data/js/node_modules/@waves/ts-lib-crypto/crypto/crypto.js.map +1 -0
  573. data/js/node_modules/@waves/ts-lib-crypto/crypto/encryption.d.ts +6 -0
  574. data/js/node_modules/@waves/ts-lib-crypto/crypto/encryption.js +89 -0
  575. data/js/node_modules/@waves/ts-lib-crypto/crypto/encryption.js.map +1 -0
  576. data/js/node_modules/@waves/ts-lib-crypto/crypto/hashing.d.ts +7 -0
  577. data/js/node_modules/@waves/ts-lib-crypto/crypto/hashing.js +39 -0
  578. data/js/node_modules/@waves/ts-lib-crypto/crypto/hashing.js.map +1 -0
  579. data/js/node_modules/@waves/ts-lib-crypto/crypto/interface.d.ts +98 -0
  580. data/js/node_modules/@waves/ts-lib-crypto/crypto/interface.js +9 -0
  581. data/js/node_modules/@waves/ts-lib-crypto/crypto/interface.js.map +1 -0
  582. data/js/node_modules/@waves/ts-lib-crypto/crypto/merkle-verify.d.ts +7 -0
  583. data/js/node_modules/@waves/ts-lib-crypto/crypto/merkle-verify.js +51 -0
  584. data/js/node_modules/@waves/ts-lib-crypto/crypto/merkle-verify.js.map +1 -0
  585. data/js/node_modules/@waves/ts-lib-crypto/crypto/random.d.ts +4 -0
  586. data/js/node_modules/@waves/ts-lib-crypto/crypto/random.js +51 -0
  587. data/js/node_modules/@waves/ts-lib-crypto/crypto/random.js.map +1 -0
  588. data/js/node_modules/@waves/ts-lib-crypto/crypto/rsa.d.ts +7 -0
  589. data/js/node_modules/@waves/ts-lib-crypto/crypto/rsa.js +159 -0
  590. data/js/node_modules/@waves/ts-lib-crypto/crypto/rsa.js.map +1 -0
  591. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-ecryption.d.ts +9 -0
  592. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-ecryption.js +62 -0
  593. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-ecryption.js.map +1 -0
  594. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-words-list.d.ts +1 -0
  595. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-words-list.js +189 -0
  596. data/js/node_modules/@waves/ts-lib-crypto/crypto/seed-words-list.js.map +1 -0
  597. data/js/node_modules/@waves/ts-lib-crypto/crypto/sign.d.ts +2 -0
  598. data/js/node_modules/@waves/ts-lib-crypto/crypto/sign.js +16 -0
  599. data/js/node_modules/@waves/ts-lib-crypto/crypto/sign.js.map +1 -0
  600. data/js/node_modules/@waves/ts-lib-crypto/crypto/util.d.ts +3 -0
  601. data/js/node_modules/@waves/ts-lib-crypto/crypto/util.js +9 -0
  602. data/js/node_modules/@waves/ts-lib-crypto/crypto/util.js.map +1 -0
  603. data/js/node_modules/@waves/ts-lib-crypto/crypto/verification.d.ts +7 -0
  604. data/js/node_modules/@waves/ts-lib-crypto/crypto/verification.js +49 -0
  605. data/js/node_modules/@waves/ts-lib-crypto/crypto/verification.js.map +1 -0
  606. data/js/node_modules/@waves/ts-lib-crypto/extensions/chain-id.d.ts +5 -0
  607. data/js/node_modules/@waves/ts-lib-crypto/extensions/chain-id.js +16 -0
  608. data/js/node_modules/@waves/ts-lib-crypto/extensions/chain-id.js.map +1 -0
  609. data/js/node_modules/@waves/ts-lib-crypto/extensions/seed.d.ts +6 -0
  610. data/js/node_modules/@waves/ts-lib-crypto/extensions/seed.js +18 -0
  611. data/js/node_modules/@waves/ts-lib-crypto/extensions/seed.js.map +1 -0
  612. data/js/node_modules/@waves/ts-lib-crypto/index.d.ts +10 -0
  613. data/js/node_modules/@waves/ts-lib-crypto/index.js +21 -0
  614. data/js/node_modules/@waves/ts-lib-crypto/index.js.map +1 -0
  615. data/js/node_modules/@waves/ts-lib-crypto/libs/Utf8.d.ts +2 -0
  616. data/js/node_modules/@waves/ts-lib-crypto/libs/Utf8.js +61 -0
  617. data/js/node_modules/@waves/ts-lib-crypto/libs/Utf8.js.map +1 -0
  618. data/js/node_modules/@waves/ts-lib-crypto/libs/axlsign.js +1374 -0
  619. data/js/node_modules/@waves/ts-lib-crypto/libs/base58.d.ts +5 -0
  620. data/js/node_modules/@waves/ts-lib-crypto/libs/base58.js +66 -0
  621. data/js/node_modules/@waves/ts-lib-crypto/libs/base58.js.map +1 -0
  622. data/js/node_modules/@waves/ts-lib-crypto/libs/blake2b.js +308 -0
  623. data/js/node_modules/@waves/ts-lib-crypto/libs/sha3.js +441 -0
  624. data/js/node_modules/@waves/ts-lib-crypto/min/waves-lib-crypto.js +33 -0
  625. data/js/node_modules/@waves/ts-lib-crypto/package.json +31 -0
  626. data/js/node_modules/@waves/ts-types/dist/src/common.d.ts +59 -0
  627. data/js/node_modules/@waves/ts-types/dist/src/common.js +53 -0
  628. data/js/node_modules/@waves/ts-types/dist/src/exchange.d.ts +47 -0
  629. data/js/node_modules/@waves/ts-types/dist/src/exchange.js +2 -0
  630. data/js/node_modules/@waves/ts-types/dist/src/index.d.ts +52 -0
  631. data/js/node_modules/@waves/ts-types/dist/src/index.js +63 -0
  632. data/js/node_modules/@waves/ts-types/dist/src/invoke.d.ts +22 -0
  633. data/js/node_modules/@waves/ts-types/dist/src/invoke.js +2 -0
  634. data/js/node_modules/@waves/ts-types/dist/src/network.d.ts +6 -0
  635. data/js/node_modules/@waves/ts-types/dist/src/network.js +10 -0
  636. data/js/node_modules/@waves/ts-types/dist/src/parts.d.ts +159 -0
  637. data/js/node_modules/@waves/ts-types/dist/src/parts.js +2 -0
  638. data/js/node_modules/@waves/ts-types/dist/transactions/index.d.ts +363 -0
  639. data/js/node_modules/@waves/ts-types/dist/transactions/index.js +3 -0
  640. data/js/node_modules/@waves/ts-types/index.ts +1 -0
  641. data/js/node_modules/@waves/ts-types/package.json +41 -0
  642. data/js/node_modules/@waves/ts-types/src/index.ts +57 -0
  643. data/js/node_modules/@waves/ts-types/src/parts.ts +247 -0
  644. data/js/node_modules/@waves/ts-types/transactions/index.ts +789 -0
  645. data/js/node_modules/@waves/ts-types/tsconfig.json +16 -0
  646. data/js/node_modules/@waves/waves-transactions/README.md +432 -0
  647. data/js/node_modules/@waves/waves-transactions/dist/defaultVersions.d.ts +18 -0
  648. data/js/node_modules/@waves/waves-transactions/dist/defaultVersions.js +22 -0
  649. data/js/node_modules/@waves/waves-transactions/dist/defaultVersions.js.map +1 -0
  650. data/js/node_modules/@waves/waves-transactions/dist/general.d.ts +68 -0
  651. data/js/node_modules/@waves/waves-transactions/dist/general.js +135 -0
  652. data/js/node_modules/@waves/waves-transactions/dist/general.js.map +1 -0
  653. data/js/node_modules/@waves/waves-transactions/dist/generic.d.ts +28 -0
  654. data/js/node_modules/@waves/waves-transactions/dist/generic.js +88 -0
  655. data/js/node_modules/@waves/waves-transactions/dist/generic.js.map +1 -0
  656. data/js/node_modules/@waves/waves-transactions/dist/index.d.ts +37 -0
  657. data/js/node_modules/@waves/waves-transactions/dist/index.js +98 -0
  658. data/js/node_modules/@waves/waves-transactions/dist/index.js.map +1 -0
  659. data/js/node_modules/@waves/waves-transactions/dist/make-tx.d.ts +50 -0
  660. data/js/node_modules/@waves/waves-transactions/dist/make-tx.js +106 -0
  661. data/js/node_modules/@waves/waves-transactions/dist/make-tx.js.map +1 -0
  662. data/js/node_modules/@waves/waves-transactions/dist/min/waves-transactions.min.js +26 -0
  663. data/js/node_modules/@waves/waves-transactions/dist/nodeInteraction.d.ts +116 -0
  664. data/js/node_modules/@waves/waves-transactions/dist/nodeInteraction.js +277 -0
  665. data/js/node_modules/@waves/waves-transactions/dist/nodeInteraction.js.map +1 -0
  666. data/js/node_modules/@waves/waves-transactions/dist/proto-serialize.d.ts +62 -0
  667. data/js/node_modules/@waves/waves-transactions/dist/proto-serialize.js +514 -0
  668. data/js/node_modules/@waves/waves-transactions/dist/proto-serialize.js.map +1 -0
  669. data/js/node_modules/@waves/waves-transactions/dist/requests/auth.d.ts +7 -0
  670. data/js/node_modules/@waves/waves-transactions/dist/requests/auth.js +31 -0
  671. data/js/node_modules/@waves/waves-transactions/dist/requests/auth.js.map +1 -0
  672. data/js/node_modules/@waves/waves-transactions/dist/requests/cancel-order.d.ts +7 -0
  673. data/js/node_modules/@waves/waves-transactions/dist/requests/cancel-order.js +29 -0
  674. data/js/node_modules/@waves/waves-transactions/dist/requests/cancel-order.js.map +1 -0
  675. data/js/node_modules/@waves/waves-transactions/dist/requests/custom-data.d.ts +40 -0
  676. data/js/node_modules/@waves/waves-transactions/dist/requests/custom-data.js +37 -0
  677. data/js/node_modules/@waves/waves-transactions/dist/requests/custom-data.js.map +1 -0
  678. data/js/node_modules/@waves/waves-transactions/dist/requests/order.d.ts +50 -0
  679. data/js/node_modules/@waves/waves-transactions/dist/requests/order.js +62 -0
  680. data/js/node_modules/@waves/waves-transactions/dist/requests/order.js.map +1 -0
  681. data/js/node_modules/@waves/waves-transactions/dist/requests/wavesAuth.d.ts +7 -0
  682. data/js/node_modules/@waves/waves-transactions/dist/requests/wavesAuth.js +31 -0
  683. data/js/node_modules/@waves/waves-transactions/dist/requests/wavesAuth.js.map +1 -0
  684. data/js/node_modules/@waves/waves-transactions/dist/seedUtils/index.d.ts +21 -0
  685. data/js/node_modules/@waves/waves-transactions/dist/seedUtils/index.js +85 -0
  686. data/js/node_modules/@waves/waves-transactions/dist/seedUtils/index.js.map +1 -0
  687. data/js/node_modules/@waves/waves-transactions/dist/transactions/alias.d.ts +8 -0
  688. data/js/node_modules/@waves/waves-transactions/dist/transactions/alias.js +35 -0
  689. data/js/node_modules/@waves/waves-transactions/dist/transactions/alias.js.map +1 -0
  690. data/js/node_modules/@waves/waves-transactions/dist/transactions/burn.d.ts +8 -0
  691. data/js/node_modules/@waves/waves-transactions/dist/transactions/burn.js +35 -0
  692. data/js/node_modules/@waves/waves-transactions/dist/transactions/burn.js.map +1 -0
  693. data/js/node_modules/@waves/waves-transactions/dist/transactions/cancel-lease.d.ts +8 -0
  694. data/js/node_modules/@waves/waves-transactions/dist/transactions/cancel-lease.js +34 -0
  695. data/js/node_modules/@waves/waves-transactions/dist/transactions/cancel-lease.js.map +1 -0
  696. data/js/node_modules/@waves/waves-transactions/dist/transactions/data.d.ts +5 -0
  697. data/js/node_modules/@waves/waves-transactions/dist/transactions/data.js +112 -0
  698. data/js/node_modules/@waves/waves-transactions/dist/transactions/data.js.map +1 -0
  699. data/js/node_modules/@waves/waves-transactions/dist/transactions/exchange.d.ts +7 -0
  700. data/js/node_modules/@waves/waves-transactions/dist/transactions/exchange.js +39 -0
  701. data/js/node_modules/@waves/waves-transactions/dist/transactions/exchange.js.map +1 -0
  702. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-expression.d.ts +0 -0
  703. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-expression.js +52 -0
  704. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-expression.js.map +1 -0
  705. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-script.d.ts +8 -0
  706. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-script.js +43 -0
  707. data/js/node_modules/@waves/waves-transactions/dist/transactions/invoke-script.js.map +1 -0
  708. data/js/node_modules/@waves/waves-transactions/dist/transactions/issue.d.ts +8 -0
  709. data/js/node_modules/@waves/waves-transactions/dist/transactions/issue.js +42 -0
  710. data/js/node_modules/@waves/waves-transactions/dist/transactions/issue.js.map +1 -0
  711. data/js/node_modules/@waves/waves-transactions/dist/transactions/lease.d.ts +8 -0
  712. data/js/node_modules/@waves/waves-transactions/dist/transactions/lease.js +35 -0
  713. data/js/node_modules/@waves/waves-transactions/dist/transactions/lease.js.map +1 -0
  714. data/js/node_modules/@waves/waves-transactions/dist/transactions/mass-transfer.d.ts +8 -0
  715. data/js/node_modules/@waves/waves-transactions/dist/transactions/mass-transfer.js +39 -0
  716. data/js/node_modules/@waves/waves-transactions/dist/transactions/mass-transfer.js.map +1 -0
  717. data/js/node_modules/@waves/waves-transactions/dist/transactions/reissue.d.ts +8 -0
  718. data/js/node_modules/@waves/waves-transactions/dist/transactions/reissue.js +36 -0
  719. data/js/node_modules/@waves/waves-transactions/dist/transactions/reissue.js.map +1 -0
  720. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-asset-script.d.ts +8 -0
  721. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-asset-script.js +37 -0
  722. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-asset-script.js.map +1 -0
  723. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-script.d.ts +8 -0
  724. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-script.js +38 -0
  725. data/js/node_modules/@waves/waves-transactions/dist/transactions/set-script.js.map +1 -0
  726. data/js/node_modules/@waves/waves-transactions/dist/transactions/sponsorship.d.ts +8 -0
  727. data/js/node_modules/@waves/waves-transactions/dist/transactions/sponsorship.js +35 -0
  728. data/js/node_modules/@waves/waves-transactions/dist/transactions/sponsorship.js.map +1 -0
  729. data/js/node_modules/@waves/waves-transactions/dist/transactions/transfer.d.ts +8 -0
  730. data/js/node_modules/@waves/waves-transactions/dist/transactions/transfer.js +38 -0
  731. data/js/node_modules/@waves/waves-transactions/dist/transactions/transfer.js.map +1 -0
  732. data/js/node_modules/@waves/waves-transactions/dist/transactions/update-asset-info.d.ts +8 -0
  733. data/js/node_modules/@waves/waves-transactions/dist/transactions/update-asset-info.js +35 -0
  734. data/js/node_modules/@waves/waves-transactions/dist/transactions/update-asset-info.js.map +1 -0
  735. data/js/node_modules/@waves/waves-transactions/dist/transactions.d.ts +277 -0
  736. data/js/node_modules/@waves/waves-transactions/dist/transactions.js +3 -0
  737. data/js/node_modules/@waves/waves-transactions/dist/transactions.js.map +1 -0
  738. data/js/node_modules/@waves/waves-transactions/dist/types.d.ts +11 -0
  739. data/js/node_modules/@waves/waves-transactions/dist/types.js +6 -0
  740. data/js/node_modules/@waves/waves-transactions/dist/types.js.map +1 -0
  741. data/js/node_modules/@waves/waves-transactions/dist/validators/alias.d.ts +1 -0
  742. data/js/node_modules/@waves/waves-transactions/dist/validators/alias.js +17 -0
  743. data/js/node_modules/@waves/waves-transactions/dist/validators/alias.js.map +1 -0
  744. data/js/node_modules/@waves/waves-transactions/dist/validators/auth.d.ts +1 -0
  745. data/js/node_modules/@waves/waves-transactions/dist/validators/auth.js +10 -0
  746. data/js/node_modules/@waves/waves-transactions/dist/validators/auth.js.map +1 -0
  747. data/js/node_modules/@waves/waves-transactions/dist/validators/burn.d.ts +1 -0
  748. data/js/node_modules/@waves/waves-transactions/dist/validators/burn.js +18 -0
  749. data/js/node_modules/@waves/waves-transactions/dist/validators/burn.js.map +1 -0
  750. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-lease.d.ts +1 -0
  751. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-lease.js +17 -0
  752. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-lease.js.map +1 -0
  753. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-order.d.ts +1 -0
  754. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-order.js +12 -0
  755. data/js/node_modules/@waves/waves-transactions/dist/validators/cancel-order.js.map +1 -0
  756. data/js/node_modules/@waves/waves-transactions/dist/validators/custom-data.d.ts +1 -0
  757. data/js/node_modules/@waves/waves-transactions/dist/validators/custom-data.js +16 -0
  758. data/js/node_modules/@waves/waves-transactions/dist/validators/custom-data.js.map +1 -0
  759. data/js/node_modules/@waves/waves-transactions/dist/validators/data.d.ts +2 -0
  760. data/js/node_modules/@waves/waves-transactions/dist/validators/data.js +18 -0
  761. data/js/node_modules/@waves/waves-transactions/dist/validators/data.js.map +1 -0
  762. data/js/node_modules/@waves/waves-transactions/dist/validators/exchange.d.ts +1 -0
  763. data/js/node_modules/@waves/waves-transactions/dist/validators/exchange.js +22 -0
  764. data/js/node_modules/@waves/waves-transactions/dist/validators/exchange.js.map +1 -0
  765. data/js/node_modules/@waves/waves-transactions/dist/validators/index.d.ts +24 -0
  766. data/js/node_modules/@waves/waves-transactions/dist/validators/index.js +60 -0
  767. data/js/node_modules/@waves/waves-transactions/dist/validators/index.js.map +1 -0
  768. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-expression.d.ts +0 -0
  769. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-expression.js +33 -0
  770. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-expression.js.map +1 -0
  771. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-script.d.ts +1 -0
  772. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-script.js +20 -0
  773. data/js/node_modules/@waves/waves-transactions/dist/validators/invoke-script.js.map +1 -0
  774. data/js/node_modules/@waves/waves-transactions/dist/validators/issue.d.ts +1 -0
  775. data/js/node_modules/@waves/waves-transactions/dist/validators/issue.js +22 -0
  776. data/js/node_modules/@waves/waves-transactions/dist/validators/issue.js.map +1 -0
  777. data/js/node_modules/@waves/waves-transactions/dist/validators/lease.d.ts +1 -0
  778. data/js/node_modules/@waves/waves-transactions/dist/validators/lease.js +17 -0
  779. data/js/node_modules/@waves/waves-transactions/dist/validators/lease.js.map +1 -0
  780. data/js/node_modules/@waves/waves-transactions/dist/validators/mass-transfer.d.ts +1 -0
  781. data/js/node_modules/@waves/waves-transactions/dist/validators/mass-transfer.js +18 -0
  782. data/js/node_modules/@waves/waves-transactions/dist/validators/mass-transfer.js.map +1 -0
  783. data/js/node_modules/@waves/waves-transactions/dist/validators/order.d.ts +1 -0
  784. data/js/node_modules/@waves/waves-transactions/dist/validators/order.js +34 -0
  785. data/js/node_modules/@waves/waves-transactions/dist/validators/order.js.map +1 -0
  786. data/js/node_modules/@waves/waves-transactions/dist/validators/reissue.d.ts +1 -0
  787. data/js/node_modules/@waves/waves-transactions/dist/validators/reissue.js +19 -0
  788. data/js/node_modules/@waves/waves-transactions/dist/validators/reissue.js.map +1 -0
  789. data/js/node_modules/@waves/waves-transactions/dist/validators/set-asset-script.d.ts +1 -0
  790. data/js/node_modules/@waves/waves-transactions/dist/validators/set-asset-script.js +18 -0
  791. data/js/node_modules/@waves/waves-transactions/dist/validators/set-asset-script.js.map +1 -0
  792. data/js/node_modules/@waves/waves-transactions/dist/validators/set-script.d.ts +1 -0
  793. data/js/node_modules/@waves/waves-transactions/dist/validators/set-script.js +17 -0
  794. data/js/node_modules/@waves/waves-transactions/dist/validators/set-script.js.map +1 -0
  795. data/js/node_modules/@waves/waves-transactions/dist/validators/sponsorship.d.ts +1 -0
  796. data/js/node_modules/@waves/waves-transactions/dist/validators/sponsorship.js +17 -0
  797. data/js/node_modules/@waves/waves-transactions/dist/validators/sponsorship.js.map +1 -0
  798. data/js/node_modules/@waves/waves-transactions/dist/validators/transfer.d.ts +1 -0
  799. data/js/node_modules/@waves/waves-transactions/dist/validators/transfer.js +20 -0
  800. data/js/node_modules/@waves/waves-transactions/dist/validators/transfer.js.map +1 -0
  801. data/js/node_modules/@waves/waves-transactions/dist/validators/update-asset-info.d.ts +1 -0
  802. data/js/node_modules/@waves/waves-transactions/dist/validators/update-asset-info.js +18 -0
  803. data/js/node_modules/@waves/waves-transactions/dist/validators/update-asset-info.js.map +1 -0
  804. data/js/node_modules/@waves/waves-transactions/dist/validators/validators.d.ts +52 -0
  805. data/js/node_modules/@waves/waves-transactions/dist/validators/validators.js +160 -0
  806. data/js/node_modules/@waves/waves-transactions/dist/validators/validators.js.map +1 -0
  807. data/js/node_modules/@waves/waves-transactions/dist/validators/wavesAuth.d.ts +1 -0
  808. data/js/node_modules/@waves/waves-transactions/dist/validators/wavesAuth.js +10 -0
  809. data/js/node_modules/@waves/waves-transactions/dist/validators/wavesAuth.js.map +1 -0
  810. data/js/node_modules/@waves/waves-transactions/package.json +83 -0
  811. data/js/node_modules/@waves/waves-transactions/src/defaultVersions.ts +18 -0
  812. data/js/node_modules/@waves/waves-transactions/src/general.ts +165 -0
  813. data/js/node_modules/@waves/waves-transactions/src/generic.ts +88 -0
  814. data/js/node_modules/@waves/waves-transactions/src/index.ts +87 -0
  815. data/js/node_modules/@waves/waves-transactions/src/make-tx.ts +179 -0
  816. data/js/node_modules/@waves/waves-transactions/src/nodeInteraction.ts +297 -0
  817. data/js/node_modules/@waves/waves-transactions/src/proto-serialize.ts +571 -0
  818. data/js/node_modules/@waves/waves-transactions/src/requests/auth.ts +42 -0
  819. data/js/node_modules/@waves/waves-transactions/src/requests/cancel-order.ts +37 -0
  820. data/js/node_modules/@waves/waves-transactions/src/requests/custom-data.ts +73 -0
  821. data/js/node_modules/@waves/waves-transactions/src/requests/order.ts +121 -0
  822. data/js/node_modules/@waves/waves-transactions/src/requests/wavesAuth.ts +40 -0
  823. data/js/node_modules/@waves/waves-transactions/src/seedUtils/index.ts +124 -0
  824. data/js/node_modules/@waves/waves-transactions/src/transactions/alias.ts +46 -0
  825. data/js/node_modules/@waves/waves-transactions/src/transactions/burn.ts +45 -0
  826. data/js/node_modules/@waves/waves-transactions/src/transactions/cancel-lease.ts +44 -0
  827. data/js/node_modules/@waves/waves-transactions/src/transactions/data.ts +122 -0
  828. data/js/node_modules/@waves/waves-transactions/src/transactions/exchange.ts +47 -0
  829. data/js/node_modules/@waves/waves-transactions/src/transactions/invoke-expression.ts +50 -0
  830. data/js/node_modules/@waves/waves-transactions/src/transactions/invoke-script.ts +54 -0
  831. data/js/node_modules/@waves/waves-transactions/src/transactions/issue.ts +52 -0
  832. data/js/node_modules/@waves/waves-transactions/src/transactions/lease.ts +45 -0
  833. data/js/node_modules/@waves/waves-transactions/src/transactions/mass-transfer.ts +55 -0
  834. data/js/node_modules/@waves/waves-transactions/src/transactions/reissue.ts +46 -0
  835. data/js/node_modules/@waves/waves-transactions/src/transactions/set-asset-script.ts +57 -0
  836. data/js/node_modules/@waves/waves-transactions/src/transactions/set-script.ts +54 -0
  837. data/js/node_modules/@waves/waves-transactions/src/transactions/sponsorship.ts +45 -0
  838. data/js/node_modules/@waves/waves-transactions/src/transactions/transfer.ts +55 -0
  839. data/js/node_modules/@waves/waves-transactions/src/transactions/update-asset-info.ts +44 -0
  840. data/js/node_modules/@waves/waves-transactions/src/transactions.ts +352 -0
  841. data/js/node_modules/@waves/waves-transactions/src/types.ts +12 -0
  842. data/js/node_modules/@waves/waves-transactions/src/validators/alias.ts +28 -0
  843. data/js/node_modules/@waves/waves-transactions/src/validators/auth.ts +14 -0
  844. data/js/node_modules/@waves/waves-transactions/src/validators/burn.ts +29 -0
  845. data/js/node_modules/@waves/waves-transactions/src/validators/cancel-lease.ts +27 -0
  846. data/js/node_modules/@waves/waves-transactions/src/validators/cancel-order.ts +17 -0
  847. data/js/node_modules/@waves/waves-transactions/src/validators/custom-data.ts +40 -0
  848. data/js/node_modules/@waves/waves-transactions/src/validators/data.ts +33 -0
  849. data/js/node_modules/@waves/waves-transactions/src/validators/exchange.ts +36 -0
  850. data/js/node_modules/@waves/waves-transactions/src/validators/index.ts +50 -0
  851. data/js/node_modules/@waves/waves-transactions/src/validators/invoke-expression.ts +31 -0
  852. data/js/node_modules/@waves/waves-transactions/src/validators/invoke-script.ts +64 -0
  853. data/js/node_modules/@waves/waves-transactions/src/validators/issue.ts +41 -0
  854. data/js/node_modules/@waves/waves-transactions/src/validators/lease.ts +29 -0
  855. data/js/node_modules/@waves/waves-transactions/src/validators/mass-transfer.ts +47 -0
  856. data/js/node_modules/@waves/waves-transactions/src/validators/order.ts +68 -0
  857. data/js/node_modules/@waves/waves-transactions/src/validators/reissue.ts +31 -0
  858. data/js/node_modules/@waves/waves-transactions/src/validators/set-asset-script.ts +28 -0
  859. data/js/node_modules/@waves/waves-transactions/src/validators/set-script.ts +28 -0
  860. data/js/node_modules/@waves/waves-transactions/src/validators/sponsorship.ts +28 -0
  861. data/js/node_modules/@waves/waves-transactions/src/validators/transfer.ts +32 -0
  862. data/js/node_modules/@waves/waves-transactions/src/validators/update-asset-info.ts +32 -0
  863. data/js/node_modules/@waves/waves-transactions/src/validators/validators.ts +306 -0
  864. data/js/node_modules/@waves/waves-transactions/src/validators/wavesAuth.ts +15 -0
  865. data/js/node_modules/asynckit/LICENSE +21 -0
  866. data/js/node_modules/asynckit/README.md +233 -0
  867. data/js/node_modules/asynckit/bench.js +76 -0
  868. data/js/node_modules/asynckit/index.js +6 -0
  869. data/js/node_modules/asynckit/lib/abort.js +29 -0
  870. data/js/node_modules/asynckit/lib/async.js +34 -0
  871. data/js/node_modules/asynckit/lib/defer.js +26 -0
  872. data/js/node_modules/asynckit/lib/iterate.js +75 -0
  873. data/js/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  874. data/js/node_modules/asynckit/lib/readable_parallel.js +25 -0
  875. data/js/node_modules/asynckit/lib/readable_serial.js +25 -0
  876. data/js/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  877. data/js/node_modules/asynckit/lib/state.js +37 -0
  878. data/js/node_modules/asynckit/lib/streamify.js +141 -0
  879. data/js/node_modules/asynckit/lib/terminator.js +29 -0
  880. data/js/node_modules/asynckit/package.json +63 -0
  881. data/js/node_modules/asynckit/parallel.js +43 -0
  882. data/js/node_modules/asynckit/serial.js +17 -0
  883. data/js/node_modules/asynckit/serialOrdered.js +75 -0
  884. data/js/node_modules/asynckit/stream.js +21 -0
  885. data/js/node_modules/axios/CHANGELOG.md +413 -0
  886. data/js/node_modules/axios/LICENSE +19 -0
  887. data/js/node_modules/axios/README.md +709 -0
  888. data/js/node_modules/axios/UPGRADE_GUIDE.md +162 -0
  889. data/js/node_modules/axios/dist/axios.js +1715 -0
  890. data/js/node_modules/axios/dist/axios.map +1 -0
  891. data/js/node_modules/axios/dist/axios.min.js +3 -0
  892. data/js/node_modules/axios/dist/axios.min.map +1 -0
  893. data/js/node_modules/axios/index.d.ts +157 -0
  894. data/js/node_modules/axios/index.js +1 -0
  895. data/js/node_modules/axios/lib/adapters/README.md +37 -0
  896. data/js/node_modules/axios/lib/adapters/http.js +279 -0
  897. data/js/node_modules/axios/lib/adapters/xhr.js +180 -0
  898. data/js/node_modules/axios/lib/axios.js +53 -0
  899. data/js/node_modules/axios/lib/cancel/Cancel.js +19 -0
  900. data/js/node_modules/axios/lib/cancel/CancelToken.js +57 -0
  901. data/js/node_modules/axios/lib/cancel/isCancel.js +5 -0
  902. data/js/node_modules/axios/lib/core/Axios.js +94 -0
  903. data/js/node_modules/axios/lib/core/InterceptorManager.js +52 -0
  904. data/js/node_modules/axios/lib/core/README.md +7 -0
  905. data/js/node_modules/axios/lib/core/buildFullPath.js +20 -0
  906. data/js/node_modules/axios/lib/core/createError.js +18 -0
  907. data/js/node_modules/axios/lib/core/dispatchRequest.js +79 -0
  908. data/js/node_modules/axios/lib/core/enhanceError.js +42 -0
  909. data/js/node_modules/axios/lib/core/mergeConfig.js +73 -0
  910. data/js/node_modules/axios/lib/core/settle.js +25 -0
  911. data/js/node_modules/axios/lib/core/transformData.js +20 -0
  912. data/js/node_modules/axios/lib/defaults.js +97 -0
  913. data/js/node_modules/axios/lib/helpers/README.md +7 -0
  914. data/js/node_modules/axios/lib/helpers/bind.js +11 -0
  915. data/js/node_modules/axios/lib/helpers/buildURL.js +71 -0
  916. data/js/node_modules/axios/lib/helpers/combineURLs.js +14 -0
  917. data/js/node_modules/axios/lib/helpers/cookies.js +53 -0
  918. data/js/node_modules/axios/lib/helpers/deprecatedMethod.js +24 -0
  919. data/js/node_modules/axios/lib/helpers/isAbsoluteURL.js +14 -0
  920. data/js/node_modules/axios/lib/helpers/isURLSameOrigin.js +68 -0
  921. data/js/node_modules/axios/lib/helpers/normalizeHeaderName.js +12 -0
  922. data/js/node_modules/axios/lib/helpers/parseHeaders.js +53 -0
  923. data/js/node_modules/axios/lib/helpers/spread.js +27 -0
  924. data/js/node_modules/axios/lib/utils.js +344 -0
  925. data/js/node_modules/axios/package.json +84 -0
  926. data/js/node_modules/base64-js/LICENSE +21 -0
  927. data/js/node_modules/base64-js/README.md +34 -0
  928. data/js/node_modules/base64-js/base64js.min.js +1 -0
  929. data/js/node_modules/base64-js/index.d.ts +3 -0
  930. data/js/node_modules/base64-js/index.js +150 -0
  931. data/js/node_modules/base64-js/package.json +47 -0
  932. data/js/node_modules/bignumber.js/CHANGELOG.md +290 -0
  933. data/js/node_modules/bignumber.js/LICENCE.md +26 -0
  934. data/js/node_modules/bignumber.js/README.md +286 -0
  935. data/js/node_modules/bignumber.js/bignumber.d.ts +1831 -0
  936. data/js/node_modules/bignumber.js/bignumber.js +2926 -0
  937. data/js/node_modules/bignumber.js/bignumber.mjs +2889 -0
  938. data/js/node_modules/bignumber.js/doc/API.html +2249 -0
  939. data/js/node_modules/bignumber.js/package.json +50 -0
  940. data/js/node_modules/combined-stream/License +19 -0
  941. data/js/node_modules/combined-stream/Readme.md +138 -0
  942. data/js/node_modules/combined-stream/lib/combined_stream.js +208 -0
  943. data/js/node_modules/combined-stream/package.json +25 -0
  944. data/js/node_modules/combined-stream/yarn.lock +17 -0
  945. data/js/node_modules/debug/CHANGELOG.md +395 -0
  946. data/js/node_modules/debug/LICENSE +19 -0
  947. data/js/node_modules/debug/Makefile +58 -0
  948. data/js/node_modules/debug/README.md +368 -0
  949. data/js/node_modules/debug/karma.conf.js +70 -0
  950. data/js/node_modules/debug/node.js +1 -0
  951. data/js/node_modules/debug/package.json +43 -0
  952. data/js/node_modules/debug/src/browser.js +195 -0
  953. data/js/node_modules/debug/src/debug.js +225 -0
  954. data/js/node_modules/debug/src/index.js +10 -0
  955. data/js/node_modules/debug/src/node.js +186 -0
  956. data/js/node_modules/delayed-stream/License +19 -0
  957. data/js/node_modules/delayed-stream/Makefile +7 -0
  958. data/js/node_modules/delayed-stream/Readme.md +141 -0
  959. data/js/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  960. data/js/node_modules/delayed-stream/package.json +27 -0
  961. data/js/node_modules/follow-redirects/LICENSE +18 -0
  962. data/js/node_modules/follow-redirects/README.md +155 -0
  963. data/js/node_modules/follow-redirects/http.js +1 -0
  964. data/js/node_modules/follow-redirects/https.js +1 -0
  965. data/js/node_modules/follow-redirects/index.js +322 -0
  966. data/js/node_modules/follow-redirects/package.json +60 -0
  967. data/js/node_modules/form-data/License +19 -0
  968. data/js/node_modules/form-data/README.md.bak +356 -0
  969. data/js/node_modules/form-data/Readme.md +356 -0
  970. data/js/node_modules/form-data/index.d.ts +62 -0
  971. data/js/node_modules/form-data/lib/browser.js +2 -0
  972. data/js/node_modules/form-data/lib/form_data.js +498 -0
  973. data/js/node_modules/form-data/lib/populate.js +10 -0
  974. data/js/node_modules/form-data/package.json +68 -0
  975. data/js/node_modules/js-sha3/CHANGELOG.md +106 -0
  976. data/js/node_modules/js-sha3/LICENSE.txt +20 -0
  977. data/js/node_modules/js-sha3/README.md +241 -0
  978. data/js/node_modules/js-sha3/build/sha3.min.js +9 -0
  979. data/js/node_modules/js-sha3/index.d.ts +317 -0
  980. data/js/node_modules/js-sha3/package.json +45 -0
  981. data/js/node_modules/js-sha3/src/sha3.js +656 -0
  982. data/js/node_modules/long/LICENSE +202 -0
  983. data/js/node_modules/long/README.md +246 -0
  984. data/js/node_modules/long/dist/long.js +2 -0
  985. data/js/node_modules/long/dist/long.js.map +1 -0
  986. data/js/node_modules/long/index.js +1 -0
  987. data/js/node_modules/long/package.json +34 -0
  988. data/js/node_modules/long/src/long.js +1323 -0
  989. data/js/node_modules/mime-db/HISTORY.md +507 -0
  990. data/js/node_modules/mime-db/LICENSE +23 -0
  991. data/js/node_modules/mime-db/README.md +100 -0
  992. data/js/node_modules/mime-db/db.json +8519 -0
  993. data/js/node_modules/mime-db/index.js +12 -0
  994. data/js/node_modules/mime-db/package.json +60 -0
  995. data/js/node_modules/mime-types/HISTORY.md +397 -0
  996. data/js/node_modules/mime-types/LICENSE +23 -0
  997. data/js/node_modules/mime-types/README.md +113 -0
  998. data/js/node_modules/mime-types/index.js +188 -0
  999. data/js/node_modules/mime-types/package.json +44 -0
  1000. data/js/node_modules/ms/index.js +152 -0
  1001. data/js/node_modules/ms/license.md +21 -0
  1002. data/js/node_modules/ms/package.json +37 -0
  1003. data/js/node_modules/ms/readme.md +51 -0
  1004. data/js/node_modules/node-fetch/LICENSE.md +22 -0
  1005. data/js/node_modules/node-fetch/README.md +633 -0
  1006. data/js/node_modules/node-fetch/browser.js +25 -0
  1007. data/js/node_modules/node-fetch/lib/index.es.js +1781 -0
  1008. data/js/node_modules/node-fetch/lib/index.js +1790 -0
  1009. data/js/node_modules/node-fetch/lib/index.mjs +1779 -0
  1010. data/js/node_modules/node-fetch/package.json +89 -0
  1011. data/js/node_modules/node-forge/CHANGELOG.md +211 -0
  1012. data/js/node_modules/node-forge/LICENSE +331 -0
  1013. data/js/node_modules/node-forge/README.md +2097 -0
  1014. data/js/node_modules/node-forge/dist/forge.all.min.js +2 -0
  1015. data/js/node_modules/node-forge/dist/forge.all.min.js.map +1 -0
  1016. data/js/node_modules/node-forge/dist/forge.min.js +2 -0
  1017. data/js/node_modules/node-forge/dist/forge.min.js.map +1 -0
  1018. data/js/node_modules/node-forge/dist/prime.worker.min.js +2 -0
  1019. data/js/node_modules/node-forge/dist/prime.worker.min.js.map +1 -0
  1020. data/js/node_modules/node-forge/flash/README.md +48 -0
  1021. data/js/node_modules/node-forge/flash/package.json +28 -0
  1022. data/js/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  1023. data/js/node_modules/node-forge/lib/aes.js +1091 -0
  1024. data/js/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  1025. data/js/node_modules/node-forge/lib/asn1.js +1408 -0
  1026. data/js/node_modules/node-forge/lib/baseN.js +186 -0
  1027. data/js/node_modules/node-forge/lib/cipher.js +230 -0
  1028. data/js/node_modules/node-forge/lib/cipherModes.js +987 -0
  1029. data/js/node_modules/node-forge/lib/debug.js +78 -0
  1030. data/js/node_modules/node-forge/lib/des.js +496 -0
  1031. data/js/node_modules/node-forge/lib/ed25519.js +996 -0
  1032. data/js/node_modules/node-forge/lib/forge.js +13 -0
  1033. data/js/node_modules/node-forge/lib/form.js +149 -0
  1034. data/js/node_modules/node-forge/lib/hmac.js +146 -0
  1035. data/js/node_modules/node-forge/lib/http.js +1364 -0
  1036. data/js/node_modules/node-forge/lib/index.all.js +16 -0
  1037. data/js/node_modules/node-forge/lib/index.js +35 -0
  1038. data/js/node_modules/node-forge/lib/jsbn.js +1264 -0
  1039. data/js/node_modules/node-forge/lib/kem.js +168 -0
  1040. data/js/node_modules/node-forge/lib/log.js +317 -0
  1041. data/js/node_modules/node-forge/lib/md.all.js +13 -0
  1042. data/js/node_modules/node-forge/lib/md.js +11 -0
  1043. data/js/node_modules/node-forge/lib/md5.js +289 -0
  1044. data/js/node_modules/node-forge/lib/mgf.js +12 -0
  1045. data/js/node_modules/node-forge/lib/mgf1.js +57 -0
  1046. data/js/node_modules/node-forge/lib/oids.js +163 -0
  1047. data/js/node_modules/node-forge/lib/pbe.js +1023 -0
  1048. data/js/node_modules/node-forge/lib/pbkdf2.js +211 -0
  1049. data/js/node_modules/node-forge/lib/pem.js +230 -0
  1050. data/js/node_modules/node-forge/lib/pkcs1.js +276 -0
  1051. data/js/node_modules/node-forge/lib/pkcs12.js +1074 -0
  1052. data/js/node_modules/node-forge/lib/pkcs7.js +1257 -0
  1053. data/js/node_modules/node-forge/lib/pkcs7asn1.js +409 -0
  1054. data/js/node_modules/node-forge/lib/pki.js +102 -0
  1055. data/js/node_modules/node-forge/lib/prime.js +297 -0
  1056. data/js/node_modules/node-forge/lib/prime.worker.js +168 -0
  1057. data/js/node_modules/node-forge/lib/prng.js +419 -0
  1058. data/js/node_modules/node-forge/lib/pss.js +241 -0
  1059. data/js/node_modules/node-forge/lib/random.js +191 -0
  1060. data/js/node_modules/node-forge/lib/rc2.js +410 -0
  1061. data/js/node_modules/node-forge/lib/rsa.js +1858 -0
  1062. data/js/node_modules/node-forge/lib/sha1.js +319 -0
  1063. data/js/node_modules/node-forge/lib/sha256.js +327 -0
  1064. data/js/node_modules/node-forge/lib/sha512.js +561 -0
  1065. data/js/node_modules/node-forge/lib/socket.js +287 -0
  1066. data/js/node_modules/node-forge/lib/ssh.js +236 -0
  1067. data/js/node_modules/node-forge/lib/task.js +725 -0
  1068. data/js/node_modules/node-forge/lib/tls.js +4282 -0
  1069. data/js/node_modules/node-forge/lib/tlssocket.js +249 -0
  1070. data/js/node_modules/node-forge/lib/util.js +2993 -0
  1071. data/js/node_modules/node-forge/lib/x509.js +3333 -0
  1072. data/js/node_modules/node-forge/lib/xhr.js +736 -0
  1073. data/js/node_modules/node-forge/package.json +120 -0
  1074. data/js/node_modules/protobufjs/CHANGELOG.md +1027 -0
  1075. data/js/node_modules/protobufjs/LICENSE +39 -0
  1076. data/js/node_modules/protobufjs/README.md +905 -0
  1077. data/js/node_modules/protobufjs/bin/pbjs +6 -0
  1078. data/js/node_modules/protobufjs/bin/pbts +6 -0
  1079. data/js/node_modules/protobufjs/cli/LICENSE +33 -0
  1080. data/js/node_modules/protobufjs/cli/README.md +174 -0
  1081. data/js/node_modules/protobufjs/cli/bin/pbjs +6 -0
  1082. data/js/node_modules/protobufjs/cli/bin/pbts +6 -0
  1083. data/js/node_modules/protobufjs/cli/index.d.ts +3 -0
  1084. data/js/node_modules/protobufjs/cli/index.js +3 -0
  1085. data/js/node_modules/protobufjs/cli/lib/tsd-jsdoc/LICENSE +21 -0
  1086. data/js/node_modules/protobufjs/cli/lib/tsd-jsdoc/README.md +23 -0
  1087. data/js/node_modules/protobufjs/cli/lib/tsd-jsdoc/plugin.js +21 -0
  1088. data/js/node_modules/protobufjs/cli/lib/tsd-jsdoc/publish.js +705 -0
  1089. data/js/node_modules/protobufjs/cli/lib/tsd-jsdoc.json +18 -0
  1090. data/js/node_modules/protobufjs/cli/package.json +8 -0
  1091. data/js/node_modules/protobufjs/cli/package.standalone.json +32 -0
  1092. data/js/node_modules/protobufjs/cli/pbjs.d.ts +9 -0
  1093. data/js/node_modules/protobufjs/cli/pbjs.js +330 -0
  1094. data/js/node_modules/protobufjs/cli/pbts.d.ts +9 -0
  1095. data/js/node_modules/protobufjs/cli/pbts.js +197 -0
  1096. data/js/node_modules/protobufjs/cli/targets/json-module.js +38 -0
  1097. data/js/node_modules/protobufjs/cli/targets/json.js +8 -0
  1098. data/js/node_modules/protobufjs/cli/targets/proto.js +326 -0
  1099. data/js/node_modules/protobufjs/cli/targets/proto2.js +10 -0
  1100. data/js/node_modules/protobufjs/cli/targets/proto3.js +10 -0
  1101. data/js/node_modules/protobufjs/cli/targets/static-module.js +29 -0
  1102. data/js/node_modules/protobufjs/cli/targets/static.js +711 -0
  1103. data/js/node_modules/protobufjs/cli/util.js +183 -0
  1104. data/js/node_modules/protobufjs/cli/wrappers/amd.js +7 -0
  1105. data/js/node_modules/protobufjs/cli/wrappers/closure.js +7 -0
  1106. data/js/node_modules/protobufjs/cli/wrappers/commonjs.js +7 -0
  1107. data/js/node_modules/protobufjs/cli/wrappers/default.js +15 -0
  1108. data/js/node_modules/protobufjs/cli/wrappers/es6.js +5 -0
  1109. data/js/node_modules/protobufjs/dist/README.md +31 -0
  1110. data/js/node_modules/protobufjs/dist/light/README.md +31 -0
  1111. data/js/node_modules/protobufjs/dist/light/protobuf.js +7322 -0
  1112. data/js/node_modules/protobufjs/dist/light/protobuf.js.map +1 -0
  1113. data/js/node_modules/protobufjs/dist/light/protobuf.min.js +8 -0
  1114. data/js/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -0
  1115. data/js/node_modules/protobufjs/dist/minimal/README.md +31 -0
  1116. data/js/node_modules/protobufjs/dist/minimal/protobuf.js +2714 -0
  1117. data/js/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -0
  1118. data/js/node_modules/protobufjs/dist/minimal/protobuf.min.js +8 -0
  1119. data/js/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -0
  1120. data/js/node_modules/protobufjs/dist/protobuf.js +8964 -0
  1121. data/js/node_modules/protobufjs/dist/protobuf.js.map +1 -0
  1122. data/js/node_modules/protobufjs/dist/protobuf.min.js +8 -0
  1123. data/js/node_modules/protobufjs/dist/protobuf.min.js.map +1 -0
  1124. data/js/node_modules/protobufjs/ext/debug/README.md +4 -0
  1125. data/js/node_modules/protobufjs/ext/debug/index.js +71 -0
  1126. data/js/node_modules/protobufjs/ext/descriptor/README.md +72 -0
  1127. data/js/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -0
  1128. data/js/node_modules/protobufjs/ext/descriptor/index.js +1052 -0
  1129. data/js/node_modules/protobufjs/ext/descriptor/test.js +54 -0
  1130. data/js/node_modules/protobufjs/google/LICENSE +27 -0
  1131. data/js/node_modules/protobufjs/google/README.md +1 -0
  1132. data/js/node_modules/protobufjs/google/api/annotations.json +83 -0
  1133. data/js/node_modules/protobufjs/google/api/annotations.proto +11 -0
  1134. data/js/node_modules/protobufjs/google/api/http.json +86 -0
  1135. data/js/node_modules/protobufjs/google/api/http.proto +31 -0
  1136. data/js/node_modules/protobufjs/google/protobuf/api.json +118 -0
  1137. data/js/node_modules/protobufjs/google/protobuf/api.proto +34 -0
  1138. data/js/node_modules/protobufjs/google/protobuf/descriptor.json +739 -0
  1139. data/js/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -0
  1140. data/js/node_modules/protobufjs/google/protobuf/source_context.json +20 -0
  1141. data/js/node_modules/protobufjs/google/protobuf/source_context.proto +7 -0
  1142. data/js/node_modules/protobufjs/google/protobuf/type.json +202 -0
  1143. data/js/node_modules/protobufjs/google/protobuf/type.proto +89 -0
  1144. data/js/node_modules/protobufjs/index.d.ts +2739 -0
  1145. data/js/node_modules/protobufjs/index.js +4 -0
  1146. data/js/node_modules/protobufjs/light.d.ts +2 -0
  1147. data/js/node_modules/protobufjs/light.js +4 -0
  1148. data/js/node_modules/protobufjs/minimal.d.ts +2 -0
  1149. data/js/node_modules/protobufjs/minimal.js +4 -0
  1150. data/js/node_modules/protobufjs/package-lock.json +7870 -0
  1151. data/js/node_modules/protobufjs/package.json +122 -0
  1152. data/js/node_modules/protobufjs/scripts/changelog.js +150 -0
  1153. data/js/node_modules/protobufjs/scripts/postinstall.js +35 -0
  1154. data/js/node_modules/protobufjs/src/common.js +399 -0
  1155. data/js/node_modules/protobufjs/src/converter.js +293 -0
  1156. data/js/node_modules/protobufjs/src/decoder.js +128 -0
  1157. data/js/node_modules/protobufjs/src/encoder.js +100 -0
  1158. data/js/node_modules/protobufjs/src/enum.js +181 -0
  1159. data/js/node_modules/protobufjs/src/field.js +374 -0
  1160. data/js/node_modules/protobufjs/src/index-light.js +104 -0
  1161. data/js/node_modules/protobufjs/src/index-minimal.js +36 -0
  1162. data/js/node_modules/protobufjs/src/index.js +12 -0
  1163. data/js/node_modules/protobufjs/src/mapfield.js +126 -0
  1164. data/js/node_modules/protobufjs/src/message.js +139 -0
  1165. data/js/node_modules/protobufjs/src/method.js +160 -0
  1166. data/js/node_modules/protobufjs/src/namespace.js +434 -0
  1167. data/js/node_modules/protobufjs/src/object.js +243 -0
  1168. data/js/node_modules/protobufjs/src/oneof.js +203 -0
  1169. data/js/node_modules/protobufjs/src/parse.js +820 -0
  1170. data/js/node_modules/protobufjs/src/reader.js +411 -0
  1171. data/js/node_modules/protobufjs/src/reader_buffer.js +51 -0
  1172. data/js/node_modules/protobufjs/src/root.js +363 -0
  1173. data/js/node_modules/protobufjs/src/roots.js +18 -0
  1174. data/js/node_modules/protobufjs/src/rpc/service.js +142 -0
  1175. data/js/node_modules/protobufjs/src/rpc.js +36 -0
  1176. data/js/node_modules/protobufjs/src/service.js +167 -0
  1177. data/js/node_modules/protobufjs/src/tokenize.js +403 -0
  1178. data/js/node_modules/protobufjs/src/type.js +589 -0
  1179. data/js/node_modules/protobufjs/src/types.js +196 -0
  1180. data/js/node_modules/protobufjs/src/typescript.jsdoc +15 -0
  1181. data/js/node_modules/protobufjs/src/util/longbits.js +200 -0
  1182. data/js/node_modules/protobufjs/src/util/minimal.js +421 -0
  1183. data/js/node_modules/protobufjs/src/util.js +212 -0
  1184. data/js/node_modules/protobufjs/src/verifier.js +177 -0
  1185. data/js/node_modules/protobufjs/src/wrappers.js +102 -0
  1186. data/js/node_modules/protobufjs/src/writer.js +465 -0
  1187. data/js/node_modules/protobufjs/src/writer_buffer.js +85 -0
  1188. data/js/node_modules/protobufjs/tsconfig.json +7 -0
  1189. data/js/node_modules/tr46/index.js +193 -0
  1190. data/js/node_modules/tr46/lib/mappingTable.json +1 -0
  1191. data/js/node_modules/tr46/package.json +31 -0
  1192. data/js/node_modules/typed-ts-events/dist/EventEmitter.d.ts +23 -0
  1193. data/js/node_modules/typed-ts-events/dist/events.js +145 -0
  1194. data/js/node_modules/typed-ts-events/dist/events.js.map +1 -0
  1195. data/js/node_modules/typed-ts-events/dist/events.min.js +2 -0
  1196. data/js/node_modules/typed-ts-events/dist/events.min.js.map +1 -0
  1197. data/js/node_modules/typed-ts-events/dist/index.d.ts +3 -0
  1198. data/js/node_modules/typed-ts-events/package.json +64 -0
  1199. data/js/node_modules/typed-ts-events/readme.md +77 -0
  1200. data/js/node_modules/webidl-conversions/LICENSE.md +12 -0
  1201. data/js/node_modules/webidl-conversions/README.md +53 -0
  1202. data/js/node_modules/webidl-conversions/lib/index.js +189 -0
  1203. data/js/node_modules/webidl-conversions/package.json +23 -0
  1204. data/js/node_modules/whatwg-url/LICENSE.txt +21 -0
  1205. data/js/node_modules/whatwg-url/README.md +67 -0
  1206. data/js/node_modules/whatwg-url/lib/URL-impl.js +200 -0
  1207. data/js/node_modules/whatwg-url/lib/URL.js +196 -0
  1208. data/js/node_modules/whatwg-url/lib/public-api.js +11 -0
  1209. data/js/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
  1210. data/js/node_modules/whatwg-url/lib/utils.js +20 -0
  1211. data/js/node_modules/whatwg-url/package.json +32 -0
  1212. data/js/package-lock.json +706 -0
  1213. data/js/package.json +15 -0
  1214. data/js/worker.js +109 -0
  1215. data/js/yarn.lock +285 -0
  1216. data/lib/waves_lib/map.rb +211 -0
  1217. data/lib/waves_lib/root_wrapper.rb +85 -0
  1218. data/lib/waves_lib/version.rb +6 -0
  1219. data/lib/waves_lib/wrapped_buffer.rb +26 -0
  1220. data/lib/waves_lib/wrapper.rb +82 -0
  1221. data/lib/waves_lib.rb +10 -0
  1222. metadata +1264 -0
@@ -0,0 +1,1257 @@
1
+ /**
2
+ * Javascript implementation of PKCS#7 v1.5.
3
+ *
4
+ * @author Stefan Siegl
5
+ * @author Dave Longley
6
+ *
7
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
8
+ * Copyright (c) 2012-2015 Digital Bazaar, Inc.
9
+ *
10
+ * Currently this implementation only supports ContentType of EnvelopedData,
11
+ * EncryptedData, or SignedData at the root level. The top level elements may
12
+ * contain only a ContentInfo of ContentType Data, i.e. plain data. Further
13
+ * nesting is not (yet) supported.
14
+ *
15
+ * The Forge validators for PKCS #7's ASN.1 structures are available from
16
+ * a separate file pkcs7asn1.js, since those are referenced from other
17
+ * PKCS standards like PKCS #12.
18
+ */
19
+ var forge = require('./forge');
20
+ require('./aes');
21
+ require('./asn1');
22
+ require('./des');
23
+ require('./oids');
24
+ require('./pem');
25
+ require('./pkcs7asn1');
26
+ require('./random');
27
+ require('./util');
28
+ require('./x509');
29
+
30
+ // shortcut for ASN.1 API
31
+ var asn1 = forge.asn1;
32
+
33
+ // shortcut for PKCS#7 API
34
+ var p7 = module.exports = forge.pkcs7 = forge.pkcs7 || {};
35
+
36
+ /**
37
+ * Converts a PKCS#7 message from PEM format.
38
+ *
39
+ * @param pem the PEM-formatted PKCS#7 message.
40
+ *
41
+ * @return the PKCS#7 message.
42
+ */
43
+ p7.messageFromPem = function(pem) {
44
+ var msg = forge.pem.decode(pem)[0];
45
+
46
+ if(msg.type !== 'PKCS7') {
47
+ var error = new Error('Could not convert PKCS#7 message from PEM; PEM ' +
48
+ 'header type is not "PKCS#7".');
49
+ error.headerType = msg.type;
50
+ throw error;
51
+ }
52
+ if(msg.procType && msg.procType.type === 'ENCRYPTED') {
53
+ throw new Error('Could not convert PKCS#7 message from PEM; PEM is encrypted.');
54
+ }
55
+
56
+ // convert DER to ASN.1 object
57
+ var obj = asn1.fromDer(msg.body);
58
+
59
+ return p7.messageFromAsn1(obj);
60
+ };
61
+
62
+ /**
63
+ * Converts a PKCS#7 message to PEM format.
64
+ *
65
+ * @param msg The PKCS#7 message object
66
+ * @param maxline The maximum characters per line, defaults to 64.
67
+ *
68
+ * @return The PEM-formatted PKCS#7 message.
69
+ */
70
+ p7.messageToPem = function(msg, maxline) {
71
+ // convert to ASN.1, then DER, then PEM-encode
72
+ var pemObj = {
73
+ type: 'PKCS7',
74
+ body: asn1.toDer(msg.toAsn1()).getBytes()
75
+ };
76
+ return forge.pem.encode(pemObj, {maxline: maxline});
77
+ };
78
+
79
+ /**
80
+ * Converts a PKCS#7 message from an ASN.1 object.
81
+ *
82
+ * @param obj the ASN.1 representation of a ContentInfo.
83
+ *
84
+ * @return the PKCS#7 message.
85
+ */
86
+ p7.messageFromAsn1 = function(obj) {
87
+ // validate root level ContentInfo and capture data
88
+ var capture = {};
89
+ var errors = [];
90
+ if(!asn1.validate(obj, p7.asn1.contentInfoValidator, capture, errors)) {
91
+ var error = new Error('Cannot read PKCS#7 message. ' +
92
+ 'ASN.1 object is not an PKCS#7 ContentInfo.');
93
+ error.errors = errors;
94
+ throw error;
95
+ }
96
+
97
+ var contentType = asn1.derToOid(capture.contentType);
98
+ var msg;
99
+
100
+ switch(contentType) {
101
+ case forge.pki.oids.envelopedData:
102
+ msg = p7.createEnvelopedData();
103
+ break;
104
+
105
+ case forge.pki.oids.encryptedData:
106
+ msg = p7.createEncryptedData();
107
+ break;
108
+
109
+ case forge.pki.oids.signedData:
110
+ msg = p7.createSignedData();
111
+ break;
112
+
113
+ default:
114
+ throw new Error('Cannot read PKCS#7 message. ContentType with OID ' +
115
+ contentType + ' is not (yet) supported.');
116
+ }
117
+
118
+ msg.fromAsn1(capture.content.value[0]);
119
+ return msg;
120
+ };
121
+
122
+ p7.createSignedData = function() {
123
+ var msg = null;
124
+ msg = {
125
+ type: forge.pki.oids.signedData,
126
+ version: 1,
127
+ certificates: [],
128
+ crls: [],
129
+ // TODO: add json-formatted signer stuff here?
130
+ signers: [],
131
+ // populated during sign()
132
+ digestAlgorithmIdentifiers: [],
133
+ contentInfo: null,
134
+ signerInfos: [],
135
+
136
+ fromAsn1: function(obj) {
137
+ // validate SignedData content block and capture data.
138
+ _fromAsn1(msg, obj, p7.asn1.signedDataValidator);
139
+ msg.certificates = [];
140
+ msg.crls = [];
141
+ msg.digestAlgorithmIdentifiers = [];
142
+ msg.contentInfo = null;
143
+ msg.signerInfos = [];
144
+
145
+ if(msg.rawCapture.certificates) {
146
+ var certs = msg.rawCapture.certificates.value;
147
+ for(var i = 0; i < certs.length; ++i) {
148
+ msg.certificates.push(forge.pki.certificateFromAsn1(certs[i]));
149
+ }
150
+ }
151
+
152
+ // TODO: parse crls
153
+ },
154
+
155
+ toAsn1: function() {
156
+ // degenerate case with no content
157
+ if(!msg.contentInfo) {
158
+ msg.sign();
159
+ }
160
+
161
+ var certs = [];
162
+ for(var i = 0; i < msg.certificates.length; ++i) {
163
+ certs.push(forge.pki.certificateToAsn1(msg.certificates[i]));
164
+ }
165
+
166
+ var crls = [];
167
+ // TODO: implement CRLs
168
+
169
+ // [0] SignedData
170
+ var signedData = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [
171
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
172
+ // Version
173
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
174
+ asn1.integerToDer(msg.version).getBytes()),
175
+ // DigestAlgorithmIdentifiers
176
+ asn1.create(
177
+ asn1.Class.UNIVERSAL, asn1.Type.SET, true,
178
+ msg.digestAlgorithmIdentifiers),
179
+ // ContentInfo
180
+ msg.contentInfo
181
+ ])
182
+ ]);
183
+ if(certs.length > 0) {
184
+ // [0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL
185
+ signedData.value[0].value.push(
186
+ asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, certs));
187
+ }
188
+ if(crls.length > 0) {
189
+ // [1] IMPLICIT CertificateRevocationLists OPTIONAL
190
+ signedData.value[0].value.push(
191
+ asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, crls));
192
+ }
193
+ // SignerInfos
194
+ signedData.value[0].value.push(
195
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true,
196
+ msg.signerInfos));
197
+
198
+ // ContentInfo
199
+ return asn1.create(
200
+ asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
201
+ // ContentType
202
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
203
+ asn1.oidToDer(msg.type).getBytes()),
204
+ // [0] SignedData
205
+ signedData
206
+ ]);
207
+ },
208
+
209
+ /**
210
+ * Add (another) entity to list of signers.
211
+ *
212
+ * Note: If authenticatedAttributes are provided, then, per RFC 2315,
213
+ * they must include at least two attributes: content type and
214
+ * message digest. The message digest attribute value will be
215
+ * auto-calculated during signing and will be ignored if provided.
216
+ *
217
+ * Here's an example of providing these two attributes:
218
+ *
219
+ * forge.pkcs7.createSignedData();
220
+ * p7.addSigner({
221
+ * issuer: cert.issuer.attributes,
222
+ * serialNumber: cert.serialNumber,
223
+ * key: privateKey,
224
+ * digestAlgorithm: forge.pki.oids.sha1,
225
+ * authenticatedAttributes: [{
226
+ * type: forge.pki.oids.contentType,
227
+ * value: forge.pki.oids.data
228
+ * }, {
229
+ * type: forge.pki.oids.messageDigest
230
+ * }]
231
+ * });
232
+ *
233
+ * TODO: Support [subjectKeyIdentifier] as signer's ID.
234
+ *
235
+ * @param signer the signer information:
236
+ * key the signer's private key.
237
+ * [certificate] a certificate containing the public key
238
+ * associated with the signer's private key; use this option as
239
+ * an alternative to specifying signer.issuer and
240
+ * signer.serialNumber.
241
+ * [issuer] the issuer attributes (eg: cert.issuer.attributes).
242
+ * [serialNumber] the signer's certificate's serial number in
243
+ * hexadecimal (eg: cert.serialNumber).
244
+ * [digestAlgorithm] the message digest OID, as a string, to use
245
+ * (eg: forge.pki.oids.sha1).
246
+ * [authenticatedAttributes] an optional array of attributes
247
+ * to also sign along with the content.
248
+ */
249
+ addSigner: function(signer) {
250
+ var issuer = signer.issuer;
251
+ var serialNumber = signer.serialNumber;
252
+ if(signer.certificate) {
253
+ var cert = signer.certificate;
254
+ if(typeof cert === 'string') {
255
+ cert = forge.pki.certificateFromPem(cert);
256
+ }
257
+ issuer = cert.issuer.attributes;
258
+ serialNumber = cert.serialNumber;
259
+ }
260
+ var key = signer.key;
261
+ if(!key) {
262
+ throw new Error(
263
+ 'Could not add PKCS#7 signer; no private key specified.');
264
+ }
265
+ if(typeof key === 'string') {
266
+ key = forge.pki.privateKeyFromPem(key);
267
+ }
268
+
269
+ // ensure OID known for digest algorithm
270
+ var digestAlgorithm = signer.digestAlgorithm || forge.pki.oids.sha1;
271
+ switch(digestAlgorithm) {
272
+ case forge.pki.oids.sha1:
273
+ case forge.pki.oids.sha256:
274
+ case forge.pki.oids.sha384:
275
+ case forge.pki.oids.sha512:
276
+ case forge.pki.oids.md5:
277
+ break;
278
+ default:
279
+ throw new Error(
280
+ 'Could not add PKCS#7 signer; unknown message digest algorithm: ' +
281
+ digestAlgorithm);
282
+ }
283
+
284
+ // if authenticatedAttributes is present, then the attributes
285
+ // must contain at least PKCS #9 content-type and message-digest
286
+ var authenticatedAttributes = signer.authenticatedAttributes || [];
287
+ if(authenticatedAttributes.length > 0) {
288
+ var contentType = false;
289
+ var messageDigest = false;
290
+ for(var i = 0; i < authenticatedAttributes.length; ++i) {
291
+ var attr = authenticatedAttributes[i];
292
+ if(!contentType && attr.type === forge.pki.oids.contentType) {
293
+ contentType = true;
294
+ if(messageDigest) {
295
+ break;
296
+ }
297
+ continue;
298
+ }
299
+ if(!messageDigest && attr.type === forge.pki.oids.messageDigest) {
300
+ messageDigest = true;
301
+ if(contentType) {
302
+ break;
303
+ }
304
+ continue;
305
+ }
306
+ }
307
+
308
+ if(!contentType || !messageDigest) {
309
+ throw new Error('Invalid signer.authenticatedAttributes. If ' +
310
+ 'signer.authenticatedAttributes is specified, then it must ' +
311
+ 'contain at least two attributes, PKCS #9 content-type and ' +
312
+ 'PKCS #9 message-digest.');
313
+ }
314
+ }
315
+
316
+ msg.signers.push({
317
+ key: key,
318
+ version: 1,
319
+ issuer: issuer,
320
+ serialNumber: serialNumber,
321
+ digestAlgorithm: digestAlgorithm,
322
+ signatureAlgorithm: forge.pki.oids.rsaEncryption,
323
+ signature: null,
324
+ authenticatedAttributes: authenticatedAttributes,
325
+ unauthenticatedAttributes: []
326
+ });
327
+ },
328
+
329
+ /**
330
+ * Signs the content.
331
+ * @param options Options to apply when signing:
332
+ * [detached] boolean. If signing should be done in detached mode. Defaults to false.
333
+ */
334
+ sign: function(options) {
335
+ options = options || {};
336
+ // auto-generate content info
337
+ if(typeof msg.content !== 'object' || msg.contentInfo === null) {
338
+ // use Data ContentInfo
339
+ msg.contentInfo = asn1.create(
340
+ asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
341
+ // ContentType
342
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
343
+ asn1.oidToDer(forge.pki.oids.data).getBytes())
344
+ ]);
345
+
346
+ // add actual content, if present
347
+ if('content' in msg) {
348
+ var content;
349
+ if(msg.content instanceof forge.util.ByteBuffer) {
350
+ content = msg.content.bytes();
351
+ } else if(typeof msg.content === 'string') {
352
+ content = forge.util.encodeUtf8(msg.content);
353
+ }
354
+
355
+ if (options.detached) {
356
+ msg.detachedContent = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, content);
357
+ } else {
358
+ msg.contentInfo.value.push(
359
+ // [0] EXPLICIT content
360
+ asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [
361
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false,
362
+ content)
363
+ ]));
364
+ }
365
+ }
366
+ }
367
+
368
+ // no signers, return early (degenerate case for certificate container)
369
+ if(msg.signers.length === 0) {
370
+ return;
371
+ }
372
+
373
+ // generate digest algorithm identifiers
374
+ var mds = addDigestAlgorithmIds();
375
+
376
+ // generate signerInfos
377
+ addSignerInfos(mds);
378
+ },
379
+
380
+ verify: function() {
381
+ throw new Error('PKCS#7 signature verification not yet implemented.');
382
+ },
383
+
384
+ /**
385
+ * Add a certificate.
386
+ *
387
+ * @param cert the certificate to add.
388
+ */
389
+ addCertificate: function(cert) {
390
+ // convert from PEM
391
+ if(typeof cert === 'string') {
392
+ cert = forge.pki.certificateFromPem(cert);
393
+ }
394
+ msg.certificates.push(cert);
395
+ },
396
+
397
+ /**
398
+ * Add a certificate revokation list.
399
+ *
400
+ * @param crl the certificate revokation list to add.
401
+ */
402
+ addCertificateRevokationList: function(crl) {
403
+ throw new Error('PKCS#7 CRL support not yet implemented.');
404
+ }
405
+ };
406
+ return msg;
407
+
408
+ function addDigestAlgorithmIds() {
409
+ var mds = {};
410
+
411
+ for(var i = 0; i < msg.signers.length; ++i) {
412
+ var signer = msg.signers[i];
413
+ var oid = signer.digestAlgorithm;
414
+ if(!(oid in mds)) {
415
+ // content digest
416
+ mds[oid] = forge.md[forge.pki.oids[oid]].create();
417
+ }
418
+ if(signer.authenticatedAttributes.length === 0) {
419
+ // no custom attributes to digest; use content message digest
420
+ signer.md = mds[oid];
421
+ } else {
422
+ // custom attributes to be digested; use own message digest
423
+ // TODO: optimize to just copy message digest state if that
424
+ // feature is ever supported with message digests
425
+ signer.md = forge.md[forge.pki.oids[oid]].create();
426
+ }
427
+ }
428
+
429
+ // add unique digest algorithm identifiers
430
+ msg.digestAlgorithmIdentifiers = [];
431
+ for(var oid in mds) {
432
+ msg.digestAlgorithmIdentifiers.push(
433
+ // AlgorithmIdentifier
434
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
435
+ // algorithm
436
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
437
+ asn1.oidToDer(oid).getBytes()),
438
+ // parameters (null)
439
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '')
440
+ ]));
441
+ }
442
+
443
+ return mds;
444
+ }
445
+
446
+ function addSignerInfos(mds) {
447
+ var content;
448
+
449
+ if (msg.detachedContent) {
450
+ // Signature has been made in detached mode.
451
+ content = msg.detachedContent;
452
+ } else {
453
+ // Note: ContentInfo is a SEQUENCE with 2 values, second value is
454
+ // the content field and is optional for a ContentInfo but required here
455
+ // since signers are present
456
+ // get ContentInfo content
457
+ content = msg.contentInfo.value[1];
458
+ // skip [0] EXPLICIT content wrapper
459
+ content = content.value[0];
460
+ }
461
+
462
+ if(!content) {
463
+ throw new Error(
464
+ 'Could not sign PKCS#7 message; there is no content to sign.');
465
+ }
466
+
467
+ // get ContentInfo content type
468
+ var contentType = asn1.derToOid(msg.contentInfo.value[0].value);
469
+
470
+ // serialize content
471
+ var bytes = asn1.toDer(content);
472
+
473
+ // skip identifier and length per RFC 2315 9.3
474
+ // skip identifier (1 byte)
475
+ bytes.getByte();
476
+ // read and discard length bytes
477
+ asn1.getBerValueLength(bytes);
478
+ bytes = bytes.getBytes();
479
+
480
+ // digest content DER value bytes
481
+ for(var oid in mds) {
482
+ mds[oid].start().update(bytes);
483
+ }
484
+
485
+ // sign content
486
+ var signingTime = new Date();
487
+ for(var i = 0; i < msg.signers.length; ++i) {
488
+ var signer = msg.signers[i];
489
+
490
+ if(signer.authenticatedAttributes.length === 0) {
491
+ // if ContentInfo content type is not "Data", then
492
+ // authenticatedAttributes must be present per RFC 2315
493
+ if(contentType !== forge.pki.oids.data) {
494
+ throw new Error(
495
+ 'Invalid signer; authenticatedAttributes must be present ' +
496
+ 'when the ContentInfo content type is not PKCS#7 Data.');
497
+ }
498
+ } else {
499
+ // process authenticated attributes
500
+ // [0] IMPLICIT
501
+ signer.authenticatedAttributesAsn1 = asn1.create(
502
+ asn1.Class.CONTEXT_SPECIFIC, 0, true, []);
503
+
504
+ // per RFC 2315, attributes are to be digested using a SET container
505
+ // not the above [0] IMPLICIT container
506
+ var attrsAsn1 = asn1.create(
507
+ asn1.Class.UNIVERSAL, asn1.Type.SET, true, []);
508
+
509
+ for(var ai = 0; ai < signer.authenticatedAttributes.length; ++ai) {
510
+ var attr = signer.authenticatedAttributes[ai];
511
+ if(attr.type === forge.pki.oids.messageDigest) {
512
+ // use content message digest as value
513
+ attr.value = mds[signer.digestAlgorithm].digest();
514
+ } else if(attr.type === forge.pki.oids.signingTime) {
515
+ // auto-populate signing time if not already set
516
+ if(!attr.value) {
517
+ attr.value = signingTime;
518
+ }
519
+ }
520
+
521
+ // convert to ASN.1 and push onto Attributes SET (for signing) and
522
+ // onto authenticatedAttributesAsn1 to complete SignedData ASN.1
523
+ // TODO: optimize away duplication
524
+ attrsAsn1.value.push(_attributeToAsn1(attr));
525
+ signer.authenticatedAttributesAsn1.value.push(_attributeToAsn1(attr));
526
+ }
527
+
528
+ // DER-serialize and digest SET OF attributes only
529
+ bytes = asn1.toDer(attrsAsn1).getBytes();
530
+ signer.md.start().update(bytes);
531
+ }
532
+
533
+ // sign digest
534
+ signer.signature = signer.key.sign(signer.md, 'RSASSA-PKCS1-V1_5');
535
+ }
536
+
537
+ // add signer info
538
+ msg.signerInfos = _signersToAsn1(msg.signers);
539
+ }
540
+ };
541
+
542
+ /**
543
+ * Creates an empty PKCS#7 message of type EncryptedData.
544
+ *
545
+ * @return the message.
546
+ */
547
+ p7.createEncryptedData = function() {
548
+ var msg = null;
549
+ msg = {
550
+ type: forge.pki.oids.encryptedData,
551
+ version: 0,
552
+ encryptedContent: {
553
+ algorithm: forge.pki.oids['aes256-CBC']
554
+ },
555
+
556
+ /**
557
+ * Reads an EncryptedData content block (in ASN.1 format)
558
+ *
559
+ * @param obj The ASN.1 representation of the EncryptedData content block
560
+ */
561
+ fromAsn1: function(obj) {
562
+ // Validate EncryptedData content block and capture data.
563
+ _fromAsn1(msg, obj, p7.asn1.encryptedDataValidator);
564
+ },
565
+
566
+ /**
567
+ * Decrypt encrypted content
568
+ *
569
+ * @param key The (symmetric) key as a byte buffer
570
+ */
571
+ decrypt: function(key) {
572
+ if(key !== undefined) {
573
+ msg.encryptedContent.key = key;
574
+ }
575
+ _decryptContent(msg);
576
+ }
577
+ };
578
+ return msg;
579
+ };
580
+
581
+ /**
582
+ * Creates an empty PKCS#7 message of type EnvelopedData.
583
+ *
584
+ * @return the message.
585
+ */
586
+ p7.createEnvelopedData = function() {
587
+ var msg = null;
588
+ msg = {
589
+ type: forge.pki.oids.envelopedData,
590
+ version: 0,
591
+ recipients: [],
592
+ encryptedContent: {
593
+ algorithm: forge.pki.oids['aes256-CBC']
594
+ },
595
+
596
+ /**
597
+ * Reads an EnvelopedData content block (in ASN.1 format)
598
+ *
599
+ * @param obj the ASN.1 representation of the EnvelopedData content block.
600
+ */
601
+ fromAsn1: function(obj) {
602
+ // validate EnvelopedData content block and capture data
603
+ var capture = _fromAsn1(msg, obj, p7.asn1.envelopedDataValidator);
604
+ msg.recipients = _recipientsFromAsn1(capture.recipientInfos.value);
605
+ },
606
+
607
+ toAsn1: function() {
608
+ // ContentInfo
609
+ return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
610
+ // ContentType
611
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
612
+ asn1.oidToDer(msg.type).getBytes()),
613
+ // [0] EnvelopedData
614
+ asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [
615
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
616
+ // Version
617
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
618
+ asn1.integerToDer(msg.version).getBytes()),
619
+ // RecipientInfos
620
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true,
621
+ _recipientsToAsn1(msg.recipients)),
622
+ // EncryptedContentInfo
623
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true,
624
+ _encryptedContentToAsn1(msg.encryptedContent))
625
+ ])
626
+ ])
627
+ ]);
628
+ },
629
+
630
+ /**
631
+ * Find recipient by X.509 certificate's issuer.
632
+ *
633
+ * @param cert the certificate with the issuer to look for.
634
+ *
635
+ * @return the recipient object.
636
+ */
637
+ findRecipient: function(cert) {
638
+ var sAttr = cert.issuer.attributes;
639
+
640
+ for(var i = 0; i < msg.recipients.length; ++i) {
641
+ var r = msg.recipients[i];
642
+ var rAttr = r.issuer;
643
+
644
+ if(r.serialNumber !== cert.serialNumber) {
645
+ continue;
646
+ }
647
+
648
+ if(rAttr.length !== sAttr.length) {
649
+ continue;
650
+ }
651
+
652
+ var match = true;
653
+ for(var j = 0; j < sAttr.length; ++j) {
654
+ if(rAttr[j].type !== sAttr[j].type ||
655
+ rAttr[j].value !== sAttr[j].value) {
656
+ match = false;
657
+ break;
658
+ }
659
+ }
660
+
661
+ if(match) {
662
+ return r;
663
+ }
664
+ }
665
+
666
+ return null;
667
+ },
668
+
669
+ /**
670
+ * Decrypt enveloped content
671
+ *
672
+ * @param recipient The recipient object related to the private key
673
+ * @param privKey The (RSA) private key object
674
+ */
675
+ decrypt: function(recipient, privKey) {
676
+ if(msg.encryptedContent.key === undefined && recipient !== undefined &&
677
+ privKey !== undefined) {
678
+ switch(recipient.encryptedContent.algorithm) {
679
+ case forge.pki.oids.rsaEncryption:
680
+ case forge.pki.oids.desCBC:
681
+ var key = privKey.decrypt(recipient.encryptedContent.content);
682
+ msg.encryptedContent.key = forge.util.createBuffer(key);
683
+ break;
684
+
685
+ default:
686
+ throw new Error('Unsupported asymmetric cipher, ' +
687
+ 'OID ' + recipient.encryptedContent.algorithm);
688
+ }
689
+ }
690
+
691
+ _decryptContent(msg);
692
+ },
693
+
694
+ /**
695
+ * Add (another) entity to list of recipients.
696
+ *
697
+ * @param cert The certificate of the entity to add.
698
+ */
699
+ addRecipient: function(cert) {
700
+ msg.recipients.push({
701
+ version: 0,
702
+ issuer: cert.issuer.attributes,
703
+ serialNumber: cert.serialNumber,
704
+ encryptedContent: {
705
+ // We simply assume rsaEncryption here, since forge.pki only
706
+ // supports RSA so far. If the PKI module supports other
707
+ // ciphers one day, we need to modify this one as well.
708
+ algorithm: forge.pki.oids.rsaEncryption,
709
+ key: cert.publicKey
710
+ }
711
+ });
712
+ },
713
+
714
+ /**
715
+ * Encrypt enveloped content.
716
+ *
717
+ * This function supports two optional arguments, cipher and key, which
718
+ * can be used to influence symmetric encryption. Unless cipher is
719
+ * provided, the cipher specified in encryptedContent.algorithm is used
720
+ * (defaults to AES-256-CBC). If no key is provided, encryptedContent.key
721
+ * is (re-)used. If that one's not set, a random key will be generated
722
+ * automatically.
723
+ *
724
+ * @param [key] The key to be used for symmetric encryption.
725
+ * @param [cipher] The OID of the symmetric cipher to use.
726
+ */
727
+ encrypt: function(key, cipher) {
728
+ // Part 1: Symmetric encryption
729
+ if(msg.encryptedContent.content === undefined) {
730
+ cipher = cipher || msg.encryptedContent.algorithm;
731
+ key = key || msg.encryptedContent.key;
732
+
733
+ var keyLen, ivLen, ciphFn;
734
+ switch(cipher) {
735
+ case forge.pki.oids['aes128-CBC']:
736
+ keyLen = 16;
737
+ ivLen = 16;
738
+ ciphFn = forge.aes.createEncryptionCipher;
739
+ break;
740
+
741
+ case forge.pki.oids['aes192-CBC']:
742
+ keyLen = 24;
743
+ ivLen = 16;
744
+ ciphFn = forge.aes.createEncryptionCipher;
745
+ break;
746
+
747
+ case forge.pki.oids['aes256-CBC']:
748
+ keyLen = 32;
749
+ ivLen = 16;
750
+ ciphFn = forge.aes.createEncryptionCipher;
751
+ break;
752
+
753
+ case forge.pki.oids['des-EDE3-CBC']:
754
+ keyLen = 24;
755
+ ivLen = 8;
756
+ ciphFn = forge.des.createEncryptionCipher;
757
+ break;
758
+
759
+ default:
760
+ throw new Error('Unsupported symmetric cipher, OID ' + cipher);
761
+ }
762
+
763
+ if(key === undefined) {
764
+ key = forge.util.createBuffer(forge.random.getBytes(keyLen));
765
+ } else if(key.length() != keyLen) {
766
+ throw new Error('Symmetric key has wrong length; ' +
767
+ 'got ' + key.length() + ' bytes, expected ' + keyLen + '.');
768
+ }
769
+
770
+ // Keep a copy of the key & IV in the object, so the caller can
771
+ // use it for whatever reason.
772
+ msg.encryptedContent.algorithm = cipher;
773
+ msg.encryptedContent.key = key;
774
+ msg.encryptedContent.parameter = forge.util.createBuffer(
775
+ forge.random.getBytes(ivLen));
776
+
777
+ var ciph = ciphFn(key);
778
+ ciph.start(msg.encryptedContent.parameter.copy());
779
+ ciph.update(msg.content);
780
+
781
+ // The finish function does PKCS#7 padding by default, therefore
782
+ // no action required by us.
783
+ if(!ciph.finish()) {
784
+ throw new Error('Symmetric encryption failed.');
785
+ }
786
+
787
+ msg.encryptedContent.content = ciph.output;
788
+ }
789
+
790
+ // Part 2: asymmetric encryption for each recipient
791
+ for(var i = 0; i < msg.recipients.length; ++i) {
792
+ var recipient = msg.recipients[i];
793
+
794
+ // Nothing to do, encryption already done.
795
+ if(recipient.encryptedContent.content !== undefined) {
796
+ continue;
797
+ }
798
+
799
+ switch(recipient.encryptedContent.algorithm) {
800
+ case forge.pki.oids.rsaEncryption:
801
+ recipient.encryptedContent.content =
802
+ recipient.encryptedContent.key.encrypt(
803
+ msg.encryptedContent.key.data);
804
+ break;
805
+
806
+ default:
807
+ throw new Error('Unsupported asymmetric cipher, OID ' +
808
+ recipient.encryptedContent.algorithm);
809
+ }
810
+ }
811
+ }
812
+ };
813
+ return msg;
814
+ };
815
+
816
+ /**
817
+ * Converts a single recipient from an ASN.1 object.
818
+ *
819
+ * @param obj the ASN.1 RecipientInfo.
820
+ *
821
+ * @return the recipient object.
822
+ */
823
+ function _recipientFromAsn1(obj) {
824
+ // validate EnvelopedData content block and capture data
825
+ var capture = {};
826
+ var errors = [];
827
+ if(!asn1.validate(obj, p7.asn1.recipientInfoValidator, capture, errors)) {
828
+ var error = new Error('Cannot read PKCS#7 RecipientInfo. ' +
829
+ 'ASN.1 object is not an PKCS#7 RecipientInfo.');
830
+ error.errors = errors;
831
+ throw error;
832
+ }
833
+
834
+ return {
835
+ version: capture.version.charCodeAt(0),
836
+ issuer: forge.pki.RDNAttributesAsArray(capture.issuer),
837
+ serialNumber: forge.util.createBuffer(capture.serial).toHex(),
838
+ encryptedContent: {
839
+ algorithm: asn1.derToOid(capture.encAlgorithm),
840
+ parameter: capture.encParameter.value,
841
+ content: capture.encKey
842
+ }
843
+ };
844
+ }
845
+
846
+ /**
847
+ * Converts a single recipient object to an ASN.1 object.
848
+ *
849
+ * @param obj the recipient object.
850
+ *
851
+ * @return the ASN.1 RecipientInfo.
852
+ */
853
+ function _recipientToAsn1(obj) {
854
+ return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
855
+ // Version
856
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
857
+ asn1.integerToDer(obj.version).getBytes()),
858
+ // IssuerAndSerialNumber
859
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
860
+ // Name
861
+ forge.pki.distinguishedNameToAsn1({attributes: obj.issuer}),
862
+ // Serial
863
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
864
+ forge.util.hexToBytes(obj.serialNumber))
865
+ ]),
866
+ // KeyEncryptionAlgorithmIdentifier
867
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
868
+ // Algorithm
869
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
870
+ asn1.oidToDer(obj.encryptedContent.algorithm).getBytes()),
871
+ // Parameter, force NULL, only RSA supported for now.
872
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '')
873
+ ]),
874
+ // EncryptedKey
875
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false,
876
+ obj.encryptedContent.content)
877
+ ]);
878
+ }
879
+
880
+ /**
881
+ * Map a set of RecipientInfo ASN.1 objects to recipient objects.
882
+ *
883
+ * @param infos an array of ASN.1 representations RecipientInfo (i.e. SET OF).
884
+ *
885
+ * @return an array of recipient objects.
886
+ */
887
+ function _recipientsFromAsn1(infos) {
888
+ var ret = [];
889
+ for(var i = 0; i < infos.length; ++i) {
890
+ ret.push(_recipientFromAsn1(infos[i]));
891
+ }
892
+ return ret;
893
+ }
894
+
895
+ /**
896
+ * Map an array of recipient objects to ASN.1 RecipientInfo objects.
897
+ *
898
+ * @param recipients an array of recipientInfo objects.
899
+ *
900
+ * @return an array of ASN.1 RecipientInfos.
901
+ */
902
+ function _recipientsToAsn1(recipients) {
903
+ var ret = [];
904
+ for(var i = 0; i < recipients.length; ++i) {
905
+ ret.push(_recipientToAsn1(recipients[i]));
906
+ }
907
+ return ret;
908
+ }
909
+
910
+ /**
911
+ * Converts a single signer from an ASN.1 object.
912
+ *
913
+ * @param obj the ASN.1 representation of a SignerInfo.
914
+ *
915
+ * @return the signer object.
916
+ */
917
+ function _signerFromAsn1(obj) {
918
+ // validate EnvelopedData content block and capture data
919
+ var capture = {};
920
+ var errors = [];
921
+ if(!asn1.validate(obj, p7.asn1.signerInfoValidator, capture, errors)) {
922
+ var error = new Error('Cannot read PKCS#7 SignerInfo. ' +
923
+ 'ASN.1 object is not an PKCS#7 SignerInfo.');
924
+ error.errors = errors;
925
+ throw error;
926
+ }
927
+
928
+ var rval = {
929
+ version: capture.version.charCodeAt(0),
930
+ issuer: forge.pki.RDNAttributesAsArray(capture.issuer),
931
+ serialNumber: forge.util.createBuffer(capture.serial).toHex(),
932
+ digestAlgorithm: asn1.derToOid(capture.digestAlgorithm),
933
+ signatureAlgorithm: asn1.derToOid(capture.signatureAlgorithm),
934
+ signature: capture.signature,
935
+ authenticatedAttributes: [],
936
+ unauthenticatedAttributes: []
937
+ };
938
+
939
+ // TODO: convert attributes
940
+ var authenticatedAttributes = capture.authenticatedAttributes || [];
941
+ var unauthenticatedAttributes = capture.unauthenticatedAttributes || [];
942
+
943
+ return rval;
944
+ }
945
+
946
+ /**
947
+ * Converts a single signerInfo object to an ASN.1 object.
948
+ *
949
+ * @param obj the signerInfo object.
950
+ *
951
+ * @return the ASN.1 representation of a SignerInfo.
952
+ */
953
+ function _signerToAsn1(obj) {
954
+ // SignerInfo
955
+ var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
956
+ // version
957
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
958
+ asn1.integerToDer(obj.version).getBytes()),
959
+ // issuerAndSerialNumber
960
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
961
+ // name
962
+ forge.pki.distinguishedNameToAsn1({attributes: obj.issuer}),
963
+ // serial
964
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false,
965
+ forge.util.hexToBytes(obj.serialNumber))
966
+ ]),
967
+ // digestAlgorithm
968
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
969
+ // algorithm
970
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
971
+ asn1.oidToDer(obj.digestAlgorithm).getBytes()),
972
+ // parameters (null)
973
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '')
974
+ ])
975
+ ]);
976
+
977
+ // authenticatedAttributes (OPTIONAL)
978
+ if(obj.authenticatedAttributesAsn1) {
979
+ // add ASN.1 previously generated during signing
980
+ rval.value.push(obj.authenticatedAttributesAsn1);
981
+ }
982
+
983
+ // digestEncryptionAlgorithm
984
+ rval.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
985
+ // algorithm
986
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
987
+ asn1.oidToDer(obj.signatureAlgorithm).getBytes()),
988
+ // parameters (null)
989
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '')
990
+ ]));
991
+
992
+ // encryptedDigest
993
+ rval.value.push(asn1.create(
994
+ asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, obj.signature));
995
+
996
+ // unauthenticatedAttributes (OPTIONAL)
997
+ if(obj.unauthenticatedAttributes.length > 0) {
998
+ // [1] IMPLICIT
999
+ var attrsAsn1 = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, []);
1000
+ for(var i = 0; i < obj.unauthenticatedAttributes.length; ++i) {
1001
+ var attr = obj.unauthenticatedAttributes[i];
1002
+ attrsAsn1.values.push(_attributeToAsn1(attr));
1003
+ }
1004
+ rval.value.push(attrsAsn1);
1005
+ }
1006
+
1007
+ return rval;
1008
+ }
1009
+
1010
+ /**
1011
+ * Map a set of SignerInfo ASN.1 objects to an array of signer objects.
1012
+ *
1013
+ * @param signerInfoAsn1s an array of ASN.1 SignerInfos (i.e. SET OF).
1014
+ *
1015
+ * @return an array of signers objects.
1016
+ */
1017
+ function _signersFromAsn1(signerInfoAsn1s) {
1018
+ var ret = [];
1019
+ for(var i = 0; i < signerInfoAsn1s.length; ++i) {
1020
+ ret.push(_signerFromAsn1(signerInfoAsn1s[i]));
1021
+ }
1022
+ return ret;
1023
+ }
1024
+
1025
+ /**
1026
+ * Map an array of signer objects to ASN.1 objects.
1027
+ *
1028
+ * @param signers an array of signer objects.
1029
+ *
1030
+ * @return an array of ASN.1 SignerInfos.
1031
+ */
1032
+ function _signersToAsn1(signers) {
1033
+ var ret = [];
1034
+ for(var i = 0; i < signers.length; ++i) {
1035
+ ret.push(_signerToAsn1(signers[i]));
1036
+ }
1037
+ return ret;
1038
+ }
1039
+
1040
+ /**
1041
+ * Convert an attribute object to an ASN.1 Attribute.
1042
+ *
1043
+ * @param attr the attribute object.
1044
+ *
1045
+ * @return the ASN.1 Attribute.
1046
+ */
1047
+ function _attributeToAsn1(attr) {
1048
+ var value;
1049
+
1050
+ // TODO: generalize to support more attributes
1051
+ if(attr.type === forge.pki.oids.contentType) {
1052
+ value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
1053
+ asn1.oidToDer(attr.value).getBytes());
1054
+ } else if(attr.type === forge.pki.oids.messageDigest) {
1055
+ value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false,
1056
+ attr.value.bytes());
1057
+ } else if(attr.type === forge.pki.oids.signingTime) {
1058
+ /* Note per RFC 2985: Dates between 1 January 1950 and 31 December 2049
1059
+ (inclusive) MUST be encoded as UTCTime. Any dates with year values
1060
+ before 1950 or after 2049 MUST be encoded as GeneralizedTime. [Further,]
1061
+ UTCTime values MUST be expressed in Greenwich Mean Time (Zulu) and MUST
1062
+ include seconds (i.e., times are YYMMDDHHMMSSZ), even where the
1063
+ number of seconds is zero. Midnight (GMT) must be represented as
1064
+ "YYMMDD000000Z". */
1065
+ // TODO: make these module-level constants
1066
+ var jan_1_1950 = new Date('1950-01-01T00:00:00Z');
1067
+ var jan_1_2050 = new Date('2050-01-01T00:00:00Z');
1068
+ var date = attr.value;
1069
+ if(typeof date === 'string') {
1070
+ // try to parse date
1071
+ var timestamp = Date.parse(date);
1072
+ if(!isNaN(timestamp)) {
1073
+ date = new Date(timestamp);
1074
+ } else if(date.length === 13) {
1075
+ // YYMMDDHHMMSSZ (13 chars for UTCTime)
1076
+ date = asn1.utcTimeToDate(date);
1077
+ } else {
1078
+ // assume generalized time
1079
+ date = asn1.generalizedTimeToDate(date);
1080
+ }
1081
+ }
1082
+
1083
+ if(date >= jan_1_1950 && date < jan_1_2050) {
1084
+ value = asn1.create(
1085
+ asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false,
1086
+ asn1.dateToUtcTime(date));
1087
+ } else {
1088
+ value = asn1.create(
1089
+ asn1.Class.UNIVERSAL, asn1.Type.GENERALIZEDTIME, false,
1090
+ asn1.dateToGeneralizedTime(date));
1091
+ }
1092
+ }
1093
+
1094
+ // TODO: expose as common API call
1095
+ // create a RelativeDistinguishedName set
1096
+ // each value in the set is an AttributeTypeAndValue first
1097
+ // containing the type (an OID) and second the value
1098
+ return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
1099
+ // AttributeType
1100
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
1101
+ asn1.oidToDer(attr.type).getBytes()),
1102
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [
1103
+ // AttributeValue
1104
+ value
1105
+ ])
1106
+ ]);
1107
+ }
1108
+
1109
+ /**
1110
+ * Map messages encrypted content to ASN.1 objects.
1111
+ *
1112
+ * @param ec The encryptedContent object of the message.
1113
+ *
1114
+ * @return ASN.1 representation of the encryptedContent object (SEQUENCE).
1115
+ */
1116
+ function _encryptedContentToAsn1(ec) {
1117
+ return [
1118
+ // ContentType, always Data for the moment
1119
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
1120
+ asn1.oidToDer(forge.pki.oids.data).getBytes()),
1121
+ // ContentEncryptionAlgorithmIdentifier
1122
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
1123
+ // Algorithm
1124
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false,
1125
+ asn1.oidToDer(ec.algorithm).getBytes()),
1126
+ // Parameters (IV)
1127
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false,
1128
+ ec.parameter.getBytes())
1129
+ ]),
1130
+ // [0] EncryptedContent
1131
+ asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [
1132
+ asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false,
1133
+ ec.content.getBytes())
1134
+ ])
1135
+ ];
1136
+ }
1137
+
1138
+ /**
1139
+ * Reads the "common part" of an PKCS#7 content block (in ASN.1 format)
1140
+ *
1141
+ * This function reads the "common part" of the PKCS#7 content blocks
1142
+ * EncryptedData and EnvelopedData, i.e. version number and symmetrically
1143
+ * encrypted content block.
1144
+ *
1145
+ * The result of the ASN.1 validate and capture process is returned
1146
+ * to allow the caller to extract further data, e.g. the list of recipients
1147
+ * in case of a EnvelopedData object.
1148
+ *
1149
+ * @param msg the PKCS#7 object to read the data to.
1150
+ * @param obj the ASN.1 representation of the content block.
1151
+ * @param validator the ASN.1 structure validator object to use.
1152
+ *
1153
+ * @return the value map captured by validator object.
1154
+ */
1155
+ function _fromAsn1(msg, obj, validator) {
1156
+ var capture = {};
1157
+ var errors = [];
1158
+ if(!asn1.validate(obj, validator, capture, errors)) {
1159
+ var error = new Error('Cannot read PKCS#7 message. ' +
1160
+ 'ASN.1 object is not a supported PKCS#7 message.');
1161
+ error.errors = error;
1162
+ throw error;
1163
+ }
1164
+
1165
+ // Check contentType, so far we only support (raw) Data.
1166
+ var contentType = asn1.derToOid(capture.contentType);
1167
+ if(contentType !== forge.pki.oids.data) {
1168
+ throw new Error('Unsupported PKCS#7 message. ' +
1169
+ 'Only wrapped ContentType Data supported.');
1170
+ }
1171
+
1172
+ if(capture.encryptedContent) {
1173
+ var content = '';
1174
+ if(forge.util.isArray(capture.encryptedContent)) {
1175
+ for(var i = 0; i < capture.encryptedContent.length; ++i) {
1176
+ if(capture.encryptedContent[i].type !== asn1.Type.OCTETSTRING) {
1177
+ throw new Error('Malformed PKCS#7 message, expecting encrypted ' +
1178
+ 'content constructed of only OCTET STRING objects.');
1179
+ }
1180
+ content += capture.encryptedContent[i].value;
1181
+ }
1182
+ } else {
1183
+ content = capture.encryptedContent;
1184
+ }
1185
+ msg.encryptedContent = {
1186
+ algorithm: asn1.derToOid(capture.encAlgorithm),
1187
+ parameter: forge.util.createBuffer(capture.encParameter.value),
1188
+ content: forge.util.createBuffer(content)
1189
+ };
1190
+ }
1191
+
1192
+ if(capture.content) {
1193
+ var content = '';
1194
+ if(forge.util.isArray(capture.content)) {
1195
+ for(var i = 0; i < capture.content.length; ++i) {
1196
+ if(capture.content[i].type !== asn1.Type.OCTETSTRING) {
1197
+ throw new Error('Malformed PKCS#7 message, expecting ' +
1198
+ 'content constructed of only OCTET STRING objects.');
1199
+ }
1200
+ content += capture.content[i].value;
1201
+ }
1202
+ } else {
1203
+ content = capture.content;
1204
+ }
1205
+ msg.content = forge.util.createBuffer(content);
1206
+ }
1207
+
1208
+ msg.version = capture.version.charCodeAt(0);
1209
+ msg.rawCapture = capture;
1210
+
1211
+ return capture;
1212
+ }
1213
+
1214
+ /**
1215
+ * Decrypt the symmetrically encrypted content block of the PKCS#7 message.
1216
+ *
1217
+ * Decryption is skipped in case the PKCS#7 message object already has a
1218
+ * (decrypted) content attribute. The algorithm, key and cipher parameters
1219
+ * (probably the iv) are taken from the encryptedContent attribute of the
1220
+ * message object.
1221
+ *
1222
+ * @param The PKCS#7 message object.
1223
+ */
1224
+ function _decryptContent(msg) {
1225
+ if(msg.encryptedContent.key === undefined) {
1226
+ throw new Error('Symmetric key not available.');
1227
+ }
1228
+
1229
+ if(msg.content === undefined) {
1230
+ var ciph;
1231
+
1232
+ switch(msg.encryptedContent.algorithm) {
1233
+ case forge.pki.oids['aes128-CBC']:
1234
+ case forge.pki.oids['aes192-CBC']:
1235
+ case forge.pki.oids['aes256-CBC']:
1236
+ ciph = forge.aes.createDecryptionCipher(msg.encryptedContent.key);
1237
+ break;
1238
+
1239
+ case forge.pki.oids['desCBC']:
1240
+ case forge.pki.oids['des-EDE3-CBC']:
1241
+ ciph = forge.des.createDecryptionCipher(msg.encryptedContent.key);
1242
+ break;
1243
+
1244
+ default:
1245
+ throw new Error('Unsupported symmetric cipher, OID ' +
1246
+ msg.encryptedContent.algorithm);
1247
+ }
1248
+ ciph.start(msg.encryptedContent.parameter);
1249
+ ciph.update(msg.encryptedContent.content);
1250
+
1251
+ if(!ciph.finish()) {
1252
+ throw new Error('Symmetric decryption failed.');
1253
+ }
1254
+
1255
+ msg.content = ciph.output;
1256
+ }
1257
+ }