@mtkruto/node 0.0.991 → 0.0.992

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 (254) hide show
  1. package/esm/1_utilities.d.ts +12 -0
  2. package/esm/1_utilities.js +12 -0
  3. package/esm/2_connection.d.ts +2 -0
  4. package/esm/2_connection.js +2 -0
  5. package/esm/2_tl.d.ts +10 -0
  6. package/esm/2_tl.js +10 -0
  7. package/esm/3_storage.d.ts +6 -0
  8. package/esm/3_storage.js +6 -0
  9. package/esm/3_transport.d.ts +4 -0
  10. package/esm/3_transport.js +4 -0
  11. package/esm/3_types.d.ts +35 -0
  12. package/esm/3_types.js +35 -0
  13. package/esm/{constants.d.ts → 4_constants.d.ts} +2 -2
  14. package/esm/{constants.js → 4_constants.js} +1 -1
  15. package/esm/5_client.d.ts +2 -0
  16. package/esm/5_client.js +2 -0
  17. package/esm/client/0_html.d.ts +1 -1
  18. package/esm/client/0_html.js +1 -1
  19. package/esm/client/0_message.d.ts +1 -2
  20. package/esm/client/0_message.js +7 -14
  21. package/esm/client/0_password.d.ts +2 -2
  22. package/esm/client/0_password.js +2 -4
  23. package/esm/client/0_utilities.d.ts +3 -5
  24. package/esm/client/0_utilities.js +3 -22
  25. package/esm/client/1_client_abstract.d.ts +2 -2
  26. package/esm/client/1_client_abstract.js +3 -3
  27. package/esm/client/2_client_plain.d.ts +3 -3
  28. package/esm/client/2_client_plain.js +13 -20
  29. package/esm/client/3_client.d.ts +33 -18
  30. package/esm/client/3_client.js +47 -35
  31. package/esm/connection/0_connection.d.ts +1 -1
  32. package/esm/connection/1_connection_web_socket.js +1 -1
  33. package/esm/mod.d.ts +7 -21
  34. package/esm/mod.js +7 -21
  35. package/esm/storage/0_storage.d.ts +4 -5
  36. package/esm/storage/0_storage.js +3 -8
  37. package/esm/storage/0_utilities.js +2 -2
  38. package/esm/storage/1_storage_local_storage.d.ts +1 -1
  39. package/esm/storage/1_storage_memory.d.ts +1 -1
  40. package/esm/storage/1_storage_session_storage.d.ts +1 -1
  41. package/esm/tl/0_tl_raw_reader.js +1 -1
  42. package/esm/tl/0_tl_raw_writer.js +1 -1
  43. package/esm/tl/1_tl_object.js +1 -1
  44. package/esm/tl/3_deserialize.js +1 -1
  45. package/esm/tl/3_utilities.d.ts +3 -0
  46. package/esm/tl/3_utilities.js +20 -0
  47. package/esm/tl/4_tl_writer.js +1 -1
  48. package/esm/transport/0_obfuscation.d.ts +2 -2
  49. package/esm/transport/0_obfuscation.js +1 -2
  50. package/esm/transport/0_transport.d.ts +1 -2
  51. package/esm/transport/1_transport_abridged.d.ts +1 -1
  52. package/esm/transport/1_transport_abridged.js +1 -1
  53. package/esm/transport/1_transport_intermediate.d.ts +1 -1
  54. package/esm/transport/1_transport_intermediate.js +1 -1
  55. package/esm/transport/2_transport_provider.d.ts +1 -1
  56. package/esm/transport/2_transport_provider.js +1 -1
  57. package/esm/types/!0_file_id.js +6 -9
  58. package/esm/types/!0_misc.d.ts +7 -0
  59. package/esm/types/!0_misc.js +1 -0
  60. package/esm/types/0_audio.d.ts +3 -3
  61. package/esm/types/0_audio.js +1 -1
  62. package/esm/types/0_chat_administrator_rights.d.ts +1 -1
  63. package/esm/types/0_chat_administrator_rights.js +1 -1
  64. package/esm/types/0_chat_photo.d.ts +3 -3
  65. package/esm/types/0_chat_photo.js +1 -1
  66. package/esm/types/0_color.d.ts +2 -0
  67. package/esm/types/0_color.js +16 -0
  68. package/esm/types/0_contact.d.ts +2 -2
  69. package/esm/types/0_dice.d.ts +1 -1
  70. package/esm/types/0_force_reply.d.ts +1 -1
  71. package/esm/types/0_force_reply.js +1 -1
  72. package/esm/types/0_location.d.ts +1 -1
  73. package/esm/types/0_location.js +1 -2
  74. package/esm/types/0_mask_position.d.ts +1 -1
  75. package/esm/types/0_message_entity.d.ts +5 -5
  76. package/esm/types/0_message_entity.js +1 -1
  77. package/esm/types/0_poll_option.d.ts +1 -1
  78. package/esm/types/0_reply_keyboard_remove.d.ts +1 -1
  79. package/esm/types/0_reply_keyboard_remove.js +2 -2
  80. package/esm/types/0_thumbnail.d.ts +2 -2
  81. package/esm/types/0_thumbnail.js +1 -1
  82. package/esm/types/0_venue.d.ts +1 -1
  83. package/esm/types/0_venue.js +1 -2
  84. package/esm/types/0_voice.d.ts +3 -3
  85. package/esm/types/0_web_app_info.d.ts +2 -2
  86. package/esm/types/1_animation.d.ts +3 -3
  87. package/esm/types/1_animation.js +1 -1
  88. package/esm/types/1_chat.d.ts +5 -4
  89. package/esm/types/1_chat.js +8 -9
  90. package/esm/types/1_document.d.ts +4 -4
  91. package/esm/types/1_document.js +1 -1
  92. package/esm/types/1_inline_keyboard_button.d.ts +4 -4
  93. package/esm/types/1_inline_keyboard_button.js +2 -2
  94. package/esm/types/1_keyboard_button.d.ts +8 -8
  95. package/esm/types/1_keyboard_button.js +2 -2
  96. package/esm/types/1_photo.d.ts +2 -2
  97. package/esm/types/1_photo.js +1 -1
  98. package/esm/types/1_poll.d.ts +8 -8
  99. package/esm/types/1_poll.js +1 -1
  100. package/esm/types/1_sticker.d.ts +3 -3
  101. package/esm/types/1_sticker.js +1 -2
  102. package/esm/types/1_user.d.ts +4 -3
  103. package/esm/types/1_user.js +4 -4
  104. package/esm/types/1_video.d.ts +3 -3
  105. package/esm/types/1_video.js +1 -1
  106. package/esm/types/1_video_note.d.ts +2 -2
  107. package/esm/types/1_video_note.js +1 -1
  108. package/esm/types/2_game.d.ts +3 -3
  109. package/esm/types/2_game.js +2 -3
  110. package/esm/types/2_inline_keyboard_markup.d.ts +2 -2
  111. package/esm/types/2_inline_keyboard_markup.js +1 -1
  112. package/esm/types/2_inline_query.d.ts +19 -0
  113. package/esm/types/2_inline_query.js +41 -0
  114. package/esm/types/2_reply_keyboard_markup.d.ts +2 -2
  115. package/esm/types/2_reply_keyboard_markup.js +1 -1
  116. package/esm/types/3_message.d.ts +21 -23
  117. package/esm/types/3_message.js +16 -18
  118. package/esm/types/4_callback_query.d.ts +14 -0
  119. package/esm/types/4_callback_query.js +24 -0
  120. package/esm/utilities/0_base64.js +1 -1
  121. package/esm/utilities/0_crypto.js +1 -1
  122. package/esm/utilities/0_queue.js +1 -1
  123. package/esm/utilities/1_auth.js +1 -1
  124. package/package.json +1 -1
  125. package/script/1_utilities.d.ts +12 -0
  126. package/script/1_utilities.js +28 -0
  127. package/script/2_connection.d.ts +2 -0
  128. package/script/2_connection.js +18 -0
  129. package/script/2_tl.d.ts +10 -0
  130. package/script/2_tl.js +40 -0
  131. package/script/3_storage.d.ts +6 -0
  132. package/script/3_storage.js +22 -0
  133. package/script/3_transport.d.ts +4 -0
  134. package/script/3_transport.js +20 -0
  135. package/script/3_types.d.ts +35 -0
  136. package/script/3_types.js +51 -0
  137. package/script/{constants.d.ts → 4_constants.d.ts} +2 -2
  138. package/script/{constants.js → 4_constants.js} +1 -1
  139. package/script/5_client.d.ts +2 -0
  140. package/script/5_client.js +18 -0
  141. package/script/client/0_html.d.ts +1 -1
  142. package/script/client/0_html.js +2 -2
  143. package/script/client/0_message.d.ts +1 -2
  144. package/script/client/0_message.js +32 -39
  145. package/script/client/0_password.d.ts +2 -2
  146. package/script/client/0_password.js +20 -22
  147. package/script/client/0_utilities.d.ts +3 -5
  148. package/script/client/0_utilities.js +24 -68
  149. package/script/client/1_client_abstract.d.ts +2 -2
  150. package/script/client/1_client_abstract.js +6 -6
  151. package/script/client/2_client_plain.d.ts +3 -3
  152. package/script/client/2_client_plain.js +45 -52
  153. package/script/client/3_client.d.ts +33 -18
  154. package/script/client/3_client.js +291 -303
  155. package/script/connection/0_connection.d.ts +1 -1
  156. package/script/connection/1_connection_web_socket.js +5 -5
  157. package/script/mod.d.ts +7 -21
  158. package/script/mod.js +17 -45
  159. package/script/storage/0_storage.d.ts +4 -5
  160. package/script/storage/0_storage.js +11 -39
  161. package/script/storage/0_utilities.js +6 -6
  162. package/script/storage/1_storage_local_storage.d.ts +1 -1
  163. package/script/storage/1_storage_memory.d.ts +1 -1
  164. package/script/storage/1_storage_session_storage.d.ts +1 -1
  165. package/script/tl/0_tl_raw_reader.js +6 -6
  166. package/script/tl/0_tl_raw_writer.js +7 -7
  167. package/script/tl/1_tl_object.js +3 -3
  168. package/script/tl/3_deserialize.js +2 -2
  169. package/script/tl/3_utilities.d.ts +3 -0
  170. package/script/tl/3_utilities.js +48 -0
  171. package/script/tl/4_tl_writer.js +2 -2
  172. package/script/transport/0_obfuscation.d.ts +2 -2
  173. package/script/transport/0_obfuscation.js +5 -6
  174. package/script/transport/0_transport.d.ts +1 -2
  175. package/script/transport/1_transport_abridged.d.ts +1 -1
  176. package/script/transport/1_transport_abridged.js +3 -3
  177. package/script/transport/1_transport_intermediate.d.ts +1 -1
  178. package/script/transport/1_transport_intermediate.js +3 -3
  179. package/script/transport/2_transport_provider.d.ts +1 -1
  180. package/script/transport/2_transport_provider.js +2 -2
  181. package/script/types/!0_file_id.js +24 -27
  182. package/script/types/!0_misc.d.ts +7 -0
  183. package/script/types/!0_misc.js +2 -0
  184. package/script/types/0_audio.d.ts +3 -3
  185. package/script/types/0_audio.js +2 -25
  186. package/script/types/0_chat_administrator_rights.d.ts +1 -1
  187. package/script/types/0_chat_administrator_rights.js +2 -25
  188. package/script/types/0_chat_photo.d.ts +3 -3
  189. package/script/types/0_chat_photo.js +2 -25
  190. package/script/types/0_color.d.ts +2 -0
  191. package/script/types/{!0_id_color.js → 0_color.js} +10 -10
  192. package/script/types/0_contact.d.ts +2 -2
  193. package/script/types/0_dice.d.ts +1 -1
  194. package/script/types/0_force_reply.d.ts +1 -1
  195. package/script/types/0_force_reply.js +2 -25
  196. package/script/types/0_location.d.ts +1 -1
  197. package/script/types/0_location.js +5 -29
  198. package/script/types/0_mask_position.d.ts +1 -1
  199. package/script/types/0_message_entity.d.ts +5 -5
  200. package/script/types/0_message_entity.js +39 -62
  201. package/script/types/0_poll_option.d.ts +1 -1
  202. package/script/types/0_reply_keyboard_remove.d.ts +1 -1
  203. package/script/types/0_reply_keyboard_remove.js +4 -27
  204. package/script/types/0_thumbnail.d.ts +2 -2
  205. package/script/types/0_thumbnail.js +2 -25
  206. package/script/types/0_venue.d.ts +1 -1
  207. package/script/types/0_venue.js +2 -26
  208. package/script/types/0_voice.d.ts +3 -3
  209. package/script/types/0_web_app_info.d.ts +2 -2
  210. package/script/types/1_animation.d.ts +3 -3
  211. package/script/types/1_animation.js +2 -25
  212. package/script/types/1_chat.d.ts +5 -4
  213. package/script/types/1_chat.js +20 -44
  214. package/script/types/1_document.d.ts +4 -4
  215. package/script/types/1_document.js +2 -25
  216. package/script/types/1_inline_keyboard_button.d.ts +4 -4
  217. package/script/types/1_inline_keyboard_button.js +19 -42
  218. package/script/types/1_keyboard_button.d.ts +8 -8
  219. package/script/types/1_keyboard_button.js +24 -47
  220. package/script/types/1_photo.d.ts +2 -2
  221. package/script/types/1_photo.js +4 -27
  222. package/script/types/1_poll.d.ts +8 -8
  223. package/script/types/1_poll.js +2 -2
  224. package/script/types/1_sticker.d.ts +3 -3
  225. package/script/types/1_sticker.js +6 -30
  226. package/script/types/1_user.d.ts +4 -3
  227. package/script/types/1_user.js +6 -29
  228. package/script/types/1_video.d.ts +3 -3
  229. package/script/types/1_video.js +2 -25
  230. package/script/types/1_video_note.d.ts +2 -2
  231. package/script/types/1_video_note.js +2 -25
  232. package/script/types/2_game.d.ts +3 -3
  233. package/script/types/2_game.js +6 -30
  234. package/script/types/2_inline_keyboard_markup.d.ts +2 -2
  235. package/script/types/2_inline_keyboard_markup.js +3 -26
  236. package/script/types/2_inline_query.d.ts +19 -0
  237. package/script/types/2_inline_query.js +45 -0
  238. package/script/types/2_reply_keyboard_markup.d.ts +2 -2
  239. package/script/types/2_reply_keyboard_markup.js +3 -26
  240. package/script/types/3_message.d.ts +21 -23
  241. package/script/types/3_message.js +94 -119
  242. package/script/types/4_callback_query.d.ts +14 -0
  243. package/script/types/4_callback_query.js +28 -0
  244. package/script/utilities/0_base64.js +3 -3
  245. package/script/utilities/0_crypto.js +3 -3
  246. package/script/utilities/0_queue.js +2 -2
  247. package/script/utilities/1_auth.js +5 -5
  248. package/esm/types/!0_id_color.d.ts +0 -1
  249. package/esm/types/!0_id_color.js +0 -16
  250. package/script/types/!0_id_color.d.ts +0 -1
  251. /package/esm/{deps.d.ts → 0_deps.d.ts} +0 -0
  252. /package/esm/{deps.js → 0_deps.js} +0 -0
  253. /package/script/{deps.d.ts → 0_deps.d.ts} +0 -0
  254. /package/script/{deps.js → 0_deps.js} +0 -0
