@textrp/briij-js-sdk 41.0.1 → 42.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/LICENSE +177 -177
- package/README.md +14 -3
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -1
- package/lib/@types/IIdentityServerProvider.js.map +1 -1
- package/lib/@types/PushRules.js +14 -14
- package/lib/@types/PushRules.js.map +1 -1
- package/lib/@types/another-json.d.js.map +1 -1
- package/lib/@types/auth.d.ts +19 -1
- package/lib/@types/auth.d.ts.map +1 -1
- package/lib/@types/auth.js +55 -54
- package/lib/@types/auth.js.map +1 -1
- package/lib/@types/beacon.js +100 -100
- package/lib/@types/beacon.js.map +1 -1
- package/lib/@types/common.js.map +1 -1
- package/lib/@types/crypto.js.map +1 -1
- package/lib/@types/event.d.ts +27 -0
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +105 -102
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/events.js.map +1 -1
- package/lib/@types/extensible_events.js +53 -53
- package/lib/@types/extensible_events.js.map +1 -1
- package/lib/@types/local_notifications.js.map +1 -1
- package/lib/@types/location.js +41 -41
- package/lib/@types/location.js.map +1 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
- package/lib/@types/media.js.map +1 -1
- package/lib/@types/membership.js +39 -39
- package/lib/@types/membership.js.map +1 -1
- package/lib/@types/partials.js +25 -25
- package/lib/@types/partials.js.map +1 -1
- package/lib/@types/polls.js +46 -46
- package/lib/@types/polls.js.map +1 -1
- package/lib/@types/read_receipts.js +14 -14
- package/lib/@types/read_receipts.js.map +1 -1
- package/lib/@types/registration.js.map +1 -1
- package/lib/@types/search.js +14 -14
- package/lib/@types/search.js.map +1 -1
- package/lib/@types/signed.js.map +1 -1
- package/lib/@types/spaces.js.map +1 -1
- package/lib/@types/state_events.js.map +1 -1
- package/lib/@types/synapse.js.map +1 -1
- package/lib/@types/sync.js +18 -18
- package/lib/@types/sync.js.map +1 -1
- package/lib/@types/threepids.js +14 -14
- package/lib/@types/threepids.js.map +1 -1
- package/lib/@types/topic.js +47 -47
- package/lib/@types/topic.js.map +1 -1
- package/lib/@types/uia.js.map +1 -1
- package/lib/NamespacedValue.js +20 -20
- package/lib/NamespacedValue.js.map +1 -1
- package/lib/ReEmitter.js +16 -16
- package/lib/ReEmitter.js.map +1 -1
- package/lib/base64.js +32 -32
- package/lib/base64.js.map +1 -1
- package/lib/briij.d.ts +3 -0
- package/lib/briij.d.ts.map +1 -1
- package/lib/briij.js +3 -0
- package/lib/briij.js.map +1 -1
- package/lib/client.d.ts +18 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +166 -103
- package/lib/client.js.map +1 -1
- package/lib/common-crypto/key-passphrase.js +19 -19
- package/lib/common-crypto/key-passphrase.js.map +1 -1
- package/lib/content-helpers.js +57 -57
- package/lib/content-helpers.js.map +1 -1
- package/lib/content-repo.js +36 -36
- package/lib/content-repo.js.map +1 -1
- package/lib/crypto/store/base.js +69 -69
- package/lib/crypto/store/base.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +58 -58
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +193 -193
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/lib/crypto/store/localStorage-crypto-store.js +72 -72
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/lib/crypto/store/memory-crypto-store.js +74 -74
- package/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -1
- package/lib/crypto-api/key-passphrase.js +22 -22
- package/lib/crypto-api/key-passphrase.js.map +1 -1
- package/lib/crypto-api/keybackup.js.map +1 -1
- package/lib/crypto-api/recovery-key.js +20 -20
- package/lib/crypto-api/recovery-key.js.map +1 -1
- package/lib/digest.js +21 -21
- package/lib/digest.js.map +1 -1
- package/lib/extensible_events_v1/ExtensibleEvent.js +39 -39
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/lib/extensible_events_v1/InvalidEventError.js +16 -16
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/lib/extensible_events_v1/MessageEvent.js +39 -39
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollEndEvent.js +29 -29
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollResponseEvent.js +39 -39
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollStartEvent.js +52 -52
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/lib/extensible_events_v1/utilities.js +22 -22
- package/lib/extensible_events_v1/utilities.js.map +1 -1
- package/lib/feature.js +16 -16
- package/lib/feature.js.map +1 -1
- package/lib/http-api/method.js +14 -14
- package/lib/http-api/method.js.map +1 -1
- package/lib/http-api/prefix.js +26 -26
- package/lib/http-api/prefix.js.map +1 -1
- package/lib/indexeddb-helpers.js +21 -21
- package/lib/indexeddb-helpers.js.map +1 -1
- package/lib/indexeddb-worker.js +18 -18
- package/lib/indexeddb-worker.js.map +1 -1
- package/lib/matrixrtc/IKeyTransport.js +17 -17
- package/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/lib/matrixrtc/IMembershipManager.js +27 -27
- package/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/lib/matrixrtc/LivekitTransport.js +19 -19
- package/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/lib/matrixrtc/index.js +14 -14
- package/lib/matrixrtc/index.js.map +1 -1
- package/lib/matrixrtc/utils.js +27 -27
- package/lib/matrixrtc/utils.js.map +1 -1
- package/lib/models/ToDeviceMessage.js.map +1 -1
- package/lib/models/device.js +24 -24
- package/lib/models/device.js.map +1 -1
- package/lib/models/event-status.js +17 -17
- package/lib/models/event-status.js.map +1 -1
- package/lib/models/invites-ignorer-types.js +25 -25
- package/lib/models/invites-ignorer-types.js.map +1 -1
- package/lib/models/profile-keys.js +26 -26
- package/lib/models/profile-keys.js.map +1 -1
- package/lib/models/room-summary.js +26 -26
- package/lib/models/room-summary.js.map +1 -1
- package/lib/models/search-result.js +22 -22
- package/lib/models/search-result.js.map +1 -1
- package/lib/models/typed-event-emitter.js +122 -122
- package/lib/models/typed-event-emitter.js.map +1 -1
- package/lib/oidc/authorize.js +76 -76
- package/lib/oidc/authorize.js.map +1 -1
- package/lib/oidc/error.js +17 -17
- package/lib/oidc/error.js.map +1 -1
- package/lib/oidc/index.js +17 -17
- package/lib/oidc/index.js.map +1 -1
- package/lib/oidc/register.js +41 -41
- package/lib/oidc/register.js.map +1 -1
- package/lib/oidc/tokenRefresher.js +51 -51
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/oidc/validate.js +59 -59
- package/lib/oidc/validate.js.map +1 -1
- package/lib/randomstring.js +35 -35
- package/lib/randomstring.js.map +1 -1
- package/lib/realtime-callbacks.js +39 -39
- package/lib/realtime-callbacks.js.map +1 -1
- package/lib/receipt-accumulator.js +44 -44
- package/lib/receipt-accumulator.js.map +1 -1
- package/lib/rendezvous/RendezvousChannel.js.map +1 -1
- package/lib/rendezvous/RendezvousCode.js.map +1 -1
- package/lib/rendezvous/RendezvousError.js +14 -14
- package/lib/rendezvous/RendezvousError.js.map +1 -1
- package/lib/rendezvous/RendezvousFailureReason.js +14 -14
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/lib/rendezvous/RendezvousIntent.js +14 -14
- package/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/lib/rendezvous/RendezvousTransport.js.map +1 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +63 -63
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/lib/rendezvous/channels/index.js +14 -14
- package/lib/rendezvous/channels/index.js.map +1 -1
- package/lib/rendezvous/index.js +14 -14
- package/lib/rendezvous/index.js.map +1 -1
- package/lib/rendezvous/transports/index.js +14 -14
- package/lib/rendezvous/transports/index.js.map +1 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +29 -29
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +37 -37
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/lib/rust-crypto/device-converter.js +30 -30
- package/lib/rust-crypto/device-converter.js.map +1 -1
- package/lib/rust-crypto/secret-storage.js +30 -30
- package/lib/rust-crypto/secret-storage.js.map +1 -1
- package/lib/service-types.js +14 -14
- package/lib/service-types.js.map +1 -1
- package/lib/store/local-storage-events-emitter.js +21 -21
- package/lib/store/local-storage-events-emitter.js.map +1 -1
- package/lib/sync-accumulator.js +50 -50
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/thread-utils.js +20 -20
- package/lib/thread-utils.js.map +1 -1
- package/lib/types.js +34 -34
- package/lib/types.js.map +1 -1
- package/lib/utils/decryptAESSecretStorageItem.js +22 -22
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/encryptAESSecretStorageItem.js +26 -26
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/internal/deriveKeys.js +21 -21
- package/lib/utils/internal/deriveKeys.js.map +1 -1
- package/lib/utils/roomVersion.js +26 -26
- package/lib/utils/roomVersion.js.map +1 -1
- package/lib/version-support.js +26 -26
- package/lib/version-support.js.map +1 -1
- package/lib/webrtc/audioContext.js +24 -24
- package/lib/webrtc/audioContext.js.map +1 -1
- package/lib/webrtc/callEventTypes.js.map +1 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +14 -14
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +14 -14
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -1
- package/lib/webrtc/stats/connectionStats.js +14 -14
- package/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/lib/webrtc/stats/groupCallStats.js +14 -14
- package/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +27 -27
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +20 -20
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/lib/webrtc/stats/statsReport.js +14 -14
- package/lib/webrtc/stats/statsReport.js.map +1 -1
- package/lib/webrtc/stats/statsReportEmitter.js +14 -14
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +4 -4
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/transportStats.js.map +1 -1
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/valueFormatter.js +11 -11
- package/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/lib/xrpl/identity.d.ts +28 -0
- package/lib/xrpl/identity.d.ts.map +1 -0
- package/lib/xrpl/identity.js +213 -0
- package/lib/xrpl/identity.js.map +1 -0
- package/lib/xrpl/trust.d.ts +8 -0
- package/lib/xrpl/trust.d.ts.map +1 -0
- package/lib/xrpl/trust.js +61 -0
- package/lib/xrpl/trust.js.map +1 -0
- package/lib/xrpl/verification.d.ts +26 -0
- package/lib/xrpl/verification.d.ts.map +1 -0
- package/lib/xrpl/verification.js +295 -0
- package/lib/xrpl/verification.js.map +1 -0
- package/package.json +128 -129
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -29
- package/src/@types/IIdentityServerProvider.ts +24 -24
- package/src/@types/PushRules.ts +208 -208
- package/src/@types/another-json.d.ts +19 -19
- package/src/@types/auth.ts +280 -258
- package/src/@types/beacon.ts +140 -140
- package/src/@types/common.ts +24 -24
- package/src/@types/crypto.ts +71 -71
- package/src/@types/event.ts +476 -449
- package/src/@types/events.ts +119 -119
- package/src/@types/extensible_events.ts +147 -147
- package/src/@types/local_notifications.ts +19 -19
- package/src/@types/location.ts +92 -92
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -39
- package/src/@types/media.ts +245 -245
- package/src/@types/membership.ts +57 -57
- package/src/@types/partials.ts +103 -103
- package/src/@types/polls.ts +120 -120
- package/src/@types/read_receipts.ts +61 -61
- package/src/@types/registration.ts +102 -102
- package/src/@types/search.ts +119 -119
- package/src/@types/signed.ts +25 -25
- package/src/@types/spaces.ts +37 -37
- package/src/@types/state_events.ts +153 -153
- package/src/@types/synapse.ts +40 -40
- package/src/@types/sync.ts +27 -27
- package/src/@types/threepids.ts +29 -29
- package/src/@types/topic.ts +69 -69
- package/src/@types/uia.ts +24 -24
- package/src/NamespacedValue.ts +121 -121
- package/src/ReEmitter.ts +93 -93
- package/src/base64.ts +86 -86
- package/src/briij.ts +3 -0
- package/src/client.ts +90 -10
- package/src/common-crypto/README.md +4 -4
- package/src/common-crypto/key-passphrase.ts +43 -43
- package/src/content-helpers.ts +298 -298
- package/src/content-repo.ts +122 -122
- package/src/crypto/store/base.ts +388 -388
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -655
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -555
- package/src/crypto/store/localStorage-crypto-store.ts +409 -409
- package/src/crypto/store/memory-crypto-store.ts +326 -326
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -42
- package/src/crypto-api/key-passphrase.ts +58 -58
- package/src/crypto-api/keybackup.ts +114 -114
- package/src/crypto-api/recovery-key.ts +69 -69
- package/src/digest.ts +34 -34
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -58
- package/src/extensible_events_v1/InvalidEventError.ts +24 -24
- package/src/extensible_events_v1/MessageEvent.ts +143 -143
- package/src/extensible_events_v1/PollEndEvent.ts +97 -97
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -148
- package/src/extensible_events_v1/PollStartEvent.ts +207 -207
- package/src/extensible_events_v1/utilities.ts +35 -35
- package/src/feature.ts +88 -88
- package/src/http-api/method.ts +25 -25
- package/src/http-api/prefix.ts +48 -48
- package/src/indexeddb-helpers.ts +50 -50
- package/src/indexeddb-worker.ts +24 -24
- package/src/matrixrtc/IKeyTransport.ts +63 -63
- package/src/matrixrtc/IMembershipManager.ts +120 -120
- package/src/matrixrtc/LivekitTransport.ts +46 -46
- package/src/matrixrtc/index.ts +24 -24
- package/src/matrixrtc/utils.ts +71 -71
- package/src/models/ToDeviceMessage.ts +38 -38
- package/src/models/device.ts +85 -85
- package/src/models/event-status.ts +39 -39
- package/src/models/invites-ignorer-types.ts +58 -58
- package/src/models/profile-keys.ts +33 -33
- package/src/models/room-summary.ts +78 -78
- package/src/models/search-result.ts +57 -57
- package/src/models/typed-event-emitter.ts +246 -246
- package/src/oidc/authorize.ts +279 -279
- package/src/oidc/error.ts +33 -33
- package/src/oidc/index.ts +33 -33
- package/src/oidc/register.ts +163 -163
- package/src/oidc/tokenRefresher.ts +184 -184
- package/src/oidc/validate.ts +265 -265
- package/src/randomstring.ts +103 -103
- package/src/realtime-callbacks.ts +191 -191
- package/src/receipt-accumulator.ts +189 -189
- package/src/rendezvous/RendezvousChannel.ts +48 -48
- package/src/rendezvous/RendezvousCode.ts +25 -25
- package/src/rendezvous/RendezvousError.ts +26 -26
- package/src/rendezvous/RendezvousFailureReason.ts +49 -49
- package/src/rendezvous/RendezvousIntent.ts +20 -20
- package/src/rendezvous/RendezvousTransport.ts +58 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -270
- package/src/rendezvous/channels/index.ts +17 -17
- package/src/rendezvous/index.ts +25 -25
- package/src/rendezvous/transports/index.ts +17 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -195
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -170
- package/src/rust-crypto/device-converter.ts +128 -128
- package/src/rust-crypto/secret-storage.ts +60 -60
- package/src/service-types.ts +20 -20
- package/src/store/local-storage-events-emitter.ts +46 -46
- package/src/sync-accumulator.ts +779 -779
- package/src/thread-utils.ts +31 -31
- package/src/types.ts +59 -59
- package/src/utils/decryptAESSecretStorageItem.ts +54 -54
- package/src/utils/encryptAESSecretStorageItem.ts +73 -73
- package/src/utils/internal/deriveKeys.ts +63 -63
- package/src/utils/roomVersion.ts +35 -35
- package/src/version-support.ts +50 -50
- package/src/webrtc/audioContext.ts +44 -44
- package/src/webrtc/callEventTypes.ts +101 -101
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -91
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -219
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -30
- package/src/webrtc/stats/connectionStats.ts +47 -47
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -28
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -140
- package/src/webrtc/stats/groupCallStats.ts +93 -93
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -57
- package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -70
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -176
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -90
- package/src/webrtc/stats/statsReport.ts +133 -133
- package/src/webrtc/stats/statsReportEmitter.ts +49 -49
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -207
- package/src/webrtc/stats/transportStats.ts +26 -26
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -48
- package/src/webrtc/stats/valueFormatter.ts +27 -27
- package/src/xrpl/identity.ts +245 -0
- package/src/xrpl/trust.ts +64 -0
- package/src/xrpl/verification.ts +284 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2026 The Matrix.org Foundation C.I.C.
|
|
7
|
+
|
|
8
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
you may not use this file except in compliance with the License.
|
|
10
|
+
You may obtain a copy of the License at
|
|
11
|
+
|
|
12
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
|
|
14
|
+
Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
See the License for the specific language governing permissions and
|
|
18
|
+
limitations under the License.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { Client as XrplClient } from "xrpl";
|
|
22
|
+
import { EventType } from "../@types/event.js";
|
|
23
|
+
export var XRPL_VERIFY_REQUEST_EVENT = EventType.UserVerifyRequest;
|
|
24
|
+
export var XRPL_VERIFY_ACCEPT_EVENT = EventType.UserVerifyAccept;
|
|
25
|
+
export var XRPL_VERIFIED_EVENT = EventType.UserVerified;
|
|
26
|
+
var NFT_TRUST_TAG = "nft_metadata";
|
|
27
|
+
var XRPL_IDENTITY_ACCOUNT_DATA_TYPE = "io.textrp.xrpl.identity_nft";
|
|
28
|
+
var DEFAULT_XRPL_NETWORK = "testnet";
|
|
29
|
+
var DEFAULT_XRPL_TESTNET_WS = "wss://s.altnet.rippletest.net:51233";
|
|
30
|
+
var DEFAULT_XRPL_MAINNET_WS = "wss://s1.ripple.com";
|
|
31
|
+
var verificationConfig = {};
|
|
32
|
+
export function configureXrplVerification(config) {
|
|
33
|
+
verificationConfig = _objectSpread(_objectSpread({}, verificationConfig), config);
|
|
34
|
+
}
|
|
35
|
+
export function requestVerification(_x) {
|
|
36
|
+
return _requestVerification.apply(this, arguments);
|
|
37
|
+
}
|
|
38
|
+
function _requestVerification() {
|
|
39
|
+
_requestVerification = _asyncToGenerator(function* (targetXrplAddress) {
|
|
40
|
+
var {
|
|
41
|
+
matrixClient,
|
|
42
|
+
xamanWallet
|
|
43
|
+
} = verificationConfig;
|
|
44
|
+
if (!matrixClient || !xamanWallet) {
|
|
45
|
+
throw new Error("XRPL verification is not configured with matrixClient and xamanWallet");
|
|
46
|
+
}
|
|
47
|
+
var issuerXrplAddress = yield xamanWallet.getAddress();
|
|
48
|
+
var roomId = yield getVerificationRoomId(targetXrplAddress);
|
|
49
|
+
yield matrixClient.sendEvent(roomId, XRPL_VERIFY_REQUEST_EVENT, {
|
|
50
|
+
tx_hash: "",
|
|
51
|
+
issuer_xrpl_address: issuerXrplAddress,
|
|
52
|
+
target_xrpl_address: targetXrplAddress,
|
|
53
|
+
trust_model: NFT_TRUST_TAG
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
txHash: "",
|
|
57
|
+
credentialTypeHex: NFT_TRUST_TAG
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
return _requestVerification.apply(this, arguments);
|
|
61
|
+
}
|
|
62
|
+
export function acceptVerification(_x2) {
|
|
63
|
+
return _acceptVerification.apply(this, arguments);
|
|
64
|
+
}
|
|
65
|
+
function _acceptVerification() {
|
|
66
|
+
_acceptVerification = _asyncToGenerator(function* (issuerXrplAddress) {
|
|
67
|
+
var {
|
|
68
|
+
matrixClient,
|
|
69
|
+
xamanWallet
|
|
70
|
+
} = verificationConfig;
|
|
71
|
+
if (!matrixClient || !xamanWallet) {
|
|
72
|
+
throw new Error("XRPL verification is not configured with matrixClient and xamanWallet");
|
|
73
|
+
}
|
|
74
|
+
var signerAddress = yield xamanWallet.getAddress();
|
|
75
|
+
var identity = yield getIdentityAccountData(matrixClient);
|
|
76
|
+
var metadata = yield loadTrustMetadata(identity.ipfsUri);
|
|
77
|
+
var currentVerifiers = new Set(Array.isArray(metadata.verifiers) ? metadata.verifiers.filter(value => typeof value === "string" && Boolean(value.trim())).map(value => value.trim()) : []);
|
|
78
|
+
currentVerifiers.add(issuerXrplAddress);
|
|
79
|
+
var updatedUri = yield pinTrustMetadata(_objectSpread(_objectSpread({}, metadata), {}, {
|
|
80
|
+
verifiers: Array.from(currentVerifiers)
|
|
81
|
+
}));
|
|
82
|
+
var roomId = yield getVerificationRoomId(issuerXrplAddress);
|
|
83
|
+
var txHash = yield signAndValidateOnXrpl({
|
|
84
|
+
TransactionType: "NFTokenModify",
|
|
85
|
+
Account: signerAddress,
|
|
86
|
+
NFTokenID: identity.nftTokenId,
|
|
87
|
+
URI: toHex(updatedUri)
|
|
88
|
+
}, /*#__PURE__*/function () {
|
|
89
|
+
var _ref = _asyncToGenerator(function* (xrplClient) {
|
|
90
|
+
yield assertAccountOwnsToken(xrplClient, signerAddress, identity.nftTokenId);
|
|
91
|
+
});
|
|
92
|
+
return function (_x13) {
|
|
93
|
+
return _ref.apply(this, arguments);
|
|
94
|
+
};
|
|
95
|
+
}());
|
|
96
|
+
yield matrixClient.sendEvent(roomId, XRPL_VERIFY_ACCEPT_EVENT, {
|
|
97
|
+
tx_hash: txHash,
|
|
98
|
+
issuer_xrpl_address: signerAddress,
|
|
99
|
+
accepter_xrpl_address: issuerXrplAddress,
|
|
100
|
+
nft_token_id: identity.nftTokenId,
|
|
101
|
+
ipfs_uri: updatedUri,
|
|
102
|
+
trust_model: NFT_TRUST_TAG
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
txHash,
|
|
106
|
+
credentialTypeHex: NFT_TRUST_TAG
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
return _acceptVerification.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
function signAndValidateOnXrpl(_x3, _x4) {
|
|
112
|
+
return _signAndValidateOnXrpl.apply(this, arguments);
|
|
113
|
+
}
|
|
114
|
+
function _signAndValidateOnXrpl() {
|
|
115
|
+
_signAndValidateOnXrpl = _asyncToGenerator(function* (transaction, preflight) {
|
|
116
|
+
var {
|
|
117
|
+
xamanWallet
|
|
118
|
+
} = verificationConfig;
|
|
119
|
+
if (!xamanWallet) {
|
|
120
|
+
throw new Error("Missing Xaman wallet adapter");
|
|
121
|
+
}
|
|
122
|
+
var xrplClient = new XrplClient(resolveXrplWebSocketUrl());
|
|
123
|
+
yield xrplClient.connect();
|
|
124
|
+
try {
|
|
125
|
+
if (preflight) {
|
|
126
|
+
yield preflight(xrplClient);
|
|
127
|
+
}
|
|
128
|
+
var autofilled = yield xrplClient.autofill(transaction);
|
|
129
|
+
var {
|
|
130
|
+
hash: txHash
|
|
131
|
+
} = yield xamanWallet.signAndSubmit(autofilled);
|
|
132
|
+
yield waitForValidation(xrplClient, txHash);
|
|
133
|
+
return txHash;
|
|
134
|
+
} finally {
|
|
135
|
+
yield xrplClient.disconnect().catch(() => undefined);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return _signAndValidateOnXrpl.apply(this, arguments);
|
|
139
|
+
}
|
|
140
|
+
function waitForValidation(_x5, _x6) {
|
|
141
|
+
return _waitForValidation.apply(this, arguments);
|
|
142
|
+
}
|
|
143
|
+
function _waitForValidation() {
|
|
144
|
+
_waitForValidation = _asyncToGenerator(function* (xrplClient, txHash) {
|
|
145
|
+
for (var attempt = 0; attempt < 15; attempt += 1) {
|
|
146
|
+
var _response$result;
|
|
147
|
+
var response = yield xrplClient.request({
|
|
148
|
+
command: "tx",
|
|
149
|
+
transaction: txHash
|
|
150
|
+
});
|
|
151
|
+
if (((_response$result = response.result) === null || _response$result === void 0 ? void 0 : _response$result.validated) === true) return;
|
|
152
|
+
yield sleep(1000);
|
|
153
|
+
}
|
|
154
|
+
throw new Error("Timed out waiting for XRPL tx validation: ".concat(txHash));
|
|
155
|
+
});
|
|
156
|
+
return _waitForValidation.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
function getVerificationRoomId(_x7) {
|
|
159
|
+
return _getVerificationRoomId.apply(this, arguments);
|
|
160
|
+
}
|
|
161
|
+
function _getVerificationRoomId() {
|
|
162
|
+
_getVerificationRoomId = _asyncToGenerator(function* (counterpartyXrplAddress) {
|
|
163
|
+
if (verificationConfig.verificationRoomId) {
|
|
164
|
+
return verificationConfig.verificationRoomId;
|
|
165
|
+
}
|
|
166
|
+
if (verificationConfig.resolveVerificationRoomId) {
|
|
167
|
+
return yield verificationConfig.resolveVerificationRoomId(counterpartyXrplAddress);
|
|
168
|
+
}
|
|
169
|
+
throw new Error("No verification room configured");
|
|
170
|
+
});
|
|
171
|
+
return _getVerificationRoomId.apply(this, arguments);
|
|
172
|
+
}
|
|
173
|
+
function resolveXrplWebSocketUrl() {
|
|
174
|
+
var _verificationConfig$n;
|
|
175
|
+
if (verificationConfig.websocketUrl) return verificationConfig.websocketUrl;
|
|
176
|
+
var network = (_verificationConfig$n = verificationConfig.network) !== null && _verificationConfig$n !== void 0 ? _verificationConfig$n : DEFAULT_XRPL_NETWORK;
|
|
177
|
+
return network === "mainnet" ? DEFAULT_XRPL_MAINNET_WS : DEFAULT_XRPL_TESTNET_WS;
|
|
178
|
+
}
|
|
179
|
+
function toHex(input) {
|
|
180
|
+
var bytes = typeof input === "string" ? new TextEncoder().encode(input) : input;
|
|
181
|
+
return Array.from(bytes).map(value => value.toString(16).padStart(2, "0")).join("").toUpperCase();
|
|
182
|
+
}
|
|
183
|
+
function getIdentityAccountData(_x8) {
|
|
184
|
+
return _getIdentityAccountData.apply(this, arguments);
|
|
185
|
+
}
|
|
186
|
+
function _getIdentityAccountData() {
|
|
187
|
+
_getIdentityAccountData = _asyncToGenerator(function* (matrixClient) {
|
|
188
|
+
var userId = matrixClient.getUserId();
|
|
189
|
+
var accessToken = matrixClient.getAccessToken();
|
|
190
|
+
if (!userId || !accessToken) {
|
|
191
|
+
throw new Error("Missing Matrix session for XRPL verification");
|
|
192
|
+
}
|
|
193
|
+
var accountDataUrl = "".concat(matrixClient.baseUrl.replace(/\/+$/, "")) + "/_matrix/client/v3/user/".concat(encodeURIComponent(userId), "/account_data/").concat(encodeURIComponent(XRPL_IDENTITY_ACCOUNT_DATA_TYPE));
|
|
194
|
+
var response = yield fetch(accountDataUrl, {
|
|
195
|
+
method: "GET",
|
|
196
|
+
headers: {
|
|
197
|
+
"Authorization": "Bearer ".concat(accessToken),
|
|
198
|
+
"Content-Type": "application/json"
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
if (!response.ok) {
|
|
202
|
+
throw new Error("Unable to fetch identity NFT account_data: HTTP ".concat(response.status));
|
|
203
|
+
}
|
|
204
|
+
return yield response.json();
|
|
205
|
+
});
|
|
206
|
+
return _getIdentityAccountData.apply(this, arguments);
|
|
207
|
+
}
|
|
208
|
+
function assertAccountOwnsToken(_x9, _x0, _x1) {
|
|
209
|
+
return _assertAccountOwnsToken.apply(this, arguments);
|
|
210
|
+
}
|
|
211
|
+
function _assertAccountOwnsToken() {
|
|
212
|
+
_assertAccountOwnsToken = _asyncToGenerator(function* (xrplClient, account, tokenId) {
|
|
213
|
+
var _response$result2;
|
|
214
|
+
var response = yield xrplClient.request({
|
|
215
|
+
command: "account_nfts",
|
|
216
|
+
account
|
|
217
|
+
});
|
|
218
|
+
var found = (_response$result2 = response.result) === null || _response$result2 === void 0 || (_response$result2 = _response$result2.account_nfts) === null || _response$result2 === void 0 ? void 0 : _response$result2.some(entry => entry.NFTokenID === tokenId);
|
|
219
|
+
if (!found) {
|
|
220
|
+
throw new Error("Identity NFT ".concat(tokenId, " not found on account ").concat(account));
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
return _assertAccountOwnsToken.apply(this, arguments);
|
|
224
|
+
}
|
|
225
|
+
function loadTrustMetadata(_x10) {
|
|
226
|
+
return _loadTrustMetadata.apply(this, arguments);
|
|
227
|
+
}
|
|
228
|
+
function _loadTrustMetadata() {
|
|
229
|
+
_loadTrustMetadata = _asyncToGenerator(function* (uri) {
|
|
230
|
+
if (!uri) return {};
|
|
231
|
+
if (uri.startsWith("{")) {
|
|
232
|
+
return JSON.parse(uri);
|
|
233
|
+
}
|
|
234
|
+
if (uri.startsWith("data:application/json,")) {
|
|
235
|
+
var _uri$split$;
|
|
236
|
+
var payload = decodeURIComponent((_uri$split$ = uri.split(",", 2)[1]) !== null && _uri$split$ !== void 0 ? _uri$split$ : "{}");
|
|
237
|
+
return JSON.parse(payload);
|
|
238
|
+
}
|
|
239
|
+
if (uri.startsWith("ipfs://")) {
|
|
240
|
+
var cidPath = uri.replace("ipfs://", "");
|
|
241
|
+
var response = yield fetch("https://ipfs.io/ipfs/".concat(cidPath));
|
|
242
|
+
if (!response.ok) {
|
|
243
|
+
throw new Error("Failed to fetch IPFS metadata: HTTP ".concat(response.status));
|
|
244
|
+
}
|
|
245
|
+
return yield response.json();
|
|
246
|
+
}
|
|
247
|
+
return {};
|
|
248
|
+
});
|
|
249
|
+
return _loadTrustMetadata.apply(this, arguments);
|
|
250
|
+
}
|
|
251
|
+
function pinTrustMetadata(_x11) {
|
|
252
|
+
return _pinTrustMetadata.apply(this, arguments);
|
|
253
|
+
}
|
|
254
|
+
function _pinTrustMetadata() {
|
|
255
|
+
_pinTrustMetadata = _asyncToGenerator(function* (payload) {
|
|
256
|
+
if (verificationConfig.pinJsonToIpfs) {
|
|
257
|
+
return yield verificationConfig.pinJsonToIpfs(payload);
|
|
258
|
+
}
|
|
259
|
+
var jwt = verificationConfig.pinataJwt;
|
|
260
|
+
if (!jwt) {
|
|
261
|
+
throw new Error("Set pinJsonToIpfs or pinataJwt before acceptVerification()");
|
|
262
|
+
}
|
|
263
|
+
var response = yield fetch("https://api.pinata.cloud/pinning/pinJSONToIPFS", {
|
|
264
|
+
method: "POST",
|
|
265
|
+
headers: {
|
|
266
|
+
"Authorization": "Bearer ".concat(jwt),
|
|
267
|
+
"Content-Type": "application/json"
|
|
268
|
+
},
|
|
269
|
+
body: JSON.stringify({
|
|
270
|
+
pinataContent: payload
|
|
271
|
+
})
|
|
272
|
+
});
|
|
273
|
+
if (!response.ok) {
|
|
274
|
+
throw new Error("Pinata pin failed: HTTP ".concat(response.status));
|
|
275
|
+
}
|
|
276
|
+
var body = yield response.json();
|
|
277
|
+
if (!body.IpfsHash) {
|
|
278
|
+
throw new Error("Pinata response missing IpfsHash");
|
|
279
|
+
}
|
|
280
|
+
return "ipfs://".concat(body.IpfsHash);
|
|
281
|
+
});
|
|
282
|
+
return _pinTrustMetadata.apply(this, arguments);
|
|
283
|
+
}
|
|
284
|
+
function sleep(_x12) {
|
|
285
|
+
return _sleep.apply(this, arguments);
|
|
286
|
+
}
|
|
287
|
+
function _sleep() {
|
|
288
|
+
_sleep = _asyncToGenerator(function* (ms) {
|
|
289
|
+
yield new Promise(resolve => {
|
|
290
|
+
setTimeout(resolve, ms);
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
return _sleep.apply(this, arguments);
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","names":["Client","XrplClient","EventType","XRPL_VERIFY_REQUEST_EVENT","UserVerifyRequest","XRPL_VERIFY_ACCEPT_EVENT","UserVerifyAccept","XRPL_VERIFIED_EVENT","UserVerified","NFT_TRUST_TAG","XRPL_IDENTITY_ACCOUNT_DATA_TYPE","DEFAULT_XRPL_NETWORK","DEFAULT_XRPL_TESTNET_WS","DEFAULT_XRPL_MAINNET_WS","verificationConfig","configureXrplVerification","config","_objectSpread","requestVerification","_x","_requestVerification","apply","arguments","_asyncToGenerator","targetXrplAddress","matrixClient","xamanWallet","Error","issuerXrplAddress","getAddress","roomId","getVerificationRoomId","sendEvent","tx_hash","issuer_xrpl_address","target_xrpl_address","trust_model","txHash","credentialTypeHex","acceptVerification","_x2","_acceptVerification","signerAddress","identity","getIdentityAccountData","metadata","loadTrustMetadata","ipfsUri","currentVerifiers","Set","Array","isArray","verifiers","filter","value","Boolean","trim","map","add","updatedUri","pinTrustMetadata","from","signAndValidateOnXrpl","TransactionType","Account","NFTokenID","nftTokenId","URI","toHex","_ref","xrplClient","assertAccountOwnsToken","_x13","accepter_xrpl_address","nft_token_id","ipfs_uri","_x3","_x4","_signAndValidateOnXrpl","transaction","preflight","resolveXrplWebSocketUrl","connect","autofilled","autofill","hash","signAndSubmit","waitForValidation","disconnect","catch","undefined","_x5","_x6","_waitForValidation","attempt","_response$result","response","request","command","result","validated","sleep","concat","_x7","_getVerificationRoomId","counterpartyXrplAddress","verificationRoomId","resolveVerificationRoomId","_verificationConfig$n","websocketUrl","network","input","bytes","TextEncoder","encode","toString","padStart","join","toUpperCase","_x8","_getIdentityAccountData","userId","getUserId","accessToken","getAccessToken","accountDataUrl","baseUrl","replace","encodeURIComponent","fetch","method","headers","ok","status","json","_x9","_x0","_x1","_assertAccountOwnsToken","account","tokenId","_response$result2","found","account_nfts","some","entry","_x10","_loadTrustMetadata","uri","startsWith","JSON","parse","_uri$split$","payload","decodeURIComponent","split","cidPath","_x11","_pinTrustMetadata","pinJsonToIpfs","jwt","pinataJwt","body","stringify","pinataContent","IpfsHash","_x12","_sleep","ms","Promise","resolve","setTimeout"],"sources":["../../src/xrpl/verification.ts"],"sourcesContent":["/*\nCopyright 2026 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 { Client as XrplClient, type SubmittableTransaction } from \"xrpl\";\n\nimport { EventType } from \"../@types/event.ts\";\nimport type { BriijClient } from \"../client.ts\";\nimport { type XamanWalletAdapter, type XrplIdentityAccountData } from \"./identity.ts\";\n\nexport const XRPL_VERIFY_REQUEST_EVENT: EventType.UserVerifyRequest = EventType.UserVerifyRequest;\nexport const XRPL_VERIFY_ACCEPT_EVENT: EventType.UserVerifyAccept = EventType.UserVerifyAccept;\nexport const XRPL_VERIFIED_EVENT: EventType.UserVerified = EventType.UserVerified;\n\nconst NFT_TRUST_TAG = \"nft_metadata\";\nconst XRPL_IDENTITY_ACCOUNT_DATA_TYPE = \"io.textrp.xrpl.identity_nft\";\n\nconst DEFAULT_XRPL_NETWORK = \"testnet\";\nconst DEFAULT_XRPL_TESTNET_WS = \"wss://s.altnet.rippletest.net:51233\";\nconst DEFAULT_XRPL_MAINNET_WS = \"wss://s1.ripple.com\";\n\nexport interface XrplVerificationConfig {\n matrixClient: Pick<BriijClient, \"sendEvent\" | \"getUserId\" | \"getAccessToken\"> & { baseUrl: string };\n xamanWallet: XamanWalletAdapter;\n verificationRoomId?: string;\n resolveVerificationRoomId?: (counterpartyXrplAddress: string) => Promise<string> | string;\n pinJsonToIpfs?: (payload: Record<string, unknown>) => Promise<string>;\n pinataJwt?: string;\n websocketUrl?: string;\n network?: \"mainnet\" | \"testnet\";\n}\n\nexport interface XrplVerificationTxResult {\n txHash: string;\n credentialTypeHex: string;\n}\n\nlet verificationConfig: Partial<XrplVerificationConfig> = {};\n\nexport function configureXrplVerification(config: Partial<XrplVerificationConfig>): void {\n verificationConfig = {\n ...verificationConfig,\n ...config,\n };\n}\n\nexport async function requestVerification(targetXrplAddress: string): Promise<XrplVerificationTxResult> {\n const { matrixClient, xamanWallet } = verificationConfig;\n if (!matrixClient || !xamanWallet) {\n throw new Error(\"XRPL verification is not configured with matrixClient and xamanWallet\");\n }\n\n const issuerXrplAddress = await xamanWallet.getAddress();\n const roomId = await getVerificationRoomId(targetXrplAddress);\n await matrixClient.sendEvent(roomId, XRPL_VERIFY_REQUEST_EVENT, {\n tx_hash: \"\",\n issuer_xrpl_address: issuerXrplAddress,\n target_xrpl_address: targetXrplAddress,\n trust_model: NFT_TRUST_TAG,\n });\n\n return {\n txHash: \"\",\n credentialTypeHex: NFT_TRUST_TAG,\n };\n}\n\nexport async function acceptVerification(issuerXrplAddress: string): Promise<XrplVerificationTxResult> {\n const { matrixClient, xamanWallet } = verificationConfig;\n if (!matrixClient || !xamanWallet) {\n throw new Error(\"XRPL verification is not configured with matrixClient and xamanWallet\");\n }\n\n const signerAddress = await xamanWallet.getAddress();\n const identity = await getIdentityAccountData(matrixClient);\n const metadata = await loadTrustMetadata(identity.ipfsUri);\n const currentVerifiers = new Set(\n Array.isArray(metadata.verifiers)\n ? metadata.verifiers\n .filter((value): value is string => typeof value === \"string\" && Boolean(value.trim()))\n .map((value) => value.trim())\n : [],\n );\n currentVerifiers.add(issuerXrplAddress);\n const updatedUri = await pinTrustMetadata({\n ...metadata,\n verifiers: Array.from(currentVerifiers),\n });\n\n const roomId = await getVerificationRoomId(issuerXrplAddress);\n const txHash = await signAndValidateOnXrpl(\n {\n TransactionType: \"NFTokenModify\",\n Account: signerAddress,\n NFTokenID: identity.nftTokenId,\n URI: toHex(updatedUri),\n },\n async (xrplClient) => {\n await assertAccountOwnsToken(xrplClient, signerAddress, identity.nftTokenId);\n },\n );\n\n await matrixClient.sendEvent(roomId, XRPL_VERIFY_ACCEPT_EVENT, {\n tx_hash: txHash,\n issuer_xrpl_address: signerAddress,\n accepter_xrpl_address: issuerXrplAddress,\n nft_token_id: identity.nftTokenId,\n ipfs_uri: updatedUri,\n trust_model: NFT_TRUST_TAG,\n });\n\n return {\n txHash,\n credentialTypeHex: NFT_TRUST_TAG,\n };\n}\n\nasync function signAndValidateOnXrpl(\n transaction: Record<string, unknown>,\n preflight?: (xrplClient: XrplClient) => Promise<void>,\n): Promise<string> {\n const { xamanWallet } = verificationConfig;\n if (!xamanWallet) {\n throw new Error(\"Missing Xaman wallet adapter\");\n }\n\n const xrplClient = new XrplClient(resolveXrplWebSocketUrl());\n await xrplClient.connect();\n\n try {\n if (preflight) {\n await preflight(xrplClient);\n }\n const autofilled = await xrplClient.autofill(transaction as unknown as SubmittableTransaction);\n const { hash: txHash } = await xamanWallet.signAndSubmit(autofilled as Record<string, unknown>);\n await waitForValidation(xrplClient, txHash);\n return txHash;\n } finally {\n await xrplClient.disconnect().catch(() => undefined);\n }\n}\n\nasync function waitForValidation(xrplClient: XrplClient, txHash: string): Promise<void> {\n for (let attempt = 0; attempt < 15; attempt += 1) {\n const response = await xrplClient.request({\n command: \"tx\",\n transaction: txHash,\n });\n\n if (response.result?.validated === true) return;\n await sleep(1000);\n }\n\n throw new Error(`Timed out waiting for XRPL tx validation: ${txHash}`);\n}\n\nasync function getVerificationRoomId(counterpartyXrplAddress: string): Promise<string> {\n if (verificationConfig.verificationRoomId) {\n return verificationConfig.verificationRoomId;\n }\n if (verificationConfig.resolveVerificationRoomId) {\n return await verificationConfig.resolveVerificationRoomId(counterpartyXrplAddress);\n }\n throw new Error(\"No verification room configured\");\n}\n\nfunction resolveXrplWebSocketUrl(): string {\n if (verificationConfig.websocketUrl) return verificationConfig.websocketUrl;\n const network = verificationConfig.network ?? DEFAULT_XRPL_NETWORK;\n return network === \"mainnet\" ? DEFAULT_XRPL_MAINNET_WS : DEFAULT_XRPL_TESTNET_WS;\n}\n\nfunction toHex(input: string | Uint8Array): string {\n const bytes = typeof input === \"string\" ? new TextEncoder().encode(input) : input;\n return Array.from(bytes)\n .map((value) => value.toString(16).padStart(2, \"0\"))\n .join(\"\")\n .toUpperCase();\n}\n\nasync function getIdentityAccountData(\n matrixClient: Pick<BriijClient, \"getUserId\" | \"getAccessToken\"> & { baseUrl: string },\n): Promise<XrplIdentityAccountData> {\n const userId = matrixClient.getUserId();\n const accessToken = matrixClient.getAccessToken();\n if (!userId || !accessToken) {\n throw new Error(\"Missing Matrix session for XRPL verification\");\n }\n\n const accountDataUrl =\n `${matrixClient.baseUrl.replace(/\\/+$/, \"\")}` +\n `/_matrix/client/v3/user/${encodeURIComponent(userId)}/account_data/${encodeURIComponent(XRPL_IDENTITY_ACCOUNT_DATA_TYPE)}`;\n const response = await fetch(accountDataUrl, {\n method: \"GET\",\n headers: {\n \"Authorization\": `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n });\n if (!response.ok) {\n throw new Error(`Unable to fetch identity NFT account_data: HTTP ${response.status}`);\n }\n return (await response.json()) as XrplIdentityAccountData;\n}\n\nasync function assertAccountOwnsToken(xrplClient: XrplClient, account: string, tokenId: string): Promise<void> {\n const response = await xrplClient.request({\n command: \"account_nfts\",\n account,\n });\n const found = response.result?.account_nfts?.some((entry: { NFTokenID?: string }) => entry.NFTokenID === tokenId);\n if (!found) {\n throw new Error(`Identity NFT ${tokenId} not found on account ${account}`);\n }\n}\n\nasync function loadTrustMetadata(uri: string): Promise<Record<string, unknown>> {\n if (!uri) return {};\n if (uri.startsWith(\"{\")) {\n return JSON.parse(uri) as Record<string, unknown>;\n }\n\n if (uri.startsWith(\"data:application/json,\")) {\n const payload = decodeURIComponent(uri.split(\",\", 2)[1] ?? \"{}\");\n return JSON.parse(payload) as Record<string, unknown>;\n }\n\n if (uri.startsWith(\"ipfs://\")) {\n const cidPath = uri.replace(\"ipfs://\", \"\");\n const response = await fetch(`https://ipfs.io/ipfs/${cidPath}`);\n if (!response.ok) {\n throw new Error(`Failed to fetch IPFS metadata: HTTP ${response.status}`);\n }\n return (await response.json()) as Record<string, unknown>;\n }\n\n return {};\n}\n\nasync function pinTrustMetadata(payload: Record<string, unknown>): Promise<string> {\n if (verificationConfig.pinJsonToIpfs) {\n return await verificationConfig.pinJsonToIpfs(payload);\n }\n\n const jwt = verificationConfig.pinataJwt;\n if (!jwt) {\n throw new Error(\"Set pinJsonToIpfs or pinataJwt before acceptVerification()\");\n }\n\n const response = await fetch(\"https://api.pinata.cloud/pinning/pinJSONToIPFS\", {\n method: \"POST\",\n headers: {\n \"Authorization\": `Bearer ${jwt}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ pinataContent: payload }),\n });\n if (!response.ok) {\n throw new Error(`Pinata pin failed: HTTP ${response.status}`);\n }\n const body = (await response.json()) as { IpfsHash?: string };\n if (!body.IpfsHash) {\n throw new Error(\"Pinata response missing IpfsHash\");\n }\n return `ipfs://${body.IpfsHash}`;\n}\n\nasync function sleep(ms: number): Promise<void> {\n await new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,129 +1,128 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@textrp/briij-js-sdk",
|
|
3
|
+
"version": "42.0.0",
|
|
4
|
+
"description": "Briij Client-Server SDK for JavaScript and TypeScript",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": ">=22.0.0"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/xurgedigitallab/briij-js-sdk.git"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"briij"
|
|
14
|
+
],
|
|
15
|
+
"type": "module",
|
|
16
|
+
"main": "./lib/index.js",
|
|
17
|
+
"browser": "./lib/browser-index.js",
|
|
18
|
+
"typings": "./lib/index.d.ts",
|
|
19
|
+
"author": "textrp",
|
|
20
|
+
"license": "Apache-2.0",
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"registry": "https://registry.npmjs.org",
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"lib",
|
|
27
|
+
"src",
|
|
28
|
+
"git-revision.txt",
|
|
29
|
+
"CHANGELOG.md",
|
|
30
|
+
"CONTRIBUTING.rst",
|
|
31
|
+
"LICENSE",
|
|
32
|
+
"README.md",
|
|
33
|
+
"package.json",
|
|
34
|
+
"release.sh"
|
|
35
|
+
],
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@babel/runtime": "^7.12.5",
|
|
38
|
+
"@matrix-org/matrix-sdk-crypto-wasm": "^17.1.0",
|
|
39
|
+
"another-json": "^0.2.0",
|
|
40
|
+
"bs58": "^6.0.0",
|
|
41
|
+
"content-type": "^1.0.4",
|
|
42
|
+
"jwt-decode": "^4.0.0",
|
|
43
|
+
"loglevel": "^1.9.2",
|
|
44
|
+
"matrix-events-sdk": "0.0.1",
|
|
45
|
+
"matrix-widget-api": "^1.16.1",
|
|
46
|
+
"oidc-client-ts": "^3.0.1",
|
|
47
|
+
"p-retry": "7",
|
|
48
|
+
"sdp-transform": "^3.0.0",
|
|
49
|
+
"unhomoglyph": "^1.0.6",
|
|
50
|
+
"uuid": "13",
|
|
51
|
+
"xrpl": "^4.6.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@action-validator/cli": "^0.6.0",
|
|
55
|
+
"@action-validator/core": "^0.6.0",
|
|
56
|
+
"@babel/cli": "^7.12.10",
|
|
57
|
+
"@babel/core": "^7.12.10",
|
|
58
|
+
"@babel/eslint-parser": "^7.12.10",
|
|
59
|
+
"@babel/eslint-plugin": "^7.12.10",
|
|
60
|
+
"@babel/plugin-proposal-decorators": "^7.25.9",
|
|
61
|
+
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
62
|
+
"@babel/plugin-transform-class-properties": "^7.12.1",
|
|
63
|
+
"@babel/plugin-transform-numeric-separator": "^7.12.7",
|
|
64
|
+
"@babel/plugin-transform-object-rest-spread": "^7.12.1",
|
|
65
|
+
"@babel/plugin-transform-runtime": "^7.12.10",
|
|
66
|
+
"@babel/preset-env": "^7.12.11",
|
|
67
|
+
"@babel/preset-typescript": "^7.12.7",
|
|
68
|
+
"@fetch-mock/vitest": "^0.2.18",
|
|
69
|
+
"@matrix-org/olm": "3.2.15",
|
|
70
|
+
"@peculiar/webcrypto": "^1.4.5",
|
|
71
|
+
"@stylistic/eslint-plugin": "^5.0.0",
|
|
72
|
+
"@types/content-type": "^1.1.5",
|
|
73
|
+
"@types/debug": "^4.1.7",
|
|
74
|
+
"@types/node": "22",
|
|
75
|
+
"@types/sdp-transform": "^2.4.5",
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
77
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
78
|
+
"@vitest/coverage-v8": "^4.0.17",
|
|
79
|
+
"@vitest/eslint-plugin": "^1.6.6",
|
|
80
|
+
"@vitest/ui": "^4.0.17",
|
|
81
|
+
"babel-plugin-search-and-replace": "^1.1.1",
|
|
82
|
+
"debug": "^4.3.4",
|
|
83
|
+
"eslint": "^9.0.0",
|
|
84
|
+
"eslint-config-google": "^0.14.0",
|
|
85
|
+
"eslint-config-prettier": "^10.0.0",
|
|
86
|
+
"eslint-import-resolver-typescript": "^4.0.0",
|
|
87
|
+
"eslint-plugin-import": "^2.26.0",
|
|
88
|
+
"eslint-plugin-jsdoc": "^62.0.0",
|
|
89
|
+
"eslint-plugin-matrix-org": "^3.0.0",
|
|
90
|
+
"eslint-plugin-n": "^14.0.0",
|
|
91
|
+
"eslint-plugin-tsdoc": "^0.5.0",
|
|
92
|
+
"eslint-plugin-unicorn": "^56.0.0",
|
|
93
|
+
"fake-indexeddb": "^5.0.2",
|
|
94
|
+
"fetch-mock": "^12.6.0",
|
|
95
|
+
"happy-dom": "^20.1.0",
|
|
96
|
+
"husky": "^9.0.0",
|
|
97
|
+
"knip": "^5.0.0",
|
|
98
|
+
"lint-staged": "^16.0.0",
|
|
99
|
+
"matrix-mock-request": "^2.5.0",
|
|
100
|
+
"prettier": "3.8.1",
|
|
101
|
+
"typedoc": "^0.28.1",
|
|
102
|
+
"typedoc-plugin-coverage": "^4.0.0",
|
|
103
|
+
"typedoc-plugin-mdn-links": "^5.0.0",
|
|
104
|
+
"typedoc-plugin-missing-exports": "^4.0.0",
|
|
105
|
+
"typescript": "^5.4.2",
|
|
106
|
+
"vitest": "^4.0.17",
|
|
107
|
+
"vitest-sonar-reporter": "^3.0.0"
|
|
108
|
+
},
|
|
109
|
+
"resolutions": {
|
|
110
|
+
"expect": "30.2.0"
|
|
111
|
+
},
|
|
112
|
+
"scripts": {
|
|
113
|
+
"start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && babel --delete-dir-on-start src -w -s -d lib --verbose --extensions \".ts,.js\"",
|
|
114
|
+
"build": "pnpm build:compile && pnpm build:types",
|
|
115
|
+
"build:types": "tsc -p tsconfig-build.json --emitDeclarationOnly",
|
|
116
|
+
"build:compile": "babel --delete-dir-on-start -d lib --verbose --extensions \".ts,.js\" src",
|
|
117
|
+
"gendoc": "typedoc",
|
|
118
|
+
"lint": "pnpm lint:types && pnpm lint:js && pnpm lint:workflows",
|
|
119
|
+
"lint:js": "eslint --max-warnings 0 src spec && prettier --check .",
|
|
120
|
+
"lint:js-fix": "prettier --log-level=warn --write . && eslint --fix src spec",
|
|
121
|
+
"lint:types": "tsc --noEmit",
|
|
122
|
+
"lint:workflows": "find .github/workflows -type f \\( -iname '*.yaml' -o -iname '*.yml' \\) | xargs -I {} sh -c 'echo \"Linting {}\"; action-validator \"{}\"'",
|
|
123
|
+
"lint:knip": "knip",
|
|
124
|
+
"test": "vitest",
|
|
125
|
+
"test:watch": "vitest --watch",
|
|
126
|
+
"coverage": "pnpm test --coverage"
|
|
127
|
+
}
|
|
128
|
+
}
|