@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.
Files changed (375) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/LICENSE +177 -177
  3. package/README.md +14 -3
  4. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -1
  5. package/lib/@types/IIdentityServerProvider.js.map +1 -1
  6. package/lib/@types/PushRules.js +14 -14
  7. package/lib/@types/PushRules.js.map +1 -1
  8. package/lib/@types/another-json.d.js.map +1 -1
  9. package/lib/@types/auth.d.ts +19 -1
  10. package/lib/@types/auth.d.ts.map +1 -1
  11. package/lib/@types/auth.js +55 -54
  12. package/lib/@types/auth.js.map +1 -1
  13. package/lib/@types/beacon.js +100 -100
  14. package/lib/@types/beacon.js.map +1 -1
  15. package/lib/@types/common.js.map +1 -1
  16. package/lib/@types/crypto.js.map +1 -1
  17. package/lib/@types/event.d.ts +27 -0
  18. package/lib/@types/event.d.ts.map +1 -1
  19. package/lib/@types/event.js +105 -102
  20. package/lib/@types/event.js.map +1 -1
  21. package/lib/@types/events.js.map +1 -1
  22. package/lib/@types/extensible_events.js +53 -53
  23. package/lib/@types/extensible_events.js.map +1 -1
  24. package/lib/@types/local_notifications.js.map +1 -1
  25. package/lib/@types/location.js +41 -41
  26. package/lib/@types/location.js.map +1 -1
  27. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
  28. package/lib/@types/media.js.map +1 -1
  29. package/lib/@types/membership.js +39 -39
  30. package/lib/@types/membership.js.map +1 -1
  31. package/lib/@types/partials.js +25 -25
  32. package/lib/@types/partials.js.map +1 -1
  33. package/lib/@types/polls.js +46 -46
  34. package/lib/@types/polls.js.map +1 -1
  35. package/lib/@types/read_receipts.js +14 -14
  36. package/lib/@types/read_receipts.js.map +1 -1
  37. package/lib/@types/registration.js.map +1 -1
  38. package/lib/@types/search.js +14 -14
  39. package/lib/@types/search.js.map +1 -1
  40. package/lib/@types/signed.js.map +1 -1
  41. package/lib/@types/spaces.js.map +1 -1
  42. package/lib/@types/state_events.js.map +1 -1
  43. package/lib/@types/synapse.js.map +1 -1
  44. package/lib/@types/sync.js +18 -18
  45. package/lib/@types/sync.js.map +1 -1
  46. package/lib/@types/threepids.js +14 -14
  47. package/lib/@types/threepids.js.map +1 -1
  48. package/lib/@types/topic.js +47 -47
  49. package/lib/@types/topic.js.map +1 -1
  50. package/lib/@types/uia.js.map +1 -1
  51. package/lib/NamespacedValue.js +20 -20
  52. package/lib/NamespacedValue.js.map +1 -1
  53. package/lib/ReEmitter.js +16 -16
  54. package/lib/ReEmitter.js.map +1 -1
  55. package/lib/base64.js +32 -32
  56. package/lib/base64.js.map +1 -1
  57. package/lib/briij.d.ts +3 -0
  58. package/lib/briij.d.ts.map +1 -1
  59. package/lib/briij.js +3 -0
  60. package/lib/briij.js.map +1 -1
  61. package/lib/client.d.ts +18 -1
  62. package/lib/client.d.ts.map +1 -1
  63. package/lib/client.js +166 -103
  64. package/lib/client.js.map +1 -1
  65. package/lib/common-crypto/key-passphrase.js +19 -19
  66. package/lib/common-crypto/key-passphrase.js.map +1 -1
  67. package/lib/content-helpers.js +57 -57
  68. package/lib/content-helpers.js.map +1 -1
  69. package/lib/content-repo.js +36 -36
  70. package/lib/content-repo.js.map +1 -1
  71. package/lib/crypto/store/base.js +69 -69
  72. package/lib/crypto/store/base.js.map +1 -1
  73. package/lib/crypto/store/indexeddb-crypto-store-backend.js +58 -58
  74. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  75. package/lib/crypto/store/indexeddb-crypto-store.js +193 -193
  76. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  77. package/lib/crypto/store/localStorage-crypto-store.js +72 -72
  78. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  79. package/lib/crypto/store/memory-crypto-store.js +74 -74
  80. package/lib/crypto/store/memory-crypto-store.js.map +1 -1
  81. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -1
  82. package/lib/crypto-api/key-passphrase.js +22 -22
  83. package/lib/crypto-api/key-passphrase.js.map +1 -1
  84. package/lib/crypto-api/keybackup.js.map +1 -1
  85. package/lib/crypto-api/recovery-key.js +20 -20
  86. package/lib/crypto-api/recovery-key.js.map +1 -1
  87. package/lib/digest.js +21 -21
  88. package/lib/digest.js.map +1 -1
  89. package/lib/extensible_events_v1/ExtensibleEvent.js +39 -39
  90. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
  91. package/lib/extensible_events_v1/InvalidEventError.js +16 -16
  92. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
  93. package/lib/extensible_events_v1/MessageEvent.js +39 -39
  94. package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  95. package/lib/extensible_events_v1/PollEndEvent.js +29 -29
  96. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  97. package/lib/extensible_events_v1/PollResponseEvent.js +39 -39
  98. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  99. package/lib/extensible_events_v1/PollStartEvent.js +52 -52
  100. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  101. package/lib/extensible_events_v1/utilities.js +22 -22
  102. package/lib/extensible_events_v1/utilities.js.map +1 -1
  103. package/lib/feature.js +16 -16
  104. package/lib/feature.js.map +1 -1
  105. package/lib/http-api/method.js +14 -14
  106. package/lib/http-api/method.js.map +1 -1
  107. package/lib/http-api/prefix.js +26 -26
  108. package/lib/http-api/prefix.js.map +1 -1
  109. package/lib/indexeddb-helpers.js +21 -21
  110. package/lib/indexeddb-helpers.js.map +1 -1
  111. package/lib/indexeddb-worker.js +18 -18
  112. package/lib/indexeddb-worker.js.map +1 -1
  113. package/lib/matrixrtc/IKeyTransport.js +17 -17
  114. package/lib/matrixrtc/IKeyTransport.js.map +1 -1
  115. package/lib/matrixrtc/IMembershipManager.js +27 -27
  116. package/lib/matrixrtc/IMembershipManager.js.map +1 -1
  117. package/lib/matrixrtc/LivekitTransport.js +19 -19
  118. package/lib/matrixrtc/LivekitTransport.js.map +1 -1
  119. package/lib/matrixrtc/index.js +14 -14
  120. package/lib/matrixrtc/index.js.map +1 -1
  121. package/lib/matrixrtc/utils.js +27 -27
  122. package/lib/matrixrtc/utils.js.map +1 -1
  123. package/lib/models/ToDeviceMessage.js.map +1 -1
  124. package/lib/models/device.js +24 -24
  125. package/lib/models/device.js.map +1 -1
  126. package/lib/models/event-status.js +17 -17
  127. package/lib/models/event-status.js.map +1 -1
  128. package/lib/models/invites-ignorer-types.js +25 -25
  129. package/lib/models/invites-ignorer-types.js.map +1 -1
  130. package/lib/models/profile-keys.js +26 -26
  131. package/lib/models/profile-keys.js.map +1 -1
  132. package/lib/models/room-summary.js +26 -26
  133. package/lib/models/room-summary.js.map +1 -1
  134. package/lib/models/search-result.js +22 -22
  135. package/lib/models/search-result.js.map +1 -1
  136. package/lib/models/typed-event-emitter.js +122 -122
  137. package/lib/models/typed-event-emitter.js.map +1 -1
  138. package/lib/oidc/authorize.js +76 -76
  139. package/lib/oidc/authorize.js.map +1 -1
  140. package/lib/oidc/error.js +17 -17
  141. package/lib/oidc/error.js.map +1 -1
  142. package/lib/oidc/index.js +17 -17
  143. package/lib/oidc/index.js.map +1 -1
  144. package/lib/oidc/register.js +41 -41
  145. package/lib/oidc/register.js.map +1 -1
  146. package/lib/oidc/tokenRefresher.js +51 -51
  147. package/lib/oidc/tokenRefresher.js.map +1 -1
  148. package/lib/oidc/validate.js +59 -59
  149. package/lib/oidc/validate.js.map +1 -1
  150. package/lib/randomstring.js +35 -35
  151. package/lib/randomstring.js.map +1 -1
  152. package/lib/realtime-callbacks.js +39 -39
  153. package/lib/realtime-callbacks.js.map +1 -1
  154. package/lib/receipt-accumulator.js +44 -44
  155. package/lib/receipt-accumulator.js.map +1 -1
  156. package/lib/rendezvous/RendezvousChannel.js.map +1 -1
  157. package/lib/rendezvous/RendezvousCode.js.map +1 -1
  158. package/lib/rendezvous/RendezvousError.js +14 -14
  159. package/lib/rendezvous/RendezvousError.js.map +1 -1
  160. package/lib/rendezvous/RendezvousFailureReason.js +14 -14
  161. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
  162. package/lib/rendezvous/RendezvousIntent.js +14 -14
  163. package/lib/rendezvous/RendezvousIntent.js.map +1 -1
  164. package/lib/rendezvous/RendezvousTransport.js.map +1 -1
  165. package/lib/rendezvous/channels/MSC4108SecureChannel.js +63 -63
  166. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  167. package/lib/rendezvous/channels/index.js +14 -14
  168. package/lib/rendezvous/channels/index.js.map +1 -1
  169. package/lib/rendezvous/index.js +14 -14
  170. package/lib/rendezvous/index.js.map +1 -1
  171. package/lib/rendezvous/transports/index.js +14 -14
  172. package/lib/rendezvous/transports/index.js.map +1 -1
  173. package/lib/rust-crypto/CrossSigningIdentity.js +29 -29
  174. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
  175. package/lib/rust-crypto/OutgoingRequestsManager.js +37 -37
  176. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  177. package/lib/rust-crypto/device-converter.js +30 -30
  178. package/lib/rust-crypto/device-converter.js.map +1 -1
  179. package/lib/rust-crypto/secret-storage.js +30 -30
  180. package/lib/rust-crypto/secret-storage.js.map +1 -1
  181. package/lib/service-types.js +14 -14
  182. package/lib/service-types.js.map +1 -1
  183. package/lib/store/local-storage-events-emitter.js +21 -21
  184. package/lib/store/local-storage-events-emitter.js.map +1 -1
  185. package/lib/sync-accumulator.js +50 -50
  186. package/lib/sync-accumulator.js.map +1 -1
  187. package/lib/thread-utils.js +20 -20
  188. package/lib/thread-utils.js.map +1 -1
  189. package/lib/types.js +34 -34
  190. package/lib/types.js.map +1 -1
  191. package/lib/utils/decryptAESSecretStorageItem.js +22 -22
  192. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  193. package/lib/utils/encryptAESSecretStorageItem.js +26 -26
  194. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  195. package/lib/utils/internal/deriveKeys.js +21 -21
  196. package/lib/utils/internal/deriveKeys.js.map +1 -1
  197. package/lib/utils/roomVersion.js +26 -26
  198. package/lib/utils/roomVersion.js.map +1 -1
  199. package/lib/version-support.js +26 -26
  200. package/lib/version-support.js.map +1 -1
  201. package/lib/webrtc/audioContext.js +24 -24
  202. package/lib/webrtc/audioContext.js.map +1 -1
  203. package/lib/webrtc/callEventTypes.js.map +1 -1
  204. package/lib/webrtc/stats/callFeedStatsReporter.js +14 -14
  205. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
  206. package/lib/webrtc/stats/callStatsReportGatherer.js +14 -14
  207. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  208. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -1
  209. package/lib/webrtc/stats/connectionStats.js +14 -14
  210. package/lib/webrtc/stats/connectionStats.js.map +1 -1
  211. package/lib/webrtc/stats/connectionStatsBuilder.js +14 -14
  212. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
  213. package/lib/webrtc/stats/connectionStatsReportBuilder.js +14 -14
  214. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  215. package/lib/webrtc/stats/groupCallStats.js +14 -14
  216. package/lib/webrtc/stats/groupCallStats.js.map +1 -1
  217. package/lib/webrtc/stats/media/mediaSsrcHandler.js +14 -14
  218. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
  219. package/lib/webrtc/stats/media/mediaTrackHandler.js +14 -14
  220. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
  221. package/lib/webrtc/stats/media/mediaTrackStats.js +27 -27
  222. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  223. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +20 -20
  224. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  225. package/lib/webrtc/stats/statsReport.js +14 -14
  226. package/lib/webrtc/stats/statsReport.js.map +1 -1
  227. package/lib/webrtc/stats/statsReportEmitter.js +14 -14
  228. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
  229. package/lib/webrtc/stats/trackStatsBuilder.js +4 -4
  230. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
  231. package/lib/webrtc/stats/transportStats.js.map +1 -1
  232. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  233. package/lib/webrtc/stats/valueFormatter.js +11 -11
  234. package/lib/webrtc/stats/valueFormatter.js.map +1 -1
  235. package/lib/xrpl/identity.d.ts +28 -0
  236. package/lib/xrpl/identity.d.ts.map +1 -0
  237. package/lib/xrpl/identity.js +213 -0
  238. package/lib/xrpl/identity.js.map +1 -0
  239. package/lib/xrpl/trust.d.ts +8 -0
  240. package/lib/xrpl/trust.d.ts.map +1 -0
  241. package/lib/xrpl/trust.js +61 -0
  242. package/lib/xrpl/trust.js.map +1 -0
  243. package/lib/xrpl/verification.d.ts +26 -0
  244. package/lib/xrpl/verification.d.ts.map +1 -0
  245. package/lib/xrpl/verification.js +295 -0
  246. package/lib/xrpl/verification.js.map +1 -0
  247. package/package.json +128 -129
  248. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -29
  249. package/src/@types/IIdentityServerProvider.ts +24 -24
  250. package/src/@types/PushRules.ts +208 -208
  251. package/src/@types/another-json.d.ts +19 -19
  252. package/src/@types/auth.ts +280 -258
  253. package/src/@types/beacon.ts +140 -140
  254. package/src/@types/common.ts +24 -24
  255. package/src/@types/crypto.ts +71 -71
  256. package/src/@types/event.ts +476 -449
  257. package/src/@types/events.ts +119 -119
  258. package/src/@types/extensible_events.ts +147 -147
  259. package/src/@types/local_notifications.ts +19 -19
  260. package/src/@types/location.ts +92 -92
  261. package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -39
  262. package/src/@types/media.ts +245 -245
  263. package/src/@types/membership.ts +57 -57
  264. package/src/@types/partials.ts +103 -103
  265. package/src/@types/polls.ts +120 -120
  266. package/src/@types/read_receipts.ts +61 -61
  267. package/src/@types/registration.ts +102 -102
  268. package/src/@types/search.ts +119 -119
  269. package/src/@types/signed.ts +25 -25
  270. package/src/@types/spaces.ts +37 -37
  271. package/src/@types/state_events.ts +153 -153
  272. package/src/@types/synapse.ts +40 -40
  273. package/src/@types/sync.ts +27 -27
  274. package/src/@types/threepids.ts +29 -29
  275. package/src/@types/topic.ts +69 -69
  276. package/src/@types/uia.ts +24 -24
  277. package/src/NamespacedValue.ts +121 -121
  278. package/src/ReEmitter.ts +93 -93
  279. package/src/base64.ts +86 -86
  280. package/src/briij.ts +3 -0
  281. package/src/client.ts +90 -10
  282. package/src/common-crypto/README.md +4 -4
  283. package/src/common-crypto/key-passphrase.ts +43 -43
  284. package/src/content-helpers.ts +298 -298
  285. package/src/content-repo.ts +122 -122
  286. package/src/crypto/store/base.ts +388 -388
  287. package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -655
  288. package/src/crypto/store/indexeddb-crypto-store.ts +555 -555
  289. package/src/crypto/store/localStorage-crypto-store.ts +409 -409
  290. package/src/crypto/store/memory-crypto-store.ts +326 -326
  291. package/src/crypto-api/CryptoEventHandlerMap.ts +42 -42
  292. package/src/crypto-api/key-passphrase.ts +58 -58
  293. package/src/crypto-api/keybackup.ts +114 -114
  294. package/src/crypto-api/recovery-key.ts +69 -69
  295. package/src/digest.ts +34 -34
  296. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -58
  297. package/src/extensible_events_v1/InvalidEventError.ts +24 -24
  298. package/src/extensible_events_v1/MessageEvent.ts +143 -143
  299. package/src/extensible_events_v1/PollEndEvent.ts +97 -97
  300. package/src/extensible_events_v1/PollResponseEvent.ts +148 -148
  301. package/src/extensible_events_v1/PollStartEvent.ts +207 -207
  302. package/src/extensible_events_v1/utilities.ts +35 -35
  303. package/src/feature.ts +88 -88
  304. package/src/http-api/method.ts +25 -25
  305. package/src/http-api/prefix.ts +48 -48
  306. package/src/indexeddb-helpers.ts +50 -50
  307. package/src/indexeddb-worker.ts +24 -24
  308. package/src/matrixrtc/IKeyTransport.ts +63 -63
  309. package/src/matrixrtc/IMembershipManager.ts +120 -120
  310. package/src/matrixrtc/LivekitTransport.ts +46 -46
  311. package/src/matrixrtc/index.ts +24 -24
  312. package/src/matrixrtc/utils.ts +71 -71
  313. package/src/models/ToDeviceMessage.ts +38 -38
  314. package/src/models/device.ts +85 -85
  315. package/src/models/event-status.ts +39 -39
  316. package/src/models/invites-ignorer-types.ts +58 -58
  317. package/src/models/profile-keys.ts +33 -33
  318. package/src/models/room-summary.ts +78 -78
  319. package/src/models/search-result.ts +57 -57
  320. package/src/models/typed-event-emitter.ts +246 -246
  321. package/src/oidc/authorize.ts +279 -279
  322. package/src/oidc/error.ts +33 -33
  323. package/src/oidc/index.ts +33 -33
  324. package/src/oidc/register.ts +163 -163
  325. package/src/oidc/tokenRefresher.ts +184 -184
  326. package/src/oidc/validate.ts +265 -265
  327. package/src/randomstring.ts +103 -103
  328. package/src/realtime-callbacks.ts +191 -191
  329. package/src/receipt-accumulator.ts +189 -189
  330. package/src/rendezvous/RendezvousChannel.ts +48 -48
  331. package/src/rendezvous/RendezvousCode.ts +25 -25
  332. package/src/rendezvous/RendezvousError.ts +26 -26
  333. package/src/rendezvous/RendezvousFailureReason.ts +49 -49
  334. package/src/rendezvous/RendezvousIntent.ts +20 -20
  335. package/src/rendezvous/RendezvousTransport.ts +58 -58
  336. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -270
  337. package/src/rendezvous/channels/index.ts +17 -17
  338. package/src/rendezvous/index.ts +25 -25
  339. package/src/rendezvous/transports/index.ts +17 -17
  340. package/src/rust-crypto/CrossSigningIdentity.ts +195 -195
  341. package/src/rust-crypto/OutgoingRequestsManager.ts +170 -170
  342. package/src/rust-crypto/device-converter.ts +128 -128
  343. package/src/rust-crypto/secret-storage.ts +60 -60
  344. package/src/service-types.ts +20 -20
  345. package/src/store/local-storage-events-emitter.ts +46 -46
  346. package/src/sync-accumulator.ts +779 -779
  347. package/src/thread-utils.ts +31 -31
  348. package/src/types.ts +59 -59
  349. package/src/utils/decryptAESSecretStorageItem.ts +54 -54
  350. package/src/utils/encryptAESSecretStorageItem.ts +73 -73
  351. package/src/utils/internal/deriveKeys.ts +63 -63
  352. package/src/utils/roomVersion.ts +35 -35
  353. package/src/version-support.ts +50 -50
  354. package/src/webrtc/audioContext.ts +44 -44
  355. package/src/webrtc/callEventTypes.ts +101 -101
  356. package/src/webrtc/stats/callFeedStatsReporter.ts +91 -91
  357. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -219
  358. package/src/webrtc/stats/callStatsReportSummary.ts +30 -30
  359. package/src/webrtc/stats/connectionStats.ts +47 -47
  360. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -28
  361. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -140
  362. package/src/webrtc/stats/groupCallStats.ts +93 -93
  363. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -57
  364. package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -70
  365. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -176
  366. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -90
  367. package/src/webrtc/stats/statsReport.ts +133 -133
  368. package/src/webrtc/stats/statsReportEmitter.ts +49 -49
  369. package/src/webrtc/stats/trackStatsBuilder.ts +207 -207
  370. package/src/webrtc/stats/transportStats.ts +26 -26
  371. package/src/webrtc/stats/transportStatsBuilder.ts +48 -48
  372. package/src/webrtc/stats/valueFormatter.ts +27 -27
  373. package/src/xrpl/identity.ts +245 -0
  374. package/src/xrpl/trust.ts +64 -0
  375. package/src/xrpl/verification.ts +284 -0
