@badzz88/baileys 8.4.9 → 8.5.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 (154) hide show
  1. package/README.md +1 -1
  2. package/WAProto/WAProto.proto +6 -347
  3. package/WAProto/fix-imports.js +85 -86
  4. package/WAProto/index.d.ts +25 -4913
  5. package/WAProto/index.js +93 -14069
  6. package/{src → lib}/Defaults/index.js +2 -13
  7. package/{src → lib}/Signal/Group/group_cipher.js +5 -5
  8. package/{src → lib}/Signal/Group/keyhelper.js +4 -4
  9. package/{src → lib}/Signal/Group/sender-chain-key.js +2 -2
  10. package/{src → lib}/Signal/Group/sender-key-distribution-message.js +1 -1
  11. package/{src → lib}/Signal/Group/sender-key-message.js +3 -3
  12. package/{src → lib}/Signal/Group/sender-key-record.js +1 -1
  13. package/{src → lib}/Signal/Group/sender-message-key.js +2 -2
  14. package/{src → lib}/Signal/libsignal.js +26 -6
  15. package/{src → lib}/Socket/chats.js +58 -616
  16. package/{src → lib}/Socket/communities.js +28 -59
  17. package/{src → lib}/Socket/graphql.js +103 -362
  18. package/{src → lib}/Socket/groups.js +29 -77
  19. package/{src → lib}/Socket/index.js +5 -3
  20. package/{src → lib}/Socket/interactive-handler.js +60 -117
  21. package/{src → lib}/Socket/interop.js +19 -36
  22. package/lib/Socket/luxu.js +387 -0
  23. package/{src → lib}/Socket/managed-account.js +27 -58
  24. package/{src → lib}/Socket/messages-recv.js +144 -715
  25. package/{src → lib}/Socket/messages-send.js +102 -412
  26. package/lib/Socket/mex.js +60 -0
  27. package/{src → lib}/Socket/newsletter.js +23 -266
  28. package/{src → lib}/Socket/privacy.js +38 -41
  29. package/{src → lib}/Socket/registration.js +106 -113
  30. package/{src → lib}/Socket/socket.js +101 -88
  31. package/{src → lib}/Socket/text-router.js +17 -1
  32. package/lib/Socket/username.js +243 -0
  33. package/lib/Store/keyed-db.js +108 -0
  34. package/{src → lib}/Store/make-in-memory-store.js +104 -6
  35. package/lib/Types/Mex.js +112 -0
  36. package/{src → lib}/Types/Newsletter.js +41 -72
  37. package/{src → lib}/Types/index.js +1 -0
  38. package/{src → lib}/Utils/chat-utils.js +9 -73
  39. package/lib/Utils/command-loader.d.ts +31 -0
  40. package/lib/Utils/command-loader.js +100 -0
  41. package/lib/Utils/companion-reg-client-utils.js +42 -0
  42. package/lib/Utils/crypto.js +155 -0
  43. package/lib/Utils/curve25519-js.js +275 -0
  44. package/{src → lib}/Utils/decode-wa-message.js +36 -284
  45. package/{src → lib}/Utils/event-buffer.js +27 -6
  46. package/{src → lib}/Utils/generics.js +37 -114
  47. package/{src → lib}/Utils/index.js +5 -1
  48. package/lib/Utils/lt-hash.js +39 -0
  49. package/{src → lib}/Utils/message-retry-manager.js +39 -0
  50. package/{src → lib}/Utils/messages-media.js +58 -105
  51. package/{src → lib}/Utils/messages.js +529 -115
  52. package/lib/Utils/meta-ai-msmsg.js +262 -0
  53. package/lib/Utils/native-bridge.js +82 -0
  54. package/{src → lib}/Utils/noise-handler.js +15 -13
  55. package/{src → lib}/Utils/process-message.js +55 -54
  56. package/{src → lib}/Utils/reporting-utils.js +2 -2
  57. package/lib/Utils/session-pool.d.ts +16 -0
  58. package/lib/Utils/session-pool.js +94 -0
  59. package/{src → lib}/Utils/signal.js +51 -19
  60. package/{src → lib}/Utils/stanza-ack.js +2 -36
  61. package/lib/Utils/sticker.d.ts +17 -0
  62. package/lib/Utils/sticker.js +145 -0
  63. package/{src → lib}/Utils/tc-token-utils.js +1 -1
  64. package/{src → lib}/Utils/validate-connection.js +11 -40
  65. package/lib/Utils/view-once-cache.d.ts +9 -0
  66. package/lib/Utils/view-once-cache.js +79 -0
  67. package/{src → lib}/WABinary/decode.js +4 -38
  68. package/lib/WABinary/encode.js +228 -0
  69. package/{src → lib}/WABinary/generic-utils.js +93 -1
  70. package/{src → lib}/WABinary/jid-utils.js +3 -16
  71. package/{src → lib}/WAM/encode.js +1 -1
  72. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
  73. package/{src → lib}/WAUSync/Protocols/USyncContactProtocol.js +1 -7
  74. package/{src → lib}/WAUSync/Protocols/USyncDeviceProtocol.js +5 -13
  75. package/{src → lib}/WAUSync/Protocols/USyncDisappearingModeProtocol.js +4 -1
  76. package/{src → lib}/WAUSync/Protocols/USyncFeatureProtocol.js +2 -17
  77. package/{src → lib}/WAUSync/Protocols/USyncStatusProtocol.js +2 -7
  78. package/{src → lib}/WAUSync/Protocols/USyncUsernameProtocol.js +1 -2
  79. package/{src → lib}/WAUSync/Protocols/index.js +0 -1
  80. package/{src → lib}/WAUSync/USyncQuery.js +6 -77
  81. package/{src → lib}/WAUSync/USyncUser.js +8 -16
  82. package/{src → lib}/WAUSync/index.js +0 -1
  83. package/{src → lib}/antiban.js +266 -355
  84. package/{src → lib}/index.js +2 -2
  85. package/package.json +19 -16
  86. package/WAProto/fix-import.js +0 -38
  87. package/src/Socket/mex.js +0 -47
  88. package/src/Socket/username.js +0 -234
  89. package/src/Utils/crypto.js +0 -125
  90. package/src/Utils/lt-hash.js +0 -10
  91. package/src/Utils/message-inspect.js +0 -400
  92. package/src/Utils/meta-ai-msmsg.js +0 -133
  93. package/src/WABinary/encode.js +0 -58
  94. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +0 -100
  95. package/src/WAUSync/USyncBackoff.js +0 -31
  96. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  97. /package/{src → lib}/Signal/Group/ciphertext-message.js +0 -0
  98. /package/{src → lib}/Signal/Group/group-session-builder.js +0 -0
  99. /package/{src → lib}/Signal/Group/index.js +0 -0
  100. /package/{src → lib}/Signal/Group/sender-key-name.js +0 -0
  101. /package/{src → lib}/Signal/Group/sender-key-state.js +0 -0
  102. /package/{src → lib}/Signal/lid-mapping.js +0 -0
  103. /package/{src → lib}/Socket/Client/index.js +0 -0
  104. /package/{src → lib}/Socket/Client/types.js +0 -0
  105. /package/{src → lib}/Socket/Client/websocket.js +0 -0
  106. /package/{src → lib}/Socket/aigroups.js +0 -0
  107. /package/{src → lib}/Socket/business.js +0 -0
  108. /package/{src → lib}/Store/index.js +0 -0
  109. /package/{src → lib}/Store/make-cache-manager-store.js +0 -0
  110. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  111. /package/{src → lib}/Store/object-repository.js +0 -0
  112. /package/{src → lib}/Types/Auth.js +0 -0
  113. /package/{src → lib}/Types/Bussines.js +0 -0
  114. /package/{src → lib}/Types/Call.js +0 -0
  115. /package/{src → lib}/Types/Chat.js +0 -0
  116. /package/{src → lib}/Types/Contact.js +0 -0
  117. /package/{src → lib}/Types/Events.js +0 -0
  118. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  119. /package/{src → lib}/Types/Label.js +0 -0
  120. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  121. /package/{src → lib}/Types/Message.js +0 -0
  122. /package/{src → lib}/Types/Product.js +0 -0
  123. /package/{src → lib}/Types/Signal.js +0 -0
  124. /package/{src → lib}/Types/Socket.js +0 -0
  125. /package/{src → lib}/Types/State.js +0 -0
  126. /package/{src → lib}/Types/USync.js +0 -0
  127. /package/{src → lib}/Utils/auth-utils.js +0 -0
  128. /package/{src → lib}/Utils/browser-utils.js +0 -0
  129. /package/{src → lib}/Utils/business.js +0 -0
  130. /package/{src → lib}/Utils/consumer-application.js +0 -0
  131. /package/{src → lib}/Utils/group-history.js +0 -0
  132. /package/{src → lib}/Utils/history.js +0 -0
  133. /package/{src → lib}/Utils/identity-change-handler.js +0 -0
  134. /package/{src → lib}/Utils/jid-display-normalization.js +0 -0
  135. /package/{src → lib}/Utils/link-preview.js +0 -0
  136. /package/{src → lib}/Utils/logger.js +0 -0
  137. /package/{src → lib}/Utils/make-mutex.js +0 -0
  138. /package/{src → lib}/Utils/message-composer.js +0 -0
  139. /package/{src → lib}/Utils/offline-node-processor.js +0 -0
  140. /package/{src → lib}/Utils/pre-key-manager.js +0 -0
  141. /package/{src → lib}/Utils/sync-action-utils.js +0 -0
  142. /package/{src → lib}/Utils/use-multi-file-auth-state.js +0 -0
  143. /package/{src → lib}/Utils/voip-rekey.js +0 -0
  144. /package/{src → lib}/WABinary/constants.js +0 -0
  145. /package/{src → lib}/WABinary/index.js +0 -0
  146. /package/{src → lib}/WABinary/types.js +0 -0
  147. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  148. /package/{src → lib}/WAM/constants.js +0 -0
  149. /package/{src → lib}/WAM/index.js +0 -0
  150. /package/{src → lib}/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -0
  151. /package/{src → lib}/WAUSync/Protocols/USyncLIDProtocol.js +0 -0
  152. /package/{src → lib}/WAUSync/Protocols/USyncPictureProtocol.js +0 -0
  153. /package/{src → lib}/WAUSync/Protocols/USyncSidelistProtocol.js +0 -0
  154. /package/{src → lib}/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -0
