@blockcast/mmt-container 0.3.0 → 0.4.0-main.d6f2737828fc

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 (588) hide show
  1. package/README.md +22 -8
  2. package/dist/browser-runtime.js +1185 -1049
  3. package/dist/browser-runtime.js.map +4 -4
  4. package/dist/carp-catalog.d.ts +24 -8
  5. package/dist/carp-catalog.d.ts.map +1 -1
  6. package/dist/carp-catalog.js +21 -8
  7. package/dist/carp-catalog.js.map +2 -2
  8. package/dist/catalog-fec-params.d.ts +88 -28
  9. package/dist/catalog-fec-params.d.ts.map +1 -1
  10. package/dist/catalog-fec-params.js +59 -17
  11. package/dist/catalog-fec-params.js.map +3 -3
  12. package/dist/catalog-network-source.js +0 -1
  13. package/dist/catalog-network-source.js.map +2 -2
  14. package/dist/cmaf-block-assembler.d.ts +0 -2
  15. package/dist/cmaf-block-assembler.d.ts.map +1 -1
  16. package/dist/cmaf-block-assembler.js +0 -1
  17. package/dist/cmaf-block-assembler.js.map +2 -2
  18. package/dist/delta-fallback-config.d.ts +42 -0
  19. package/dist/delta-fallback-config.d.ts.map +1 -0
  20. package/dist/delta-fallback-config.js +59 -0
  21. package/dist/delta-fallback-config.js.map +7 -0
  22. package/dist/fec-manager.d.ts +35 -26
  23. package/dist/fec-manager.d.ts.map +1 -1
  24. package/dist/fec-manager.js +300 -273
  25. package/dist/fec-manager.js.map +2 -2
  26. package/dist/fec-state.d.ts +19 -31
  27. package/dist/fec-state.d.ts.map +1 -1
  28. package/dist/fec-state.js +3 -4
  29. package/dist/fec-state.js.map +2 -2
  30. package/dist/fec-worker-setup.d.ts +16 -6
  31. package/dist/fec-worker-setup.d.ts.map +1 -1
  32. package/dist/fec-worker-setup.js +72 -34
  33. package/dist/fec-worker-setup.js.map +2 -2
  34. package/dist/index.d.ts +4 -3
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +12 -0
  37. package/dist/index.js.map +2 -2
  38. package/dist/iso-block-locator.js +0 -1
  39. package/dist/iso-block-locator.js.map +2 -2
  40. package/dist/media-router.d.ts +20 -8
  41. package/dist/media-router.d.ts.map +1 -1
  42. package/dist/media-router.js +46 -21
  43. package/dist/media-router.js.map +2 -2
  44. package/dist/mfu-reassembler.js +0 -1
  45. package/dist/mfu-reassembler.js.map +2 -2
  46. package/dist/mmtp-container-parser.d.ts +5 -0
  47. package/dist/mmtp-container-parser.d.ts.map +1 -1
  48. package/dist/mmtp-container-parser.js +22 -1
  49. package/dist/mmtp-container-parser.js.map +2 -2
  50. package/dist/mmtp-container-parser.no-modules.js +37 -9
  51. package/dist/mmtp-container-parser.no-modules.js.map +2 -2
  52. package/dist/mmtp-decode-pipeline.js +22 -1
  53. package/dist/mmtp-decode-pipeline.js.map +2 -2
  54. package/dist/mmtp-router.d.ts +36 -16
  55. package/dist/mmtp-router.d.ts.map +1 -1
  56. package/dist/mmtp-router.js +126 -213
  57. package/dist/mmtp-router.js.map +2 -2
  58. package/dist/multicast-input.js +0 -1
  59. package/dist/multicast-input.js.map +2 -2
  60. package/dist/multicast-manager.d.ts +33 -3
  61. package/dist/multicast-manager.d.ts.map +1 -1
  62. package/dist/multicast-manager.js +660 -529
  63. package/dist/multicast-manager.js.map +4 -4
  64. package/dist/multicast-transport.d.ts +1 -1
  65. package/dist/multicast-transport.d.ts.map +1 -1
  66. package/dist/multicast-transport.js +42 -14
  67. package/dist/multicast-transport.js.map +3 -3
  68. package/dist/multicast-unwrap.js +0 -1
  69. package/dist/multicast-unwrap.js.map +2 -2
  70. package/dist/no-modules.js +36 -8
  71. package/dist/no-modules.js.map +2 -2
  72. package/dist/repair-fetch.d.ts +30 -19
  73. package/dist/repair-fetch.d.ts.map +1 -1
  74. package/dist/repair-fetch.js +32 -18
  75. package/dist/repair-fetch.js.map +3 -3
  76. package/dist/repair-layers.d.ts +18 -7
  77. package/dist/repair-layers.d.ts.map +1 -1
  78. package/dist/repair-layers.js +11 -4
  79. package/dist/repair-layers.js.map +2 -2
  80. package/dist/signaling.js +0 -4
  81. package/dist/signaling.js.map +2 -2
  82. package/dist/timestamp-codec.js +0 -1
  83. package/dist/timestamp-codec.js.map +2 -2
  84. package/dist/track-session.d.ts +7 -0
  85. package/dist/track-session.d.ts.map +1 -1
  86. package/dist/track-session.js +15 -8
  87. package/dist/track-session.js.map +2 -2
  88. package/dist/wasm-mfu-reassembler.js +0 -1
  89. package/dist/wasm-mfu-reassembler.js.map +2 -2
  90. package/dist/wasm-mmtp-container-parser.js +22 -1
  91. package/dist/wasm-mmtp-container-parser.js.map +2 -2
  92. package/package.json +8 -14
  93. package/schemas/catalog.schema.json +3 -3
  94. package/src/carp-catalog.ts +35 -13
  95. package/src/catalog-fec-params.ts +173 -64
  96. package/src/cmaf-block-assembler.ts +1 -4
  97. package/src/delta-fallback-config.ts +72 -0
  98. package/src/fec-manager.ts +413 -317
  99. package/src/fec-state.ts +20 -32
  100. package/src/fec-worker-setup.ts +105 -55
  101. package/src/index.ts +10 -0
  102. package/src/media-router.ts +59 -21
  103. package/src/mmtp-container-parser.ts +26 -0
  104. package/src/mmtp-router.ts +145 -303
  105. package/src/multicast-manager.ts +172 -60
  106. package/src/multicast-transport.ts +16 -9
  107. package/src/repair-fetch.ts +46 -27
  108. package/src/repair-layers.ts +28 -8
  109. package/src/track-session.ts +28 -9
  110. package/test-vectors/catalog/README.md +34 -17
  111. package/test-vectors/catalog/negative/fec-block-profile-retired.json +52 -0
  112. package/test-vectors/catalog/negative/fec-enhancement-repair-removed.json +1 -1
  113. package/test-vectors/catalog/negative/fec-repair-layer-geometry.json +1 -1
  114. package/test-vectors/catalog/negative/fec-repair-layer-missing-symbols.json +1 -1
  115. package/test-vectors/catalog/negative/fec-repair-multiple-depends.json +1 -1
  116. package/test-vectors/catalog/negative/fec-repair-overlay-with-layer.json +1 -1
  117. package/test-vectors/catalog/negative/fec-repair-priority-out-of-band.json +1 -1
  118. package/test-vectors/catalog/negative/fec-repair-source-symbols-without-scope.json +1 -1
  119. package/test-vectors/catalog/negative/multicast-network-source-empty.json +1 -1
  120. package/test-vectors/catalog/negative/raptorq-source-symbols-over-max.json +1 -1
  121. package/test-vectors/catalog/negative/raptorq-unaligned-symbol.json +1 -1
  122. package/test-vectors/catalog/positive/fec-layered-repair.json +2 -2
  123. package/test-vectors/catalog/positive/fec-multicast.json +2 -1
  124. package/test-vectors/catalog/positive/multicast-native-ssm-no-network-source.json +2 -1
  125. package/test-vectors/catalog-timing.json +356 -0
  126. package/test-vectors/catalog-validation.json +40 -5
  127. package/node_modules/@blockcast/fec-worker/README.md +0 -223
  128. package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
  129. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +0 -38
  130. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +0 -1
  131. package/node_modules/@blockcast/fec-worker/dist/block-order.js +0 -78
  132. package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +0 -1
  133. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +0 -93
  134. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +0 -1
  135. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +0 -346
  136. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +0 -1
  137. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +0 -380
  138. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +0 -1
  139. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +0 -11
  140. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +0 -1
  141. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +0 -14
  142. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +0 -1
  143. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +0 -859
  144. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +0 -7
  145. package/node_modules/@blockcast/fec-worker/dist/index.d.ts +0 -10
  146. package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +0 -1
  147. package/node_modules/@blockcast/fec-worker/dist/index.js +0 -8
  148. package/node_modules/@blockcast/fec-worker/dist/index.js.map +0 -1
  149. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +0 -20
  150. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +0 -1
  151. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +0 -370
  152. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +0 -7
  153. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +0 -104
  154. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +0 -1
  155. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +0 -181
  156. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +0 -1
  157. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +0 -194
  158. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +0 -1
  159. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +0 -62
  160. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +0 -1
  161. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +0 -9
  162. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +0 -1
  163. package/node_modules/@blockcast/fec-worker/dist/transfer.js +0 -13
  164. package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +0 -1
  165. package/node_modules/@blockcast/fec-worker/package.json +0 -59
  166. package/node_modules/@blockcast/fec-worker/src/block-order.ts +0 -93
  167. package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +0 -392
  168. package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +0 -399
  169. package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +0 -1502
  170. package/node_modules/@blockcast/fec-worker/src/index.ts +0 -35
  171. package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +0 -589
  172. package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +0 -222
  173. package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +0 -209
  174. package/node_modules/@blockcast/fec-worker/src/transfer.ts +0 -12
  175. package/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  176. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  177. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  178. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  179. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  180. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  181. package/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  182. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  183. package/node_modules/@blockcast/mmt-base/README.md +0 -134
  184. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  185. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  186. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  187. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  188. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  189. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  190. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  191. package/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  192. package/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  193. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  194. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  195. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  196. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  197. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  198. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  199. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  200. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  201. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  202. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  203. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  204. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  205. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  206. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  207. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  208. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  209. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  210. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  211. package/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  212. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  213. package/node_modules/@blockcast/mmt-base/package.json +0 -49
  214. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  215. package/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  216. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  217. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  218. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  219. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  220. package/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  221. package/node_modules/@blockcast/mmt-fec/README.md +0 -271
  222. package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
  223. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +0 -82
  224. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +0 -1
  225. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +0 -296
  226. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +0 -1
  227. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +0 -106
  228. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +0 -1
  229. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +0 -288
  230. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +0 -1
  231. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +0 -46
  232. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +0 -1
  233. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +0 -96
  234. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +0 -1
  235. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +0 -33
  236. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +0 -1
  237. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +0 -57
  238. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +0 -1
  239. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +0 -205
  240. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +0 -1
  241. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +0 -240
  242. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +0 -1
  243. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +0 -28
  244. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +0 -1
  245. package/node_modules/@blockcast/mmt-fec/dist/index.js +0 -28
  246. package/node_modules/@blockcast/mmt-fec/dist/index.js.map +0 -1
  247. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +0 -20
  248. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +0 -1
  249. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +0 -28
  250. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +0 -1
  251. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +0 -258
  252. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +0 -1
  253. package/node_modules/@blockcast/mmt-fec/dist/oti.js +0 -382
  254. package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +0 -1
  255. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +0 -41
  256. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +0 -1
  257. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +0 -81
  258. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +0 -1
  259. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +0 -82
  260. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +0 -1
  261. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +0 -170
  262. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +0 -1
  263. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  264. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  265. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  266. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  267. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  268. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  269. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  270. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  271. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +0 -134
  272. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  273. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  274. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  275. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  276. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  277. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  278. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  279. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  280. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  281. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  282. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  283. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  284. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  285. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  286. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  287. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  288. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  289. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  290. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  291. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  292. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  293. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  294. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  295. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  296. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  297. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  298. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  299. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  300. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  301. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +0 -49
  302. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  303. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  304. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  305. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  306. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  307. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  308. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  309. package/node_modules/@blockcast/mmt-fec/package.json +0 -79
  310. package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +0 -371
  311. package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +0 -439
  312. package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +0 -127
  313. package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +0 -68
  314. package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +0 -310
  315. package/node_modules/@blockcast/mmt-fec/src/index.ts +0 -94
  316. package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +0 -34
  317. package/node_modules/@blockcast/mmt-fec/src/oti.ts +0 -463
  318. package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +0 -101
  319. package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +0 -195
  320. package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
  321. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +0 -28
  322. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +0 -1
  323. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +0 -128
  324. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +0 -1
  325. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +0 -4
  326. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +0 -1
  327. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +0 -4
  328. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +0 -1
  329. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +0 -37
  330. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +0 -1
  331. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +0 -179
  332. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +0 -1
  333. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +0 -99
  334. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +0 -1
  335. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +0 -492
  336. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +0 -1
  337. package/node_modules/@blockcast/mmt-manifest-verify/package.json +0 -45
  338. package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +0 -171
  339. package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +0 -3
  340. package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +0 -230
  341. package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +0 -669
  342. package/node_modules/@noble/hashes/LICENSE +0 -21
  343. package/node_modules/@noble/hashes/README.md +0 -521
  344. package/node_modules/@noble/hashes/_assert.d.ts +0 -17
  345. package/node_modules/@noble/hashes/_assert.d.ts.map +0 -1
  346. package/node_modules/@noble/hashes/_assert.js +0 -18
  347. package/node_modules/@noble/hashes/_assert.js.map +0 -1
  348. package/node_modules/@noble/hashes/_blake.d.ts +0 -14
  349. package/node_modules/@noble/hashes/_blake.d.ts.map +0 -1
  350. package/node_modules/@noble/hashes/_blake.js +0 -50
  351. package/node_modules/@noble/hashes/_blake.js.map +0 -1
  352. package/node_modules/@noble/hashes/_md.d.ts +0 -51
  353. package/node_modules/@noble/hashes/_md.d.ts.map +0 -1
  354. package/node_modules/@noble/hashes/_md.js +0 -162
  355. package/node_modules/@noble/hashes/_md.js.map +0 -1
  356. package/node_modules/@noble/hashes/_u64.d.ts +0 -55
  357. package/node_modules/@noble/hashes/_u64.d.ts.map +0 -1
  358. package/node_modules/@noble/hashes/_u64.js +0 -90
  359. package/node_modules/@noble/hashes/_u64.js.map +0 -1
  360. package/node_modules/@noble/hashes/argon2.d.ts +0 -32
  361. package/node_modules/@noble/hashes/argon2.d.ts.map +0 -1
  362. package/node_modules/@noble/hashes/argon2.js +0 -401
  363. package/node_modules/@noble/hashes/argon2.js.map +0 -1
  364. package/node_modules/@noble/hashes/blake1.d.ts +0 -106
  365. package/node_modules/@noble/hashes/blake1.d.ts.map +0 -1
  366. package/node_modules/@noble/hashes/blake1.js +0 -459
  367. package/node_modules/@noble/hashes/blake1.js.map +0 -1
  368. package/node_modules/@noble/hashes/blake2.d.ts +0 -116
  369. package/node_modules/@noble/hashes/blake2.d.ts.map +0 -1
  370. package/node_modules/@noble/hashes/blake2.js +0 -420
  371. package/node_modules/@noble/hashes/blake2.js.map +0 -1
  372. package/node_modules/@noble/hashes/blake2b.d.ts +0 -11
  373. package/node_modules/@noble/hashes/blake2b.d.ts.map +0 -1
  374. package/node_modules/@noble/hashes/blake2b.js +0 -14
  375. package/node_modules/@noble/hashes/blake2b.js.map +0 -1
  376. package/node_modules/@noble/hashes/blake2s.d.ts +0 -20
  377. package/node_modules/@noble/hashes/blake2s.d.ts.map +0 -1
  378. package/node_modules/@noble/hashes/blake2s.js +0 -24
  379. package/node_modules/@noble/hashes/blake2s.js.map +0 -1
  380. package/node_modules/@noble/hashes/blake3.d.ts +0 -54
  381. package/node_modules/@noble/hashes/blake3.d.ts.map +0 -1
  382. package/node_modules/@noble/hashes/blake3.js +0 -255
  383. package/node_modules/@noble/hashes/blake3.js.map +0 -1
  384. package/node_modules/@noble/hashes/crypto.d.ts +0 -2
  385. package/node_modules/@noble/hashes/crypto.d.ts.map +0 -1
  386. package/node_modules/@noble/hashes/crypto.js +0 -5
  387. package/node_modules/@noble/hashes/crypto.js.map +0 -1
  388. package/node_modules/@noble/hashes/cryptoNode.d.ts +0 -2
  389. package/node_modules/@noble/hashes/cryptoNode.d.ts.map +0 -1
  390. package/node_modules/@noble/hashes/cryptoNode.js +0 -18
  391. package/node_modules/@noble/hashes/cryptoNode.js.map +0 -1
  392. package/node_modules/@noble/hashes/eskdf.d.ts +0 -47
  393. package/node_modules/@noble/hashes/eskdf.d.ts.map +0 -1
  394. package/node_modules/@noble/hashes/eskdf.js +0 -166
  395. package/node_modules/@noble/hashes/eskdf.js.map +0 -1
  396. package/node_modules/@noble/hashes/esm/_assert.d.ts +0 -17
  397. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +0 -1
  398. package/node_modules/@noble/hashes/esm/_assert.js +0 -15
  399. package/node_modules/@noble/hashes/esm/_assert.js.map +0 -1
  400. package/node_modules/@noble/hashes/esm/_blake.d.ts +0 -14
  401. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +0 -1
  402. package/node_modules/@noble/hashes/esm/_blake.js +0 -45
  403. package/node_modules/@noble/hashes/esm/_blake.js.map +0 -1
  404. package/node_modules/@noble/hashes/esm/_md.d.ts +0 -51
  405. package/node_modules/@noble/hashes/esm/_md.d.ts.map +0 -1
  406. package/node_modules/@noble/hashes/esm/_md.js +0 -155
  407. package/node_modules/@noble/hashes/esm/_md.js.map +0 -1
  408. package/node_modules/@noble/hashes/esm/_u64.d.ts +0 -55
  409. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +0 -1
  410. package/node_modules/@noble/hashes/esm/_u64.js +0 -67
  411. package/node_modules/@noble/hashes/esm/_u64.js.map +0 -1
  412. package/node_modules/@noble/hashes/esm/argon2.d.ts +0 -32
  413. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +0 -1
  414. package/node_modules/@noble/hashes/esm/argon2.js +0 -392
  415. package/node_modules/@noble/hashes/esm/argon2.js.map +0 -1
  416. package/node_modules/@noble/hashes/esm/blake1.d.ts +0 -106
  417. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +0 -1
  418. package/node_modules/@noble/hashes/esm/blake1.js +0 -452
  419. package/node_modules/@noble/hashes/esm/blake1.js.map +0 -1
  420. package/node_modules/@noble/hashes/esm/blake2.d.ts +0 -116
  421. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +0 -1
  422. package/node_modules/@noble/hashes/esm/blake2.js +0 -413
  423. package/node_modules/@noble/hashes/esm/blake2.js.map +0 -1
  424. package/node_modules/@noble/hashes/esm/blake2b.d.ts +0 -11
  425. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +0 -1
  426. package/node_modules/@noble/hashes/esm/blake2b.js +0 -11
  427. package/node_modules/@noble/hashes/esm/blake2b.js.map +0 -1
  428. package/node_modules/@noble/hashes/esm/blake2s.d.ts +0 -20
  429. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +0 -1
  430. package/node_modules/@noble/hashes/esm/blake2s.js +0 -21
  431. package/node_modules/@noble/hashes/esm/blake2s.js.map +0 -1
  432. package/node_modules/@noble/hashes/esm/blake3.d.ts +0 -54
  433. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +0 -1
  434. package/node_modules/@noble/hashes/esm/blake3.js +0 -251
  435. package/node_modules/@noble/hashes/esm/blake3.js.map +0 -1
  436. package/node_modules/@noble/hashes/esm/crypto.d.ts +0 -2
  437. package/node_modules/@noble/hashes/esm/crypto.d.ts.map +0 -1
  438. package/node_modules/@noble/hashes/esm/crypto.js +0 -2
  439. package/node_modules/@noble/hashes/esm/crypto.js.map +0 -1
  440. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +0 -2
  441. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +0 -1
  442. package/node_modules/@noble/hashes/esm/cryptoNode.js +0 -15
  443. package/node_modules/@noble/hashes/esm/cryptoNode.js.map +0 -1
  444. package/node_modules/@noble/hashes/esm/eskdf.d.ts +0 -47
  445. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +0 -1
  446. package/node_modules/@noble/hashes/esm/eskdf.js +0 -160
  447. package/node_modules/@noble/hashes/esm/eskdf.js.map +0 -1
  448. package/node_modules/@noble/hashes/esm/hkdf.d.ts +0 -36
  449. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +0 -1
  450. package/node_modules/@noble/hashes/esm/hkdf.js +0 -82
  451. package/node_modules/@noble/hashes/esm/hkdf.js.map +0 -1
  452. package/node_modules/@noble/hashes/esm/hmac.d.ts +0 -35
  453. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +0 -1
  454. package/node_modules/@noble/hashes/esm/hmac.js +0 -86
  455. package/node_modules/@noble/hashes/esm/hmac.js.map +0 -1
  456. package/node_modules/@noble/hashes/esm/index.d.ts +0 -2
  457. package/node_modules/@noble/hashes/esm/index.d.ts.map +0 -1
  458. package/node_modules/@noble/hashes/esm/index.js +0 -33
  459. package/node_modules/@noble/hashes/esm/index.js.map +0 -1
  460. package/node_modules/@noble/hashes/esm/legacy.d.ts +0 -71
  461. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +0 -1
  462. package/node_modules/@noble/hashes/esm/legacy.js +0 -281
  463. package/node_modules/@noble/hashes/esm/legacy.js.map +0 -1
  464. package/node_modules/@noble/hashes/esm/package.json +0 -10
  465. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +0 -23
  466. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +0 -1
  467. package/node_modules/@noble/hashes/esm/pbkdf2.js +0 -97
  468. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +0 -1
  469. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +0 -13
  470. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +0 -1
  471. package/node_modules/@noble/hashes/esm/ripemd160.js +0 -13
  472. package/node_modules/@noble/hashes/esm/ripemd160.js.map +0 -1
  473. package/node_modules/@noble/hashes/esm/scrypt.d.ts +0 -34
  474. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +0 -1
  475. package/node_modules/@noble/hashes/esm/scrypt.js +0 -228
  476. package/node_modules/@noble/hashes/esm/scrypt.js.map +0 -1
  477. package/node_modules/@noble/hashes/esm/sha1.d.ts +0 -11
  478. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +0 -1
  479. package/node_modules/@noble/hashes/esm/sha1.js +0 -11
  480. package/node_modules/@noble/hashes/esm/sha1.js.map +0 -1
  481. package/node_modules/@noble/hashes/esm/sha2.d.ts +0 -159
  482. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +0 -1
  483. package/node_modules/@noble/hashes/esm/sha2.js +0 -375
  484. package/node_modules/@noble/hashes/esm/sha2.js.map +0 -1
  485. package/node_modules/@noble/hashes/esm/sha256.d.ts +0 -20
  486. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +0 -1
  487. package/node_modules/@noble/hashes/esm/sha256.js +0 -20
  488. package/node_modules/@noble/hashes/esm/sha256.js.map +0 -1
  489. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +0 -142
  490. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +0 -1
  491. package/node_modules/@noble/hashes/esm/sha3-addons.js +0 -393
  492. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +0 -1
  493. package/node_modules/@noble/hashes/esm/sha3.d.ts +0 -53
  494. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +0 -1
  495. package/node_modules/@noble/hashes/esm/sha3.js +0 -234
  496. package/node_modules/@noble/hashes/esm/sha3.js.map +0 -1
  497. package/node_modules/@noble/hashes/esm/sha512.d.ts +0 -26
  498. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +0 -1
  499. package/node_modules/@noble/hashes/esm/sha512.js +0 -26
  500. package/node_modules/@noble/hashes/esm/sha512.js.map +0 -1
  501. package/node_modules/@noble/hashes/esm/utils.d.ts +0 -161
  502. package/node_modules/@noble/hashes/esm/utils.d.ts.map +0 -1
  503. package/node_modules/@noble/hashes/esm/utils.js +0 -281
  504. package/node_modules/@noble/hashes/esm/utils.js.map +0 -1
  505. package/node_modules/@noble/hashes/hkdf.d.ts +0 -36
  506. package/node_modules/@noble/hashes/hkdf.d.ts.map +0 -1
  507. package/node_modules/@noble/hashes/hkdf.js +0 -88
  508. package/node_modules/@noble/hashes/hkdf.js.map +0 -1
  509. package/node_modules/@noble/hashes/hmac.d.ts +0 -35
  510. package/node_modules/@noble/hashes/hmac.d.ts.map +0 -1
  511. package/node_modules/@noble/hashes/hmac.js +0 -91
  512. package/node_modules/@noble/hashes/hmac.js.map +0 -1
  513. package/node_modules/@noble/hashes/index.d.ts +0 -1
  514. package/node_modules/@noble/hashes/index.d.ts.map +0 -1
  515. package/node_modules/@noble/hashes/index.js +0 -33
  516. package/node_modules/@noble/hashes/index.js.map +0 -1
  517. package/node_modules/@noble/hashes/legacy.d.ts +0 -71
  518. package/node_modules/@noble/hashes/legacy.d.ts.map +0 -1
  519. package/node_modules/@noble/hashes/legacy.js +0 -287
  520. package/node_modules/@noble/hashes/legacy.js.map +0 -1
  521. package/node_modules/@noble/hashes/package.json +0 -266
  522. package/node_modules/@noble/hashes/pbkdf2.d.ts +0 -23
  523. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +0 -1
  524. package/node_modules/@noble/hashes/pbkdf2.js +0 -101
  525. package/node_modules/@noble/hashes/pbkdf2.js.map +0 -1
  526. package/node_modules/@noble/hashes/ripemd160.d.ts +0 -13
  527. package/node_modules/@noble/hashes/ripemd160.d.ts.map +0 -1
  528. package/node_modules/@noble/hashes/ripemd160.js +0 -16
  529. package/node_modules/@noble/hashes/ripemd160.js.map +0 -1
  530. package/node_modules/@noble/hashes/scrypt.d.ts +0 -34
  531. package/node_modules/@noble/hashes/scrypt.d.ts.map +0 -1
  532. package/node_modules/@noble/hashes/scrypt.js +0 -232
  533. package/node_modules/@noble/hashes/scrypt.js.map +0 -1
  534. package/node_modules/@noble/hashes/sha1.d.ts +0 -11
  535. package/node_modules/@noble/hashes/sha1.d.ts.map +0 -1
  536. package/node_modules/@noble/hashes/sha1.js +0 -14
  537. package/node_modules/@noble/hashes/sha1.js.map +0 -1
  538. package/node_modules/@noble/hashes/sha2.d.ts +0 -159
  539. package/node_modules/@noble/hashes/sha2.d.ts.map +0 -1
  540. package/node_modules/@noble/hashes/sha2.js +0 -384
  541. package/node_modules/@noble/hashes/sha2.js.map +0 -1
  542. package/node_modules/@noble/hashes/sha256.d.ts +0 -20
  543. package/node_modules/@noble/hashes/sha256.d.ts.map +0 -1
  544. package/node_modules/@noble/hashes/sha256.js +0 -23
  545. package/node_modules/@noble/hashes/sha256.js.map +0 -1
  546. package/node_modules/@noble/hashes/sha3-addons.d.ts +0 -142
  547. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +0 -1
  548. package/node_modules/@noble/hashes/sha3-addons.js +0 -402
  549. package/node_modules/@noble/hashes/sha3-addons.js.map +0 -1
  550. package/node_modules/@noble/hashes/sha3.d.ts +0 -53
  551. package/node_modules/@noble/hashes/sha3.d.ts.map +0 -1
  552. package/node_modules/@noble/hashes/sha3.js +0 -239
  553. package/node_modules/@noble/hashes/sha3.js.map +0 -1
  554. package/node_modules/@noble/hashes/sha512.d.ts +0 -26
  555. package/node_modules/@noble/hashes/sha512.d.ts.map +0 -1
  556. package/node_modules/@noble/hashes/sha512.js +0 -29
  557. package/node_modules/@noble/hashes/sha512.js.map +0 -1
  558. package/node_modules/@noble/hashes/src/_assert.ts +0 -22
  559. package/node_modules/@noble/hashes/src/_blake.ts +0 -50
  560. package/node_modules/@noble/hashes/src/_md.ts +0 -176
  561. package/node_modules/@noble/hashes/src/_u64.ts +0 -91
  562. package/node_modules/@noble/hashes/src/argon2.ts +0 -497
  563. package/node_modules/@noble/hashes/src/blake1.ts +0 -534
  564. package/node_modules/@noble/hashes/src/blake2.ts +0 -486
  565. package/node_modules/@noble/hashes/src/blake2b.ts +0 -10
  566. package/node_modules/@noble/hashes/src/blake2s.ts +0 -20
  567. package/node_modules/@noble/hashes/src/blake3.ts +0 -272
  568. package/node_modules/@noble/hashes/src/crypto.ts +0 -9
  569. package/node_modules/@noble/hashes/src/cryptoNode.ts +0 -15
  570. package/node_modules/@noble/hashes/src/eskdf.ts +0 -187
  571. package/node_modules/@noble/hashes/src/hkdf.ts +0 -88
  572. package/node_modules/@noble/hashes/src/hmac.ts +0 -94
  573. package/node_modules/@noble/hashes/src/index.ts +0 -31
  574. package/node_modules/@noble/hashes/src/legacy.ts +0 -293
  575. package/node_modules/@noble/hashes/src/pbkdf2.ts +0 -122
  576. package/node_modules/@noble/hashes/src/ripemd160.ts +0 -12
  577. package/node_modules/@noble/hashes/src/scrypt.ts +0 -257
  578. package/node_modules/@noble/hashes/src/sha1.ts +0 -10
  579. package/node_modules/@noble/hashes/src/sha2.ts +0 -402
  580. package/node_modules/@noble/hashes/src/sha256.ts +0 -24
  581. package/node_modules/@noble/hashes/src/sha3-addons.ts +0 -499
  582. package/node_modules/@noble/hashes/src/sha3.ts +0 -258
  583. package/node_modules/@noble/hashes/src/sha512.ts +0 -34
  584. package/node_modules/@noble/hashes/src/utils.ts +0 -395
  585. package/node_modules/@noble/hashes/utils.d.ts +0 -161
  586. package/node_modules/@noble/hashes/utils.d.ts.map +0 -1
  587. package/node_modules/@noble/hashes/utils.js +0 -313
  588. package/node_modules/@noble/hashes/utils.js.map +0 -1