@@ -1,5 +1,4 @@
1
- import { Message } from "../tl/6_message.js";
2
- import { MessageContainer } from "../tl/7_message_container.js";
1
+ import { Message, MessageContainer } from "../2_tl.js";
3
2
  export declare function getMessageId(lastMsgId: bigint): bigint;
4
3
  export declare function packUnencryptedMessage(data: Uint8Array, messageId: bigint): Uint8Array;
5
4
  export declare function unpackUnencryptedMessage(buffer: Uint8Array): {
@@ -1,16 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decryptMessage = exports.encryptMessage = exports.unpackUnencryptedMessage = exports.packUnencryptedMessage = exports.getMessageId = void 0;
4
- const deps_js_1 = require("../deps.js");
5
- const _0_tl_raw_reader_js_1 = require("../tl/0_tl_raw_reader.js");
6
- const _0_tl_raw_writer_js_1 = require("../tl/0_tl_raw_writer.js");
7
- const _1_tl_object_js_1 = require("../tl/1_tl_object.js");
8
- const _3_tl_reader_js_1 = require("../tl/3_tl_reader.js");
9
- const _5_rpc_result_js_1 = require("../tl/5_rpc_result.js");
10
- const _6_message_js_1 = require("../tl/6_message.js");
11
- const _7_message_container_js_1 = require("../tl/7_message_container.js");
12
- const _0_buffer_js_1 = require("../utilities/0_buffer.js");
13
- const _0_hash_js_1 = require("../utilities/0_hash.js");
4
+ const _0_deps_js_1 = require("../0_deps.js");
5
+ const _1_utilities_js_1 = require("../1_utilities.js");
6
+ const _2_tl_js_1 = require("../2_tl.js");
14
7
  function getMessageId(lastMsgId) {
15
8
  const now = new Date().getTime() / 1000 + 0;
16
9
  const nanoseconds = Math.floor((now - Math.floor(now)) * 1e9);
@@ -24,7 +17,7 @@ function getMessageId(lastMsgId) {
24
17
  }
25
18
  exports.getMessageId = getMessageId;
26
19
  function packUnencryptedMessage(data, messageId) {
27
- const writer = new _0_tl_raw_writer_js_1.TLRawWriter();
20
+ const writer = new _2_tl_js_1.TLWriter();
28
21
  writer.writeInt64(0n); // auth key
29
22
  writer.writeInt64(messageId);
30
23
  writer.writeInt32(data.length);
@@ -33,7 +26,7 @@ function packUnencryptedMessage(data, messageId) {
33
26
  }
34
27
  exports.packUnencryptedMessage = packUnencryptedMessage;
35
28
  function unpackUnencryptedMessage(buffer) {
36
- const reader = new _0_tl_raw_reader_js_1.TLRawReader(buffer);
29
+ const reader = new _2_tl_js_1.TLReader(buffer);
37
30
  const _authKeyId = reader.readInt64();
38
31
  const messageId = reader.readInt64();
39
32
  const messageLength = reader.readInt32();
@@ -42,8 +35,8 @@ function unpackUnencryptedMessage(buffer) {
42
35
  }
43
36
  exports.unpackUnencryptedMessage = unpackUnencryptedMessage;
44
37
  async function encryptMessage(message, authKey, authKeyId, salt, sessionId) {
45
- const encoded = message.body[_1_tl_object_js_1.serialize]();
46
- const payloadWriter = new _0_tl_raw_writer_js_1.TLRawWriter();
38
+ const encoded = message.body[_2_tl_js_1.serialize]();
39
+ const payloadWriter = new _2_tl_js_1.TLWriter();
47
40
  payloadWriter.writeInt64(salt);
48
41
  payloadWriter.writeInt64(sessionId);
49
42
  payloadWriter.writeInt64(message.id);
@@ -56,49 +49,49 @@ async function encryptMessage(message, authKey, authKeyId, salt, sessionId) {
56
49
  if (payload.length % 16 == 0 && (payload.length) % 4 == 0) {
57
50
  break;
58
51
  }
59
- payload = (0, _0_buffer_js_1.concat)(payload, new Uint8Array(1));
52
+ payload = (0, _1_utilities_js_1.concat)(payload, new Uint8Array(1));
60
53
  }
61
- const messageKey = (await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(authKey.slice(88, 120), payload))).slice(8, 24);
62
- const a = await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(messageKey, authKey.slice(0, 36)));
63
- const b = await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(authKey.slice(40, 76), messageKey));
64
- const aesKey = (0, _0_buffer_js_1.concat)(a.slice(0, 8), b.slice(8, 24), a.slice(24, 32));
65
- const aesIV = (0, _0_buffer_js_1.concat)(b.slice(0, 8), a.slice(8, 24), b.slice(24, 32));
66
- const messageWriter = new _0_tl_raw_writer_js_1.TLRawWriter();
54
+ const messageKey = (await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(authKey.slice(88, 120), payload))).slice(8, 24);
55
+ const a = await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(messageKey, authKey.slice(0, 36)));
56
+ const b = await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(authKey.slice(40, 76), messageKey));
57
+ const aesKey = (0, _1_utilities_js_1.concat)(a.slice(0, 8), b.slice(8, 24), a.slice(24, 32));
58
+ const aesIV = (0, _1_utilities_js_1.concat)(b.slice(0, 8), a.slice(8, 24), b.slice(24, 32));
59
+ const messageWriter = new _2_tl_js_1.TLWriter();
67
60
  messageWriter.writeInt64(authKeyId);