@@ -0,0 +1,387 @@
1
+ import { proto } from '../../WAProto/index.js'
2
+ import * as Utils from '../Utils/index.js'
3
+ import crypto from 'crypto'
4
+
5
+ export default class imup {
6
+ constructor(utils, waUploadToServer, relayMessageFn) {
7
+ this.utils = utils
8
+ this.relayMessage = relayMessageFn
9
+ this.waUploadToServer = waUploadToServer
10
+ }
11
+
12
+ detectType(content) {
13
+ if (content.requestPaymentMessage) return 'PAYMENT'
14
+ if (content.productMessage) return 'PRODUCT'
15
+ if (content.albumMessage) return 'ALBUM'
16
+ if (content.eventMessage) return 'EVENT'
17
+ if (content.pollResultMessage) return 'POLL_RESULT'
18
+ if (content.orderMessage) return 'ORDER'
19
+ if (content.groupStatus) return 'GROUP_STATUS'
20
+ if (content.groupLabel) return 'GROUP_LABEL'
21
+ return null
22
+ }
23
+
24
+ async handlePayment(content, quoted) {
25
+ const data = content.requestPaymentMessage
26
+ let notes = {}
27
+
28
+ if (data.sticker?.stickerMessage) {
29
+ notes = {
30
+ stickerMessage: {
31
+ ...data.sticker.stickerMessage,
32
+ contextInfo: {
33
+ stanzaId: quoted?.key?.id,
34
+ participant: quoted?.key?.participant || content.sender,
35
+ quotedMessage: quoted?.message
36
+ }
37
+ }
38
+ }
39
+ } else if (data.note) {
40
+ notes = {
41
+ extendedTextMessage: {
42
+ text: data.note,
43
+ contextInfo: {
44
+ stanzaId: quoted?.key?.id,
45
+ participant: quoted?.key?.participant || content.sender,
46
+ quotedMessage: quoted?.message
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ return {
53
+ requestPaymentMessage: proto.Message.RequestPaymentMessage.fromObject({
54
+ expiryTimestamp: data.expiry || 0,
55
+ amount1000: data.amount || 0,
56
+ currencyCodeIso4217: data.currency || "IDR",
57
+ requestFrom: data.from || "0@s.whatsapp.net",
58
+ noteMessage: notes,
59
+ background: data.background?? {
60
+ id: "DEFAULT",
61
+ placeholderArgb: 0xFFF0F0F0
62
+ }
63
+ })
64
+ }
65
+ }
66
+
67
+ async handleProduct(content, jid, quoted) {
68
+ const {
69
+ title,
70
+ description,
71
+ thumbnail,
72
+ productId,
73
+ retailerId,
74
+ url,
75
+ body = "",
76
+ footer = "",
77
+ buttons = [],
78
+ priceAmount1000 = null,
79
+ currencyCode = "IDR"
80
+ } = content.productMessage
81
+
82
+ let productImage
83
+
84
+ if (Buffer.isBuffer(thumbnail)) {
85
+ const { imageMessage } = await this.utils.generateWAMessageContent(
86
+ { image: thumbnail },
87
+ { upload: this.waUploadToServer }
88
+ )
89
+ productImage = imageMessage
90
+ } else if (typeof thumbnail === 'object' && thumbnail.url) {
91
+ const { imageMessage } = await this.utils.generateWAMessageContent(
92
+ { image: { url: thumbnail.url } },
93
+ { upload: this.waUploadToServer }
94
+ )
95
+ productImage = imageMessage
96
+ }
97
+
98
+ return {
99
+ viewOnceMessage: {
100
+ message: {
101
+ interactiveMessage: {
102
+ body: { text: body },
103
+ footer: { text: footer },
104
+ header: {
105
+ title,
106
+ hasMediaAttachment: true,
107
+ productMessage: {
108
+ product: {
109
+ productImage,
110
+ productId,
111
+ title,
112
+ description,
113
+ currencyCode,
114
+ priceAmount1000,
115
+ retailerId,
116
+ url,
117
+ productImageCount: 1
118
+ },
119
+ businessOwnerJid: "0@s.whatsapp.net"
120
+ }
121
+ },
122
+ nativeFlowMessage: { buttons }
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ async handleAlbum(content, jid, quoted) {
130
+ const array = content.albumMessage
131
+ const album = await this.utils.generateWAMessageFromContent(jid, {
132
+ messageContextInfo: {
133
+ messageSecret: crypto.randomBytes(32),
134
+ },
135
+ albumMessage: {
136
+ expectedImageCount: array.filter((a) => a.hasOwnProperty("image")).length,
137
+ expectedVideoCount: array.filter((a) => a.hasOwnProperty("video")).length,
138
+ },
139
+ }, {
140
+ userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
141
+ quoted,
142
+ upload: this.waUploadToServer
143
+ })
144
+
145
+ await this.relayMessage(jid, album.message, {
146
+ messageId: album.key.id,
147
+ })
148
+
149
+ for (let content of array) {
150
+ const img = await this.utils.generateWAMessage(jid, content, {
151
+ upload: this.waUploadToServer,
152
+ })
153
+
154
+ img.message.messageContextInfo = {
155
+ messageSecret: crypto.randomBytes(32),
156
+ messageAssociation: {
157
+ associationType: 1,
158
+ parentMessageKey: album.key,
159
+ },
160
+ participant: "0@s.whatsapp.net",
161
+ remoteJid: "status@broadcast",
162
+ forwardingScore: 99999,
163
+ isForwarded: true,
164
+ mentionedJid: [jid],
165
+ starred: true,
166
+ labels: ["Y", "Important"],
167
+ isHighlighted: true,
168
+ businessMessageForwardInfo: {
169
+ businessOwnerJid: jid,
170
+ },
171
+ dataSharingContext: {
172
+ showMmDisclosure: true,
173
+ },
174
+ }
175
+
176
+ img.message.forwardedNewsletterMessageInfo = {
177
+ newsletterJid: "0@newsletter",
178
+ serverMessageId: 1,
179
+ newsletterName: `WhatsApp`,
180
+ contentType: 1,
181
+ timestamp: new Date().toISOString(),
182
+ senderName: "7-Yuukey",
183
+ contentType: "UPDATE_CARD",
184
+ priority: "high",
185
+ status: "sent",
186
+ }
187
+
188
+ img.message.disappearingMode = {
189
+ initiator: 3,
190
+ trigger: 4,
191
+ initiatorDeviceJid: jid,
192
+ initiatedByExternalService: true,
193
+ initiatedByUserDevice: true,
194
+ initiatedBySystem: true,
195
+ initiatedByServer: true,
196
+ initiatedByAdmin: true,
197
+ initiatedByUser: true,
198
+ initiatedByApp: true,
199
+ initiatedByBot: true,
200
+ initiatedByMe: true,
201
+ }
202
+
203
+ await this.relayMessage(jid, img.message, {
204
+ messageId: img.key.id,
205
+ quoted: {
206
+ key: {
207
+ remoteJid: album.key.remoteJid,
208
+ id: album.key.id,
209
+ fromMe: true,
210
+ participant: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
211
+ },
212
+ message: album.message,
213
+ },
214
+ })
215
+ }
216
+ return album
217
+ }
218
+
219
+ async handleEvent(content, jid, quoted) {
220
+ const eventData = content.eventMessage
221
+
222
+ const msg = await this.utils.generateWAMessageFromContent(jid, {
223
+ viewOnceMessage: {
224
+ message: {
225
+ messageContextInfo: {
226
+ deviceListMetadata: {},
227
+ deviceListMetadataVersion: 2,
228
+ messageSecret: crypto.randomBytes(32),
229
+ supportPayload: JSON.stringify({
230
+ version: 2,
231
+ is_ai_message: true,
232
+ should_show_system_message: true,
233
+ ticket_id: crypto.randomBytes(16).toString('hex')
234
+ })
235
+ },
236
+ eventMessage: {
237
+ contextInfo: {
238
+ mentionedJid: [jid],
239
+ participant: jid,
240
+ remoteJid: "status@broadcast",
241
+ forwardedNewsletterMessageInfo: {
242
+ newsletterName: "D | 7eppeli-Exloration",
243
+ newsletterJid: "120363421563597486@newsletter",
244
+ serverMessageId: 1
245
+ }
246
+ },
247
+ isCanceled: eventData.isCanceled || false,
248
+ name: eventData.name,
249
+ description: eventData.description,
250
+ location: eventData.location || {
251
+ degreesLatitude: 0,
252
+ degreesLongitude: 0,
253
+ name: "Location"
254
+ },
255
+ joinLink: eventData.joinLink || '',
256
+ startTime: typeof eventData.startTime === 'string'? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
257
+ endTime: typeof eventData.endTime === 'string'? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
258
+ extraGuestsAllowed: eventData.extraGuestsAllowed!== false
259
+ }
260
+ }
261
+ }
262
+ }, { quoted })
263
+
264
+ await this.relayMessage(jid, msg.message, {
265
+ messageId: msg.key.id
266
+ })
267
+ return msg
268
+ }
269
+
270
+ async handlePollResult(content, jid, quoted) {
271
+ const pollData = content.pollResultMessage
272
+ const msg = await this.utils.generateWAMessageFromContent(jid, {
273
+ pollResultSnapshotMessage: {
274
+ name: pollData.name,
275
+ pollVotes: pollData.pollVotes.map(vote => ({
276
+ optionName: vote.optionName,
277
+ optionVoteCount: typeof vote.optionVoteCount === 'number'
278
+ ? vote.optionVoteCount.toString()
279
+ : vote.optionVoteCount
280
+ })),
281
+ contextInfo: {
282
+ isForwarded: true,
283
+ forwardingScore: 1,
284
+ forwardedNewsletterMessageInfo: {
285
+ newsletterName: pollData.newsletter.newsletterName || "120363399602691477@newsletter",
286
+ newsletterJid: pollData.newsletter.newsletterJid || "Newsletter",
287
+ serverMessageId: 1000,
288
+ contentType: "UPDATE"
289
+ }
290
+ }
291
+ }
292
+ }, {
293
+ userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
294
+ quoted
295
+ })
296
+
297
+ await this.relayMessage(jid, msg.message, {
298
+ messageId: msg.key.id
299
+ })
300
+
301
+ return msg
302
+ }
303
+
304
+ async handleOrderMessage(content, jid, quoted) {
305
+ const orderData = content.orderMessage
306
+
307
+ const Haha = await this.utils.generateWAMessageFromContent(jid, {
308
+ orderMessage: {
309
+ orderId: "7EPPELI25022008",
310
+ thumbnail: orderData.thumbnail || null,
311
+ itemCount: orderData.itemCount || 0,
312
+ status: "ACCEPTED",
313
+ surface: "CATALOG",
314
+ message: orderData.message,
315
+ orderTitle: orderData.orderTitle,
316
+ sellerJid: "0@whatsapp.net",
317
+ token: "7EPPELI_EXAMPLE_TOKEN",
318
+ totalAmount1000: orderData.totalAmount1000 || 0,
319
+ totalCurrencyCode: orderData.totalCurrencyCode || "IDR",
320
+ messageVersion: 2
321
+ }
322
+ }, { quoted: quoted })
323
+
324
+ await this.relayMessage(jid, Haha.message, {})
325
+ return Haha
326
+ }
327
+
328
+ async handleGroupStory(content, jid, quoted) {
329
+ const storyData = content.groupStatus
330
+ let messageContent
331
+
332
+ if (storyData.message) {
333
+ messageContent = storyData
334
+ } else {
335
+ if (typeof this.utils?.generateWAMessageContent === "function") {
336
+ messageContent = await this.utils.generateWAMessageContent(storyData, {
337
+ upload: this.waUploadToServer
338
+ })
339
+ } else {
340
+ messageContent = await Utils.generateWAMessageContent(storyData, {
341
+ upload: this.waUploadToServer
342
+ })
343
+ }
344
+ }
345
+
346
+ let msg = {
347
+ message: {
348
+ groupStatusMessageV2: {
349
+ message: messageContent.message || messageContent
350
+ }
351
+ }
352
+ }
353
+
354
+ return await this.relayMessage(jid, msg.message, {
355
+ messageId: this.utils.generateMessageID()
356
+ })
357
+ }
358
+
359
+ async handleGbLabel(content, jid) {
360
+ const x = content.groupLabel
361
+ if (!jid.endsWith('@g.us')) {
362
+ throw new Error('group required!')
363
+ }
364
+
365
+ const msg = this.utils.generateWAMessageFromContent(jid, {
366
+ protocolMessage: {
367
+ type: "GROUP_MEMBER_LABEL_CHANGE",
368
+ memberLabel: {
369
+ label: x.labelText.slice(0, 30)
370
+ }
371
+ }
372
+ }, {})
373
+
374
+ await this.relayMessage(jid, msg.message, {
375
+ additionalNodes: [
376
+ {
377
+ tag: 'meta',
378
+ attrs: {
379
+ tag_reason: 'user_update',
380
+ appdata: 'member_tag'
381
+ },
382
+ content: undefined
383
+ }
384
+ ]
385
+ })
386
+ }
387
+ }
@@ -6,34 +6,34 @@ const { executeWMexQuery } = require('./mex')
6
6
 
7
7
  const MANAGED_ACCOUNT_MEX_IDS = {
8
8
  // Managed accounts (parental/family)
9
- QUERY: '27232244463035262', // ManagedAccountQuery
9
+ QUERY: '27232244463035264', // ManagedAccountQuery
10
10
  INITIATE_LINKING: '26671873552498548', // ManagedAccountInitiateLinkingQuery
11
11
  VALIDATE_LINKING: '35449808311284430', // ManagedAccountValidateLinkingQuery
12
- ACCEPT_LINKING: '26708926155457677', // ManagedAccountAcceptLinkingMutation
13
- COMPLETE_LINKING: '26866501363013203', // ManagedAccountCompleteLinkingMutation
14
- REVOKE_LINKING: '27435058196100677', // ManagedAccountRevokeLinkingMutation
12
+ ACCEPT_LINKING: '26708926155457676', // ManagedAccountAcceptLinkingMutation
13
+ COMPLETE_LINKING: '26866501363013204', // ManagedAccountCompleteLinkingMutation
14
+ REVOKE_LINKING: '27435058196100676', // ManagedAccountRevokeLinkingMutation
15
15
  SYNC_ACTIVITIES: '26594352680227840', // ManagedAccountSyncActivities
16
- UPDATE_PIN: '27653949584193082', // ManagedAccountUpdatePinMutation
17
- GET_SPONSOR_AGE_VERIFICATION: '26433623289634522', // ManagedAccountGetSponsorAgeVerificationInfoQuery
16
+ UPDATE_PIN: '27653949584193080', // ManagedAccountUpdatePinMutation
17
+ GET_SPONSOR_AGE_VERIFICATION: '26433623289634520', // ManagedAccountGetSponsorAgeVerificationInfoQuery
18
18
  // Payments passkey
19
- PAYMENTS_PASSKEY_HAS_CREDENTIAL: '26328228500182426', // PaymentsPasskeyHasCredential
20
- PAYMENTS_PASSKEY_ENROLL_CHALLENGE: '25233109079721001', // PaymentsPasskeyEnrollChallengeMutation
21
- PAYMENTS_PASSKEY_ENROLL_VERIFY: '26563835863283058', // PaymentsPasskeyEnrollVerifyMutation
19
+ PAYMENTS_PASSKEY_HAS_CREDENTIAL: '26328228500182424', // PaymentsPasskeyHasCredential
20
+ PAYMENTS_PASSKEY_ENROLL_CHALLENGE: '25233109079721000', // PaymentsPasskeyEnrollChallengeMutation
21
+ PAYMENTS_PASSKEY_ENROLL_VERIFY: '26563835863283056', // PaymentsPasskeyEnrollVerifyMutation
22
22
  PAYMENTS_PASSKEY_REGISTER_FINISH: '26658791263822236', // PaymentsPasskeyRegisterFinishMutation
23
23
  PAYMENTS_PASSKEY_AUTH_CHALLENGE: '26425370627105628', // PaymentsPasskeyAuthChallengeMutation
24
- PAYMENTS_PASSKEY_TOGGLE_ON: '25841989828834577', // PaymentsPasskeyToggleOnMutation
25
- PAYMENTS_PASSKEY_TOGGLE_OFF: '26267673096201391', // PaymentsPasskeyToggleOffMutation
26
- PAYMENTS_PASSKEY_TOGGLE_CHALLENGE: '26133062322993192', // PaymentsPasskeyToggleChallengeMutation
24
+ PAYMENTS_PASSKEY_TOGGLE_ON: '25841989828834576', // PaymentsPasskeyToggleOnMutation
25
+ PAYMENTS_PASSKEY_TOGGLE_OFF: '26267673096201390', // PaymentsPasskeyToggleOffMutation
26
+ PAYMENTS_PASSKEY_TOGGLE_CHALLENGE: '26133062322993190', // PaymentsPasskeyToggleChallengeMutation
27
27
  PAYMENTS_PASSKEY_TOGGLE_CLEANUP: '26492078607084840', // PaymentsPasskeyToggleCleanupMutation
28
28
  PAYMENTS_PASSKEY_CLEANUP: '26538338805859092', // PaymentsPasskeyCleanupMutation
29
- PAYMENTS_IS_RECOVERABLE: '27351347491148282', // PaymentsIsAccountRecoverable
29
+ PAYMENTS_IS_RECOVERABLE: '26524118810513490', // PaymentsIsAccountRecoverable
30
30
  // UPI onboarding (India payments)
31
- UPI_SEND_OTP: '25829794080022469', // UpiOnboardingSendOtpMutation
32
- UPI_VERIFY_OTP: '34104109149204669', // UpiOnboardingVerifyOtpQuery
31
+ UPI_SEND_OTP: '25829794080022468', // UpiOnboardingSendOtpMutation
32
+ UPI_VERIFY_OTP: '34104109149204668', // UpiOnboardingVerifyOtpQuery
33
33
  // IPLS (Identity-Preserving Linked Spaces)
34
- IPLS_HANDSHAKE_INIT: '25523747957257182', // IplsClientHandshakeInitRequest
34
+ IPLS_HANDSHAKE_INIT: '25523747957257184', // IplsClientHandshakeInitRequest
35
35
  IPLS_CLIENT_HELLO: '25376330595367716', // IplsClientHelloPayload
36
- IPLSD_CLIENT_HELLO_V2: '26561780580105679', // IplsdClientHelloV2
36
+ IPLSD_CLIENT_HELLO_V2: '26561780580105680', // IplsdClientHelloV2
37
37
  IPLSD_CLIENT_INIT_V2: '26547193874915344' // IplsdClientInitV2
38
38
  }
39
39
 
@@ -45,14 +45,11 @@ const makeManagedAccountSocket = sock => {
45
45
 
46
46
  // ── Managed Accounts ─────────────────────────────────────────────────────
47
47
 
48
- const managedAccountQuery = jid => mexQuery({ jid }, MANAGED_ACCOUNT_MEX_IDS.QUERY, 'xwa2_managed_account')
48
+ const managedAccountQuery = jid =>
49
+ mexQuery({ jid }, MANAGED_ACCOUNT_MEX_IDS.QUERY, 'xwa2_managed_account')
49
50
 
50
51
  const managedAccountInitiateLinking = phoneNumber =>
51
- mexQuery(
52
- { phone_number: phoneNumber },
53
- MANAGED_ACCOUNT_MEX_IDS.INITIATE_LINKING,
54
- 'xwa2_managed_account_initiate_linking'
55
- )
52
+ mexQuery({ phone_number: phoneNumber }, MANAGED_ACCOUNT_MEX_IDS.INITIATE_LINKING, 'xwa2_managed_account_initiate_linking')
56
53
 
57
54
  const managedAccountValidateLinking = (linkingToken, sponsorJid) =>
58
55
  mexQuery(
@@ -62,25 +59,13 @@ const makeManagedAccountSocket = sock => {
62
59
  )
63
60
 
64
61
  const managedAccountAcceptLinking = linkingToken =>
65
- mexQuery(
66
- { linking_token: linkingToken },
67
- MANAGED_ACCOUNT_MEX_IDS.ACCEPT_LINKING,
68
- 'xwa2_managed_account_accept_linking'
69
- )
62
+ mexQuery({ linking_token: linkingToken }, MANAGED_ACCOUNT_MEX_IDS.ACCEPT_LINKING, 'xwa2_managed_account_accept_linking')
70
63
 
71
64
  const managedAccountCompleteLinking = linkingToken =>
72
- mexQuery(
73
- { linking_token: linkingToken },
74
- MANAGED_ACCOUNT_MEX_IDS.COMPLETE_LINKING,
75
- 'xwa2_managed_account_complete_linking'
76
- )
65
+ mexQuery({ linking_token: linkingToken }, MANAGED_ACCOUNT_MEX_IDS.COMPLETE_LINKING, 'xwa2_managed_account_complete_linking')
77
66
 
78
67
  const managedAccountRevokeLinking = sponsoredJid =>
79
- mexQuery(
80
- { sponsored_jid: sponsoredJid },
81
- MANAGED_ACCOUNT_MEX_IDS.REVOKE_LINKING,
82
- 'xwa2_managed_account_revoke_linking'
83
- )
68
+ mexQuery({ sponsored_jid: sponsoredJid }, MANAGED_ACCOUNT_MEX_IDS.REVOKE_LINKING, 'xwa2_managed_account_revoke_linking')
84
69
 
85
70
  const managedAccountSyncActivities = (jid, lastSyncTime = null) => {
86
71
  const variables = { jid }
@@ -89,18 +74,10 @@ const makeManagedAccountSocket = sock => {
89
74
  }
90
75
 
91
76
  const managedAccountUpdatePin = (oldPin, newPin) =>
92
- mexQuery(
93
- { input: { old_pin: oldPin, new_pin: newPin } },
94
- MANAGED_ACCOUNT_MEX_IDS.UPDATE_PIN,
95
- 'xwa2_managed_account_update_pin'
96
- )
77
+ mexQuery({ input: { old_pin: oldPin, new_pin: newPin } }, MANAGED_ACCOUNT_MEX_IDS.UPDATE_PIN, 'xwa2_managed_account_update_pin')
97
78
 
98
79
  const managedAccountGetSponsorAgeVerification = sponsorJid =>
99
- mexQuery(
100
- { sponsor_jid: sponsorJid },
101
- MANAGED_ACCOUNT_MEX_IDS.GET_SPONSOR_AGE_VERIFICATION,
102
- 'xwa2_managed_account_sponsor_age_verification'
103
- )
80
+ mexQuery({ sponsor_jid: sponsorJid }, MANAGED_ACCOUNT_MEX_IDS.GET_SPONSOR_AGE_VERIFICATION, 'xwa2_managed_account_sponsor_age_verification')
104
81
 
105
82
  // ── Payments Passkey ─────────────────────────────────────────────────────
106
83
 
@@ -125,11 +102,7 @@ const makeManagedAccountSocket = sock => {
125
102
  )
126
103
 
127
104
  const paymentsPasskeyAuthChallenge = credentialId =>
128
- mexQuery(
129
- { credential_id: credentialId },
130
- MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_AUTH_CHALLENGE,
131
- 'xwa2_payments_passkey_auth_challenge'
132
- )
105
+ mexQuery({ credential_id: credentialId }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_AUTH_CHALLENGE, 'xwa2_payments_passkey_auth_challenge')
133
106
 
134
107
  const paymentsPasskeyToggleOn = () =>
135
108
  mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_ON, 'xwa2_payments_passkey_toggle_on')
@@ -138,11 +111,7 @@ const makeManagedAccountSocket = sock => {
138
111
  mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_OFF, 'xwa2_payments_passkey_toggle_off')
139
112
 
140
113
  const paymentsPasskeyToggleChallenge = credentialId =>
141
- mexQuery(
142
- { credential_id: credentialId },
143
- MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CHALLENGE,
144
- 'xwa2_payments_passkey_toggle_challenge'
145
- )
114
+ mexQuery({ credential_id: credentialId }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CHALLENGE, 'xwa2_payments_passkey_toggle_challenge')
146
115
 
147
116
  const paymentsPasskeyToggleCleanup = () =>
148
117
  mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CLEANUP, 'xwa2_payments_passkey_toggle_cleanup')