@mtcute/core 0.7.3 → 0.9.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 (1169) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +26 -3
  3. package/cjs/highlevel/base.d.ts +3 -1
  4. package/cjs/highlevel/base.js +18 -0
  5. package/cjs/highlevel/base.js.map +1 -1
  6. package/cjs/highlevel/client.d.ts +23 -10
  7. package/cjs/highlevel/client.js +26 -19
  8. package/cjs/highlevel/client.js.map +1 -1
  9. package/cjs/highlevel/client.types.d.ts +14 -0
  10. package/cjs/highlevel/client.types.js.map +1 -1
  11. package/cjs/highlevel/index.d.ts +0 -2
  12. package/cjs/highlevel/index.js +0 -2
  13. package/cjs/highlevel/index.js.map +1 -1
  14. package/cjs/highlevel/methods/_imports.js.map +1 -1
  15. package/cjs/highlevel/methods/_init.js +4 -29
  16. package/cjs/highlevel/methods/_init.js.map +1 -1
  17. package/cjs/highlevel/methods/bots/get-callback-answer.js +2 -2
  18. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  19. package/cjs/highlevel/methods/dialogs/create-folder.js +1 -1
  20. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  21. package/cjs/highlevel/methods/dialogs/edit-folder.js +1 -1
  22. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  23. package/cjs/highlevel/methods/dialogs/find-folder.js +1 -1
  24. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  25. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  26. package/cjs/highlevel/methods/dialogs/get-folders.js +1 -1
  27. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  28. package/cjs/highlevel/methods/files/download-file.d.ts +1 -10
  29. package/cjs/highlevel/methods/files/download-file.js +1 -32
  30. package/cjs/highlevel/methods/files/download-file.js.map +1 -1
  31. package/cjs/highlevel/methods/files/download-iterable.js +2 -1
  32. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  33. package/cjs/highlevel/methods/files/download-node-stream.js +4 -0
  34. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -0
  35. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  36. package/cjs/highlevel/methods/files/normalize-input-media.js +2 -1
  37. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  38. package/cjs/highlevel/methods/files/upload-file.d.ts +0 -3
  39. package/cjs/highlevel/methods/files/upload-file.js +24 -11
  40. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  41. package/cjs/highlevel/methods/messages/find-in-update.js +23 -8
  42. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  43. package/cjs/highlevel/methods/messages/send-media-group.d.ts +1 -1
  44. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  45. package/cjs/highlevel/methods/messages/send-media.d.ts +2 -2
  46. package/cjs/highlevel/methods/messages/send-media.js +5 -4
  47. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  48. package/cjs/highlevel/methods/messages/send-text.d.ts +1 -1
  49. package/cjs/highlevel/methods/messages/send-text.js +7 -6
  50. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  51. package/cjs/highlevel/methods/misc/with-params.d.ts +10 -0
  52. package/cjs/highlevel/methods/misc/with-params.js +32 -0
  53. package/cjs/highlevel/methods/misc/with-params.js.map +1 -0
  54. package/cjs/highlevel/methods.d.ts +13 -1
  55. package/cjs/highlevel/methods.js +4 -6
  56. package/cjs/highlevel/methods.js.map +1 -1
  57. package/cjs/highlevel/types/bots/command-scope/index.d.ts +10 -0
  58. package/cjs/highlevel/types/bots/command-scope/index.js +29 -0
  59. package/cjs/highlevel/types/bots/command-scope/index.js.map +1 -0
  60. package/cjs/highlevel/types/bots/command-scope/inner.d.ts +54 -0
  61. package/cjs/highlevel/types/bots/command-scope/inner.js +76 -0
  62. package/cjs/highlevel/types/bots/command-scope/inner.js.map +1 -0
  63. package/cjs/highlevel/types/bots/index.d.ts +4 -4
  64. package/cjs/highlevel/types/bots/index.js +4 -4
  65. package/cjs/highlevel/types/bots/index.js.map +1 -1
  66. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +43 -0
  67. package/cjs/highlevel/types/bots/inline-message/factories.js +175 -0
  68. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -0
  69. package/cjs/highlevel/types/bots/inline-message/index.d.ts +3 -0
  70. package/cjs/highlevel/types/bots/inline-message/index.js +33 -0
  71. package/cjs/highlevel/types/bots/inline-message/index.js.map +1 -0
  72. package/{esm/highlevel/types/bots/input/input-inline-message.d.ts → cjs/highlevel/types/bots/inline-message/types.d.ts} +2 -45
  73. package/cjs/highlevel/types/bots/inline-message/types.js +3 -0
  74. package/cjs/highlevel/types/bots/inline-message/types.js.map +1 -0
  75. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +94 -0
  76. package/cjs/highlevel/types/bots/inline-result/factories.js +486 -0
  77. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -0
  78. package/cjs/highlevel/types/bots/inline-result/index.d.ts +3 -0
  79. package/cjs/highlevel/types/bots/inline-result/index.js +33 -0
  80. package/cjs/highlevel/types/bots/inline-result/index.js.map +1 -0
  81. package/{esm/highlevel/types/bots/input/input-inline-result.d.ts → cjs/highlevel/types/bots/inline-result/types.d.ts} +1 -95
  82. package/cjs/highlevel/types/bots/inline-result/types.js +3 -0
  83. package/cjs/highlevel/types/bots/inline-result/types.js.map +1 -0
  84. package/cjs/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
  85. package/cjs/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
  86. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -0
  87. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +195 -0
  88. package/cjs/highlevel/types/bots/keyboards/factories.js +366 -0
  89. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -0
  90. package/cjs/highlevel/types/bots/keyboards/index.d.ts +14 -0
  91. package/cjs/highlevel/types/bots/keyboards/index.js +33 -0
  92. package/cjs/highlevel/types/bots/keyboards/index.js.map +1 -0
  93. package/cjs/highlevel/types/bots/keyboards/types.d.ts +34 -0
  94. package/cjs/highlevel/types/bots/keyboards/types.js +3 -0
  95. package/cjs/highlevel/types/bots/keyboards/types.js.map +1 -0
  96. package/cjs/highlevel/types/files/utils.d.ts +9 -6
  97. package/cjs/highlevel/types/files/utils.js.map +1 -1
  98. package/cjs/highlevel/types/media/document.js +3 -2
  99. package/cjs/highlevel/types/media/document.js.map +1 -1
  100. package/cjs/highlevel/types/media/index.d.ts +1 -1
  101. package/cjs/highlevel/types/media/index.js +1 -1
  102. package/cjs/highlevel/types/media/index.js.map +1 -1
  103. package/cjs/highlevel/types/media/input-media/factories.d.ts +141 -0
  104. package/cjs/highlevel/types/media/input-media/factories.js +250 -0
  105. package/cjs/highlevel/types/media/input-media/factories.js.map +1 -0
  106. package/cjs/highlevel/types/media/input-media/index.d.ts +3 -0
  107. package/cjs/highlevel/types/media/input-media/index.js +33 -0
  108. package/cjs/highlevel/types/media/input-media/index.js.map +1 -0
  109. package/cjs/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
  110. package/cjs/highlevel/types/media/input-media/types.js +3 -0
  111. package/cjs/highlevel/types/media/input-media/types.js.map +1 -0
  112. package/cjs/highlevel/types/media/thumbnail.js +5 -4
  113. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  114. package/cjs/highlevel/types/messages/message.d.ts +1 -1
  115. package/cjs/highlevel/types/messages/message.js +3 -3
  116. package/cjs/highlevel/types/messages/message.js.map +1 -1
  117. package/cjs/highlevel/types/misc/index.d.ts +1 -1
  118. package/cjs/highlevel/types/misc/index.js +1 -1
  119. package/cjs/highlevel/types/misc/index.js.map +1 -1
  120. package/cjs/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
  121. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js +36 -0
  122. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
  123. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
  124. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js +31 -0
  125. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
  126. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
  127. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js +32 -0
  128. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
  129. package/cjs/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
  130. package/cjs/highlevel/types/misc/input-privacy-rule/index.js +33 -0
  131. package/cjs/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
  132. package/cjs/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
  133. package/cjs/highlevel/types/misc/input-privacy-rule/types.js +3 -0
  134. package/cjs/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
  135. package/cjs/highlevel/types/peers/chat-photo.js +3 -2
  136. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  137. package/cjs/highlevel/types/updates/callback-query.js +2 -2
  138. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  139. package/cjs/highlevel/types/updates/user-status-update.js +1 -1
  140. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  141. package/cjs/highlevel/updates/manager.d.ts +5 -3
  142. package/cjs/highlevel/updates/manager.js +81 -67
  143. package/cjs/highlevel/updates/manager.js.map +1 -1
  144. package/cjs/highlevel/utils/convert-file-id.js +7 -6
  145. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  146. package/cjs/highlevel/utils/file-utils.js +8 -4
  147. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  148. package/cjs/highlevel/utils/inline-utils.js +3 -2
  149. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  150. package/cjs/highlevel/utils/inspectable.d.ts +1 -1
  151. package/cjs/highlevel/utils/inspectable.js +3 -2
  152. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  153. package/cjs/highlevel/utils/memoize.d.ts +1 -1
  154. package/cjs/highlevel/utils/memoize.js +1 -0
  155. package/cjs/highlevel/utils/memoize.js.map +1 -1
  156. package/cjs/highlevel/utils/stream-utils.d.ts +0 -2
  157. package/cjs/highlevel/utils/stream-utils.js +1 -28
  158. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  159. package/cjs/highlevel/utils/string-session.js +3 -2
  160. package/cjs/highlevel/utils/string-session.js.map +1 -1
  161. package/cjs/highlevel/worker/index.d.ts +3 -0
  162. package/cjs/highlevel/{types/bots/input → worker}/index.js +3 -2
  163. package/cjs/highlevel/worker/index.js.map +1 -0
  164. package/cjs/highlevel/worker/port.d.ts +6 -3
  165. package/cjs/highlevel/worker/port.js +8 -2
  166. package/cjs/highlevel/worker/port.js.map +1 -1
  167. package/cjs/highlevel/worker/protocol.d.ts +5 -1
  168. package/cjs/highlevel/worker/protocol.js.map +1 -1
  169. package/cjs/highlevel/worker/worker.d.ts +11 -4
  170. package/cjs/highlevel/worker/worker.js +53 -49
  171. package/cjs/highlevel/worker/worker.js.map +1 -1
  172. package/cjs/network/client.d.ts +4 -4
  173. package/cjs/network/client.js +3 -1
  174. package/cjs/network/client.js.map +1 -1
  175. package/cjs/network/multi-session-connection.d.ts +1 -0
  176. package/cjs/network/multi-session-connection.js +6 -0
  177. package/cjs/network/multi-session-connection.js.map +1 -1
  178. package/cjs/network/network-manager.d.ts +5 -1
  179. package/cjs/network/network-manager.js +24 -15
  180. package/cjs/network/network-manager.js.map +1 -1
  181. package/cjs/network/persistent-connection.d.ts +3 -0
  182. package/cjs/network/persistent-connection.js +23 -1
  183. package/cjs/network/persistent-connection.js.map +1 -1
  184. package/cjs/network/session-connection.d.ts +2 -0
  185. package/cjs/network/session-connection.js +18 -4
  186. package/cjs/network/session-connection.js.map +1 -1
  187. package/cjs/network/transports/index.d.ts +0 -3
  188. package/cjs/network/transports/index.js +0 -4
  189. package/cjs/network/transports/index.js.map +1 -1
  190. package/cjs/platform.d.ts +18 -0
  191. package/cjs/platform.js +36 -0
  192. package/cjs/platform.js.map +1 -0
  193. package/cjs/storage/index.d.ts +2 -2
  194. package/cjs/storage/index.js +2 -2
  195. package/cjs/storage/index.js.map +1 -1
  196. package/{esm/storage/providers → cjs/storage}/memory/driver.d.ts +1 -1
  197. package/cjs/storage/memory/driver.js.map +1 -0
  198. package/{esm/storage/providers → cjs/storage}/memory/index.d.ts +2 -2
  199. package/cjs/storage/memory/index.js.map +1 -0
  200. package/cjs/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  201. package/cjs/storage/memory/repository/auth-keys.js.map +1 -0
  202. package/{esm/storage/providers → cjs/storage}/memory/repository/kv.d.ts +1 -1
  203. package/cjs/storage/memory/repository/kv.js.map +1 -0
  204. package/{esm/storage/providers → cjs/storage}/memory/repository/peers.d.ts +1 -1
  205. package/cjs/storage/memory/repository/peers.js.map +1 -0
  206. package/{esm/storage/providers → cjs/storage}/memory/repository/ref-messages.d.ts +1 -1
  207. package/cjs/storage/memory/repository/ref-messages.js.map +1 -0
  208. package/cjs/storage/sqlite/driver.d.ts +24 -0
  209. package/cjs/storage/sqlite/driver.js +129 -0
  210. package/cjs/storage/sqlite/driver.js.map +1 -0
  211. package/cjs/storage/sqlite/index.d.ts +17 -0
  212. package/cjs/storage/sqlite/index.js +35 -0
  213. package/cjs/storage/sqlite/index.js.map +1 -0
  214. package/cjs/storage/sqlite/repository/auth-keys.d.ts +20 -0
  215. package/cjs/storage/sqlite/repository/auth-keys.js +68 -0
  216. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -0
  217. package/cjs/storage/sqlite/repository/kv.d.ts +14 -0
  218. package/cjs/storage/sqlite/repository/kv.js +96 -0
  219. package/cjs/storage/sqlite/repository/kv.js.map +1 -0
  220. package/cjs/storage/sqlite/repository/peers.d.ts +16 -0
  221. package/cjs/storage/sqlite/repository/peers.js +77 -0
  222. package/cjs/storage/sqlite/repository/peers.js.map +1 -0
  223. package/cjs/storage/sqlite/repository/ref-messages.d.ts +16 -0
  224. package/cjs/storage/sqlite/repository/ref-messages.js +49 -0
  225. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -0
  226. package/cjs/storage/sqlite/types.d.ts +18 -0
  227. package/cjs/storage/sqlite/types.js +3 -0
  228. package/cjs/storage/sqlite/types.js.map +1 -0
  229. package/cjs/storage/storage.js +2 -1
  230. package/cjs/storage/storage.js.map +1 -1
  231. package/cjs/utils/binary/asn1-parser.js +3 -3
  232. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  233. package/cjs/utils/crypto/abstract.d.ts +0 -1
  234. package/cjs/utils/crypto/abstract.js.map +1 -1
  235. package/cjs/utils/crypto/index.d.ts +0 -2
  236. package/cjs/utils/crypto/index.js +0 -3
  237. package/cjs/utils/crypto/index.js.map +1 -1
  238. package/cjs/utils/crypto/keys.js +5 -3
  239. package/cjs/utils/crypto/keys.js.map +1 -1
  240. package/cjs/utils/crypto/password.js +3 -3
  241. package/cjs/utils/crypto/password.js.map +1 -1
  242. package/cjs/utils/dcs.d.ts +4 -0
  243. package/cjs/utils/dcs.js +0 -4
  244. package/cjs/utils/dcs.js.map +1 -1
  245. package/cjs/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  246. package/cjs/utils/error-reporting.js.map +1 -0
  247. package/cjs/utils/index.d.ts +4 -1
  248. package/cjs/utils/index.js +6 -1
  249. package/cjs/utils/index.js.map +1 -1
  250. package/cjs/utils/links/common.js +1 -1
  251. package/cjs/utils/links/common.js.map +1 -1
  252. package/cjs/utils/logger.d.ts +1 -0
  253. package/cjs/utils/logger.js +9 -22
  254. package/cjs/utils/logger.js.map +1 -1
  255. package/esm/highlevel/base.d.ts +3 -1
  256. package/esm/highlevel/base.js +18 -0
  257. package/esm/highlevel/base.js.map +1 -1
  258. package/esm/highlevel/client.d.ts +23 -10
  259. package/esm/highlevel/client.js +12 -19
  260. package/esm/highlevel/client.js.map +1 -1
  261. package/esm/highlevel/client.types.d.ts +14 -0
  262. package/esm/highlevel/client.types.js.map +1 -1
  263. package/esm/highlevel/index.d.ts +0 -2
  264. package/esm/highlevel/index.js +0 -2
  265. package/esm/highlevel/index.js.map +1 -1
  266. package/esm/highlevel/methods/_imports.js.map +1 -1
  267. package/esm/highlevel/methods/_init.js +4 -29
  268. package/esm/highlevel/methods/_init.js.map +1 -1
  269. package/esm/highlevel/methods/bots/get-callback-answer.js +2 -2
  270. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  271. package/esm/highlevel/methods/dialogs/create-folder.js +1 -1
  272. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  273. package/esm/highlevel/methods/dialogs/edit-folder.js +1 -1
  274. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  275. package/esm/highlevel/methods/dialogs/find-folder.js +1 -1
  276. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  277. package/esm/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  278. package/esm/highlevel/methods/dialogs/get-folders.js +1 -1
  279. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  280. package/esm/highlevel/methods/files/download-file.d.ts +1 -10
  281. package/esm/highlevel/methods/files/download-file.js +2 -30
  282. package/esm/highlevel/methods/files/download-file.js.map +1 -1
  283. package/esm/highlevel/methods/files/download-iterable.js +2 -1
  284. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  285. package/esm/highlevel/methods/files/download-node-stream.js +3 -0
  286. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -0
  287. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  288. package/esm/highlevel/methods/files/normalize-input-media.js +2 -1
  289. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  290. package/esm/highlevel/methods/files/upload-file.d.ts +0 -3
  291. package/esm/highlevel/methods/files/upload-file.js +24 -11
  292. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  293. package/esm/highlevel/methods/messages/find-in-update.js +23 -8
  294. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  295. package/esm/highlevel/methods/messages/send-media-group.d.ts +1 -1
  296. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  297. package/esm/highlevel/methods/messages/send-media.d.ts +2 -2
  298. package/esm/highlevel/methods/messages/send-media.js +4 -3
  299. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  300. package/esm/highlevel/methods/messages/send-text.d.ts +1 -1
  301. package/esm/highlevel/methods/messages/send-text.js +4 -3
  302. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  303. package/esm/highlevel/methods/misc/with-params.d.ts +10 -0
  304. package/esm/highlevel/methods/misc/with-params.js +28 -0
  305. package/esm/highlevel/methods/misc/with-params.js.map +1 -0
  306. package/esm/highlevel/methods.d.ts +13 -1
  307. package/esm/highlevel/methods.js +0 -1
  308. package/esm/highlevel/methods.js.map +1 -1
  309. package/esm/highlevel/types/auth/sent-code.js +4 -3
  310. package/esm/highlevel/types/bots/command-scope/index.d.ts +10 -0
  311. package/esm/highlevel/types/bots/command-scope/index.js +11 -0
  312. package/esm/highlevel/types/bots/command-scope/index.js.map +1 -0
  313. package/esm/highlevel/types/bots/command-scope/inner.d.ts +54 -0
  314. package/esm/highlevel/types/bots/command-scope/inner.js +69 -0
  315. package/esm/highlevel/types/bots/command-scope/inner.js.map +1 -0
  316. package/esm/highlevel/types/bots/game-high-score.js +5 -4
  317. package/esm/highlevel/types/bots/index.d.ts +4 -4
  318. package/esm/highlevel/types/bots/index.js +4 -4
  319. package/esm/highlevel/types/bots/index.js.map +1 -1
  320. package/esm/highlevel/types/bots/inline-message/factories.d.ts +43 -0
  321. package/esm/highlevel/types/bots/inline-message/factories.js +163 -0
  322. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -0
  323. package/esm/highlevel/types/bots/inline-message/index.d.ts +3 -0
  324. package/esm/highlevel/types/bots/inline-message/index.js +4 -0
  325. package/esm/highlevel/types/bots/inline-message/index.js.map +1 -0
  326. package/{cjs/highlevel/types/bots/input/input-inline-message.d.ts → esm/highlevel/types/bots/inline-message/types.d.ts} +2 -45
  327. package/esm/highlevel/types/bots/inline-message/types.js +2 -0
  328. package/esm/highlevel/types/bots/inline-message/types.js.map +1 -0
  329. package/esm/highlevel/types/bots/inline-result/factories.d.ts +94 -0
  330. package/esm/highlevel/types/bots/inline-result/factories.js +470 -0
  331. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -0
  332. package/esm/highlevel/types/bots/inline-result/index.d.ts +3 -0
  333. package/esm/highlevel/types/bots/inline-result/index.js +4 -0
  334. package/esm/highlevel/types/bots/inline-result/index.js.map +1 -0
  335. package/{cjs/highlevel/types/bots/input/input-inline-result.d.ts → esm/highlevel/types/bots/inline-result/types.d.ts} +1 -95
  336. package/esm/highlevel/types/bots/inline-result/types.js +2 -0
  337. package/esm/highlevel/types/bots/inline-result/types.js.map +1 -0
  338. package/esm/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
  339. package/esm/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
  340. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -0
  341. package/esm/highlevel/types/bots/keyboards/factories.d.ts +195 -0
  342. package/esm/highlevel/types/bots/keyboards/factories.js +341 -0
  343. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -0
  344. package/esm/highlevel/types/bots/keyboards/index.d.ts +14 -0
  345. package/esm/highlevel/types/bots/keyboards/index.js +15 -0
  346. package/esm/highlevel/types/bots/keyboards/index.js.map +1 -0
  347. package/esm/highlevel/types/bots/keyboards/types.d.ts +34 -0
  348. package/esm/highlevel/types/bots/keyboards/types.js +2 -0
  349. package/esm/highlevel/types/bots/keyboards/types.js.map +1 -0
  350. package/esm/highlevel/types/files/file-location.js +4 -3
  351. package/esm/highlevel/types/files/utils.d.ts +9 -6
  352. package/esm/highlevel/types/files/utils.js.map +1 -1
  353. package/esm/highlevel/types/files/web-document.js +4 -3
  354. package/esm/highlevel/types/media/audio.js +5 -4
  355. package/esm/highlevel/types/media/contact.js +4 -3
  356. package/esm/highlevel/types/media/dice.js +4 -3
  357. package/esm/highlevel/types/media/document.js +8 -6
  358. package/esm/highlevel/types/media/document.js.map +1 -1
  359. package/esm/highlevel/types/media/game.js +5 -4
  360. package/esm/highlevel/types/media/index.d.ts +1 -1
  361. package/esm/highlevel/types/media/index.js +1 -1
  362. package/esm/highlevel/types/media/index.js.map +1 -1
  363. package/esm/highlevel/types/media/input-media/factories.d.ts +141 -0
  364. package/esm/highlevel/types/media/input-media/factories.js +228 -0
  365. package/esm/highlevel/types/media/input-media/factories.js.map +1 -0
  366. package/esm/highlevel/types/media/input-media/index.d.ts +3 -0
  367. package/esm/highlevel/types/media/input-media/index.js +4 -0
  368. package/esm/highlevel/types/media/input-media/index.js.map +1 -0
  369. package/esm/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
  370. package/esm/highlevel/types/media/input-media/types.js +2 -0
  371. package/esm/highlevel/types/media/input-media/types.js.map +1 -0
  372. package/esm/highlevel/types/media/invoice.js +9 -7
  373. package/esm/highlevel/types/media/location.js +7 -5
  374. package/esm/highlevel/types/media/photo.js +5 -4
  375. package/esm/highlevel/types/media/poll.js +5 -4
  376. package/esm/highlevel/types/media/sticker.js +5 -4
  377. package/esm/highlevel/types/media/story.js +4 -3
  378. package/esm/highlevel/types/media/thumbnail.js +10 -8
  379. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  380. package/esm/highlevel/types/media/venue.js +5 -4
  381. package/esm/highlevel/types/media/video.js +5 -4
  382. package/esm/highlevel/types/media/voice.js +5 -4
  383. package/esm/highlevel/types/media/web-page.js +5 -4
  384. package/esm/highlevel/types/messages/dialog.js +5 -4
  385. package/esm/highlevel/types/messages/draft-message.js +5 -4
  386. package/esm/highlevel/types/messages/message-entity.js +5 -4
  387. package/esm/highlevel/types/messages/message-forward.js +5 -4
  388. package/esm/highlevel/types/messages/message-reactions.js +5 -4
  389. package/esm/highlevel/types/messages/message-replies.js +5 -4
  390. package/esm/highlevel/types/messages/message.d.ts +1 -1
  391. package/esm/highlevel/types/messages/message.js +6 -5
  392. package/esm/highlevel/types/messages/message.js.map +1 -1
  393. package/esm/highlevel/types/messages/replied-message.js +5 -4
  394. package/esm/highlevel/types/misc/index.d.ts +1 -1
  395. package/esm/highlevel/types/misc/index.js +1 -1
  396. package/esm/highlevel/types/misc/index.js.map +1 -1
  397. package/esm/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
  398. package/esm/highlevel/types/misc/input-privacy-rule/allow.js +31 -0
  399. package/esm/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
  400. package/esm/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
  401. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js +4 -0
  402. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
  403. package/esm/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
  404. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js +27 -0
  405. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
  406. package/esm/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
  407. package/esm/highlevel/types/misc/input-privacy-rule/index.js +4 -0
  408. package/esm/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
  409. package/esm/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
  410. package/esm/highlevel/types/misc/input-privacy-rule/types.js +2 -0
  411. package/esm/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
  412. package/esm/highlevel/types/misc/sticker-set.js +5 -4
  413. package/esm/highlevel/types/misc/takeout-session.js +4 -3
  414. package/esm/highlevel/types/peers/chat-colors.js +4 -3
  415. package/esm/highlevel/types/peers/chat-event/index.js +5 -4
  416. package/esm/highlevel/types/peers/chat-invite-link-member.js +5 -4
  417. package/esm/highlevel/types/peers/chat-invite-link.js +5 -4
  418. package/esm/highlevel/types/peers/chat-location.js +5 -4
  419. package/esm/highlevel/types/peers/chat-member.js +5 -4
  420. package/esm/highlevel/types/peers/chat-permissions.js +4 -3
  421. package/esm/highlevel/types/peers/chat-photo.js +12 -9
  422. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  423. package/esm/highlevel/types/peers/chat-preview.js +5 -4
  424. package/esm/highlevel/types/peers/chat.js +5 -4
  425. package/esm/highlevel/types/peers/forum-topic.js +5 -4
  426. package/esm/highlevel/types/peers/user.js +5 -4
  427. package/esm/highlevel/types/premium/boost-slot.js +5 -4
  428. package/esm/highlevel/types/premium/boost-stats.js +4 -3
  429. package/esm/highlevel/types/premium/boost.js +5 -4
  430. package/esm/highlevel/types/reactions/emoji-status.js +4 -3
  431. package/esm/highlevel/types/reactions/peer-reaction.js +5 -4
  432. package/esm/highlevel/types/reactions/reaction-count.js +4 -3
  433. package/esm/highlevel/types/stories/all-stories.js +5 -4
  434. package/esm/highlevel/types/stories/interactive/channel-post.js +5 -4
  435. package/esm/highlevel/types/stories/interactive/location.js +5 -4
  436. package/esm/highlevel/types/stories/interactive/reaction.js +4 -3
  437. package/esm/highlevel/types/stories/interactive/venue.js +5 -4
  438. package/esm/highlevel/types/stories/peer-stories.js +5 -4
  439. package/esm/highlevel/types/stories/stealth-mode.js +4 -3
  440. package/esm/highlevel/types/stories/story-interactions.js +5 -4
  441. package/esm/highlevel/types/stories/story-viewer.js +9 -7
  442. package/esm/highlevel/types/stories/story.js +5 -4
  443. package/esm/highlevel/types/updates/bot-chat-join-request.js +5 -4
  444. package/esm/highlevel/types/updates/bot-reaction.js +9 -7
  445. package/esm/highlevel/types/updates/bot-stopped.js +5 -4
  446. package/esm/highlevel/types/updates/callback-query.js +11 -9
  447. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  448. package/esm/highlevel/types/updates/chat-join-request.js +5 -4
  449. package/esm/highlevel/types/updates/chat-member-update.js +5 -4
  450. package/esm/highlevel/types/updates/chosen-inline-result.js +5 -4
  451. package/esm/highlevel/types/updates/delete-message-update.js +4 -3
  452. package/esm/highlevel/types/updates/delete-story-update.js +5 -4
  453. package/esm/highlevel/types/updates/history-read-update.js +4 -3
  454. package/esm/highlevel/types/updates/inline-query.js +5 -4
  455. package/esm/highlevel/types/updates/poll-update.js +5 -4
  456. package/esm/highlevel/types/updates/poll-vote.js +5 -4
  457. package/esm/highlevel/types/updates/pre-checkout-query.js +5 -4
  458. package/esm/highlevel/types/updates/story-update.js +5 -4
  459. package/esm/highlevel/types/updates/user-status-update.js +5 -4
  460. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  461. package/esm/highlevel/types/updates/user-typing-update.js +4 -3
  462. package/esm/highlevel/updates/manager.d.ts +5 -3
  463. package/esm/highlevel/updates/manager.js +81 -67
  464. package/esm/highlevel/updates/manager.js.map +1 -1
  465. package/esm/highlevel/utils/convert-file-id.js +7 -6
  466. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  467. package/esm/highlevel/utils/file-utils.js +8 -4
  468. package/esm/highlevel/utils/file-utils.js.map +1 -1
  469. package/esm/highlevel/utils/inline-utils.js +4 -3
  470. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  471. package/esm/highlevel/utils/inspectable.d.ts +1 -1
  472. package/esm/highlevel/utils/inspectable.js +3 -2
  473. package/esm/highlevel/utils/inspectable.js.map +1 -1
  474. package/esm/highlevel/utils/memoize.d.ts +1 -1
  475. package/esm/highlevel/utils/memoize.js +1 -0
  476. package/esm/highlevel/utils/memoize.js.map +1 -1
  477. package/esm/highlevel/utils/stream-utils.d.ts +0 -2
  478. package/esm/highlevel/utils/stream-utils.js +0 -26
  479. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  480. package/esm/highlevel/utils/string-session.js +4 -3
  481. package/esm/highlevel/utils/string-session.js.map +1 -1
  482. package/esm/highlevel/worker/index.d.ts +3 -0
  483. package/esm/highlevel/worker/index.js +4 -0
  484. package/esm/highlevel/worker/index.js.map +1 -0
  485. package/esm/highlevel/worker/port.d.ts +6 -3
  486. package/esm/highlevel/worker/port.js +8 -2
  487. package/esm/highlevel/worker/port.js.map +1 -1
  488. package/esm/highlevel/worker/protocol.d.ts +5 -1
  489. package/esm/highlevel/worker/protocol.js.map +1 -1
  490. package/esm/highlevel/worker/worker.d.ts +11 -4
  491. package/esm/highlevel/worker/worker.js +51 -47
  492. package/esm/highlevel/worker/worker.js.map +1 -1
  493. package/esm/network/client.d.ts +4 -4
  494. package/esm/network/client.js +4 -2
  495. package/esm/network/client.js.map +1 -1
  496. package/esm/network/multi-session-connection.d.ts +1 -0
  497. package/esm/network/multi-session-connection.js +6 -0
  498. package/esm/network/multi-session-connection.js.map +1 -1
  499. package/esm/network/network-manager.d.ts +5 -1
  500. package/esm/network/network-manager.js +24 -15
  501. package/esm/network/network-manager.js.map +1 -1
  502. package/esm/network/persistent-connection.d.ts +3 -0
  503. package/esm/network/persistent-connection.js +23 -1
  504. package/esm/network/persistent-connection.js.map +1 -1
  505. package/esm/network/session-connection.d.ts +2 -0
  506. package/esm/network/session-connection.js +18 -4
  507. package/esm/network/session-connection.js.map +1 -1
  508. package/esm/network/transports/index.d.ts +0 -3
  509. package/esm/network/transports/index.js +0 -3
  510. package/esm/network/transports/index.js.map +1 -1
  511. package/esm/platform.d.ts +18 -0
  512. package/esm/platform.js +31 -0
  513. package/esm/platform.js.map +1 -0
  514. package/esm/storage/index.d.ts +2 -2
  515. package/esm/storage/index.js +2 -2
  516. package/esm/storage/index.js.map +1 -1
  517. package/{cjs/storage/providers → esm/storage}/memory/driver.d.ts +1 -1
  518. package/esm/storage/memory/driver.js.map +1 -0
  519. package/{cjs/storage/providers → esm/storage}/memory/index.d.ts +2 -2
  520. package/esm/storage/memory/index.js.map +1 -0
  521. package/esm/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  522. package/esm/storage/memory/repository/auth-keys.js.map +1 -0
  523. package/{cjs/storage/providers → esm/storage}/memory/repository/kv.d.ts +1 -1
  524. package/esm/storage/memory/repository/kv.js.map +1 -0
  525. package/{cjs/storage/providers → esm/storage}/memory/repository/peers.d.ts +1 -1
  526. package/esm/storage/memory/repository/peers.js.map +1 -0
  527. package/{cjs/storage/providers → esm/storage}/memory/repository/ref-messages.d.ts +1 -1
  528. package/esm/storage/memory/repository/ref-messages.js.map +1 -0
  529. package/esm/storage/sqlite/driver.d.ts +24 -0
  530. package/esm/storage/sqlite/driver.js +125 -0
  531. package/esm/storage/sqlite/driver.js.map +1 -0
  532. package/esm/storage/sqlite/index.d.ts +17 -0
  533. package/esm/storage/sqlite/index.js +17 -0
  534. package/esm/storage/sqlite/index.js.map +1 -0
  535. package/esm/storage/sqlite/repository/auth-keys.d.ts +20 -0
  536. package/esm/storage/sqlite/repository/auth-keys.js +64 -0
  537. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -0
  538. package/esm/storage/sqlite/repository/kv.d.ts +14 -0
  539. package/esm/storage/sqlite/repository/kv.js +92 -0
  540. package/esm/storage/sqlite/repository/kv.js.map +1 -0
  541. package/esm/storage/sqlite/repository/peers.d.ts +16 -0
  542. package/esm/storage/sqlite/repository/peers.js +73 -0
  543. package/esm/storage/sqlite/repository/peers.js.map +1 -0
  544. package/esm/storage/sqlite/repository/ref-messages.d.ts +16 -0
  545. package/esm/storage/sqlite/repository/ref-messages.js +45 -0
  546. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -0
  547. package/esm/storage/sqlite/types.d.ts +18 -0
  548. package/esm/storage/sqlite/types.js +2 -0
  549. package/esm/storage/sqlite/types.js.map +1 -0
  550. package/esm/storage/storage.js +3 -2
  551. package/esm/storage/storage.js.map +1 -1
  552. package/esm/utils/binary/asn1-parser.js +3 -3
  553. package/esm/utils/binary/asn1-parser.js.map +1 -1
  554. package/esm/utils/crypto/abstract.d.ts +0 -1
  555. package/esm/utils/crypto/abstract.js.map +1 -1
  556. package/esm/utils/crypto/index.d.ts +0 -2
  557. package/esm/utils/crypto/index.js +0 -2
  558. package/esm/utils/crypto/index.js.map +1 -1
  559. package/esm/utils/crypto/keys.js +6 -4
  560. package/esm/utils/crypto/keys.js.map +1 -1
  561. package/esm/utils/crypto/password.js +3 -3
  562. package/esm/utils/crypto/password.js.map +1 -1
  563. package/esm/utils/dcs.d.ts +4 -0
  564. package/esm/utils/dcs.js +0 -4
  565. package/esm/utils/dcs.js.map +1 -1
  566. package/esm/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  567. package/esm/utils/error-reporting.js.map +1 -0
  568. package/esm/utils/index.d.ts +4 -1
  569. package/esm/utils/index.js +6 -1
  570. package/esm/utils/index.js.map +1 -1
  571. package/esm/utils/links/common.js +1 -1
  572. package/esm/utils/links/common.js.map +1 -1
  573. package/esm/utils/logger.d.ts +1 -0
  574. package/esm/utils/logger.js +9 -22
  575. package/esm/utils/logger.js.map +1 -1
  576. package/package.json +25 -53
  577. package/cjs/highlevel/base.test.js +0 -14
  578. package/cjs/highlevel/base.test.js.map +0 -1
  579. package/cjs/highlevel/methods/files/_platform.js +0 -33
  580. package/cjs/highlevel/methods/files/_platform.js.map +0 -1
  581. package/cjs/highlevel/methods/files/_platform.web.d.ts +0 -1
  582. package/cjs/highlevel/methods/files/_platform.web.js +0 -26
  583. package/cjs/highlevel/methods/files/_platform.web.js.map +0 -1
  584. package/cjs/highlevel/methods/files/download-file.web.d.ts +0 -1
  585. package/cjs/highlevel/methods/files/download-file.web.js +0 -9
  586. package/cjs/highlevel/methods/files/download-file.web.js.map +0 -1
  587. package/cjs/highlevel/methods/messages/send-text.test.d.ts +0 -1
  588. package/cjs/highlevel/methods/messages/send-text.test.js +0 -140
  589. package/cjs/highlevel/methods/messages/send-text.test.js.map +0 -1
  590. package/cjs/highlevel/methods/users/get-users.test.d.ts +0 -1
  591. package/cjs/highlevel/methods/users/get-users.test.js +0 -33
  592. package/cjs/highlevel/methods/users/get-users.test.js.map +0 -1
  593. package/cjs/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  594. package/cjs/highlevel/methods/users/resolve-peer.test.js +0 -307
  595. package/cjs/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  596. package/cjs/highlevel/types/bots/command-scope.d.ts +0 -63
  597. package/cjs/highlevel/types/bots/command-scope.js +0 -87
  598. package/cjs/highlevel/types/bots/command-scope.js.map +0 -1
  599. package/cjs/highlevel/types/bots/input/index.d.ts +0 -2
  600. package/cjs/highlevel/types/bots/input/index.js.map +0 -1
  601. package/cjs/highlevel/types/bots/input/input-inline-message.js +0 -179
  602. package/cjs/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  603. package/cjs/highlevel/types/bots/input/input-inline-result.js +0 -490
  604. package/cjs/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  605. package/cjs/highlevel/types/bots/keyboard-builder.js.map +0 -1
  606. package/cjs/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  607. package/cjs/highlevel/types/bots/keyboard-builder.test.js +0 -162
  608. package/cjs/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  609. package/cjs/highlevel/types/bots/keyboards.d.ts +0 -239
  610. package/cjs/highlevel/types/bots/keyboards.js +0 -380
  611. package/cjs/highlevel/types/bots/keyboards.js.map +0 -1
  612. package/cjs/highlevel/types/bots/keyboards.test.d.ts +0 -1
  613. package/cjs/highlevel/types/bots/keyboards.test.js +0 -146
  614. package/cjs/highlevel/types/bots/keyboards.test.js.map +0 -1
  615. package/cjs/highlevel/types/media/input-media.js +0 -254
  616. package/cjs/highlevel/types/media/input-media.js.map +0 -1
  617. package/cjs/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  618. package/cjs/highlevel/types/misc/input-privacy-rule.js +0 -85
  619. package/cjs/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  620. package/cjs/highlevel/types/peers/peers-index.test.d.ts +0 -1
  621. package/cjs/highlevel/types/peers/peers-index.test.js +0 -71
  622. package/cjs/highlevel/types/peers/peers-index.test.js.map +0 -1
  623. package/cjs/highlevel/types/peers/user.test.d.ts +0 -1
  624. package/cjs/highlevel/types/peers/user.test.js +0 -176
  625. package/cjs/highlevel/types/peers/user.test.js.map +0 -1
  626. package/cjs/highlevel/utils/file-type.test.d.ts +0 -1
  627. package/cjs/highlevel/utils/file-type.test.js +0 -64
  628. package/cjs/highlevel/utils/file-type.test.js.map +0 -1
  629. package/cjs/highlevel/utils/file-utils.test.d.ts +0 -1
  630. package/cjs/highlevel/utils/file-utils.test.js +0 -126
  631. package/cjs/highlevel/utils/file-utils.test.js.map +0 -1
  632. package/cjs/highlevel/utils/inline-utils.test.d.ts +0 -1
  633. package/cjs/highlevel/utils/inline-utils.test.js +0 -47
  634. package/cjs/highlevel/utils/inline-utils.test.js.map +0 -1
  635. package/cjs/highlevel/utils/inspectable.test.d.ts +0 -1
  636. package/cjs/highlevel/utils/inspectable.test.js +0 -97
  637. package/cjs/highlevel/utils/inspectable.test.js.map +0 -1
  638. package/cjs/highlevel/utils/memoize.test.d.ts +0 -1
  639. package/cjs/highlevel/utils/memoize.test.js +0 -60
  640. package/cjs/highlevel/utils/memoize.test.js.map +0 -1
  641. package/cjs/highlevel/utils/peer-utils.test.d.ts +0 -1
  642. package/cjs/highlevel/utils/peer-utils.test.js +0 -109
  643. package/cjs/highlevel/utils/peer-utils.test.js.map +0 -1
  644. package/cjs/highlevel/utils/platform/storage.d.ts +0 -1
  645. package/cjs/highlevel/utils/platform/storage.js +0 -10
  646. package/cjs/highlevel/utils/platform/storage.js.map +0 -1
  647. package/cjs/highlevel/utils/platform/storage.web.d.ts +0 -1
  648. package/cjs/highlevel/utils/platform/storage.web.js +0 -14
  649. package/cjs/highlevel/utils/platform/storage.web.js.map +0 -1
  650. package/cjs/highlevel/utils/query-batcher.test.d.ts +0 -1
  651. package/cjs/highlevel/utils/query-batcher.test.js +0 -502
  652. package/cjs/highlevel/utils/query-batcher.test.js.map +0 -1
  653. package/cjs/highlevel/utils/stream-utils.test.d.ts +0 -1
  654. package/cjs/highlevel/utils/stream-utils.test.js +0 -98
  655. package/cjs/highlevel/utils/stream-utils.test.js.map +0 -1
  656. package/cjs/highlevel/utils/string-session.test.d.ts +0 -1
  657. package/cjs/highlevel/utils/string-session.test.js +0 -198
  658. package/cjs/highlevel/utils/string-session.test.js.map +0 -1
  659. package/cjs/highlevel/utils/voice-utils.test.d.ts +0 -1
  660. package/cjs/highlevel/utils/voice-utils.test.js +0 -28
  661. package/cjs/highlevel/utils/voice-utils.test.js.map +0 -1
  662. package/cjs/highlevel/worker/platform/connect.d.ts +0 -2
  663. package/cjs/highlevel/worker/platform/connect.js +0 -19
  664. package/cjs/highlevel/worker/platform/connect.js.map +0 -1
  665. package/cjs/highlevel/worker/platform/connect.web.d.ts +0 -2
  666. package/cjs/highlevel/worker/platform/connect.web.js +0 -51
  667. package/cjs/highlevel/worker/platform/connect.web.js.map +0 -1
  668. package/cjs/highlevel/worker/platform/register.d.ts +0 -2
  669. package/cjs/highlevel/worker/platform/register.js +0 -20
  670. package/cjs/highlevel/worker/platform/register.js.map +0 -1
  671. package/cjs/highlevel/worker/platform/register.web.d.ts +0 -2
  672. package/cjs/highlevel/worker/platform/register.web.js +0 -64
  673. package/cjs/highlevel/worker/platform/register.web.js.map +0 -1
  674. package/cjs/network/auth-key.test.d.ts +0 -1
  675. package/cjs/network/auth-key.test.js +0 -111
  676. package/cjs/network/auth-key.test.js.map +0 -1
  677. package/cjs/network/config-manager.test.d.ts +0 -1
  678. package/cjs/network/config-manager.test.js +0 -174
  679. package/cjs/network/config-manager.test.js.map +0 -1
  680. package/cjs/network/persistent-connection.test.d.ts +0 -1
  681. package/cjs/network/persistent-connection.test.js +0 -157
  682. package/cjs/network/persistent-connection.test.js.map +0 -1
  683. package/cjs/network/transports/intermediate.test.d.ts +0 -1
  684. package/cjs/network/transports/intermediate.test.js +0 -84
  685. package/cjs/network/transports/intermediate.test.js.map +0 -1
  686. package/cjs/network/transports/obfuscated.test.d.ts +0 -1
  687. package/cjs/network/transports/obfuscated.test.js +0 -131
  688. package/cjs/network/transports/obfuscated.test.js.map +0 -1
  689. package/cjs/network/transports/tcp.d.ts +0 -32
  690. package/cjs/network/transports/tcp.js +0 -130
  691. package/cjs/network/transports/tcp.js.map +0 -1
  692. package/cjs/network/transports/tcp.test.d.ts +0 -1
  693. package/cjs/network/transports/tcp.test.js +0 -103
  694. package/cjs/network/transports/tcp.test.js.map +0 -1
  695. package/cjs/network/transports/websocket.d.ts +0 -46
  696. package/cjs/network/transports/websocket.js +0 -124
  697. package/cjs/network/transports/websocket.js.map +0 -1
  698. package/cjs/network/transports/websocket.test.d.ts +0 -1
  699. package/cjs/network/transports/websocket.test.js +0 -91
  700. package/cjs/network/transports/websocket.test.js.map +0 -1
  701. package/cjs/storage/providers/idb/driver.d.ts +0 -18
  702. package/cjs/storage/providers/idb/driver.js +0 -138
  703. package/cjs/storage/providers/idb/driver.js.map +0 -1
  704. package/cjs/storage/providers/idb/idb.test.d.ts +0 -1
  705. package/cjs/storage/providers/idb/idb.test.js +0 -29
  706. package/cjs/storage/providers/idb/idb.test.js.map +0 -1
  707. package/cjs/storage/providers/idb/index.d.ts +0 -22
  708. package/cjs/storage/providers/idb/index.js +0 -28
  709. package/cjs/storage/providers/idb/index.js.map +0 -1
  710. package/cjs/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  711. package/cjs/storage/providers/idb/repository/auth-keys.js +0 -70
  712. package/cjs/storage/providers/idb/repository/auth-keys.js.map +0 -1
  713. package/cjs/storage/providers/idb/repository/kv.d.ts +0 -11
  714. package/cjs/storage/providers/idb/repository/kv.js +0 -34
  715. package/cjs/storage/providers/idb/repository/kv.js.map +0 -1
  716. package/cjs/storage/providers/idb/repository/peers.d.ts +0 -12
  717. package/cjs/storage/providers/idb/repository/peers.js +0 -38
  718. package/cjs/storage/providers/idb/repository/peers.js.map +0 -1
  719. package/cjs/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  720. package/cjs/storage/providers/idb/repository/ref-messages.js +0 -57
  721. package/cjs/storage/providers/idb/repository/ref-messages.js.map +0 -1
  722. package/cjs/storage/providers/idb/utils.d.ts +0 -3
  723. package/cjs/storage/providers/idb/utils.js +0 -27
  724. package/cjs/storage/providers/idb/utils.js.map +0 -1
  725. package/cjs/storage/providers/memory/driver.js.map +0 -1
  726. package/cjs/storage/providers/memory/index.js.map +0 -1
  727. package/cjs/storage/providers/memory/memory.test.d.ts +0 -1
  728. package/cjs/storage/providers/memory/memory.test.js +0 -13
  729. package/cjs/storage/providers/memory/memory.test.js.map +0 -1
  730. package/cjs/storage/providers/memory/repository/auth-keys.js.map +0 -1
  731. package/cjs/storage/providers/memory/repository/kv.js.map +0 -1
  732. package/cjs/storage/providers/memory/repository/peers.js.map +0 -1
  733. package/cjs/storage/providers/memory/repository/ref-messages.js.map +0 -1
  734. package/cjs/storage/service/auth-keys.test.d.ts +0 -1
  735. package/cjs/storage/service/auth-keys.test.js +0 -22
  736. package/cjs/storage/service/auth-keys.test.js.map +0 -1
  737. package/cjs/storage/service/updates.test.d.ts +0 -1
  738. package/cjs/storage/service/updates.test.js +0 -60
  739. package/cjs/storage/service/updates.test.js.map +0 -1
  740. package/cjs/storage/service/utils.test-utils.d.ts +0 -2
  741. package/cjs/storage/service/utils.test-utils.js +0 -19
  742. package/cjs/storage/service/utils.test-utils.js.map +0 -1
  743. package/cjs/utils/async-lock.test.d.ts +0 -1
  744. package/cjs/utils/async-lock.test.js +0 -25
  745. package/cjs/utils/async-lock.test.js.map +0 -1
  746. package/cjs/utils/bigint-utils.test.d.ts +0 -1
  747. package/cjs/utils/bigint-utils.test.js +0 -150
  748. package/cjs/utils/bigint-utils.test.js.map +0 -1
  749. package/cjs/utils/buffer-utils.test.d.ts +0 -1
  750. package/cjs/utils/buffer-utils.test.js +0 -69
  751. package/cjs/utils/buffer-utils.test.js.map +0 -1
  752. package/cjs/utils/condition-variable.test.d.ts +0 -1
  753. package/cjs/utils/condition-variable.test.js +0 -27
  754. package/cjs/utils/condition-variable.test.js.map +0 -1
  755. package/cjs/utils/controllable-promise.test.d.ts +0 -1
  756. package/cjs/utils/controllable-promise.test.js +0 -17
  757. package/cjs/utils/controllable-promise.test.js.map +0 -1
  758. package/cjs/utils/crypto/factorization.test.d.ts +0 -1
  759. package/cjs/utils/crypto/factorization.test.js +0 -19
  760. package/cjs/utils/crypto/factorization.test.js.map +0 -1
  761. package/cjs/utils/crypto/keys.test.d.ts +0 -1
  762. package/cjs/utils/crypto/keys.test.js +0 -40
  763. package/cjs/utils/crypto/keys.test.js.map +0 -1
  764. package/cjs/utils/crypto/miller-rabin.test.d.ts +0 -1
  765. package/cjs/utils/crypto/miller-rabin.test.js +0 -60
  766. package/cjs/utils/crypto/miller-rabin.test.js.map +0 -1
  767. package/cjs/utils/crypto/mtproto.test.d.ts +0 -1
  768. package/cjs/utils/crypto/mtproto.test.js +0 -50
  769. package/cjs/utils/crypto/mtproto.test.js.map +0 -1
  770. package/cjs/utils/crypto/node.d.ts +0 -21
  771. package/cjs/utils/crypto/node.js +0 -74
  772. package/cjs/utils/crypto/node.js.map +0 -1
  773. package/cjs/utils/crypto/node.test.d.ts +0 -1
  774. package/cjs/utils/crypto/node.test.js +0 -14
  775. package/cjs/utils/crypto/node.test.js.map +0 -1
  776. package/cjs/utils/crypto/password.test.d.ts +0 -1
  777. package/cjs/utils/crypto/password.test.js +0 -95
  778. package/cjs/utils/crypto/password.test.js.map +0 -1
  779. package/cjs/utils/crypto/utils.test.d.ts +0 -1
  780. package/cjs/utils/crypto/utils.test.js +0 -49
  781. package/cjs/utils/crypto/utils.test.js.map +0 -1
  782. package/cjs/utils/crypto/wasm.d.ts +0 -22
  783. package/cjs/utils/crypto/wasm.js +0 -41
  784. package/cjs/utils/crypto/wasm.js.map +0 -1
  785. package/cjs/utils/crypto/web.d.ts +0 -11
  786. package/cjs/utils/crypto/web.js +0 -40
  787. package/cjs/utils/crypto/web.js.map +0 -1
  788. package/cjs/utils/crypto/web.test.d.ts +0 -1
  789. package/cjs/utils/crypto/web.test.js +0 -17
  790. package/cjs/utils/crypto/web.test.js.map +0 -1
  791. package/cjs/utils/deque.test.d.ts +0 -1
  792. package/cjs/utils/deque.test.js +0 -128
  793. package/cjs/utils/deque.test.js.map +0 -1
  794. package/cjs/utils/function-utils.test.d.ts +0 -1
  795. package/cjs/utils/function-utils.test.js +0 -23
  796. package/cjs/utils/function-utils.test.js.map +0 -1
  797. package/cjs/utils/linked-list.test.d.ts +0 -1
  798. package/cjs/utils/linked-list.test.js +0 -36
  799. package/cjs/utils/linked-list.test.js.map +0 -1
  800. package/cjs/utils/links/bots.test.d.ts +0 -1
  801. package/cjs/utils/links/bots.test.js +0 -152
  802. package/cjs/utils/links/bots.test.js.map +0 -1
  803. package/cjs/utils/links/chat.test.d.ts +0 -1
  804. package/cjs/utils/links/chat.test.js +0 -84
  805. package/cjs/utils/links/chat.test.js.map +0 -1
  806. package/cjs/utils/links/misc.test.d.ts +0 -1
  807. package/cjs/utils/links/misc.test.js +0 -153
  808. package/cjs/utils/links/misc.test.js.map +0 -1
  809. package/cjs/utils/links/proxy.test.d.ts +0 -1
  810. package/cjs/utils/links/proxy.test.js +0 -74
  811. package/cjs/utils/links/proxy.test.js.map +0 -1
  812. package/cjs/utils/links/user.test.d.ts +0 -1
  813. package/cjs/utils/links/user.test.js +0 -63
  814. package/cjs/utils/links/user.test.js.map +0 -1
  815. package/cjs/utils/logger.test.d.ts +0 -1
  816. package/cjs/utils/logger.test.js +0 -139
  817. package/cjs/utils/logger.test.js.map +0 -1
  818. package/cjs/utils/long-utils.test.d.ts +0 -1
  819. package/cjs/utils/long-utils.test.js +0 -158
  820. package/cjs/utils/long-utils.test.js.map +0 -1
  821. package/cjs/utils/lru-map.test.d.ts +0 -1
  822. package/cjs/utils/lru-map.test.js +0 -96
  823. package/cjs/utils/lru-map.test.js.map +0 -1
  824. package/cjs/utils/lru-set.test.d.ts +0 -1
  825. package/cjs/utils/lru-set.test.js +0 -77
  826. package/cjs/utils/lru-set.test.js.map +0 -1
  827. package/cjs/utils/peer-utils.test.d.ts +0 -1
  828. package/cjs/utils/peer-utils.test.js +0 -110
  829. package/cjs/utils/peer-utils.test.js.map +0 -1
  830. package/cjs/utils/platform/crypto.d.ts +0 -1
  831. package/cjs/utils/platform/crypto.js +0 -8
  832. package/cjs/utils/platform/crypto.js.map +0 -1
  833. package/cjs/utils/platform/crypto.web.d.ts +0 -1
  834. package/cjs/utils/platform/crypto.web.js +0 -14
  835. package/cjs/utils/platform/crypto.web.js.map +0 -1
  836. package/cjs/utils/platform/error-reporting.js.map +0 -1
  837. package/cjs/utils/platform/exit-hook.d.ts +0 -1
  838. package/cjs/utils/platform/exit-hook.js +0 -45
  839. package/cjs/utils/platform/exit-hook.js.map +0 -1
  840. package/cjs/utils/platform/exit-hook.web.d.ts +0 -1
  841. package/cjs/utils/platform/exit-hook.web.js +0 -21
  842. package/cjs/utils/platform/exit-hook.web.js.map +0 -1
  843. package/cjs/utils/platform/logging.d.ts +0 -1
  844. package/cjs/utils/platform/logging.js +0 -34
  845. package/cjs/utils/platform/logging.js.map +0 -1
  846. package/cjs/utils/platform/logging.web.d.ts +0 -1
  847. package/cjs/utils/platform/logging.web.js +0 -35
  848. package/cjs/utils/platform/logging.web.js.map +0 -1
  849. package/cjs/utils/platform/transport.d.ts +0 -1
  850. package/cjs/utils/platform/transport.js +0 -8
  851. package/cjs/utils/platform/transport.js.map +0 -1
  852. package/cjs/utils/platform/transport.web.d.ts +0 -1
  853. package/cjs/utils/platform/transport.web.js +0 -15
  854. package/cjs/utils/platform/transport.web.js.map +0 -1
  855. package/cjs/utils/sorted-array.test.d.ts +0 -1
  856. package/cjs/utils/sorted-array.test.js +0 -66
  857. package/cjs/utils/sorted-array.test.js.map +0 -1
  858. package/cjs/utils/tl-json.test.d.ts +0 -1
  859. package/cjs/utils/tl-json.test.js +0 -83
  860. package/cjs/utils/tl-json.test.js.map +0 -1
  861. package/cjs/utils/type-assertions.test.d.ts +0 -1
  862. package/cjs/utils/type-assertions.test.js +0 -67
  863. package/cjs/utils/type-assertions.test.js.map +0 -1
  864. package/esm/highlevel/base.test.d.ts +0 -1
  865. package/esm/highlevel/base.test.js +0 -12
  866. package/esm/highlevel/base.test.js.map +0 -1
  867. package/esm/highlevel/methods/files/_platform.d.ts +0 -1
  868. package/esm/highlevel/methods/files/_platform.js +0 -26
  869. package/esm/highlevel/methods/files/_platform.js.map +0 -1
  870. package/esm/highlevel/methods/files/_platform.web.d.ts +0 -1
  871. package/esm/highlevel/methods/files/_platform.web.js +0 -19
  872. package/esm/highlevel/methods/files/_platform.web.js.map +0 -1
  873. package/esm/highlevel/methods/files/download-file.web.d.ts +0 -1
  874. package/esm/highlevel/methods/files/download-file.web.js +0 -5
  875. package/esm/highlevel/methods/files/download-file.web.js.map +0 -1
  876. package/esm/highlevel/methods/messages/send-text.test.d.ts +0 -1
  877. package/esm/highlevel/methods/messages/send-text.test.js +0 -135
  878. package/esm/highlevel/methods/messages/send-text.test.js.map +0 -1
  879. package/esm/highlevel/methods/users/get-users.test.d.ts +0 -1
  880. package/esm/highlevel/methods/users/get-users.test.js +0 -28
  881. package/esm/highlevel/methods/users/get-users.test.js.map +0 -1
  882. package/esm/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  883. package/esm/highlevel/methods/users/resolve-peer.test.js +0 -302
  884. package/esm/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  885. package/esm/highlevel/types/bots/command-scope.d.ts +0 -63
  886. package/esm/highlevel/types/bots/command-scope.js +0 -84
  887. package/esm/highlevel/types/bots/command-scope.js.map +0 -1
  888. package/esm/highlevel/types/bots/input/index.d.ts +0 -2
  889. package/esm/highlevel/types/bots/input/index.js +0 -3
  890. package/esm/highlevel/types/bots/input/index.js.map +0 -1
  891. package/esm/highlevel/types/bots/input/input-inline-message.js +0 -176
  892. package/esm/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  893. package/esm/highlevel/types/bots/input/input-inline-result.js +0 -487
  894. package/esm/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  895. package/esm/highlevel/types/bots/keyboard-builder.js.map +0 -1
  896. package/esm/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  897. package/esm/highlevel/types/bots/keyboard-builder.test.js +0 -160
  898. package/esm/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  899. package/esm/highlevel/types/bots/keyboards.d.ts +0 -239
  900. package/esm/highlevel/types/bots/keyboards.js +0 -377
  901. package/esm/highlevel/types/bots/keyboards.js.map +0 -1
  902. package/esm/highlevel/types/bots/keyboards.test.d.ts +0 -1
  903. package/esm/highlevel/types/bots/keyboards.test.js +0 -144
  904. package/esm/highlevel/types/bots/keyboards.test.js.map +0 -1
  905. package/esm/highlevel/types/media/input-media.js +0 -251
  906. package/esm/highlevel/types/media/input-media.js.map +0 -1
  907. package/esm/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  908. package/esm/highlevel/types/misc/input-privacy-rule.js +0 -82
  909. package/esm/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  910. package/esm/highlevel/types/peers/peers-index.test.d.ts +0 -1
  911. package/esm/highlevel/types/peers/peers-index.test.js +0 -69
  912. package/esm/highlevel/types/peers/peers-index.test.js.map +0 -1
  913. package/esm/highlevel/types/peers/user.test.d.ts +0 -1
  914. package/esm/highlevel/types/peers/user.test.js +0 -171
  915. package/esm/highlevel/types/peers/user.test.js.map +0 -1
  916. package/esm/highlevel/utils/file-type.test.d.ts +0 -1
  917. package/esm/highlevel/utils/file-type.test.js +0 -62
  918. package/esm/highlevel/utils/file-type.test.js.map +0 -1
  919. package/esm/highlevel/utils/file-utils.test.d.ts +0 -1
  920. package/esm/highlevel/utils/file-utils.test.js +0 -124
  921. package/esm/highlevel/utils/file-utils.test.js.map +0 -1
  922. package/esm/highlevel/utils/inline-utils.test.d.ts +0 -1
  923. package/esm/highlevel/utils/inline-utils.test.js +0 -42
  924. package/esm/highlevel/utils/inline-utils.test.js.map +0 -1
  925. package/esm/highlevel/utils/inspectable.test.d.ts +0 -1
  926. package/esm/highlevel/utils/inspectable.test.js +0 -95
  927. package/esm/highlevel/utils/inspectable.test.js.map +0 -1
  928. package/esm/highlevel/utils/memoize.test.d.ts +0 -1
  929. package/esm/highlevel/utils/memoize.test.js +0 -58
  930. package/esm/highlevel/utils/memoize.test.js.map +0 -1
  931. package/esm/highlevel/utils/peer-utils.test.d.ts +0 -1
  932. package/esm/highlevel/utils/peer-utils.test.js +0 -107
  933. package/esm/highlevel/utils/peer-utils.test.js.map +0 -1
  934. package/esm/highlevel/utils/platform/storage.d.ts +0 -1
  935. package/esm/highlevel/utils/platform/storage.js +0 -6
  936. package/esm/highlevel/utils/platform/storage.js.map +0 -1
  937. package/esm/highlevel/utils/platform/storage.web.d.ts +0 -1
  938. package/esm/highlevel/utils/platform/storage.web.js +0 -10
  939. package/esm/highlevel/utils/platform/storage.web.js.map +0 -1
  940. package/esm/highlevel/utils/query-batcher.test.d.ts +0 -1
  941. package/esm/highlevel/utils/query-batcher.test.js +0 -500
  942. package/esm/highlevel/utils/query-batcher.test.js.map +0 -1
  943. package/esm/highlevel/utils/stream-utils.test.d.ts +0 -1
  944. package/esm/highlevel/utils/stream-utils.test.js +0 -96
  945. package/esm/highlevel/utils/stream-utils.test.js.map +0 -1
  946. package/esm/highlevel/utils/string-session.test.d.ts +0 -1
  947. package/esm/highlevel/utils/string-session.test.js +0 -196
  948. package/esm/highlevel/utils/string-session.test.js.map +0 -1
  949. package/esm/highlevel/utils/voice-utils.test.d.ts +0 -1
  950. package/esm/highlevel/utils/voice-utils.test.js +0 -26
  951. package/esm/highlevel/utils/voice-utils.test.js.map +0 -1
  952. package/esm/highlevel/worker/platform/connect.d.ts +0 -2
  953. package/esm/highlevel/worker/platform/connect.js +0 -15
  954. package/esm/highlevel/worker/platform/connect.js.map +0 -1
  955. package/esm/highlevel/worker/platform/connect.web.d.ts +0 -2
  956. package/esm/highlevel/worker/platform/connect.web.js +0 -47
  957. package/esm/highlevel/worker/platform/connect.web.js.map +0 -1
  958. package/esm/highlevel/worker/platform/register.d.ts +0 -2
  959. package/esm/highlevel/worker/platform/register.js +0 -16
  960. package/esm/highlevel/worker/platform/register.js.map +0 -1
  961. package/esm/highlevel/worker/platform/register.web.d.ts +0 -2
  962. package/esm/highlevel/worker/platform/register.web.js +0 -60
  963. package/esm/highlevel/worker/platform/register.web.js.map +0 -1
  964. package/esm/network/auth-key.test.d.ts +0 -1
  965. package/esm/network/auth-key.test.js +0 -106
  966. package/esm/network/auth-key.test.js.map +0 -1
  967. package/esm/network/config-manager.test.d.ts +0 -1
  968. package/esm/network/config-manager.test.js +0 -172
  969. package/esm/network/config-manager.test.js.map +0 -1
  970. package/esm/network/persistent-connection.test.d.ts +0 -1
  971. package/esm/network/persistent-connection.test.js +0 -155
  972. package/esm/network/persistent-connection.test.js.map +0 -1
  973. package/esm/network/transports/intermediate.test.d.ts +0 -1
  974. package/esm/network/transports/intermediate.test.js +0 -82
  975. package/esm/network/transports/intermediate.test.js.map +0 -1
  976. package/esm/network/transports/obfuscated.test.d.ts +0 -1
  977. package/esm/network/transports/obfuscated.test.js +0 -129
  978. package/esm/network/transports/obfuscated.test.js.map +0 -1
  979. package/esm/network/transports/tcp.d.ts +0 -32
  980. package/esm/network/transports/tcp.js +0 -122
  981. package/esm/network/transports/tcp.js.map +0 -1
  982. package/esm/network/transports/tcp.test.d.ts +0 -1
  983. package/esm/network/transports/tcp.test.js +0 -101
  984. package/esm/network/transports/tcp.test.js.map +0 -1
  985. package/esm/network/transports/websocket.d.ts +0 -46
  986. package/esm/network/transports/websocket.js +0 -116
  987. package/esm/network/transports/websocket.js.map +0 -1
  988. package/esm/network/transports/websocket.test.d.ts +0 -1
  989. package/esm/network/transports/websocket.test.js +0 -89
  990. package/esm/network/transports/websocket.test.js.map +0 -1
  991. package/esm/storage/providers/idb/driver.d.ts +0 -18
  992. package/esm/storage/providers/idb/driver.js +0 -134
  993. package/esm/storage/providers/idb/driver.js.map +0 -1
  994. package/esm/storage/providers/idb/idb.test.d.ts +0 -1
  995. package/esm/storage/providers/idb/idb.test.js +0 -27
  996. package/esm/storage/providers/idb/idb.test.js.map +0 -1
  997. package/esm/storage/providers/idb/index.d.ts +0 -22
  998. package/esm/storage/providers/idb/index.js +0 -23
  999. package/esm/storage/providers/idb/index.js.map +0 -1
  1000. package/esm/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  1001. package/esm/storage/providers/idb/repository/auth-keys.js +0 -66
  1002. package/esm/storage/providers/idb/repository/auth-keys.js.map +0 -1
  1003. package/esm/storage/providers/idb/repository/kv.d.ts +0 -11
  1004. package/esm/storage/providers/idb/repository/kv.js +0 -30
  1005. package/esm/storage/providers/idb/repository/kv.js.map +0 -1
  1006. package/esm/storage/providers/idb/repository/peers.d.ts +0 -12
  1007. package/esm/storage/providers/idb/repository/peers.js +0 -34
  1008. package/esm/storage/providers/idb/repository/peers.js.map +0 -1
  1009. package/esm/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  1010. package/esm/storage/providers/idb/repository/ref-messages.js +0 -53
  1011. package/esm/storage/providers/idb/repository/ref-messages.js.map +0 -1
  1012. package/esm/storage/providers/idb/utils.d.ts +0 -3
  1013. package/esm/storage/providers/idb/utils.js +0 -21
  1014. package/esm/storage/providers/idb/utils.js.map +0 -1
  1015. package/esm/storage/providers/memory/driver.js.map +0 -1
  1016. package/esm/storage/providers/memory/index.js.map +0 -1
  1017. package/esm/storage/providers/memory/memory.test.d.ts +0 -1
  1018. package/esm/storage/providers/memory/memory.test.js +0 -11
  1019. package/esm/storage/providers/memory/memory.test.js.map +0 -1
  1020. package/esm/storage/providers/memory/repository/auth-keys.js.map +0 -1
  1021. package/esm/storage/providers/memory/repository/kv.js.map +0 -1
  1022. package/esm/storage/providers/memory/repository/peers.js.map +0 -1
  1023. package/esm/storage/providers/memory/repository/ref-messages.js.map +0 -1
  1024. package/esm/storage/service/auth-keys.test.d.ts +0 -1
  1025. package/esm/storage/service/auth-keys.test.js +0 -20
  1026. package/esm/storage/service/auth-keys.test.js.map +0 -1
  1027. package/esm/storage/service/updates.test.d.ts +0 -1
  1028. package/esm/storage/service/updates.test.js +0 -58
  1029. package/esm/storage/service/updates.test.js.map +0 -1
  1030. package/esm/storage/service/utils.test-utils.d.ts +0 -2
  1031. package/esm/storage/service/utils.test-utils.js +0 -15
  1032. package/esm/storage/service/utils.test-utils.js.map +0 -1
  1033. package/esm/utils/async-lock.test.d.ts +0 -1
  1034. package/esm/utils/async-lock.test.js +0 -23
  1035. package/esm/utils/async-lock.test.js.map +0 -1
  1036. package/esm/utils/bigint-utils.test.d.ts +0 -1
  1037. package/esm/utils/bigint-utils.test.js +0 -148
  1038. package/esm/utils/bigint-utils.test.js.map +0 -1
  1039. package/esm/utils/buffer-utils.test.d.ts +0 -1
  1040. package/esm/utils/buffer-utils.test.js +0 -67
  1041. package/esm/utils/buffer-utils.test.js.map +0 -1
  1042. package/esm/utils/condition-variable.test.d.ts +0 -1
  1043. package/esm/utils/condition-variable.test.js +0 -25
  1044. package/esm/utils/condition-variable.test.js.map +0 -1
  1045. package/esm/utils/controllable-promise.test.d.ts +0 -1
  1046. package/esm/utils/controllable-promise.test.js +0 -15
  1047. package/esm/utils/controllable-promise.test.js.map +0 -1
  1048. package/esm/utils/crypto/factorization.test.d.ts +0 -1
  1049. package/esm/utils/crypto/factorization.test.js +0 -17
  1050. package/esm/utils/crypto/factorization.test.js.map +0 -1
  1051. package/esm/utils/crypto/keys.test.d.ts +0 -1
  1052. package/esm/utils/crypto/keys.test.js +0 -38
  1053. package/esm/utils/crypto/keys.test.js.map +0 -1
  1054. package/esm/utils/crypto/miller-rabin.test.d.ts +0 -1
  1055. package/esm/utils/crypto/miller-rabin.test.js +0 -58
  1056. package/esm/utils/crypto/miller-rabin.test.js.map +0 -1
  1057. package/esm/utils/crypto/mtproto.test.d.ts +0 -1
  1058. package/esm/utils/crypto/mtproto.test.js +0 -48
  1059. package/esm/utils/crypto/mtproto.test.js.map +0 -1
  1060. package/esm/utils/crypto/node.d.ts +0 -21
  1061. package/esm/utils/crypto/node.js +0 -69
  1062. package/esm/utils/crypto/node.js.map +0 -1
  1063. package/esm/utils/crypto/node.test.d.ts +0 -1
  1064. package/esm/utils/crypto/node.test.js +0 -12
  1065. package/esm/utils/crypto/node.test.js.map +0 -1
  1066. package/esm/utils/crypto/password.test.d.ts +0 -1
  1067. package/esm/utils/crypto/password.test.js +0 -90
  1068. package/esm/utils/crypto/password.test.js.map +0 -1
  1069. package/esm/utils/crypto/utils.test.d.ts +0 -1
  1070. package/esm/utils/crypto/utils.test.js +0 -47
  1071. package/esm/utils/crypto/utils.test.js.map +0 -1
  1072. package/esm/utils/crypto/wasm.d.ts +0 -22
  1073. package/esm/utils/crypto/wasm.js +0 -37
  1074. package/esm/utils/crypto/wasm.js.map +0 -1
  1075. package/esm/utils/crypto/web.d.ts +0 -11
  1076. package/esm/utils/crypto/web.js +0 -36
  1077. package/esm/utils/crypto/web.js.map +0 -1
  1078. package/esm/utils/crypto/web.test.d.ts +0 -1
  1079. package/esm/utils/crypto/web.test.js +0 -15
  1080. package/esm/utils/crypto/web.test.js.map +0 -1
  1081. package/esm/utils/deque.test.d.ts +0 -1
  1082. package/esm/utils/deque.test.js +0 -126
  1083. package/esm/utils/deque.test.js.map +0 -1
  1084. package/esm/utils/function-utils.test.d.ts +0 -1
  1085. package/esm/utils/function-utils.test.js +0 -21
  1086. package/esm/utils/function-utils.test.js.map +0 -1
  1087. package/esm/utils/linked-list.test.d.ts +0 -1
  1088. package/esm/utils/linked-list.test.js +0 -34
  1089. package/esm/utils/linked-list.test.js.map +0 -1
  1090. package/esm/utils/links/bots.test.d.ts +0 -1
  1091. package/esm/utils/links/bots.test.js +0 -150
  1092. package/esm/utils/links/bots.test.js.map +0 -1
  1093. package/esm/utils/links/chat.test.d.ts +0 -1
  1094. package/esm/utils/links/chat.test.js +0 -82
  1095. package/esm/utils/links/chat.test.js.map +0 -1
  1096. package/esm/utils/links/misc.test.d.ts +0 -1
  1097. package/esm/utils/links/misc.test.js +0 -151
  1098. package/esm/utils/links/misc.test.js.map +0 -1
  1099. package/esm/utils/links/proxy.test.d.ts +0 -1
  1100. package/esm/utils/links/proxy.test.js +0 -72
  1101. package/esm/utils/links/proxy.test.js.map +0 -1
  1102. package/esm/utils/links/user.test.d.ts +0 -1
  1103. package/esm/utils/links/user.test.js +0 -61
  1104. package/esm/utils/links/user.test.js.map +0 -1
  1105. package/esm/utils/logger.test.d.ts +0 -1
  1106. package/esm/utils/logger.test.js +0 -134
  1107. package/esm/utils/logger.test.js.map +0 -1
  1108. package/esm/utils/long-utils.test.d.ts +0 -1
  1109. package/esm/utils/long-utils.test.js +0 -153
  1110. package/esm/utils/long-utils.test.js.map +0 -1
  1111. package/esm/utils/lru-map.test.d.ts +0 -1
  1112. package/esm/utils/lru-map.test.js +0 -94
  1113. package/esm/utils/lru-map.test.js.map +0 -1
  1114. package/esm/utils/lru-set.test.d.ts +0 -1
  1115. package/esm/utils/lru-set.test.js +0 -72
  1116. package/esm/utils/lru-set.test.js.map +0 -1
  1117. package/esm/utils/peer-utils.test.d.ts +0 -1
  1118. package/esm/utils/peer-utils.test.js +0 -105
  1119. package/esm/utils/peer-utils.test.js.map +0 -1
  1120. package/esm/utils/platform/crypto.d.ts +0 -1
  1121. package/esm/utils/platform/crypto.js +0 -4
  1122. package/esm/utils/platform/crypto.js.map +0 -1
  1123. package/esm/utils/platform/crypto.web.d.ts +0 -1
  1124. package/esm/utils/platform/crypto.web.js +0 -10
  1125. package/esm/utils/platform/crypto.web.js.map +0 -1
  1126. package/esm/utils/platform/error-reporting.js.map +0 -1
  1127. package/esm/utils/platform/exit-hook.d.ts +0 -1
  1128. package/esm/utils/platform/exit-hook.js +0 -41
  1129. package/esm/utils/platform/exit-hook.js.map +0 -1
  1130. package/esm/utils/platform/exit-hook.web.d.ts +0 -1
  1131. package/esm/utils/platform/exit-hook.web.js +0 -17
  1132. package/esm/utils/platform/exit-hook.web.js.map +0 -1
  1133. package/esm/utils/platform/logging.d.ts +0 -1
  1134. package/esm/utils/platform/logging.js +0 -31
  1135. package/esm/utils/platform/logging.js.map +0 -1
  1136. package/esm/utils/platform/logging.web.d.ts +0 -1
  1137. package/esm/utils/platform/logging.web.js +0 -31
  1138. package/esm/utils/platform/logging.web.js.map +0 -1
  1139. package/esm/utils/platform/transport.d.ts +0 -1
  1140. package/esm/utils/platform/transport.js +0 -4
  1141. package/esm/utils/platform/transport.js.map +0 -1
  1142. package/esm/utils/platform/transport.web.d.ts +0 -1
  1143. package/esm/utils/platform/transport.web.js +0 -12
  1144. package/esm/utils/platform/transport.web.js.map +0 -1
  1145. package/esm/utils/sorted-array.test.d.ts +0 -1
  1146. package/esm/utils/sorted-array.test.js +0 -64
  1147. package/esm/utils/sorted-array.test.js.map +0 -1
  1148. package/esm/utils/tl-json.test.d.ts +0 -1
  1149. package/esm/utils/tl-json.test.js +0 -81
  1150. package/esm/utils/tl-json.test.js.map +0 -1
  1151. package/esm/utils/type-assertions.test.d.ts +0 -1
  1152. package/esm/utils/type-assertions.test.js +0 -65
  1153. package/esm/utils/type-assertions.test.js.map +0 -1
  1154. /package/cjs/highlevel/{base.test.d.ts → methods/files/download-node-stream.d.ts} +0 -0
  1155. /package/cjs/storage/{providers/memory → memory}/driver.js +0 -0
  1156. /package/cjs/storage/{providers/memory → memory}/index.js +0 -0
  1157. /package/cjs/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1158. /package/cjs/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1159. /package/cjs/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1160. /package/cjs/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1161. /package/cjs/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
  1162. /package/{cjs/highlevel/methods/files/_platform.d.ts → esm/highlevel/methods/files/download-node-stream.d.ts} +0 -0
  1163. /package/esm/storage/{providers/memory → memory}/driver.js +0 -0
  1164. /package/esm/storage/{providers/memory → memory}/index.js +0 -0
  1165. /package/esm/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1166. /package/esm/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1167. /package/esm/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1168. /package/esm/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1169. /package/esm/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