68
61
  messageWriter.write(messageKey);
69
- messageWriter.write((0, deps_js_1.ige256Encrypt)(payload, aesKey, aesIV));
62
+ messageWriter.write((0, _0_deps_js_1.ige256Encrypt)(payload, aesKey, aesIV));
70
63
  return messageWriter.buffer;
71
64
  }
72
65
  exports.encryptMessage = encryptMessage;
73
66
  async function decryptMessage(buffer, authKey, authKeyId, _sessionId) {
74
- const reader = new _3_tl_reader_js_1.TLReader(buffer);
75
- (0, deps_js_1.assertEquals)(reader.readInt64(false), authKeyId);
67
+ const reader = new _2_tl_js_1.TLReader(buffer);
68
+ (0, _0_deps_js_1.assertEquals)(reader.readInt64(false), authKeyId);
76
69
  const messageKey_ = reader.readInt128();
77
- const messageKey = (0, _0_buffer_js_1.bufferFromBigInt)(messageKey_, 16, true, true);
78
- const a = await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(messageKey, authKey.slice(8, 44)));
79
- const b = await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(authKey.slice(48, 84), messageKey));
80
- const aesKey = (0, _0_buffer_js_1.concat)(a.slice(0, 8), b.slice(8, 24), a.slice(24, 32));
81
- const aesIv = (0, _0_buffer_js_1.concat)(b.slice(0, 8), a.slice(8, 24), b.slice(24, 32));
82
- const plaintext = (0, deps_js_1.ige256Decrypt)(reader.buffer, aesKey, aesIv);
83
- (0, deps_js_1.assertEquals)(plaintext.buffer.byteLength % 4, 0);
84
- let plainReader = new _3_tl_reader_js_1.TLReader(plaintext);
70
+ const messageKey = (0, _1_utilities_js_1.bufferFromBigInt)(messageKey_, 16, true, true);
71
+ const a = await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(messageKey, authKey.slice(8, 44)));
72
+ const b = await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(authKey.slice(48, 84), messageKey));
73
+ const aesKey = (0, _1_utilities_js_1.concat)(a.slice(0, 8), b.slice(8, 24), a.slice(24, 32));
74
+ const aesIv = (0, _1_utilities_js_1.concat)(b.slice(0, 8), a.slice(8, 24), b.slice(24, 32));
75
+ const plaintext = (0, _0_deps_js_1.ige256Decrypt)(reader.buffer, aesKey, aesIv);
76
+ (0, _0_deps_js_1.assertEquals)(plaintext.buffer.byteLength % 4, 0);
77
+ let plainReader = new _2_tl_js_1.TLReader(plaintext);
85
78
  const _salt = plainReader.readInt64();
