@badzz88/baileys 8.4.9 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/WAProto/WAProto.proto +6 -347
  2. package/WAProto/fix-imports.js +85 -86
  3. package/WAProto/index.d.ts +25 -4913
  4. package/WAProto/index.js +93 -14069
  5. package/{src → lib}/Defaults/index.js +2 -13
  6. package/{src → lib}/Signal/Group/group_cipher.js +5 -5
  7. package/{src → lib}/Signal/Group/keyhelper.js +4 -4
  8. package/{src → lib}/Signal/Group/sender-chain-key.js +2 -2
  9. package/{src → lib}/Signal/Group/sender-key-distribution-message.js +1 -1
  10. package/{src → lib}/Signal/Group/sender-key-message.js +3 -3
  11. package/{src → lib}/Signal/Group/sender-key-record.js +1 -1
  12. package/{src → lib}/Signal/Group/sender-message-key.js +2 -2
  13. package/{src → lib}/Signal/libsignal.js +26 -6
  14. package/{src → lib}/Socket/chats.js +58 -616
  15. package/{src → lib}/Socket/communities.js +28 -59
  16. package/{src → lib}/Socket/graphql.js +103 -362
  17. package/{src → lib}/Socket/groups.js +29 -77
  18. package/{src → lib}/Socket/index.js +5 -3
  19. package/{src → lib}/Socket/interactive-handler.js +60 -117
  20. package/{src → lib}/Socket/interop.js +19 -36
  21. package/lib/Socket/luxu.js +387 -0
  22. package/{src → lib}/Socket/managed-account.js +27 -58
  23. package/{src → lib}/Socket/messages-recv.js +143 -715
  24. package/{src → lib}/Socket/messages-send.js +102 -412
  25. package/lib/Socket/mex.js +60 -0
  26. package/{src → lib}/Socket/newsletter.js +23 -266
  27. package/{src → lib}/Socket/privacy.js +38 -41
  28. package/{src → lib}/Socket/registration.js +106 -113
  29. package/{src → lib}/Socket/socket.js +101 -88
  30. package/{src → lib}/Socket/text-router.js +17 -1
  31. package/lib/Socket/username.js +243 -0
  32. package/lib/Store/keyed-db.js +108 -0
  33. package/{src → lib}/Store/make-in-memory-store.js +104 -6
  34. package/lib/Types/Mex.js +112 -0
  35. package/{src → lib}/Types/Newsletter.js +41 -72
  36. package/{src → lib}/Types/index.js +1 -0
  37. package/{src → lib}/Utils/chat-utils.js +9 -73
  38. package/lib/Utils/command-loader.d.ts +31 -0
  39. package/lib/Utils/command-loader.js +100 -0
  40. package/lib/Utils/companion-reg-client-utils.js +42 -0
  41. package/lib/Utils/crypto.js +155 -0
  42. package/lib/Utils/curve25519-js.js +275 -0
  43. package/{src → lib}/Utils/decode-wa-message.js +36 -284
  44. package/{src → lib}/Utils/event-buffer.js +27 -6
  45. package/{src → lib}/Utils/generics.js +37 -114
  46. package/{src → lib}/Utils/index.js +5 -1
  47. package/lib/Utils/lt-hash.js +39 -0
  48. package/{src → lib}/Utils/message-retry-manager.js +39 -0
  49. package/{src → lib}/Utils/messages-media.js +58 -105
  50. package/{src → lib}/Utils/messages.js +529 -115
  51. package/lib/Utils/meta-ai-msmsg.js +262 -0
  52. package/lib/Utils/native-bridge.js +82 -0
  53. package/{src → lib}/Utils/noise-handler.js +15 -13
  54. package/{src → lib}/Utils/process-message.js +55 -54
  55. package/{src → lib}/Utils/reporting-utils.js +2 -2
  56. package/lib/Utils/session-pool.d.ts +16 -0
  57. package/lib/Utils/session-pool.js +94 -0
  58. package/{src → lib}/Utils/signal.js +51 -19
  59. package/{src → lib}/Utils/stanza-ack.js +2 -36
  60. package/lib/Utils/sticker.d.ts +17 -0
  61. package/lib/Utils/sticker.js +145 -0
  62. package/{src → lib}/Utils/tc-token-utils.js +1 -1
  63. package/{src → lib}/Utils/validate-connection.js +11 -40
  64. package/lib/Utils/view-once-cache.d.ts +9 -0
  65. package/lib/Utils/view-once-cache.js +79 -0
  66. package/{src → lib}/WABinary/decode.js +4 -38
  67. package/lib/WABinary/encode.js +228 -0
  68. package/{src → lib}/WABinary/generic-utils.js +93 -1
  69. package/{src → lib}/WABinary/jid-utils.js +3 -16
  70. package/{src → lib}/WAM/encode.js +1 -1
  71. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
  72. package/{src → lib}/WAUSync/Protocols/USyncContactProtocol.js +1 -7
  73. package/{src → lib}/WAUSync/Protocols/USyncDeviceProtocol.js +5 -13
  74. package/{src → lib}/WAUSync/Protocols/USyncDisappearingModeProtocol.js +4 -1
  75. package/{src → lib}/WAUSync/Protocols/USyncFeatureProtocol.js +2 -17
  76. package/{src → lib}/WAUSync/Protocols/USyncStatusProtocol.js +2 -7
  77. package/{src → lib}/WAUSync/Protocols/USyncUsernameProtocol.js +1 -2
  78. package/{src → lib}/WAUSync/Protocols/index.js +0 -1
  79. package/{src → lib}/WAUSync/USyncQuery.js +6 -77
  80. package/{src → lib}/WAUSync/USyncUser.js +8 -16
  81. package/{src → lib}/WAUSync/index.js +0 -1
  82. package/{src → lib}/antiban.js +266 -355
  83. package/{src → lib}/index.js +2 -2
  84. package/package.json +18 -15
  85. package/WAProto/fix-import.js +0 -38
  86. package/src/Socket/mex.js +0 -47
  87. package/src/Socket/username.js +0 -234
  88. package/src/Utils/crypto.js +0 -125
  89. package/src/Utils/lt-hash.js +0 -10
  90. package/src/Utils/message-inspect.js +0 -400
  91. package/src/Utils/meta-ai-msmsg.js +0 -133
  92. package/src/WABinary/encode.js +0 -58
  93. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +0 -100
  94. package/src/WAUSync/USyncBackoff.js +0 -31
  95. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  96. /package/{src → lib}/Signal/Group/ciphertext-message.js +0 -0
  97. /package/{src → lib}/Signal/Group/group-session-builder.js +0 -0
  98. /package/{src → lib}/Signal/Group/index.js +0 -0
  99. /package/{src → lib}/Signal/Group/sender-key-name.js +0 -0
  100. /package/{src → lib}/Signal/Group/sender-key-state.js +0 -0
  101. /package/{src → lib}/Signal/lid-mapping.js +0 -0
  102. /package/{src → lib}/Socket/Client/index.js +0 -0
  103. /package/{src → lib}/Socket/Client/types.js +0 -0
  104. /package/{src → lib}/Socket/Client/websocket.js +0 -0
  105. /package/{src → lib}/Socket/aigroups.js +0 -0
  106. /package/{src → lib}/Socket/business.js +0 -0
  107. /package/{src → lib}/Store/index.js +0 -0
  108. /package/{src → lib}/Store/make-cache-manager-store.js +0 -0
  109. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  110. /package/{src → lib}/Store/object-repository.js +0 -0
  111. /package/{src → lib}/Types/Auth.js +0 -0
  112. /package/{src → lib}/Types/Bussines.js +0 -0
  113. /package/{src → lib}/Types/Call.js +0 -0
  114. /package/{src → lib}/Types/Chat.js +0 -0
  115. /package/{src → lib}/Types/Contact.js +0 -0
  116. /package/{src → lib}/Types/Events.js +0 -0
  117. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  118. /package/{src → lib}/Types/Label.js +0 -0
  119. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  120. /package/{src → lib}/Types/Message.js +0 -0
  121. /package/{src → lib}/Types/Product.js +0 -0
  122. /package/{src → lib}/Types/Signal.js +0 -0
  123. /package/{src → lib}/Types/Socket.js +0 -0
  124. /package/{src → lib}/Types/State.js +0 -0
  125. /package/{src → lib}/Types/USync.js +0 -0
  126. /package/{src → lib}/Utils/auth-utils.js +0 -0
  127. /package/{src → lib}/Utils/browser-utils.js +0 -0
  128. /package/{src → lib}/Utils/business.js +0 -0
  129. /package/{src → lib}/Utils/consumer-application.js +0 -0
  130. /package/{src → lib}/Utils/group-history.js +0 -0
  131. /package/{src → lib}/Utils/history.js +0 -0
  132. /package/{src → lib}/Utils/identity-change-handler.js +0 -0
  133. /package/{src → lib}/Utils/jid-display-normalization.js +0 -0
  134. /package/{src → lib}/Utils/link-preview.js +0 -0
  135. /package/{src → lib}/Utils/logger.js +0 -0
  136. /package/{src → lib}/Utils/make-mutex.js +0 -0
  137. /package/{src → lib}/Utils/message-composer.js +0 -0
  138. /package/{src → lib}/Utils/offline-node-processor.js +0 -0
  139. /package/{src → lib}/Utils/pre-key-manager.js +0 -0
  140. /package/{src → lib}/Utils/sync-action-utils.js +0 -0
  141. /package/{src → lib}/Utils/use-multi-file-auth-state.js +0 -0
  142. /package/{src → lib}/Utils/voip-rekey.js +0 -0
  143. /package/{src → lib}/WABinary/constants.js +0 -0
  144. /package/{src → lib}/WABinary/index.js +0 -0
  145. /package/{src → lib}/WABinary/types.js +0 -0
  146. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  147. /package/{src → lib}/WAM/constants.js +0 -0
  148. /package/{src → lib}/WAM/index.js +0 -0
  149. /package/{src → lib}/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -0
  150. /package/{src → lib}/WAUSync/Protocols/USyncLIDProtocol.js +0 -0
  151. /package/{src → lib}/WAUSync/Protocols/USyncPictureProtocol.js +0 -0
  152. /package/{src → lib}/WAUSync/Protocols/USyncSidelistProtocol.js +0 -0
  153. /package/{src → lib}/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -0
