@ethora/chat-component-rn 26.10.6 → 26.10.8

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 (134) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +6 -3
  3. package/lib/commonjs/components/MessageBubble/Message.js +16 -6
  4. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  5. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +16 -2
  6. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  7. package/lib/commonjs/components/VideoCalls/callActions.js +32 -2
  8. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
  9. package/lib/commonjs/components/VideoCalls/systemCall.js +83 -0
  10. package/lib/commonjs/components/VideoCalls/systemCall.js.map +1 -0
  11. package/lib/commonjs/components/VideoCalls/useCallKeep.js +83 -66
  12. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  13. package/lib/commonjs/helpers/incomingCallFromPush.js +95 -21
  14. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  15. package/lib/commonjs/helpers/secureStoreRuntime.js +10 -1
  16. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -1
  17. package/lib/commonjs/main.js +114 -0
  18. package/lib/commonjs/main.js.map +1 -1
  19. package/lib/commonjs/networking/api-requests/push.api.js +22 -7
  20. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  21. package/lib/commonjs/networking/callTokenStanza.js +6 -0
  22. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  23. package/lib/commonjs/networking/xmpp/sendMessageReaction.xmpp.js +22 -6
  24. package/lib/commonjs/networking/xmpp/sendMessageReaction.xmpp.js.map +1 -1
  25. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  26. package/lib/commonjs/push/pushKeyStore.js +169 -0
  27. package/lib/commonjs/push/pushKeyStore.js.map +1 -0
  28. package/lib/commonjs/push/sealedBox.js +106 -0
  29. package/lib/commonjs/push/sealedBox.js.map +1 -0
  30. package/lib/commonjs/push/sealedPush.js +135 -0
  31. package/lib/commonjs/push/sealedPush.js.map +1 -0
  32. package/lib/commonjs/push/sealedPushTask.js +221 -0
  33. package/lib/commonjs/push/sealedPushTask.js.map +1 -0
  34. package/lib/commonjs/services/pushRegistration.js +12 -7
  35. package/lib/commonjs/services/pushRegistration.js.map +1 -1
  36. package/lib/commonjs/version.js +1 -1
  37. package/lib/module/components/MessageBubble/Message.js +16 -6
  38. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  39. package/lib/module/components/VideoCalls/VideoCallOverlay.js +17 -3
  40. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  41. package/lib/module/components/VideoCalls/callActions.js +29 -0
  42. package/lib/module/components/VideoCalls/callActions.js.map +1 -1
  43. package/lib/module/components/VideoCalls/systemCall.js +73 -0
  44. package/lib/module/components/VideoCalls/systemCall.js.map +1 -0
  45. package/lib/module/components/VideoCalls/useCallKeep.js +77 -64
  46. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  47. package/lib/module/helpers/incomingCallFromPush.js +92 -22
  48. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  49. package/lib/module/helpers/secureStoreRuntime.js +10 -1
  50. package/lib/module/helpers/secureStoreRuntime.js.map +1 -1
  51. package/lib/module/main.js +9 -0
  52. package/lib/module/main.js.map +1 -1
  53. package/lib/module/networking/api-requests/push.api.js +21 -6
  54. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  55. package/lib/module/networking/callTokenStanza.js +6 -0
  56. package/lib/module/networking/callTokenStanza.js.map +1 -1
  57. package/lib/module/networking/xmpp/sendMessageReaction.xmpp.js +21 -6
  58. package/lib/module/networking/xmpp/sendMessageReaction.xmpp.js.map +1 -1
  59. package/lib/module/networking/xmppClient.js.map +1 -1
  60. package/lib/module/push/pushKeyStore.js +159 -0
  61. package/lib/module/push/pushKeyStore.js.map +1 -0
  62. package/lib/module/push/sealedBox.js +97 -0
  63. package/lib/module/push/sealedBox.js.map +1 -0
  64. package/lib/module/push/sealedPush.js +127 -0
  65. package/lib/module/push/sealedPush.js.map +1 -0
  66. package/lib/module/push/sealedPushTask.js +212 -0
  67. package/lib/module/push/sealedPushTask.js.map +1 -0
  68. package/lib/module/services/pushRegistration.js +12 -7
  69. package/lib/module/services/pushRegistration.js.map +1 -1
  70. package/lib/module/version.js +1 -1
  71. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  72. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  73. package/lib/typescript/components/VideoCalls/callActions.d.ts +6 -0
  74. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
  75. package/lib/typescript/components/VideoCalls/systemCall.d.ts +25 -0
  76. package/lib/typescript/components/VideoCalls/systemCall.d.ts.map +1 -0
  77. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +8 -23
  78. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  79. package/lib/typescript/helpers/incomingCallFromPush.d.ts +5 -13
  80. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
  81. package/lib/typescript/helpers/secureStoreRuntime.d.ts +17 -3
  82. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -1
  83. package/lib/typescript/main.d.ts +11 -0
  84. package/lib/typescript/main.d.ts.map +1 -1
  85. package/lib/typescript/networking/api-requests/push.api.d.ts +14 -2
  86. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  87. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  88. package/lib/typescript/networking/xmpp/sendMessageReaction.xmpp.d.ts +13 -1
  89. package/lib/typescript/networking/xmpp/sendMessageReaction.xmpp.d.ts.map +1 -1
  90. package/lib/typescript/networking/xmppClient.d.ts +2 -4
  91. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  92. package/lib/typescript/push/pushKeyStore.d.ts +35 -0
  93. package/lib/typescript/push/pushKeyStore.d.ts.map +1 -0
  94. package/lib/typescript/push/sealedBox.d.ts +24 -0
  95. package/lib/typescript/push/sealedBox.d.ts.map +1 -0
  96. package/lib/typescript/push/sealedPush.d.ts +67 -0
  97. package/lib/typescript/push/sealedPush.d.ts.map +1 -0
  98. package/lib/typescript/push/sealedPushTask.d.ts +44 -0
  99. package/lib/typescript/push/sealedPushTask.d.ts.map +1 -0
  100. package/lib/typescript/services/pushRegistration.d.ts +8 -0
  101. package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
  102. package/lib/typescript/types/models/xmpp.model.d.ts +2 -4
  103. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  104. package/lib/typescript/types/types.d.ts +6 -0
  105. package/lib/typescript/types/types.d.ts.map +1 -1
  106. package/lib/typescript/version.d.ts +1 -1
  107. package/package.json +11 -1
  108. package/plugins/notification-service/NotificationService.swift +113 -0
  109. package/plugins/notification-service/SealedBox.swift +355 -0
  110. package/plugins/notification-service/check/gen-vectors.mjs +24 -0
  111. package/plugins/notification-service/check/main.swift +37 -0
  112. package/plugins/notification-service/check/run.sh +12 -0
  113. package/plugins/notification-service/check/vectors.json +1 -0
  114. package/plugins/withNotificationServiceExtension.js +70 -18
  115. package/src/components/MessageBubble/Message.tsx +16 -5
  116. package/src/components/VideoCalls/VideoCallOverlay.tsx +18 -2
  117. package/src/components/VideoCalls/callActions.ts +28 -0
  118. package/src/components/VideoCalls/systemCall.ts +109 -0
  119. package/src/components/VideoCalls/useCallKeep.ts +89 -97
  120. package/src/helpers/incomingCallFromPush.ts +97 -26
  121. package/src/helpers/secureStoreRuntime.ts +21 -3
  122. package/src/main.ts +38 -0
  123. package/src/networking/api-requests/push.api.ts +29 -4
  124. package/src/networking/callTokenStanza.ts +10 -0
  125. package/src/networking/xmpp/sendMessageReaction.xmpp.ts +38 -6
  126. package/src/networking/xmppClient.ts +2 -2
  127. package/src/push/pushKeyStore.ts +163 -0
  128. package/src/push/sealedBox.ts +104 -0
  129. package/src/push/sealedPush.ts +138 -0
  130. package/src/push/sealedPushTask.ts +221 -0
  131. package/src/services/pushRegistration.ts +25 -5
  132. package/src/types/models/xmpp.model.ts +2 -1
  133. package/src/types/types.ts +6 -0
  134. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["xmpp","xml","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","sendPing","fetchHistoryPage","getHistory","getHistoryPage","sendTextMessage","sendMessageReaction","sendReceivedReceipt","sendDisplayedMarker","sendTextMessageWithTranslateTag","deleteMessage","RoomJoinManager","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","onOnline","e2eeOnOnline","pushLog","devPushLog","isDevLogActive","normalizeRoomJid","store","applyPrivateStoreMarkers","setConnectionState","clearOutboundSends","enqueueOutboundSend","flushOutboundSends","getServerReadTimestamp","isCorruptFutureReadMarker","DEFAULT_DEV_SERVER","RECEIPT_ACKED_CAP","STOP_TIMEOUT_MS","withTimeout","promise","ms","Promise","resolve","settled","done","clearTimeout","timer","setTimeout","then","AUTH_RECOVERY_MAX_FAILURES","AUTH_REJECTIONS_LIMIT","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","HISTORY_WATCHDOG_MS","CREDENTIALS_REFRESH_MIN_INTERVAL_MS","XmppClient","host","service","conference","_status","status","next","changed","reported","suppressReconnect","getState","chatSettingStore","connection","dispatch","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","lastReconnectAt","reconnectTimer","reconnecting","lastAuthError","credentialsRefreshedAt","credentialsProvider","credentialsRefreshInFlight","onOnlineCallback","connectionEpoch","joins","getClient","client","getConnectionEpoch","isOnline","waitForOnline","timeoutMs","getConference","getHistoryQoS","xmppSettings","historyQoS","presencesReady","value","priorityPresencesReady","disableLastRead","activeRoomJID","receiptAckedIds","Set","lastWatermarkSentByRoom","Map","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","authLostHandler","authRecoveryFailures","authLostFired","authRejectionsSinceOnline","setAuthLostHandler","handler","markAuthRecoveryFailed","reason","console","warn","e","setCredentialsProvider","provider","setOnOnline","cb","updateCredentials","username","constructor","devServer","qos","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","ensureRoomPresence","waitForJoin","source","options","sendAllPresencesAndMarkReady","bumpConnectionEpoch","reset","enqueueHistoryTask","params","reissued","chatJID","max","before","existing","get","existingIsTeaser","Math","min","sourceRank","ctl","aborted","guarded","releaseMamEntry","String","catch","undefined","runHistoryTask","messages","self","entry","cur","delete","id","selfApplied","r","wait","startedAt","set","s","clientAlreadyStopped","url","match","detachEventListeners","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","split","result","Object","defineProperty","writable","configurable","attachEventListeners","start","scheduleReconnect","onDisconnect","log","flushPendingSends","onError","onStanza","from","on","c","removeListener","reject","tick","Error","ensureConnected","timeout","exp","delay","pow","forceReconnect","streamAliveProbe","verifyStreamAlive","underlying","alive","finally","ensureStreamAlive","authFailed","staleCreds","rejectedPassword","refreshCredentialsOnce","old","suspendedForBackground","stopClientQuietly","fresh","sock","socket","end","suspend","resume","isSuspended","disconnect","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","presenceInRoomStanza","getHistoryStanza","coalesceRoom","cursor","ok","complete","first","last","count","received","finSeen","getHistoryWindow","failed","page","window","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","isStreamReady","joinForSend","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","optimisticId","enqueuedAt","deleteMessageStanza","room","msgId","editMessageStanza","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","markers","normalized","roomsState","rooms","heapState","roomHeapSlice","jid","keys","n","Number","isFinite","newestKnownMs","length","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendReceivedReceiptStanza","messageId","config","disableReadReceipts","key","has","add","oldest","values","sendDisplayedMarkerStanza","sendMessageReactionStanza","reactionsList","sendTextMessageWithTranslateTagStanza","langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["xmpp","xml","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","sendPing","fetchHistoryPage","getHistory","getHistoryPage","sendTextMessage","sendMessageReaction","sendReceivedReceipt","sendDisplayedMarker","sendTextMessageWithTranslateTag","deleteMessage","RoomJoinManager","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","onOnline","e2eeOnOnline","pushLog","devPushLog","isDevLogActive","normalizeRoomJid","store","applyPrivateStoreMarkers","setConnectionState","clearOutboundSends","enqueueOutboundSend","flushOutboundSends","getServerReadTimestamp","isCorruptFutureReadMarker","DEFAULT_DEV_SERVER","RECEIPT_ACKED_CAP","STOP_TIMEOUT_MS","withTimeout","promise","ms","Promise","resolve","settled","done","clearTimeout","timer","setTimeout","then","AUTH_RECOVERY_MAX_FAILURES","AUTH_REJECTIONS_LIMIT","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","HISTORY_WATCHDOG_MS","CREDENTIALS_REFRESH_MIN_INTERVAL_MS","XmppClient","host","service","conference","_status","status","next","changed","reported","suppressReconnect","getState","chatSettingStore","connection","dispatch","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","lastReconnectAt","reconnectTimer","reconnecting","lastAuthError","credentialsRefreshedAt","credentialsProvider","credentialsRefreshInFlight","onOnlineCallback","connectionEpoch","joins","getClient","client","getConnectionEpoch","isOnline","waitForOnline","timeoutMs","getConference","getHistoryQoS","xmppSettings","historyQoS","presencesReady","value","priorityPresencesReady","disableLastRead","activeRoomJID","receiptAckedIds","Set","lastWatermarkSentByRoom","Map","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","authLostHandler","authRecoveryFailures","authLostFired","authRejectionsSinceOnline","setAuthLostHandler","handler","markAuthRecoveryFailed","reason","console","warn","e","setCredentialsProvider","provider","setOnOnline","cb","updateCredentials","username","constructor","devServer","qos","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","ensureRoomPresence","waitForJoin","source","options","sendAllPresencesAndMarkReady","bumpConnectionEpoch","reset","enqueueHistoryTask","params","reissued","chatJID","max","before","existing","get","existingIsTeaser","Math","min","sourceRank","ctl","aborted","guarded","releaseMamEntry","String","catch","undefined","runHistoryTask","messages","self","entry","cur","delete","id","selfApplied","r","wait","startedAt","set","s","clientAlreadyStopped","url","match","detachEventListeners","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","split","result","Object","defineProperty","writable","configurable","attachEventListeners","start","scheduleReconnect","onDisconnect","log","flushPendingSends","onError","onStanza","from","on","c","removeListener","reject","tick","Error","ensureConnected","timeout","exp","delay","pow","forceReconnect","streamAliveProbe","verifyStreamAlive","underlying","alive","finally","ensureStreamAlive","authFailed","staleCreds","rejectedPassword","refreshCredentialsOnce","old","suspendedForBackground","stopClientQuietly","fresh","sock","socket","end","suspend","resume","isSuspended","disconnect","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","presenceInRoomStanza","getHistoryStanza","coalesceRoom","cursor","ok","complete","first","last","count","received","finSeen","getHistoryWindow","failed","page","window","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","isStreamReady","joinForSend","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","optimisticId","enqueuedAt","deleteMessageStanza","room","msgId","editMessageStanza","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","markers","normalized","roomsState","rooms","heapState","roomHeapSlice","jid","keys","n","Number","isFinite","newestKnownMs","length","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendReceivedReceiptStanza","messageId","config","disableReadReceipts","key","has","add","oldest","values","sendDisplayedMarkerStanza","sendMessageReactionStanza","reactionsList","sendTextMessageWithTranslateTagStanza","langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ import { fromBase64, toBase64 } from '../e2ee/crypto';
4
+ import { loadSecureStore } from '../helpers/secureStoreRuntime';
5
+ import { pushLog } from '../utils/devLogger';
6
+ import { SEALED_BOX_PUBLIC_KEY_BYTES, SEALED_BOX_SECRET_KEY_BYTES, generateSealedBoxKeyPair, sealedBoxKeyId, sealedBoxPublicKeyOf } from './sealedBox';
7
+ // The device key for encrypted pushes: one X25519 pair per install, in the
8
+ // platform keychain / keystore through expo-secure-store. The public half
9
+ // goes to the push service with the token (`pushKey`); the secret half
10
+ // never leaves the device and is read by whoever renders a sealed push —
11
+ // the Android background task (`sealedPushTask.ts`, same process, same
12
+ // store) and the iOS notification service extension, which reads the
13
+ // keychain item directly (plugins/notification-service), so the item's
14
+ // attributes below are a contract with the Swift side:
15
+ // service `ethora.push` (expo-secure-store stores it as `ethora.push:no-auth`)
16
+ // account `ethora_push_secret_key`, UTF-8
17
+ // value base64 of the 32-byte secret key, UTF-8
18
+ // group the app's first keychain access group, which the config
19
+ // plugin shares with the extension
20
+ // Readable after the first unlock so a push that arrives while the phone
21
+ // is locked still decrypts; this device only, so an iCloud keychain copy
22
+ // on another device is never a key for pushes that go to this one.
23
+
24
+ export const PUSH_KEY_KEYCHAIN_SERVICE = 'ethora.push';
25
+ export const PUSH_SECRET_KEY_ITEM = 'ethora_push_secret_key';
26
+ export const PUSH_PUBLIC_KEY_ITEM = 'ethora_push_public_key';
27
+ let warnedMissingStore = false;
28
+ const warnMissingStoreOnce = () => {
29
+ if (warnedMissingStore) {
30
+ return;
31
+ }
32
+ warnedMissingStore = true;
33
+ pushLog('warn', 'push: expo-secure-store is not installed, so no device key for encrypted ' + 'pushes can be kept; pushes stay in the clear.');
34
+ };
35
+ const storeOptions = () => {
36
+ const store = loadSecureStore();
37
+ if (!store) {
38
+ return null;
39
+ }
40
+ const accessible = store.accessible.afterFirstUnlockThisDeviceOnly;
41
+ return {
42
+ keychainService: PUSH_KEY_KEYCHAIN_SERVICE,
43
+ ...(accessible !== undefined ? {
44
+ keychainAccessible: accessible
45
+ } : {})
46
+ };
47
+ };
48
+ const readItem = async item => {
49
+ const store = loadSecureStore();
50
+ const options = storeOptions();
51
+ if (!store || !options) {
52
+ return null;
53
+ }
54
+ try {
55
+ return await store.getItemAsync(item, options);
56
+ } catch (e) {
57
+ pushLog('warn', `push: reading ${item} failed`, e);
58
+ return null;
59
+ }
60
+ };
61
+ const decodeKey = (raw, length) => {
62
+ if (!raw) {
63
+ return null;
64
+ }
65
+ try {
66
+ const bytes = fromBase64(raw);
67
+ return bytes.length === length ? bytes : null;
68
+ } catch {
69
+ return null;
70
+ }
71
+ };
72
+
73
+ /**
74
+ * The stored pair, or null when there is none (or it is unreadable).
75
+ * The public key is re-derived from the secret, so the pair is consistent
76
+ * even if only the secret item survived.
77
+ */
78
+ export async function loadPushSecretKey() {
79
+ const secretKey = decodeKey(await readItem(PUSH_SECRET_KEY_ITEM), SEALED_BOX_SECRET_KEY_BYTES);
80
+ if (!secretKey) {
81
+ return null;
82
+ }
83
+ const stored = decodeKey(await readItem(PUSH_PUBLIC_KEY_ITEM), SEALED_BOX_PUBLIC_KEY_BYTES);
84
+ return {
85
+ publicKey: stored ?? sealedBoxPublicKeyOf(secretKey),
86
+ secretKey
87
+ };
88
+ }
89
+ const describe = publicKey => ({
90
+ publicKey: toBase64(publicKey),
91
+ keyId: sealedBoxKeyId(publicKey)
92
+ });
93
+
94
+ /** The public half of the stored pair, null when the device has no key. */
95
+ export async function getPushKeyPair() {
96
+ const key = await loadPushSecretKey();
97
+ return key ? describe(key.publicKey) : null;
98
+ }
99
+
100
+ /**
101
+ * Generate and store a new pair, replacing any existing one. Pushes sealed
102
+ * for the old key stop opening at once, so re-register the token with the
103
+ * new `publicKey` right after. Null when expo-secure-store is missing or
104
+ * the keychain refused the write.
105
+ */
106
+ export async function resetPushKeyPair() {
107
+ const store = loadSecureStore();
108
+ const options = storeOptions();
109
+ if (!store || !options) {
110
+ warnMissingStoreOnce();
111
+ return null;
112
+ }
113
+ const pair = generateSealedBoxKeyPair();
114
+ try {
115
+ await store.setItemAsync(PUSH_SECRET_KEY_ITEM, toBase64(pair.secretKey), options);
116
+ await store.setItemAsync(PUSH_PUBLIC_KEY_ITEM, toBase64(pair.publicKey), options);
117
+ } catch (e) {
118
+ pushLog('warn', 'push: storing the device key failed', e);
119
+ return null;
120
+ }
121
+ const check = await loadPushSecretKey();
122
+ if (!check || toBase64(check.publicKey) !== toBase64(pair.publicKey)) {
123
+ pushLog('warn', 'push: the device key was not kept');
124
+ return null;
125
+ }
126
+ pushLog('rn', `push: new device key ${sealedBoxKeyId(pair.publicKey)}`);
127
+ return describe(pair.publicKey);
128
+ }
129
+
130
+ /**
131
+ * The device key for encrypted pushes, created on first call. Hand
132
+ * `publicKey` to `registerPushToken` (or send it as `pushKey` yourself).
133
+ */
134
+ export async function ensurePushKeyPair() {
135
+ const existing = await getPushKeyPair();
136
+ return existing ?? resetPushKeyPair();
137
+ }
138
+
139
+ /** Remove the pair; the next `ensurePushKeyPair` creates a new one. */
140
+ export async function clearPushKeyPair() {
141
+ const store = loadSecureStore();
142
+ const options = storeOptions();
143
+ if (!store || !options) {
144
+ return;
145
+ }
146
+ for (const item of [PUSH_SECRET_KEY_ITEM, PUSH_PUBLIC_KEY_ITEM]) {
147
+ try {
148
+ await store.deleteItemAsync(item, options);
149
+ } catch {
150
+ // Not there — nothing to remove.
151
+ }
152
+ }
153
+ }
154
+
155
+ /** Test seam only. */
156
+ export const __resetPushKeyStoreForTests = () => {
157
+ warnedMissingStore = false;
158
+ };
159
+ //# sourceMappingURL=pushKeyStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fromBase64","toBase64","loadSecureStore","pushLog","SEALED_BOX_PUBLIC_KEY_BYTES","SEALED_BOX_SECRET_KEY_BYTES","generateSealedBoxKeyPair","sealedBoxKeyId","sealedBoxPublicKeyOf","PUSH_KEY_KEYCHAIN_SERVICE","PUSH_SECRET_KEY_ITEM","PUSH_PUBLIC_KEY_ITEM","warnedMissingStore","warnMissingStoreOnce","storeOptions","store","accessible","afterFirstUnlockThisDeviceOnly","keychainService","undefined","keychainAccessible","readItem","item","options","getItemAsync","e","decodeKey","raw","length","bytes","loadPushSecretKey","secretKey","stored","publicKey","describe","keyId","getPushKeyPair","key","resetPushKeyPair","pair","setItemAsync","check","ensurePushKeyPair","existing","clearPushKeyPair","deleteItemAsync","__resetPushKeyStoreForTests"],"sourceRoot":"../../../src","sources":["push/pushKeyStore.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,gBAAgB;AACrD,SAASC,eAAe,QAAiC,+BAA+B;AACxF,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACEC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,wBAAwB,EACxBC,cAAc,EACdC,oBAAoB,QACf,aAAa;AAGpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,yBAAyB,GAAG,aAAa;AACtD,OAAO,MAAMC,oBAAoB,GAAG,wBAAwB;AAC5D,OAAO,MAAMC,oBAAoB,GAAG,wBAAwB;AAS5D,IAAIC,kBAAkB,GAAG,KAAK;AAC9B,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACjC,IAAID,kBAAkB,EAAE;IAAC;EAAO;EAChCA,kBAAkB,GAAG,IAAI;EACzBT,OAAO,CACL,MAAM,EACN,2EAA2E,GACzE,+CACJ,CAAC;AACH,CAAC;AAED,MAAMW,YAAY,GAAGA,CAAA,KAAiC;EACpD,MAAMC,KAAK,GAAGb,eAAe,CAAC,CAAC;EAC/B,IAAI,CAACa,KAAK,EAAE;IAAC,OAAO,IAAI;EAAC;EACzB,MAAMC,UAAU,GAAGD,KAAK,CAACC,UAAU,CAACC,8BAA8B;EAClE,OAAO;IACLC,eAAe,EAAET,yBAAyB;IAC1C,IAAIO,UAAU,KAAKG,SAAS,GAAG;MAAEC,kBAAkB,EAAEJ;IAAW,CAAC,GAAG,CAAC,CAAC;EACxE,CAAC;AACH,CAAC;AAED,MAAMK,QAAQ,GAAG,MAAOC,IAAY,IAA6B;EAC/D,MAAMP,KAAK,GAAGb,eAAe,CAAC,CAAC;EAC/B,MAAMqB,OAAO,GAAGT,YAAY,CAAC,CAAC;EAC9B,IAAI,CAACC,KAAK,IAAI,CAACQ,OAAO,EAAE;IAAC,OAAO,IAAI;EAAC;EACrC,IAAI;IACF,OAAO,MAAMR,KAAK,CAACS,YAAY,CAACF,IAAI,EAAEC,OAAO,CAAC;EAChD,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVtB,OAAO,CAAC,MAAM,EAAE,iBAAiBmB,IAAI,SAAS,EAAEG,CAAC,CAAC;IAClD,OAAO,IAAI;EACb;AACF,CAAC;AAED,MAAMC,SAAS,GAAGA,CAACC,GAAkB,EAAEC,MAAc,KAAwB;EAC3E,IAAI,CAACD,GAAG,EAAE;IAAC,OAAO,IAAI;EAAC;EACvB,IAAI;IACF,MAAME,KAAK,GAAG7B,UAAU,CAAC2B,GAAG,CAAC;IAC7B,OAAOE,KAAK,CAACD,MAAM,KAAKA,MAAM,GAAGC,KAAK,GAAG,IAAI;EAC/C,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,iBAAiBA,CAAA,EAAkC;EACvE,MAAMC,SAAS,GAAGL,SAAS,CAAC,MAAML,QAAQ,CAACX,oBAAoB,CAAC,EAAEL,2BAA2B,CAAC;EAC9F,IAAI,CAAC0B,SAAS,EAAE;IAAC,OAAO,IAAI;EAAC;EAC7B,MAAMC,MAAM,GAAGN,SAAS,CAAC,MAAML,QAAQ,CAACV,oBAAoB,CAAC,EAAEP,2BAA2B,CAAC;EAC3F,OAAO;IAAE6B,SAAS,EAAED,MAAM,IAAIxB,oBAAoB,CAACuB,SAAS,CAAC;IAAEA;EAAU,CAAC;AAC5E;AAEA,MAAMG,QAAQ,GAAID,SAAqB,KAAmB;EACxDA,SAAS,EAAEhC,QAAQ,CAACgC,SAAS,CAAC;EAC9BE,KAAK,EAAE5B,cAAc,CAAC0B,SAAS;AACjC,CAAC,CAAC;;AAEF;AACA,OAAO,eAAeG,cAAcA,CAAA,EAAgC;EAClE,MAAMC,GAAG,GAAG,MAAMP,iBAAiB,CAAC,CAAC;EACrC,OAAOO,GAAG,GAAGH,QAAQ,CAACG,GAAG,CAACJ,SAAS,CAAC,GAAG,IAAI;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,gBAAgBA,CAAA,EAAgC;EACpE,MAAMvB,KAAK,GAAGb,eAAe,CAAC,CAAC;EAC/B,MAAMqB,OAAO,GAAGT,YAAY,CAAC,CAAC;EAC9B,IAAI,CAACC,KAAK,IAAI,CAACQ,OAAO,EAAE;IACtBV,oBAAoB,CAAC,CAAC;IACtB,OAAO,IAAI;EACb;EACA,MAAM0B,IAAI,GAAGjC,wBAAwB,CAAC,CAAC;EACvC,IAAI;IACF,MAAMS,KAAK,CAACyB,YAAY,CAAC9B,oBAAoB,EAAET,QAAQ,CAACsC,IAAI,CAACR,SAAS,CAAC,EAAER,OAAO,CAAC;IACjF,MAAMR,KAAK,CAACyB,YAAY,CAAC7B,oBAAoB,EAAEV,QAAQ,CAACsC,IAAI,CAACN,SAAS,CAAC,EAAEV,OAAO,CAAC;EACnF,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVtB,OAAO,CAAC,MAAM,EAAE,qCAAqC,EAAEsB,CAAC,CAAC;IACzD,OAAO,IAAI;EACb;EACA,MAAMgB,KAAK,GAAG,MAAMX,iBAAiB,CAAC,CAAC;EACvC,IAAI,CAACW,KAAK,IAAIxC,QAAQ,CAACwC,KAAK,CAACR,SAAS,CAAC,KAAKhC,QAAQ,CAACsC,IAAI,CAACN,SAAS,CAAC,EAAE;IACpE9B,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC;IACpD,OAAO,IAAI;EACb;EACAA,OAAO,CAAC,IAAI,EAAE,wBAAwBI,cAAc,CAACgC,IAAI,CAACN,SAAS,CAAC,EAAE,CAAC;EACvE,OAAOC,QAAQ,CAACK,IAAI,CAACN,SAAS,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeS,iBAAiBA,CAAA,EAAgC;EACrE,MAAMC,QAAQ,GAAG,MAAMP,cAAc,CAAC,CAAC;EACvC,OAAOO,QAAQ,IAAIL,gBAAgB,CAAC,CAAC;AACvC;;AAEA;AACA,OAAO,eAAeM,gBAAgBA,CAAA,EAAkB;EACtD,MAAM7B,KAAK,GAAGb,eAAe,CAAC,CAAC;EAC/B,MAAMqB,OAAO,GAAGT,YAAY,CAAC,CAAC;EAC9B,IAAI,CAACC,KAAK,IAAI,CAACQ,OAAO,EAAE;IAAC;EAAO;EAChC,KAAK,MAAMD,IAAI,IAAI,CAACZ,oBAAoB,EAAEC,oBAAoB,CAAC,EAAE;IAC/D,IAAI;MACF,MAAMI,KAAK,CAAC8B,eAAe,CAACvB,IAAI,EAAEC,OAAO,CAAC;IAC5C,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;;AAEA;AACA,OAAO,MAAMuB,2BAA2B,GAAGA,CAAA,KAAY;EACrDlC,kBAAkB,GAAG,KAAK;AAC5B,CAAC","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ import { hsalsa, xsalsa20poly1305 } from '@noble/ciphers/salsa.js';
4
+ import { clean, concatBytes, u32, u8, utf8ToBytes } from '@noble/ciphers/utils.js';
5
+ import { x25519 } from '@noble/curves/ed25519.js';
6
+ import { blake2b } from '@noble/hashes/blake2.js';
7
+ import { sha256 } from '@noble/hashes/sha2.js';
8
+ import { bytesToHex } from '@noble/hashes/utils.js';
9
+
10
+ // libsodium's sealed box (`crypto_box_seal` / `crypto_box_seal_open`) on
11
+ // the noble primitives the e2ee code already ships, so the JS side needs
12
+ // no native libsodium. The push service seals every chat push for a
13
+ // device that registered an X25519 public key (ethora-backend,
14
+ // services/push/README.md, "Encrypted pushes"); this is the matching
15
+ // receiver. The iOS notification service extension decrypts the same
16
+ // boxes in Swift with libsodium (plugins/notification-service).
17
+ //
18
+ // Layout: ephemeral public key (32) || crypto_box(message, nonce,
19
+ // recipient pk, ephemeral sk), with crypto_box = XSalsa20-Poly1305 under
20
+ // HSalsa20(X25519 shared secret) and nonce = BLAKE2b-192(epk || rpk).
21
+ // `__tests__/sealedBox.test.ts` pins this against libsodium itself.
22
+
23
+ export const SEALED_BOX_PUBLIC_KEY_BYTES = 32;
24
+ export const SEALED_BOX_SECRET_KEY_BYTES = 32;
25
+ /** Ephemeral public key (32) + Poly1305 tag (16). */
26
+ export const SEALED_BOX_OVERHEAD_BYTES = 48;
27
+ const NONCE_BYTES = 24;
28
+ const SIGMA = u32(utf8ToBytes('expand 32-byte k'));
29
+ const ZERO_NONCE_PREFIX = new Uint32Array(4);
30
+ export const generateSealedBoxKeyPair = () => {
31
+ const {
32
+ secretKey,
33
+ publicKey
34
+ } = x25519.keygen();
35
+ return {
36
+ publicKey,
37
+ secretKey
38
+ };
39
+ };
40
+ export const sealedBoxPublicKeyOf = secretKey => x25519.getPublicKey(secretKey);
41
+
42
+ /**
43
+ * The key id the push service derives when the registration carries none:
44
+ * the first 16 hex characters of SHA-256 over the raw public key. Sent back
45
+ * as `kid` in every sealed push.
46
+ */
47
+ export const sealedBoxKeyId = publicKey => bytesToHex(sha256(publicKey)).slice(0, 16);
48
+
49
+ // crypto_box_beforenm: HSalsa20 over the X25519 shared secret.
50
+ const boxSharedKey = (theirPublicKey, mySecretKey) => {
51
+ const shared = x25519.getSharedSecret(mySecretKey, theirPublicKey);
52
+ const words = new Uint32Array(8);
53
+ hsalsa(SIGMA, u32(shared), ZERO_NONCE_PREFIX, words);
54
+ clean(shared);
55
+ return u8(words);
56
+ };
57
+ const sealNonce = (ephemeralPublicKey, recipientPublicKey) => blake2b(concatBytes(ephemeralPublicKey, recipientPublicKey), {
58
+ dkLen: NONCE_BYTES
59
+ });
60
+
61
+ /** `crypto_box_seal`: used by the tests and the key tool, not by the app. */
62
+ export function sealedBoxSeal(message, recipientPublicKey) {
63
+ if (recipientPublicKey.length !== SEALED_BOX_PUBLIC_KEY_BYTES) {
64
+ throw new Error('sealedBoxSeal: the public key must be 32 bytes');
65
+ }
66
+ const ephemeral = generateSealedBoxKeyPair();
67
+ const key = boxSharedKey(recipientPublicKey, ephemeral.secretKey);
68
+ const nonce = sealNonce(ephemeral.publicKey, recipientPublicKey);
69
+ const box = xsalsa20poly1305(key, nonce).encrypt(message);
70
+ clean(key, ephemeral.secretKey);
71
+ return concatBytes(ephemeral.publicKey, box);
72
+ }
73
+
74
+ /**
75
+ * `crypto_box_seal_open`. Returns null for anything that does not open:
76
+ * a wrong key, a box for another key, a damaged or truncated box.
77
+ */
78
+ export function sealedBoxOpen(sealed, publicKey, secretKey) {
79
+ if (sealed.length < SEALED_BOX_OVERHEAD_BYTES || publicKey.length !== SEALED_BOX_PUBLIC_KEY_BYTES || secretKey.length !== SEALED_BOX_SECRET_KEY_BYTES) {
80
+ return null;
81
+ }
82
+ const ephemeralPublicKey = sealed.subarray(0, SEALED_BOX_PUBLIC_KEY_BYTES);
83
+ const box = sealed.subarray(SEALED_BOX_PUBLIC_KEY_BYTES);
84
+ let key = null;
85
+ try {
86
+ key = boxSharedKey(ephemeralPublicKey, secretKey);
87
+ const nonce = sealNonce(ephemeralPublicKey, publicKey);
88
+ return xsalsa20poly1305(key, nonce).decrypt(box);
89
+ } catch {
90
+ return null;
91
+ } finally {
92
+ if (key) {
93
+ clean(key);
94
+ }
95
+ }
96
+ }
97
+ //# sourceMappingURL=sealedBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hsalsa","xsalsa20poly1305","clean","concatBytes","u32","u8","utf8ToBytes","x25519","blake2b","sha256","bytesToHex","SEALED_BOX_PUBLIC_KEY_BYTES","SEALED_BOX_SECRET_KEY_BYTES","SEALED_BOX_OVERHEAD_BYTES","NONCE_BYTES","SIGMA","ZERO_NONCE_PREFIX","Uint32Array","generateSealedBoxKeyPair","secretKey","publicKey","keygen","sealedBoxPublicKeyOf","getPublicKey","sealedBoxKeyId","slice","boxSharedKey","theirPublicKey","mySecretKey","shared","getSharedSecret","words","sealNonce","ephemeralPublicKey","recipientPublicKey","dkLen","sealedBoxSeal","message","length","Error","ephemeral","key","nonce","box","encrypt","sealedBoxOpen","sealed","subarray","decrypt"],"sourceRoot":"../../../src","sources":["push/sealedBox.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ import { fromBase64 } from '../e2ee/crypto';
4
+ import { sealedBoxKeyId, sealedBoxOpen } from './sealedBox';
5
+
6
+ // The envelope of an encrypted chat push (ethora-backend,
7
+ // services/push/README.md, "Encrypted pushes"): the FCM `data` map on
8
+ // Android, the custom keys next to `aps` on iOS. Only ids travel in the
9
+ // clear; everything shown to the user is inside `enc`, a sealed box for
10
+ // the key the device registered with its token.
11
+
12
+ export const SEALED_PUSH_ALG = 'sealed-box-x25519';
13
+ export const SEALED_PUSH_VERSION = '1';
14
+
15
+ /** What the box holds: the notification the service would have sent in the clear. */
16
+
17
+ export const isReactionPush = envelope => envelope.type === 'reaction';
18
+ const str = value => typeof value === 'string' ? value : '';
19
+
20
+ /** The envelope of `data` when it is a sealed chat push, else null. */
21
+ export const sealedPushEnvelopeOf = data => {
22
+ if (!data || data.alg !== SEALED_PUSH_ALG) {
23
+ return null;
24
+ }
25
+ const enc = str(data.enc);
26
+ return {
27
+ v: str(data.v) || SEALED_PUSH_VERSION,
28
+ alg: SEALED_PUSH_ALG,
29
+ kid: str(data.kid),
30
+ jid: str(data.jid),
31
+ msgID: str(data.msgID),
32
+ userJid: str(data.userJid),
33
+ ...(str(data.type) ? {
34
+ type: str(data.type)
35
+ } : {}),
36
+ ...(enc ? {
37
+ enc
38
+ } : {})
39
+ };
40
+ };
41
+ export const isSealedPush = data => sealedPushEnvelopeOf(data) !== null;
42
+ const parseContent = plaintext => {
43
+ try {
44
+ const parsed = JSON.parse(new TextDecoder().decode(plaintext));
45
+ if (!parsed || typeof parsed !== 'object') {
46
+ return null;
47
+ }
48
+ return {
49
+ title: str(parsed.title),
50
+ body: str(parsed.body),
51
+ sender: str(parsed.sender),
52
+ senderJid: str(parsed.senderJid),
53
+ chat: str(parsed.chat),
54
+ chatJid: str(parsed.chatJid),
55
+ msgID: str(parsed.msgID),
56
+ image: str(parsed.image),
57
+ ...(str(parsed.type) ? {
58
+ type: str(parsed.type)
59
+ } : {}),
60
+ ...(str(parsed.reaction) ? {
61
+ reaction: str(parsed.reaction)
62
+ } : {})
63
+ };
64
+ } catch {
65
+ return null;
66
+ }
67
+ };
68
+ /**
69
+ * Open a sealed push with the device key. `key` null means there is no key
70
+ * on this device. Never throws: every failure names why, so the caller can
71
+ * show the placeholder and log the reason.
72
+ */
73
+ export function openSealedPush(envelope, key) {
74
+ if (!key) {
75
+ return {
76
+ ok: false,
77
+ reason: 'no-key',
78
+ envelope
79
+ };
80
+ }
81
+ if (envelope.kid && envelope.kid !== sealedBoxKeyId(key.publicKey)) {
82
+ return {
83
+ ok: false,
84
+ reason: 'key-mismatch',
85
+ envelope
86
+ };
87
+ }
88
+ if (!envelope.enc) {
89
+ return {
90
+ ok: false,
91
+ reason: 'no-ciphertext',
92
+ envelope
93
+ };
94
+ }
95
+ let sealed;
96
+ try {
97
+ sealed = fromBase64(envelope.enc);
98
+ } catch {
99
+ return {
100
+ ok: false,
101
+ reason: 'bad-ciphertext',
102
+ envelope
103
+ };
104
+ }
105
+ const plaintext = sealedBoxOpen(sealed, key.publicKey, key.secretKey);
106
+ if (!plaintext) {
107
+ return {
108
+ ok: false,
109
+ reason: 'bad-ciphertext',
110
+ envelope
111
+ };
112
+ }
113
+ const content = parseContent(plaintext);
114
+ if (!content) {
115
+ return {
116
+ ok: false,
117
+ reason: 'bad-content',
118
+ envelope
119
+ };
120
+ }
121
+ return {
122
+ ok: true,
123
+ content,
124
+ envelope
125
+ };
126
+ }
127
+ //# sourceMappingURL=sealedPush.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fromBase64","sealedBoxKeyId","sealedBoxOpen","SEALED_PUSH_ALG","SEALED_PUSH_VERSION","isReactionPush","envelope","type","str","value","sealedPushEnvelopeOf","data","alg","enc","v","kid","jid","msgID","userJid","isSealedPush","parseContent","plaintext","parsed","JSON","parse","TextDecoder","decode","title","body","sender","senderJid","chat","chatJid","image","reaction","openSealedPush","key","ok","reason","publicKey","sealed","secretKey","content"],"sourceRoot":"../../../src","sources":["push/sealedPush.ts"],"mappings":"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","ignoreList":[]}