86
79
  const _sessionId_ = plainReader.readInt64(false);
87
80
  const mid = plainReader.readInt64();
88
81
  const seqno = plainReader.readInt32();
89
82
  const length = plainReader.readInt32();
90
- plainReader = new _3_tl_reader_js_1.TLReader(plainReader.read(length));
83
+ plainReader = new _2_tl_js_1.TLReader(plainReader.read(length));
91
84
  const cid = plainReader.readInt32(false);
92
- if (cid == _7_message_container_js_1.MessageContainer[_1_tl_object_js_1.id]) {
93
- return _7_message_container_js_1.MessageContainer.deserialize(plainReader.buffer);
85
+ if (cid == _2_tl_js_1.MessageContainer[_2_tl_js_1.id]) {
86
+ return _2_tl_js_1.MessageContainer.deserialize(plainReader.buffer);
94
87
  }
95
- else if (cid == _5_rpc_result_js_1.RPCResult[_1_tl_object_js_1.id]) {
96
- const body = _5_rpc_result_js_1.RPCResult.deserialize(plainReader.buffer);
97
- return new _6_message_js_1.Message(mid, seqno, body);
88
+ else if (cid == _2_tl_js_1.RPCResult[_2_tl_js_1.id]) {
89
+ const body = _2_tl_js_1.RPCResult.deserialize(plainReader.buffer);
90
+ return new _2_tl_js_1.Message(mid, seqno, body);
98
91
  }
99
92
  else {
100
93
  const body = plainReader.readObject(cid);
101
- return new _6_message_js_1.Message(mid, seqno, body);
94
+ return new _2_tl_js_1.Message(mid, seqno, body);
102
95
  }
103
96
  }
104
97
  exports.decryptMessage = decryptMessage;
@@ -1,5 +1,5 @@
1
- import * as types from "../tl/2_types.js";
2
- import { sha256 } from "../utilities/0_hash.js";
1
+ import { sha256 } from "../1_utilities.js";
2
+ import { types } from "../2_tl.js";
3
3
  export declare function isSafePrime(primeBytes: Uint8Array, g: number): boolean;
4
4
  export declare const h: typeof sha256;
5
5
  export declare const sh: (data: Uint8Array, salt: Uint8Array) => Promise<Uint8Array>;
@@ -25,10 +25,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.checkPassword = exports.pad = exports.isGoodModExpFirst = exports.ph2 = exports.pbkdf2 = exports.ph1 = exports.sh = exports.h = exports.isSafePrime = void 0;
27
27
  const dntShim = __importStar(require("../_dnt.shims.js"));
28
- const types = __importStar(require("../tl/2_types.js"));
29
- const _0_buffer_js_1 = require("../utilities/0_buffer.js");
30
- const _0_hash_js_1 = require("../utilities/0_hash.js");
31
- const _0_bigint_js_1 = require("../utilities/0_bigint.js");
28
+ const _1_utilities_js_1 = require("../1_utilities.js");
29
+ const _2_tl_js_1 = require("../2_tl.js");
32
30
  function isSafePrime(primeBytes, g) {
33
31
  // deno-fmt-ignore
34
32
  const goodPrime = new Uint8Array([
@@ -64,9 +62,9 @@ function isSafePrime(primeBytes, g) {
64
62
  }
65
63
  exports.isSafePrime = isSafePrime;
66
64
  // H(data) := sha256(data)
67
- exports.h = _0_hash_js_1.sha256;
65
+ exports.h = _1_utilities_js_1.sha256;
68
66
  // SH(data, salt) := H(salt | data | salt)
69
- const sh = (data, salt) => (0, exports.h)((0, _0_buffer_js_1.concat)(salt, data, salt));
67
+ const sh = (data, salt) => (0, exports.h)((0, _1_utilities_js_1.concat)(salt, data, salt));
70
68
  exports.sh = sh;
71
69
  // PH1(password, salt1, salt2) := SH(SH(password, salt1), salt2)
72
70
  const ph1 = async (password, salt1, salt2) => await (0, exports.sh)(await (0, exports.sh)(password, salt1), salt2);
@@ -95,10 +93,10 @@ function pad(bigint) {
95
93
  bigint = BigInt(bigint);
96
94
  }
97
95
  if (typeof bigint === "bigint") {
98
- return (0, _0_buffer_js_1.bufferFromBigInt)(bigint, 256, false);
96
+ return (0, _1_utilities_js_1.bufferFromBigInt)(bigint, 256, false);
99
97
  }
100
98
  else {
101
- return (0, _0_buffer_js_1.concat)(new Uint8Array(256 - bigint.length), bigint);
99
+ return (0, _1_utilities_js_1.concat)(new Uint8Array(256 - bigint.length), bigint);
102
100
  }
103
101
  }
104
102
  exports.pad = pad;
@@ -106,13 +104,13 @@ async function checkPassword(password_, ap) {
106
104
  const password = new TextEncoder().encode(password_);
107
105
  const algo = ap.currentAlgo;
108
106
  if (!(algo instanceof
109
- types.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow)) {
107
+ _2_tl_js_1.types.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow)) {
110
108
  throw new Error("Unexpected algorithm");
111
109
  }
112
110
  // g := algo.g
113
111
  const g = algo.g;
114
112
  // p := algo.p
115
- const p = (0, _0_bigint_js_1.bigIntFromBuffer)(algo.p, false);
113
+ const p = (0, _1_utilities_js_1.bigIntFromBuffer)(algo.p, false);
116
114
  if (!isSafePrime(algo.p, g)) {
117
115
  throw new Error("Got unsafe prime");
118
116
  }
@@ -131,18 +129,18 @@ async function checkPassword(password_, ap) {
131
129
  // salt2 := algo.salt2
132
130
  const salt2 = algo.salt2;
133
131
  // g_b := srp_B
134
- const gB = (0, _0_bigint_js_1.bigIntFromBuffer)(srpB, false);
132
+ const gB = (0, _1_utilities_js_1.bigIntFromBuffer)(srpB, false);
135
133
  // k := H(p | g)
136
- const k = (0, _0_bigint_js_1.bigIntFromBuffer)(await (0, exports.h)((0, _0_buffer_js_1.concat)(pad(p), pad(g))), false);
134
+ const k = (0, _1_utilities_js_1.bigIntFromBuffer)(await (0, exports.h)((0, _1_utilities_js_1.concat)(pad(p), pad(g))), false);
137
135
  let u = 0n;
138
136
  let a = 0n;
139
137
  let gA = 0n;
140
138
  for (let i = 0; i < 1000; i++) {
141
- a = (0, _0_bigint_js_1.getRandomBigInt)(256, false);
139
+ a = (0, _1_utilities_js_1.getRandomBigInt)(256, false);
142
140
  // g_a := pow(g, a) mod p
143
- gA = (0, _0_bigint_js_1.modExp)(BigInt(g), a, p);
141
+ gA = (0, _1_utilities_js_1.modExp)(BigInt(g), a, p);
144
142
  if (isGoodModExpFirst(gA, p)) {
145
- u = (0, _0_bigint_js_1.bigIntFromBuffer)(await (0, _0_hash_js_1.sha256)((0, _0_buffer_js_1.concat)(pad(gA), pad(gB))), false);
143
+ u = (0, _1_utilities_js_1.bigIntFromBuffer)(await (0, _1_utilities_js_1.sha256)((0, _1_utilities_js_1.concat)(pad(gA), pad(gB))), false);
146
144
  if (u > 0n) {
147
145
  break;
148
146
  }
@@ -152,21 +150,21 @@ async function checkPassword(password_, ap) {
152
150
  throw new Error();
153
151
  }
154
152
  // x := PH2(password, salt1, salt2)
155
- const x = (0, _0_bigint_js_1.bigIntFromBuffer)(await (0, exports.ph2)(password, salt1, salt2), false);
153
+ const x = (0, _1_utilities_js_1.bigIntFromBuffer)(await (0, exports.ph2)(password, salt1, salt2), false);
156
154
  // v := pow(g, x) mod p
157
- const v = (0, _0_bigint_js_1.modExp)(BigInt(g), x, p);
155
+ const v = (0, _1_utilities_js_1.modExp)(BigInt(g), x, p);
158
156
  // k_v := (k * v) mod p
159
- const kV = (0, _0_bigint_js_1.mod)(k * v, p);
157
+ const kV = (0, _1_utilities_js_1.mod)(k * v, p);
160
158
  // t := (g_b - k_v) mod p
161
- const t = (0, _0_bigint_js_1.mod)(gB - kV, p);
159
+ const t = (0, _1_utilities_js_1.mod)(gB - kV, p);
162
160
  // s_a := pow(t, a + u * x) mod p
163
- const sA = (0, _0_bigint_js_1.modExp)(t, a + u * x, p);
161
+ const sA = (0, _1_utilities_js_1.modExp)(t, a + u * x, p);
164
162
  // k_a := H(s_a)
165
163
  const kA = await (0, exports.h)(pad(sA));
166
164
  // M1 := H(H(p) xor H(g) | H(salt1) | H(salt2) | g_a | g_b | k_a)
167
165
  const hG = await (0, exports.h)(pad(g));
168
- const m1 = await (0, exports.h)((0, _0_buffer_js_1.concat)((await (0, exports.h)(pad(p))).map((v, i) => v ^ hG[i]), await (0, exports.h)(salt1), await (0, exports.h)(salt2), pad(gA), pad(gB), kA));
169
- return new types.InputCheckPasswordSRP({
166
+ const m1 = await (0, exports.h)((0, _1_utilities_js_1.concat)((await (0, exports.h)(pad(p))).map((v, i) => v ^ hG[i]), await (0, exports.h)(salt1), await (0, exports.h)(salt2), pad(gA), pad(gB), kA));
167
+ return new _2_tl_js_1.types.InputCheckPasswordSRP({
170
168
  srpId: srpId,
171
169
  A: pad(gA),
172
170
  M1: m1,
@@ -1,5 +1,3 @@
1
- import * as types from "../tl/2_types.js";
2
- export declare function getChannelChatId(channelId: bigint): number;
3
- export declare function peerToChatId(peer: types.TypePeer | types.TypeInputPeer): number;
4
- export declare function hasPts(v: types.TypeUpdate | types.TypeUpdates): v is types.UpdateShortMessage | types.UpdateShortChatMessage | types.UpdateShortSentMessage | types.UpdateNewMessage | types.UpdateDeleteMessages | types.UpdateReadHistoryInbox | types.UpdateReadHistoryOutbox | types.UpdatePinnedChannelMessages | types.UpdatePinnedMessages | types.UpdateFolderPeers | types.UpdateChannelWebPage | types.UpdateEditMessage | types.UpdateReadMessagesContents | types.UpdateWebPage;
5
- export declare function hasChannelPts(v: types.TypeUpdate | types.TypeUpdates): v is types.UpdateNewChannelMessage | types.UpdateEditChannelMessage | types.UpdateDeleteChannelMessages | types.UpdateReadChannelInbox;
1
+ import { types } from "../2_tl.js";
2
+ export declare function isPtsUpdate(v: types.TypeUpdate | types.TypeUpdates): v is types.UpdateShortMessage | types.UpdateShortChatMessage | types.UpdateShortSentMessage | types.UpdateNewMessage | types.UpdateDeleteMessages | types.UpdateReadHistoryInbox | types.UpdateReadHistoryOutbox | types.UpdatePinnedChannelMessages | types.UpdatePinnedMessages | types.UpdateFolderPeers | types.UpdateChannelWebPage | types.UpdateEditMessage | types.UpdateReadMessagesContents | types.UpdateWebPage;
3
+ export declare function isChannelPtsUpdate(v: types.TypeUpdate | types.TypeUpdates): v is types.UpdateNewChannelMessage | types.UpdateEditChannelMessage | types.UpdateDeleteChannelMessages | types.UpdateReadChannelInbox;
@@ -1,72 +1,28 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.hasChannelPts = exports.hasPts = exports.peerToChatId = exports.getChannelChatId = void 0;
27
- const constants_js_1 = require("../constants.js");
28
- const types = __importStar(require("../tl/2_types.js"));
29
- const _0_control_js_1 = require("../utilities/0_control.js");
30
- function getChannelChatId(channelId) {
31
- return constants_js_1.ZERO_CHANNEL_ID + -Number(channelId);
3
+ exports.isChannelPtsUpdate = exports.isPtsUpdate = void 0;
4
+ const _2_tl_js_1 = require("../2_tl.js");
5
+ function isPtsUpdate(v) {
6
+ return v instanceof _2_tl_js_1.types.UpdateShortMessage ||
7
+ v instanceof _2_tl_js_1.types.UpdateShortChatMessage ||
8
+ v instanceof _2_tl_js_1.types.UpdateShortSentMessage ||
9
+ v instanceof _2_tl_js_1.types.UpdateNewMessage ||
10
+ v instanceof _2_tl_js_1.types.UpdateDeleteMessages ||
11
+ v instanceof _2_tl_js_1.types.UpdateReadHistoryInbox ||
12
+ v instanceof _2_tl_js_1.types.UpdateReadHistoryOutbox ||
13
+ v instanceof _2_tl_js_1.types.UpdatePinnedChannelMessages ||
14
+ v instanceof _2_tl_js_1.types.UpdatePinnedMessages ||
15
+ v instanceof _2_tl_js_1.types.UpdateFolderPeers ||
16
+ v instanceof _2_tl_js_1.types.UpdateChannelWebPage ||
17
+ v instanceof _2_tl_js_1.types.UpdateEditMessage ||
18
+ v instanceof _2_tl_js_1.types.UpdateReadMessagesContents ||
19
+ v instanceof _2_tl_js_1.types.UpdateWebPage;
32
20
  }
33
- exports.getChannelChatId = getChannelChatId;
34
- function peerToChatId(peer) {
35
- if (peer instanceof types.PeerUser || peer instanceof types.InputPeerUser) {
36
- return Number(peer.userId);
37
- }
38
- else if (peer instanceof types.PeerChat || peer instanceof types.InputPeerChat) {
39
- return -Number(peer.chatId);
40
- }
41
- else if (peer instanceof types.PeerChannel || peer instanceof types.InputPeerChannel) {
42
- return getChannelChatId(peer.channelId);
43
- }
44
- else {
45
- (0, _0_control_js_1.UNREACHABLE)();
46
- }
21
+ exports.isPtsUpdate = isPtsUpdate;
22
+ function isChannelPtsUpdate(v) {
23
+ return v instanceof _2_tl_js_1.types.UpdateNewChannelMessage ||
24
+ v instanceof _2_tl_js_1.types.UpdateEditChannelMessage ||
25
+ v instanceof _2_tl_js_1.types.UpdateDeleteChannelMessages ||
26
+ v instanceof _2_tl_js_1.types.UpdateReadChannelInbox;
47
27
  }
48
- exports.peerToChatId = peerToChatId;
49
- function hasPts(v) {
50
- return v instanceof types.UpdateShortMessage ||
51
- v instanceof types.UpdateShortChatMessage ||
52
- v instanceof types.UpdateShortSentMessage ||
53
- v instanceof types.UpdateNewMessage ||
54
- v instanceof types.UpdateDeleteMessages ||
55
- v instanceof types.UpdateReadHistoryInbox ||
56
- v instanceof types.UpdateReadHistoryOutbox ||
57
- v instanceof types.UpdatePinnedChannelMessages ||
58
- v instanceof types.UpdatePinnedMessages ||
59
- v instanceof types.UpdateFolderPeers ||
60
- v instanceof types.UpdateChannelWebPage ||
61
- v instanceof types.UpdateEditMessage ||
62
- v instanceof types.UpdateReadMessagesContents ||
63
- v instanceof types.UpdateWebPage;
64
- }
65
- exports.hasPts = hasPts;
66
- function hasChannelPts(v) {
67
- return v instanceof types.UpdateNewChannelMessage ||
68
- v instanceof types.UpdateEditChannelMessage ||
69
- v instanceof types.UpdateDeleteChannelMessages ||
70
- v instanceof types.UpdateReadChannelInbox;
71
- }
72
- exports.hasChannelPts = hasChannelPts;
28
+ exports.isChannelPtsUpdate = isChannelPtsUpdate;
@@ -1,5 +1,5 @@
1
- import { MaybePromise } from "../utilities/0_types.js";
2
- import { DC, TransportProvider } from "../transport/2_transport_provider.js";
1
+ import { MaybePromise } from "../1_utilities.js";
2
+ import { DC, TransportProvider } from "../3_transport.js";
3
3
  export interface ClientAbstractParams {
4
4
  /**
5
5
  * The first DC to connect to. This is commonly used to decide whether to connect to test or production servers. It is not necessarily the DC that the client will directly connect to or is currently connected to. Defaults to the default initial DC.
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientAbstract = void 0;
4
- const deps_js_1 = require("../deps.js");
5
- const constants_js_1 = require("../constants.js");
6
- const _2_transport_provider_js_1 = require("../transport/2_transport_provider.js");
4
+ const _0_deps_js_1 = require("../0_deps.js");
5
+ const _3_transport_js_1 = require("../3_transport.js");
6
+ const _4_constants_js_1 = require("../4_constants.js");
7
7
  class ClientAbstract {
8
8
  constructor(params) {
9
9
  Object.defineProperty(this, "initialDc", {
@@ -42,8 +42,8 @@ class ClientAbstract {
42
42
  writable: true,
43
43
  value: void 0
44
44
  });
45
- this.initialDc = params?.initialDc ?? constants_js_1.INITIAL_DC;
46
- this.transportProvider = params?.transportProvider ?? (0, _2_transport_provider_js_1.webSocketTransportProvider)();
45
+ this.initialDc = params?.initialDc ?? _4_constants_js_1.INITIAL_DC;
46
+ this.transportProvider = params?.transportProvider ?? (0, _3_transport_js_1.webSocketTransportProvider)();
47
47
  this.cdn = params?.cdn ?? false;
48
48
  }
49
49
  get dcId() {
@@ -62,7 +62,7 @@ class ClientAbstract {
62
62
  async connect() {
63
63
  this.transport = this.transportProvider({ dc: this.dc ?? this.initialDc, cdn: this.cdn });
64
64
  this.transport.connection.stateChangeHandler = this.stateChangeHandler;
65
- await (0, deps_js_1.initTgCrypto)();
65
+ await (0, _0_deps_js_1.initTgCrypto)();
66
66
  await this.transport.connection.open();
67
67
  await this.transport.transport.initialize();
68
68
  }
@@ -1,5 +1,5 @@
1
- import { PublicKeys } from "../constants.js";
2
- import { Function } from "../tl/3_functions.js";
1
+ import { functions } from "../2_tl.js";
2
+ import { PublicKeys } from "../4_constants.js";
3
3
  import { ClientAbstract, ClientAbstractParams } from "./1_client_abstract.js";
4
4
  export interface ClientPlainParams extends ClientAbstractParams {
5
5
  /**
@@ -11,7 +11,7 @@ export declare class ClientPlain extends ClientAbstract {
11
11
  private readonly publicKeys;
12
12
  private lastMsgId;
13
13
  constructor(params?: ClientPlainParams);
14
- invoke<T extends Function<unknown>>(function_: T): Promise<T["__R"]>;
14
+ invoke<T extends functions.Function<unknown>>(function_: T): Promise<T["__R"]>;
15
15
  createAuthKey(): Promise<{
16
16
  authKey: Uint8Array;
17
17
  salt: bigint;
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientPlain = void 0;
4
- const deps_js_1 = require("../deps.js");
5
- const constants_js_1 = require("../constants.js");
6
- const _0_bigint_js_1 = require("../utilities/0_bigint.js");
7
- const _0_buffer_js_1 = require("../utilities/0_buffer.js");
8
- const _0_control_js_1 = require("../utilities/0_control.js");
9
- const _0_hash_js_1 = require("../utilities/0_hash.js");
10
- const _1_auth_js_1 = require("../utilities/1_auth.js");
11
- const _1_tl_object_js_1 = require("../tl/1_tl_object.js");
12
- const _2_types_js_1 = require("../tl/2_types.js");
13
- const _3_functions_js_1 = require("../tl/3_functions.js");
14
- const _3_tl_reader_js_1 = require("../tl/3_tl_reader.js");
4
+ const _0_deps_js_1 = require("../0_deps.js");
5
+ const _1_utilities_js_1 = require("../1_utilities.js");
6
+ const _2_tl_js_1 = require("../2_tl.js");
7
+ const _4_constants_js_1 = require("../4_constants.js");
15
8
  const _1_client_abstract_js_1 = require("./1_client_abstract.js");
16
9
  const _0_message_js_1 = require("./0_message.js");
17
- const d = (0, deps_js_1.debug)("ClientPlain/createAuthKey");
10
+ const d = (0, _0_deps_js_1.debug)("ClientPlain/createAuthKey");
18
11
  class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
19
12
  constructor(params) {
20
13
  super(params);
@@ -30,35 +23,35 @@ class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
30
23
  writable: true,
31
24
  value: 0n
32
25
  });
33
- this.publicKeys = params?.publicKeys ?? constants_js_1.PUBLIC_KEYS;
26
+ this.publicKeys = params?.publicKeys ?? _4_constants_js_1.PUBLIC_KEYS;
34
27
  }
35
28
  async invoke(function_) {
36
29
  if (!this.transport) {
37
30
  throw new Error("Not connected");
38
31
  }
39
32
  const msgId = this.lastMsgId = (0, _0_message_js_1.getMessageId)(this.lastMsgId);
40
- await this.transport.transport.send((0, _0_message_js_1.packUnencryptedMessage)(function_[_1_tl_object_js_1.serialize](), msgId));
33
+ await this.transport.transport.send((0, _0_message_js_1.packUnencryptedMessage)(function_[_2_tl_js_1.serialize](), msgId));
41
34
  const buffer = await this.transport.transport.receive();
42
35
  if (buffer.length == 4) {
43
- const int = (0, _0_bigint_js_1.bigIntFromBuffer)(buffer, true, true);
36
+ const int = (0, _1_utilities_js_1.bigIntFromBuffer)(buffer, true, true);
44
37
  if (int == -404n) {
45
38
  throw new Error("-404");
46
39
  }
47
40
  }
48
41
  const { message } = (0, _0_message_js_1.unpackUnencryptedMessage)(buffer);
49
- const reader = new _3_tl_reader_js_1.TLReader(message);
42
+ const reader = new _2_tl_js_1.TLReader(message);
50
43
  return reader.readObject();
51
44
  }
52
45
  async createAuthKey() {
53
- const nonce = (0, _0_bigint_js_1.getRandomBigInt)(16, false, true);
46
+ const nonce = (0, _1_utilities_js_1.getRandomBigInt)(16, false, true);
54
47
  d("auth key creation started");
55
48
  let resPq = null;
56
49
  for (let i = 0; i < 10; i++) {
57
50
  try {
58
51
  d("req_pq_multi [%d]", i + 1);
59
- resPq = await this.invoke(new _3_functions_js_1.ReqPQMulti({ nonce }));
60
- (0, deps_js_1.assertInstanceOf)(resPq, _2_types_js_1.ResPQ);
61
- (0, deps_js_1.assertEquals)(resPq.nonce, nonce);
52
+ resPq = await this.invoke(new _2_tl_js_1.functions.ReqPQMulti({ nonce }));
53
+ (0, _0_deps_js_1.assertInstanceOf)(resPq, _2_tl_js_1.types.ResPQ);
54
+ (0, _0_deps_js_1.assertEquals)(resPq.nonce, nonce);
62
55
  d("got res_pq");
63
56
  break;
64
57
  }
@@ -67,13 +60,13 @@ class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
67
60
  }
68
61
  }
69
62
  if (!resPq) {
70
- (0, _0_control_js_1.UNREACHABLE)();
63
+ (0, _1_utilities_js_1.UNREACHABLE)();
71
64
  }
72
- const pq_ = (0, _0_bigint_js_1.bigIntFromBuffer)(resPq.pq, false, false);
73
- const [p_, q_] = (0, deps_js_1.factorize)(pq_);
65
+ const pq_ = (0, _1_utilities_js_1.bigIntFromBuffer)(resPq.pq, false, false);
66
+ const [p_, q_] = (0, _0_deps_js_1.factorize)(pq_);
74
67
  d("factorized pq");
75
- const p = (0, _0_buffer_js_1.bufferFromBigInt)(p_, 4, false, false);
76
- const q = (0, _0_buffer_js_1.bufferFromBigInt)(q_, 4, false, false);
68
+ const p = (0, _1_utilities_js_1.bufferFromBigInt)(p_, 4, false, false);
69
+ const q = (0, _1_utilities_js_1.bufferFromBigInt)(q_, 4, false, false);
77
70
  let publicKeyFingerprint;
78
71
  let publicKey;
79
72
  for (const fingerprint of resPq.serverPublicKeyFingerprints) {
@@ -90,8 +83,8 @@ class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
90
83
  const dc = this.dcId;
91
84
  const pq = resPq.pq;
92
85
  const serverNonce = resPq.serverNonce;
93
- const newNonce = (0, _0_bigint_js_1.getRandomBigInt)(32, false, true);
94
- let encryptedData = await (0, _1_auth_js_1.rsaPad)(new _2_types_js_1.PQInnerDataDC({
86
+ const newNonce = (0, _1_utilities_js_1.getRandomBigInt)(32, false, true);
87
+ let encryptedData = await (0, _1_utilities_js_1.rsaPad)(new _2_tl_js_1.types.PQInnerDataDC({
95
88
  pq,
96
89
  p,
97
90
  q,
@@ -99,8 +92,8 @@ class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
99
92
  newNonce,
100
93
  nonce,
101
94
  serverNonce,
102
- })[_1_tl_object_js_1.serialize](), publicKey);
103
- const dhParams = await this.invoke(new _3_functions_js_1.ReqDHParams({
95
+ })[_2_tl_js_1.serialize](), publicKey);
96
+ const dhParams = await this.invoke(new _2_tl_js_1.functions.ReqDHParams({
104
97
  nonce,
105
98
  serverNonce,
106
99
  p,
@@ -108,42 +101,42 @@ class ClientPlain extends _1_client_abstract_js_1.ClientAbstract {
108
101
  publicKeyFingerprint,
109
102
  encryptedData,
110
103
  }));
111
- (0, deps_js_1.assertInstanceOf)(dhParams, _2_types_js_1.ServerDHParamsOK);
104
+ (0, _0_deps_js_1.assertInstanceOf)(dhParams, _2_tl_js_1.types.ServerDHParamsOK);
112
105
  d("got server_DH_params_ok");
113
- const newNonce_ = (0, _0_buffer_js_1.bufferFromBigInt)(newNonce, 32, true, true);
114
- const serverNonce_ = (0, _0_buffer_js_1.bufferFromBigInt)(serverNonce, 16, true, true);
115
- const tmpAesKey = (0, _0_buffer_js_1.concat)(await (0, _0_hash_js_1.sha1)((0, _0_buffer_js_1.concat)(newNonce_, serverNonce_)), (await (0, _0_hash_js_1.sha1)((0, _0_buffer_js_1.concat)(serverNonce_, newNonce_))).slice(0, 0 + 12));
116
- const tmpAesIv = (0, _0_buffer_js_1.concat)((await (0, _0_hash_js_1.sha1)((0, _0_buffer_js_1.concat)(serverNonce_, newNonce_))).slice(12, 12 + 8), await (0, _0_hash_js_1.sha1)((0, _0_buffer_js_1.concat)(newNonce_, newNonce_)), newNonce_.slice(0, 0 + 4));
117
- const answerWithHash = (0, deps_js_1.ige256Decrypt)(dhParams.encryptedAnswer, tmpAesKey, tmpAesIv);
118
- const dhInnerData = new _3_tl_reader_js_1.TLReader(answerWithHash.slice(20)).readObject();
119
- (0, deps_js_1.assertInstanceOf)(dhInnerData, _2_types_js_1.ServerDHInnerData);
106
+ const newNonce_ = (0, _1_utilities_js_1.bufferFromBigInt)(newNonce, 32, true, true);
107
+ const serverNonce_ = (0, _1_utilities_js_1.bufferFromBigInt)(serverNonce, 16, true, true);
108
+ const tmpAesKey = (0, _1_utilities_js_1.concat)(await (0, _1_utilities_js_1.sha1)((0, _1_utilities_js_1.concat)(newNonce_, serverNonce_)), (await (0, _1_utilities_js_1.sha1)((0, _1_utilities_js_1.concat)(serverNonce_, newNonce_))).slice(0, 0 + 12));
109
+ const tmpAesIv = (0, _1_utilities_js_1.concat)((await (0, _1_utilities_js_1.sha1)((0, _1_utilities_js_1.concat)(serverNonce_, newNonce_))).slice(12, 12 + 8), await (0, _1_utilities_js_1.sha1)((0, _1_utilities_js_1.concat)(newNonce_, newNonce_)), newNonce_.slice(0, 0 + 4));
110
+ const answerWithHash = (0, _0_deps_js_1.ige256Decrypt)(dhParams.encryptedAnswer, tmpAesKey, tmpAesIv);
111
+ const dhInnerData = new _2_tl_js_1.TLReader(answerWithHash.slice(20)).readObject();
112
+ (0, _0_deps_js_1.assertInstanceOf)(dhInnerData, _2_tl_js_1.types.ServerDHInnerData);
120
113
  const { g, gA: gA_, dhPrime: dhPrime_ } = dhInnerData;
121
- const gA = (0, _0_bigint_js_1.bigIntFromBuffer)(gA_, false, false);
122
- const dhPrime = (0, _0_bigint_js_1.bigIntFromBuffer)(dhPrime_, false, false);
123
- const b = (0, _0_bigint_js_1.getRandomBigInt)(256, false, false);
124
- const gB = (0, _0_bigint_js_1.modExp)(BigInt(g), b, dhPrime);
125
- const data = new _2_types_js_1.ClientDHInnerData({
114
+ const gA = (0, _1_utilities_js_1.bigIntFromBuffer)(gA_, false, false);
115
+ const dhPrime = (0, _1_utilities_js_1.bigIntFromBuffer)(dhPrime_, false, false);
116
+ const b = (0, _1_utilities_js_1.getRandomBigInt)(256, false, false);
117
+ const gB = (0, _1_utilities_js_1.modExp)(BigInt(g), b, dhPrime);
118
+ const data = new _2_tl_js_1.types.ClientDHInnerData({
126
119
  nonce,
127
120
  serverNonce,
128
121
  retryId: 0n,
129
- gB: (0, _0_buffer_js_1.bufferFromBigInt)(gB, 256, false, false),
130
- })[_1_tl_object_js_1.serialize]();
131
- let dataWithHash = (0, _0_buffer_js_1.concat)(await (0, _0_hash_js_1.sha1)(data), data);
122
+ gB: (0, _1_utilities_js_1.bufferFromBigInt)(gB, 256, false, false),
123
+ })[_2_tl_js_1.serialize]();
124
+ let dataWithHash = (0, _1_utilities_js_1.concat)(await (0, _1_utilities_js_1.sha1)(data), data);
132
125
  while (dataWithHash.length % 16 != 0) {
133
- dataWithHash = (0, _0_buffer_js_1.concat)(dataWithHash, new Uint8Array(1));
126
+ dataWithHash = (0, _1_utilities_js_1.concat)(dataWithHash, new Uint8Array(1));
134
127
  }
135
- encryptedData = (0, deps_js_1.ige256Encrypt)(dataWithHash, tmpAesKey, tmpAesIv);
136
- const dhGenOk = await this.invoke(new _3_functions_js_1.SetClientDHParams({ nonce, serverNonce, encryptedData }));
137
- (0, deps_js_1.assertInstanceOf)(dhGenOk, _2_types_js_1.DHGenOK);
128
+ encryptedData = (0, _0_deps_js_1.ige256Encrypt)(dataWithHash, tmpAesKey, tmpAesIv);
129
+ const dhGenOk = await this.invoke(new _2_tl_js_1.functions.SetClientDHParams({ nonce, serverNonce, encryptedData }));
130
+ (0, _0_deps_js_1.assertInstanceOf)(dhGenOk, _2_tl_js_1.types.DHGenOK);
138
131
  d("got dh_gen_ok");
139
132
  const serverNonceSlice = serverNonce_.slice(0, 8);
140
133
  const salt = newNonce_.slice(0, 0 + 8).map((v, i) => v ^ serverNonceSlice[i]);
141
- const authKey_ = (0, _0_bigint_js_1.modExp)(gA, b, dhPrime);
142
- const authKey = (0, _0_buffer_js_1.bufferFromBigInt)(authKey_, 256, false, false);
134
+ const authKey_ = (0, _1_utilities_js_1.modExp)(gA, b, dhPrime);
135
+ const authKey = (0, _1_utilities_js_1.bufferFromBigInt)(authKey_, 256, false, false);
143
136
  d("auth key created");
144
137
  return {
145
138
  authKey,
146
- salt: (0, _0_bigint_js_1.bigIntFromBuffer)(salt, true, false),
139
+ salt: (0, _1_utilities_js_1.bigIntFromBuffer)(salt, true, false),
147
140
  };
148
141
  }
149
142
  }