@unwanted/matrix-sdk-mini 34.12.0-2 → 34.12.0-4
Sign up to get free protection for your applications and to get access to all the features.
- package/git-revision.txt +1 -1
- package/lib/@types/global.d.js +0 -2
- package/lib/@types/global.d.js.map +1 -1
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +0 -11
- package/lib/browser-index.js.map +1 -1
- package/lib/client.d.ts +2 -1221
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +331 -2821
- package/lib/client.js.map +1 -1
- package/lib/embedded.d.ts +0 -22
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +24 -166
- package/lib/embedded.js.map +1 -1
- package/lib/event-mapper.d.ts.map +1 -1
- package/lib/event-mapper.js +0 -4
- package/lib/event-mapper.js.map +1 -1
- package/lib/matrix.d.ts +0 -19
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -26
- package/lib/matrix.js.map +1 -1
- package/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/lib/models/MSC3089Branch.js +0 -3
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/event.d.ts +0 -94
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +0 -274
- package/lib/models/event.js.map +1 -1
- package/lib/models/poll.d.ts.map +1 -1
- package/lib/models/poll.js +1 -5
- package/lib/models/poll.js.map +1 -1
- package/lib/models/relations-container.d.ts.map +1 -1
- package/lib/models/relations-container.js +1 -7
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.d.ts +0 -1
- package/lib/models/relations.d.ts.map +1 -1
- package/lib/models/relations.js +0 -8
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-state.d.ts.map +1 -1
- package/lib/models/room-state.js +10 -26
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room.d.ts +0 -18
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +94 -148
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.d.ts.map +1 -1
- package/lib/models/thread.js +0 -1
- package/lib/models/thread.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts +2 -3
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +41 -90
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sync.d.ts +0 -12
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +1 -73
- package/lib/sync.js.map +1 -1
- package/lib/testing.d.ts +0 -48
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +0 -105
- package/lib/testing.js.map +1 -1
- package/lib/types.d.ts +0 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +1 -3
- package/src/@types/global.d.ts +0 -3
- package/src/browser-index.ts +0 -11
- package/src/client.ts +60 -2882
- package/src/embedded.ts +3 -130
- package/src/event-mapper.ts +0 -4
- package/src/matrix.ts +0 -28
- package/src/models/MSC3089Branch.ts +0 -3
- package/src/models/event.ts +0 -289
- package/src/models/poll.ts +0 -6
- package/src/models/relations-container.ts +1 -8
- package/src/models/relations.ts +0 -8
- package/src/models/room-state.ts +2 -8
- package/src/models/room.ts +0 -62
- package/src/models/thread.ts +0 -1
- package/src/sliding-sync-sdk.ts +2 -72
- package/src/sync.ts +1 -98
- package/src/testing.ts +0 -108
- package/src/types.ts +0 -1
- package/CHANGELOG.md +0 -5910
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
- package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
- package/lib/@types/crypto.d.ts +0 -47
- package/lib/@types/crypto.d.ts.map +0 -1
- package/lib/@types/crypto.js +0 -1
- package/lib/@types/crypto.js.map +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
- package/lib/common-crypto/CryptoBackend.d.ts +0 -240
- package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
- package/lib/common-crypto/CryptoBackend.js +0 -73
- package/lib/common-crypto/CryptoBackend.js.map +0 -1
- package/lib/common-crypto/key-passphrase.d.ts +0 -14
- package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
- package/lib/common-crypto/key-passphrase.js +0 -33
- package/lib/common-crypto/key-passphrase.js.map +0 -1
- package/lib/crypto/CrossSigning.d.ts +0 -184
- package/lib/crypto/CrossSigning.d.ts.map +0 -1
- package/lib/crypto/CrossSigning.js +0 -718
- package/lib/crypto/CrossSigning.js.map +0 -1
- package/lib/crypto/DeviceList.d.ts +0 -216
- package/lib/crypto/DeviceList.d.ts.map +0 -1
- package/lib/crypto/DeviceList.js +0 -892
- package/lib/crypto/DeviceList.js.map +0 -1
- package/lib/crypto/EncryptionSetup.d.ts +0 -152
- package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
- package/lib/crypto/EncryptionSetup.js +0 -356
- package/lib/crypto/EncryptionSetup.js.map +0 -1
- package/lib/crypto/OlmDevice.d.ts +0 -457
- package/lib/crypto/OlmDevice.d.ts.map +0 -1
- package/lib/crypto/OlmDevice.js +0 -1241
- package/lib/crypto/OlmDevice.js.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
- package/lib/crypto/RoomList.d.ts +0 -26
- package/lib/crypto/RoomList.d.ts.map +0 -1
- package/lib/crypto/RoomList.js +0 -71
- package/lib/crypto/RoomList.js.map +0 -1
- package/lib/crypto/SecretSharing.d.ts +0 -24
- package/lib/crypto/SecretSharing.d.ts.map +0 -1
- package/lib/crypto/SecretSharing.js +0 -194
- package/lib/crypto/SecretSharing.js.map +0 -1
- package/lib/crypto/SecretStorage.d.ts +0 -55
- package/lib/crypto/SecretStorage.d.ts.map +0 -1
- package/lib/crypto/SecretStorage.js +0 -118
- package/lib/crypto/SecretStorage.js.map +0 -1
- package/lib/crypto/aes.d.ts +0 -6
- package/lib/crypto/aes.d.ts.map +0 -1
- package/lib/crypto/aes.js +0 -24
- package/lib/crypto/aes.js.map +0 -1
- package/lib/crypto/algorithms/base.d.ts +0 -156
- package/lib/crypto/algorithms/base.d.ts.map +0 -1
- package/lib/crypto/algorithms/base.js +0 -187
- package/lib/crypto/algorithms/base.js.map +0 -1
- package/lib/crypto/algorithms/index.d.ts +0 -4
- package/lib/crypto/algorithms/index.d.ts.map +0 -1
- package/lib/crypto/algorithms/index.js +0 -20
- package/lib/crypto/algorithms/index.js.map +0 -1
- package/lib/crypto/algorithms/megolm.d.ts +0 -385
- package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
- package/lib/crypto/algorithms/megolm.js +0 -1822
- package/lib/crypto/algorithms/megolm.js.map +0 -1
- package/lib/crypto/algorithms/olm.d.ts +0 -5
- package/lib/crypto/algorithms/olm.d.ts.map +0 -1
- package/lib/crypto/algorithms/olm.js +0 -299
- package/lib/crypto/algorithms/olm.js.map +0 -1
- package/lib/crypto/api.d.ts +0 -32
- package/lib/crypto/api.d.ts.map +0 -1
- package/lib/crypto/api.js +0 -22
- package/lib/crypto/api.js.map +0 -1
- package/lib/crypto/backup.d.ts +0 -227
- package/lib/crypto/backup.d.ts.map +0 -1
- package/lib/crypto/backup.js +0 -824
- package/lib/crypto/backup.js.map +0 -1
- package/lib/crypto/crypto.d.ts +0 -3
- package/lib/crypto/crypto.d.ts.map +0 -1
- package/lib/crypto/crypto.js +0 -19
- package/lib/crypto/crypto.js.map +0 -1
- package/lib/crypto/dehydration.d.ts +0 -34
- package/lib/crypto/dehydration.d.ts.map +0 -1
- package/lib/crypto/dehydration.js +0 -252
- package/lib/crypto/dehydration.js.map +0 -1
- package/lib/crypto/device-converter.d.ts +0 -9
- package/lib/crypto/device-converter.d.ts.map +0 -1
- package/lib/crypto/device-converter.js +0 -42
- package/lib/crypto/device-converter.js.map +0 -1
- package/lib/crypto/deviceinfo.d.ts +0 -99
- package/lib/crypto/deviceinfo.d.ts.map +0 -1
- package/lib/crypto/deviceinfo.js +0 -148
- package/lib/crypto/deviceinfo.js.map +0 -1
- package/lib/crypto/index.d.ts +0 -1209
- package/lib/crypto/index.d.ts.map +0 -1
- package/lib/crypto/index.js +0 -4097
- package/lib/crypto/index.js.map +0 -1
- package/lib/crypto/key_passphrase.d.ts +0 -14
- package/lib/crypto/key_passphrase.d.ts.map +0 -1
- package/lib/crypto/key_passphrase.js +0 -44
- package/lib/crypto/key_passphrase.js.map +0 -1
- package/lib/crypto/keybackup.d.ts +0 -18
- package/lib/crypto/keybackup.d.ts.map +0 -1
- package/lib/crypto/keybackup.js +0 -1
- package/lib/crypto/keybackup.js.map +0 -1
- package/lib/crypto/olmlib.d.ts +0 -129
- package/lib/crypto/olmlib.d.ts.map +0 -1
- package/lib/crypto/olmlib.js +0 -492
- package/lib/crypto/olmlib.js.map +0 -1
- package/lib/crypto/recoverykey.d.ts +0 -2
- package/lib/crypto/recoverykey.d.ts.map +0 -1
- package/lib/crypto/recoverykey.js +0 -19
- package/lib/crypto/recoverykey.js.map +0 -1
- package/lib/crypto/store/base.d.ts +0 -252
- package/lib/crypto/store/base.d.ts.map +0 -1
- package/lib/crypto/store/base.js +0 -64
- package/lib/crypto/store/base.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
- package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.js +0 -531
- package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
- package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
- package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/memory-crypto-store.js +0 -622
- package/lib/crypto/store/memory-crypto-store.js.map +0 -1
- package/lib/crypto/verification/Base.d.ts +0 -105
- package/lib/crypto/verification/Base.d.ts.map +0 -1
- package/lib/crypto/verification/Base.js +0 -372
- package/lib/crypto/verification/Base.js.map +0 -1
- package/lib/crypto/verification/Error.d.ts +0 -35
- package/lib/crypto/verification/Error.d.ts.map +0 -1
- package/lib/crypto/verification/Error.js +0 -86
- package/lib/crypto/verification/Error.js.map +0 -1
- package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
- package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
- package/lib/crypto/verification/IllegalMethod.js +0 -43
- package/lib/crypto/verification/IllegalMethod.js.map +0 -1
- package/lib/crypto/verification/QRCode.d.ts +0 -51
- package/lib/crypto/verification/QRCode.d.ts.map +0 -1
- package/lib/crypto/verification/QRCode.js +0 -277
- package/lib/crypto/verification/QRCode.js.map +0 -1
- package/lib/crypto/verification/SAS.d.ts +0 -27
- package/lib/crypto/verification/SAS.d.ts.map +0 -1
- package/lib/crypto/verification/SAS.js +0 -485
- package/lib/crypto/verification/SAS.js.map +0 -1
- package/lib/crypto/verification/SASDecimal.d.ts +0 -8
- package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
- package/lib/crypto/verification/SASDecimal.js +0 -34
- package/lib/crypto/verification/SASDecimal.js.map +0 -1
- package/lib/crypto/verification/request/Channel.d.ts +0 -18
- package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
- package/lib/crypto/verification/request/Channel.js +0 -1
- package/lib/crypto/verification/request/Channel.js.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.js +0 -351
- package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.js +0 -937
- package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
- package/lib/crypto-api/CryptoEvent.d.ts +0 -69
- package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEvent.js +0 -33
- package/lib/crypto-api/CryptoEvent.js.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
- package/lib/crypto-api/index.d.ts +0 -978
- package/lib/crypto-api/index.d.ts.map +0 -1
- package/lib/crypto-api/index.js +0 -304
- package/lib/crypto-api/index.js.map +0 -1
- package/lib/crypto-api/key-passphrase.d.ts +0 -11
- package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
- package/lib/crypto-api/key-passphrase.js +0 -51
- package/lib/crypto-api/key-passphrase.js.map +0 -1
- package/lib/crypto-api/keybackup.d.ts +0 -88
- package/lib/crypto-api/keybackup.d.ts.map +0 -1
- package/lib/crypto-api/keybackup.js +0 -1
- package/lib/crypto-api/keybackup.js.map +0 -1
- package/lib/crypto-api/recovery-key.d.ts +0 -11
- package/lib/crypto-api/recovery-key.d.ts.map +0 -1
- package/lib/crypto-api/recovery-key.js +0 -65
- package/lib/crypto-api/recovery-key.js.map +0 -1
- package/lib/crypto-api/verification.d.ts +0 -344
- package/lib/crypto-api/verification.d.ts.map +0 -1
- package/lib/crypto-api/verification.js +0 -91
- package/lib/crypto-api/verification.js.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
- package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
- package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousChannel.js +0 -1
- package/lib/rendezvous/RendezvousChannel.js.map +0 -1
- package/lib/rendezvous/RendezvousCode.d.ts +0 -9
- package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousCode.js +0 -1
- package/lib/rendezvous/RendezvousCode.js.map +0 -1
- package/lib/rendezvous/RendezvousError.d.ts +0 -6
- package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousError.js +0 -23
- package/lib/rendezvous/RendezvousError.js.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.js +0 -38
- package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
- package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
- package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousIntent.js +0 -22
- package/lib/rendezvous/RendezvousIntent.js.map +0 -1
- package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
- package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousTransport.js +0 -1
- package/lib/rendezvous/RendezvousTransport.js.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
- package/lib/rendezvous/channels/index.d.ts +0 -2
- package/lib/rendezvous/channels/index.d.ts.map +0 -1
- package/lib/rendezvous/channels/index.js +0 -18
- package/lib/rendezvous/channels/index.js.map +0 -1
- package/lib/rendezvous/index.d.ts +0 -10
- package/lib/rendezvous/index.d.ts.map +0 -1
- package/lib/rendezvous/index.js +0 -23
- package/lib/rendezvous/index.js.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
- package/lib/rendezvous/transports/index.d.ts +0 -2
- package/lib/rendezvous/transports/index.d.ts.map +0 -1
- package/lib/rendezvous/transports/index.js +0 -18
- package/lib/rendezvous/transports/index.js.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
- package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.js +0 -82
- package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.js +0 -299
- package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
- package/lib/rust-crypto/backup.d.ts +0 -254
- package/lib/rust-crypto/backup.d.ts.map +0 -1
- package/lib/rust-crypto/backup.js +0 -837
- package/lib/rust-crypto/backup.js.map +0 -1
- package/lib/rust-crypto/constants.d.ts +0 -3
- package/lib/rust-crypto/constants.d.ts.map +0 -1
- package/lib/rust-crypto/constants.js +0 -19
- package/lib/rust-crypto/constants.js.map +0 -1
- package/lib/rust-crypto/device-converter.d.ts +0 -28
- package/lib/rust-crypto/device-converter.d.ts.map +0 -1
- package/lib/rust-crypto/device-converter.js +0 -123
- package/lib/rust-crypto/device-converter.js.map +0 -1
- package/lib/rust-crypto/index.d.ts +0 -61
- package/lib/rust-crypto/index.d.ts.map +0 -1
- package/lib/rust-crypto/index.js +0 -152
- package/lib/rust-crypto/index.js.map +0 -1
- package/lib/rust-crypto/libolm_migration.d.ts +0 -81
- package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
- package/lib/rust-crypto/libolm_migration.js +0 -459
- package/lib/rust-crypto/libolm_migration.js.map +0 -1
- package/lib/rust-crypto/rust-crypto.d.ts +0 -556
- package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
- package/lib/rust-crypto/rust-crypto.js +0 -2016
- package/lib/rust-crypto/rust-crypto.js.map +0 -1
- package/lib/rust-crypto/secret-storage.d.ts +0 -22
- package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
- package/lib/rust-crypto/secret-storage.js +0 -63
- package/lib/rust-crypto/secret-storage.js.map +0 -1
- package/lib/rust-crypto/verification.d.ts +0 -319
- package/lib/rust-crypto/verification.d.ts.map +0 -1
- package/lib/rust-crypto/verification.js +0 -816
- package/lib/rust-crypto/verification.js.map +0 -1
- package/lib/secret-storage.d.ts +0 -370
- package/lib/secret-storage.d.ts.map +0 -1
- package/lib/secret-storage.js +0 -466
- package/lib/secret-storage.js.map +0 -1
- package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
- package/lib/utils/decryptAESSecretStorageItem.js +0 -50
- package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
- package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
- package/lib/utils/encryptAESSecretStorageItem.js +0 -68
- package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
- package/lib/utils/internal/deriveKeys.d.ts +0 -10
- package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
- package/lib/utils/internal/deriveKeys.js +0 -60
- package/lib/utils/internal/deriveKeys.js.map +0 -1
- package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
- package/src/@types/crypto.ts +0 -73
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
- package/src/common-crypto/CryptoBackend.ts +0 -302
- package/src/common-crypto/README.md +0 -4
- package/src/common-crypto/key-passphrase.ts +0 -43
- package/src/crypto/CrossSigning.ts +0 -773
- package/src/crypto/DeviceList.ts +0 -989
- package/src/crypto/EncryptionSetup.ts +0 -351
- package/src/crypto/OlmDevice.ts +0 -1500
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
- package/src/crypto/RoomList.ts +0 -70
- package/src/crypto/SecretSharing.ts +0 -240
- package/src/crypto/SecretStorage.ts +0 -136
- package/src/crypto/aes.ts +0 -23
- package/src/crypto/algorithms/base.ts +0 -236
- package/src/crypto/algorithms/index.ts +0 -20
- package/src/crypto/algorithms/megolm.ts +0 -2216
- package/src/crypto/algorithms/olm.ts +0 -381
- package/src/crypto/api.ts +0 -70
- package/src/crypto/backup.ts +0 -922
- package/src/crypto/crypto.ts +0 -18
- package/src/crypto/dehydration.ts +0 -272
- package/src/crypto/device-converter.ts +0 -45
- package/src/crypto/deviceinfo.ts +0 -158
- package/src/crypto/index.ts +0 -4414
- package/src/crypto/key_passphrase.ts +0 -42
- package/src/crypto/keybackup.ts +0 -47
- package/src/crypto/olmlib.ts +0 -539
- package/src/crypto/recoverykey.ts +0 -18
- package/src/crypto/store/base.ts +0 -348
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
- package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
- package/src/crypto/store/localStorage-crypto-store.ts +0 -579
- package/src/crypto/store/memory-crypto-store.ts +0 -680
- package/src/crypto/verification/Base.ts +0 -409
- package/src/crypto/verification/Error.ts +0 -76
- package/src/crypto/verification/IllegalMethod.ts +0 -50
- package/src/crypto/verification/QRCode.ts +0 -310
- package/src/crypto/verification/SAS.ts +0 -494
- package/src/crypto/verification/SASDecimal.ts +0 -37
- package/src/crypto/verification/request/Channel.ts +0 -34
- package/src/crypto/verification/request/InRoomChannel.ts +0 -371
- package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
- package/src/crypto/verification/request/VerificationRequest.ts +0 -976
- package/src/crypto-api/CryptoEvent.ts +0 -93
- package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
- package/src/crypto-api/index.ts +0 -1175
- package/src/crypto-api/key-passphrase.ts +0 -58
- package/src/crypto-api/keybackup.ts +0 -115
- package/src/crypto-api/recovery-key.ts +0 -69
- package/src/crypto-api/verification.ts +0 -408
- package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
- package/src/rendezvous/RendezvousChannel.ts +0 -48
- package/src/rendezvous/RendezvousCode.ts +0 -25
- package/src/rendezvous/RendezvousError.ts +0 -26
- package/src/rendezvous/RendezvousFailureReason.ts +0 -49
- package/src/rendezvous/RendezvousIntent.ts +0 -20
- package/src/rendezvous/RendezvousTransport.ts +0 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
- package/src/rendezvous/channels/index.ts +0 -17
- package/src/rendezvous/index.ts +0 -25
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
- package/src/rendezvous/transports/index.ts +0 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
- package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
- package/src/rust-crypto/KeyClaimManager.ts +0 -86
- package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
- package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
- package/src/rust-crypto/RoomEncryptor.ts +0 -352
- package/src/rust-crypto/backup.ts +0 -881
- package/src/rust-crypto/constants.ts +0 -18
- package/src/rust-crypto/device-converter.ts +0 -128
- package/src/rust-crypto/index.ts +0 -237
- package/src/rust-crypto/libolm_migration.ts +0 -530
- package/src/rust-crypto/rust-crypto.ts +0 -2205
- package/src/rust-crypto/secret-storage.ts +0 -60
- package/src/rust-crypto/verification.ts +0 -830
- package/src/secret-storage.ts +0 -693
- package/src/utils/decryptAESSecretStorageItem.ts +0 -54
- package/src/utils/encryptAESSecretStorageItem.ts +0 -73
- package/src/utils/internal/deriveKeys.ts +0 -63
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"keybackup.js","names":[],"sources":["../../src/crypto-api/keybackup.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ISigned } from \"../@types/signed.ts\";\nimport { AESEncryptedSecretStoragePayload } from \"../@types/AESEncryptedSecretStoragePayload.ts\";\nimport { ImportRoomKeyProgressData } from \"./index.ts\";\n\nexport interface Curve25519AuthData {\n public_key: string;\n private_key_salt?: string;\n private_key_iterations?: number;\n private_key_bits?: number;\n}\n\nexport interface Aes256AuthData {\n iv: string;\n mac: string;\n private_key_salt?: string;\n private_key_iterations?: number;\n}\n\n/**\n * Information about a server-side key backup.\n *\n * Returned by [`GET /_matrix/client/v3/room_keys/version`](https://spec.matrix.org/v1.7/client-server-api/#get_matrixclientv3room_keysversion)\n * and hence {@link matrix.MatrixClient.getKeyBackupVersion}.\n */\nexport interface KeyBackupInfo {\n algorithm: string;\n auth_data: ISigned & (Curve25519AuthData | Aes256AuthData);\n count?: number;\n etag?: string;\n version?: string; // number contained within\n}\n\n/**\n * Information on whether a given server-side backup is trusted.\n */\nexport interface BackupTrustInfo {\n /**\n * Is this backup trusted?\n *\n * True if, and only if, there is a valid signature on the backup from a trusted device.\n */\n readonly trusted: boolean;\n\n /**\n * True if this backup matches the stored decryption key.\n */\n readonly matchesDecryptionKey: boolean;\n}\n\n/**\n * The result of {@link CryptoApi.checkKeyBackupAndEnable}.\n */\nexport interface KeyBackupCheck {\n backupInfo: KeyBackupInfo;\n trustInfo: BackupTrustInfo;\n}\n\nexport interface Curve25519SessionData {\n ciphertext: string;\n ephemeral: string;\n mac: string;\n}\n\n/* eslint-disable camelcase */\nexport interface KeyBackupSession<T = Curve25519SessionData | AESEncryptedSecretStoragePayload> {\n first_message_index: number;\n forwarded_count: number;\n is_verified: boolean;\n session_data: T;\n}\n\nexport interface KeyBackupRoomSessions {\n [sessionId: string]: KeyBackupSession;\n}\n\n/**\n * Extra parameters for {@link CryptoApi.restoreKeyBackup} and {@link CryptoApi.restoreKeyBackupWithPassphrase}.\n */\nexport interface KeyBackupRestoreOpts {\n /**\n * A callback which, if defined, will be called periodically to report ongoing progress of the backup restore process.\n * @param progress\n */\n progressCallback?: (progress: ImportRoomKeyProgressData) => void;\n}\n\n/**\n * The result of {@link CryptoApi.restoreKeyBackup}.\n */\nexport interface KeyBackupRestoreResult {\n /**\n * The total number of keys that were found in the backup.\n */\n total: number;\n /**\n * The number of keys that were imported.\n */\n imported: number;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}
|
3
|
-
* @param key
|
4
|
-
*/
|
5
|
-
export declare function encodeRecoveryKey(key: ArrayLike<number>): string | undefined;
|
6
|
-
/**
|
7
|
-
* Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.
|
8
|
-
* @param recoveryKey
|
9
|
-
*/
|
10
|
-
export declare function decodeRecoveryKey(recoveryKey: string): Uint8Array;
|
11
|
-
//# sourceMappingURL=recovery-key.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"recovery-key.d.ts","sourceRoot":"","sources":["../../src/crypto-api/recovery-key.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAa5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAsBjE"}
|
@@ -1,65 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2024 The Matrix.org Foundation C.I.C.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
import bs58 from "bs58";
|
18
|
-
|
19
|
-
// picked arbitrarily but to try & avoid clashing with any bitcoin ones
|
20
|
-
// (which are also base58 encoded, but bitcoin's involve a lot more hashing)
|
21
|
-
var OLM_RECOVERY_KEY_PREFIX = [0x8b, 0x01];
|
22
|
-
var KEY_SIZE = 32;
|
23
|
-
|
24
|
-
/**
|
25
|
-
* Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}
|
26
|
-
* @param key
|
27
|
-
*/
|
28
|
-
export function encodeRecoveryKey(key) {
|
29
|
-
var _base58key$match;
|
30
|
-
var buf = Buffer.alloc(OLM_RECOVERY_KEY_PREFIX.length + key.length + 1);
|
31
|
-
buf.set(OLM_RECOVERY_KEY_PREFIX, 0);
|
32
|
-
buf.set(key, OLM_RECOVERY_KEY_PREFIX.length);
|
33
|
-
var parity = 0;
|
34
|
-
for (var i = 0; i < buf.length - 1; ++i) {
|
35
|
-
parity ^= buf[i];
|
36
|
-
}
|
37
|
-
buf[buf.length - 1] = parity;
|
38
|
-
var base58key = bs58.encode(buf);
|
39
|
-
return (_base58key$match = base58key.match(/.{1,4}/g)) === null || _base58key$match === void 0 ? void 0 : _base58key$match.join(" ");
|
40
|
-
}
|
41
|
-
|
42
|
-
/**
|
43
|
-
* Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.
|
44
|
-
* @param recoveryKey
|
45
|
-
*/
|
46
|
-
export function decodeRecoveryKey(recoveryKey) {
|
47
|
-
var result = bs58.decode(recoveryKey.replace(/ /g, ""));
|
48
|
-
var parity = 0;
|
49
|
-
for (var b of result) {
|
50
|
-
parity ^= b;
|
51
|
-
}
|
52
|
-
if (parity !== 0) {
|
53
|
-
throw new Error("Incorrect parity");
|
54
|
-
}
|
55
|
-
for (var i = 0; i < OLM_RECOVERY_KEY_PREFIX.length; ++i) {
|
56
|
-
if (result[i] !== OLM_RECOVERY_KEY_PREFIX[i]) {
|
57
|
-
throw new Error("Incorrect prefix");
|
58
|
-
}
|
59
|
-
}
|
60
|
-
if (result.length !== OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE + 1) {
|
61
|
-
throw new Error("Incorrect length");
|
62
|
-
}
|
63
|
-
return Uint8Array.from(result.slice(OLM_RECOVERY_KEY_PREFIX.length, OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE));
|
64
|
-
}
|
65
|
-
//# sourceMappingURL=recovery-key.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"recovery-key.js","names":["bs58","OLM_RECOVERY_KEY_PREFIX","KEY_SIZE","encodeRecoveryKey","key","_base58key$match","buf","Buffer","alloc","length","set","parity","i","base58key","encode","match","join","decodeRecoveryKey","recoveryKey","result","decode","replace","b","Error","Uint8Array","from","slice"],"sources":["../../src/crypto-api/recovery-key.ts"],"sourcesContent":["/*\n * Copyright 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport bs58 from \"bs58\";\n\n// picked arbitrarily but to try & avoid clashing with any bitcoin ones\n// (which are also base58 encoded, but bitcoin's involve a lot more hashing)\nconst OLM_RECOVERY_KEY_PREFIX = [0x8b, 0x01];\nconst KEY_SIZE = 32;\n\n/**\n * Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}\n * @param key\n */\nexport function encodeRecoveryKey(key: ArrayLike<number>): string | undefined {\n const buf = Buffer.alloc(OLM_RECOVERY_KEY_PREFIX.length + key.length + 1);\n buf.set(OLM_RECOVERY_KEY_PREFIX, 0);\n buf.set(key, OLM_RECOVERY_KEY_PREFIX.length);\n\n let parity = 0;\n for (let i = 0; i < buf.length - 1; ++i) {\n parity ^= buf[i];\n }\n buf[buf.length - 1] = parity;\n const base58key = bs58.encode(buf);\n\n return base58key.match(/.{1,4}/g)?.join(\" \");\n}\n\n/**\n * Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.\n * @param recoveryKey\n */\nexport function decodeRecoveryKey(recoveryKey: string): Uint8Array {\n const result = bs58.decode(recoveryKey.replace(/ /g, \"\"));\n\n let parity = 0;\n for (const b of result) {\n parity ^= b;\n }\n if (parity !== 0) {\n throw new Error(\"Incorrect parity\");\n }\n\n for (let i = 0; i < OLM_RECOVERY_KEY_PREFIX.length; ++i) {\n if (result[i] !== OLM_RECOVERY_KEY_PREFIX[i]) {\n throw new Error(\"Incorrect prefix\");\n }\n }\n\n if (result.length !== OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE + 1) {\n throw new Error(\"Incorrect length\");\n }\n\n return Uint8Array.from(result.slice(OLM_RECOVERY_KEY_PREFIX.length, OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA,IAAMC,uBAAuB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5C,IAAMC,QAAQ,GAAG,EAAE;;AAEnB;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,GAAsB,EAAsB;EAAA,IAAAC,gBAAA;EAC1E,IAAMC,GAAG,GAAGC,MAAM,CAACC,KAAK,CAACP,uBAAuB,CAACQ,MAAM,GAAGL,GAAG,CAACK,MAAM,GAAG,CAAC,CAAC;EACzEH,GAAG,CAACI,GAAG,CAACT,uBAAuB,EAAE,CAAC,CAAC;EACnCK,GAAG,CAACI,GAAG,CAACN,GAAG,EAAEH,uBAAuB,CAACQ,MAAM,CAAC;EAE5C,IAAIE,MAAM,GAAG,CAAC;EACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,GAAG,CAACG,MAAM,GAAG,CAAC,EAAE,EAAEG,CAAC,EAAE;IACrCD,MAAM,IAAIL,GAAG,CAACM,CAAC,CAAC;EACpB;EACAN,GAAG,CAACA,GAAG,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGE,MAAM;EAC5B,IAAME,SAAS,GAAGb,IAAI,CAACc,MAAM,CAACR,GAAG,CAAC;EAElC,QAAAD,gBAAA,GAAOQ,SAAS,CAACE,KAAK,CAAC,SAAS,CAAC,cAAAV,gBAAA,uBAA1BA,gBAAA,CAA4BW,IAAI,CAAC,GAAG,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,WAAmB,EAAc;EAC/D,IAAMC,MAAM,GAAGnB,IAAI,CAACoB,MAAM,CAACF,WAAW,CAACG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;EAEzD,IAAIV,MAAM,GAAG,CAAC;EACd,KAAK,IAAMW,CAAC,IAAIH,MAAM,EAAE;IACpBR,MAAM,IAAIW,CAAC;EACf;EACA,IAAIX,MAAM,KAAK,CAAC,EAAE;IACd,MAAM,IAAIY,KAAK,CAAC,kBAAkB,CAAC;EACvC;EAEA,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,uBAAuB,CAACQ,MAAM,EAAE,EAAEG,CAAC,EAAE;IACrD,IAAIO,MAAM,CAACP,CAAC,CAAC,KAAKX,uBAAuB,CAACW,CAAC,CAAC,EAAE;MAC1C,MAAM,IAAIW,KAAK,CAAC,kBAAkB,CAAC;IACvC;EACJ;EAEA,IAAIJ,MAAM,CAACV,MAAM,KAAKR,uBAAuB,CAACQ,MAAM,GAAGP,QAAQ,GAAG,CAAC,EAAE;IACjE,MAAM,IAAIqB,KAAK,CAAC,kBAAkB,CAAC;EACvC;EAEA,OAAOC,UAAU,CAACC,IAAI,CAACN,MAAM,CAACO,KAAK,CAACzB,uBAAuB,CAACQ,MAAM,EAAER,uBAAuB,CAACQ,MAAM,GAAGP,QAAQ,CAAC,CAAC;AACnH","ignoreList":[]}
|
@@ -1,344 +0,0 @@
|
|
1
|
-
import { MatrixEvent } from "../models/event.ts";
|
2
|
-
import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
|
3
|
-
/**
|
4
|
-
* An incoming, or outgoing, request to verify a user or a device via cross-signing.
|
5
|
-
*/
|
6
|
-
export interface VerificationRequest extends TypedEventEmitter<VerificationRequestEvent, VerificationRequestEventHandlerMap> {
|
7
|
-
/**
|
8
|
-
* Unique ID for this verification request.
|
9
|
-
*
|
10
|
-
* An ID isn't assigned until the first message is sent, so this may be `undefined` in the early phases.
|
11
|
-
*/
|
12
|
-
get transactionId(): string | undefined;
|
13
|
-
/**
|
14
|
-
* For an in-room verification, the ID of the room.
|
15
|
-
*
|
16
|
-
* For to-device verifictions, `undefined`.
|
17
|
-
*/
|
18
|
-
get roomId(): string | undefined;
|
19
|
-
/**
|
20
|
-
* True if this request was initiated by the local client.
|
21
|
-
*
|
22
|
-
* For in-room verifications, the initiator is who sent the `m.key.verification.request` event.
|
23
|
-
* For to-device verifications, the initiator is who sent the `m.key.verification.start` event.
|
24
|
-
*/
|
25
|
-
get initiatedByMe(): boolean;
|
26
|
-
/** The user id of the other party in this request */
|
27
|
-
get otherUserId(): string;
|
28
|
-
/** For verifications via to-device messages: the ID of the other device. Otherwise, undefined. */
|
29
|
-
get otherDeviceId(): string | undefined;
|
30
|
-
/** True if the other party in this request is one of this user's own devices. */
|
31
|
-
get isSelfVerification(): boolean;
|
32
|
-
/** current phase of the request. */
|
33
|
-
get phase(): VerificationPhase;
|
34
|
-
/** True if the request has sent its initial event and needs more events to complete
|
35
|
-
* (ie it is in phase `Requested`, `Ready` or `Started`).
|
36
|
-
*/
|
37
|
-
get pending(): boolean;
|
38
|
-
/**
|
39
|
-
* True if we have started the process of sending an `m.key.verification.ready` (but have not necessarily received
|
40
|
-
* the remote echo which causes a transition to {@link VerificationPhase.Ready}.
|
41
|
-
*/
|
42
|
-
get accepting(): boolean;
|
43
|
-
/**
|
44
|
-
* True if we have started the process of sending an `m.key.verification.cancel` (but have not necessarily received
|
45
|
-
* the remote echo which causes a transition to {@link VerificationPhase.Cancelled}).
|
46
|
-
*/
|
47
|
-
get declining(): boolean;
|
48
|
-
/**
|
49
|
-
* The remaining number of ms before the request will be automatically cancelled.
|
50
|
-
*
|
51
|
-
* `null` indicates that there is no timeout
|
52
|
-
*/
|
53
|
-
get timeout(): number | null;
|
54
|
-
/** once the phase is Started (and !initiatedByMe) or Ready: common methods supported by both sides */
|
55
|
-
get methods(): string[];
|
56
|
-
/** the method picked in the .start event */
|
57
|
-
get chosenMethod(): string | null;
|
58
|
-
/**
|
59
|
-
* Checks whether the other party supports a given verification method.
|
60
|
-
* This is useful when setting up the QR code UI, as it is somewhat asymmetrical:
|
61
|
-
* if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa.
|
62
|
-
* For methods that need to be supported by both ends, use the `methods` property.
|
63
|
-
*
|
64
|
-
* @param method - the method to check
|
65
|
-
* @returns true if the other party said they supported the method
|
66
|
-
*/
|
67
|
-
otherPartySupportsMethod(method: string): boolean;
|
68
|
-
/**
|
69
|
-
* Accepts the request, sending a .ready event to the other party
|
70
|
-
*
|
71
|
-
* @returns Promise which resolves when the event has been sent.
|
72
|
-
*/
|
73
|
-
accept(): Promise<void>;
|
74
|
-
/**
|
75
|
-
* Cancels the request, sending a cancellation to the other party
|
76
|
-
*
|
77
|
-
* @param params - Details for the cancellation, including `reason` (defaults to "User declined"), and `code`
|
78
|
-
* (defaults to `m.user`). **Deprecated**: this parameter is ignored by the Rust cryptography implementation.
|
79
|
-
*
|
80
|
-
* @returns Promise which resolves when the event has been sent.
|
81
|
-
*/
|
82
|
-
cancel(params?: {
|
83
|
-
reason?: string;
|
84
|
-
code?: string;
|
85
|
-
}): Promise<void>;
|
86
|
-
/**
|
87
|
-
* Create a {@link Verifier} to do this verification via a particular method.
|
88
|
-
*
|
89
|
-
* If a verifier has already been created for this request, returns that verifier.
|
90
|
-
*
|
91
|
-
* This does *not* send the `m.key.verification.start` event - to do so, call {@link Verifier.verify} on the
|
92
|
-
* returned verifier.
|
93
|
-
*
|
94
|
-
* If no previous events have been sent, pass in `targetDevice` to set who to direct this request to.
|
95
|
-
*
|
96
|
-
* @param method - the name of the verification method to use.
|
97
|
-
* @param targetDevice - details of where to send the request to.
|
98
|
-
*
|
99
|
-
* @returns The verifier which will do the actual verification.
|
100
|
-
*
|
101
|
-
* @deprecated Use {@link VerificationRequest#startVerification} instead.
|
102
|
-
*/
|
103
|
-
beginKeyVerification(method: string, targetDevice?: {
|
104
|
-
userId?: string;
|
105
|
-
deviceId?: string;
|
106
|
-
}): Verifier;
|
107
|
-
/**
|
108
|
-
* Send an `m.key.verification.start` event to start verification via a particular method.
|
109
|
-
*
|
110
|
-
* This is normally used when starting a verification via emojis (ie, `method` is set to `m.sas.v1`).
|
111
|
-
*
|
112
|
-
* @param method - the name of the verification method to use.
|
113
|
-
*
|
114
|
-
* @returns The verifier which will do the actual verification.
|
115
|
-
*/
|
116
|
-
startVerification(method: string): Promise<Verifier>;
|
117
|
-
/**
|
118
|
-
* Start a QR code verification by providing a scanned QR code for this verification flow.
|
119
|
-
*
|
120
|
-
* Validates the QR code, and if it is ok, sends an `m.key.verification.start` event with `method` set to
|
121
|
-
* `m.reciprocate.v1`, to tell the other side the scan was successful.
|
122
|
-
*
|
123
|
-
* See also {@link VerificationRequest#startVerification} which can be used to start other verification methods.
|
124
|
-
*
|
125
|
-
* @param qrCodeData - the decoded QR code.
|
126
|
-
* @returns A verifier; call `.verify()` on it to wait for the other side to complete the verification flow.
|
127
|
-
*/
|
128
|
-
scanQRCode(qrCodeData: Uint8Array): Promise<Verifier>;
|
129
|
-
/**
|
130
|
-
* The verifier which is doing the actual verification, once the method has been established.
|
131
|
-
* Only defined when the `phase` is Started.
|
132
|
-
*/
|
133
|
-
get verifier(): Verifier | undefined;
|
134
|
-
/**
|
135
|
-
* Get the data for a QR code allowing the other device to verify this one, if it supports it.
|
136
|
-
*
|
137
|
-
* Only set after a .ready if the other party can scan a QR code, otherwise undefined.
|
138
|
-
*
|
139
|
-
* @deprecated Not supported in Rust Crypto. Use {@link VerificationRequest#generateQRCode} instead.
|
140
|
-
*/
|
141
|
-
getQRCodeBytes(): Buffer | undefined;
|
142
|
-
/**
|
143
|
-
* Generate the data for a QR code allowing the other device to verify this one, if it supports it.
|
144
|
-
*
|
145
|
-
* Only returns data once `phase` is {@link VerificationPhase.Ready} and the other party can scan a QR code;
|
146
|
-
* otherwise returns `undefined`.
|
147
|
-
*/
|
148
|
-
generateQRCode(): Promise<Buffer | undefined>;
|
149
|
-
/**
|
150
|
-
* If this request has been cancelled, the cancellation code (e.g `m.user`) which is responsible for cancelling
|
151
|
-
* this verification.
|
152
|
-
*/
|
153
|
-
get cancellationCode(): string | null;
|
154
|
-
/**
|
155
|
-
* The id of the user that cancelled the request.
|
156
|
-
*
|
157
|
-
* Only defined when phase is Cancelled
|
158
|
-
*/
|
159
|
-
get cancellingUserId(): string | undefined;
|
160
|
-
}
|
161
|
-
/** Events emitted by {@link VerificationRequest}. */
|
162
|
-
export declare enum VerificationRequestEvent {
|
163
|
-
/**
|
164
|
-
* Fires whenever the state of the request object has changed.
|
165
|
-
*
|
166
|
-
* There is no payload to the event.
|
167
|
-
*/
|
168
|
-
Change = "change"
|
169
|
-
}
|
170
|
-
/**
|
171
|
-
* Listener type map for {@link VerificationRequestEvent}s.
|
172
|
-
*
|
173
|
-
* @internal
|
174
|
-
*/
|
175
|
-
export type VerificationRequestEventHandlerMap = {
|
176
|
-
[VerificationRequestEvent.Change]: () => void;
|
177
|
-
};
|
178
|
-
/** The current phase of a verification request. */
|
179
|
-
export declare enum VerificationPhase {
|
180
|
-
/** Initial state: no event yet exchanged */
|
181
|
-
Unsent = 1,
|
182
|
-
/** An `m.key.verification.request` event has been sent or received */
|
183
|
-
Requested = 2,
|
184
|
-
/** An `m.key.verification.ready` event has been sent or received, indicating the verification request is accepted. */
|
185
|
-
Ready = 3,
|
186
|
-
/**
|
187
|
-
* The verification is in flight.
|
188
|
-
*
|
189
|
-
* This means that an `m.key.verification.start` event has been sent or received, choosing a verification method;
|
190
|
-
* however the verification has not yet completed or been cancelled.
|
191
|
-
*/
|
192
|
-
Started = 4,
|
193
|
-
/**
|
194
|
-
* An `m.key.verification.cancel` event has been sent or received at any time before the `done` event, cancelling
|
195
|
-
* the verification request
|
196
|
-
*/
|
197
|
-
Cancelled = 5,
|
198
|
-
/**
|
199
|
-
* The verification request is complete.
|
200
|
-
*
|
201
|
-
* Normally this means that `m.key.verification.done` events have been sent and received.
|
202
|
-
*/
|
203
|
-
Done = 6
|
204
|
-
}
|
205
|
-
/**
|
206
|
-
* A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS
|
207
|
-
* (emojis).
|
208
|
-
*
|
209
|
-
* A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created
|
210
|
-
* automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.
|
211
|
-
*
|
212
|
-
* Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.
|
213
|
-
*/
|
214
|
-
export interface Verifier extends TypedEventEmitter<VerifierEvent, VerifierEventHandlerMap> {
|
215
|
-
/**
|
216
|
-
* Returns true if the verification has been cancelled, either by us or the other side.
|
217
|
-
*/
|
218
|
-
get hasBeenCancelled(): boolean;
|
219
|
-
/**
|
220
|
-
* The ID of the other user in the verification process.
|
221
|
-
*/
|
222
|
-
get userId(): string;
|
223
|
-
/**
|
224
|
-
* Start the key verification, if it has not already been started.
|
225
|
-
*
|
226
|
-
* This means sending a `m.key.verification.start` if we are the first responder, or a `m.key.verification.accept`
|
227
|
-
* if the other side has already sent a start event.
|
228
|
-
*
|
229
|
-
* @returns Promise which resolves when the verification has completed, or rejects if the verification is cancelled
|
230
|
-
* or times out.
|
231
|
-
*/
|
232
|
-
verify(): Promise<void>;
|
233
|
-
/**
|
234
|
-
* Cancel a verification.
|
235
|
-
*
|
236
|
-
* We will send an `m.key.verification.cancel` if the verification is still in flight. The verification promise
|
237
|
-
* will reject, and a {@link crypto-api.VerifierEvent.Cancel | VerifierEvent.Cancel} will be emitted.
|
238
|
-
*
|
239
|
-
* @param e - the reason for the cancellation.
|
240
|
-
*/
|
241
|
-
cancel(e: Error): void;
|
242
|
-
/**
|
243
|
-
* Get the details for an SAS verification, if one is in progress
|
244
|
-
*
|
245
|
-
* Returns `null`, unless this verifier is for a SAS-based verification and we are waiting for the user to confirm
|
246
|
-
* the SAS matches.
|
247
|
-
*/
|
248
|
-
getShowSasCallbacks(): ShowSasCallbacks | null;
|
249
|
-
/**
|
250
|
-
* Get the details for reciprocating QR code verification, if one is in progress
|
251
|
-
*
|
252
|
-
* Returns `null`, unless this verifier is for reciprocating a QR-code-based verification (ie, the other user has
|
253
|
-
* already scanned our QR code), and we are waiting for the user to confirm.
|
254
|
-
*/
|
255
|
-
getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null;
|
256
|
-
}
|
257
|
-
/** Events emitted by {@link Verifier} */
|
258
|
-
export declare enum VerifierEvent {
|
259
|
-
/**
|
260
|
-
* The verification has been cancelled, by us or the other side.
|
261
|
-
*
|
262
|
-
* The payload is either an {@link Error}, or an (incoming or outgoing) {@link MatrixEvent}, depending on
|
263
|
-
* unspecified reasons.
|
264
|
-
*/
|
265
|
-
Cancel = "cancel",
|
266
|
-
/**
|
267
|
-
* SAS data has been exchanged and should be displayed to the user.
|
268
|
-
*
|
269
|
-
* The payload is the {@link ShowSasCallbacks} object.
|
270
|
-
*/
|
271
|
-
ShowSas = "show_sas",
|
272
|
-
/**
|
273
|
-
* The user should confirm if the other side has scanned our QR code.
|
274
|
-
*
|
275
|
-
* The payload is the {@link ShowQrCodeCallbacks} object.
|
276
|
-
*/
|
277
|
-
ShowReciprocateQr = "show_reciprocate_qr"
|
278
|
-
}
|
279
|
-
/** Listener type map for {@link VerifierEvent}s. */
|
280
|
-
export type VerifierEventHandlerMap = {
|
281
|
-
[VerifierEvent.Cancel]: (e: Error | MatrixEvent) => void;
|
282
|
-
[VerifierEvent.ShowSas]: (sas: ShowSasCallbacks) => void;
|
283
|
-
[VerifierEvent.ShowReciprocateQr]: (qr: ShowQrCodeCallbacks) => void;
|
284
|
-
};
|
285
|
-
/**
|
286
|
-
* Callbacks for user actions to confirm that the other side has scanned our QR code.
|
287
|
-
*
|
288
|
-
* This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the
|
289
|
-
* verifier as `reciprocateQREvent`.
|
290
|
-
*/
|
291
|
-
export interface ShowQrCodeCallbacks {
|
292
|
-
/** The user confirms that the verification data matches */
|
293
|
-
confirm(): void;
|
294
|
-
/** Cancel the verification flow */
|
295
|
-
cancel(): void;
|
296
|
-
}
|
297
|
-
/**
|
298
|
-
* Callbacks for user actions while a SAS is displayed.
|
299
|
-
*
|
300
|
-
* This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.
|
301
|
-
*/
|
302
|
-
export interface ShowSasCallbacks {
|
303
|
-
/** The generated SAS to be shown to the user */
|
304
|
-
sas: GeneratedSas;
|
305
|
-
/** Function to call if the user confirms that the SAS matches.
|
306
|
-
*
|
307
|
-
* @returns A Promise that completes once the m.key.verification.mac is queued.
|
308
|
-
*/
|
309
|
-
confirm(): Promise<void>;
|
310
|
-
/**
|
311
|
-
* Function to call if the user finds the SAS does not match.
|
312
|
-
*
|
313
|
-
* Sends an `m.key.verification.cancel` event with a `m.mismatched_sas` error code.
|
314
|
-
*/
|
315
|
-
mismatch(): void;
|
316
|
-
/** Cancel the verification flow */
|
317
|
-
cancel(): void;
|
318
|
-
}
|
319
|
-
/** A generated SAS to be shown to the user, in alternative formats */
|
320
|
-
export interface GeneratedSas {
|
321
|
-
/**
|
322
|
-
* The SAS as three numbers between 0 and 8191.
|
323
|
-
*
|
324
|
-
* Only populated if the `decimal` SAS method was negotiated.
|
325
|
-
*/
|
326
|
-
decimal?: [number, number, number];
|
327
|
-
/**
|
328
|
-
* The SAS as seven emojis.
|
329
|
-
*
|
330
|
-
* Only populated if the `emoji` SAS method was negotiated.
|
331
|
-
*/
|
332
|
-
emoji?: EmojiMapping[];
|
333
|
-
}
|
334
|
-
/**
|
335
|
-
* An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the
|
336
|
-
* English name.
|
337
|
-
*/
|
338
|
-
export type EmojiMapping = [emoji: string, name: string];
|
339
|
-
/**
|
340
|
-
* True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}
|
341
|
-
* or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).
|
342
|
-
*/
|
343
|
-
export declare function canAcceptVerificationRequest(req: VerificationRequest): boolean;
|
344
|
-
//# sourceMappingURL=verification.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/crypto-api/verification.ts"],"names":[],"mappings":"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"}
|
@@ -1,91 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright 2023 The Matrix.org Foundation C.I.C.
|
3
|
-
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
you may not use this file except in compliance with the License.
|
6
|
-
You may obtain a copy of the License at
|
7
|
-
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
See the License for the specific language governing permissions and
|
14
|
-
limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
/**
|
18
|
-
* An incoming, or outgoing, request to verify a user or a device via cross-signing.
|
19
|
-
*/
|
20
|
-
|
21
|
-
/** Events emitted by {@link VerificationRequest}. */
|
22
|
-
export var VerificationRequestEvent = /*#__PURE__*/function (VerificationRequestEvent) {
|
23
|
-
VerificationRequestEvent["Change"] = "change";
|
24
|
-
return VerificationRequestEvent;
|
25
|
-
}({});
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Listener type map for {@link VerificationRequestEvent}s.
|
29
|
-
*
|
30
|
-
* @internal
|
31
|
-
*/
|
32
|
-
|
33
|
-
/** The current phase of a verification request. */
|
34
|
-
export var VerificationPhase = /*#__PURE__*/function (VerificationPhase) {
|
35
|
-
VerificationPhase[VerificationPhase["Unsent"] = 1] = "Unsent";
|
36
|
-
VerificationPhase[VerificationPhase["Requested"] = 2] = "Requested";
|
37
|
-
VerificationPhase[VerificationPhase["Ready"] = 3] = "Ready";
|
38
|
-
VerificationPhase[VerificationPhase["Started"] = 4] = "Started";
|
39
|
-
VerificationPhase[VerificationPhase["Cancelled"] = 5] = "Cancelled";
|
40
|
-
VerificationPhase[VerificationPhase["Done"] = 6] = "Done";
|
41
|
-
return VerificationPhase;
|
42
|
-
}({});
|
43
|
-
|
44
|
-
/**
|
45
|
-
* A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS
|
46
|
-
* (emojis).
|
47
|
-
*
|
48
|
-
* A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created
|
49
|
-
* automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.
|
50
|
-
*
|
51
|
-
* Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.
|
52
|
-
*/
|
53
|
-
|
54
|
-
/** Events emitted by {@link Verifier} */
|
55
|
-
export var VerifierEvent = /*#__PURE__*/function (VerifierEvent) {
|
56
|
-
VerifierEvent["Cancel"] = "cancel";
|
57
|
-
VerifierEvent["ShowSas"] = "show_sas";
|
58
|
-
VerifierEvent["ShowReciprocateQr"] = "show_reciprocate_qr";
|
59
|
-
return VerifierEvent;
|
60
|
-
}({});
|
61
|
-
|
62
|
-
/** Listener type map for {@link VerifierEvent}s. */
|
63
|
-
|
64
|
-
/**
|
65
|
-
* Callbacks for user actions to confirm that the other side has scanned our QR code.
|
66
|
-
*
|
67
|
-
* This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the
|
68
|
-
* verifier as `reciprocateQREvent`.
|
69
|
-
*/
|
70
|
-
|
71
|
-
/**
|
72
|
-
* Callbacks for user actions while a SAS is displayed.
|
73
|
-
*
|
74
|
-
* This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.
|
75
|
-
*/
|
76
|
-
|
77
|
-
/** A generated SAS to be shown to the user, in alternative formats */
|
78
|
-
|
79
|
-
/**
|
80
|
-
* An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the
|
81
|
-
* English name.
|
82
|
-
*/
|
83
|
-
|
84
|
-
/**
|
85
|
-
* True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}
|
86
|
-
* or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).
|
87
|
-
*/
|
88
|
-
export function canAcceptVerificationRequest(req) {
|
89
|
-
return req.phase < VerificationPhase.Ready && !req.accepting && !req.declining;
|
90
|
-
}
|
91
|
-
//# sourceMappingURL=verification.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"verification.js","names":["VerificationRequestEvent","VerificationPhase","VerifierEvent","canAcceptVerificationRequest","req","phase","Ready","accepting","declining"],"sources":["../../src/crypto-api/verification.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { MatrixEvent } from \"../models/event.ts\";\nimport { TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\n\n/**\n * An incoming, or outgoing, request to verify a user or a device via cross-signing.\n */\nexport interface VerificationRequest\n extends TypedEventEmitter<VerificationRequestEvent, VerificationRequestEventHandlerMap> {\n /**\n * Unique ID for this verification request.\n *\n * An ID isn't assigned until the first message is sent, so this may be `undefined` in the early phases.\n */\n get transactionId(): string | undefined;\n\n /**\n * For an in-room verification, the ID of the room.\n *\n * For to-device verifictions, `undefined`.\n */\n get roomId(): string | undefined;\n\n /**\n * True if this request was initiated by the local client.\n *\n * For in-room verifications, the initiator is who sent the `m.key.verification.request` event.\n * For to-device verifications, the initiator is who sent the `m.key.verification.start` event.\n */\n get initiatedByMe(): boolean;\n\n /** The user id of the other party in this request */\n get otherUserId(): string;\n\n /** For verifications via to-device messages: the ID of the other device. Otherwise, undefined. */\n get otherDeviceId(): string | undefined;\n\n /** True if the other party in this request is one of this user's own devices. */\n get isSelfVerification(): boolean;\n\n /** current phase of the request. */\n get phase(): VerificationPhase;\n\n /** True if the request has sent its initial event and needs more events to complete\n * (ie it is in phase `Requested`, `Ready` or `Started`).\n */\n get pending(): boolean;\n\n /**\n * True if we have started the process of sending an `m.key.verification.ready` (but have not necessarily received\n * the remote echo which causes a transition to {@link VerificationPhase.Ready}.\n */\n get accepting(): boolean;\n\n /**\n * True if we have started the process of sending an `m.key.verification.cancel` (but have not necessarily received\n * the remote echo which causes a transition to {@link VerificationPhase.Cancelled}).\n */\n get declining(): boolean;\n\n /**\n * The remaining number of ms before the request will be automatically cancelled.\n *\n * `null` indicates that there is no timeout\n */\n get timeout(): number | null;\n\n /** once the phase is Started (and !initiatedByMe) or Ready: common methods supported by both sides */\n get methods(): string[];\n\n /** the method picked in the .start event */\n get chosenMethod(): string | null;\n\n /**\n * Checks whether the other party supports a given verification method.\n * This is useful when setting up the QR code UI, as it is somewhat asymmetrical:\n * if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa.\n * For methods that need to be supported by both ends, use the `methods` property.\n *\n * @param method - the method to check\n * @returns true if the other party said they supported the method\n */\n otherPartySupportsMethod(method: string): boolean;\n\n /**\n * Accepts the request, sending a .ready event to the other party\n *\n * @returns Promise which resolves when the event has been sent.\n */\n accept(): Promise<void>;\n\n /**\n * Cancels the request, sending a cancellation to the other party\n *\n * @param params - Details for the cancellation, including `reason` (defaults to \"User declined\"), and `code`\n * (defaults to `m.user`). **Deprecated**: this parameter is ignored by the Rust cryptography implementation.\n *\n * @returns Promise which resolves when the event has been sent.\n */\n cancel(params?: { reason?: string; code?: string }): Promise<void>;\n\n /**\n * Create a {@link Verifier} to do this verification via a particular method.\n *\n * If a verifier has already been created for this request, returns that verifier.\n *\n * This does *not* send the `m.key.verification.start` event - to do so, call {@link Verifier.verify} on the\n * returned verifier.\n *\n * If no previous events have been sent, pass in `targetDevice` to set who to direct this request to.\n *\n * @param method - the name of the verification method to use.\n * @param targetDevice - details of where to send the request to.\n *\n * @returns The verifier which will do the actual verification.\n *\n * @deprecated Use {@link VerificationRequest#startVerification} instead.\n */\n beginKeyVerification(method: string, targetDevice?: { userId?: string; deviceId?: string }): Verifier;\n\n /**\n * Send an `m.key.verification.start` event to start verification via a particular method.\n *\n * This is normally used when starting a verification via emojis (ie, `method` is set to `m.sas.v1`).\n *\n * @param method - the name of the verification method to use.\n *\n * @returns The verifier which will do the actual verification.\n */\n startVerification(method: string): Promise<Verifier>;\n\n /**\n * Start a QR code verification by providing a scanned QR code for this verification flow.\n *\n * Validates the QR code, and if it is ok, sends an `m.key.verification.start` event with `method` set to\n * `m.reciprocate.v1`, to tell the other side the scan was successful.\n *\n * See also {@link VerificationRequest#startVerification} which can be used to start other verification methods.\n *\n * @param qrCodeData - the decoded QR code.\n * @returns A verifier; call `.verify()` on it to wait for the other side to complete the verification flow.\n */\n scanQRCode(qrCodeData: Uint8Array): Promise<Verifier>;\n\n /**\n * The verifier which is doing the actual verification, once the method has been established.\n * Only defined when the `phase` is Started.\n */\n get verifier(): Verifier | undefined;\n\n /**\n * Get the data for a QR code allowing the other device to verify this one, if it supports it.\n *\n * Only set after a .ready if the other party can scan a QR code, otherwise undefined.\n *\n * @deprecated Not supported in Rust Crypto. Use {@link VerificationRequest#generateQRCode} instead.\n */\n getQRCodeBytes(): Buffer | undefined;\n\n /**\n * Generate the data for a QR code allowing the other device to verify this one, if it supports it.\n *\n * Only returns data once `phase` is {@link VerificationPhase.Ready} and the other party can scan a QR code;\n * otherwise returns `undefined`.\n */\n generateQRCode(): Promise<Buffer | undefined>;\n\n /**\n * If this request has been cancelled, the cancellation code (e.g `m.user`) which is responsible for cancelling\n * this verification.\n */\n get cancellationCode(): string | null;\n\n /**\n * The id of the user that cancelled the request.\n *\n * Only defined when phase is Cancelled\n */\n get cancellingUserId(): string | undefined;\n}\n\n/** Events emitted by {@link VerificationRequest}. */\nexport enum VerificationRequestEvent {\n /**\n * Fires whenever the state of the request object has changed.\n *\n * There is no payload to the event.\n */\n Change = \"change\",\n}\n\n/**\n * Listener type map for {@link VerificationRequestEvent}s.\n *\n * @internal\n */\nexport type VerificationRequestEventHandlerMap = {\n [VerificationRequestEvent.Change]: () => void;\n};\n\n/** The current phase of a verification request. */\nexport enum VerificationPhase {\n /** Initial state: no event yet exchanged */\n Unsent = 1,\n\n /** An `m.key.verification.request` event has been sent or received */\n Requested,\n\n /** An `m.key.verification.ready` event has been sent or received, indicating the verification request is accepted. */\n Ready,\n\n /**\n * The verification is in flight.\n *\n * This means that an `m.key.verification.start` event has been sent or received, choosing a verification method;\n * however the verification has not yet completed or been cancelled.\n */\n Started,\n\n /**\n * An `m.key.verification.cancel` event has been sent or received at any time before the `done` event, cancelling\n * the verification request\n */\n Cancelled,\n\n /**\n * The verification request is complete.\n *\n * Normally this means that `m.key.verification.done` events have been sent and received.\n */\n Done,\n}\n\n/**\n * A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS\n * (emojis).\n *\n * A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created\n * automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.\n *\n * Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.\n */\nexport interface Verifier extends TypedEventEmitter<VerifierEvent, VerifierEventHandlerMap> {\n /**\n * Returns true if the verification has been cancelled, either by us or the other side.\n */\n get hasBeenCancelled(): boolean;\n\n /**\n * The ID of the other user in the verification process.\n */\n get userId(): string;\n\n /**\n * Start the key verification, if it has not already been started.\n *\n * This means sending a `m.key.verification.start` if we are the first responder, or a `m.key.verification.accept`\n * if the other side has already sent a start event.\n *\n * @returns Promise which resolves when the verification has completed, or rejects if the verification is cancelled\n * or times out.\n */\n verify(): Promise<void>;\n\n /**\n * Cancel a verification.\n *\n * We will send an `m.key.verification.cancel` if the verification is still in flight. The verification promise\n * will reject, and a {@link crypto-api.VerifierEvent.Cancel | VerifierEvent.Cancel} will be emitted.\n *\n * @param e - the reason for the cancellation.\n */\n cancel(e: Error): void;\n\n /**\n * Get the details for an SAS verification, if one is in progress\n *\n * Returns `null`, unless this verifier is for a SAS-based verification and we are waiting for the user to confirm\n * the SAS matches.\n */\n getShowSasCallbacks(): ShowSasCallbacks | null;\n\n /**\n * Get the details for reciprocating QR code verification, if one is in progress\n *\n * Returns `null`, unless this verifier is for reciprocating a QR-code-based verification (ie, the other user has\n * already scanned our QR code), and we are waiting for the user to confirm.\n */\n getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null;\n}\n\n/** Events emitted by {@link Verifier} */\nexport enum VerifierEvent {\n /**\n * The verification has been cancelled, by us or the other side.\n *\n * The payload is either an {@link Error}, or an (incoming or outgoing) {@link MatrixEvent}, depending on\n * unspecified reasons.\n */\n Cancel = \"cancel\",\n\n /**\n * SAS data has been exchanged and should be displayed to the user.\n *\n * The payload is the {@link ShowSasCallbacks} object.\n */\n ShowSas = \"show_sas\",\n\n /**\n * The user should confirm if the other side has scanned our QR code.\n *\n * The payload is the {@link ShowQrCodeCallbacks} object.\n */\n ShowReciprocateQr = \"show_reciprocate_qr\",\n}\n\n/** Listener type map for {@link VerifierEvent}s. */\nexport type VerifierEventHandlerMap = {\n [VerifierEvent.Cancel]: (e: Error | MatrixEvent) => void;\n [VerifierEvent.ShowSas]: (sas: ShowSasCallbacks) => void;\n [VerifierEvent.ShowReciprocateQr]: (qr: ShowQrCodeCallbacks) => void;\n};\n\n/**\n * Callbacks for user actions to confirm that the other side has scanned our QR code.\n *\n * This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the\n * verifier as `reciprocateQREvent`.\n */\nexport interface ShowQrCodeCallbacks {\n /** The user confirms that the verification data matches */\n confirm(): void;\n\n /** Cancel the verification flow */\n cancel(): void;\n}\n\n/**\n * Callbacks for user actions while a SAS is displayed.\n *\n * This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.\n */\nexport interface ShowSasCallbacks {\n /** The generated SAS to be shown to the user */\n sas: GeneratedSas;\n\n /** Function to call if the user confirms that the SAS matches.\n *\n * @returns A Promise that completes once the m.key.verification.mac is queued.\n */\n confirm(): Promise<void>;\n\n /**\n * Function to call if the user finds the SAS does not match.\n *\n * Sends an `m.key.verification.cancel` event with a `m.mismatched_sas` error code.\n */\n mismatch(): void;\n\n /** Cancel the verification flow */\n cancel(): void;\n}\n\n/** A generated SAS to be shown to the user, in alternative formats */\nexport interface GeneratedSas {\n /**\n * The SAS as three numbers between 0 and 8191.\n *\n * Only populated if the `decimal` SAS method was negotiated.\n */\n decimal?: [number, number, number];\n\n /**\n * The SAS as seven emojis.\n *\n * Only populated if the `emoji` SAS method was negotiated.\n */\n emoji?: EmojiMapping[];\n}\n\n/**\n * An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the\n * English name.\n */\nexport type EmojiMapping = [emoji: string, name: string];\n\n/**\n * True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}\n * or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).\n */\nexport function canAcceptVerificationRequest(req: VerificationRequest): boolean {\n return req.phase < VerificationPhase.Ready && !req.accepting && !req.declining;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AA+KA;AACA,WAAYA,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;;AASpC;AACA;AACA;AACA;AACA;;AAKA;AACA,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AAgC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkDA;AACA,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;;AAwBzB;;AAOA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;;AAsBA;;AAiBA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,OAAO,SAASC,4BAA4BA,CAACC,GAAwB,EAAW;EAC5E,OAAOA,GAAG,CAACC,KAAK,GAAGJ,iBAAiB,CAACK,KAAK,IAAI,CAACF,GAAG,CAACG,SAAS,IAAI,CAACH,GAAG,CAACI,SAAS;AAClF","ignoreList":[]}
|