@badzz88/baileys 8.5.4 → 8.5.5
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.
- package/README.md +1 -1
- package/WAProto/WAProto.proto +75 -1256
- package/WAProto/index.d.ts +19729 -36122
- package/WAProto/index.js +132193 -178538
- package/engine-requirements.js +15 -7
- package/lib/Defaults/index.js +14 -22
- package/lib/Signal/Group/group_cipher.js +5 -5
- package/lib/Signal/Group/keyhelper.js +4 -4
- package/lib/Signal/Group/sender-chain-key.js +2 -2
- package/lib/Signal/Group/sender-key-distribution-message.js +1 -1
- package/lib/Signal/Group/sender-key-message.js +3 -3
- package/lib/Signal/Group/sender-key-record.js +1 -1
- package/lib/Signal/Group/sender-message-key.js +5 -5
- package/lib/Signal/libsignal.js +28 -39
- package/lib/Signal/lid-mapping.js +8 -28
- package/lib/Socket/aigroups.js +5 -5
- package/lib/Socket/business.js +11 -3
- package/lib/Socket/chats.js +319 -668
- package/lib/Socket/communities.js +89 -85
- package/lib/Socket/graphql.js +228 -435
- package/lib/Socket/groups.js +211 -132
- package/lib/Socket/index.js +7 -9
- package/lib/Socket/interactive-handler.js +60 -117
- package/lib/Socket/interop.js +175 -56
- package/lib/Socket/luxu.js +387 -0
- package/lib/Socket/managed-account.js +48 -79
- package/lib/Socket/messages-recv.js +340 -898
- package/lib/Socket/messages-send.js +160 -462
- package/lib/Socket/mex.js +53 -40
- package/lib/Socket/newsletter.js +295 -291
- package/lib/Socket/privacy.js +265 -77
- package/lib/Socket/registration.js +157 -164
- package/lib/Socket/socket.js +199 -181
- package/lib/Socket/text-router.js +83 -0
- package/lib/Socket/username.js +227 -144
- package/lib/Store/keyed-db.js +108 -0
- package/lib/Store/make-cache-manager-store.js +2 -2
- package/lib/Store/make-in-memory-store.js +141 -25
- package/lib/Types/Auth.js +3 -3
- package/lib/Types/Label.js +1 -1
- package/lib/Types/LabelAssociation.js +1 -1
- package/lib/Types/Mex.js +112 -0
- package/lib/Types/Newsletter.js +65 -96
- package/lib/Types/State.js +4 -4
- package/lib/Types/index.js +1 -1
- package/lib/Utils/auth-utils.js +57 -52
- package/lib/Utils/browser-utils.js +1 -1
- package/lib/Utils/business.js +6 -2
- package/lib/Utils/chat-utils.js +38 -102
- package/lib/Utils/command-loader.d.ts +31 -0
- package/lib/Utils/command-loader.js +100 -0
- package/lib/Utils/companion-reg-client-utils.js +42 -0
- package/lib/Utils/crypto.js +84 -54
- package/lib/Utils/curve25519-js.js +275 -0
- package/lib/Utils/decode-wa-message.js +83 -316
- package/lib/Utils/event-buffer.js +61 -37
- package/lib/Utils/generics.js +103 -157
- package/lib/Utils/group-history.js +12 -3
- package/lib/Utils/history.js +15 -15
- package/lib/Utils/index.js +5 -1
- package/lib/Utils/link-preview.js +8 -3
- package/lib/Utils/lt-hash.js +35 -2
- package/lib/Utils/make-mutex.js +1 -1
- package/lib/Utils/message-retry-manager.js +92 -27
- package/lib/Utils/messages-media.js +130 -159
- package/lib/Utils/messages.js +566 -144
- package/lib/Utils/meta-ai-msmsg.js +202 -62
- package/lib/Utils/native-bridge.js +82 -0
- package/lib/Utils/noise-handler.js +21 -19
- package/lib/Utils/offline-node-processor.js +8 -3
- package/lib/Utils/pre-key-manager.js +23 -13
- package/lib/Utils/process-message.js +106 -197
- package/lib/Utils/reporting-utils.js +2 -2
- package/lib/Utils/session-pool.d.ts +16 -0
- package/lib/Utils/session-pool.js +94 -0
- package/lib/Utils/signal.js +63 -28
- package/lib/Utils/stanza-ack.js +12 -39
- package/lib/Utils/sticker.d.ts +17 -0
- package/lib/Utils/sticker.js +145 -0
- package/lib/Utils/sync-action-utils.js +7 -4
- package/lib/Utils/tc-token-utils.js +25 -20
- package/lib/Utils/use-multi-file-auth-state.js +14 -30
- package/lib/Utils/validate-connection.js +19 -59
- package/lib/Utils/view-once-cache.d.ts +9 -0
- package/lib/Utils/view-once-cache.js +79 -0
- package/lib/WABinary/decode.js +16 -50
- package/lib/WABinary/encode.js +224 -54
- package/lib/WABinary/generic-utils.js +97 -7
- package/lib/WABinary/jid-utils.js +14 -27
- package/lib/WAM/encode.js +7 -7
- package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +1 -58
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +1 -7
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +5 -13
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +4 -1
- package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +7 -20
- package/lib/WAUSync/Protocols/USyncPictureProtocol.js +1 -1
- package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -7
- package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +1 -1
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +1 -2
- package/lib/WAUSync/Protocols/index.js +0 -1
- package/lib/WAUSync/USyncQuery.js +6 -77
- package/lib/WAUSync/USyncUser.js +8 -16
- package/lib/WAUSync/index.js +0 -1
- package/lib/antiban.js +854 -608
- package/lib/index.js +1 -1
- package/package.json +20 -16
|
@@ -5,86 +5,83 @@ exports.makeRegistrationSocket = void 0
|
|
|
5
5
|
const { executeWMexQuery } = require('./mex')
|
|
6
6
|
|
|
7
7
|
const REGISTRATION_MEX_IDS = {
|
|
8
|
-
|
|
9
|
-
HAS_PASSWORD: '
|
|
10
|
-
SET_PASSWORD: '33855141324134176',
|
|
11
|
-
CHECK_PASSWORD: '
|
|
12
|
-
DELETE_PASSWORD: '
|
|
13
|
-
|
|
14
|
-
PASSKEY_EXIST: '25188064727509430',
|
|
15
|
-
PASSKEY_LIST_EXIST: '
|
|
16
|
-
PASSKEY_REQUEST_CHALLENGE: '
|
|
17
|
-
PASSKEY_VERIFY_CHALLENGE: '
|
|
18
|
-
PASSKEY_DELETE: '
|
|
19
|
-
|
|
20
|
-
REG_PASSKEY_START: '25415371271434748',
|
|
21
|
-
REG_PASSKEY_FINISH: '24611221275218156',
|
|
22
|
-
REG_PASSKEY_ENABLE: '
|
|
23
|
-
REG_PASSKEY_DISABLE: '
|
|
24
|
-
REG_PASSKEY_CLEAR: '
|
|
25
|
-
REG_PASSKEY_UPDATE_ENCRYPTION_STATUS: '24866837389649930',
|
|
26
|
-
|
|
27
|
-
GET_REGISTRATION_UPSELLS: '
|
|
28
|
-
GET_DYNAMIC_REGISTRATION_UPSELLS: '
|
|
29
|
-
REGISTRATION_UPSELL_SHOWN: '
|
|
30
|
-
REGISTRATION_DYNAMIC_UPSELL_SHOWN: '25435755019399064',
|
|
31
|
-
REG_ACCOUNT_TRANSFER_VERIFY_TOKEN: '7580940708621318',
|
|
32
|
-
|
|
33
|
-
CONTACTS_UPLOAD: '
|
|
34
|
-
CONTACTS_BACKUP: '
|
|
35
|
-
CONTACTS_BACKUP_QUERY: '
|
|
36
|
-
SELF_CONTACTS: '25273846082242404',
|
|
37
|
-
SUGGESTED_CONTACTS_V2: '
|
|
38
|
-
USYNC: '
|
|
39
|
-
USER_COUNTRY_CODE: '
|
|
40
|
-
|
|
41
|
-
AGE_COLLECTION: '
|
|
42
|
-
GET_AGE_EXPERIENCE: '26567868986241476',
|
|
43
|
-
SET_AGE_EXPERIENCE: '
|
|
44
|
-
GET_UNKU_AGE_INFO: '
|
|
45
|
-
SUBMIT_AGE: '
|
|
46
|
-
|
|
47
|
-
GET_IMAGINE_ME_ONBOARDED: '
|
|
48
|
-
DELETE_IMAGINE_ME_ONBOARDING: '7106989772737677',
|
|
49
|
-
|
|
50
|
-
FETCH_USER_NOTICES: '
|
|
51
|
-
REMOVE_REACHOUT_TIMELOCK: '
|
|
52
|
-
TOS_SET_RESULT: '
|
|
53
|
-
VALIDATE_VERIFIER_CONFIDENCE: '25879669248324812',
|
|
54
|
-
WA_BINARY_DEMO: '25407430348912370',
|
|
55
|
-
START_CHAT_CONTEXT_INTEGRITY: '
|
|
56
|
-
MESSAGE_CAPPING_OTE: '
|
|
57
|
-
MOBILE_CONFIG_CONSISTENCY: '
|
|
58
|
-
REMINDER_CREATE: '
|
|
59
|
-
REMINDER_DELETE: '
|
|
60
|
-
OHAI_KEY_CONFIG: '
|
|
61
|
-
REQUEST_PEER_LOGS_UPLOAD: '
|
|
62
|
-
HAS_BUSINESS_INTENT: '
|
|
63
|
-
ESCPS_MIGRATION: '25342222212064844',
|
|
64
|
-
CREATE_ENFORCEMENT_APPEAL: '
|
|
65
|
-
GET_AUTO_CONF_CHALLENGE: '
|
|
66
|
-
GET_WA_OLD_RESPONSE: '
|
|
67
|
-
GET_WA_ME_LINK: '
|
|
68
|
-
FETCH_BOT_PKI_CRL: '
|
|
69
|
-
TEE_CHAT_TOKEN: '25920135234315276',
|
|
70
|
-
|
|
71
|
-
GENERATE_LINKING_BUNDLE: '
|
|
72
|
-
GET_CACHEABLE_UNLINKED_BUNDLE: '
|
|
73
|
-
GET_UNLINKED_BUNDLE: '
|
|
74
|
-
GET_DSB_INFO: '24832343819719050',
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
WWW_TRADE_NONCES: '24184092467936760',
|
|
86
|
-
WWW_TRIGGER_RECOVERY: '24896267680055094',
|
|
87
|
-
WWW_VALIDATE_CANONICAL_USER: '25434261326170403'
|
|
8
|
+
// Password
|
|
9
|
+
HAS_PASSWORD: '25379221318423480', // HasPasswordQuery
|
|
10
|
+
SET_PASSWORD: '33855141324134176', // SetPasswordMutation
|
|
11
|
+
CHECK_PASSWORD: '26881928138061630', // CheckPasswordMutation
|
|
12
|
+
DELETE_PASSWORD: '27247058691550584', // DeletePasswordMutation
|
|
13
|
+
// Passkey (account-level)
|
|
14
|
+
PASSKEY_EXIST: '25188064727509430', // PasskeyExistResponseQuery
|
|
15
|
+
PASSKEY_LIST_EXIST: '26930537423220680', // PasskeyListExistResponseQuery
|
|
16
|
+
PASSKEY_REQUEST_CHALLENGE: '26311497405176140', // PasskeyRequestChallengeMutation
|
|
17
|
+
PASSKEY_VERIFY_CHALLENGE: '26876394218624480', // PasskeyVerifyChallengeMutation
|
|
18
|
+
PASSKEY_DELETE: '25225683640428244', // PasskeyDeleteMutation
|
|
19
|
+
// Passkey (registration flow)
|
|
20
|
+
REG_PASSKEY_START: '25415371271434748', // RegistrationPasskeyStartRegisterMutation
|
|
21
|
+
REG_PASSKEY_FINISH: '24611221275218156', // RegistrationPasskeyFinishRegisterMutation
|
|
22
|
+
REG_PASSKEY_ENABLE: '25147880151540250', // RegistrationPasskeyEnableMutation
|
|
23
|
+
REG_PASSKEY_DISABLE: '27775237998742830', // RegistrationPasskeyDisableMutation
|
|
24
|
+
REG_PASSKEY_CLEAR: '25111972538494860', // RegistrationPasskeyClear
|
|
25
|
+
REG_PASSKEY_UPDATE_ENCRYPTION_STATUS: '24866837389649930', // RegistrationPasskeyUpdateClientEncryptionStatusMutation
|
|
26
|
+
// Registration upsells
|
|
27
|
+
GET_REGISTRATION_UPSELLS: '24265038133175292', // GetRegistrationUpsells
|
|
28
|
+
GET_DYNAMIC_REGISTRATION_UPSELLS: '32273353145641324', // GetDynamicRegistrationUpsells
|
|
29
|
+
REGISTRATION_UPSELL_SHOWN: '25896605016620944', // RegistrationUpsellShown
|
|
30
|
+
REGISTRATION_DYNAMIC_UPSELL_SHOWN: '25435755019399064', // RegistrationDynamicUpsellShown
|
|
31
|
+
REG_ACCOUNT_TRANSFER_VERIFY_TOKEN: '7580940708621318', // RegAccountTransferVerifyTokenMutation
|
|
32
|
+
// Contacts
|
|
33
|
+
CONTACTS_UPLOAD: '26270332909283336', // ContactsUploadMutation
|
|
34
|
+
CONTACTS_BACKUP: '25507366408898460', // ContactsBackupMutation
|
|
35
|
+
CONTACTS_BACKUP_QUERY: '25885591041046970', // ContactsBackupQuery
|
|
36
|
+
SELF_CONTACTS: '25273846082242404', // SelfContactsQuery
|
|
37
|
+
SUGGESTED_CONTACTS_V2: '31663643799945790', // SuggestedContactsV2
|
|
38
|
+
USYNC: '25973385702344490', // UsyncQuery
|
|
39
|
+
USER_COUNTRY_CODE: '25292528387076990', // UserCountryCodeGet
|
|
40
|
+
// Age verification
|
|
41
|
+
AGE_COLLECTION: '33502711132676936', // AgeCollection
|
|
42
|
+
GET_AGE_EXPERIENCE: '26567868986241476', // GetAgeExperience
|
|
43
|
+
SET_AGE_EXPERIENCE: '26051006311231324', // SetAgeExperienceMutation
|
|
44
|
+
GET_UNKU_AGE_INFO: '34766883369623610', // GetUNKUAgeCollectionInfoQuery
|
|
45
|
+
SUBMIT_AGE: '26049558371296620', // SubmitAge
|
|
46
|
+
// Imagine Me
|
|
47
|
+
GET_IMAGINE_ME_ONBOARDED: '25082125671408944', // GetImagineMeOnboarded
|
|
48
|
+
DELETE_IMAGINE_ME_ONBOARDING: '7106989772737677', // DeleteImagineMeOnboarding
|
|
49
|
+
// Misc account
|
|
50
|
+
FETCH_USER_NOTICES: '32114003924880384', // FetchUserNoticesByID
|
|
51
|
+
REMOVE_REACHOUT_TIMELOCK: '25040013452293170', // RemoveAccountReachoutTimelock
|
|
52
|
+
TOS_SET_RESULT: '25225843213776556', // TosSetResult
|
|
53
|
+
VALIDATE_VERIFIER_CONFIDENCE: '25879669248324812', // ValidateVerifierConfidence
|
|
54
|
+
WA_BINARY_DEMO: '25407430348912370', // WABinaryDemoQuery
|
|
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
|
+
ESCPS_MIGRATION: '25342222212064844', // EscpsMigration
|
|
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
|
+
TEE_CHAT_TOKEN: '25920135234315276', // TeeChatParticipationGenerateToken
|
|
70
|
+
// Linking data bundles
|
|
71
|
+
GENERATE_LINKING_BUNDLE: '24469763446033136', // GenerateLinkingDataBundle
|
|
72
|
+
GET_CACHEABLE_UNLINKED_BUNDLE: '26339420835710172', // GetCacheableUnlinkedDataBundle
|
|
73
|
+
GET_UNLINKED_BUNDLE: '25515726664782896', // GetUnlinkedDataBundle
|
|
74
|
+
GET_DSB_INFO: '24832343819719050', // GetDsbInfo
|
|
75
|
+
// WWW / web companion
|
|
76
|
+
WWW_CREATE_ACCESS_TOKEN: '7956082757804344', // WWWCreateAccessToken
|
|
77
|
+
WWW_CREATE_USER: '8548056818544135', // WWWCreateUser
|
|
78
|
+
WWW_DELETE_USER: '7989555047767245', // WWWDeleteUser
|
|
79
|
+
WWW_EXCHANGE_NONCE: '25727187160203620', // WWWExchangeNonceForAccessToken
|
|
80
|
+
WWW_GET_CERTIFICATES: '25094190163544450', // WWWGetCertificates
|
|
81
|
+
WWW_GET_NONCE: '24635485196143064', // WWWGetNonceForCompanionDevice
|
|
82
|
+
WWW_TRADE_NONCES: '24184092467936760', // WWWTradeNonceForAccessTokens
|
|
83
|
+
WWW_TRIGGER_RECOVERY: '24896267680055096', // WWWTriggerAcountRecovery
|
|
84
|
+
WWW_VALIDATE_CANONICAL_USER: '25434261326170404' // WWWValidateCanonicalUser
|
|
88
85
|
}
|
|
89
86
|
|
|
90
87
|
const makeRegistrationSocket = sock => {
|
|
@@ -93,7 +90,7 @@ const makeRegistrationSocket = sock => {
|
|
|
93
90
|
const mexQuery = (variables, queryId, dataPath) =>
|
|
94
91
|
executeWMexQuery(variables, queryId, dataPath, query, generateMessageTag)
|
|
95
92
|
|
|
96
|
-
|
|
93
|
+
// ── Password ────────────────────────────────────────────────────────────
|
|
97
94
|
|
|
98
95
|
const hasPassword = () => mexQuery({}, REGISTRATION_MEX_IDS.HAS_PASSWORD, 'xwa2_has_password')
|
|
99
96
|
|
|
@@ -109,7 +106,7 @@ const makeRegistrationSocket = sock => {
|
|
|
109
106
|
const deletePassword = password =>
|
|
110
107
|
mexQuery({ input: { password } }, REGISTRATION_MEX_IDS.DELETE_PASSWORD, 'xwa2_delete_password')
|
|
111
108
|
|
|
112
|
-
|
|
109
|
+
// ── Passkey (account-level) ─────────────────────────────────────────────
|
|
113
110
|
|
|
114
111
|
const passkeyExists = () => mexQuery({}, REGISTRATION_MEX_IDS.PASSKEY_EXIST, 'xwa2_passkey_exist_response')
|
|
115
112
|
|
|
@@ -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
|
)
|
|
@@ -134,9 +126,10 @@ const makeRegistrationSocket = sock => {
|
|
|
134
126
|
const passkeyDelete = credentialId =>
|
|
135
127
|
mexQuery({ credential_id: credentialId }, REGISTRATION_MEX_IDS.PASSKEY_DELETE, 'xwa2_passkey_delete')
|
|
136
128
|
|
|
137
|
-
|
|
129
|
+
// ── Passkey (registration flow) ─────────────────────────────────────────
|
|
138
130
|
|
|
139
|
-
const regPasskeyStart = () =>
|
|
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 = () =>
|
|
141
|
+
const regPasskeyEnable = () =>
|
|
142
|
+
mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_ENABLE, 'xwa2_reg_passkey_enable')
|
|
149
143
|
|
|
150
|
-
const regPasskeyDisable = () =>
|
|
144
|
+
const regPasskeyDisable = () =>
|
|
145
|
+
mexQuery({}, REGISTRATION_MEX_IDS.REG_PASSKEY_DISABLE, 'xwa2_reg_passkey_disable')
|
|
151
146
|
|
|
152
|
-
const regPasskeyClear = () =>
|
|
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(
|
|
@@ -158,32 +154,24 @@ const makeRegistrationSocket = sock => {
|
|
|
158
154
|
'xwa2_reg_passkey_update_encryption_status'
|
|
159
155
|
)
|
|
160
156
|
|
|
161
|
-
|
|
157
|
+
// ── Registration upsells ────────────────────────────────────────────────
|
|
162
158
|
|
|
163
159
|
const getRegistrationUpsells = () =>
|
|
164
|
-
mexQuery({}, REGISTRATION_MEX_IDS.GET_REGISTRATION_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, '
|
|
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, '
|
|
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
|
|
|
188
176
|
const contactsUpload = contacts =>
|
|
189
177
|
mexQuery({ contacts }, REGISTRATION_MEX_IDS.CONTACTS_UPLOAD, 'xwa2_contacts_upload')
|
|
@@ -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 = () =>
|
|
182
|
+
const contactsBackupQuery = () =>
|
|
183
|
+
mexQuery({}, REGISTRATION_MEX_IDS.CONTACTS_BACKUP_QUERY, 'xwa2_contacts_backup')
|
|
195
184
|
|
|
196
|
-
const selfContactsQuery = () =>
|
|
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 =>
|
|
191
|
+
const usyncQuery = jids =>
|
|
192
|
+
mexQuery({ jids }, REGISTRATION_MEX_IDS.USYNC, 'xwa2_usync')
|
|
202
193
|
|
|
203
|
-
const userCountryCodeGet = () =>
|
|
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 = () =>
|
|
199
|
+
const ageCollection = () =>
|
|
200
|
+
mexQuery({}, REGISTRATION_MEX_IDS.AGE_COLLECTION, 'xwa2_age_collection')
|
|
208
201
|
|
|
209
|
-
const getAgeExperience = () =>
|
|
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 = () =>
|
|
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 }
|
|
@@ -222,7 +217,7 @@ const makeRegistrationSocket = sock => {
|
|
|
222
217
|
return mexQuery({ input }, REGISTRATION_MEX_IDS.SUBMIT_AGE, 'xwa2_submit_age')
|
|
223
218
|
}
|
|
224
219
|
|
|
225
|
-
|
|
220
|
+
// ── Imagine Me ───────────────────────────────────────────────────────────
|
|
226
221
|
|
|
227
222
|
const getImagineMeOnboarded = () =>
|
|
228
223
|
mexQuery({}, REGISTRATION_MEX_IDS.GET_IMAGINE_ME_ONBOARDED, 'xwa2_get_imagine_me_onboarded')
|
|
@@ -230,7 +225,7 @@ const makeRegistrationSocket = sock => {
|
|
|
230
225
|
const deleteImagineMeOnboarding = () =>
|
|
231
226
|
mexQuery({}, REGISTRATION_MEX_IDS.DELETE_IMAGINE_ME_ONBOARDING, 'xwa2_delete_imagine_me_onboarding')
|
|
232
227
|
|
|
233
|
-
|
|
228
|
+
// ── Misc account ─────────────────────────────────────────────────────────
|
|
234
229
|
|
|
235
230
|
const fetchUserNoticesById = noticeIds =>
|
|
236
231
|
mexQuery({ notice_ids: noticeIds }, REGISTRATION_MEX_IDS.FETCH_USER_NOTICES, 'xwa2_fetch_user_notices_by_id')
|
|
@@ -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 = () =>
|
|
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
|
-
'
|
|
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 = () =>
|
|
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 = () =>
|
|
274
|
+
const hasBusinessIntent = () =>
|
|
275
|
+
mexQuery({}, REGISTRATION_MEX_IDS.HAS_BUSINESS_INTENT, 'xwa2_has_business_intent')
|
|
282
276
|
|
|
283
|
-
const escpsMigration = () =>
|
|
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,90 +284,90 @@ const makeRegistrationSocket = sock => {
|
|
|
289
284
|
}
|
|
290
285
|
|
|
291
286
|
const getAutoConfChallenge = () =>
|
|
292
|
-
mexQuery({}, REGISTRATION_MEX_IDS.GET_AUTO_CONF_CHALLENGE, '
|
|
287
|
+
mexQuery({}, REGISTRATION_MEX_IDS.GET_AUTO_CONF_CHALLENGE, 'xwa2_get_auto_conf_challenge')
|
|
293
288
|
|
|
294
|
-
const getWaOldResponse = () =>
|
|
289
|
+
const getWaOldResponse = () =>
|
|
290
|
+
mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_OLD_RESPONSE, 'xwa2_get_wa_old_response')
|
|
295
291
|
|
|
296
|
-
const getWaMeLink = () =>
|
|
292
|
+
const getWaMeLink = () =>
|
|
293
|
+
mexQuery({}, REGISTRATION_MEX_IDS.GET_WA_ME_LINK, 'xwa2_get_wa_me_link')
|
|
297
294
|
|
|
298
|
-
const fetchBotPkiCrl = () =>
|
|
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, '
|
|
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, '
|
|
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 = () =>
|
|
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
|
|
318
|
-
mexQuery({
|
|
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 =>
|
|
320
|
+
const wwwCreateUser = input =>
|
|
321
|
+
mexQuery({ input }, REGISTRATION_MEX_IDS.WWW_CREATE_USER, 'xwa2_www_create_user')
|
|
326
322
|
|
|
327
|
-
const wwwDeleteUser = () =>
|
|
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 = () =>
|
|
329
|
+
const wwwGetCertificates = () =>
|
|
330
|
+
mexQuery({}, REGISTRATION_MEX_IDS.WWW_GET_CERTIFICATES, 'xwa2_www_get_certificates')
|
|
333
331
|
|
|
334
|
-
const wwwGetNonce = () =>
|
|
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')
|
|
348
343
|
|
|
349
344
|
return {
|
|
350
345
|
...sock,
|
|
351
|
-
|
|
346
|
+
// Password
|
|
352
347
|
hasPassword,
|
|
353
348
|
setPassword,
|
|
354
349
|
checkPassword,
|
|
355
350
|
deletePassword,
|
|
356
|
-
|
|
351
|
+
// Passkey account-level
|
|
357
352
|
passkeyExists,
|
|
358
353
|
passkeyListExists,
|
|
359
354
|
passkeyRequestChallenge,
|
|
360
355
|
passkeyVerifyChallenge,
|
|
361
356
|
passkeyDelete,
|
|
362
|
-
|
|
357
|
+
// Passkey registration flow
|
|
363
358
|
regPasskeyStart,
|
|
364
359
|
regPasskeyFinish,
|
|
365
360
|
regPasskeyEnable,
|
|
366
361
|
regPasskeyDisable,
|
|
367
362
|
regPasskeyClear,
|
|
368
363
|
regPasskeyUpdateEncryptionStatus,
|
|
369
|
-
|
|
364
|
+
// Registration upsells
|
|
370
365
|
getRegistrationUpsells,
|
|
371
366
|
getDynamicRegistrationUpsells,
|
|
372
367
|
registrationUpsellShown,
|
|
373
368
|
registrationDynamicUpsellShown,
|
|
374
369
|
regAccountTransferVerifyToken,
|
|
375
|
-
|
|
370
|
+
// Contacts
|
|
376
371
|
contactsUpload,
|
|
377
372
|
contactsBackup,
|
|
378
373
|
contactsBackupQuery,
|
|
@@ -380,16 +375,16 @@ const makeRegistrationSocket = sock => {
|
|
|
380
375
|
suggestedContactsV2,
|
|
381
376
|
usyncQuery,
|
|
382
377
|
userCountryCodeGet,
|
|
383
|
-
|
|
378
|
+
// Age
|
|
384
379
|
ageCollection,
|
|
385
380
|
getAgeExperience,
|
|
386
381
|
setAgeExperience,
|
|
387
382
|
getUnkuAgeInfo,
|
|
388
383
|
submitAge,
|
|
389
|
-
|
|
384
|
+
// Imagine Me
|
|
390
385
|
getImagineMeOnboarded,
|
|
391
386
|
deleteImagineMeOnboarding,
|
|
392
|
-
|
|
387
|
+
// Misc account
|
|
393
388
|
fetchUserNoticesById,
|
|
394
389
|
removeAccountReachoutTimelock,
|
|
395
390
|
tosSetResult,
|
|
@@ -410,14 +405,12 @@ const makeRegistrationSocket = sock => {
|
|
|
410
405
|
getWaMeLink,
|
|
411
406
|
fetchBotPkiCrl,
|
|
412
407
|
teeChatParticipationToken,
|
|
413
|
-
|
|
408
|
+
// Linking
|
|
414
409
|
generateLinkingBundle,
|
|
415
410
|
getCacheableUnlinkedBundle,
|
|
416
411
|
getUnlinkedBundle,
|
|
417
412
|
getDsbInfo,
|
|
418
|
-
|
|
419
|
-
setWamoUserIdVersion,
|
|
420
|
-
|
|
413
|
+
// WWW
|
|
421
414
|
wwwCreateAccessToken,
|
|
422
415
|
wwwCreateUser,
|
|
423
416
|
wwwDeleteUser,
|