@@ -6,85 +6,82 @@ const { executeWMexQuery } = require('./mex')
6
6
 
7
7
  const REGISTRATION_MEX_IDS = {
8
8
  // Password
9
- HAS_PASSWORD: '25379221318423478', // HasPasswordQuery
9
+ HAS_PASSWORD: '25379221318423480', // HasPasswordQuery
10
10
  SET_PASSWORD: '33855141324134176', // SetPasswordMutation
11
- CHECK_PASSWORD: '26881928138061632', // CheckPasswordMutation
12
- DELETE_PASSWORD: '27247058691550586', // DeletePasswordMutation
11
+ CHECK_PASSWORD: '26881928138061630', // CheckPasswordMutation
12
+ DELETE_PASSWORD: '27247058691550584', // DeletePasswordMutation
13
13
  // Passkey (account-level)
14
14
  PASSKEY_EXIST: '25188064727509430', // PasskeyExistResponseQuery
15
- PASSKEY_LIST_EXIST: '26930537423220681', // PasskeyListExistResponseQuery
16
- PASSKEY_REQUEST_CHALLENGE: '26311497405176139', // PasskeyRequestChallengeMutation
17
- PASSKEY_VERIFY_CHALLENGE: '26876394218624479', // PasskeyVerifyChallengeMutation
18
- PASSKEY_DELETE: '25225683640428243', // PasskeyDeleteMutation
15
+ PASSKEY_LIST_EXIST: '26930537423220680', // PasskeyListExistResponseQuery
16
+ PASSKEY_REQUEST_CHALLENGE: '26311497405176140', // PasskeyRequestChallengeMutation
17
+ PASSKEY_VERIFY_CHALLENGE: '26876394218624480', // PasskeyVerifyChallengeMutation
18
+ PASSKEY_DELETE: '25225683640428244', // PasskeyDeleteMutation
19
19
  // Passkey (registration flow)
20
20
  REG_PASSKEY_START: '25415371271434748', // RegistrationPasskeyStartRegisterMutation
21
21
  REG_PASSKEY_FINISH: '24611221275218156', // RegistrationPasskeyFinishRegisterMutation
22
- REG_PASSKEY_ENABLE: '25147880151540247', // RegistrationPasskeyEnableMutation
23
- REG_PASSKEY_DISABLE: '27775237998742831', // RegistrationPasskeyDisableMutation
24
- REG_PASSKEY_CLEAR: '25111972538494859', // RegistrationPasskeyClear
22
+ REG_PASSKEY_ENABLE: '25147880151540250', // RegistrationPasskeyEnableMutation
23
+ REG_PASSKEY_DISABLE: '27775237998742830', // RegistrationPasskeyDisableMutation
24
+ REG_PASSKEY_CLEAR: '25111972538494860', // RegistrationPasskeyClear
25
25
  REG_PASSKEY_UPDATE_ENCRYPTION_STATUS: '24866837389649930', // RegistrationPasskeyUpdateClientEncryptionStatusMutation
26
26
  // Registration upsells
27
- GET_REGISTRATION_UPSELLS: '24265038133175291', // GetRegistrationUpsells
28
- GET_DYNAMIC_REGISTRATION_UPSELLS: '32273353145641323', // GetDynamicRegistrationUpsells
29
- REGISTRATION_UPSELL_SHOWN: '25896605016620945', // RegistrationUpsellShown
27
+ GET_REGISTRATION_UPSELLS: '24265038133175292', // GetRegistrationUpsells
28
+ GET_DYNAMIC_REGISTRATION_UPSELLS: '32273353145641324', // GetDynamicRegistrationUpsells
29
+ REGISTRATION_UPSELL_SHOWN: '25896605016620944', // RegistrationUpsellShown
30
30
  REGISTRATION_DYNAMIC_UPSELL_SHOWN: '25435755019399064', // RegistrationDynamicUpsellShown
31
31
  REG_ACCOUNT_TRANSFER_VERIFY_TOKEN: '7580940708621318', // RegAccountTransferVerifyTokenMutation
32
32
  // Contacts
33
- CONTACTS_UPLOAD: '26270332909283337', // ContactsUploadMutation
34
- CONTACTS_BACKUP: '25507366408898459', // ContactsBackupMutation
35
- CONTACTS_BACKUP_QUERY: '25885591041046968', // ContactsBackupQuery
33
+ CONTACTS_UPLOAD: '26270332909283336', // ContactsUploadMutation
34
+ CONTACTS_BACKUP: '25507366408898460', // ContactsBackupMutation
35
+ CONTACTS_BACKUP_QUERY: '25885591041046970', // ContactsBackupQuery
36
36
  SELF_CONTACTS: '25273846082242404', // SelfContactsQuery
37
- SUGGESTED_CONTACTS_V2: '31663643799945793', // SuggestedContactsV2
38
- USYNC: '25973385702344488', // UsyncQuery
39
- USER_COUNTRY_CODE: '25292528387076991', // UserCountryCodeGet
37
+ SUGGESTED_CONTACTS_V2: '31663643799945790', // SuggestedContactsV2
38
+ USYNC: '25973385702344490', // UsyncQuery
39
+ USER_COUNTRY_CODE: '25292528387076990', // UserCountryCodeGet
40
40
  // Age verification
41
- AGE_COLLECTION: '33502711132676934', // AgeCollection
41
+ AGE_COLLECTION: '33502711132676936', // AgeCollection
42
42
  GET_AGE_EXPERIENCE: '26567868986241476', // GetAgeExperience
43
- SET_AGE_EXPERIENCE: '26051006311231325', // SetAgeExperienceMutation
44
- GET_UNKU_AGE_INFO: '34766883369623606', // GetUNKUAgeCollectionInfoQuery
45
- SUBMIT_AGE: '26049558371296621', // SubmitAge
43
+ SET_AGE_EXPERIENCE: '26051006311231324', // SetAgeExperienceMutation
44
+ GET_UNKU_AGE_INFO: '34766883369623610', // GetUNKUAgeCollectionInfoQuery
45
+ SUBMIT_AGE: '26049558371296620', // SubmitAge
46
46
  // Imagine Me
47
- GET_IMAGINE_ME_ONBOARDED: '25082125671408942', // GetImagineMeOnboarded
47
+ GET_IMAGINE_ME_ONBOARDED: '25082125671408944', // GetImagineMeOnboarded
48
48
  DELETE_IMAGINE_ME_ONBOARDING: '7106989772737677', // DeleteImagineMeOnboarding
49
49
  // Misc account
50
- FETCH_USER_NOTICES: '32114003924880386', // FetchUserNoticesByID
51
- REMOVE_REACHOUT_TIMELOCK: '25040013452293167', // RemoveAccountReachoutTimelock
52
- TOS_SET_RESULT: '25225843213776555', // TosSetResult
50
+ FETCH_USER_NOTICES: '32114003924880384', // FetchUserNoticesByID
51
+ REMOVE_REACHOUT_TIMELOCK: '25040013452293170', // RemoveAccountReachoutTimelock
52
+ TOS_SET_RESULT: '25225843213776556', // TosSetResult
53
53
  VALIDATE_VERIFIER_CONFIDENCE: '25879669248324812', // ValidateVerifierConfidence
54
54
  WA_BINARY_DEMO: '25407430348912370', // WABinaryDemoQuery
55
- START_CHAT_CONTEXT_INTEGRITY: '26204539559207163', // StartChatContextIntegrityQuery
56
- MESSAGE_CAPPING_OTE: '36625113040420390', // MessageCappingOteRequestMutation
57
- MOBILE_CONFIG_CONSISTENCY: '34033663249614454', // MobileConfigConsistencyLoggingQuery
58
- REMINDER_CREATE: '32149118614673399', // ReminderCreate
59
- REMINDER_DELETE: '25462476600019778', // ReminderDelete
60
- OHAI_KEY_CONFIG: '25069818679280758', // OhaiKeyConfigQuery
61
- REQUEST_PEER_LOGS_UPLOAD: '25383561471254437', // RequestPeerLogsUploadForBugMutation
62
- HAS_BUSINESS_INTENT: '26322731900685133', // HasBusinessIntent
55
+ START_CHAT_CONTEXT_INTEGRITY: '26204539559207164', // StartChatContextIntegrityQuery
56
+ MESSAGE_CAPPING_OTE: '26903407272609800', // MessageCappingOteRequestMutation
57
+ MOBILE_CONFIG_CONSISTENCY: '34033663249614456', // MobileConfigConsistencyLoggingQuery
58
+ REMINDER_CREATE: '32149118614673400', // ReminderCreate
59
+ REMINDER_DELETE: '25462476600019776', // ReminderDelete
60
+ OHAI_KEY_CONFIG: '25069818679280760', // OhaiKeyConfigQuery
61
+ REQUEST_PEER_LOGS_UPLOAD: '25383561471254436', // RequestPeerLogsUploadForBugMutation
62
+ HAS_BUSINESS_INTENT: '26322731900685132', // HasBusinessIntent
63
63
  ESCPS_MIGRATION: '25342222212064844', // EscpsMigration
64
- CREATE_ENFORCEMENT_APPEAL: '26933630359642347', // CreateEnforcementAppeal
65
- GET_AUTO_CONF_CHALLENGE: '25578301865133112', // GetAutoConfConfidenceChallenge
66
- GET_WA_OLD_RESPONSE: '25784374561179853', // GetWaOldResponse
67
- GET_WA_ME_LINK: '25001183556215266', // GetWaMeLinkQuery
68
- FETCH_BOT_PKI_CRL: '26249576291319392', // FetchBotPKICRL
64
+ CREATE_ENFORCEMENT_APPEAL: '25486243987721836', // CreateEnforcementAppeal
65
+ GET_AUTO_CONF_CHALLENGE: '25578301865133110', // GetAutoConfConfidenceChallenge
66
+ GET_WA_OLD_RESPONSE: '25784374561179852', // GetWaOldResponse
67
+ GET_WA_ME_LINK: '25001183556215264', // GetWaMeLinkQuery
68
+ FETCH_BOT_PKI_CRL: '26249576291319390', // FetchBotPKICRL
69
69
  TEE_CHAT_TOKEN: '25920135234315276', // TeeChatParticipationGenerateToken
70
70
  // Linking data bundles
71
- GENERATE_LINKING_BUNDLE: '24469763446033134', // GenerateLinkingDataBundle
72
- GET_CACHEABLE_UNLINKED_BUNDLE: '26339420835710173', // GetCacheableUnlinkedDataBundle
73
- GET_UNLINKED_BUNDLE: '25515726664782894', // GetUnlinkedDataBundle
71
+ GENERATE_LINKING_BUNDLE: '24469763446033136', // GenerateLinkingDataBundle
72
+ GET_CACHEABLE_UNLINKED_BUNDLE: '26339420835710172', // GetCacheableUnlinkedDataBundle
73
+ GET_UNLINKED_BUNDLE: '25515726664782896', // GetUnlinkedDataBundle
74
74
  GET_DSB_INFO: '24832343819719050', // GetDsbInfo
75
- // WAMO MEX (identity versioning)
76
- WAMO_USER_ID_VERSION: '24958410737155269', // WamoUserIdVersion
77
- WAMO_SET_USER_ID_VERSION: '8148672891859281', // SetWamoUserIdVersion
78
75
  // WWW / web companion
79
76
  WWW_CREATE_ACCESS_TOKEN: '7956082757804344', // WWWCreateAccessToken
80
77
  WWW_CREATE_USER: '8548056818544135', // WWWCreateUser
81
78
  WWW_DELETE_USER: '7989555047767245', // WWWDeleteUser
82
79
  WWW_EXCHANGE_NONCE: '25727187160203620', // WWWExchangeNonceForAccessToken
83
- WWW_GET_CERTIFICATES: '25094190163544446', // WWWGetCertificates
80
+ WWW_GET_CERTIFICATES: '25094190163544450', // WWWGetCertificates
84
81
  WWW_GET_NONCE: '24635485196143064', // WWWGetNonceForCompanionDevice
85
82
  WWW_TRADE_NONCES: '24184092467936760', // WWWTradeNonceForAccessTokens
86
- WWW_TRIGGER_RECOVERY: '24896267680055094', // WWWTriggerAcountRecovery
87
- WWW_VALIDATE_CANONICAL_USER: '25434261326170403' // WWWValidateCanonicalUser
83
+ WWW_TRIGGER_RECOVERY: '24896267680055096', // WWWTriggerAcountRecovery
84
+ WWW_VALIDATE_CANONICAL_USER: '25434261326170404' // WWWValidateCanonicalUser
88
85
  }