@@ -1,251 +0,0 @@
1
- /**
2
- * Blake3 fast hash is Blake2 with reduced security (round count). Can also be used as MAC & KDF.
3
- *
4
- * It is advertised as "the fastest cryptographic hash". However, it isn't true in JS.
5
- * Why is this so slow? While it should be 6x faster than blake2b, perf diff is only 20%:
6
- *
7
- * * There is only 30% reduction in number of rounds from blake2s
8
- * * Speed-up comes from tree structure, which is parallelized using SIMD & threading.
9
- * These features are not present in JS, so we only get overhead from trees.
10
- * * Parallelization only happens on 1024-byte chunks: there is no benefit for small inputs.
11
- * * It is still possible to make it faster using: a) loop unrolling b) web workers c) wasm
12
- * @module
13
- */
14
- import { SHA256_IV } from "./_md.js";
15
- import { fromBig } from "./_u64.js";
16
- import { BLAKE2, compress } from "./blake2.js";
17
- // prettier-ignore
18
- import { abytes, aexists, anumber, aoutput, clean, createXOFer, swap32IfBE, toBytes, u32, u8 } from "./utils.js";
19
- // Flag bitset
20
- const B3_Flags = {
21
- CHUNK_START: 0b1,
22
- CHUNK_END: 0b10,
23
- PARENT: 0b100,
24
- ROOT: 0b1000,
25
- KEYED_HASH: 0b10000,
26
- DERIVE_KEY_CONTEXT: 0b100000,
27
- DERIVE_KEY_MATERIAL: 0b1000000,
28
- };
29
- const B3_IV = SHA256_IV.slice();
30
- const B3_SIGMA = /* @__PURE__ */ (() => {
31
- const Id = Array.from({ length: 16 }, (_, i) => i);
32
- const permute = (arr) => [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8].map((i) => arr[i]);
33
- const res = [];
34
- for (let i = 0, v = Id; i < 7; i++, v = permute(v))
35
- res.push(...v);
36
- return Uint8Array.from(res);
37
- })();
38
- /** Blake3 hash. Can be used as MAC and KDF. */
39
- export class BLAKE3 extends BLAKE2 {
40
- constructor(opts = {}, flags = 0) {
41
- super(64, opts.dkLen === undefined ? 32 : opts.dkLen);
42
- this.chunkPos = 0; // Position of current block in chunk
43
- this.chunksDone = 0; // How many chunks we already have
44
- this.flags = 0 | 0;
45
- this.stack = [];
46
- // Output
47
- this.posOut = 0;
48
- this.bufferOut32 = new Uint32Array(16);
49
- this.chunkOut = 0; // index of output chunk
50
- this.enableXOF = true;
51
- const { key, context } = opts;
52
- const hasContext = context !== undefined;
53
- if (key !== undefined) {
54
- if (hasContext)
55
- throw new Error('Only "key" or "context" can be specified at same time');
56
- const k = toBytes(key).slice();
57
- abytes(k, 32);
58
- this.IV = u32(k);
59
- swap32IfBE(this.IV);
60
- this.flags = flags | B3_Flags.KEYED_HASH;
61
- }
62
- else if (hasContext) {
63
- const ctx = toBytes(context);
64
- const contextKey = new BLAKE3({ dkLen: 32 }, B3_Flags.DERIVE_KEY_CONTEXT)
65
- .update(ctx)
66
- .digest();
67
- this.IV = u32(contextKey);
68
- swap32IfBE(this.IV);
69
- this.flags = flags | B3_Flags.DERIVE_KEY_MATERIAL;
70
- }
71
- else {
72
- this.IV = B3_IV.slice();
73
- this.flags = flags;
74
- }
75
- this.state = this.IV.slice();
76
- this.bufferOut = u8(this.bufferOut32);
77
- }
78
- // Unused
79
- get() {
80
- return [];
81
- }
82
- set() { }
83
- b2Compress(counter, flags, buf, bufPos = 0) {
84
- const { state: s, pos } = this;
85
- const { h, l } = fromBig(BigInt(counter), true);
86
- // prettier-ignore
87
- const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, bufPos, buf, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], h, l, pos, flags);
88
- s[0] = v0 ^ v8;
89
- s[1] = v1 ^ v9;
90
- s[2] = v2 ^ v10;
91
- s[3] = v3 ^ v11;
92
- s[4] = v4 ^ v12;
93
- s[5] = v5 ^ v13;
94
- s[6] = v6 ^ v14;
95
- s[7] = v7 ^ v15;
96
- }
97
- compress(buf, bufPos = 0, isLast = false) {
98
- // Compress last block
99
- let flags = this.flags;
100
- if (!this.chunkPos)
101
- flags |= B3_Flags.CHUNK_START;
102
- if (this.chunkPos === 15 || isLast)
103
- flags |= B3_Flags.CHUNK_END;
104
- if (!isLast)
105
- this.pos = this.blockLen;
106
- this.b2Compress(this.chunksDone, flags, buf, bufPos);
107
- this.chunkPos += 1;
108
- // If current block is last in chunk (16 blocks), then compress chunks
109
- if (this.chunkPos === 16 || isLast) {
110
- let chunk = this.state;
111
- this.state = this.IV.slice();
112
- // If not the last one, compress only when there are trailing zeros in chunk counter
113
- // chunks used as binary tree where current stack is path. Zero means current leaf is finished and can be compressed.
114
- // 1 (001) - leaf not finished (just push current chunk to stack)
115
- // 2 (010) - leaf finished at depth=1 (merge with last elm on stack and push back)
116
- // 3 (011) - last leaf not finished
117
- // 4 (100) - leafs finished at depth=1 and depth=2
118
- for (let last, chunks = this.chunksDone + 1; isLast || !(chunks & 1); chunks >>= 1) {
119
- if (!(last = this.stack.pop()))
120
- break;
121
- this.buffer32.set(last, 0);
122
- this.buffer32.set(chunk, 8);
123
- this.pos = this.blockLen;
124
- this.b2Compress(0, this.flags | B3_Flags.PARENT, this.buffer32, 0);
125
- chunk = this.state;
126
- this.state = this.IV.slice();
127
- }
128
- this.chunksDone++;
129
- this.chunkPos = 0;
130
- this.stack.push(chunk);
131
- }
132
- this.pos = 0;
133
- }
134
- _cloneInto(to) {
135
- to = super._cloneInto(to);
136
- const { IV, flags, state, chunkPos, posOut, chunkOut, stack, chunksDone } = this;
137
- to.state.set(state.slice());
138
- to.stack = stack.map((i) => Uint32Array.from(i));
139
- to.IV.set(IV);
140
- to.flags = flags;
141
- to.chunkPos = chunkPos;
142
- to.chunksDone = chunksDone;
143
- to.posOut = posOut;
144
- to.chunkOut = chunkOut;
145
- to.enableXOF = this.enableXOF;
146
- to.bufferOut32.set(this.bufferOut32);
147
- return to;
148
- }
149
- destroy() {
150
- this.destroyed = true;
151
- clean(this.state, this.buffer32, this.IV, this.bufferOut32);
152
- clean(...this.stack);
153
- }
154
- // Same as b2Compress, but doesn't modify state and returns 16 u32 array (instead of 8)
155
- b2CompressOut() {
156
- const { state: s, pos, flags, buffer32, bufferOut32: out32 } = this;
157
- const { h, l } = fromBig(BigInt(this.chunkOut++));
158
- swap32IfBE(buffer32);
159
- // prettier-ignore
160
- const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, 0, buffer32, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], l, h, pos, flags);
161
- out32[0] = v0 ^ v8;
162
- out32[1] = v1 ^ v9;
163
- out32[2] = v2 ^ v10;
164
- out32[3] = v3 ^ v11;
165
- out32[4] = v4 ^ v12;
166
- out32[5] = v5 ^ v13;
167
- out32[6] = v6 ^ v14;
168
- out32[7] = v7 ^ v15;
169
- out32[8] = s[0] ^ v8;
170
- out32[9] = s[1] ^ v9;
171
- out32[10] = s[2] ^ v10;
172
- out32[11] = s[3] ^ v11;
173
- out32[12] = s[4] ^ v12;
174
- out32[13] = s[5] ^ v13;
175
- out32[14] = s[6] ^ v14;
176
- out32[15] = s[7] ^ v15;
177
- swap32IfBE(buffer32);
178
- swap32IfBE(out32);
179
- this.posOut = 0;
180
- }
181
- finish() {
182
- if (this.finished)
183
- return;
184
- this.finished = true;
185
- // Padding
186
- clean(this.buffer.subarray(this.pos));
187
- // Process last chunk
188
- let flags = this.flags | B3_Flags.ROOT;
189
- if (this.stack.length) {
190
- flags |= B3_Flags.PARENT;
191
- swap32IfBE(this.buffer32);
192
- this.compress(this.buffer32, 0, true);
193
- swap32IfBE(this.buffer32);
194
- this.chunksDone = 0;
195
- this.pos = this.blockLen;
196
- }
197
- else {
198
- flags |= (!this.chunkPos ? B3_Flags.CHUNK_START : 0) | B3_Flags.CHUNK_END;
199
- }
200
- this.flags = flags;
201
- this.b2CompressOut();
202
- }
203
- writeInto(out) {
204
- aexists(this, false);
205
- abytes(out);
206
- this.finish();
207
- const { blockLen, bufferOut } = this;
208
- for (let pos = 0, len = out.length; pos < len;) {
209
- if (this.posOut >= blockLen)
210
- this.b2CompressOut();
211
- const take = Math.min(blockLen - this.posOut, len - pos);
212
- out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
213
- this.posOut += take;
214
- pos += take;
215
- }
216
- return out;
217
- }
218
- xofInto(out) {
219
- if (!this.enableXOF)
220
- throw new Error('XOF is not possible after digest call');
221
- return this.writeInto(out);
222
- }
223
- xof(bytes) {
224
- anumber(bytes);
225
- return this.xofInto(new Uint8Array(bytes));
226
- }
227
- digestInto(out) {
228
- aoutput(out, this);
229
- if (this.finished)
230
- throw new Error('digest() was already called');
231
- this.enableXOF = false;
232
- this.writeInto(out);
233
- this.destroy();
234
- return out;
235
- }
236
- digest() {
237
- return this.digestInto(new Uint8Array(this.outputLen));
238
- }
239
- }
240
- /**
241
- * BLAKE3 hash function. Can be used as MAC and KDF.
242
- * @param msg - message that would be hashed
243
- * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode
244
- * @example
245
- * const data = new Uint8Array(32);
246
- * const hash = blake3(data);
247
- * const mac = blake3(data, { key: new Uint8Array(32) });
248
- * const kdf = blake3(data, { context: 'application name' });
249
- */
250
- export const blake3 = /* @__PURE__ */ createXOFer((opts) => new BLAKE3(opts));
251
- //# sourceMappingURL=blake3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blake3.js","sourceRoot":"","sources":["../src/blake3.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const crypto: any;
2
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,EAAE,GACqE,CAAC"}
@@ -1,2 +0,0 @@
1
- export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;
2
- //# sourceMappingURL=crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,MAAM,GACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const crypto: any;
2
- //# sourceMappingURL=cryptoNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoNode.d.ts","sourceRoot":"","sources":["../src/cryptoNode.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,EAAE,GAKJ,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Internal webcrypto alias.
3
- * We prefer WebCrypto aka globalThis.crypto, which exists in node.js 16+.
4
- * Falls back to Node.js built-in crypto for Node.js <=v14.
5
- * See utils.ts for details.
6
- * @module
7
- */
8
- // @ts-ignore
9
- import * as nc from 'node:crypto';
10
- export const crypto = nc && typeof nc === 'object' && 'webcrypto' in nc
11
- ? nc.webcrypto
12
- : nc && typeof nc === 'object' && 'randomBytes' in nc
13
- ? nc
14
- : undefined;
15
- //# sourceMappingURL=cryptoNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoNode.js","sourceRoot":"","sources":["../src/cryptoNode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,aAAa;AACb,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GACjB,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,IAAI,EAAE;IAC/C,CAAC,CAAE,EAAE,CAAC,SAAiB;IACvB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,IAAI,EAAE;QACnD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,CAAC"}
@@ -1,47 +0,0 @@
1
- export declare function scrypt(password: string, salt: string): Uint8Array;
2
- export declare function pbkdf2(password: string, salt: string): Uint8Array;
3
- /**
4
- * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead.
5
- */
6
- export declare function deriveMainSeed(username: string, password: string): Uint8Array;
7
- type AccountID = number | string;
8
- type OptsLength = {
9
- keyLength: number;
10
- };
11
- type OptsMod = {
12
- modulus: bigint;
13
- };
14
- type KeyOpts = undefined | OptsLength | OptsMod;
15
- export interface ESKDF {
16
- /**
17
- * Derives a child key. Child key will not be associated with any
18
- * other child key because of properties of underlying KDF.
19
- *
20
- * @param protocol - 3-15 character protocol name
21
- * @param accountId - numeric identifier of account
22
- * @param options - `keyLength: 64` or `modulus: 41920438n`
23
- * @example deriveChildKey('aes', 0)
24
- */
25
- deriveChildKey: (protocol: string, accountId: AccountID, options?: KeyOpts) => Uint8Array;
26
- /**
27
- * Deletes the main seed from eskdf instance
28
- */
29
- expire: () => void;
30
- /**
31
- * Account fingerprint
32
- */
33
- fingerprint: string;
34
- }
35
- /**
36
- * ESKDF
37
- * @param username - username, email, or identifier, min: 8 characters, should have enough entropy
38
- * @param password - password, min: 8 characters, should have enough entropy
39
- * @example
40
- * const kdf = await eskdf('example-university', 'beginning-new-example');
41
- * const key = kdf.deriveChildKey('aes', 0);
42
- * console.log(kdf.fingerprint);
43
- * kdf.expire();
44
- */
45
- export declare function eskdf(username: string, password: string): Promise<ESKDF>;
46
- export {};
47
- //# sourceMappingURL=eskdf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eskdf.d.ts","sourceRoot":"","sources":["../src/eskdf.ts"],"names":[],"mappings":"AAiBA,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAGD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAiBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAY7E;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAgCjC,KAAK,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxC,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACnC,KAAK,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAwChD,MAAM,WAAW,KAAK;IACpB;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;IAC1F;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB9E"}
@@ -1,160 +0,0 @@
1
- /**
2
- * Experimental KDF for AES.
3
- */
4
- import { hkdf } from "./hkdf.js";
5
- import { pbkdf2 as _pbkdf2 } from "./pbkdf2.js";
6
- import { scrypt as _scrypt } from "./scrypt.js";
7
- import { sha256 } from "./sha256.js";
8
- import { abytes, bytesToHex, clean, createView, hexToBytes, kdfInputToBytes } from "./utils.js";
9
- // A tiny KDF for various applications like AES key-gen.
10
- // Uses HKDF in a non-standard way, so it's not "KDF-secure", only "PRF-secure".
11
- // Which is good enough: assume sha2-256 retained preimage resistance.
12
- const SCRYPT_FACTOR = 2 ** 19;
13
- const PBKDF2_FACTOR = 2 ** 17;
14
- // Scrypt KDF
15
- export function scrypt(password, salt) {
16
- return _scrypt(password, salt, { N: SCRYPT_FACTOR, r: 8, p: 1, dkLen: 32 });
17
- }
18
- // PBKDF2-HMAC-SHA256
19
- export function pbkdf2(password, salt) {
20
- return _pbkdf2(sha256, password, salt, { c: PBKDF2_FACTOR, dkLen: 32 });
21
- }
22
- // Combines two 32-byte byte arrays
23
- function xor32(a, b) {
24
- abytes(a, 32);
25
- abytes(b, 32);
26
- const arr = new Uint8Array(32);
27
- for (let i = 0; i < 32; i++) {
28
- arr[i] = a[i] ^ b[i];
29
- }
30
- return arr;
31
- }
32
- function strHasLength(str, min, max) {
33
- return typeof str === 'string' && str.length >= min && str.length <= max;
34
- }
35
- /**
36
- * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead.
37
- */
38
- export function deriveMainSeed(username, password) {
39
- if (!strHasLength(username, 8, 255))
40
- throw new Error('invalid username');
41
- if (!strHasLength(password, 8, 255))
42
- throw new Error('invalid password');
43
- // Declared like this to throw off minifiers which auto-convert .fromCharCode(1) to actual string.
44
- // String with non-ascii may be problematic in some envs
45
- const codes = { _1: 1, _2: 2 };
46
- const sep = { s: String.fromCharCode(codes._1), p: String.fromCharCode(codes._2) };
47
- const scr = scrypt(password + sep.s, username + sep.s);
48
- const pbk = pbkdf2(password + sep.p, username + sep.p);
49
- const res = xor32(scr, pbk);
50
- clean(scr, pbk);
51
- return res;
52
- }
53
- /**
54
- * Converts protocol & accountId pair to HKDF salt & info params.
55
- */
56
- function getSaltInfo(protocol, accountId = 0) {
57
- // Note that length here also repeats two lines below
58
- // We do an additional length check here to reduce the scope of DoS attacks
59
- if (!(strHasLength(protocol, 3, 15) && /^[a-z0-9]{3,15}$/.test(protocol))) {
60
- throw new Error('invalid protocol');
61
- }
62
- // Allow string account ids for some protocols
63
- const allowsStr = /^password\d{0,3}|ssh|tor|file$/.test(protocol);
64
- let salt; // Extract salt. Default is undefined.
65
- if (typeof accountId === 'string') {
66
- if (!allowsStr)
67
- throw new Error('accountId must be a number');
68
- if (!strHasLength(accountId, 1, 255))
69
- throw new Error('accountId must be string of length 1..255');
70
- salt = kdfInputToBytes(accountId);
71
- }
72
- else if (Number.isSafeInteger(accountId)) {
73
- if (accountId < 0 || accountId > Math.pow(2, 32) - 1)
74
- throw new Error('invalid accountId');
75
- // Convert to Big Endian Uint32
76
- salt = new Uint8Array(4);
77
- createView(salt).setUint32(0, accountId, false);
78
- }
79
- else {
80
- throw new Error('accountId must be a number' + (allowsStr ? ' or string' : ''));
81
- }
82
- const info = kdfInputToBytes(protocol);
83
- return { salt, info };
84
- }
85
- function countBytes(num) {
86
- if (typeof num !== 'bigint' || num <= BigInt(128))
87
- throw new Error('invalid number');
88
- return Math.ceil(num.toString(2).length / 8);
89
- }
90
- /**
91
- * Parses keyLength and modulus options to extract length of result key.
92
- * If modulus is used, adds 64 bits to it as per FIPS 186 B.4.1 to combat modulo bias.
93
- */
94
- function getKeyLength(options) {
95
- if (!options || typeof options !== 'object')
96
- return 32;
97
- const hasLen = 'keyLength' in options;
98
- const hasMod = 'modulus' in options;
99
- if (hasLen && hasMod)
100
- throw new Error('cannot combine keyLength and modulus options');
101
- if (!hasLen && !hasMod)
102
- throw new Error('must have either keyLength or modulus option');
103
- // FIPS 186 B.4.1 requires at least 64 more bits
104
- const l = hasMod ? countBytes(options.modulus) + 8 : options.keyLength;
105
- if (!(typeof l === 'number' && l >= 16 && l <= 8192))
106
- throw new Error('invalid keyLength');
107
- return l;
108
- }
109
- /**
110
- * Converts key to bigint and divides it by modulus. Big Endian.
111
- * Implements FIPS 186 B.4.1, which removes 0 and modulo bias from output.
112
- */
113
- function modReduceKey(key, modulus) {
114
- const _1 = BigInt(1);
115
- const num = BigInt('0x' + bytesToHex(key)); // check for ui8a, then bytesToNumber()
116
- const res = (num % (modulus - _1)) + _1; // Remove 0 from output
117
- if (res < _1)
118
- throw new Error('expected positive number'); // Guard against bad values
119
- const len = key.length - 8; // FIPS requires 64 more bits = 8 bytes
120
- const hex = res.toString(16).padStart(len * 2, '0'); // numberToHex()
121
- const bytes = hexToBytes(hex);
122
- if (bytes.length !== len)
123
- throw new Error('invalid length of result key');
124
- return bytes;
125
- }
126
- /**
127
- * ESKDF
128
- * @param username - username, email, or identifier, min: 8 characters, should have enough entropy
129
- * @param password - password, min: 8 characters, should have enough entropy
130
- * @example
131
- * const kdf = await eskdf('example-university', 'beginning-new-example');
132
- * const key = kdf.deriveChildKey('aes', 0);
133
- * console.log(kdf.fingerprint);
134
- * kdf.expire();
135
- */
136
- export async function eskdf(username, password) {
137
- // We are using closure + object instead of class because
138
- // we want to make `seed` non-accessible for any external function.
139
- let seed = deriveMainSeed(username, password);
140
- function deriveCK(protocol, accountId = 0, options) {
141
- abytes(seed, 32);
142
- const { salt, info } = getSaltInfo(protocol, accountId); // validate protocol & accountId
143
- const keyLength = getKeyLength(options); // validate options
144
- const key = hkdf(sha256, seed, salt, info, keyLength);
145
- // Modulus has already been validated
146
- return options && 'modulus' in options ? modReduceKey(key, options.modulus) : key;
147
- }
148
- function expire() {
149
- if (seed)
150
- seed.fill(1);
151
- seed = undefined;
152
- }
153
- // prettier-ignore
154
- const fingerprint = Array.from(deriveCK('fingerprint', 0))
155
- .slice(0, 6)
156
- .map((char) => char.toString(16).padStart(2, '0').toUpperCase())
157
- .join(':');
158
- return Object.freeze({ deriveChildKey: deriveCK, expire, fingerprint });
159
- }
160
- //# sourceMappingURL=eskdf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eskdf.js","sourceRoot":"","sources":["../src/eskdf.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { type CHash, type Input } from './utils.ts';
2
- /**
3
- * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK`
4
- * Arguments position differs from spec (IKM is first one, since it is not optional)
5
- * @param hash - hash function that would be used (e.g. sha256)
6
- * @param ikm - input keying material, the initial key
7
- * @param salt - optional salt value (a non-secret random value)
8
- */
9
- export declare function extract(hash: CHash, ikm: Input, salt?: Input): Uint8Array;
10
- /**
11
- * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM`
12
- * @param hash - hash function that would be used (e.g. sha256)
13
- * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step)
14
- * @param info - optional context and application specific information (can be a zero-length string)
15
- * @param length - length of output keying material in bytes
16
- */
17
- export declare function expand(hash: CHash, prk: Input, info?: Input, length?: number): Uint8Array;
18
- /**
19
- * HKDF (RFC 5869): derive keys from an initial input.
20
- * Combines hkdf_extract + hkdf_expand in one step
21
- * @param hash - hash function that would be used (e.g. sha256)
22
- * @param ikm - input keying material, the initial key
23
- * @param salt - optional salt value (a non-secret random value)
24
- * @param info - optional context and application specific information (can be a zero-length string)
25
- * @param length - length of output keying material in bytes
26
- * @example
27
- * import { hkdf } from '@noble/hashes/hkdf';
28
- * import { sha256 } from '@noble/hashes/sha2';
29
- * import { randomBytes } from '@noble/hashes/utils';
30
- * const inputKey = randomBytes(32);
31
- * const salt = randomBytes(32);
32
- * const info = 'application-key';
33
- * const hk1 = hkdf(sha256, inputKey, salt, info, 32);
34
- */
35
- export declare const hkdf: (hash: CHash, ikm: Input, salt: Input | undefined, info: Input | undefined, length: number) => Uint8Array;
36
- //# sourceMappingURL=hkdf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["../src/hkdf.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,KAAK,EAAS,KAAK,KAAK,EAAW,MAAM,YAAY,CAAC;AAEpF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,CAOzE;AAKD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAE,MAAW,GAAG,UAAU,CA4B7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GACf,MAAM,KAAK,EACX,KAAK,KAAK,EACV,MAAM,KAAK,GAAG,SAAS,EACvB,MAAM,KAAK,GAAG,SAAS,EACvB,QAAQ,MAAM,KACb,UAAkE,CAAC"}