Files
discord-decomp/sources/modules/rtc/SecureFramesUtils.tsx
T
2026-07-27 16:20:00 +03:00

1070 lines
41 KiB
TypeScript

/* Metro module 9275; source: modules/rtc/SecureFramesUtils.tsx; dependencies: [57, 5, 1226, 4259, 4294, 4395, 1878, 9276, 9277, 661, 1948, 9278, 9284, 9260, 9279, 1244, 3995, 3738, 672, 44, 206, 507, 1216, 4647, 4617, 2] */
function _fun72497(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#72497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:6, offset: 0x01d47cec, size: 669 bytes, params: 8, frame: 24
const env0_0 = require;
const _arrayLikeToArray_72500 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const closure = function() {
return importDefault(dependencyMap[10]).getArticleURL(HelpdeskArticles.END_TO_END_ENCRYPTION);
};
const closure2 = function() {
return _getCurrentUserSigningKey.apply(this, arguments);
};
const closure3 = function() {
return _isPublicKeyMatch.apply(this, arguments);
};
const uploadCurrentUserPublicKey = function() {
return _uploadCurrentUserPublicKey.apply(this, arguments);
};
const closure4 = getIsSecureFramesKeyInconsistent;
const closure5 = showSecureFramesKeyInconsistentAlert;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importDefault(5) /* metro dependency 5 */;
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */;
const rtcConnectionStore = importDefault(4294) /* metro dependency 4294: RTCConnectionStore */;
const streamRTCConnectionStore = importDefault(4395) /* metro dependency 4395: StreamRTCConnectionStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const secureFramesPersistedStore = importDefault(9276) /* metro dependency 9276: SecureFramesPersistedStore */;
let value = require(9277) /* metro dependency 9277: SecureFramesConstants */;
const env0_11 = value.AnalyticsSecureFramesUserVerification;
const env0_12 = value.SECURE_FRAMES_PUBLIC_KEY_VERSION;
value = require(661) /* metro dependency 661: Constants */;
const env0_13 = value.LinkingTypes;
const env0_14 = value.Routes;
const env0_15 = value.Endpoints;
const env0_16 = value.HelpdeskArticles;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/rtc/SecureFramesUtils.tsx');
exports.getSecureFramesHelpdeskArticle = closure;
exports.getSecureFramesPersistentCodesHelpdeskArticle = function() {
return importDefault(dependencyMap[10]).getArticleURL(HelpdeskArticles.END_TO_END_ENCRYPTION);
};
exports.getSecureFramesVerifiedDevicesHelpdeskArticle = function() {
return importDefault(dependencyMap[10]).getArticleURL(HelpdeskArticles.END_TO_END_ENCRYPTION);
};
exports.addVerification = addVerification;
exports.deleteVerification = deleteVerification;
exports.deletePersistentVerification = deletePersistentVerification;
exports.deleteUserPersistentVerifications = deleteUserPersistentVerifications;
exports.getSecureFramesUserVerifiedTimestamp = getSecureFramesUserVerifiedTimestamp;
exports.getUserVerificationDeeplink = getUserVerificationDeeplink;
exports.getUserVerifyStateText = getUserVerifyStateText;
exports.getUserVerificationFooterText = getUserVerificationFooterText;
exports.getCurrentUserSigningKey = closure2;
exports.isPublicKeyMatch = closure3;
exports.ensureCurrentUserPublicKey = function() {
return _ensureCurrentUserPublicKey.apply(this, arguments);
};
exports.isCurrentUserPublicKeyMatch = function() {
return _isCurrentUserPublicKeyMatch.apply(this, arguments);
};
exports.getIsSecureFramesKeyInconsistent = closure4;
exports.showSecureFramesKeyInconsistentAlert = closure5;
exports.validateSecureFramesKeyConsistent = validateSecureFramesKeyConsistent;
}
function _createForOfIteratorHelperLoose_72498(a0, a1) { // fn#72498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:353, offset: 0x01d47f89, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun72499;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_72500(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_72500(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_72500(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun72499;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function _getCurrentUserSigningKey() { // fn#72503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:1452, offset: 0x01d4812d, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun72505).apply(this, arguments);
}
function toBase64DataUri(a0) { // fn#72506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:1711, offset: 0x01d481d0, size: 91 bytes, params: 2, frame: 14
var value;
const fromByteArray = (importDefault(206) /* metro dependency 206 */).fromByteArray;
const Uint8Array = global.Uint8Array;
const value2 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}});
const uint8Array = new Uint8Array(a0);
value = Reflect.apply(fromByteArray, value, [uint8Array instanceof Object ? uint8Array : value2]);
return 'data:application/octet-stream;base64,' + value;
}
function _isPublicKeyMatch() { // fn#72508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:1905, offset: 0x01d4822b, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun72510).apply(this, arguments);
}
function _uploadCurrentUserPublicKey() { // fn#72512, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2305, offset: 0x01d48320, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun72514).apply(this, arguments);
}
function isKeyVersionUploaded(a0) { // fn#72515, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2723, offset: 0x01d48453, size: 34 bytes, params: 2, frame: 11
return SecureFramesPersistedStore.getUploadedKeyVersionsCached().includes(a0);
}
function _ensureCurrentUserPublicKey() { // fn#72516, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2808, offset: 0x01d48475, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun72518).apply(this, arguments);
}
function _isCurrentUserPublicKeyMatch() { // fn#72519, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2987, offset: 0x01d484e9, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun72521).apply(this, arguments);
}
function getIsSecureFramesKeyInconsistent(a0, a1) { // fn#72522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:3321, offset: 0x01d485c8, size: 309 bytes, params: 3, frame: 27
var r4;
var r14;
var getSecureFramesRosterMapEntry;
var Uint8Array;
var prototype;
var value5;
var uint8Array;
var value6;
var value7;
var value8;
var done;
var value9;
var value10;
var value11;
var value12;
var length;
var value13;
var value14;
const value2 = env0_3(a1, 2);
const value3 = 0;
let property = value2[value3];
const property2 = value2[1];
let isUserConnected = property.isUserConnected;
if (Reflect.apply(isUserConnected, property, [a0])) {
if (property.getSecureFramesRosterMapEntry(a0) == null) {
return false;
}
Uint8Array = global.Uint8Array;
prototype = Uint8Array.prototype;
value5 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value6 = uint8Array instanceof Object ? uint8Array : value5;
value7 = _createForOfIteratorHelperLoose_72498(property2.getAllActiveStreamKeys());
value8 = value7();
done = value8.done;
if (!done) {
r4 = value8;
reducibleLoop4: while (true) {
value9 = r4.value;
isUserConnected = property2.isUserConnected;
if (Reflect.apply(isUserConnected, property2, [value9, a0])) {
getSecureFramesRosterMapEntry = StreamRTCConnectionStore.getSecureFramesRosterMapEntry;
value10 = Reflect.apply(getSecureFramesRosterMapEntry, StreamRTCConnectionStore, [value9, a0]);
if (value10 == null) {
return true;
}
Uint8Array = global.Uint8Array;
prototype = Uint8Array.prototype;
value11 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value12 = uint8Array instanceof Object ? uint8Array : value11;
length = value6.length;
if (value3 < length) {
r14 = value3;
reducibleLoop7: while (true) {
property = value6[r14];
if (property !== value12[r14]) {
return true;
}
value13 = typeof r14 === 'bigint' ? r14 + 1n : +r14 + 1;
length = value6.length;
if (value13 < length) {
r14 = value13;
continue reducibleLoop7;
}
break reducibleLoop7;
}
}
}
value14 = value7();
done = value14.done;
if (done) {
return false;
}
r4 = value14;
continue reducibleLoop4;
}
}
}
return false;
}
function showSecureFramesKeyInconsistentAlert({userId, channelId, nickname}) { // fn#72523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:3783, offset: 0x01d486fd, size: 229 bytes, params: 2, frame: 20
const secureFramesTrackingModule = require(9284) /* metro dependency 9284: SecureFramesTracking */;
const trackE2EEUserVerificationFailed = secureFramesTrackingModule.trackE2EEUserVerificationFailed;
const OTHER_USER_INCONSISTENT_KEYS = AnalyticsSecureFramesUserVerification.OTHER_USER_INCONSISTENT_KEYS;
Reflect.apply(trackE2EEUserVerificationFailed, secureFramesTrackingModule, [{userId: userId, channelId: channelId,
keyVersion: SECURE_FRAMES_PUBLIC_KEY_VERSION, reason: OTHER_USER_INCONSISTENT_KEYS}]);
const alertActionCreators = importDefault(4647) /* metro dependency 4647: AlertActionCreators */;
const show = alertActionCreators.show;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const format = intl.format;
const WY6IKb = t.WY6IKb;
Reflect.apply(show, alertActionCreators, [{title: Reflect.apply(string, intl, [t.mznLyR]),
body: Reflect.apply(format, intl, [WY6IKb, {username: nickname}])}]);
}
function addVerification(a0, a1, a2, a3, a4) { // fn#72526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:4586, offset: 0x01d487e2, size: 117 bytes, params: 6, frame: 15
const defaultImport = importDefault(9278) /* metro dependency 9278: SecureFramesActionCreators */;
if (a2) {
defaultImport.createSecureFramesVerifiedKey(a0, a1);
} else {
defaultImport.createSecureFramesTransientKey(a0, a1);
}
(require(9284) /* metro dependency 9284: SecureFramesTracking */).trackE2EEUserVerified({channelId: a3, userId: a0,
analyticsLocation: a4});
}
function deleteVerification(a0, a1, a2) { // fn#72527, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:4814, offset: 0x01d48857, size: 143 bytes, params: 4, frame: 18
var moduleValue;
var serializeKey;
var Uint8Array;
var value2;
var uint8Array;
if (a2) {
moduleValue = require(9260) /* metro dependency 9260: libdave */;
serializeKey = moduleValue.serializeKey;
Uint8Array = global.Uint8Array;
value2 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(a1);
(importDefault(9278) /* metro dependency 9278: SecureFramesActionCreators */).deleteSecureFramesVerifiedKey(a0,
Reflect.apply(serializeKey, moduleValue, [uint8Array instanceof Object ? uint8Array : value2]));
} else {
(importDefault(9278) /* metro dependency 9278: SecureFramesActionCreators */).deleteSecureFramesTransientKey(a0);
}
}
function deletePersistentVerification(a0, a1) { // fn#72528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:5030, offset: 0x01d488e6, size: 176 bytes, params: 3, frame: 19
const env0_0 = a0;
const env0_1 = a1;
const defaultImport = importDefault(9279) /* metro dependency 9279: SecureFramesPlatformUtilsNative */;
const openSecureFramesUpdateConfirmation = defaultImport.openSecureFramesUpdateConfirmation;
const object2 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
object2.title = Reflect.apply(string, intl, [t.hdL152]);
object2.subtitle = intl.string(t['8VGYKg']);
object2.onConfirm = onConfirm;
Reflect.apply(openSecureFramesUpdateConfirmation, defaultImport, [object2]);
}
function deleteUserPersistentVerifications(a0) { // fn#72530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:5364, offset: 0x01d489e2, size: 215 bytes, params: 2, frame: 22
const env0_0 = a0;
const name = (importDefault(3995) /* metro dependency 3995: UserUtils */).getName(UserStore.getUser(a0));
const defaultImport2 = importDefault(9279) /* metro dependency 9279: SecureFramesPlatformUtilsNative */;
const openSecureFramesUpdateConfirmation = defaultImport2.openSecureFramesUpdateConfirmation;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const K6NGBy = t.K6NGBy;
const string = intl.string;
const F1BQK3 = t.F1BQK3;
Reflect.apply(openSecureFramesUpdateConfirmation, defaultImport2, [{title: Reflect.apply(formatToPlainString, intl,
[K6NGBy, {username: name}]), subtitle: Reflect.apply(string, intl, [F1BQK3]), onConfirm: onConfirm}]);
}
function getSecureFramesUserVerifiedTimestamp(a0) { // fn#72532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:5770, offset: 0x01d48b00, size: 1036 bytes, params: 2, frame: 21
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var Math;
const value4 = (importDefault(3738) /* metro dependency 3738 */)().diff((importDefault(3738) /* metro dependency 3738 */)(a0),
's');
let Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
let DAYS_30 = Seconds.DAYS_30;
if (value4 > 12 * DAYS_30) {
Math = global.Math;
return intl.formatToPlainString(t.F1wqkD,
{count: Math.round(value4 / (12 * (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAYS_30))});
}
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
DAYS_30 = Seconds.DAYS_30;
if (value4 > DAYS_30) {
Math = global.Math;
return intl.formatToPlainString(t['iT+b+2'],
{count: Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAYS_30)});
}
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
let DAY = Seconds.DAY;
if (value4 > 7 * DAY) {
Math = global.Math;
return intl.formatToPlainString(t.dLurKZ,
{count: Math.round(value4 / (7 * (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAY))});
}
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
DAY = Seconds.DAY;
if (value4 > DAY) {
Math = global.Math;
return intl.formatToPlainString(t.LE8a2H,
{count: Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAY)});
}
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
const HOUR = Seconds.HOUR;
if (value4 > HOUR) {
Math = global.Math;
return intl.formatToPlainString(t.KULxVS,
{count: Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.HOUR)});
}
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
const MINUTE = Seconds.MINUTE;
if (value4 > MINUTE) {
Math = global.Math;
return intl.formatToPlainString(t.ws6rWq,
{count: Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.MINUTE)});
}
return intl.formatToPlainString(t['/w0Qpw'], {count: value4});
}
function getUserVerificationDeeplink(a0, a1) { // fn#72533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:6864, offset: 0x01d48f0c, size: 115 bytes, params: 3, frame: 25
const FEATURE = Routes.FEATURE;
const DAVE_PROTOCOL_VERIFICATION = LinkingTypes.DAVE_PROTOCOL_VERIFICATION;
return '' + global.location.protocol + '//' + global.location.host + Reflect.apply(FEATURE, Routes,
[DAVE_PROTOCOL_VERIFICATION]) + '?userId=' + a0 + '&fingerprint=' + global.encodeURIComponent(a1);
}
function getUserVerifyStateText(a0, a1) { // fn#72534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:7079, offset: 0x01d48f7f, size: 1004 bytes, params: 3, frame: 18
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var items2;
const OTHER_USER_DISCONNECTED = AnalyticsSecureFramesUserVerification.OTHER_USER_DISCONNECTED;
if (OTHER_USER_DISCONNECTED === a0) {
return [intl.string(t.ZBHDM9), intl.format(t['+rIdOd'], {username: a1})];
}
const CURRENT_USER_DISCONNECTED = AnalyticsSecureFramesUserVerification.CURRENT_USER_DISCONNECTED;
if (CURRENT_USER_DISCONNECTED === a0) {
items2 = [intl.string(t['5ICxE6'])];
items2[1] = intl.string(t['v1eXp/']);
return items2;
}
const UNABLE_TO_VERIFY = AnalyticsSecureFramesUserVerification.UNABLE_TO_VERIFY;
if (UNABLE_TO_VERIFY === a0) {
items2 = [intl.string(t['+no/a7'])];
items2[1] = intl.format(t.Mft7iJ, {username: a1});
return items2;
}
const FINGERPRINT_MISMATCH = AnalyticsSecureFramesUserVerification.FINGERPRINT_MISMATCH;
if (FINGERPRINT_MISMATCH === a0) {
return [intl.string(t.HTJ76H), intl.format(t.tc6aAc, {username: a1})];
}
const OTHER_USER_ALREADY_VERIFIED = AnalyticsSecureFramesUserVerification.OTHER_USER_ALREADY_VERIFIED;
if (OTHER_USER_ALREADY_VERIFIED === a0) {
items2 = [intl.string(t['9lw+J+'])];
items2[1] = intl.format(t.TvBS1w, {username: a1});
return items2;
}
const MATCH = AnalyticsSecureFramesUserVerification.MATCH;
if (MATCH === a0) {
items2 = [intl.string(t['xyE+Dn'])];
items2[1] = intl.format(t.znsPl5, {username: a1});
return items2;
}
const OTHER_USER_INCONSISTENT_KEYS = AnalyticsSecureFramesUserVerification.OTHER_USER_INCONSISTENT_KEYS;
if (OTHER_USER_INCONSISTENT_KEYS === a0) {
return [intl.string(t.im1uUi), intl.format(t.WY6IKb, {username: a1})];
}
}
function getUserVerificationFooterText({isCurrentUserKeyPersistent, isOtherUserKeyPersistent, otherUserNickname}) { // fn#72535, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:8101, offset: 0x01d4936b, size: 263 bytes, params: 2, frame: 19
var r0;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var format;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var property;
var object2;
var qT5z87;
if (isCurrentUserKeyPersistent) {
if (isOtherUserKeyPersistent) {
format = intl.format;
property = t['FJN+kh'];
object2 = {};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [property, object2]);
} else {
format = intl.format;
if (isCurrentUserKeyPersistent) {
property = t['p/9PGp'];
object2 = {username: otherUserNickname};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [property, object2]);
} else if (isOtherUserKeyPersistent) {
qT5z87 = t.qT5z87;
object2 = {};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [qT5z87, object2]);
} else {
property = t['6JLy+i'];
object2 = {};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [property, object2]);
}
}
} else {
format = intl.format;
if (isCurrentUserKeyPersistent) {
property = t['p/9PGp'];
object2 = {username: otherUserNickname};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [property, object2]);
} else if (isOtherUserKeyPersistent) {
qT5z87 = t.qT5z87;
object2 = {};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [qT5z87, object2]);
} else {
property = t['6JLy+i'];
object2 = {};
object2.helpArticle = getSecureFramesHelpdeskArticle();
r0 = Reflect.apply(format, intl, [property, object2]);
}
}
return r0;
}
function validateSecureFramesKeyConsistent({userId, guildId, channelId}) { // fn#72538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:9140, offset: 0x01d49472, size: 136 bytes, params: 2, frame: 19
var user;
var showSecureFramesKeyInconsistentAlertBinding;
const getIsSecureFramesKeyInconsistentBinding = getIsSecureFramesKeyInconsistent;
let object = [RTCConnectionStore];
object[1] = StreamRTCConnectionStore;
if (getIsSecureFramesKeyInconsistentBinding(userId, object)) {
user = UserStore.getUser(userId);
showSecureFramesKeyInconsistentAlertBinding = showSecureFramesKeyInconsistentAlert;
object = {userId: userId, channelId: channelId};
object.nickname = (importDefault(4617) /* metro dependency 4617: NicknameUtils */).getName(guildId, channelId,
user);
showSecureFramesKeyInconsistentAlertBinding(object);
return false;
}
return true;
}
function* _fun72505(a0) { // fn#72505, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:1525, offset: 0x01d4816a, size: 102 bytes, params: 2, frame: 16
if (true) {
value = environment.__proto__.__proto__;
var binding = env2_5;
var staticAuthSessionId = binding.getStaticAuthSessionId();
env2_1(env2_2[19])(staticAuthSessionId != null, '[getCurrentUserPublicKey] session id should not be null');
binding = env2_6;
var getMLSSigningKey = binding.getMLSSigningKey;
yield Reflect.apply(getMLSSigningKey, binding, [staticAuthSessionId, a0]);
}
}
function* _fun72510(a0, a1, a2) { // fn#72510, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:1962, offset: 0x01d48268, size: 184 bytes, params: 4, frame: 19
var binding;
var binding2;
var property;
var value3;
var HTTP;
var post;
var object3;
var VOICE_MATCH_PUBLIC_KEY;
var value4;
var object4;
var value5;
var value6;
var value7;
var value8;
var body;
var is_match;
var error;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
try {
binding = env2_0;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding2 = env2_2;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
property = binding2[21];
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value3 = binding(property);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
HTTP = value3.HTTP;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
post = HTTP.post;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3 = {};
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding = env2_15;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
VOICE_MATCH_PUBLIC_KEY = binding.VOICE_MATCH_PUBLIC_KEY;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value4 = Reflect.apply(VOICE_MATCH_PUBLIC_KEY, binding, [a0]);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.url = value4;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4 = {};
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding = env2_22;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value5 = binding(a1);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4.public_key = value5;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4.key_version = a2;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.body = object4;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.rejectWithError = false;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value6 = Reflect.apply(post, HTTP, [object3]);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
yield value6;
try {
value7 = undefined;
value8 = false;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
if (value8) {
return value7;
}
try {
body = value7.body;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
is_match = body.is_match;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
return is_match;
}
function* _fun72514(a0) { // fn#72514, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2382, offset: 0x01d4835d, size: 246 bytes, params: 2, frame: 20
var binding;
var binding2;
var property;
var value5;
var HTTP;
var put;
var object3;
var VOICE_PUBLIC_KEYS;
var value6;
var object4;
var value7;
var value8;
var value9;
var value10;
var value11;
var binding3;
var value12;
var addUploadedKeyVersion;
var error;
if (true) {
value = environment.__proto__.__proto__;
yield env2_20(a0);
var value3 = undefined;
if (false) {
return value3;
}
var key = value3.key;
var signature = value3.signature;
try {
binding = env2_0;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding2 = env2_2;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
property = binding2[21];
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value5 = binding(property);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
HTTP = value5.HTTP;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
put = HTTP.put;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3 = {};
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding = env2_15;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
VOICE_PUBLIC_KEYS = binding.VOICE_PUBLIC_KEYS;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value6 = Reflect.apply(VOICE_PUBLIC_KEYS, binding, []);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.url = value6;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4 = {};
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding = env2_22;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value7 = binding(key);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4.public_key = value7;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value8 = binding(signature);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4.signature = value8;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object4.key_version = a0;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.body = object4;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
object3.rejectWithError = false;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value9 = Reflect.apply(put, HTTP, [object3]);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
yield value9;
try {
value10 = undefined;
value11 = false;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
if (value11) {
return value10;
}
try {
binding = env2_1;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
binding3 = env2_2;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
property = binding3[11];
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
value12 = binding(property);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
addUploadedKeyVersion = value12.addUploadedKeyVersion;
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
try {
Reflect.apply(addUploadedKeyVersion, value12, [a0]);
} catch (error) {
binding = env2_1;
value = binding(env2_2[22]);
value.captureException(error);
throw error;
}
}
}
function* _fun72518(a0) { // fn#72518, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:2885, offset: 0x01d484b2, size: 55 bytes, params: 2, frame: 13
if (true) {
value = environment.__proto__.__proto__;
if (env2_27(a0)) {
return undefined;
}
yield env2_25(a0);
}
}
function* _fun72521(a0) { // fn#72521, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:3066, offset: 0x01d48526, size: 162 bytes, params: 2, frame: 18
var id;
var value5;
var value7;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
if (env2_27(a0)) {
id = env2_5.getId();
yield env2_20(a0);
value5 = undefined;
if (false) {
return value5;
}
yield env2_23(id, value5.key, a0);
value7 = undefined;
if (false) {
return value7;
}
if (!value7) {
env2_0(env2_2[12]).trackE2EEPublicKeyMismatch(a0);
}
return value7;
}
yield env2_25(a0);
if (false) {
return undefined;
}
return true;
}
function deletePersistentVerificationOnConfirm() { // fn#72529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:5231, owner: deletePersistentVerification.onConfirm, offset: 0x01d48996, size: 76 bytes, params: 1, frame: 16
const value = environment.__proto__;
const defaultImport = importDefault(9278) /* metro dependency 9278: SecureFramesActionCreators */;
defaultImport.deleteSecureFramesVerifiedKey(env0_0, require);
(require(9284) /* metro dependency 9284: SecureFramesTracking */).trackE2EESettingsDeviceDelete();
}
function deleteUserPersistentVerificationsOnConfirm() { // fn#72531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9461:5633, owner: deleteUserPersistentVerifications.onConfirm, offset: 0x01d48ab9, size: 71 bytes, params: 1, frame: 14
const value = environment.__proto__;
(importDefault(9278) /* metro dependency 9278: SecureFramesActionCreators */).deleteSecureFramesUserVerifiedKeys(env0_0);
(require(9284) /* metro dependency 9284: SecureFramesTracking */).trackE2EESettingsUserDelete();
}