89
86
 
90
87
  const makeRegistrationSocket = sock => {
@@ -121,12 +118,7 @@ const makeRegistrationSocket = sock => {
121
118
 
122
119
  const passkeyVerifyChallenge = (credentialId, authenticatorData, clientDataJson, signature) =>
123
120
  mexQuery(
124
- {
125
- credential_id: credentialId,
126
- authenticator_data: authenticatorData,
127
- client_data_json: clientDataJson,
128
- signature
129
- },
121
+ { credential_id: credentialId, authenticator_data: authenticatorData, client_data_json: clientDataJson, signature },
130
122
  REGISTRATION_MEX_IDS.PASSKEY_VERIFY_CHALLENGE,
131
123
  'xwa2_passkey_verify_challenge'
132
124
  )
@@ -136,7 +128,8 @@ const makeRegistrationSocket = sock => {
136
128
 
137
129
  // ── Passkey (registration flow) ─────────────────────────────────────────
138
130
 
139
- const regPasskeyStart = () => mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_START, 'xwa2_reg_passkey_start_register')
131
+ const regPasskeyStart = () =>
132
+ mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_START, 'xwa2_reg_passkey_start_register')
140
133
 
141
134
  const regPasskeyFinish = (credentialId, attestationObject, clientDataJson) =>
142
135
  mexQuery(
@@ -145,11 +138,14 @@ const makeRegistrationSocket = sock => {
145
138
  'xwa2_reg_passkey_finish_register'
146
139
  )
147
140
 
148
- const regPasskeyEnable = () => mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_ENABLE, 'xwa2_reg_passkey_enable')
141
+ const regPasskeyEnable = () =>
142
+ mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_ENABLE, 'xwa2_reg_passkey_enable')
149
143
 
