naya-flore 4.7.1

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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +104 -0
  3. package/WAProto/GenerateStatics.sh +4 -0
  4. package/WAProto/WAProto.proto +4450 -0
  5. package/WAProto/index.d.ts +48955 -0
  6. package/WAProto/index.js +151420 -0
  7. package/WASignalGroup/GroupProtocol.js +1697 -0
  8. package/WASignalGroup/ciphertext_message.js +16 -0
  9. package/WASignalGroup/group_cipher.js +120 -0
  10. package/WASignalGroup/group_session_builder.js +46 -0
  11. package/WASignalGroup/index.js +5 -0
  12. package/WASignalGroup/keyhelper.js +21 -0
  13. package/WASignalGroup/protobufs.js +3 -0
  14. package/WASignalGroup/queue_job.js +69 -0
  15. package/WASignalGroup/sender_chain_key.js +50 -0
  16. package/WASignalGroup/sender_key_distribution_message.js +78 -0
  17. package/WASignalGroup/sender_key_message.js +92 -0
  18. package/WASignalGroup/sender_key_name.js +70 -0
  19. package/WASignalGroup/sender_key_record.js +56 -0
  20. package/WASignalGroup/sender_key_state.js +129 -0
  21. package/WASignalGroup/sender_message_key.js +39 -0
  22. package/lib/Defaults/baileys-version.json +3 -0
  23. package/lib/Defaults/index.d.ts +284 -0
  24. package/lib/Defaults/index.js +120 -0
  25. package/lib/Defaults/phonenumber-mcc.json +223 -0
  26. package/lib/Signal/libsignal.d.ts +3 -0
  27. package/lib/Signal/libsignal.js +161 -0
  28. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  29. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  30. package/lib/Socket/Client/index.d.ts +2 -0
  31. package/lib/Socket/Client/index.js +18 -0
  32. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  33. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  34. package/lib/Socket/Client/types.d.ts +17 -0
  35. package/lib/Socket/Client/types.js +13 -0
  36. package/lib/Socket/Client/websocket.d.ts +12 -0
  37. package/lib/Socket/Client/websocket.js +62 -0
  38. package/lib/Socket/business.d.ts +170 -0
  39. package/lib/Socket/business.js +260 -0
  40. package/lib/Socket/chats.d.ts +81 -0
  41. package/lib/Socket/chats.js +871 -0
  42. package/lib/Socket/groups.d.ts +115 -0
  43. package/lib/Socket/groups.js +304 -0
  44. package/lib/Socket/index.d.ts +172 -0
  45. package/lib/Socket/index.js +10 -0
  46. package/lib/Socket/messages-recv.d.ts +158 -0
  47. package/lib/Socket/messages-recv.js +966 -0
  48. package/lib/Socket/messages-send.d.ts +155 -0
  49. package/lib/Socket/messages-send.js +1021 -0
  50. package/lib/Socket/newsletter.d.ts +132 -0
  51. package/lib/Socket/newsletter.js +236 -0
  52. package/lib/Socket/registration.d.ts +264 -0
  53. package/lib/Socket/registration.js +166 -0
  54. package/lib/Socket/socket.d.ts +44 -0
  55. package/lib/Socket/socket.js +666 -0
  56. package/lib/Socket/usync.d.ts +37 -0
  57. package/lib/Socket/usync.js +70 -0
  58. package/lib/Store/index.d.ts +3 -0
  59. package/lib/Store/index.js +10 -0
  60. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  61. package/lib/Store/make-cache-manager-store.js +83 -0
  62. package/lib/Store/make-in-memory-store.d.ts +118 -0
  63. package/lib/Store/make-in-memory-store.js +431 -0
  64. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  65. package/lib/Store/make-ordered-dictionary.js +81 -0
  66. package/lib/Store/object-repository.d.ts +10 -0
  67. package/lib/Store/object-repository.js +27 -0
  68. package/lib/Types/Auth.d.ts +109 -0
  69. package/lib/Types/Auth.js +2 -0
  70. package/lib/Types/Call.d.ts +13 -0
  71. package/lib/Types/Call.js +2 -0
  72. package/lib/Types/Chat.d.ts +107 -0
  73. package/lib/Types/Chat.js +4 -0
  74. package/lib/Types/Contact.d.ts +19 -0
  75. package/lib/Types/Contact.js +2 -0
  76. package/lib/Types/Events.d.ts +172 -0
  77. package/lib/Types/Events.js +2 -0
  78. package/lib/Types/GroupMetadata.d.ts +56 -0
  79. package/lib/Types/GroupMetadata.js +2 -0
  80. package/lib/Types/Label.d.ts +46 -0
  81. package/lib/Types/Label.js +27 -0
  82. package/lib/Types/LabelAssociation.d.ts +29 -0
  83. package/lib/Types/LabelAssociation.js +9 -0
  84. package/lib/Types/Message.d.ts +433 -0
  85. package/lib/Types/Message.js +9 -0
  86. package/lib/Types/Newsletter.d.ts +92 -0
  87. package/lib/Types/Newsletter.js +32 -0
  88. package/lib/Types/Product.d.ts +78 -0
  89. package/lib/Types/Product.js +2 -0
  90. package/lib/Types/Signal.d.ts +57 -0
  91. package/lib/Types/Signal.js +2 -0
  92. package/lib/Types/Socket.d.ts +114 -0
  93. package/lib/Types/Socket.js +2 -0
  94. package/lib/Types/State.d.ts +27 -0
  95. package/lib/Types/State.js +2 -0
  96. package/lib/Types/USync.d.ts +25 -0
  97. package/lib/Types/USync.js +2 -0
  98. package/lib/Types/index.d.ts +66 -0
  99. package/lib/Types/index.js +42 -0
  100. package/lib/Utils/auth-utils.d.ts +18 -0
  101. package/lib/Utils/auth-utils.js +206 -0
  102. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  103. package/lib/Utils/baileys-event-stream.js +63 -0
  104. package/lib/Utils/business.d.ts +22 -0
  105. package/lib/Utils/business.js +234 -0
  106. package/lib/Utils/chat-utils.d.ts +70 -0
  107. package/lib/Utils/chat-utils.js +745 -0
  108. package/lib/Utils/crypto.d.ts +40 -0
  109. package/lib/Utils/crypto.js +163 -0
  110. package/lib/Utils/decode-wa-message.d.ts +36 -0
  111. package/lib/Utils/decode-wa-message.js +226 -0
  112. package/lib/Utils/event-buffer.d.ts +35 -0
  113. package/lib/Utils/event-buffer.js +514 -0
  114. package/lib/Utils/generics.d.ts +88 -0
  115. package/lib/Utils/generics.js +401 -0
  116. package/lib/Utils/history.d.ts +19 -0
  117. package/lib/Utils/history.js +94 -0
  118. package/lib/Utils/index.d.ts +17 -0
  119. package/lib/Utils/index.js +33 -0
  120. package/lib/Utils/link-preview.d.ts +21 -0
  121. package/lib/Utils/link-preview.js +93 -0
  122. package/lib/Utils/logger.d.ts +2 -0
  123. package/lib/Utils/logger.js +7 -0
  124. package/lib/Utils/lt-hash.d.ts +12 -0
  125. package/lib/Utils/lt-hash.js +51 -0
  126. package/lib/Utils/make-mutex.d.ts +7 -0
  127. package/lib/Utils/make-mutex.js +43 -0
  128. package/lib/Utils/messages-media.d.ts +113 -0
  129. package/lib/Utils/messages-media.js +722 -0
  130. package/lib/Utils/messages.d.ts +77 -0
  131. package/lib/Utils/messages.js +1217 -0
  132. package/lib/Utils/noise-handler.d.ts +20 -0
  133. package/lib/Utils/noise-handler.js +155 -0
  134. package/lib/Utils/process-message.d.ts +41 -0
  135. package/lib/Utils/process-message.js +321 -0
  136. package/lib/Utils/signal.d.ts +33 -0
  137. package/lib/Utils/signal.js +143 -0
  138. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  139. package/lib/Utils/use-multi-file-auth-state.js +88 -0
  140. package/lib/Utils/validate-connection.d.ts +11 -0
  141. package/lib/Utils/validate-connection.js +205 -0
  142. package/lib/WABinary/constants.d.ts +27 -0
  143. package/lib/WABinary/constants.js +40 -0
  144. package/lib/WABinary/decode.d.ts +6 -0
  145. package/lib/WABinary/decode.js +262 -0
  146. package/lib/WABinary/encode.d.ts +2 -0
  147. package/lib/WABinary/encode.js +244 -0
  148. package/lib/WABinary/generic-utils.d.ts +14 -0
  149. package/lib/WABinary/generic-utils.js +110 -0
  150. package/lib/WABinary/index.d.ts +5 -0
  151. package/lib/WABinary/index.js +21 -0
  152. package/lib/WABinary/jid-utils.d.ts +31 -0
  153. package/lib/WABinary/jid-utils.js +62 -0
  154. package/lib/WABinary/types.d.ts +18 -0
  155. package/lib/WABinary/types.js +2 -0
  156. package/lib/WAM/BinaryInfo.d.ts +8 -0
  157. package/lib/WAM/BinaryInfo.js +13 -0
  158. package/lib/WAM/constants.d.ts +38 -0
  159. package/lib/WAM/constants.js +15350 -0
  160. package/lib/WAM/encode.d.ts +2 -0
  161. package/lib/WAM/encode.js +155 -0
  162. package/lib/WAM/index.d.ts +3 -0
  163. package/lib/WAM/index.js +19 -0
  164. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  165. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  166. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  167. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  168. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  169. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  170. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  171. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  172. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  173. package/lib/WAUSync/Protocols/index.js +20 -0
  174. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  175. package/lib/WAUSync/USyncQuery.js +79 -0
  176. package/lib/WAUSync/USyncUser.d.ts +10 -0
  177. package/lib/WAUSync/USyncUser.js +22 -0
  178. package/lib/WAUSync/index.d.ts +3 -0
  179. package/lib/WAUSync/index.js +19 -0
  180. package/lib/index.d.ts +12 -0
  181. package/lib/index.js +31 -0
  182. package/package.json +116 -0
