Files
discord-decomp/modules/rtc/VerifiedKeyStore.tsx
T
2026-11-01 12:12:55 +02:00

68 lines
1.8 KiB
TypeScript

// Metro module 8876 (f8877).
import { serializeKey } from "../../_bundle/Module8877";
import Module589 from "../../_bundle/Module589";
import SnowflakeUtils from "../../utils/SnowflakeUtils";
import Dispatcher from "../../Dispatcher";
const users = {};
class VerifiedKeyStore extends Module589.PersistedStore {
static displayName = "VerifiedKeyStore";
static persistKey = "VerifiedKeyStore";
initialize(a0) {
let r4 = a0?.users;
if (r4 == null) {
r4 = {};
}
users = r4;
}
getState() {
return {
users
};
}
getKeyTrustedAt(a0, a1) {
const r9 = serializeKey(a1);
const r12 = users[a0];
return r12 == null ? void 0 : r12[r9];
}
isKeyVerified(a0, a1) {
return this.getKeyTrustedAt(a0, a1) != null;
}
getUserIds() {
return SnowflakeUtils.keys(users);
}
getUserVerifiedKeys(a0) {
return users[a0];
}
}
const verifiedKeyStore = new VerifiedKeyStore(Dispatcher, {
SECURE_FRAMES_VERIFIED_KEY_CREATE: function handleSecureFramesVerifiedKeyCreate({ userId, key }) {
let r3 = users[userId];
if (r3 == null) {
r3 = {};
}
users[userId] = r3;
r3[serializeKey(new Uint8Array(key))] = Date.now();
},
SECURE_FRAMES_VERIFIED_KEY_DELETE: function handleSecureFramesVerifiedKeyDelete({ userId, serializedKey }) {
const r8 = users[userId];
if (r8 == null) {
return false;
}
let r10 = delete r8[serializedKey];
const length = Object.keys(r8).length;
let r2 = false;
if (length === 0) {
delete users[userId];
r2 = true;
}
if (!r10) {
r10 = r2;
}
return r10;
},
SECURE_FRAMES_USER_VERIFIED_KEYS_DELETE: function handleSecureFramesUserVerifiedKeysDelete({ userId }) {
return users[userId] != null && delete users[userId];
}
});
export default verifiedKeyStore;