150
- const regPasskeyDisable = () => mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_DISABLE, 'xwa2_reg_passkey_disable')
144
+ const regPasskeyDisable = () =>
145
+ mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_DISABLE, 'xwa2_reg_passkey_disable')
151
146
 
152
- const regPasskeyClear = () => mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_CLEAR, 'xwa2_reg_passkey_clear')
147
+ const regPasskeyClear = () =>
148
+ mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_CLEAR, 'xwa2_reg_passkey_clear')
153
149
 
154
150
  const regPasskeyUpdateEncryptionStatus = encryptionEnabled =>
155
151
  mexQuery(
@@ -161,27 +157,19 @@ const makeRegistrationSocket = sock => {
161
157
  // ── Registration upsells ────────────────────────────────────────────────
162
158
 
163
159
  const getRegistrationUpsells = () =>
164
- mexQuery({}, REGISTRATION_MEX_IDS.GET_REGISTRATION_UPSELLS, 'xwa2_dynamic_reg_upsells')
160
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_REGISTRATION_UPSELLS, 'xwa2_get_registration_upsells')
165
161
 
166
162
  const getDynamicRegistrationUpsells = () =>
167
- mexQuery({}, REGISTRATION_MEX_IDS.GET_DYNAMIC_REGISTRATION_UPSELLS, 'xwa2_dynamic_reg_upsells')
163
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_DYNAMIC_REGISTRATION_UPSELLS, 'xwa2_get_dynamic_registration_upsells')
168
164
 