@@ -1,67 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from 'vitest';
2
- import { buffersEqual, bufferToReversed, cloneBuffer, concatBuffers } from './buffer-utils.js';
3
- describe('buffersEqual', () => {
4
- it('should return true for equal buffers', () => {
5
- expect(buffersEqual(new Uint8Array([]), new Uint8Array([]))).is.true;
6
- expect(buffersEqual(new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3]))).is.true;
7
- });
8
- it('should return false for non-equal buffers', () => {
9
- expect(buffersEqual(new Uint8Array([1]), new Uint8Array([]))).is.false;
10
- expect(buffersEqual(new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 4]))).is.false;
11
- });
12
- });
13
- describe('cloneBuffer', () => {
14
- it('should clone buffer', () => {
15
- const orig = new Uint8Array([1, 2, 3]);
16
- const copy = cloneBuffer(orig);
17
- expect([...copy]).eql([1, 2, 3]);
18
- orig[0] = 0xff;
19
- expect(copy[0]).not.eql(0xff);
20
- });
21
- it('should clone buffer partially', () => {
22
- const orig = new Uint8Array([1, 2, 3, 4, 5]);
23
- const copy = cloneBuffer(orig, 1, 4);
24
- expect([...copy]).eql([2, 3, 4]);
25
- orig[0] = 0xff;
26
- expect(copy[0]).not.eql(0xff);
27
- });
28
- });
29
- describe('concatBuffers', () => {
30
- it('should concat buffers', () => {
31
- const buf = concatBuffers([new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])]);
32
- expect([...buf]).eql([1, 2, 3, 4, 5, 6]);
33
- });
34
- it('should create a new buffer', () => {
35
- const buf1 = new Uint8Array([1, 2, 3]);
36
- const buf2 = new Uint8Array([4, 5, 6]);
37
- const buf = concatBuffers([buf1, buf2]);
38
- buf[0] = 0xff;
39
- expect(buf1[0]).not.eql(0xff);
40
- });
41
- it('should work without native Buffer', () => {
42
- vi.stubGlobal('Buffer', undefined);
43
- const buf1 = new Uint8Array([1, 2, 3]);
44
- const buf2 = new Uint8Array([4, 5, 6]);
45
- const buf = concatBuffers([buf1, buf2]);
46
- buf1[0] = 0xff;
47
- expect([...buf]).eql([1, 2, 3, 4, 5, 6]);
48
- });
49
- afterEach(() => void vi.unstubAllGlobals());
50
- });
51
- describe('bufferToReversed', () => {
52
- it('should reverse the buffer', () => {
53
- const buf = bufferToReversed(new Uint8Array([1, 2, 3, 4, 5, 6]));
54
- expect([...buf]).eql([6, 5, 4, 3, 2, 1]);
55
- });
56
- it('should reverse a part of the buffer', () => {
57
- const buf = bufferToReversed(new Uint8Array([1, 2, 3, 4, 5, 6]), 1, 5);
58
- expect([...buf]).eql([5, 4, 3, 2]);
59
- });
60
- it('should create a new buffer', () => {
61
- const buf1 = new Uint8Array([1, 2, 3]);
62
- const buf2 = bufferToReversed(buf1);
63
- buf2[0] = 0xff;
64
- expect([...buf1]).eql([1, 2, 3]);
65
- });
66
- });
67
- //# sourceMappingURL=buffer-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer-utils.test.js","sourceRoot":"","sources":["../../../src/utils/buffer-utils.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { afterEach, describe, expect, it, vi } from 'vitest'\n\nimport { buffersEqual, bufferToReversed, cloneBuffer, concatBuffers } from './buffer-utils.js'\n\ndescribe('buffersEqual', () => {\n it('should return true for equal buffers', () => {\n expect(buffersEqual(new Uint8Array([]), new Uint8Array([]))).is.true\n expect(buffersEqual(new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3]))).is.true\n })\n\n it('should return false for non-equal buffers', () => {\n expect(buffersEqual(new Uint8Array([1]), new Uint8Array([]))).is.false\n expect(buffersEqual(new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 4]))).is.false\n })\n})\n\ndescribe('cloneBuffer', () => {\n it('should clone buffer', () => {\n const orig = new Uint8Array([1, 2, 3])\n const copy = cloneBuffer(orig)\n\n expect([...copy]).eql([1, 2, 3])\n orig[0] = 0xff\n expect(copy[0]).not.eql(0xff)\n })\n\n it('should clone buffer partially', () => {\n const orig = new Uint8Array([1, 2, 3, 4, 5])\n const copy = cloneBuffer(orig, 1, 4)\n\n expect([...copy]).eql([2, 3, 4])\n orig[0] = 0xff\n expect(copy[0]).not.eql(0xff)\n })\n})\n\ndescribe('concatBuffers', () => {\n it('should concat buffers', () => {\n const buf = concatBuffers([new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])])\n\n expect([...buf]).eql([1, 2, 3, 4, 5, 6])\n })\n\n it('should create a new buffer', () => {\n const buf1 = new Uint8Array([1, 2, 3])\n const buf2 = new Uint8Array([4, 5, 6])\n const buf = concatBuffers([buf1, buf2])\n\n buf[0] = 0xff\n expect(buf1[0]).not.eql(0xff)\n })\n\n it('should work without native Buffer', () => {\n vi.stubGlobal('Buffer', undefined)\n const buf1 = new Uint8Array([1, 2, 3])\n const buf2 = new Uint8Array([4, 5, 6])\n const buf = concatBuffers([buf1, buf2])\n\n buf1[0] = 0xff\n\n expect([...buf]).eql([1, 2, 3, 4, 5, 6])\n })\n\n afterEach(() => void vi.unstubAllGlobals())\n})\n\ndescribe('bufferToReversed', () => {\n it('should reverse the buffer', () => {\n const buf = bufferToReversed(new Uint8Array([1, 2, 3, 4, 5, 6]))\n\n expect([...buf]).eql([6, 5, 4, 3, 2, 1])\n })\n\n it('should reverse a part of the buffer', () => {\n const buf = bufferToReversed(new Uint8Array([1, 2, 3, 4, 5, 6]), 1, 5)\n\n expect([...buf]).eql([5, 4, 3, 2])\n })\n\n it('should create a new buffer', () => {\n const buf1 = new Uint8Array([1, 2, 3])\n const buf2 = bufferToReversed(buf1)\n\n buf2[0] = 0xff\n expect([...buf1]).eql([1, 2, 3])\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { ConditionVariable } from './condition-variable.js';
3
- describe('ConditionVariable', () => {
4
- it('should correctly unlock execution', async () => {
5
- const cv = new ConditionVariable();
6
- setTimeout(() => cv.notify(), 10);
7
- await cv.wait();
8
- expect(true).toBeTruthy();
9
- });
10
- it('should correctly time out', async () => {
11
- const cv = new ConditionVariable();
12
- await cv.wait(10);
13
- expect(true).toBeTruthy();
14
- });
15
- it('should only unlock once', async () => {
16
- const cv = new ConditionVariable();
17
- setTimeout(() => {
18
- cv.notify();
19
- cv.notify();
20
- }, 10);
21
- await cv.wait();
22
- expect(true).toBeTruthy();
23
- });
24
- });
25
- //# sourceMappingURL=condition-variable.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition-variable.test.js","sourceRoot":"","sources":["../../../src/utils/condition-variable.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAElC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QAEjC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;QAEf,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAElC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEjB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAElC,UAAU,CAAC,GAAG,EAAE;YACZ,EAAE,CAAC,MAAM,EAAE,CAAA;YACX,EAAE,CAAC,MAAM,EAAE,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;QAEf,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { ConditionVariable } from './condition-variable.js'\n\ndescribe('ConditionVariable', () => {\n it('should correctly unlock execution', async () => {\n const cv = new ConditionVariable()\n\n setTimeout(() => cv.notify(), 10)\n\n await cv.wait()\n\n expect(true).toBeTruthy()\n })\n\n it('should correctly time out', async () => {\n const cv = new ConditionVariable()\n\n await cv.wait(10)\n\n expect(true).toBeTruthy()\n })\n\n it('should only unlock once', async () => {\n const cv = new ConditionVariable()\n\n setTimeout(() => {\n cv.notify()\n cv.notify()\n }, 10)\n\n await cv.wait()\n\n expect(true).toBeTruthy()\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { createControllablePromise } from './controllable-promise.js';
3
- describe('createControllablePromise', () => {
4
- it('should resolve', async () => {
5
- const p = createControllablePromise();
6
- p.resolve(1);
7
- await expect(p).resolves.toBe(1);
8
- });
9
- it('should reject', async () => {
10
- const p = createControllablePromise();
11
- p.reject(1);
12
- await expect(p).rejects.toBe(1);
13
- });
14
- });
15
- //# sourceMappingURL=controllable-promise.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controllable-promise.test.js","sourceRoot":"","sources":["../../../src/utils/controllable-promise.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;QACrC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;QACrC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { createControllablePromise } from './controllable-promise.js'\n\ndescribe('createControllablePromise', () => {\n it('should resolve', async () => {\n const p = createControllablePromise()\n p.resolve(1)\n await expect(p).resolves.toBe(1)\n })\n\n it('should reject', async () => {\n const p = createControllablePromise()\n p.reject(1)\n await expect(p).rejects.toBe(1)\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,17 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { bigIntToBuffer, bufferToBigInt } from '../bigint-utils.js';
3
- import { factorizePQSync } from './factorization.js';
4
- import { defaultCryptoProviderFactory } from './index.js';
5
- describe('prime factorization', () => {
6
- const testFactorization = (pq, p, q) => {
7
- const [p_, q_] = factorizePQSync(defaultCryptoProviderFactory(), bigIntToBuffer(pq));
8
- expect(bufferToBigInt(p_)).toBe(p);
9
- expect(bufferToBigInt(q_)).toBe(q);
10
- };
11
- it('should factorize', () => {
12
- testFactorization(2090522174869285481n, 1112973847n, 1878321023n);
13
- testFactorization(1470626929934143021n, 1206429347n, 1218991343n);
14
- testFactorization(2804275833720261793n, 1555252417n, 1803100129n);
15
- });
16
- });
17
- //# sourceMappingURL=factorization.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factorization.test.js","sourceRoot":"","sources":["../../../../src/utils/crypto/factorization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAEzD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;QAC3D,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,4BAA4B,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;QACpF,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC,CAAA;IAED,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,iBAAiB,CAAC,oBAAoB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QACjE,iBAAiB,CAAC,oBAAoB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QACjE,iBAAiB,CAAC,oBAAoB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { bigIntToBuffer, bufferToBigInt } from '../bigint-utils.js'\nimport { factorizePQSync } from './factorization.js'\nimport { defaultCryptoProviderFactory } from './index.js'\n\ndescribe('prime factorization', () => {\n const testFactorization = (pq: bigint, p: bigint, q: bigint) => {\n const [p_, q_] = factorizePQSync(defaultCryptoProviderFactory(), bigIntToBuffer(pq))\n expect(bufferToBigInt(p_)).toBe(p)\n expect(bufferToBigInt(q_)).toBe(q)\n }\n\n it('should factorize', () => {\n testFactorization(2090522174869285481n, 1112973847n, 1878321023n)\n testFactorization(1470626929934143021n, 1206429347n, 1218991343n)\n testFactorization(2804275833720261793n, 1555252417n, 1803100129n)\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,38 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { findKeyByFingerprints, parsePublicKey } from '../index.js';
3
- import { NodeCryptoProvider } from './node.js';
4
- const crypto = new NodeCryptoProvider();
5
- describe('parsePublicKey', () => {
6
- it('should parse telegram public keys', () => {
7
- expect(parsePublicKey(crypto, `-----BEGIN RSA PUBLIC KEY-----
8
- MIIBCgKCAQEAruw2yP/BCcsJliRoW5eBVBVle9dtjJw+OYED160Wybum9SXtBBLX
9
- riwt4rROd9csv0t0OHCaTmRqBcQ0J8fxhN6/cpR1GWgOZRUAiQxoMnlt0R93LCX/
10
- j1dnVa/gVbCjdSxpbrfY2g2L4frzjJvdl84Kd9ORYjDEAyFnEA7dD556OptgLQQ2
11
- e2iVNq8NZLYTzLp5YpOdO1doK+ttrltggTCy5SrKeLoCPPbOgGsdxJxyz5KKcZnS
12
- Lj16yE5HvJQn0CNpRdENvRUXe6tBP78O39oJ8BTHp9oIjd6XWXAsp2CvK45Ol8wF
13
- XGF710w9lwCGNbmNxNYhtIkdqfsEcwR5JwIDAQAB
14
- -----END RSA PUBLIC KEY-----`)).eql({
15
- modulus: 'aeec36c8ffc109cb099624685b97815415657bd76d8c9c3e398103d7ad16c9bba6f525ed0412d7ae2c2de2b44e77d72cbf4b7438709a4e646a05c43427c7f184debf72947519680e651500890c6832796dd11f772c25ff8f576755afe055b0a3752c696eb7d8da0d8be1faf38c9bdd97ce0a77d3916230c4032167100edd0f9e7a3a9b602d04367b689536af0d64b613ccba7962939d3b57682beb6dae5b608130b2e52aca78ba023cf6ce806b1dc49c72cf928a7199d22e3d7ac84e47bc9427d0236945d10dbd15177bab413fbf0edfda09f014c7a7da088dde9759702ca760af2b8e4e97cc055c617bd74c3d97008635b98dc4d621b4891da9fb0473047927',
16
- exponent: '010001',
17
- fingerprint: '0bc35f3509f7b7a5',
18
- old: false,
19
- });
20
- });
21
- it('should be able to find a key by its fingerprint', () => {
22
- expect(findKeyByFingerprints(['b25898df208d2603'])).toMatchInlineSnapshot(`
23
- {
24
- "exponent": "010001",
25
- "fingerprint": "b25898df208d2603",
26
- "modulus": "c8c11d635691fac091dd9489aedced2932aa8a0bcefef05fa800892d9b52ed03200865c9e97211cb2ee6c7ae96d3fb0e15aeffd66019b44a08a240cfdd2868a85e1f54d6fa5deaa041f6941ddf302690d61dc476385c2fa655142353cb4e4b59f6e5b6584db76fe8b1370263246c010c93d011014113ebdf987d093f9d37c2be48352d69a1683f8f6e6c2167983c761e3ab169fde5daaa12123fa1beab621e4da5935e9c198f82f35eae583a99386d8110ea6bd1abb0f568759f62694419ea5f69847c43462abef858b4cb5edc84e7b9226cd7bd7e183aa974a712c079dde85b9dc063b8a5c08e8f859c0ee5dcd824c7807f20153361a7f63cfd2a433a1be7f5",
27
- "old": false,
28
- }
29
- `);
30
- });
31
- it('should prefer new keys over old', () => {
32
- expect(findKeyByFingerprints(['71e025b6c76033e3', 'b25898df208d2603'])?.fingerprint).toEqual('b25898df208d2603');
33
- });
34
- it('should return null if not found', () => {
35
- expect(findKeyByFingerprints(['deadbeefdeadbeef'])).toBeNull();
36
- });
37
- });
38
- //# sourceMappingURL=keys.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.test.js","sourceRoot":"","sources":["../../../../src/utils/crypto/keys.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAA;AAEvC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,MAAM,CACF,cAAc,CACV,MAAM,EACN;;;;;;;6BAOa,CAChB,CACJ,CAAC,GAAG,CAAC;YACF,OAAO,EACH,kgBAAkgB;YACtgB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,kBAAkB;YAC/B,GAAG,EAAE,KAAK;SACb,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;SAOzE,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAClE,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { findKeyByFingerprints, parsePublicKey } from '../index.js'\nimport { NodeCryptoProvider } from './node.js'\n\nconst crypto = new NodeCryptoProvider()\n\ndescribe('parsePublicKey', () => {\n it('should parse telegram public keys', () => {\n expect(\n parsePublicKey(\n crypto,\n `-----BEGIN RSA PUBLIC KEY-----\nMIIBCgKCAQEAruw2yP/BCcsJliRoW5eBVBVle9dtjJw+OYED160Wybum9SXtBBLX\nriwt4rROd9csv0t0OHCaTmRqBcQ0J8fxhN6/cpR1GWgOZRUAiQxoMnlt0R93LCX/\nj1dnVa/gVbCjdSxpbrfY2g2L4frzjJvdl84Kd9ORYjDEAyFnEA7dD556OptgLQQ2\ne2iVNq8NZLYTzLp5YpOdO1doK+ttrltggTCy5SrKeLoCPPbOgGsdxJxyz5KKcZnS\nLj16yE5HvJQn0CNpRdENvRUXe6tBP78O39oJ8BTHp9oIjd6XWXAsp2CvK45Ol8wF\nXGF710w9lwCGNbmNxNYhtIkdqfsEcwR5JwIDAQAB\n-----END RSA PUBLIC KEY-----`,\n ),\n ).eql({\n modulus:\n 'aeec36c8ffc109cb099624685b97815415657bd76d8c9c3e398103d7ad16c9bba6f525ed0412d7ae2c2de2b44e77d72cbf4b7438709a4e646a05c43427c7f184debf72947519680e651500890c6832796dd11f772c25ff8f576755afe055b0a3752c696eb7d8da0d8be1faf38c9bdd97ce0a77d3916230c4032167100edd0f9e7a3a9b602d04367b689536af0d64b613ccba7962939d3b57682beb6dae5b608130b2e52aca78ba023cf6ce806b1dc49c72cf928a7199d22e3d7ac84e47bc9427d0236945d10dbd15177bab413fbf0edfda09f014c7a7da088dde9759702ca760af2b8e4e97cc055c617bd74c3d97008635b98dc4d621b4891da9fb0473047927',\n exponent: '010001',\n fingerprint: '0bc35f3509f7b7a5',\n old: false,\n })\n })\n\n it('should be able to find a key by its fingerprint', () => {\n expect(findKeyByFingerprints(['b25898df208d2603'])).toMatchInlineSnapshot(`\n {\n \"exponent\": \"010001\",\n \"fingerprint\": \"b25898df208d2603\",\n \"modulus\": \"c8c11d635691fac091dd9489aedced2932aa8a0bcefef05fa800892d9b52ed03200865c9e97211cb2ee6c7ae96d3fb0e15aeffd66019b44a08a240cfdd2868a85e1f54d6fa5deaa041f6941ddf302690d61dc476385c2fa655142353cb4e4b59f6e5b6584db76fe8b1370263246c010c93d011014113ebdf987d093f9d37c2be48352d69a1683f8f6e6c2167983c761e3ab169fde5daaa12123fa1beab621e4da5935e9c198f82f35eae583a99386d8110ea6bd1abb0f568759f62694419ea5f69847c43462abef858b4cb5edc84e7b9226cd7bd7e183aa974a712c079dde85b9dc063b8a5c08e8f859c0ee5dcd824c7807f20153361a7f63cfd2a433a1be7f5\",\n \"old\": false,\n }\n `)\n })\n\n it('should prefer new keys over old', () => {\n expect(findKeyByFingerprints(['71e025b6c76033e3', 'b25898df208d2603'])?.fingerprint).toEqual('b25898df208d2603')\n })\n\n it('should return null if not found', () => {\n expect(findKeyByFingerprints(['deadbeefdeadbeef'])).toBeNull()\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,58 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { defaultCryptoProviderFactory } from './index.js';
3
- import { millerRabin } from './miller-rabin.js';
4
- describe('miller-rabin test', function () {
5
- // miller-rabin factorization relies on RNG, so we should use a real random number generator
6
- const c = defaultCryptoProviderFactory();
7
- const testMillerRabin = (n, isPrime) => {
8
- expect(millerRabin(c, BigInt(n))).eq(isPrime);
9
- };
10
- it('should correctly label small primes as probable primes', () => {
11
- const smallOddPrimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31];
12
- for (const prime of smallOddPrimes) {
13
- testMillerRabin(prime, true);
14
- }
15
- });
16
- it('should correctly label small odd composite numbers as composite', () => {
17
- const smallOddPrimes = [9, 15, 21, 25, 27, 33, 35];
18
- for (const prime of smallOddPrimes) {
19
- testMillerRabin(prime, false);
20
- }
21
- });
22
- // primes are generated using `openssl prime -generate -bits <bits>`
23
- it('should work for 512-bit numbers', () => {
24
- testMillerRabin('8411445470921866378538628788380866906358949375899610911537071281076627385046125382763689993349183284546479522400013151510610266158235924343045768103605519', true);
25
- testMillerRabin('11167561990563990242158096122232207092938761092751537312016255867850441858086589598418467012717458858604863547175649456433632887622140170743409535470973399', true);
26
- testMillerRabin('11006717791910450367418249787526506184731090161438431250022510598653874155081488487035840577645711578911087148186160668569071839053453201592321650008610329', true);
27
- testMillerRabin('12224330340162812215033324917156282302617911690617664923428569636370785775561435789211091021550357876767050350997458404009005800772805534351607294516706177', true);
28
- // above numbers but -2 (not prime)
29
- testMillerRabin('8411445470921866378538628788380866906358949375899610911537071281076627385046125382763689993349183284546479522400013151510610266158235924343045768103605517', false);
30
- testMillerRabin('11167561990563990242158096122232207092938761092751537312016255867850441858086589598418467012717458858604863547175649456433632887622140170743409535470973397', false);
31
- testMillerRabin('11006717791910450367418249787526506184731090161438431250022510598653874155081488487035840577645711578911087148186160668569071839053453201592321650008610327', false);
32
- testMillerRabin('12224330340162812215033324917156282302617911690617664923428569636370785775561435789211091021550357876767050350997458404009005800772805534351607294516706175', false);
33
- });
34
- it('should work for 1024-bit numbers', () => {
35
- testMillerRabin('94163180970530844245052892199633535954736903357996153321496979115367320260897793334681106861766748541439161886270777106456088209508872459550450259737267142959061663564218457086654112219462515165219295402175541003899136060178102898376369981338103600856012709228116661479275753497725541132207243717937379815409', true);
36
- testMillerRabin('97324962433497727515811278760066576725849776656602017497363465683978397629803148191267105308901733336070351381654371470561376353774017284623969415330564867697353080030917333974193741719718950105404732792050882127213356260415251087867407489400712288570880407613514781891914135956778687719588061176455381937003', true);
37
- testMillerRabin('92511311413226091818378551616231701579277597795073142338527410334932345968554993390789667936819230228388142960299649466238701015865565141753710450319875546944139442823075990348978746055937500467483161699883905850192191164043687791185635729923497381849380102040768674652775240505782671289535260164547714030567', true);
38
- testMillerRabin('98801756216479639848708157708947504990501845258427605711852570166662700681215707617225664134994147912417941920327932092748574265476658124536672887141144222716123085451749764522435906007567360583062117498919471220566974634924384147341592903939264267901029640119196259026154529723870788246284629644039137378253', true);
39
- // above numbers but -2 (not prime)
40
- testMillerRabin('94163180970530844245052892199633535954736903357996153321496979115367320260897793334681106861766748541439161886270777106456088209508872459550450259737267142959061663564218457086654112219462515165219295402175541003899136060178102898376369981338103600856012709228116661479275753497725541132207243717937379815407', false);
41
- testMillerRabin('97324962433497727515811278760066576725849776656602017497363465683978397629803148191267105308901733336070351381654371470561376353774017284623969415330564867697353080030917333974193741719718950105404732792050882127213356260415251087867407489400712288570880407613514781891914135956778687719588061176455381937001', false);
42
- testMillerRabin('92511311413226091818378551616231701579277597795073142338527410334932345968554993390789667936819230228388142960299649466238701015865565141753710450319875546944139442823075990348978746055937500467483161699883905850192191164043687791185635729923497381849380102040768674652775240505782671289535260164547714030565', false);
43
- testMillerRabin('98801756216479639848708157708947504990501845258427605711852570166662700681215707617225664134994147912417941920327932092748574265476658124536672887141144222716123085451749764522435906007567360583062117498919471220566974634924384147341592903939264267901029640119196259026154529723870788246284629644039137378251', false);
44
- });
45
- it('should work for 2048-bit numbers', () => {
46
- testMillerRabin('28608382334358769588283288249494859626901014972463291352091976543138105382282108662849885913053034513852843449409838151123568984617793641641937583673207501643041336002587032201383537626393235736734494131431069043382068545865505150651648610506542819001961332454611129372758714288168807328523359776577571626967649079147416191592855529888846889532625386469236278694936872628305052827422772792103722178298844645210242389265273407924858034431614414896134561928996888883994953322861399988094086562513898527391555490352156627307769278185444897960555995383228897584818577375695810423475039211516849716140051437120083274285367', true);
47
- testMillerRabin('30244022694659482453371920976249272809817388822378671144866806600284132009663832003348737406289715119965835410140834733465553787513841966120831322372642881643693711233087233983267648392814127424201572290931937482043046169402667397610783447368703776842799852222745601531140231486417855517072392416789672922529566643118973930252809010605519948446055538976582290902060054788109497630796585770940656002892943575479533099350429655210881833493066716819282707441553612603960556051122162329171373373251909387401572866056121964608595895425640834764028568120995397759283490218181167000161310959711677055741632674632758727382743', true);
48
- testMillerRabin('30560953105766401423987964658775999222308579908395527900931049506803845883459894704297458477118152899910620180302473409631442956208933061650967001020981432894530064472547770442696756724169958362395601360296775798187903794894866967342028337982275745956538015473621792510615113531964380246815875830970404687926061637030085629909804357717955251735074071072456074274947993921828878633638119117086342305530526661796817095624933200483138188878398983149622639425550360394901699701985050966685840649129419227936413574227792077082510807968104733387734970009620450108276446659342203263759999068046251645984039420643003580284779', true);
49
- // above numbers but -2 (not prime)
50
- testMillerRabin('28608382334358769588283288249494859626901014972463291352091976543138105382282108662849885913053034513852843449409838151123568984617793641641937583673207501643041336002587032201383537626393235736734494131431069043382068545865505150651648610506542819001961332454611129372758714288168807328523359776577571626967649079147416191592855529888846889532625386469236278694936872628305052827422772792103722178298844645210242389265273407924858034431614414896134561928996888883994953322861399988094086562513898527391555490352156627307769278185444897960555995383228897584818577375695810423475039211516849716140051437120083274285365', false);
51
- testMillerRabin('30244022694659482453371920976249272809817388822378671144866806600284132009663832003348737406289715119965835410140834733465553787513841966120831322372642881643693711233087233983267648392814127424201572290931937482043046169402667397610783447368703776842799852222745601531140231486417855517072392416789672922529566643118973930252809010605519948446055538976582290902060054788109497630796585770940656002892943575479533099350429655210881833493066716819282707441553612603960556051122162329171373373251909387401572866056121964608595895425640834764028568120995397759283490218181167000161310959711677055741632674632758727382741', false);
52
- testMillerRabin('30560953105766401423987964658775999222308579908395527900931049506803845883459894704297458477118152899910620180302473409631442956208933061650967001020981432894530064472547770442696756724169958362395601360296775798187903794894866967342028337982275745956538015473621792510615113531964380246815875830970404687926061637030085629909804357717955251735074071072456074274947993921828878633638119117086342305530526661796817095624933200483138188878398983149622639425550360394901699701985050966685840649129419227936413574227792077082510807968104733387734970009620450108276446659342203263759999068046251645984039420643003580284777', false);
53
- // dh_prime used by telegram, as seen in https://core.telegram.org/mtproto/security_guidelines
54
- const telegramDhPrime = 'C7 1C AE B9 C6 B1 C9 04 8E 6C 52 2F 70 F1 3F 73 98 0D 40 23 8E 3E 21 C1 49 34 D0 37 56 3D 93 0F 48 19 8A 0A A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E 0A C9 25 13 95 43 AE D4 4C CE 7C 37 20 FD 51 F6 94 58 70 5A C6 8C D4 FE 6B 6B 13 AB DC 97 46 51 29 69 32 84 54 F1 8F AF 8C 59 5F 64 24 77 FE 96 BB 2A 94 1D 5B CD 1D 4A C8 CC 49 88 07 08 FA 9B 37 8E 3C 4F 3A 90 60 BE E6 7C F9 A4 A4 A6 95 81 10 51 90 7E 16 27 53 B5 6B 0F 6B 41 0D BA 74 D8 A8 4B 2A 14 B3 14 4E 0E F1 28 47 54 FD 17 ED 95 0D 59 65 B4 B9 DD 46 58 2D B1 17 8D 16 9C 6B C4 65 B0 D6 FF 9C A3 92 8F EF 5B 9A E4 E4 18 FC 15 E8 3E BE A0 F8 7F A9 FF 5E ED 70 05 0D ED 28 49 F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6 35 B1 05 EE 2E 4E 15 D0 4B 24 54 BF 6F 4F AD F0 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B';
55
- testMillerRabin(BigInt('0x' + telegramDhPrime.replace(/ /g, '')), true);
56
- });
57
- }, { timeout: 10000 }); // since miller-rabin factorization relies on RNG, it may take a while (or may not!)
58
- //# sourceMappingURL=miller-rabin.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"miller-rabin.test.js","sourceRoot":"","sources":["../../../../src/utils/crypto/miller-rabin.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { defaultCryptoProviderFactory } from './index.js'\nimport { millerRabin } from './miller-rabin.js'\n\ndescribe(\n 'miller-rabin test',\n function () {\n // miller-rabin factorization relies on RNG, so we should use a real random number generator\n const c = defaultCryptoProviderFactory()\n\n const testMillerRabin = (n: number | string | bigint, isPrime: boolean) => {\n expect(millerRabin(c, BigInt(n))).eq(isPrime)\n }\n\n it('should correctly label small primes as probable primes', () => {\n const smallOddPrimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]\n\n for (const prime of smallOddPrimes) {\n testMillerRabin(prime, true)\n }\n })\n\n it('should correctly label small odd composite numbers as composite', () => {\n const smallOddPrimes = [9, 15, 21, 25, 27, 33, 35]\n\n for (const prime of smallOddPrimes) {\n testMillerRabin(prime, false)\n }\n })\n\n // primes are generated using `openssl prime -generate -bits <bits>`\n\n it('should work for 512-bit numbers', () => {\n testMillerRabin(\n '8411445470921866378538628788380866906358949375899610911537071281076627385046125382763689993349183284546479522400013151510610266158235924343045768103605519',\n true,\n )\n testMillerRabin(\n '11167561990563990242158096122232207092938761092751537312016255867850441858086589598418467012717458858604863547175649456433632887622140170743409535470973399',\n true,\n )\n testMillerRabin(\n '11006717791910450367418249787526506184731090161438431250022510598653874155081488487035840577645711578911087148186160668569071839053453201592321650008610329',\n true,\n )\n testMillerRabin(\n '12224330340162812215033324917156282302617911690617664923428569636370785775561435789211091021550357876767050350997458404009005800772805534351607294516706177',\n true,\n )\n\n // above numbers but -2 (not prime)\n testMillerRabin(\n '8411445470921866378538628788380866906358949375899610911537071281076627385046125382763689993349183284546479522400013151510610266158235924343045768103605517',\n false,\n )\n testMillerRabin(\n '11167561990563990242158096122232207092938761092751537312016255867850441858086589598418467012717458858604863547175649456433632887622140170743409535470973397',\n false,\n )\n testMillerRabin(\n '11006717791910450367418249787526506184731090161438431250022510598653874155081488487035840577645711578911087148186160668569071839053453201592321650008610327',\n false,\n )\n testMillerRabin(\n '12224330340162812215033324917156282302617911690617664923428569636370785775561435789211091021550357876767050350997458404009005800772805534351607294516706175',\n false,\n )\n })\n\n it('should work for 1024-bit numbers', () => {\n testMillerRabin(\n '94163180970530844245052892199633535954736903357996153321496979115367320260897793334681106861766748541439161886270777106456088209508872459550450259737267142959061663564218457086654112219462515165219295402175541003899136060178102898376369981338103600856012709228116661479275753497725541132207243717937379815409',\n true,\n )\n testMillerRabin(\n '97324962433497727515811278760066576725849776656602017497363465683978397629803148191267105308901733336070351381654371470561376353774017284623969415330564867697353080030917333974193741719718950105404732792050882127213356260415251087867407489400712288570880407613514781891914135956778687719588061176455381937003',\n true,\n )\n testMillerRabin(\n '92511311413226091818378551616231701579277597795073142338527410334932345968554993390789667936819230228388142960299649466238701015865565141753710450319875546944139442823075990348978746055937500467483161699883905850192191164043687791185635729923497381849380102040768674652775240505782671289535260164547714030567',\n true,\n )\n testMillerRabin(\n '98801756216479639848708157708947504990501845258427605711852570166662700681215707617225664134994147912417941920327932092748574265476658124536672887141144222716123085451749764522435906007567360583062117498919471220566974634924384147341592903939264267901029640119196259026154529723870788246284629644039137378253',\n true,\n )\n\n // above numbers but -2 (not prime)\n testMillerRabin(\n '94163180970530844245052892199633535954736903357996153321496979115367320260897793334681106861766748541439161886270777106456088209508872459550450259737267142959061663564218457086654112219462515165219295402175541003899136060178102898376369981338103600856012709228116661479275753497725541132207243717937379815407',\n false,\n )\n testMillerRabin(\n '97324962433497727515811278760066576725849776656602017497363465683978397629803148191267105308901733336070351381654371470561376353774017284623969415330564867697353080030917333974193741719718950105404732792050882127213356260415251087867407489400712288570880407613514781891914135956778687719588061176455381937001',\n false,\n )\n testMillerRabin(\n '92511311413226091818378551616231701579277597795073142338527410334932345968554993390789667936819230228388142960299649466238701015865565141753710450319875546944139442823075990348978746055937500467483161699883905850192191164043687791185635729923497381849380102040768674652775240505782671289535260164547714030565',\n false,\n )\n testMillerRabin(\n '98801756216479639848708157708947504990501845258427605711852570166662700681215707617225664134994147912417941920327932092748574265476658124536672887141144222716123085451749764522435906007567360583062117498919471220566974634924384147341592903939264267901029640119196259026154529723870788246284629644039137378251',\n false,\n )\n })\n\n it('should work for 2048-bit numbers', () => {\n testMillerRabin(\n '28608382334358769588283288249494859626901014972463291352091976543138105382282108662849885913053034513852843449409838151123568984617793641641937583673207501643041336002587032201383537626393235736734494131431069043382068545865505150651648610506542819001961332454611129372758714288168807328523359776577571626967649079147416191592855529888846889532625386469236278694936872628305052827422772792103722178298844645210242389265273407924858034431614414896134561928996888883994953322861399988094086562513898527391555490352156627307769278185444897960555995383228897584818577375695810423475039211516849716140051437120083274285367',\n true,\n )\n testMillerRabin(\n '30244022694659482453371920976249272809817388822378671144866806600284132009663832003348737406289715119965835410140834733465553787513841966120831322372642881643693711233087233983267648392814127424201572290931937482043046169402667397610783447368703776842799852222745601531140231486417855517072392416789672922529566643118973930252809010605519948446055538976582290902060054788109497630796585770940656002892943575479533099350429655210881833493066716819282707441553612603960556051122162329171373373251909387401572866056121964608595895425640834764028568120995397759283490218181167000161310959711677055741632674632758727382743',\n true,\n )\n testMillerRabin(\n '30560953105766401423987964658775999222308579908395527900931049506803845883459894704297458477118152899910620180302473409631442956208933061650967001020981432894530064472547770442696756724169958362395601360296775798187903794894866967342028337982275745956538015473621792510615113531964380246815875830970404687926061637030085629909804357717955251735074071072456074274947993921828878633638119117086342305530526661796817095624933200483138188878398983149622639425550360394901699701985050966685840649129419227936413574227792077082510807968104733387734970009620450108276446659342203263759999068046251645984039420643003580284779',\n true,\n )\n\n // above numbers but -2 (not prime)\n testMillerRabin(\n '28608382334358769588283288249494859626901014972463291352091976543138105382282108662849885913053034513852843449409838151123568984617793641641937583673207501643041336002587032201383537626393235736734494131431069043382068545865505150651648610506542819001961332454611129372758714288168807328523359776577571626967649079147416191592855529888846889532625386469236278694936872628305052827422772792103722178298844645210242389265273407924858034431614414896134561928996888883994953322861399988094086562513898527391555490352156627307769278185444897960555995383228897584818577375695810423475039211516849716140051437120083274285365',\n false,\n )\n testMillerRabin(\n '30244022694659482453371920976249272809817388822378671144866806600284132009663832003348737406289715119965835410140834733465553787513841966120831322372642881643693711233087233983267648392814127424201572290931937482043046169402667397610783447368703776842799852222745601531140231486417855517072392416789672922529566643118973930252809010605519948446055538976582290902060054788109497630796585770940656002892943575479533099350429655210881833493066716819282707441553612603960556051122162329171373373251909387401572866056121964608595895425640834764028568120995397759283490218181167000161310959711677055741632674632758727382741',\n false,\n )\n testMillerRabin(\n '30560953105766401423987964658775999222308579908395527900931049506803845883459894704297458477118152899910620180302473409631442956208933061650967001020981432894530064472547770442696756724169958362395601360296775798187903794894866967342028337982275745956538015473621792510615113531964380246815875830970404687926061637030085629909804357717955251735074071072456074274947993921828878633638119117086342305530526661796817095624933200483138188878398983149622639425550360394901699701985050966685840649129419227936413574227792077082510807968104733387734970009620450108276446659342203263759999068046251645984039420643003580284777',\n false,\n )\n\n // dh_prime used by telegram, as seen in https://core.telegram.org/mtproto/security_guidelines\n const telegramDhPrime =\n 'C7 1C AE B9 C6 B1 C9 04 8E 6C 52 2F 70 F1 3F 73 98 0D 40 23 8E 3E 21 C1 49 34 D0 37 56 3D 93 0F 48 19 8A 0A A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E 0A C9 25 13 95 43 AE D4 4C CE 7C 37 20 FD 51 F6 94 58 70 5A C6 8C D4 FE 6B 6B 13 AB DC 97 46 51 29 69 32 84 54 F1 8F AF 8C 59 5F 64 24 77 FE 96 BB 2A 94 1D 5B CD 1D 4A C8 CC 49 88 07 08 FA 9B 37 8E 3C 4F 3A 90 60 BE E6 7C F9 A4 A4 A6 95 81 10 51 90 7E 16 27 53 B5 6B 0F 6B 41 0D BA 74 D8 A8 4B 2A 14 B3 14 4E 0E F1 28 47 54 FD 17 ED 95 0D 59 65 B4 B9 DD 46 58 2D B1 17 8D 16 9C 6B C4 65 B0 D6 FF 9C A3 92 8F EF 5B 9A E4 E4 18 FC 15 E8 3E BE A0 F8 7F A9 FF 5E ED 70 05 0D ED 28 49 F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6 35 B1 05 EE 2E 4E 15 D0 4B 24 54 BF 6F 4F AD F0 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B'\n testMillerRabin(BigInt('0x' + telegramDhPrime.replace(/ /g, '')), true)\n })\n },\n { timeout: 10000 },\n) // since miller-rabin factorization relies on RNG, it may take a while (or may not!)\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,48 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { defaultTestCryptoProvider, u8HexDecode } from '@mtcute/test';
3
- import { concatBuffers, hexDecodeToBuffer, hexEncode } from '../index.js';
4
- import { createAesIgeForMessage, createAesIgeForMessageOld, generateKeyAndIvFromNonce } from './mtproto.js';
5
- const authKeyChunk = hexDecodeToBuffer('98cb29c6ffa89e79da695a54f572e6cb101e81c688b63a4bf73c3622dec230e0');
6
- const authKey = concatBuffers(Array.from({ length: 8 }, () => authKeyChunk));
7
- const messageKey = hexDecodeToBuffer('25d701f2a29205526757825a99eb2d32');
8
- describe('mtproto 2.0', async () => {
9
- const crypto = await defaultTestCryptoProvider();
10
- const createAesIgeSpy = vi.spyOn(crypto, 'createAesIge');
11
- beforeEach(() => void createAesIgeSpy.mockClear());
12
- it('should correctly derive message key and iv for client', () => {
13
- createAesIgeForMessage(crypto, authKey, messageKey, true);
14
- expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual('af3f8e1ffa75f4c981eec33a3e5bbaa2ea48f9bb93e91597627eb1f67960a0c9');
15
- expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual('9874d77f95155b35221bff94b7df4594c6996e2a62e44fcb7d93c8c4e41b79ee');
16
- });
17
- it('should correctly derive message key and iv for server', () => {
18
- createAesIgeForMessage(crypto, authKey, messageKey, false);
19
- expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual('d4b378e1e0525f10ff9d4c42807ccce5b30a033a8088c0b922b5259421751648');
20
- expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual('4d7194f42f0135d2fd83050b403265b4c40ee3e9e9fba56f0f4d8ea6bcb121f5');
21
- });
22
- });
23
- describe('mtproto 1.0', async () => {
24
- const crypto = await defaultTestCryptoProvider();
25
- const createAesIgeSpy = vi.spyOn(crypto, 'createAesIge');
26
- beforeEach(() => void createAesIgeSpy.mockClear());
27
- it('should correctly derive message key and iv for client', () => {
28
- createAesIgeForMessageOld(crypto, authKey, messageKey, true);
29
- expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual('1fc7b40b1d9ffbdaf4d652525a748864259698f89214abf27c0d36cb9d4cd5db');
30
- expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual('7251fbda39ec5e6e089f15ded5963b03d6d8d0f7078898431fc7b40b1d9ffbda');
31
- });
32
- it('should correctly derive message key and iv for server', () => {
33
- createAesIgeForMessageOld(crypto, authKey, messageKey, false);
34
- expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual('af0e4e01318654be40ab42b125909d43b44bdeef571ff1a5dfb81474ae26d467');
35
- expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual('15c9ba6021d2c5cf04f0842540ae216a970b4eac8f46ef01af0e4e01318654be');
36
- });
37
- });
38
- describe('mtproto key/iv from nonce', async () => {
39
- const crypto = await defaultTestCryptoProvider();
40
- it('should correctly derive message key and iv for given nonces', () => {
41
- const res = generateKeyAndIvFromNonce(crypto, u8HexDecode('8af24c551836e5ed7002f5857e6e71b2'), u8HexDecode('3bf48b2d3152f383d82d1f2b32ac7fb5'));
42
- expect(res).to.eql([
43
- u8HexDecode('b0b5ffeadff0249fa6292f5ae0351556fd6619ba5dd4809601669292456d3e5a'),
44
- u8HexDecode('13fef5bfd8c46b12dfd1753013b86cc012e1ce8ed6f8ecdd7bf36f3a3bf48b2d'),
45
- ]);
46
- });
47
- });
48
- //# sourceMappingURL=mtproto.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtproto.test.js","sourceRoot":"","sources":["../../../../src/utils/crypto/mtproto.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { beforeEach, describe, expect, it, vi } from 'vitest'\n\nimport { defaultTestCryptoProvider, u8HexDecode } from '@mtcute/test'\n\nimport { concatBuffers, hexDecodeToBuffer, hexEncode } from '../index.js'\nimport { createAesIgeForMessage, createAesIgeForMessageOld, generateKeyAndIvFromNonce } from './mtproto.js'\n\nconst authKeyChunk = hexDecodeToBuffer('98cb29c6ffa89e79da695a54f572e6cb101e81c688b63a4bf73c3622dec230e0')\nconst authKey = concatBuffers(Array.from({ length: 8 }, () => authKeyChunk))\nconst messageKey = hexDecodeToBuffer('25d701f2a29205526757825a99eb2d32')\n\ndescribe('mtproto 2.0', async () => {\n const crypto = await defaultTestCryptoProvider()\n const createAesIgeSpy = vi.spyOn(crypto, 'createAesIge')\n\n beforeEach(() => void createAesIgeSpy.mockClear())\n\n it('should correctly derive message key and iv for client', () => {\n createAesIgeForMessage(crypto, authKey, messageKey, true)\n\n expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual(\n 'af3f8e1ffa75f4c981eec33a3e5bbaa2ea48f9bb93e91597627eb1f67960a0c9',\n )\n expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual(\n '9874d77f95155b35221bff94b7df4594c6996e2a62e44fcb7d93c8c4e41b79ee',\n )\n })\n\n it('should correctly derive message key and iv for server', () => {\n createAesIgeForMessage(crypto, authKey, messageKey, false)\n\n expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual(\n 'd4b378e1e0525f10ff9d4c42807ccce5b30a033a8088c0b922b5259421751648',\n )\n expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual(\n '4d7194f42f0135d2fd83050b403265b4c40ee3e9e9fba56f0f4d8ea6bcb121f5',\n )\n })\n})\n\ndescribe('mtproto 1.0', async () => {\n const crypto = await defaultTestCryptoProvider()\n const createAesIgeSpy = vi.spyOn(crypto, 'createAesIge')\n\n beforeEach(() => void createAesIgeSpy.mockClear())\n\n it('should correctly derive message key and iv for client', () => {\n createAesIgeForMessageOld(crypto, authKey, messageKey, true)\n\n expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual(\n '1fc7b40b1d9ffbdaf4d652525a748864259698f89214abf27c0d36cb9d4cd5db',\n )\n expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual(\n '7251fbda39ec5e6e089f15ded5963b03d6d8d0f7078898431fc7b40b1d9ffbda',\n )\n })\n\n it('should correctly derive message key and iv for server', () => {\n createAesIgeForMessageOld(crypto, authKey, messageKey, false)\n\n expect(hexEncode(createAesIgeSpy.mock.calls[0][0])).toEqual(\n 'af0e4e01318654be40ab42b125909d43b44bdeef571ff1a5dfb81474ae26d467',\n )\n expect(hexEncode(createAesIgeSpy.mock.calls[0][1])).toEqual(\n '15c9ba6021d2c5cf04f0842540ae216a970b4eac8f46ef01af0e4e01318654be',\n )\n })\n})\n\ndescribe('mtproto key/iv from nonce', async () => {\n const crypto = await defaultTestCryptoProvider()\n\n it('should correctly derive message key and iv for given nonces', () => {\n const res = generateKeyAndIvFromNonce(\n crypto,\n u8HexDecode('8af24c551836e5ed7002f5857e6e71b2'),\n u8HexDecode('3bf48b2d3152f383d82d1f2b32ac7fb5'),\n )\n\n expect(res).to.eql([\n u8HexDecode('b0b5ffeadff0249fa6292f5ae0351556fd6619ba5dd4809601669292456d3e5a'),\n u8HexDecode('13fef5bfd8c46b12dfd1753013b86cc012e1ce8ed6f8ecdd7bf36f3a3bf48b2d'),\n ])\n })\n})\n"]}
@@ -1,21 +0,0 @@
1
- import { InitInput } from '@mtcute/wasm';
2
- import { MaybePromise } from '../../types/index.js';
3
- import { BaseCryptoProvider, IAesCtr, ICryptoProvider, IEncryptionScheme } from './abstract.js';
4
- export declare abstract class BaseNodeCryptoProvider extends BaseCryptoProvider {
5
- createAesCtr(key: Uint8Array, iv: Uint8Array): IAesCtr;
6
- pbkdf2(password: Uint8Array, salt: Uint8Array, iterations: number, keylen?: number, algo?: string): MaybePromise<Uint8Array>;
7
- sha1(data: Uint8Array): Uint8Array;
8
- sha256(data: Uint8Array): Uint8Array;
9
- hmacSha256(data: Uint8Array, key: Uint8Array): Uint8Array;
10
- gzip(data: Uint8Array, maxSize: number): Uint8Array | null;
11
- gunzip(data: Uint8Array): Uint8Array;
12
- randomFill(buf: Uint8Array): void;
13
- }
14
- export declare class NodeCryptoProvider extends BaseNodeCryptoProvider implements ICryptoProvider {
15
- private wasmInput?;
16
- constructor(params?: {
17
- wasmInput?: InitInput;
18
- });
19
- initialize(): Promise<void>;
20
- createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme;
21
- }
@@ -1,69 +0,0 @@
1
- // eslint-disable-next-line no-restricted-imports
2
- import { createCipheriv, createHash, createHmac, pbkdf2, randomFillSync } from 'crypto';
3
- import { deflateSync, gunzipSync } from 'zlib';
4
- import { ige256Decrypt, ige256Encrypt, initAsync } from '@mtcute/wasm';
5
- import { BaseCryptoProvider } from './abstract.js';
6
- export class BaseNodeCryptoProvider extends BaseCryptoProvider {
7
- createAesCtr(key, iv) {
8
- const cipher = createCipheriv(`aes-${key.length * 8}-ctr`, key, iv);
9
- const update = (data) => cipher.update(data);
10
- return {
11
- process: update,
12
- };
13
- }
14
- pbkdf2(password, salt, iterations, keylen = 64, algo = 'sha512') {
15
- return new Promise((resolve, reject) => pbkdf2(password, salt, iterations, keylen, algo, (err, buf) => err !== null ? reject(err) : resolve(buf)));
16
- }
17
- sha1(data) {
18
- return createHash('sha1').update(data).digest();
19
- }
20
- sha256(data) {
21
- return createHash('sha256').update(data).digest();
22
- }
23
- hmacSha256(data, key) {
24
- return createHmac('sha256', key).update(data).digest();
25
- }
26
- gzip(data, maxSize) {
27
- // todo: test if wasm impl is better fit here
28
- try {
29
- // telegram accepts both zlib and gzip, but zlib is faster and has less overhead, so we use it here
30
- return deflateSync(data, {
31
- maxOutputLength: maxSize,
32
- });
33
- // hot path, avoid additional runtime checks
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- }
36
- catch (e) {
37
- if (e.code === 'ERR_BUFFER_TOO_LARGE') {
38
- return null;
39
- }
40
- throw e;
41
- }
42
- }
43
- gunzip(data) {
44
- return gunzipSync(data);
45
- }
46
- randomFill(buf) {
47
- randomFillSync(buf);
48
- }
49
- }
50
- export class NodeCryptoProvider extends BaseNodeCryptoProvider {
51
- constructor(params) {
52
- super();
53
- this.wasmInput = params?.wasmInput;
54
- }
55
- initialize() {
56
- return initAsync(this.wasmInput);
57
- }
58
- createAesIge(key, iv) {
59
- return {
60
- encrypt(data) {
61
- return ige256Encrypt(data, key, iv);
62
- },
63
- decrypt(data) {
64
- return ige256Decrypt(data, key, iv);
65
- },
66
- };
67
- }
68
- }
69
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/utils/crypto/node.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { createCipheriv, createHash, createHmac, pbkdf2, randomFillSync } from 'crypto'\nimport { deflateSync, gunzipSync } from 'zlib'\n\nimport { ige256Decrypt, ige256Encrypt, initAsync, InitInput } from '@mtcute/wasm'\n\nimport { MaybePromise } from '../../types/index.js'\nimport { BaseCryptoProvider, IAesCtr, ICryptoProvider, IEncryptionScheme } from './abstract.js'\n\nexport abstract class BaseNodeCryptoProvider extends BaseCryptoProvider {\n createAesCtr(key: Uint8Array, iv: Uint8Array): IAesCtr {\n const cipher = createCipheriv(`aes-${key.length * 8}-ctr`, key, iv)\n\n const update = (data: Uint8Array) => cipher.update(data)\n\n return {\n process: update,\n }\n }\n\n pbkdf2(\n password: Uint8Array,\n salt: Uint8Array,\n iterations: number,\n keylen = 64,\n algo = 'sha512',\n ): MaybePromise<Uint8Array> {\n return new Promise((resolve, reject) =>\n pbkdf2(password, salt, iterations, keylen, algo, (err: Error | null, buf: Uint8Array) =>\n err !== null ? reject(err) : resolve(buf),\n ),\n )\n }\n\n sha1(data: Uint8Array): Uint8Array {\n return createHash('sha1').update(data).digest()\n }\n\n sha256(data: Uint8Array): Uint8Array {\n return createHash('sha256').update(data).digest()\n }\n\n hmacSha256(data: Uint8Array, key: Uint8Array): Uint8Array {\n return createHmac('sha256', key).update(data).digest()\n }\n\n gzip(data: Uint8Array, maxSize: number): Uint8Array | null {\n // todo: test if wasm impl is better fit here\n try {\n // telegram accepts both zlib and gzip, but zlib is faster and has less overhead, so we use it here\n return deflateSync(data, {\n maxOutputLength: maxSize,\n })\n // hot path, avoid additional runtime checks\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n if (e.code === 'ERR_BUFFER_TOO_LARGE') {\n return null\n }\n\n throw e\n }\n }\n\n gunzip(data: Uint8Array): Uint8Array {\n return gunzipSync(data)\n }\n\n randomFill(buf: Uint8Array) {\n randomFillSync(buf)\n }\n}\n\nexport class NodeCryptoProvider extends BaseNodeCryptoProvider implements ICryptoProvider {\n private wasmInput?: InitInput\n\n constructor(params?: { wasmInput?: InitInput }) {\n super()\n this.wasmInput = params?.wasmInput\n }\n\n initialize(): Promise<void> {\n return initAsync(this.wasmInput)\n }\n\n createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme {\n return {\n encrypt(data: Uint8Array): Uint8Array {\n return ige256Encrypt(data, key, iv)\n },\n decrypt(data: Uint8Array): Uint8Array {\n return ige256Decrypt(data, key, iv)\n },\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import { describe } from 'vitest';
2
- import { testCryptoProvider } from '@mtcute/test';
3
- if (import.meta.env.TEST_ENV === 'node' || import.meta.env.TEST_ENV === 'bun') {
4
- describe('NodeCryptoProvider', async () => {
5
- const { NodeCryptoProvider } = await import('./node.js');
6
- testCryptoProvider(new NodeCryptoProvider());
7
- });
8
- }
9
- else {
10
- describe.skip('NodeCryptoProvider', () => { });
11
- }
12
- //# sourceMappingURL=node.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.test.js","sourceRoot":"","sources":["../../../../src/utils/crypto/node.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;QAExD,kBAAkB,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;CACL;KAAM;IACH,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;CAChD","sourcesContent":["import { describe } from 'vitest'\n\nimport { testCryptoProvider } from '@mtcute/test'\n\nif (import.meta.env.TEST_ENV === 'node' || import.meta.env.TEST_ENV === 'bun') {\n describe('NodeCryptoProvider', async () => {\n const { NodeCryptoProvider } = await import('./node.js')\n\n testCryptoProvider(new NodeCryptoProvider())\n })\n} else {\n describe.skip('NodeCryptoProvider', () => {})\n}\n"]}
@@ -1 +0,0 @@
1
- export {};