@@ -0,0 +1,213 @@
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, NFTokenMintFlags } from "xrpl";
22
+ import { sha256 } from "../digest.js";
23
+ import { logger } from "../logger.js";
24
+ var XRPL_IDENTITY_ACCOUNT_DATA_TYPE = "io.textrp.xrpl.identity_nft";
25
+ var DEFAULT_XRPL_NETWORK = "testnet";
26
+ var DEFAULT_XRPL_TESTNET_WS = "wss://s.altnet.rippletest.net:51233";
27
+ var DEFAULT_XRPL_MAINNET_WS = "wss://s1.ripple.com";
28
+ var mintingConfig = {};
29
+ export function configureXrplIdentityMinting(config) {
30
+ mintingConfig = _objectSpread(_objectSpread({}, mintingConfig), config);
31
+ }
32
+ export function setXamanWalletForXrplIdentity(xamanWallet) {
33
+ mintingConfig = _objectSpread(_objectSpread({}, mintingConfig), {}, {
34
+ xamanWallet
35
+ });
36
+ }
37
+ export function mintSoulboundIdentityNFT(_x) {
38
+ return _mintSoulboundIdentityNFT.apply(this, arguments);
39
+ }
40
+ function _mintSoulboundIdentityNFT() {
41
+ _mintSoulboundIdentityNFT = _asyncToGenerator(function* (matrixUserId) {
42
+ var {
43
+ homeserverBaseUrl,
44
+ accessToken,
45
+ xamanWallet
46
+ } = mintingConfig;
47
+ if (!homeserverBaseUrl || !accessToken || !xamanWallet) {
48
+ logger.warn("Skipping XRPL identity mint for %s: missing homeserver auth and/or Xaman wallet adapter", matrixUserId);
49
+ return null;
50
+ }
51
+ var existing = yield getIdentityAccountData(homeserverBaseUrl, accessToken, matrixUserId);
52
+ if (existing !== null && existing !== void 0 && existing.nftTokenId && existing.xrplAddress) {
53
+ return _objectSpread(_objectSpread({}, existing), {}, {
54
+ minted: false
55
+ });
56
+ }
57
+ var xrplAddress = yield xamanWallet.getAddress();
58
+ var ipfsUri = yield buildIpfsUri(matrixUserId, xrplAddress);
59
+ var encodedUri = toHex(ipfsUri);
60
+ var xrplClient = new XrplClient(resolveXrplWebSocketUrl());
61
+ yield xrplClient.connect();
62
+ try {
63
+ var _extractNftTokenId, _txResult$result;
64
+ var mintTransaction = {
65
+ TransactionType: "NFTokenMint",
66
+ Account: xrplAddress,
67
+ NFTokenTaxon: 0,
68
+ URI: encodedUri,
69
+ Flags: NFTokenMintFlags.tfMutable | NFTokenMintFlags.tfBurnable
70
+ };
71
+ var autofilled = yield xrplClient.autofill(mintTransaction);
72
+ var {
73
+ hash: txHash
74
+ } = yield xamanWallet.signAndSubmit(autofilled);
75
+ var txResult = yield xrplClient.request({
76
+ command: "tx",
77
+ transaction: txHash
78
+ });
79
+ var nftTokenId = (_extractNftTokenId = extractNftTokenId((_txResult$result = txResult.result) === null || _txResult$result === void 0 ? void 0 : _txResult$result.meta)) !== null && _extractNftTokenId !== void 0 ? _extractNftTokenId : yield findAccountNftByUri(xrplClient, xrplAddress, encodedUri);
80
+ if (!nftTokenId) {
81
+ throw new Error("Unable to resolve NFTokenID for transaction ".concat(txHash));
82
+ }
83
+ var accountData = {
84
+ nftTokenId,
85
+ xrplAddress,
86
+ ipfsUri,
87
+ txHash,
88
+ mintedAt: new Date().toISOString()
89
+ };
90
+ yield setIdentityAccountData(homeserverBaseUrl, accessToken, matrixUserId, accountData);
91
+ return _objectSpread(_objectSpread({}, accountData), {}, {
92
+ minted: true
93
+ });
94
+ } finally {
95
+ yield xrplClient.disconnect().catch(() => undefined);
96
+ }
97
+ });
98
+ return _mintSoulboundIdentityNFT.apply(this, arguments);
99
+ }
100
+ function buildIpfsUri(_x2, _x3) {
101
+ return _buildIpfsUri.apply(this, arguments);
102
+ }
103
+ function _buildIpfsUri() {
104
+ _buildIpfsUri = _asyncToGenerator(function* (matrixUserId, xrplAddress) {
105
+ if (mintingConfig.ipfsUriFactory) {
106
+ return yield mintingConfig.ipfsUriFactory(matrixUserId, xrplAddress);
107
+ }
108
+ var payload = JSON.stringify({
109
+ matrixUserId,
110
+ xrplAddress
111
+ });
112
+ var digest = yield sha256(payload);
113
+ return "ipfs://textrp-briij/".concat(toHex(digest).slice(0, 46));
114
+ });
115
+ return _buildIpfsUri.apply(this, arguments);
116
+ }
117
+ function resolveXrplWebSocketUrl() {
118
+ var _mintingConfig$networ;
119
+ if (mintingConfig.websocketUrl) return mintingConfig.websocketUrl;
120
+ var network = (_mintingConfig$networ = mintingConfig.network) !== null && _mintingConfig$networ !== void 0 ? _mintingConfig$networ : DEFAULT_XRPL_NETWORK;
121
+ return network === "mainnet" ? DEFAULT_XRPL_MAINNET_WS : DEFAULT_XRPL_TESTNET_WS;
122
+ }
123
+ function accountDataUrl(baseUrl, matrixUserId) {
124
+ var trimmedBaseUrl = baseUrl.replace(/\/+$/, "");
125
+ return "".concat(trimmedBaseUrl, "/_matrix/client/v3/user/").concat(encodeURIComponent(matrixUserId), "/account_data/").concat(encodeURIComponent(XRPL_IDENTITY_ACCOUNT_DATA_TYPE));
126
+ }
127
+ function getIdentityAccountData(_x4, _x5, _x6) {
128
+ return _getIdentityAccountData.apply(this, arguments);
129
+ }
130
+ function _getIdentityAccountData() {
131
+ _getIdentityAccountData = _asyncToGenerator(function* (homeserverBaseUrl, accessToken, matrixUserId) {
132
+ var response = yield fetch(accountDataUrl(homeserverBaseUrl, matrixUserId), {
133
+ method: "GET",
134
+ headers: {
135
+ Authorization: "Bearer ".concat(accessToken),
136
+ "Content-Type": "application/json"
137
+ }
138
+ });
139
+ if (response.status === 404) return null;
140
+ if (!response.ok) {
141
+ throw new Error("Failed to read XRPL identity account_data: HTTP ".concat(response.status));
142
+ }
143
+ return yield response.json();
144
+ });
145
+ return _getIdentityAccountData.apply(this, arguments);
146
+ }
147
+ function setIdentityAccountData(_x7, _x8, _x9, _x0) {
148
+ return _setIdentityAccountData.apply(this, arguments);
149
+ }
150
+ function _setIdentityAccountData() {
151
+ _setIdentityAccountData = _asyncToGenerator(function* (homeserverBaseUrl, accessToken, matrixUserId, payload) {
152
+ var response = yield fetch(accountDataUrl(homeserverBaseUrl, matrixUserId), {
153
+ method: "PUT",
154
+ headers: {
155
+ Authorization: "Bearer ".concat(accessToken),
156
+ "Content-Type": "application/json"
157
+ },
158
+ body: JSON.stringify(payload)
159
+ });
160
+ if (!response.ok) {
161
+ throw new Error("Failed to persist XRPL identity account_data: HTTP ".concat(response.status));
162
+ }
163
+ });
164
+ return _setIdentityAccountData.apply(this, arguments);
165
+ }
166
+ function findAccountNftByUri(_x1, _x10, _x11) {
167
+ return _findAccountNftByUri.apply(this, arguments);
168
+ }
169
+ function _findAccountNftByUri() {
170
+ _findAccountNftByUri = _asyncToGenerator(function* (xrplClient, xrplAddress, encodedUri) {
171
+ var _response$result, _nft$NFTokenID;
172
+ var response = yield xrplClient.request({
173
+ command: "account_nfts",
174
+ account: xrplAddress
175
+ });
176
+ var targetUri = encodedUri.toUpperCase();
177
+ var nft = (_response$result = response.result) === null || _response$result === void 0 || (_response$result = _response$result.account_nfts) === null || _response$result === void 0 ? void 0 : _response$result.find(candidate => {
178
+ var _candidate$URI;
179
+ return ((_candidate$URI = candidate.URI) === null || _candidate$URI === void 0 ? void 0 : _candidate$URI.toUpperCase()) === targetUri;
180
+ });
181
+ return (_nft$NFTokenID = nft === null || nft === void 0 ? void 0 : nft.NFTokenID) !== null && _nft$NFTokenID !== void 0 ? _nft$NFTokenID : null;
182
+ });
183
+ return _findAccountNftByUri.apply(this, arguments);
184
+ }
185
+ function extractNftTokenId(meta) {
186
+ var _AffectedNodes;
187
+ if (!meta || typeof meta !== "object") return null;
188
+ var affectedNodes = (_AffectedNodes = meta.AffectedNodes) !== null && _AffectedNodes !== void 0 ? _AffectedNodes : [];
189
+ for (var nodeWrapper of affectedNodes) {
190
+ var _tokensContainer$NFTo;
191
+ if (!nodeWrapper || typeof nodeWrapper !== "object") continue;
192
+ var [nodeValue] = Object.values(nodeWrapper);
193
+ if (!nodeValue || typeof nodeValue !== "object") continue;
194
+ var newFields = nodeValue.NewFields;
195
+ var finalFields = nodeValue.FinalFields;
196
+ var tokensContainer = [newFields, finalFields].find(container => {
197
+ if (!container || typeof container !== "object") return false;
198
+ return Array.isArray(container.NFTokens);
199
+ });
200
+ var nftokens = (_tokensContainer$NFTo = tokensContainer === null || tokensContainer === void 0 ? void 0 : tokensContainer.NFTokens) !== null && _tokensContainer$NFTo !== void 0 ? _tokensContainer$NFTo : [];
201
+ for (var tokenEntry of nftokens) {
202
+ if (!tokenEntry || typeof tokenEntry !== "object") continue;
203
+ var token = tokenEntry.NFToken;
204
+ if (token !== null && token !== void 0 && token.NFTokenID) return token.NFTokenID;
205
+ }
206
+ }
207
+ return null;
208
+ }
209
+ function toHex(input) {
210
+ var bytes = typeof input === "string" ? new TextEncoder().encode(input) : input;
211
+ return Array.from(bytes).map(value => value.toString(16).padStart(2, "0")).join("").toUpperCase();
212
+ }
213
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","names":["Client","XrplClient","NFTokenMintFlags","sha256","logger","XRPL_IDENTITY_ACCOUNT_DATA_TYPE","DEFAULT_XRPL_NETWORK","DEFAULT_XRPL_TESTNET_WS","DEFAULT_XRPL_MAINNET_WS","mintingConfig","configureXrplIdentityMinting","config","_objectSpread","setXamanWalletForXrplIdentity","xamanWallet","mintSoulboundIdentityNFT","_x","_mintSoulboundIdentityNFT","apply","arguments","_asyncToGenerator","matrixUserId","homeserverBaseUrl","accessToken","warn","existing","getIdentityAccountData","nftTokenId","xrplAddress","minted","getAddress","ipfsUri","buildIpfsUri","encodedUri","toHex","xrplClient","resolveXrplWebSocketUrl","connect","_extractNftTokenId","_txResult$result","mintTransaction","TransactionType","Account","NFTokenTaxon","URI","Flags","tfMutable","tfBurnable","autofilled","autofill","hash","txHash","signAndSubmit","txResult","request","command","transaction","extractNftTokenId","result","meta","findAccountNftByUri","Error","concat","accountData","mintedAt","Date","toISOString","setIdentityAccountData","disconnect","catch","undefined","_x2","_x3","_buildIpfsUri","ipfsUriFactory","payload","JSON","stringify","digest","slice","_mintingConfig$networ","websocketUrl","network","accountDataUrl","baseUrl","trimmedBaseUrl","replace","encodeURIComponent","_x4","_x5","_x6","_getIdentityAccountData","response","fetch","method","headers","Authorization","status","ok","json","_x7","_x8","_x9","_x0","_setIdentityAccountData","body","_x1","_x10","_x11","_findAccountNftByUri","_response$result","_nft$NFTokenID","account","targetUri","toUpperCase","nft","account_nfts","find","candidate","_candidate$URI","NFTokenID","_AffectedNodes","affectedNodes","AffectedNodes","nodeWrapper","_tokensContainer$NFTo","nodeValue","Object","values","newFields","NewFields","finalFields","FinalFields","tokensContainer","container","Array","isArray","NFTokens","nftokens","tokenEntry","token","NFToken","input","bytes","TextEncoder","encode","from","map","value","toString","padStart","join"],"sources":["../../src/xrpl/identity.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, NFTokenMintFlags, type NFTokenMint } from \"xrpl\";\n\nimport { sha256 } from \"../digest.ts\";\nimport { logger } from \"../logger.ts\";\n\nconst XRPL_IDENTITY_ACCOUNT_DATA_TYPE = \"io.textrp.xrpl.identity_nft\";\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 XrplIdentityAccountData {\n nftTokenId: string;\n xrplAddress: string;\n ipfsUri: string;\n txHash: string;\n mintedAt: string;\n}\n\nexport interface XamanWalletAdapter {\n getAddress(): Promise<string>;\n signAndSubmit(tx: Record<string, unknown>): Promise<{ hash: string }>;\n}\n\nexport interface XrplIdentityMintingConfig {\n homeserverBaseUrl: string;\n accessToken: string;\n websocketUrl?: string;\n network?: \"mainnet\" | \"testnet\";\n xamanWallet: XamanWalletAdapter;\n ipfsUriFactory?: (matrixUserId: string, xrplAddress: string) => Promise<string> | string;\n}\n\nexport interface XrplIdentityMintResult extends XrplIdentityAccountData {\n minted: boolean;\n}\n\nlet mintingConfig: Partial<XrplIdentityMintingConfig> = {};\n\nexport function configureXrplIdentityMinting(config: Partial<XrplIdentityMintingConfig>): void {\n mintingConfig = {\n ...mintingConfig,\n ...config,\n };\n}\n\nexport function setXamanWalletForXrplIdentity(xamanWallet: XamanWalletAdapter): void {\n mintingConfig = {\n ...mintingConfig,\n xamanWallet,\n };\n}\n\nexport async function mintSoulboundIdentityNFT(matrixUserId: string): Promise<XrplIdentityMintResult | null> {\n const { homeserverBaseUrl, accessToken, xamanWallet } = mintingConfig;\n if (!homeserverBaseUrl || !accessToken || !xamanWallet) {\n logger.warn(\n \"Skipping XRPL identity mint for %s: missing homeserver auth and/or Xaman wallet adapter\",\n matrixUserId,\n );\n return null;\n }\n\n const existing = await getIdentityAccountData(homeserverBaseUrl, accessToken, matrixUserId);\n if (existing?.nftTokenId && existing.xrplAddress) {\n return {\n ...existing,\n minted: false,\n };\n }\n\n const xrplAddress = await xamanWallet.getAddress();\n const ipfsUri = await buildIpfsUri(matrixUserId, xrplAddress);\n const encodedUri = toHex(ipfsUri);\n\n const xrplClient = new XrplClient(resolveXrplWebSocketUrl());\n await xrplClient.connect();\n\n try {\n const mintTransaction: NFTokenMint = {\n TransactionType: \"NFTokenMint\",\n Account: xrplAddress,\n NFTokenTaxon: 0,\n URI: encodedUri,\n Flags: NFTokenMintFlags.tfMutable | NFTokenMintFlags.tfBurnable,\n };\n\n const autofilled = await xrplClient.autofill(mintTransaction);\n const { hash: txHash } = await xamanWallet.signAndSubmit(autofilled as unknown as Record<string, unknown>);\n const txResult = await xrplClient.request({\n command: \"tx\",\n transaction: txHash,\n });\n\n const nftTokenId =\n extractNftTokenId(txResult.result?.meta) ??\n (await findAccountNftByUri(xrplClient, xrplAddress, encodedUri));\n if (!nftTokenId) {\n throw new Error(`Unable to resolve NFTokenID for transaction ${txHash}`);\n }\n\n const accountData: XrplIdentityAccountData = {\n nftTokenId,\n xrplAddress,\n ipfsUri,\n txHash,\n mintedAt: new Date().toISOString(),\n };\n\n await setIdentityAccountData(homeserverBaseUrl, accessToken, matrixUserId, accountData);\n\n return {\n ...accountData,\n minted: true,\n };\n } finally {\n await xrplClient.disconnect().catch(() => undefined);\n }\n}\n\nasync function buildIpfsUri(matrixUserId: string, xrplAddress: string): Promise<string> {\n if (mintingConfig.ipfsUriFactory) {\n return await mintingConfig.ipfsUriFactory(matrixUserId, xrplAddress);\n }\n\n const payload = JSON.stringify({ matrixUserId, xrplAddress });\n const digest = await sha256(payload);\n return `ipfs://textrp-briij/${toHex(digest).slice(0, 46)}`;\n}\n\nfunction resolveXrplWebSocketUrl(): string {\n if (mintingConfig.websocketUrl) return mintingConfig.websocketUrl;\n const network = mintingConfig.network ?? DEFAULT_XRPL_NETWORK;\n return network === \"mainnet\" ? DEFAULT_XRPL_MAINNET_WS : DEFAULT_XRPL_TESTNET_WS;\n}\n\nfunction accountDataUrl(baseUrl: string, matrixUserId: string): string {\n const trimmedBaseUrl = baseUrl.replace(/\\/+$/, \"\");\n return `${trimmedBaseUrl}/_matrix/client/v3/user/${encodeURIComponent(matrixUserId)}/account_data/${encodeURIComponent(XRPL_IDENTITY_ACCOUNT_DATA_TYPE)}`;\n}\n\nasync function getIdentityAccountData(\n homeserverBaseUrl: string,\n accessToken: string,\n matrixUserId: string,\n): Promise<XrplIdentityAccountData | null> {\n const response = await fetch(accountDataUrl(homeserverBaseUrl, matrixUserId), {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (response.status === 404) return null;\n if (!response.ok) {\n throw new Error(`Failed to read XRPL identity account_data: HTTP ${response.status}`);\n }\n\n return (await response.json()) as XrplIdentityAccountData;\n}\n\nasync function setIdentityAccountData(\n homeserverBaseUrl: string,\n accessToken: string,\n matrixUserId: string,\n payload: XrplIdentityAccountData,\n): Promise<void> {\n const response = await fetch(accountDataUrl(homeserverBaseUrl, matrixUserId), {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(payload),\n });\n\n if (!response.ok) {\n throw new Error(`Failed to persist XRPL identity account_data: HTTP ${response.status}`);\n }\n}\n\nasync function findAccountNftByUri(xrplClient: XrplClient, xrplAddress: string, encodedUri: string): Promise<string | null> {\n const response = await xrplClient.request({\n command: \"account_nfts\",\n account: xrplAddress,\n });\n\n const targetUri = encodedUri.toUpperCase();\n const nft = response.result?.account_nfts?.find((candidate: { URI?: string }) => {\n return candidate.URI?.toUpperCase() === targetUri;\n }) as { NFTokenID?: string } | undefined;\n\n return nft?.NFTokenID ?? null;\n}\n\nfunction extractNftTokenId(meta: unknown): string | null {\n if (!meta || typeof meta !== \"object\") return null;\n const affectedNodes = (meta as { AffectedNodes?: unknown[] }).AffectedNodes ?? [];\n\n for (const nodeWrapper of affectedNodes) {\n if (!nodeWrapper || typeof nodeWrapper !== \"object\") continue;\n const [nodeValue] = Object.values(nodeWrapper as Record<string, unknown>);\n if (!nodeValue || typeof nodeValue !== \"object\") continue;\n\n const newFields = (nodeValue as { NewFields?: unknown }).NewFields;\n const finalFields = (nodeValue as { FinalFields?: unknown }).FinalFields;\n const tokensContainer = [newFields, finalFields].find((container) => {\n if (!container || typeof container !== \"object\") return false;\n return Array.isArray((container as { NFTokens?: unknown[] }).NFTokens);\n }) as { NFTokens?: unknown[] } | undefined;\n\n const nftokens = tokensContainer?.NFTokens ?? [];\n for (const tokenEntry of nftokens) {\n if (!tokenEntry || typeof tokenEntry !== \"object\") continue;\n const token = (tokenEntry as { NFToken?: { NFTokenID?: string } }).NFToken;\n if (token?.NFTokenID) return token.NFTokenID;\n }\n }\n\n return null;\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"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,IAAIC,UAAU,EAAEC,gBAAgB,QAA0B,MAAM;AAE/E,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,MAAM,QAAQ,cAAc;AAErC,IAAMC,+BAA+B,GAAG,6BAA6B;AACrE,IAAMC,oBAAoB,GAAG,SAAS;AACtC,IAAMC,uBAAuB,GAAG,qCAAqC;AACrE,IAAMC,uBAAuB,GAAG,qBAAqB;AA4BrD,IAAIC,aAAiD,GAAG,CAAC,CAAC;AAE1D,OAAO,SAASC,4BAA4BA,CAACC,MAA0C,EAAQ;EAC3FF,aAAa,GAAAG,aAAA,CAAAA,aAAA,KACNH,aAAa,GACbE,MAAM,CACZ;AACL;AAEA,OAAO,SAASE,6BAA6BA,CAACC,WAA+B,EAAQ;EACjFL,aAAa,GAAAG,aAAA,CAAAA,aAAA,KACNH,aAAa;IAChBK;EAAW,EACd;AACL;AAEA,gBAAsBC,wBAAwBA,CAAAC,EAAA;EAAA,OAAAC,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAiE7C,SAAAF,0BAAA;EAAAA,yBAAA,GAAAG,iBAAA,CAjEM,WAAwCC,YAAoB,EAA0C;IACzG,IAAM;MAAEC,iBAAiB;MAAEC,WAAW;MAAET;IAAY,CAAC,GAAGL,aAAa;IACrE,IAAI,CAACa,iBAAiB,IAAI,CAACC,WAAW,IAAI,CAACT,WAAW,EAAE;MACpDV,MAAM,CAACoB,IAAI,CACP,yFAAyF,EACzFH,YACJ,CAAC;MACD,OAAO,IAAI;IACf;IAEA,IAAMI,QAAQ,SAASC,sBAAsB,CAACJ,iBAAiB,EAAEC,WAAW,EAAEF,YAAY,CAAC;IAC3F,IAAII,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEE,UAAU,IAAIF,QAAQ,CAACG,WAAW,EAAE;MAC9C,OAAAhB,aAAA,CAAAA,aAAA,KACOa,QAAQ;QACXI,MAAM,EAAE;MAAK;IAErB;IAEA,IAAMD,WAAW,SAASd,WAAW,CAACgB,UAAU,CAAC,CAAC;IAClD,IAAMC,OAAO,SAASC,YAAY,CAACX,YAAY,EAAEO,WAAW,CAAC;IAC7D,IAAMK,UAAU,GAAGC,KAAK,CAACH,OAAO,CAAC;IAEjC,IAAMI,UAAU,GAAG,IAAIlC,UAAU,CAACmC,uBAAuB,CAAC,CAAC,CAAC;IAC5D,MAAMD,UAAU,CAACE,OAAO,CAAC,CAAC;IAE1B,IAAI;MAAA,IAAAC,kBAAA,EAAAC,gBAAA;MACA,IAAMC,eAA4B,GAAG;QACjCC,eAAe,EAAE,aAAa;QAC9BC,OAAO,EAAEd,WAAW;QACpBe,YAAY,EAAE,CAAC;QACfC,GAAG,EAAEX,UAAU;QACfY,KAAK,EAAE3C,gBAAgB,CAAC4C,SAAS,GAAG5C,gBAAgB,CAAC6C;MACzD,CAAC;MAED,IAAMC,UAAU,SAASb,UAAU,CAACc,QAAQ,CAACT,eAAe,CAAC;MAC7D,IAAM;QAAEU,IAAI,EAAEC;MAAO,CAAC,SAASrC,WAAW,CAACsC,aAAa,CAACJ,UAAgD,CAAC;MAC1G,IAAMK,QAAQ,SAASlB,UAAU,CAACmB,OAAO,CAAC;QACtCC,OAAO,EAAE,IAAI;QACbC,WAAW,EAAEL;MACjB,CAAC,CAAC;MAEF,IAAMxB,UAAU,IAAAW,kBAAA,GACZmB,iBAAiB,EAAAlB,gBAAA,GAACc,QAAQ,CAACK,MAAM,cAAAnB,gBAAA,uBAAfA,gBAAA,CAAiBoB,IAAI,CAAC,cAAArB,kBAAA,cAAAA,kBAAA,SACjCsB,mBAAmB,CAACzB,UAAU,EAAEP,WAAW,EAAEK,UAAU,CAAE;MACpE,IAAI,CAACN,UAAU,EAAE;QACb,MAAM,IAAIkC,KAAK,gDAAAC,MAAA,CAAgDX,MAAM,CAAE,CAAC;MAC5E;MAEA,IAAMY,WAAoC,GAAG;QACzCpC,UAAU;QACVC,WAAW;QACXG,OAAO;QACPoB,MAAM;QACNa,QAAQ,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;MACrC,CAAC;MAED,MAAMC,sBAAsB,CAAC7C,iBAAiB,EAAEC,WAAW,EAAEF,YAAY,EAAE0C,WAAW,CAAC;MAEvF,OAAAnD,aAAA,CAAAA,aAAA,KACOmD,WAAW;QACdlC,MAAM,EAAE;MAAI;IAEpB,CAAC,SAAS;MACN,MAAMM,UAAU,CAACiC,UAAU,CAAC,CAAC,CAACC,KAAK,CAAC,MAAMC,SAAS,CAAC;IACxD;EACJ,CAAC;EAAA,OAAArD,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEca,YAAYA,CAAAuC,GAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAvD,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAsD,cAAA;EAAAA,aAAA,GAAArD,iBAAA,CAA3B,WAA4BC,YAAoB,EAAEO,WAAmB,EAAmB;IACpF,IAAInB,aAAa,CAACiE,cAAc,EAAE;MAC9B,aAAajE,aAAa,CAACiE,cAAc,CAACrD,YAAY,EAAEO,WAAW,CAAC;IACxE;IAEA,IAAM+C,OAAO,GAAGC,IAAI,CAACC,SAAS,CAAC;MAAExD,YAAY;MAAEO;IAAY,CAAC,CAAC;IAC7D,IAAMkD,MAAM,SAAS3E,MAAM,CAACwE,OAAO,CAAC;IACpC,8BAAAb,MAAA,CAA8B5B,KAAK,CAAC4C,MAAM,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAC5D,CAAC;EAAA,OAAAN,aAAA,CAAAvD,KAAA,OAAAC,SAAA;AAAA;AAED,SAASiB,uBAAuBA,CAAA,EAAW;EAAA,IAAA4C,qBAAA;EACvC,IAAIvE,aAAa,CAACwE,YAAY,EAAE,OAAOxE,aAAa,CAACwE,YAAY;EACjE,IAAMC,OAAO,IAAAF,qBAAA,GAAGvE,aAAa,CAACyE,OAAO,cAAAF,qBAAA,cAAAA,qBAAA,GAAI1E,oBAAoB;EAC7D,OAAO4E,OAAO,KAAK,SAAS,GAAG1E,uBAAuB,GAAGD,uBAAuB;AACpF;AAEA,SAAS4E,cAAcA,CAACC,OAAe,EAAE/D,YAAoB,EAAU;EACnE,IAAMgE,cAAc,GAAGD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAClD,UAAAxB,MAAA,CAAUuB,cAAc,8BAAAvB,MAAA,CAA2ByB,kBAAkB,CAAClE,YAAY,CAAC,oBAAAyC,MAAA,CAAiByB,kBAAkB,CAAClF,+BAA+B,CAAC;AAC3J;AAAC,SAEcqB,sBAAsBA,CAAA8D,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAAzE,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAwE,wBAAA;EAAAA,uBAAA,GAAAvE,iBAAA,CAArC,WACIE,iBAAyB,EACzBC,WAAmB,EACnBF,YAAoB,EACmB;IACvC,IAAMuE,QAAQ,SAASC,KAAK,CAACV,cAAc,CAAC7D,iBAAiB,EAAED,YAAY,CAAC,EAAE;MAC1EyE,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE;QACLC,aAAa,YAAAlC,MAAA,CAAYvC,WAAW,CAAE;QACtC,cAAc,EAAE;MACpB;IACJ,CAAC,CAAC;IAEF,IAAIqE,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI;IACxC,IAAI,CAACL,QAAQ,CAACM,EAAE,EAAE;MACd,MAAM,IAAIrC,KAAK,oDAAAC,MAAA,CAAoD8B,QAAQ,CAACK,MAAM,CAAE,CAAC;IACzF;IAEA,aAAcL,QAAQ,CAACO,IAAI,CAAC,CAAC;EACjC,CAAC;EAAA,OAAAR,uBAAA,CAAAzE,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEcgD,sBAAsBA,CAAAiC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAAtF,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAqF,wBAAA;EAAAA,uBAAA,GAAApF,iBAAA,CAArC,WACIE,iBAAyB,EACzBC,WAAmB,EACnBF,YAAoB,EACpBsD,OAAgC,EACnB;IACb,IAAMiB,QAAQ,SAASC,KAAK,CAACV,cAAc,CAAC7D,iBAAiB,EAAED,YAAY,CAAC,EAAE;MAC1EyE,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE;QACLC,aAAa,YAAAlC,MAAA,CAAYvC,WAAW,CAAE;QACtC,cAAc,EAAE;MACpB,CAAC;MACDkF,IAAI,EAAE7B,IAAI,CAACC,SAAS,CAACF,OAAO;IAChC,CAAC,CAAC;IAEF,IAAI,CAACiB,QAAQ,CAACM,EAAE,EAAE;MACd,MAAM,IAAIrC,KAAK,uDAAAC,MAAA,CAAuD8B,QAAQ,CAACK,MAAM,CAAE,CAAC;IAC5F;EACJ,CAAC;EAAA,OAAAO,uBAAA,CAAAtF,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEcyC,mBAAmBA,CAAA8C,GAAA,EAAAC,IAAA,EAAAC,IAAA;EAAA,OAAAC,oBAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAA0F,qBAAA;EAAAA,oBAAA,GAAAzF,iBAAA,CAAlC,WAAmCe,UAAsB,EAAEP,WAAmB,EAAEK,UAAkB,EAA0B;IAAA,IAAA6E,gBAAA,EAAAC,cAAA;IACxH,IAAMnB,QAAQ,SAASzD,UAAU,CAACmB,OAAO,CAAC;MACtCC,OAAO,EAAE,cAAc;MACvByD,OAAO,EAAEpF;IACb,CAAC,CAAC;IAEF,IAAMqF,SAAS,GAAGhF,UAAU,CAACiF,WAAW,CAAC,CAAC;IAC1C,IAAMC,GAAG,IAAAL,gBAAA,GAAGlB,QAAQ,CAAClC,MAAM,cAAAoD,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBM,YAAY,cAAAN,gBAAA,uBAA7BA,gBAAA,CAA+BO,IAAI,CAAEC,SAA2B,IAAK;MAAA,IAAAC,cAAA;MAC7E,OAAO,EAAAA,cAAA,GAAAD,SAAS,CAAC1E,GAAG,cAAA2E,cAAA,uBAAbA,cAAA,CAAeL,WAAW,CAAC,CAAC,MAAKD,SAAS;IACrD,CAAC,CAAuC;IAExC,QAAAF,cAAA,GAAOI,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEK,SAAS,cAAAT,cAAA,cAAAA,cAAA,GAAI,IAAI;EACjC,CAAC;EAAA,OAAAF,oBAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;AAED,SAASsC,iBAAiBA,CAACE,IAAa,EAAiB;EAAA,IAAA8D,cAAA;EACrD,IAAI,CAAC9D,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI;EAClD,IAAM+D,aAAa,IAAAD,cAAA,GAAI9D,IAAI,CAAmCgE,aAAa,cAAAF,cAAA,cAAAA,cAAA,GAAI,EAAE;EAEjF,KAAK,IAAMG,WAAW,IAAIF,aAAa,EAAE;IAAA,IAAAG,qBAAA;IACrC,IAAI,CAACD,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;IACrD,IAAM,CAACE,SAAS,CAAC,GAAGC,MAAM,CAACC,MAAM,CAACJ,WAAsC,CAAC;IACzE,IAAI,CAACE,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;IAEjD,IAAMG,SAAS,GAAIH,SAAS,CAA6BI,SAAS;IAClE,IAAMC,WAAW,GAAIL,SAAS,CAA+BM,WAAW;IACxE,IAAMC,eAAe,GAAG,CAACJ,SAAS,EAAEE,WAAW,CAAC,CAACd,IAAI,CAAEiB,SAAS,IAAK;MACjE,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE,OAAO,KAAK;MAC7D,OAAOC,KAAK,CAACC,OAAO,CAAEF,SAAS,CAA8BG,QAAQ,CAAC;IAC1E,CAAC,CAAyC;IAE1C,IAAMC,QAAQ,IAAAb,qBAAA,GAAGQ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEI,QAAQ,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAChD,KAAK,IAAMc,UAAU,IAAID,QAAQ,EAAE;MAC/B,IAAI,CAACC,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;MACnD,IAAMC,KAAK,GAAID,UAAU,CAA0CE,OAAO;MAC1E,IAAID,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEpB,SAAS,EAAE,OAAOoB,KAAK,CAACpB,SAAS;IAChD;EACJ;EAEA,OAAO,IAAI;AACf;AAEA,SAAStF,KAAKA,CAAC4G,KAA0B,EAAU;EAC/C,IAAMC,KAAK,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAG,IAAIE,WAAW,CAAC,CAAC,CAACC,MAAM,CAACH,KAAK,CAAC,GAAGA,KAAK;EACjF,OAAOP,KAAK,CAACW,IAAI,CAACH,KAAK,CAAC,CACnBI,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CACnDC,IAAI,CAAC,EAAE,CAAC,CACRrC,WAAW,CAAC,CAAC;AACtB","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ export interface XrplTrustConfig {
2
+ homeserverBaseUrl: string;
3
+ accessToken: string;
4
+ trustPath?: string;
5
+ }
6
+ export declare function configureXrplTrust(config: Partial<XrplTrustConfig>): void;
7
+ export declare function getTrustScore(payer: string, payee: string): Promise<number>;
8
+ //# sourceMappingURL=trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/xrpl/trust.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAKzE;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BjF"}
@@ -0,0 +1,61 @@
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
+ var DEFAULT_TRUST_PATH = "/_matrix/client/v3/org.textrp.xrpl/trust";
22
+ var xrplTrustConfig = {};
23
+ export function configureXrplTrust(config) {
24
+ xrplTrustConfig = _objectSpread(_objectSpread({}, xrplTrustConfig), config);
25
+ }
26
+ export function getTrustScore(_x, _x2) {
27
+ return _getTrustScore.apply(this, arguments);
28
+ }
29
+ function _getTrustScore() {
30
+ _getTrustScore = _asyncToGenerator(function* (payer, payee) {
31
+ var _xrplTrustConfig$trus;
32
+ var homeserverBaseUrl = xrplTrustConfig.homeserverBaseUrl;
33
+ var accessToken = xrplTrustConfig.accessToken;
34
+ if (!homeserverBaseUrl || !accessToken) {
35
+ throw new Error("XRPL trust config is incomplete");
36
+ }
37
+ var trimmedBaseUrl = homeserverBaseUrl.replace(/\/+$/, "");
38
+ var trustPath = (_xrplTrustConfig$trus = xrplTrustConfig.trustPath) !== null && _xrplTrustConfig$trus !== void 0 ? _xrplTrustConfig$trus : DEFAULT_TRUST_PATH;
39
+ var query = new URLSearchParams({
40
+ payer,
41
+ payee
42
+ });
43
+ var response = yield fetch("".concat(trimmedBaseUrl).concat(trustPath, "?").concat(query.toString()), {
44
+ method: "GET",
45
+ headers: {
46
+ Authorization: "Bearer ".concat(accessToken),
47
+ "Content-Type": "application/json"
48
+ }
49
+ });
50
+ if (!response.ok) {
51
+ throw new Error("Failed to fetch trust score: HTTP ".concat(response.status));
52
+ }
53
+ var payload = yield response.json();
54
+ if (typeof payload.score === "number") {
55
+ return payload.score;
56
+ }
57
+ return payload.trusted ? 1 : 0;
58
+ });
59
+ return _getTrustScore.apply(this, arguments);
60
+ }
61
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","names":["DEFAULT_TRUST_PATH","xrplTrustConfig","configureXrplTrust","config","_objectSpread","getTrustScore","_x","_x2","_getTrustScore","apply","arguments","_asyncToGenerator","payer","payee","_xrplTrustConfig$trus","homeserverBaseUrl","accessToken","Error","trimmedBaseUrl","replace","trustPath","query","URLSearchParams","response","fetch","concat","toString","method","headers","Authorization","ok","status","payload","json","score","trusted"],"sources":["../../src/xrpl/trust.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\nconst DEFAULT_TRUST_PATH = \"/_matrix/client/v3/org.textrp.xrpl/trust\";\n\nexport interface XrplTrustConfig {\n homeserverBaseUrl: string;\n accessToken: string;\n trustPath?: string;\n}\n\nlet xrplTrustConfig: Partial<XrplTrustConfig> = {};\n\nexport function configureXrplTrust(config: Partial<XrplTrustConfig>): void {\n xrplTrustConfig = {\n ...xrplTrustConfig,\n ...config,\n };\n}\n\nexport async function getTrustScore(payer: string, payee: string): Promise<number> {\n const homeserverBaseUrl = xrplTrustConfig.homeserverBaseUrl;\n const accessToken = xrplTrustConfig.accessToken;\n if (!homeserverBaseUrl || !accessToken) {\n throw new Error(\"XRPL trust config is incomplete\");\n }\n\n const trimmedBaseUrl = homeserverBaseUrl.replace(/\\/+$/, \"\");\n const trustPath = xrplTrustConfig.trustPath ?? DEFAULT_TRUST_PATH;\n const query = new URLSearchParams({\n payer,\n payee,\n });\n const response = await fetch(`${trimmedBaseUrl}${trustPath}?${query.toString()}`, {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch trust score: HTTP ${response.status}`);\n }\n\n const payload = (await response.json()) as { score?: number; trusted?: boolean };\n if (typeof payload.score === \"number\") {\n return payload.score;\n }\n return payload.trusted ? 1 : 0;\n}\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,kBAAkB,GAAG,0CAA0C;AAQrE,IAAIC,eAAyC,GAAG,CAAC,CAAC;AAElD,OAAO,SAASC,kBAAkBA,CAACC,MAAgC,EAAQ;EACvEF,eAAe,GAAAG,aAAA,CAAAA,aAAA,KACRH,eAAe,GACfE,MAAM,CACZ;AACL;AAEA,gBAAsBE,aAAaA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA8BlC,SAAAF,eAAA;EAAAA,cAAA,GAAAG,iBAAA,CA9BM,WAA6BC,KAAa,EAAEC,KAAa,EAAmB;IAAA,IAAAC,qBAAA;IAC/E,IAAMC,iBAAiB,GAAGd,eAAe,CAACc,iBAAiB;IAC3D,IAAMC,WAAW,GAAGf,eAAe,CAACe,WAAW;IAC/C,IAAI,CAACD,iBAAiB,IAAI,CAACC,WAAW,EAAE;MACpC,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;IACtD;IAEA,IAAMC,cAAc,GAAGH,iBAAiB,CAACI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5D,IAAMC,SAAS,IAAAN,qBAAA,GAAGb,eAAe,CAACmB,SAAS,cAAAN,qBAAA,cAAAA,qBAAA,GAAId,kBAAkB;IACjE,IAAMqB,KAAK,GAAG,IAAIC,eAAe,CAAC;MAC9BV,KAAK;MACLC;IACJ,CAAC,CAAC;IACF,IAAMU,QAAQ,SAASC,KAAK,IAAAC,MAAA,CAAIP,cAAc,EAAAO,MAAA,CAAGL,SAAS,OAAAK,MAAA,CAAIJ,KAAK,CAACK,QAAQ,CAAC,CAAC,GAAI;MAC9EC,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE;QACLC,aAAa,YAAAJ,MAAA,CAAYT,WAAW,CAAE;QACtC,cAAc,EAAE;MACpB;IACJ,CAAC,CAAC;IAEF,IAAI,CAACO,QAAQ,CAACO,EAAE,EAAE;MACd,MAAM,IAAIb,KAAK,sCAAAQ,MAAA,CAAsCF,QAAQ,CAACQ,MAAM,CAAE,CAAC;IAC3E;IAEA,IAAMC,OAAO,SAAUT,QAAQ,CAACU,IAAI,CAAC,CAA2C;IAChF,IAAI,OAAOD,OAAO,CAACE,KAAK,KAAK,QAAQ,EAAE;MACnC,OAAOF,OAAO,CAACE,KAAK;IACxB;IACA,OAAOF,OAAO,CAACG,OAAO,GAAG,CAAC,GAAG,CAAC;EAClC,CAAC;EAAA,OAAA3B,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { EventType } from "../@types/event.ts";
2
+ import type { BriijClient } from "../client.ts";
3
+ import { type XamanWalletAdapter } from "./identity.ts";
4
+ export declare const XRPL_VERIFY_REQUEST_EVENT: EventType.UserVerifyRequest;
5
+ export declare const XRPL_VERIFY_ACCEPT_EVENT: EventType.UserVerifyAccept;
6
+ export declare const XRPL_VERIFIED_EVENT: EventType.UserVerified;
7
+ export interface XrplVerificationConfig {
8
+ matrixClient: Pick<BriijClient, "sendEvent" | "getUserId" | "getAccessToken"> & {
9
+ baseUrl: string;
10
+ };
11
+ xamanWallet: XamanWalletAdapter;
12
+ verificationRoomId?: string;
13
+ resolveVerificationRoomId?: (counterpartyXrplAddress: string) => Promise<string> | string;
14
+ pinJsonToIpfs?: (payload: Record<string, unknown>) => Promise<string>;
15
+ pinataJwt?: string;
16
+ websocketUrl?: string;
17
+ network?: "mainnet" | "testnet";
18
+ }
19
+ export interface XrplVerificationTxResult {
20
+ txHash: string;
21
+ credentialTypeHex: string;
22
+ }
23
+ export declare function configureXrplVerification(config: Partial<XrplVerificationConfig>): void;
24
+ export declare function requestVerification(targetXrplAddress: string): Promise<XrplVerificationTxResult>;
25
+ export declare function acceptVerification(issuerXrplAddress: string): Promise<XrplVerificationTxResult>;
26
+ //# sourceMappingURL=verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/xrpl/verification.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,eAAe,CAAC;AAEtF,eAAO,MAAM,yBAAyB,EAAE,SAAS,CAAC,iBAA+C,CAAC;AAClG,eAAO,MAAM,wBAAwB,EAAE,SAAS,CAAC,gBAA6C,CAAC;AAC/F,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,YAAqC,CAAC;AASlF,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpG,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,CAAC,uBAAuB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC1F,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAKvF;AAED,wBAAsB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAmBtG;AAED,wBAAsB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgDrG"}