169
165
  const registrationUpsellShown = upsellId =>
170
- mexQuery({ upsell_id: upsellId }, REGISTRATION_MEX_IDS.REGISTRATION_UPSELL_SHOWN, 'xwa2_reg_dynamic_upsell_shown')
166
+ mexQuery({ upsell_id: upsellId }, REGISTRATION_MEX_IDS.REGISTRATION_UPSELL_SHOWN, 'xwa2_registration_upsell_shown')
171
167
 
172
168
  const registrationDynamicUpsellShown = upsellId =>
173
- mexQuery(
174
- { upsell_id: upsellId },
175
- REGISTRATION_MEX_IDS.REGISTRATION_DYNAMIC_UPSELL_SHOWN,
176
- 'xwa2_reg_dynamic_upsell_shown'
177
- )
169
+ mexQuery({ upsell_id: upsellId }, REGISTRATION_MEX_IDS.REGISTRATION_DYNAMIC_UPSELL_SHOWN, 'xwa2_registration_dynamic_upsell_shown')
178
170
 
179
171
  const regAccountTransferVerifyToken = token =>
180
- mexQuery(
181
- { token },
182
- REGISTRATION_MEX_IDS.REG_ACCOUNT_TRANSFER_VERIFY_TOKEN,
183
- 'xwa2_reg_account_transfer_verify_token'
184
- )
172
+ mexQuery({ token }, REGISTRATION_MEX_IDS.REG_ACCOUNT_TRANSFER_VERIFY_TOKEN, 'xwa2_reg_account_transfer_verify_token')
185
173
 