@@ -0,0 +1,129 @@
1
+ const SenderChainKey = require('./sender_chain_key');
2
+ const SenderMessageKey = require('./sender_message_key');
3
+
4
+ const protobufs = require('./protobufs');
5
+
6
+ class SenderKeyState {
7
+ MAX_MESSAGE_KEYS = 2000;
8
+
9
+ constructor(
10
+ id = null,
11
+ iteration = null,
12
+ chainKey = null,
13
+ signatureKeyPair = null,
14
+ signatureKeyPublic = null,
15
+ signatureKeyPrivate = null,
16
+ senderKeyStateStructure = null
17
+ ) {
18
+ if (senderKeyStateStructure) {
19
+ this.senderKeyStateStructure = senderKeyStateStructure;
20
+ } else {
21
+ if (signatureKeyPair) {
22
+ signatureKeyPublic = signatureKeyPair.public;
23
+ signatureKeyPrivate = signatureKeyPair.private;
24
+ }
25
+
26
+ chainKey = typeof chainKey === 'string' ? Buffer.from(chainKey, 'base64') : chainKey;
27
+ this.senderKeyStateStructure = protobufs.SenderKeyStateStructure.create();
28
+ const senderChainKeyStructure = protobufs.SenderChainKey.create();
29
+ senderChainKeyStructure.iteration = iteration;
30
+ senderChainKeyStructure.seed = chainKey;
31
+ this.senderKeyStateStructure.senderChainKey = senderChainKeyStructure;
32
+
33
+ const signingKeyStructure = protobufs.SenderSigningKey.create();
34
+ signingKeyStructure.public =
35
+ typeof signatureKeyPublic === 'string' ?
36
+ Buffer.from(signatureKeyPublic, 'base64') :
37
+ signatureKeyPublic;
38
+ if (signatureKeyPrivate) {
39
+ signingKeyStructure.private =
40
+ typeof signatureKeyPrivate === 'string' ?
41
+ Buffer.from(signatureKeyPrivate, 'base64') :
42
+ signatureKeyPrivate;
43
+ }
44
+ this.senderKeyStateStructure.senderKeyId = id;
45
+ this.senderChainKey = senderChainKeyStructure;
46
+ this.senderKeyStateStructure.senderSigningKey = signingKeyStructure;
47
+ }
48
+ this.senderKeyStateStructure.senderMessageKeys =
49
+ this.senderKeyStateStructure.senderMessageKeys || [];
50
+ }
51
+
52
+ SenderKeyState(senderKeyStateStructure) {
53
+ this.senderKeyStateStructure = senderKeyStateStructure;
54
+ }
55
+
56
+ getKeyId() {
57
+ return this.senderKeyStateStructure.senderKeyId;
58
+ }
59
+
60
+ getSenderChainKey() {
61
+ return new SenderChainKey(
62
+ this.senderKeyStateStructure.senderChainKey.iteration,
63
+ this.senderKeyStateStructure.senderChainKey.seed
64
+ );
65
+ }
66
+
67
+ setSenderChainKey(chainKey) {
68
+ const senderChainKeyStructure = protobufs.SenderChainKey.create({
69
+ iteration: chainKey.getIteration(),
70
+ seed: chainKey.getSeed(),
71
+ });
72
+ this.senderKeyStateStructure.senderChainKey = senderChainKeyStructure;
73
+ }
74
+
75
+ getSigningKeyPublic() {
76
+ return typeof this.senderKeyStateStructure.senderSigningKey.public === 'string' ?
77
+ Buffer.from(this.senderKeyStateStructure.senderSigningKey.public, 'base64') :
78
+ this.senderKeyStateStructure.senderSigningKey.public;
79
+ }
80
+
81
+ getSigningKeyPrivate() {
82
+ return typeof this.senderKeyStateStructure.senderSigningKey.private === 'string' ?
83
+ Buffer.from(this.senderKeyStateStructure.senderSigningKey.private, 'base64') :
84
+ this.senderKeyStateStructure.senderSigningKey.private;
85
+ }
86
+
87
+ hasSenderMessageKey(iteration) {
88
+ const list = this.senderKeyStateStructure.senderMessageKeys;
89
+ for (let o = 0; o < list.length; o++) {
90
+ const senderMessageKey = list[o];
91
+ if (senderMessageKey.iteration === iteration) return true;
92
+ }
93
+ return false;
94
+ }
95
+
96
+ addSenderMessageKey(senderMessageKey) {
97
+ const senderMessageKeyStructure = protobufs.SenderKeyStateStructure.create({
98
+ iteration: senderMessageKey.getIteration(),
99
+ seed: senderMessageKey.getSeed(),
100
+ });
101
+ this.senderKeyStateStructure.senderMessageKeys.push(senderMessageKeyStructure);
102
+
103
+ if (this.senderKeyStateStructure.senderMessageKeys.length > this.MAX_MESSAGE_KEYS) {
104
+ this.senderKeyStateStructure.senderMessageKeys.shift();
105
+ }
106
+ }
107
+
108
+ removeSenderMessageKey(iteration) {
109
+ let result = null;
110
+
111
+ this.senderKeyStateStructure.senderMessageKeys = this.senderKeyStateStructure.senderMessageKeys.filter(
112
+ senderMessageKey => {
113
+ if (senderMessageKey.iteration === iteration) result = senderMessageKey;
114
+ return senderMessageKey.iteration !== iteration;
115
+ }
116
+ );
117
+
118
+ if (result != null) {
119
+ return new SenderMessageKey(result.iteration, result.seed);
120
+ }
121
+ return null;
122
+ }
123
+
124
+ getStructure() {
125
+ return this.senderKeyStateStructure;
126
+ }
127
+ }
128
+
129
+ module.exports = SenderKeyState;
@@ -0,0 +1,39 @@
1
+ const { deriveSecrets } = require('libsignal/src/crypto');
2
+ class SenderMessageKey {
3
+ iteration = 0;
4
+
5
+ iv = Buffer.alloc(0);
6
+
7
+ cipherKey = Buffer.alloc(0);
8
+
9
+ seed = Buffer.alloc(0);
10
+
11
+ constructor(iteration, seed) {
12
+ const derivative = deriveSecrets(seed, Buffer.alloc(32), Buffer.from('WhisperGroup'));
13
+ const keys = new Uint8Array(32);
14
+ keys.set(new Uint8Array(derivative[0].slice(16)));
15
+ keys.set(new Uint8Array(derivative[1].slice(0, 16)), 16);
16
+ this.iv = Buffer.from(derivative[0].slice(0, 16));
17
+ this.cipherKey = Buffer.from(keys.buffer);
18
+
19
+ this.iteration = iteration;
20
+ this.seed = seed;
21
+ }
22
+
23
+ getIteration() {
24
+ return this.iteration;
25
+ }
26
+
27
+ getIv() {
28
+ return this.iv;
29
+ }
30
+
31
+ getCipherKey() {
32
+ return this.cipherKey;
33
+ }
34
+
35
+ getSeed() {
36
+ return this.seed;
37
+ }
38
+ }
39
+ module.exports = SenderMessageKey;
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": [2, 3000, 1022982921]
3
+ }
@@ -0,0 +1,284 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { proto } from '../../WAProto';
4
+ import type { MediaType, SocketConfig } from '../Types';
5
+ export declare const UNAUTHORIZED_CODES: number[];
6
+ export declare const PHONENUMBER_MCC: {
7
+ "93": number;
8
+ "355": number;
9
+ "213": number;
10
+ "1-684": number;
11
+ "376": number;
12
+ "244": number;
13
+ "1-264": number;
14
+ "1-268": number;
15
+ "54": number;
16
+ "374": number;
17
+ "297": number;
18
+ "61": number;
19
+ "43": number;
20
+ "994": number;
21
+ "1-242": number;
22
+ "973": number;
23
+ "880": number;
24
+ "1-246": number;
25
+ "375": number;
26
+ "32": number;
27
+ "501": number;
28
+ "229": number;
29
+ "1-441": number;
30
+ "975": number;
31
+ "591": number;
32
+ "387": number;
33
+ "267": number;
34
+ "55": number;
35
+ "1-284": number;
36
+ "673": number;
37
+ "359": number;
38
+ "226": number;
39
+ "257": number;
40
+ "855": number;
41
+ "237": number;
42
+ "238": number;
43
+ "1-345": number;
44
+ "236": number;
45
+ "235": number;
46
+ "56": number;
47
+ "86": number;
48
+ "57": number;
49
+ "269": number;
50
+ "682": number;
51
+ "506": number;
52
+ "385": number;
53
+ "53": number;
54
+ "357": number;
55
+ "420": number;
56
+ "243": number;
57
+ "45": number;
58
+ "253": number;
59
+ "1-767": number;
60
+ "1-809": number;
61
+ "1-849": number;
62
+ "1-829": number;
63
+ "593": number;
64
+ "20": number;
65
+ "503": number;
66
+ "240": number;
67
+ "291": number;
68
+ "372": number;
69
+ "251": number;
70
+ "500": number;
71
+ "298": number;
72
+ "679": number;
73
+ "358": number;
74
+ "33": number;
75
+ "689": number;
76
+ "241": number;
77
+ "220": number;
78
+ "995": number;
79
+ "49": number;
80
+ "233": number;
81
+ "350": number;
82
+ "30": number;
83
+ "299": number;
84
+ "1-473": number;
85
+ "1-671": number;
86
+ "502": number;
87
+ "224": number;
88
+ "592": number;
89
+ "509": number;
90
+ "504": number;
91
+ "852": number;
92
+ "36": number;
93
+ "354": number;
94
+ "91": number;
95
+ "62": number;
96
+ "98": number;
97
+ "964": number;
98
+ "353": number;
99
+ "972": number;
100
+ "39": number;
101
+ "225": number;
102
+ "1-876": number;
103
+ "81": number;
104
+ "962": number;
105
+ "254": number;
106
+ "686": number;
107
+ "383": number;
108
+ "965": number;
109
+ "371": number;
110
+ "961": number;
111
+ "266": number;
112
+ "231": number;
113
+ "218": number;
114
+ "423": number;
115
+ "370": number;
116
+ "352": number;
117
+ "389": number;
118
+ "261": number;
119
+ "265": number;
120
+ "60": number;
121
+ "960": number;
122
+ "223": number;
123
+ "356": number;
124
+ "692": number;
125
+ "222": number;
126
+ "230": number;
127
+ "52": number;
128
+ "691": number;
129
+ "373": number;
130
+ "377": number;
131
+ "976": number;
132
+ "382": number;
133
+ "1-664": number;
134
+ "212": number;
135
+ "258": number;
136
+ "95": number;
137
+ "264": number;
138
+ "674": number;
139
+ "977": number;
140
+ "31": number;
141
+ "687": number;
142
+ "64": number;
143
+ "505": number;
144
+ "227": number;
145
+ "234": number;
146
+ "683": number;
147
+ "1-670": number;
148
+ "47": number;
149
+ "968": number;
150
+ "92": number;
151
+ "680": number;
152
+ "970": number;
153
+ "507": number;
154
+ "675": number;
155
+ "595": number;
156
+ "51": number;
157
+ "63": number;
158
+ "48": number;
159
+ "351": number;
160
+ "1-787, 1-939": number;
161
+ "974": number;
162
+ "242": number;
163
+ "40": number;
164
+ "7": number;
165
+ "250": number;
166
+ "290": number;
167
+ "1-869": number;
168
+ "1-758": number;
169
+ "508": number;
170
+ "1-784": number;
171
+ "685": number;
172
+ "378": number;
173
+ "239": number;
174
+ "966": number;
175
+ "221": number;
176
+ "381": number;
177
+ "248": number;
178
+ "232": number;
179
+ "65": number;
180
+ "386": number;
181
+ "677": number;
182
+ "27": number;
183
+ "211": number;
184
+ "34": number;
185
+ "94": number;
186
+ "249": number;
187
+ "597": number;
188
+ "268": number;
189
+ "46": number;
190
+ "41": number;
191
+ "963": number;
192
+ "886": number;
193
+ "992": number;
194
+ "255": number;
195
+ "66": number;
196
+ "228": number;
197
+ "690": number;
198
+ "676": number;
199
+ "1-868": number;
200
+ "216": number;
201
+ "90": number;
202
+ "993": number;
203
+ "1-649": number;
204
+ "688": number;
205
+ "1-340": number;
206
+ "256": number;
207
+ "380": number;
208
+ "971": number;
209
+ "44": number;
210
+ "1": number;
211
+ "598": number;
212
+ "998": number;
213
+ "678": number;
214
+ "379": number;
215
+ "58": number;
216
+ "681": number;
217
+ "967": number;
218
+ "260": number;
219
+ "263": number;
220
+ "670": number;
221
+ "245": number;
222
+ "856": number;
223
+ "599": number;
224
+ "850": number;
225
+ "262": number;
226
+ "82": number;
227
+ "84": number;
228
+ };
229
+ export declare const DEFAULT_ORIGIN = "https://web.whatsapp.com";
230
+ export declare const MOBILE_ENDPOINT = "g.whatsapp.net";
231
+ export declare const MOBILE_PORT = 443;
232
+ export declare const DEF_CALLBACK_PREFIX = "CB:";
233
+ export declare const DEF_TAG_PREFIX = "TAG:";
234
+ export declare const PHONE_CONNECTION_CB = "CB:Pong";
235
+ export declare const WA_DEFAULT_EPHEMERAL: number;
236
+ export declare const MOBILE_TOKEN: Buffer;
237
+ export declare const MOBILE_REGISTRATION_ENDPOINT = "https://v.whatsapp.net/v2";
238
+ export declare const MOBILE_USERAGENT: string;
239
+ export declare const REGISTRATION_PUBLIC_KEY: Buffer;
240
+ export declare const NOISE_MODE = "Noise_XX_25519_AESGCM_SHA256\0\0\0\0";
241
+ export declare const DICT_VERSION = 2;
242
+ export declare const KEY_BUNDLE_TYPE: Buffer;
243
+ export declare const NOISE_WA_HEADER: Buffer;
244
+ export declare const PROTOCOL_VERSION: number[];
245
+ export declare const MOBILE_NOISE_HEADER: Buffer;
246
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
247
+ export declare const URL_REGEX: RegExp;
248
+ export declare const WA_CERT_DETAILS: {
249
+ SERIAL: number;
250
+ };
251
+ export declare const PROCESSABLE_HISTORY_TYPES: proto.Message.HistorySyncNotification.HistorySyncType[];
252
+ export declare const DEFAULT_CONNECTION_CONFIG: SocketConfig;
253
+ export declare const MEDIA_PATH_MAP: {
254
+ [T in MediaType]?: string;
255
+ };
256
+ export declare const MEDIA_HKDF_KEY_MAPPING: {
257
+ audio: string;
258
+ document: string;
259
+ gif: string;
260
+ image: string;
261
+ ppic: string;
262
+ product: string;
263
+ ptt: string;
264
+ sticker: string;
265
+ video: string;
266
+ 'thumbnail-document': string;
267
+ 'thumbnail-image': string;
268
+ 'thumbnail-video': string;
269
+ 'thumbnail-link': string;
270
+ 'md-msg-hist': string;
271
+ 'md-app-state': string;
272
+ 'product-catalog-image': string;
273
+ 'payment-bg-image': string;
274
+ ptv: string;
275
+ };
276
+ export declare const MEDIA_KEYS: ("ppic" | "product" | "image" | "video" | "sticker" | "audio" | "gif" | "ptt" | "thumbnail-document" | "thumbnail-image" | "thumbnail-link" | "thumbnail-video" | "md-app-state" | "md-msg-hist" | "document" | "product-catalog-image" | "payment-bg-image" | "ptv")[];
277
+ export declare const MIN_PREKEY_COUNT = 5;
278
+ export declare const INITIAL_PREKEY_COUNT = 30;
279
+ export declare const DEFAULT_CACHE_TTLS: {
280
+ SIGNAL_STORE: number;
281
+ MSG_RETRY: number;
282
+ CALL_OFFER: number;
283
+ USER_DEVICES: number;
284
+ };
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_CACHE_TTLS = exports.INITIAL_PREKEY_COUNT = exports.MIN_PREKEY_COUNT = exports.MEDIA_KEYS = exports.MEDIA_HKDF_KEY_MAPPING = exports.MEDIA_PATH_MAP = exports.DEFAULT_CONNECTION_CONFIG = exports.PROCESSABLE_HISTORY_TYPES = exports.WA_CERT_DETAILS = exports.URL_REGEX = exports.MOBILE_NOISE_HEADER = exports.PROTOCOL_VERSION = exports.NOISE_WA_HEADER = exports.KEY_BUNDLE_TYPE = exports.DICT_VERSION = exports.NOISE_MODE = exports.REGISTRATION_PUBLIC_KEY = exports.MOBILE_USERAGENT = exports.MOBILE_REGISTRATION_ENDPOINT = exports.MOBILE_TOKEN = exports.WA_DEFAULT_EPHEMERAL = exports.PHONE_CONNECTION_CB = exports.DEF_TAG_PREFIX = exports.DEF_CALLBACK_PREFIX = exports.MOBILE_PORT = exports.MOBILE_ENDPOINT = exports.DEFAULT_ORIGIN = exports.PHONENUMBER_MCC = exports.UNAUTHORIZED_CODES = void 0;
7
+ const crypto_1 = require("crypto");
8
+ const WAProto_1 = require("../../WAProto");
9
+ const libsignal_1 = require("../Signal/libsignal");
10
+ const Utils_1 = require("../Utils");
11
+ const logger_1 = __importDefault(require("../Utils/logger"));
12
+ const baileys_version_json_1 = require("./baileys-version.json");
13
+ const phonenumber_mcc_json_1 = __importDefault(require("./phonenumber-mcc.json"));
14
+ exports.UNAUTHORIZED_CODES = [401, 403, 419];
15
+ exports.PHONENUMBER_MCC = phonenumber_mcc_json_1.default;
16
+ exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com';
17
+ exports.MOBILE_ENDPOINT = 'g.whatsapp.net';
18
+ exports.MOBILE_PORT = 443;
19
+ exports.DEF_CALLBACK_PREFIX = 'CB:';
20
+ exports.DEF_TAG_PREFIX = 'TAG:';
21
+ exports.PHONE_CONNECTION_CB = 'CB:Pong';
22
+ exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60;
23
+ const WA_VERSION = '2.24.6.77';
24
+ const WA_VERSION_HASH = (0, crypto_1.createHash)('md5').update(WA_VERSION).digest('hex');
25
+ exports.MOBILE_TOKEN = Buffer.from('0a1mLfGUIBVrMKF1RdvLI5lkRBvof6vn0fD2QRSM' + WA_VERSION_HASH);
26
+ exports.MOBILE_REGISTRATION_ENDPOINT = 'https://v.whatsapp.net/v2';
27
+ exports.MOBILE_USERAGENT = `WhatsApp/${WA_VERSION} iOS/15.3.1 Device/Apple-iPhone_7`;
28
+ exports.REGISTRATION_PUBLIC_KEY = Buffer.from([
29
+ 5, 142, 140, 15, 116, 195, 235, 197, 215, 166, 134, 92, 108, 60, 132, 56, 86, 176, 97, 33, 204, 232, 234, 119, 77,
30
+ 34, 251, 111, 18, 37, 18, 48, 45,
31
+ ]);
32
+ exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0';
33
+ exports.DICT_VERSION = 2;
34
+ exports.KEY_BUNDLE_TYPE = Buffer.from([5]);
35
+ exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]); // last is "DICT_VERSION"
36
+ exports.PROTOCOL_VERSION = [5, 2];
37
+ exports.MOBILE_NOISE_HEADER = Buffer.concat([Buffer.from('WA'), Buffer.from(exports.PROTOCOL_VERSION)]);
38
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
39
+ exports.URL_REGEX = /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
40
+ exports.WA_CERT_DETAILS = {
41
+ SERIAL: 0,
42
+ };
43
+ exports.PROCESSABLE_HISTORY_TYPES = [
44
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.INITIAL_BOOTSTRAP,
45
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.PUSH_NAME,
46
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.RECENT,
47
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.FULL,
48
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.ON_DEMAND,
49
+ ];
50
+ exports.DEFAULT_CONNECTION_CONFIG = {
51
+ version: baileys_version_json_1.version,
52
+ browser: Utils_1.Browsers.ubuntu('Chrome'),
53
+ waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
54
+ connectTimeoutMs: 20000,
55
+ keepAliveIntervalMs: 30000,
56
+ logger: logger_1.default.child({ class: 'baileys' }),
57
+ emitOwnEvents: true,
58
+ defaultQueryTimeoutMs: 60000,
59
+ customUploadHosts: [],
60
+ retryRequestDelayMs: 250,
61
+ maxMsgRetryCount: 5,
62
+ fireInitQueries: true,
63
+ auth: undefined,
64
+ markOnlineOnConnect: true,
65
+ syncFullHistory: false,
66
+ patchMessageBeforeSending: msg => msg,
67
+ shouldSyncHistoryMessage: () => true,
68
+ shouldIgnoreJid: () => false,
69
+ linkPreviewImageThumbnailWidth: 192,
70
+ transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
71
+ generateHighQualityLinkPreview: false,
72
+ options: {},
73
+ appStateMacVerification: {
74
+ patch: false,
75
+ snapshot: false,
76
+ },
77
+ getMessage: async () => undefined,
78
+ cachedGroupMetadata: async () => undefined,
79
+ makeSignalRepository: libsignal_1.makeLibSignalRepository
80
+ };
81
+ exports.MEDIA_PATH_MAP = {
82
+ image: '/mms/image',
83
+ video: '/mms/video',
84
+ document: '/mms/document',
85
+ audio: '/mms/audio',
86
+ sticker: '/mms/image',
87
+ 'thumbnail-link': '/mms/image',
88
+ 'product-catalog-image': '/product/image',
89
+ 'md-app-state': '',
90
+ 'md-msg-hist': '/mms/md-app-state',
91
+ };
92
+ exports.MEDIA_HKDF_KEY_MAPPING = {
93
+ 'audio': 'Audio',
94
+ 'document': 'Document',
95
+ 'gif': 'Video',
96
+ 'image': 'Image',
97
+ 'ppic': '',
98
+ 'product': 'Image',
99
+ 'ptt': 'Audio',
100
+ 'sticker': 'Image',
101
+ 'video': 'Video',
102
+ 'thumbnail-document': 'Document Thumbnail',
103
+ 'thumbnail-image': 'Image Thumbnail',
104
+ 'thumbnail-video': 'Video Thumbnail',
105
+ 'thumbnail-link': 'Link Thumbnail',
106
+ 'md-msg-hist': 'History',
107
+ 'md-app-state': 'App State',
108
+ 'product-catalog-image': '',
109
+ 'payment-bg-image': 'Payment Background',
110
+ 'ptv': 'Video'
111
+ };
112
+ exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP);
113
+ exports.MIN_PREKEY_COUNT = 5;
114
+ exports.INITIAL_PREKEY_COUNT = 30;
115
+ exports.DEFAULT_CACHE_TTLS = {
116
+ SIGNAL_STORE: 5 * 60,
117
+ MSG_RETRY: 60 * 60,
118
+ CALL_OFFER: 5 * 60,
119
+ USER_DEVICES: 5 * 60, // 5 minutes
120
+ };