186
174
  // ── Contacts ────────────────────────────────────────────────────────────
187
175
 
@@ -191,22 +179,28 @@ const makeRegistrationSocket = sock => {
191
179
  const contactsBackup = contacts =>
192
180
  mexQuery({ contacts }, REGISTRATION_MEX_IDS.CONTACTS_BACKUP, 'xwa2_contacts_backup')
193
181
 
194
- const contactsBackupQuery = () => mexQuery({}, REGISTRATION_MEX_IDS.CONTACTS_BACKUP_QUERY, 'xwa2_contacts_backup')
182
+ const contactsBackupQuery = () =>
183
+ mexQuery({}, REGISTRATION_MEX_IDS.CONTACTS_BACKUP_QUERY, 'xwa2_contacts_backup')
195
184
 
196
- const selfContactsQuery = () => mexQuery({}, REGISTRATION_MEX_IDS.SELF_CONTACTS, 'xwa2_self_contacts')
185
+ const selfContactsQuery = () =>
186
+ mexQuery({}, REGISTRATION_MEX_IDS.SELF_CONTACTS, 'xwa2_self_contacts')
197
187
 
198
188
  const suggestedContactsV2 = (limit = 20) =>
199
189
  mexQuery({ limit }, REGISTRATION_MEX_IDS.SUGGESTED_CONTACTS_V2, 'xwa2_suggested_contacts_v2')
200
190
 
201
- const usyncQuery = jids => mexQuery({ jids }, REGISTRATION_MEX_IDS.USYNC, 'xwa2_usync')
191
+ const usyncQuery = jids =>
192
+ mexQuery({ jids }, REGISTRATION_MEX_IDS.USYNC, 'xwa2_usync')
202
193
 
203
- const userCountryCodeGet = () => mexQuery({}, REGISTRATION_MEX_IDS.USER_COUNTRY_CODE, 'xwa2_user_country_code')
194
+ const userCountryCodeGet = () =>
195
+ mexQuery({}, REGISTRATION_MEX_IDS.USER_COUNTRY_CODE, 'xwa2_user_country_code')
204
196
 
205
197
  // ── Age verification ─────────────────────────────────────────────────────
206
198
 
207
- const ageCollection = () => mexQuery({}, REGISTRATION_MEX_IDS.AGE_COLLECTION, 'xwa2_age_collection')
199
+ const ageCollection = () =>
200
+ mexQuery({}, REGISTRATION_MEX_IDS.AGE_COLLECTION, 'xwa2_age_collection')
208
201
 
209
- const getAgeExperience = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_AGE_EXPERIENCE, 'xwa2_get_age_experience')
202
+ const getAgeExperience = () =>
203
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_AGE_EXPERIENCE, 'xwa2_get_age_experience')
210
204
 
211
205
  const setAgeExperience = (birthYear, country = null) => {
212
206
  const input = { birth_year: birthYear }
@@ -214,7 +208,8 @@ const makeRegistrationSocket = sock => {
214
208
  return mexQuery({ input }, REGISTRATION_MEX_IDS.SET_AGE_EXPERIENCE, 'xwa2_set_age_experience')
215
209
  }
216
210
 
217
- const getUnkuAgeInfo = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_UNKU_AGE_INFO, 'xwa2_get_unku_age_info')
211
+ const getUnkuAgeInfo = () =>
212
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_UNKU_AGE_INFO, 'xwa2_get_unku_age_info')
218
213
 
219
214
  const submitAge = (birthYear, country = null) => {
220
215
  const input = { birth_year: birthYear }
@@ -242,13 +237,10 @@ const makeRegistrationSocket = sock => {
242
237
  mexQuery({ tos_id: tosId, result }, REGISTRATION_MEX_IDS.TOS_SET_RESULT, 'xwa2_tos_set_result')
243
238
 
244
239
  const validateVerifierConfidence = (verifierId, confidence) =>
245
- mexQuery(
246
- { verifier_id: verifierId, confidence },
247
- REGISTRATION_MEX_IDS.VALIDATE_VERIFIER_CONFIDENCE,
248
- 'xwa2_autoconf_validate_confidence'
249
- )
240
+ mexQuery({ verifier_id: verifierId, confidence }, REGISTRATION_MEX_IDS.VALIDATE_VERIFIER_CONFIDENCE, 'xwa2_validate_verifier_confidence')
250
241
 
251
- const waBinaryDemoQuery = () => mexQuery({}, REGISTRATION_MEX_IDS.WA_BINARY_DEMO, 'xwa2_wa_binary_demo')
242
+ const waBinaryDemoQuery = () =>
243
+ mexQuery({}, REGISTRATION_MEX_IDS.WA_BINARY_DEMO, 'xwa2_wa_binary_demo')
252
244
 
253
245
  const startChatContextIntegrityQuery = jids =>
254
246
  mexQuery(
@@ -267,20 +259,23 @@ const makeRegistrationSocket = sock => {
267
259
  mexQuery(
268
260
  { input: { title, body, scheduled_time: scheduledTime } },
269
261
  REGISTRATION_MEX_IDS.REMINDER_CREATE,
270
- 'xwa2_reminder_set'
262
+ 'xwa2_reminder_create'
271
263
  )
272
264
 
273
265
  const reminderDelete = reminderId =>
274
266
  mexQuery({ reminder_id: reminderId }, REGISTRATION_MEX_IDS.REMINDER_DELETE, 'xwa2_reminder_delete')
275
267
 
276
- const ohaiKeyConfigQuery = () => mexQuery({}, REGISTRATION_MEX_IDS.OHAI_KEY_CONFIG, 'xwa2_ohai_key_config')
268
+ const ohaiKeyConfigQuery = () =>
269
+ mexQuery({}, REGISTRATION_MEX_IDS.OHAI_KEY_CONFIG, 'xwa2_ohai_key_config')
277
270
 
278
271
  const requestPeerLogsUpload = bugId =>
279
272
  mexQuery({ bug_id: bugId }, REGISTRATION_MEX_IDS.REQUEST_PEER_LOGS_UPLOAD, 'xwa2_request_peer_logs_upload')
280
273
 
281
- const hasBusinessIntent = () => mexQuery({}, REGISTRATION_MEX_IDS.HAS_BUSINESS_INTENT, 'xwa2_has_business_intent')
274
+ const hasBusinessIntent = () =>
275
+ mexQuery({}, REGISTRATION_MEX_IDS.HAS_BUSINESS_INTENT, 'xwa2_has_business_intent')
282
276
 
283
- const escpsMigration = () => mexQuery({}, REGISTRATION_MEX_IDS.ESCPS_MIGRATION, 'xwa2_escps_migration')
277
+ const escpsMigration = () =>
278
+ mexQuery({}, REGISTRATION_MEX_IDS.ESCPS_MIGRATION, 'xwa2_escps_migration')
284
279
 
285
280
  const createEnforcementAppeal = (reason, details = null) => {
286
281
  const input = { reason }
@@ -289,59 +284,59 @@ const makeRegistrationSocket = sock => {
289
284
  }
290
285
 
291
286
  const getAutoConfChallenge = () =>
292
- mexQuery({}, REGISTRATION_MEX_IDS.GET_AUTO_CONF_CHALLENGE, 'xwa2_autoconf_request_confidence_challenge')
287
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_AUTO_CONF_CHALLENGE, 'xwa2_get_auto_conf_challenge')
293
288
 
294
- const getWaOldResponse = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_OLD_RESPONSE, 'xwa2_get_wa_old_response')
289
+ const getWaOldResponse = () =>
290
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_OLD_RESPONSE, 'xwa2_get_wa_old_response')
295
291
 
296
- const getWaMeLink = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_ME_LINK, 'xwa2_get_wa_me_link')
292
+ const getWaMeLink = () =>
293
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_ME_LINK, 'xwa2_get_wa_me_link')
297
294
 
298
- const fetchBotPkiCrl = () => mexQuery({}, REGISTRATION_MEX_IDS.FETCH_BOT_PKI_CRL, 'xwa2_fetch_bot_pki_crl')
295
+ const fetchBotPkiCrl = () =>
296
+ mexQuery({}, REGISTRATION_MEX_IDS.FETCH_BOT_PKI_CRL, 'xwa2_fetch_bot_pki_crl')
299
297
 
300
298
  const teeChatParticipationToken = (chatJid, participants) =>
301
- mexQuery({ chat_jid: chatJid, participants }, REGISTRATION_MEX_IDS.TEE_CHAT_TOKEN, 'xwa2_generate_wa_tee_gs_token')
299
+ mexQuery({ chat_jid: chatJid, participants }, REGISTRATION_MEX_IDS.TEE_CHAT_TOKEN, 'xwa2_tee_chat_participation_generate_token')
302
300
 
303
301
  // ── Linking data bundles ─────────────────────────────────────────────────
304
302
 
305
303
  const generateLinkingBundle = () =>
306
- mexQuery({}, REGISTRATION_MEX_IDS.GENERATE_LINKING_BUNDLE, 'xwa2_waffle_generate_linking_data_bundle')
304
+ mexQuery({}, REGISTRATION_MEX_IDS.GENERATE_LINKING_BUNDLE, 'xwa2_generate_linking_bundle')
307
305
 
308
306
  const getCacheableUnlinkedBundle = () =>
309
307
  mexQuery({}, REGISTRATION_MEX_IDS.GET_CACHEABLE_UNLINKED_BUNDLE, 'xwa2_get_cacheable_unlinked_bundle')
310
308
 
311
- const getUnlinkedBundle = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_UNLINKED_BUNDLE, 'xwa2_get_unlinked_bundle')
312
-
313
- const getDsbInfo = () => mexQuery({}, REGISTRATION_MEX_IDS.GET_DSB_INFO, 'xwa2_get_dsb_info')
314
-
315
- const wamoUserIdVersion = () => mexQuery({}, REGISTRATION_MEX_IDS.WAMO_USER_ID_VERSION, 'xwa2_wamo_user_id_version')
309
+ const getUnlinkedBundle = () =>
310
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_UNLINKED_BUNDLE, 'xwa2_get_unlinked_bundle')
316
311
 
317
- const setWamoUserIdVersion = version =>
318
- mexQuery({ version }, REGISTRATION_MEX_IDS.WAMO_SET_USER_ID_VERSION, 'xwa2_wamo_user_id_version_set')
312
+ const getDsbInfo = () =>
313
+ mexQuery({}, REGISTRATION_MEX_IDS.GET_DSB_INFO, 'xwa2_get_dsb_info')
319
314
 
320
315
  // ── WWW / web companion ──────────────────────────────────────────────────
321
316
 
322
317
  const wwwCreateAccessToken = (nonce, userId) =>
323
318
  mexQuery({ nonce, user_id: userId }, REGISTRATION_MEX_IDS.WWW_CREATE_ACCESS_TOKEN, 'xwa2_www_create_access_token')
324
319
 
325
- const wwwCreateUser = input => mexQuery({ input }, REGISTRATION_MEX_IDS.WWW_CREATE_USER, 'xwa2_www_create_user')
320
+ const wwwCreateUser = input =>
321
+ mexQuery({ input }, REGISTRATION_MEX_IDS.WWW_CREATE_USER, 'xwa2_www_create_user')
326
322
 
327
- const wwwDeleteUser = () => mexQuery({}, REGISTRATION_MEX_IDS.WWW_DELETE_USER, 'xwa2_www_delete_user')
323
+ const wwwDeleteUser = () =>
324
+ mexQuery({}, REGISTRATION_MEX_IDS.WWW_DELETE_USER, 'xwa2_www_delete_user')
328
325
 
329
326
  const wwwExchangeNonce = nonce =>
330
327
  mexQuery({ nonce }, REGISTRATION_MEX_IDS.WWW_EXCHANGE_NONCE, 'xwa2_www_exchange_nonce_for_access_token')
331
328
 
332
- const wwwGetCertificates = () => mexQuery({}, REGISTRATION_MEX_IDS.WWW_GET_CERTIFICATES, 'xwa2_www_get_certificates')
329
+ const wwwGetCertificates = () =>
330
+ mexQuery({}, REGISTRATION_MEX_IDS.WWW_GET_CERTIFICATES, 'xwa2_www_get_certificates')
333
331
 
334
- const wwwGetNonce = () => mexQuery({}, REGISTRATION_MEX_IDS.WWW_GET_NONCE, 'xwa2_ent_get_canonical_ent_device_nonce')
332
+ const wwwGetNonce = () =>
333
+ mexQuery({}, REGISTRATION_MEX_IDS.WWW_GET_NONCE, 'xwa2_www_get_nonce_for_companion_device')
335
334
 
336
335
  const wwwTradeNonces = nonces =>
337
336
  mexQuery({ nonces }, REGISTRATION_MEX_IDS.WWW_TRADE_NONCES, 'xwa2_www_trade_nonce_for_access_tokens')
338
337
 
339
338
  const wwwTriggerRecovery = phoneNumber =>
340
- mexQuery(
341
- { phone_number: phoneNumber },
342
- REGISTRATION_MEX_IDS.WWW_TRIGGER_RECOVERY,
343
- 'xwa2_www_trigger_account_recovery'
344
- )
339
+ mexQuery({ phone_number: phoneNumber }, REGISTRATION_MEX_IDS.WWW_TRIGGER_RECOVERY, 'xwa2_www_trigger_account_recovery')
345
340
 
346
341
  const wwwValidateCanonicalUser = token =>
347
342
  mexQuery({ token }, REGISTRATION_MEX_IDS.WWW_VALIDATE_CANONICAL_USER, 'xwa2_www_validate_canonical_user')
@@ -415,8 +410,6 @@ const makeRegistrationSocket = sock => {
415
410
  getCacheableUnlinkedBundle,
416
411
  getUnlinkedBundle,
417
412
  getDsbInfo,
418
- wamoUserIdVersion,
419
- setWamoUserIdVersion,
420
413
  // WWW
421
414
  wwwCreateAccessToken,
422
415
  wwwCreateUser,