@towns-labs/sdk 2.0.11 → 2.0.13

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 (508) hide show
  1. package/dist/client.d.ts +13 -31
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +113 -328
  4. package/dist/client.js.map +1 -1
  5. package/dist/clientDecryptionExtensions.d.ts.map +1 -1
  6. package/dist/clientDecryptionExtensions.js +10 -28
  7. package/dist/clientDecryptionExtensions.js.map +1 -1
  8. package/dist/createApp.d.ts +1 -1
  9. package/dist/createApp.d.ts.map +1 -1
  10. package/dist/createApp.js +6 -2
  11. package/dist/createApp.js.map +1 -1
  12. package/dist/id.d.ts +1 -17
  13. package/dist/id.d.ts.map +1 -1
  14. package/dist/id.js +1 -53
  15. package/dist/id.js.map +1 -1
  16. package/dist/index.d.ts +0 -22
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +0 -22
  19. package/dist/index.js.map +1 -1
  20. package/dist/migrations/snapshotMigration0001.d.ts.map +1 -1
  21. package/dist/migrations/snapshotMigration0001.js +0 -4
  22. package/dist/migrations/snapshotMigration0001.js.map +1 -1
  23. package/dist/migrations/snapshotMigration0002.d.ts.map +1 -1
  24. package/dist/migrations/snapshotMigration0002.js +1 -19
  25. package/dist/migrations/snapshotMigration0002.js.map +1 -1
  26. package/dist/migrations/snapshotMigration0004.d.ts.map +1 -1
  27. package/dist/migrations/snapshotMigration0004.js +1 -27
  28. package/dist/migrations/snapshotMigration0004.js.map +1 -1
  29. package/dist/migrations/snapshotMigration0005.d.ts.map +1 -1
  30. package/dist/migrations/snapshotMigration0005.js +1 -26
  31. package/dist/migrations/snapshotMigration0005.js.map +1 -1
  32. package/dist/notificationsClient.d.ts +1 -5
  33. package/dist/notificationsClient.d.ts.map +1 -1
  34. package/dist/notificationsClient.js +2 -103
  35. package/dist/notificationsClient.js.map +1 -1
  36. package/dist/persistenceStore.d.ts.map +1 -1
  37. package/dist/persistenceStore.js +6 -18
  38. package/dist/persistenceStore.js.map +1 -1
  39. package/dist/streamEvents.d.ts +0 -6
  40. package/dist/streamEvents.d.ts.map +1 -1
  41. package/dist/streamStateView.d.ts +0 -9
  42. package/dist/streamStateView.d.ts.map +1 -1
  43. package/dist/streamStateView.js +3 -64
  44. package/dist/streamStateView.js.map +1 -1
  45. package/dist/streamStateView_MemberMetadata.d.ts +3 -36
  46. package/dist/streamStateView_MemberMetadata.d.ts.map +1 -1
  47. package/dist/streamStateView_MemberMetadata.js +3 -83
  48. package/dist/streamStateView_MemberMetadata.js.map +1 -1
  49. package/dist/streamStateView_Members.d.ts +1 -5
  50. package/dist/streamStateView_Members.d.ts.map +1 -1
  51. package/dist/streamStateView_Members.js +4 -91
  52. package/dist/streamStateView_Members.js.map +1 -1
  53. package/dist/streamStateView_User.d.ts.map +1 -1
  54. package/dist/streamStateView_User.js +1 -0
  55. package/dist/streamStateView_User.js.map +1 -1
  56. package/dist/streamStateView_UserInbox.d.ts.map +1 -1
  57. package/dist/streamStateView_UserInbox.js +1 -0
  58. package/dist/streamStateView_UserInbox.js.map +1 -1
  59. package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
  60. package/dist/streamStateView_UserMetadata.js +1 -0
  61. package/dist/streamStateView_UserMetadata.js.map +1 -1
  62. package/dist/streamStateView_UserSettings.d.ts.map +1 -1
  63. package/dist/streamStateView_UserSettings.js +9 -1
  64. package/dist/streamStateView_UserSettings.js.map +1 -1
  65. package/dist/streamUtils.d.ts.map +1 -1
  66. package/dist/streamUtils.js +0 -8
  67. package/dist/streamUtils.js.map +1 -1
  68. package/dist/sync/SyncedStreamsControllerLite.d.ts.map +1 -1
  69. package/dist/sync/SyncedStreamsControllerLite.js +7 -11
  70. package/dist/sync/SyncedStreamsControllerLite.js.map +1 -1
  71. package/dist/sync-agent/db.d.ts +1 -6
  72. package/dist/sync-agent/db.d.ts.map +1 -1
  73. package/dist/sync-agent/db.js +0 -10
  74. package/dist/sync-agent/db.js.map +1 -1
  75. package/dist/sync-agent/gdms/gdms.d.ts +5 -6
  76. package/dist/sync-agent/gdms/gdms.d.ts.map +1 -1
  77. package/dist/sync-agent/gdms/gdms.js +12 -27
  78. package/dist/sync-agent/gdms/gdms.js.map +1 -1
  79. package/dist/sync-agent/gdms/models/gdm.d.ts +10 -8
  80. package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
  81. package/dist/sync-agent/gdms/models/gdm.js +29 -34
  82. package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
  83. package/dist/sync-agent/members/members.d.ts +6 -18
  84. package/dist/sync-agent/members/members.d.ts.map +1 -1
  85. package/dist/sync-agent/members/members.js +25 -124
  86. package/dist/sync-agent/members/members.js.map +1 -1
  87. package/dist/sync-agent/members/models/member.d.ts +3 -45
  88. package/dist/sync-agent/members/models/member.d.ts.map +1 -1
  89. package/dist/sync-agent/members/models/member.js +15 -114
  90. package/dist/sync-agent/members/models/member.js.map +1 -1
  91. package/dist/sync-agent/members/models/myself.d.ts +1 -11
  92. package/dist/sync-agent/members/models/myself.d.ts.map +1 -1
  93. package/dist/sync-agent/members/models/myself.js +1 -84
  94. package/dist/sync-agent/members/models/myself.js.map +1 -1
  95. package/dist/sync-agent/river-connection/riverConnection.d.ts +6 -17
  96. package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
  97. package/dist/sync-agent/river-connection/riverConnection.js +30 -37
  98. package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
  99. package/dist/sync-agent/syncAgent.d.ts +11 -22
  100. package/dist/sync-agent/syncAgent.d.ts.map +1 -1
  101. package/dist/sync-agent/syncAgent.js +3 -20
  102. package/dist/sync-agent/syncAgent.js.map +1 -1
  103. package/dist/sync-agent/user/models/userInbox.d.ts +4 -17
  104. package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -1
  105. package/dist/sync-agent/user/models/userInbox.js +14 -61
  106. package/dist/sync-agent/user/models/userInbox.js.map +1 -1
  107. package/dist/sync-agent/user/models/userMemberships.d.ts +6 -22
  108. package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
  109. package/dist/sync-agent/user/models/userMemberships.js +16 -68
  110. package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
  111. package/dist/sync-agent/user/models/userMetadata.d.ts +4 -17
  112. package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -1
  113. package/dist/sync-agent/user/models/userMetadata.js +14 -61
  114. package/dist/sync-agent/user/models/userMetadata.js.map +1 -1
  115. package/dist/sync-agent/user/models/userSettings.d.ts +5 -8
  116. package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -1
  117. package/dist/sync-agent/user/models/userSettings.js +15 -42
  118. package/dist/sync-agent/user/models/userSettings.js.map +1 -1
  119. package/dist/sync-agent/user/user.d.ts +2 -6
  120. package/dist/sync-agent/user/user.d.ts.map +1 -1
  121. package/dist/sync-agent/user/user.js +9 -20
  122. package/dist/sync-agent/user/user.js.map +1 -1
  123. package/dist/syncedStreamsExtension.d.ts.map +1 -1
  124. package/dist/syncedStreamsExtension.js +10 -22
  125. package/dist/syncedStreamsExtension.js.map +1 -1
  126. package/dist/syncedStreamsLoop.d.ts.map +1 -1
  127. package/dist/syncedStreamsLoop.js +4 -18
  128. package/dist/syncedStreamsLoop.js.map +1 -1
  129. package/dist/tests/bob_testUtils.d.ts.map +1 -1
  130. package/dist/tests/bob_testUtils.js +35 -69
  131. package/dist/tests/bob_testUtils.js.map +1 -1
  132. package/dist/tests/multi_ne/aliceAndFriends10for10.test.js +1 -1
  133. package/dist/tests/multi_ne/aliceAndFriends10for10.test.js.map +1 -1
  134. package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js +1 -1
  135. package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js.map +1 -1
  136. package/dist/tests/multi_ne/bobFlushes.test.js.map +1 -1
  137. package/dist/tests/multi_ne/channels.test.js +6 -9
  138. package/dist/tests/multi_ne/channels.test.js.map +1 -1
  139. package/dist/tests/multi_ne/client.test.js +24 -98
  140. package/dist/tests/multi_ne/client.test.js.map +1 -1
  141. package/dist/tests/multi_ne/clientCrypto.test.js +3 -3
  142. package/dist/tests/multi_ne/clientCrypto.test.js.map +1 -1
  143. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +12 -47
  144. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
  145. package/dist/tests/multi_ne/ephemeralEvents.test.js +1 -1
  146. package/dist/tests/multi_ne/ephemeralEvents.test.js.map +1 -1
  147. package/dist/tests/multi_ne/id.test.js +6 -20
  148. package/dist/tests/multi_ne/id.test.js.map +1 -1
  149. package/dist/tests/multi_ne/media.test.js +20 -61
  150. package/dist/tests/multi_ne/media.test.js.map +1 -1
  151. package/dist/tests/multi_ne/memberMetadata.test.d.ts +0 -3
  152. package/dist/tests/multi_ne/memberMetadata.test.d.ts.map +1 -1
  153. package/dist/tests/multi_ne/memberMetadata.test.js +14 -582
  154. package/dist/tests/multi_ne/memberMetadata.test.js.map +1 -1
  155. package/dist/tests/multi_ne/outboundGroupSession.test.js +15 -13
  156. package/dist/tests/multi_ne/outboundGroupSession.test.js.map +1 -1
  157. package/dist/tests/multi_ne/restart.test.js +11 -34
  158. package/dist/tests/multi_ne/restart.test.js.map +1 -1
  159. package/dist/tests/multi_ne/sign.test.js +2 -2
  160. package/dist/tests/multi_ne/sign.test.js.map +1 -1
  161. package/dist/tests/multi_ne/streamMembershipHardening.test.js +0 -3
  162. package/dist/tests/multi_ne/streamMembershipHardening.test.js.map +1 -1
  163. package/dist/tests/multi_ne/streamRpcClient.test.js +58 -349
  164. package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -1
  165. package/dist/tests/multi_ne/streamRpcClientSync.test.js +63 -124
  166. package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -1
  167. package/dist/tests/multi_ne/streamStateView_User.test.js +23 -20
  168. package/dist/tests/multi_ne/streamStateView_User.test.js.map +1 -1
  169. package/dist/tests/{multi/spaceDapp.test.d.ts → multi_ne/sync-agent/gdms.test.d.ts} +1 -1
  170. package/dist/tests/multi_ne/sync-agent/gdms.test.d.ts.map +1 -0
  171. package/dist/tests/multi_ne/sync-agent/gdms.test.js +34 -0
  172. package/dist/tests/multi_ne/sync-agent/gdms.test.js.map +1 -0
  173. package/dist/tests/{multi/legacySpace.test.d.ts → multi_ne/sync-agent/member.test.d.ts} +1 -1
  174. package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -0
  175. package/dist/tests/multi_ne/sync-agent/member.test.js +31 -0
  176. package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -0
  177. package/dist/tests/{multi/disableSpace.test.d.ts → multi_ne/sync-agent/members.test.d.ts} +1 -1
  178. package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -0
  179. package/dist/tests/multi_ne/sync-agent/members.test.js +40 -0
  180. package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -0
  181. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts +5 -0
  182. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts.map +1 -0
  183. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js +39 -0
  184. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js.map +1 -0
  185. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +5 -0
  186. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -0
  187. package/dist/tests/multi_ne/sync-agent/streams.test.js +27 -0
  188. package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -0
  189. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +5 -0
  190. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -0
  191. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +66 -0
  192. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -0
  193. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +5 -0
  194. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -0
  195. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +117 -0
  196. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -0
  197. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts +2 -0
  198. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts.map +1 -0
  199. package/dist/tests/multi_ne/sync-agent/timeline.test.js +155 -0
  200. package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -0
  201. package/dist/tests/multi_ne/sync-agent/user.test.d.ts +5 -0
  202. package/dist/tests/multi_ne/sync-agent/user.test.d.ts.map +1 -0
  203. package/dist/tests/multi_ne/sync-agent/user.test.js +53 -0
  204. package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -0
  205. package/dist/tests/multi_ne/syncWithBlocks.test.d.ts +3 -0
  206. package/dist/tests/multi_ne/syncWithBlocks.test.d.ts.map +1 -1
  207. package/dist/tests/multi_ne/syncWithBlocks.test.js +47 -77
  208. package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -1
  209. package/dist/tests/multi_ne/syncedStream.test.js +1 -1
  210. package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
  211. package/dist/tests/multi_ne/syncedStreams.test.js +1 -1
  212. package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
  213. package/dist/tests/multi_ne/userInboxMessage.test.js +4 -4
  214. package/dist/tests/multi_ne/userInboxMessage.test.js.map +1 -1
  215. package/dist/tests/multi_ne/userSettings.test.js +3 -16
  216. package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
  217. package/dist/tests/multi_ne/workflows.test.js +22 -50
  218. package/dist/tests/multi_ne/workflows.test.js.map +1 -1
  219. package/dist/tests/testDriver_testUtils.d.ts.map +1 -1
  220. package/dist/tests/testDriver_testUtils.js +6 -22
  221. package/dist/tests/testDriver_testUtils.js.map +1 -1
  222. package/dist/tests/testUtils.d.ts +3 -104
  223. package/dist/tests/testUtils.d.ts.map +1 -1
  224. package/dist/tests/testUtils.js +6 -625
  225. package/dist/tests/testUtils.js.map +1 -1
  226. package/dist/tests/unit/snapshotMigration0001.test.js +4 -20
  227. package/dist/tests/unit/snapshotMigration0001.test.js.map +1 -1
  228. package/dist/tests/unit/snapshotMigration0004.test.js +5 -43
  229. package/dist/tests/unit/snapshotMigration0004.test.js.map +1 -1
  230. package/dist/tests/unit/snapshotMigration0005.test.js +5 -43
  231. package/dist/tests/unit/snapshotMigration0005.test.js.map +1 -1
  232. package/dist/tests/unit/streamUtils.test.js +21 -22
  233. package/dist/tests/unit/streamUtils.test.js.map +1 -1
  234. package/dist/tests/unit/tags.test.js +5 -7
  235. package/dist/tests/unit/tags.test.js.map +1 -1
  236. package/dist/types.d.ts +1 -21
  237. package/dist/types.d.ts.map +1 -1
  238. package/dist/types.js +2 -231
  239. package/dist/types.js.map +1 -1
  240. package/dist/views/models/timelineEvent.d.ts.map +1 -1
  241. package/dist/views/models/timelineEvent.js +132 -157
  242. package/dist/views/models/timelineEvent.js.map +1 -1
  243. package/dist/views/models/timelineTypes.d.ts +51 -30
  244. package/dist/views/models/timelineTypes.d.ts.map +1 -1
  245. package/dist/views/models/timelineTypes.js +3 -4
  246. package/dist/views/models/timelineTypes.js.map +1 -1
  247. package/dist/views/streams/timelines.d.ts +1 -1
  248. package/dist/views/streams/timelines.d.ts.map +1 -1
  249. package/dist/views/streams/timelines.js +3 -3
  250. package/dist/views/streams/timelines.js.map +1 -1
  251. package/dist/views/streams/userInboxStreams.d.ts +3 -0
  252. package/dist/views/streams/userInboxStreams.d.ts.map +1 -1
  253. package/dist/views/streams/userInboxStreams.js +15 -4
  254. package/dist/views/streams/userInboxStreams.js.map +1 -1
  255. package/dist/views/streams/userMetadataStreams.d.ts +3 -0
  256. package/dist/views/streams/userMetadataStreams.d.ts.map +1 -1
  257. package/dist/views/streams/userMetadataStreams.js +15 -4
  258. package/dist/views/streams/userMetadataStreams.js.map +1 -1
  259. package/dist/views/streams/userSettingsStreams.d.ts +3 -0
  260. package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
  261. package/dist/views/streams/userSettingsStreams.js +17 -6
  262. package/dist/views/streams/userSettingsStreams.js.map +1 -1
  263. package/dist/views/streams/userStreamsView.d.ts +3 -0
  264. package/dist/views/streams/userStreamsView.d.ts.map +1 -1
  265. package/dist/views/streams/userStreamsView.js +21 -10
  266. package/dist/views/streams/userStreamsView.js.map +1 -1
  267. package/dist/views/streamsView.d.ts +0 -6
  268. package/dist/views/streamsView.d.ts.map +1 -1
  269. package/dist/views/streamsView.js +0 -11
  270. package/dist/views/streamsView.js.map +1 -1
  271. package/dist/views/transforms/dmsAndGdmsTransform.d.ts +0 -2
  272. package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -1
  273. package/dist/views/transforms/dmsAndGdmsTransform.js +1 -26
  274. package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -1
  275. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts +1 -2
  276. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts.map +1 -1
  277. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js +2 -5
  278. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js.map +1 -1
  279. package/dist/views/transforms/spaceIdsTransform.d.ts +1 -1
  280. package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -1
  281. package/dist/views/transforms/spaceIdsTransform.js +3 -10
  282. package/dist/views/transforms/spaceIdsTransform.js.map +1 -1
  283. package/dist/views/transforms/spaceMentionsTransform.d.ts.map +1 -1
  284. package/dist/views/transforms/spaceMentionsTransform.js +13 -14
  285. package/dist/views/transforms/spaceMentionsTransform.js.map +1 -1
  286. package/dist/views/transforms/spaceUnreadsTransform.d.ts.map +1 -1
  287. package/dist/views/transforms/spaceUnreadsTransform.js +21 -22
  288. package/dist/views/transforms/spaceUnreadsTransform.js.map +1 -1
  289. package/dist/views/transforms/unreadMarkersTransform.js +2 -4
  290. package/dist/views/transforms/unreadMarkersTransform.js.map +1 -1
  291. package/package.json +10 -9
  292. package/dist/memberMetadata_DisplayNames.d.ts +0 -26
  293. package/dist/memberMetadata_DisplayNames.d.ts.map +0 -1
  294. package/dist/memberMetadata_DisplayNames.js +0 -95
  295. package/dist/memberMetadata_DisplayNames.js.map +0 -1
  296. package/dist/memberMetadata_EnsAddresses.d.ts +0 -25
  297. package/dist/memberMetadata_EnsAddresses.d.ts.map +0 -1
  298. package/dist/memberMetadata_EnsAddresses.js +0 -86
  299. package/dist/memberMetadata_EnsAddresses.js.map +0 -1
  300. package/dist/memberMetadata_Nft.d.ts +0 -31
  301. package/dist/memberMetadata_Nft.d.ts.map +0 -1
  302. package/dist/memberMetadata_Nft.js +0 -95
  303. package/dist/memberMetadata_Nft.js.map +0 -1
  304. package/dist/memberMetadata_Usernames.d.ts +0 -35
  305. package/dist/memberMetadata_Usernames.d.ts.map +0 -1
  306. package/dist/memberMetadata_Usernames.js +0 -162
  307. package/dist/memberMetadata_Usernames.js.map +0 -1
  308. package/dist/streamStateView_Channel.d.ts +0 -16
  309. package/dist/streamStateView_Channel.d.ts.map +0 -1
  310. package/dist/streamStateView_Channel.js +0 -76
  311. package/dist/streamStateView_Channel.js.map +0 -1
  312. package/dist/streamStateView_DMChannel.d.ts +0 -25
  313. package/dist/streamStateView_DMChannel.d.ts.map +0 -1
  314. package/dist/streamStateView_DMChannel.js +0 -114
  315. package/dist/streamStateView_DMChannel.js.map +0 -1
  316. package/dist/streamStateView_Space.d.ts +0 -31
  317. package/dist/streamStateView_Space.d.ts.map +0 -1
  318. package/dist/streamStateView_Space.js +0 -193
  319. package/dist/streamStateView_Space.js.map +0 -1
  320. package/dist/sync-agent/dms/dms.d.ts +0 -24
  321. package/dist/sync-agent/dms/dms.d.ts.map +0 -1
  322. package/dist/sync-agent/dms/dms.js +0 -60
  323. package/dist/sync-agent/dms/dms.js.map +0 -1
  324. package/dist/sync-agent/dms/models/dm.d.ts +0 -74
  325. package/dist/sync-agent/dms/models/dm.d.ts.map +0 -1
  326. package/dist/sync-agent/dms/models/dm.js +0 -149
  327. package/dist/sync-agent/dms/models/dm.js.map +0 -1
  328. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +0 -11
  329. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +0 -1
  330. package/dist/sync-agent/river-connection/models/transactionalClient.js +0 -14
  331. package/dist/sync-agent/river-connection/models/transactionalClient.js.map +0 -1
  332. package/dist/sync-agent/spaces/models/channel.d.ts +0 -121
  333. package/dist/sync-agent/spaces/models/channel.d.ts.map +0 -1
  334. package/dist/sync-agent/spaces/models/channel.js +0 -182
  335. package/dist/sync-agent/spaces/models/channel.js.map +0 -1
  336. package/dist/sync-agent/spaces/models/space.d.ts +0 -57
  337. package/dist/sync-agent/spaces/models/space.d.ts.map +0 -1
  338. package/dist/sync-agent/spaces/models/space.js +0 -125
  339. package/dist/sync-agent/spaces/models/space.js.map +0 -1
  340. package/dist/sync-agent/spaces/spaces.d.ts +0 -28
  341. package/dist/sync-agent/spaces/spaces.d.ts.map +0 -1
  342. package/dist/sync-agent/spaces/spaces.js +0 -71
  343. package/dist/sync-agent/spaces/spaces.js.map +0 -1
  344. package/dist/tests/multi/channelSpaceSettings.test.d.ts +0 -5
  345. package/dist/tests/multi/channelSpaceSettings.test.d.ts.map +0 -1
  346. package/dist/tests/multi/channelSpaceSettings.test.js +0 -204
  347. package/dist/tests/multi/channelSpaceSettings.test.js.map +0 -1
  348. package/dist/tests/multi/disableChannel.test.d.ts +0 -5
  349. package/dist/tests/multi/disableChannel.test.d.ts.map +0 -1
  350. package/dist/tests/multi/disableChannel.test.js +0 -30
  351. package/dist/tests/multi/disableChannel.test.js.map +0 -1
  352. package/dist/tests/multi/disableSpace.test.d.ts.map +0 -1
  353. package/dist/tests/multi/disableSpace.test.js +0 -37
  354. package/dist/tests/multi/disableSpace.test.js.map +0 -1
  355. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts +0 -5
  356. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts.map +0 -1
  357. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js +0 -129
  358. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js.map +0 -1
  359. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts +0 -5
  360. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts.map +0 -1
  361. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js +0 -44
  362. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js.map +0 -1
  363. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts +0 -5
  364. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts.map +0 -1
  365. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js +0 -125
  366. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js.map +0 -1
  367. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts +0 -5
  368. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts.map +0 -1
  369. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js +0 -72
  370. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js.map +0 -1
  371. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts +0 -5
  372. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts.map +0 -1
  373. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +0 -57
  374. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +0 -1
  375. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts +0 -5
  376. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts.map +0 -1
  377. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js +0 -86
  378. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js.map +0 -1
  379. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts +0 -5
  380. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts.map +0 -1
  381. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js +0 -69
  382. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js.map +0 -1
  383. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts +0 -5
  384. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts.map +0 -1
  385. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js +0 -145
  386. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js.map +0 -1
  387. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts +0 -5
  388. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts.map +0 -1
  389. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js +0 -53
  390. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js.map +0 -1
  391. package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts +0 -5
  392. package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts.map +0 -1
  393. package/dist/tests/multi/entitlements/membershipRenewals.test.js +0 -150
  394. package/dist/tests/multi/entitlements/membershipRenewals.test.js.map +0 -1
  395. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts +0 -5
  396. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts.map +0 -1
  397. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js +0 -131
  398. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js.map +0 -1
  399. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts +0 -5
  400. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts.map +0 -1
  401. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js +0 -109
  402. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js.map +0 -1
  403. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts +0 -5
  404. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts.map +0 -1
  405. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js +0 -103
  406. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js.map +0 -1
  407. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts +0 -5
  408. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts.map +0 -1
  409. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js +0 -84
  410. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js.map +0 -1
  411. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts +0 -5
  412. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts.map +0 -1
  413. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js +0 -168
  414. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js.map +0 -1
  415. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts +0 -5
  416. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts.map +0 -1
  417. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js +0 -45
  418. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js.map +0 -1
  419. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts +0 -5
  420. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts.map +0 -1
  421. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js +0 -79
  422. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js.map +0 -1
  423. package/dist/tests/multi/legacySpace.test.d.ts.map +0 -1
  424. package/dist/tests/multi/legacySpace.test.js +0 -48
  425. package/dist/tests/multi/legacySpace.test.js.map +0 -1
  426. package/dist/tests/multi/mediaWithEntitlements.test.d.ts +0 -5
  427. package/dist/tests/multi/mediaWithEntitlements.test.d.ts.map +0 -1
  428. package/dist/tests/multi/mediaWithEntitlements.test.js +0 -152
  429. package/dist/tests/multi/mediaWithEntitlements.test.js.map +0 -1
  430. package/dist/tests/multi/membershipManagement.test.d.ts +0 -5
  431. package/dist/tests/multi/membershipManagement.test.d.ts.map +0 -1
  432. package/dist/tests/multi/membershipManagement.test.js +0 -76
  433. package/dist/tests/multi/membershipManagement.test.js.map +0 -1
  434. package/dist/tests/multi/riverAirdropDapp.test.d.ts +0 -5
  435. package/dist/tests/multi/riverAirdropDapp.test.d.ts.map +0 -1
  436. package/dist/tests/multi/riverAirdropDapp.test.js +0 -43
  437. package/dist/tests/multi/riverAirdropDapp.test.js.map +0 -1
  438. package/dist/tests/multi/spaceDapp.test.d.ts.map +0 -1
  439. package/dist/tests/multi/spaceDapp.test.js +0 -61
  440. package/dist/tests/multi/spaceDapp.test.js.map +0 -1
  441. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts +0 -2
  442. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts.map +0 -1
  443. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js +0 -63
  444. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js.map +0 -1
  445. package/dist/tests/multi/withEntitlements.test.d.ts +0 -5
  446. package/dist/tests/multi/withEntitlements.test.d.ts.map +0 -1
  447. package/dist/tests/multi/withEntitlements.test.js +0 -125
  448. package/dist/tests/multi/withEntitlements.test.js.map +0 -1
  449. package/dist/tests/multi_ne/dms.test.d.ts +0 -5
  450. package/dist/tests/multi_ne/dms.test.d.ts.map +0 -1
  451. package/dist/tests/multi_ne/dms.test.js +0 -131
  452. package/dist/tests/multi_ne/dms.test.js.map +0 -1
  453. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts +0 -5
  454. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts.map +0 -1
  455. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js +0 -54
  456. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js.map +0 -1
  457. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts +0 -5
  458. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts.map +0 -1
  459. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js +0 -37
  460. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js.map +0 -1
  461. package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts +0 -5
  462. package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts.map +0 -1
  463. package/dist/tests/multi_ne/memberMetadata_Nft.test.js +0 -49
  464. package/dist/tests/multi_ne/memberMetadata_Nft.test.js.map +0 -1
  465. package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts +0 -5
  466. package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts.map +0 -1
  467. package/dist/tests/multi_ne/memberMetadata_Usernames.test.js +0 -126
  468. package/dist/tests/multi_ne/memberMetadata_Usernames.test.js.map +0 -1
  469. package/dist/tests/multi_ne/space.test.d.ts +0 -5
  470. package/dist/tests/multi_ne/space.test.d.ts.map +0 -1
  471. package/dist/tests/multi_ne/space.test.js +0 -284
  472. package/dist/tests/multi_ne/space.test.js.map +0 -1
  473. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts +0 -6
  474. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts.map +0 -1
  475. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js +0 -78
  476. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js.map +0 -1
  477. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts +0 -6
  478. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts.map +0 -1
  479. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js +0 -89
  480. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js.map +0 -1
  481. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts +0 -6
  482. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts.map +0 -1
  483. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js +0 -88
  484. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js.map +0 -1
  485. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts +0 -6
  486. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts.map +0 -1
  487. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js +0 -105
  488. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js.map +0 -1
  489. package/dist/tests/multi_v2/updateRole.test.d.ts +0 -5
  490. package/dist/tests/multi_v2/updateRole.test.d.ts.map +0 -1
  491. package/dist/tests/multi_v2/updateRole.test.js +0 -25
  492. package/dist/tests/multi_v2/updateRole.test.js.map +0 -1
  493. package/dist/tests/unit/snapshotMigration0002.test.d.ts +0 -2
  494. package/dist/tests/unit/snapshotMigration0002.test.d.ts.map +0 -1
  495. package/dist/tests/unit/snapshotMigration0002.test.js +0 -31
  496. package/dist/tests/unit/snapshotMigration0002.test.js.map +0 -1
  497. package/dist/views/streams/channelStreams.d.ts +0 -8
  498. package/dist/views/streams/channelStreams.d.ts.map +0 -1
  499. package/dist/views/streams/channelStreams.js +0 -9
  500. package/dist/views/streams/channelStreams.js.map +0 -1
  501. package/dist/views/streams/dmStreams.d.ts +0 -13
  502. package/dist/views/streams/dmStreams.d.ts.map +0 -1
  503. package/dist/views/streams/dmStreams.js +0 -33
  504. package/dist/views/streams/dmStreams.js.map +0 -1
  505. package/dist/views/streams/spaceStreams.d.ts +0 -17
  506. package/dist/views/streams/spaceStreams.d.ts.map +0 -1
  507. package/dist/views/streams/spaceStreams.js +0 -52
  508. package/dist/views/streams/spaceStreams.js.map +0 -1
@@ -1,94 +1,61 @@
1
1
  /**
2
2
  * @group main
3
3
  */
4
- import { makeEvent, makeEvents, unpackStreamEnvelopes } from '../../sign';
5
- import { MembershipOp, SyncOp } from '@towns-labs/proto';
4
+ import { makeEvent, makeEvents } from '../../sign';
5
+ import { MembershipOp } from '@towns-labs/proto';
6
6
  import { bin_equal, dlog } from '@towns-labs/utils';
7
- import { makeEvent_test, makeRandomUserContext, makeUserContextFromWallet, makeTestRpcClient, makeUniqueSpaceStreamId, iterableWrapper, TEST_ENCRYPTED_MESSAGE_PROPS, waitForSyncStreams, } from '../testUtils';
8
- import { addressFromUserId, makeUniqueChannelStreamId, makeUserStreamId, streamIdAsString, streamIdToBytes, userIdFromAddress, } from '../../id';
9
- import { make_ChannelPayload_Inception, make_ChannelPayload_Message, make_MemberPayload_Membership2, make_SpacePayload_Inception, make_UserPayload_Inception, make_UserPayload_UserMembership, make_UserPayload_UserMembershipAction, } from '../../types';
7
+ import { makeEvent_test, makeRandomUserContext, makeUserContextFromWallet, makeTestRpcClient, TEST_ENCRYPTED_MESSAGE_PROPS, } from '../testUtils';
8
+ import { makeUniqueGDMChannelStreamId, makeUserStreamId, streamIdToBytes, userIdFromAddress, } from '../../id';
9
+ import { make_GDMChannelPayload_Inception, make_GDMChannelPayload_Message, make_MemberPayload_Membership2, make_UserPayload_Inception, make_UserPayload_UserMembership, } from '../../types';
10
10
  import { bobTalksToHimself } from '../bob_testUtils';
11
11
  import { ethers } from 'ethers';
12
12
  import { makeSignerContext } from '../../signerContext';
13
13
  const log = dlog('csb:test:streamRpcClient');
14
14
  describe('streamRpcClient', () => {
15
15
  let bobsContext;
16
- let alicesContext;
17
16
  beforeEach(async () => {
18
17
  bobsContext = await makeRandomUserContext();
19
- alicesContext = await makeRandomUserContext();
20
18
  });
21
19
  test('makeStreamRpcClient', async () => {
22
20
  const client = await makeTestRpcClient();
23
- log('makeStreamRpcClient', 'url', client.url);
24
21
  expect(client).toBeDefined();
25
22
  const result = await client.info({ debug: ['graffiti'] });
26
23
  expect(result).toBeDefined();
27
24
  expect(result.graffiti).toEqual('River Node welcomes you!');
28
25
  });
29
26
  test('ping', async () => {
30
- // ping is a debug endpoint, so it's not available in production
31
27
  const client = await makeTestRpcClient();
32
- log('ping', 'url', client.url);
33
- expect(client).toBeDefined();
34
28
  const result = await client.info({ debug: ['ping'] });
35
29
  expect(result).toBeDefined();
36
30
  expect(result.graffiti).toEqual('pong');
37
31
  });
38
32
  test('error', async () => {
39
33
  const client = await makeTestRpcClient();
40
- expect(client).toBeDefined();
41
- let err = undefined;
42
- try {
43
- await client.info({ debug: ['error'] });
44
- }
45
- catch (e) {
46
- expect(e).toBeInstanceOf(Error);
47
- err = e;
48
- }
49
- log('error', err);
50
- expect(err).toBeDefined();
51
- log('error', err.toString());
52
- expect(err.toString()).toContain('Error requested through Info request');
34
+ await expect(client.info({ debug: ['error'] })).rejects.toThrow('Error requested through Info request');
53
35
  });
54
36
  test('error_untyped', async () => {
55
37
  const client = await makeTestRpcClient();
56
- expect(client).toBeDefined();
57
- let err = undefined;
58
- try {
59
- await client.info({ debug: ['error_untyped'] });
60
- }
61
- catch (e) {
62
- expect(e).toBeInstanceOf(Error);
63
- err = e;
64
- }
65
- log('error_untyped', err);
66
- expect(err).toBeDefined();
67
- log('error_untyped', err.toString());
68
- expect(err.toString()).toContain('[unknown] error requested through Info request');
38
+ await expect(client.info({ debug: ['error_untyped'] })).rejects.toThrow('[unknown] error requested through Info request');
69
39
  });
70
40
  test('charlieUsesRegularOldWallet', async () => {
71
41
  const wallet = ethers.Wallet.createRandom();
72
42
  const charliesContext = await makeUserContextFromWallet(wallet);
73
43
  const charlie = await makeTestRpcClient();
74
44
  const userId = userIdFromAddress(charliesContext.creatorAddress);
75
- const streamIdStr = makeUserStreamId(userId);
76
- const streamId = streamIdToBytes(streamIdStr);
45
+ const streamId = streamIdToBytes(makeUserStreamId(userId));
77
46
  await charlie.createStream({
78
47
  events: [
79
48
  await makeEvent(charliesContext, make_UserPayload_Inception({
80
- streamId: streamId,
49
+ streamId,
81
50
  })),
82
51
  ],
83
- streamId: streamId,
52
+ streamId,
84
53
  });
85
54
  });
86
55
  test('bobSendsMismatchedPayloadCase', async () => {
87
- log('bobSendsMismatchedPayloadCase', 'start');
88
56
  const bob = await makeTestRpcClient();
89
57
  const bobsUserId = userIdFromAddress(bobsContext.creatorAddress);
90
- const bobsUserStreamIdStr = makeUserStreamId(bobsUserId);
91
- const bobsUserStreamId = streamIdToBytes(bobsUserStreamIdStr);
58
+ const bobsUserStreamId = streamIdToBytes(makeUserStreamId(bobsUserId));
92
59
  const inceptionEvent = await makeEvent(bobsContext, make_UserPayload_Inception({
93
60
  streamId: bobsUserStreamId,
94
61
  }));
@@ -99,8 +66,7 @@ describe('streamRpcClient', () => {
99
66
  const userStream = await bob.getStream({ streamId: bobsUserStreamId });
100
67
  expect(userStream).toBeDefined();
101
68
  expect(bin_equal(userStream.stream?.nextSyncCookie?.streamId, bobsUserStreamId)).toBeTruthy();
102
- // try to send a channel message
103
- const event = await makeEvent(bobsContext, make_ChannelPayload_Message({
69
+ const event = await makeEvent(bobsContext, make_GDMChannelPayload_Message({
104
70
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
105
71
  ciphertext: 'hello',
106
72
  }), userStream.stream?.miniblocks.at(-1)?.header?.hash);
@@ -108,8 +74,7 @@ describe('streamRpcClient', () => {
108
74
  streamId: bobsUserStreamId,
109
75
  event,
110
76
  });
111
- await expect(promise).rejects.toThrow('inception type mismatch: *protocol.StreamEvent_ChannelPayload::*protocol.ChannelPayload_Message vs *protocol.UserPayload_Inception');
112
- log('bobSendsMismatchedPayloadCase', 'done');
77
+ await expect(promise).rejects.toThrow('inception type mismatch');
113
78
  });
114
79
  test.each([
115
80
  ['bobTalksToHimself-noflush-nopresync', false],
@@ -117,192 +82,10 @@ describe('streamRpcClient', () => {
117
82
  ])('%s', async (name, presync) => {
118
83
  await bobTalksToHimself(log.extend(name), bobsContext, false, presync);
119
84
  });
120
- test('aliceTalksToBob', async () => {
121
- log('bobAndAliceConverse start');
122
- const bob = await makeTestRpcClient();
123
- const bobsUserId = userIdFromAddress(bobsContext.creatorAddress);
124
- const bobsUserStreamIdStr = makeUserStreamId(bobsUserId);
125
- const bobsUserStreamId = streamIdToBytes(bobsUserStreamIdStr);
126
- const alice = await makeTestRpcClient();
127
- const alicesUserId = userIdFromAddress(alicesContext.creatorAddress);
128
- const alicesUserStreamIdStr = makeUserStreamId(alicesUserId);
129
- const alicesUserStreamId = streamIdToBytes(alicesUserStreamIdStr);
130
- // Create accounts for Bob and Alice
131
- const bobsStream = await bob.createStream({
132
- events: [
133
- await makeEvent(bobsContext, make_UserPayload_Inception({
134
- streamId: bobsUserStreamId,
135
- })),
136
- ],
137
- streamId: bobsUserStreamId,
138
- });
139
- const alicesStream = await alice.createStream({
140
- events: [
141
- await makeEvent(alicesContext, make_UserPayload_Inception({
142
- streamId: alicesUserStreamId,
143
- })),
144
- ],
145
- streamId: alicesUserStreamId,
146
- });
147
- // Bob creates space
148
- const spaceIdStr = makeUniqueSpaceStreamId();
149
- const spaceId = streamIdToBytes(spaceIdStr);
150
- const inceptionEvent = await makeEvent(bobsContext, make_SpacePayload_Inception({
151
- streamId: spaceId,
152
- }));
153
- const joinEvent = await makeEvent(bobsContext, make_MemberPayload_Membership2({
154
- userId: bobsUserId,
155
- op: MembershipOp.SO_JOIN,
156
- initiatorId: bobsUserId,
157
- }));
158
- await bob.createStream({
159
- events: [inceptionEvent, joinEvent],
160
- streamId: spaceId,
161
- });
162
- // Bob creates channel
163
- const channelIdStr = makeUniqueChannelStreamId(spaceIdStr);
164
- const channelId = streamIdToBytes(channelIdStr);
165
- const channelInceptionEvent = await makeEvent(bobsContext, make_ChannelPayload_Inception({
166
- streamId: channelId,
167
- }));
168
- let event = await makeEvent(bobsContext, make_MemberPayload_Membership2({
169
- userId: bobsUserId,
170
- op: MembershipOp.SO_JOIN,
171
- initiatorId: bobsUserId,
172
- }));
173
- const createChannelResponse = await bob.createStream({
174
- events: [channelInceptionEvent, event],
175
- streamId: channelId,
176
- });
177
- // Bob succesdfully posts a message
178
- event = await makeEvent(bobsContext, make_ChannelPayload_Message({
179
- ...TEST_ENCRYPTED_MESSAGE_PROPS,
180
- ciphertext: 'hello',
181
- }), createChannelResponse.stream?.miniblocks.at(-1)?.header?.hash);
182
- await bob.addEvent({
183
- streamId: channelId,
184
- event,
185
- });
186
- // Alice fails to post a message if she hasn't joined the channel
187
- log("Alice fails to post a message if she hasn't joined the channel");
188
- await expect(alice.addEvent({
189
- streamId: channelId,
190
- event: await makeEvent(alicesContext, make_ChannelPayload_Message({
191
- ...TEST_ENCRYPTED_MESSAGE_PROPS,
192
- ciphertext: 'hello',
193
- }), createChannelResponse.stream?.miniblocks.at(-1)?.header?.hash),
194
- })).rejects.toThrow(expect.objectContaining({
195
- message: expect.stringContaining('7:PERMISSION_DENIED'),
196
- }));
197
- // Alice syncs her user stream waiting for invite
198
- const userAlice = await alice.getStream({
199
- streamId: alicesUserStreamId,
200
- });
201
- if (!userAlice.stream)
202
- throw new Error('userAlice stream not found');
203
- let aliceSyncCookie = userAlice.stream.nextSyncCookie;
204
- const aliceSyncStreams = alice.syncStreams({
205
- syncPos: aliceSyncCookie ? [aliceSyncCookie] : [],
206
- }, {
207
- timeoutMs: -1,
208
- headers: { 'X-Use-Shared-Sync': 'true' },
209
- });
210
- let syncId;
211
- log("Alice waits for Bob's channel creation event");
212
- await expect(waitForSyncStreams(aliceSyncStreams, async (res) => {
213
- syncId = res.syncId;
214
- return res.syncOp === SyncOp.SYNC_NEW && res.syncId !== undefined;
215
- })).resolves.not.toThrow();
216
- // Bob invites Alice to the channel
217
- log('Bob invites Alice to the channel');
218
- event = await makeEvent(bobsContext, make_UserPayload_UserMembershipAction({
219
- op: MembershipOp.SO_INVITE,
220
- userId: addressFromUserId(alicesUserId),
221
- streamId: channelId,
222
- }), bobsStream.stream?.miniblocks.at(-1)?.header?.hash);
223
- await bob.addEvent({
224
- streamId: bobsUserStreamId,
225
- event,
226
- });
227
- log("Alice waits for Bob's invite event");
228
- aliceSyncCookie = await waitForEvent(aliceSyncStreams, alicesUserStreamIdStr, (e) => {
229
- if (e.event.payload?.case === 'userPayload' &&
230
- e.event.payload?.value.content.case === 'userMembership') {
231
- log("Alice's received over sync:", {
232
- op: e.event.payload?.value.content.value.op,
233
- streamId: streamIdAsString(e.event.payload?.value.content.value.streamId),
234
- inviter: e.event.payload?.value.content.value.inviter,
235
- inviterId: e.event.payload?.value.content.value.inviter
236
- ? userIdFromAddress(e.event.payload?.value.content.value.inviter)
237
- : undefined,
238
- bob: bobsUserId,
239
- bobAddress: addressFromUserId(bobsUserId),
240
- bobAddress2: bobsContext.creatorAddress,
241
- bobAddress3: userIdFromAddress(bobsContext.creatorAddress),
242
- inviterEquals: bin_equal(e.event.payload?.value.content.value.inviter, bobsContext.creatorAddress),
243
- channelIdEquals: bin_equal(e.event.payload?.value.content.value.streamId, channelId),
244
- inviteEquals: e.event.payload?.value.content.value.op === MembershipOp.SO_INVITE,
245
- });
246
- return (e.event.payload?.value.content.value.op === MembershipOp.SO_INVITE &&
247
- bin_equal(e.event.payload?.value.content.value.streamId, channelId) &&
248
- bin_equal(e.event.payload?.value.content.value.inviter, bobsContext.creatorAddress));
249
- }
250
- return false;
251
- });
252
- // Alice joins the channel
253
- event = await makeEvent(alicesContext, make_UserPayload_UserMembership({
254
- op: MembershipOp.SO_JOIN,
255
- streamId: channelId,
256
- }), alicesStream.stream?.miniblocks.at(-1)?.header?.hash);
257
- await alice.addEvent({
258
- streamId: alicesUserStreamId,
259
- event,
260
- });
261
- log('Alice waits for join event in her user stream');
262
- // Alice sees derived join event in her user stream
263
- aliceSyncCookie = await waitForEvent(aliceSyncStreams, alicesUserStreamIdStr, (e) => e.event.payload?.case === 'userPayload' &&
264
- e.event.payload?.value.content.case === 'userMembership' &&
265
- e.event.payload?.value.content.value.op === MembershipOp.SO_JOIN &&
266
- bin_equal(e.event.payload?.value.content.value.streamId, channelId));
267
- // Alice reads previouse messages from the channel
268
- const channel = await alice.getStream({ streamId: channelId });
269
- let messageCount = 0;
270
- if (!channel.stream)
271
- throw new Error('channel stream not found');
272
- const envelopes = await unpackStreamEnvelopes(channel.stream, undefined);
273
- envelopes.forEach((e) => {
274
- const p = e.event.payload;
275
- if (p?.case === 'channelPayload' && p.value.content.case === 'message') {
276
- messageCount++;
277
- expect(p.value.content.value.ciphertext).toEqual('hello');
278
- }
279
- });
280
- expect(messageCount).toEqual(1);
281
- await alice.modifySync({
282
- syncId,
283
- addStreams: [channel.stream.nextSyncCookie],
284
- });
285
- // Bob posts another message
286
- event = await makeEvent(bobsContext, make_ChannelPayload_Message({
287
- ...TEST_ENCRYPTED_MESSAGE_PROPS,
288
- ciphertext: 'Hello, Alice!',
289
- }), channel.stream?.miniblocks.at(-1)?.header?.hash);
290
- await bob.addEvent({
291
- streamId: channelId,
292
- event,
293
- });
294
- log('Alice waits for Bob to post another message');
295
- // Alice sees the message in the channel stream
296
- await expect(waitForEvent(aliceSyncStreams, channelIdStr, (e) => e.event.payload?.case === 'channelPayload' &&
297
- e.event.payload?.value.content.case === 'message' &&
298
- e.event.payload?.value.content.value.ciphertext === 'Hello, Alice!')).resolves.not.toThrow();
299
- await alice.cancelSync({ syncId });
300
- });
301
85
  test.each([
302
86
  [0n, 'never'],
303
87
  [{ days: 2 }, 'in two days'],
304
- ])('cantAddOrCreateWithExpiredDelegateSig expiry: %o expires %s', async (goodExpiry, desc) => {
305
- log('testing with good expiry of', goodExpiry, 'which expires', desc);
88
+ ])('cantAddOrCreateWithExpiredDelegateSig expiry: %o expires %s', async (goodExpiry, _expiresDescription) => {
306
89
  const jimmy = await makeTestRpcClient();
307
90
  const jimmysWallet = ethers.Wallet.createRandom();
308
91
  const jimmysDelegateWallet = ethers.Wallet.createRandom();
@@ -322,16 +105,14 @@ describe('streamRpcClient', () => {
322
105
  streamId: jimmysUserStreamId,
323
106
  });
324
107
  };
325
- // test create stream
326
108
  await expect(makeUserStreamWith(jimmysExpiredContext)).rejects.toThrow(expect.objectContaining({
327
109
  message: expect.stringContaining('7:PERMISSION_DENIED'),
328
110
  }));
329
111
  await expect(makeUserStreamWith(jimmysGoodContext)).resolves.not.toThrow();
330
- // create a space
331
- const spacedStreamId = streamIdToBytes(makeUniqueSpaceStreamId());
332
- const spaceEvents = await makeEvents(jimmysGoodContext, [
333
- make_SpacePayload_Inception({
334
- streamId: spacedStreamId,
112
+ const gdmId = streamIdToBytes(makeUniqueGDMChannelStreamId());
113
+ const gdmEvents = await makeEvents(jimmysGoodContext, [
114
+ make_GDMChannelPayload_Inception({
115
+ streamId: gdmId,
335
116
  }),
336
117
  make_MemberPayload_Membership2({
337
118
  userId: jimmysUserId,
@@ -340,22 +121,20 @@ describe('streamRpcClient', () => {
340
121
  }),
341
122
  ]);
342
123
  await jimmy.createStream({
343
- events: spaceEvents,
344
- streamId: spacedStreamId,
124
+ events: gdmEvents,
125
+ streamId: gdmId,
345
126
  });
346
- // try to leave, first with expired context, then with good context
347
127
  const addEventWith = async (context) => {
348
128
  const lastMiniblockHash = (await jimmy.getLastMiniblockHash({ streamId: jimmysUserStreamId })).hash;
349
- const messageEvent = await makeEvent(context, make_UserPayload_UserMembership({
350
- streamId: spacedStreamId,
129
+ const membershipEvent = await makeEvent(context, make_UserPayload_UserMembership({
130
+ streamId: gdmId,
351
131
  op: MembershipOp.SO_LEAVE,
352
132
  }), lastMiniblockHash);
353
133
  return jimmy.addEvent({
354
134
  streamId: jimmysUserStreamId,
355
- event: messageEvent,
135
+ event: membershipEvent,
356
136
  });
357
137
  };
358
- // test add event
359
138
  await expect(addEventWith(jimmysExpiredContext)).rejects.toThrow(expect.objectContaining({
360
139
  message: expect.stringContaining('7:PERMISSION_DENIED'),
361
140
  }));
@@ -364,8 +143,7 @@ describe('streamRpcClient', () => {
364
143
  test('cantAddWithBadHash', async () => {
365
144
  const bob = await makeTestRpcClient();
366
145
  const bobsUserId = userIdFromAddress(bobsContext.creatorAddress);
367
- const bobsUserStreamIdStr = makeUserStreamId(bobsUserId);
368
- const bobsUserStreamId = streamIdToBytes(bobsUserStreamIdStr);
146
+ const bobsUserStreamId = streamIdToBytes(makeUserStreamId(bobsUserId));
369
147
  await expect(bob.createStream({
370
148
  events: [
371
149
  await makeEvent(bobsContext, make_UserPayload_Inception({
@@ -374,13 +152,10 @@ describe('streamRpcClient', () => {
374
152
  ],
375
153
  streamId: bobsUserStreamId,
376
154
  })).resolves.not.toThrow();
377
- log('Bob created user, about to create space');
378
- // Bob creates space and channel
379
- const spacedStreamIdStr = makeUniqueSpaceStreamId();
380
- const spacedStreamId = streamIdToBytes(spacedStreamIdStr);
381
- const spaceEvents = await makeEvents(bobsContext, [
382
- make_SpacePayload_Inception({
383
- streamId: spacedStreamId,
155
+ const gdmId = streamIdToBytes(makeUniqueGDMChannelStreamId());
156
+ const gdmEvents = await makeEvents(bobsContext, [
157
+ make_GDMChannelPayload_Inception({
158
+ streamId: gdmId,
384
159
  }),
385
160
  make_MemberPayload_Membership2({
386
161
  userId: bobsUserId,
@@ -389,60 +164,36 @@ describe('streamRpcClient', () => {
389
164
  }),
390
165
  ]);
391
166
  await bob.createStream({
392
- events: spaceEvents,
393
- streamId: spacedStreamId,
167
+ events: gdmEvents,
168
+ streamId: gdmId,
394
169
  });
395
- log('Bob created space, about to create channel');
396
- const channelIdStr = makeUniqueChannelStreamId(spacedStreamIdStr);
397
- const channelId = streamIdToBytes(channelIdStr);
398
- const channelEvents = await makeEvents(bobsContext, [
399
- make_ChannelPayload_Inception({
400
- streamId: channelId,
401
- }),
402
- make_MemberPayload_Membership2({
403
- userId: bobsUserId,
404
- op: MembershipOp.SO_JOIN,
405
- initiatorId: bobsUserId,
406
- }),
407
- ]);
408
- await bob.createStream({
409
- events: channelEvents,
410
- streamId: channelId,
411
- });
412
- log('Bob created channel');
413
- log('Bob fails to create channel with badly chained initial events, hash empty');
414
- const channelId2Str = makeUniqueChannelStreamId(spacedStreamIdStr);
415
- const channelId2 = streamIdToBytes(channelId2Str);
416
- const channelEvent2_0 = await makeEvent(bobsContext, make_ChannelPayload_Inception({
417
- streamId: channelId2,
170
+ const gdmId2 = streamIdToBytes(makeUniqueGDMChannelStreamId());
171
+ const gdmEvent2_0 = await makeEvent(bobsContext, make_GDMChannelPayload_Inception({
172
+ streamId: gdmId2,
418
173
  }));
419
- log('Bob fails to create channel with badly chained initial events, wrong hash value');
420
- const channelEvent2_2 = await makeEvent(bobsContext, make_MemberPayload_Membership2({
174
+ const gdmEvent2_1 = await makeEvent(bobsContext, make_MemberPayload_Membership2({
421
175
  userId: bobsUserId,
422
176
  op: MembershipOp.SO_JOIN,
423
177
  initiatorId: bobsUserId,
424
- }), Uint8Array.from(Array(32).fill('1')));
425
- // TODO: fix up error codes Err.BAD_PREV_EVENTS
178
+ }), Uint8Array.from(Array(32).fill(1)));
426
179
  await expect(bob.createStream({
427
- events: [channelEvent2_0, channelEvent2_2],
428
- streamId: channelId2,
180
+ events: [gdmEvent2_0, gdmEvent2_1],
181
+ streamId: gdmId2,
429
182
  })).rejects.toThrow(expect.objectContaining({
430
183
  message: expect.stringContaining('19:BAD_STREAM_CREATION_PARAMS'),
431
184
  }));
432
- log('Bob adds event with correct hash');
433
- const lastMiniblockHash = (await bob.getLastMiniblockHash({ streamId: channelId })).hash;
434
- const messageEvent = await makeEvent(bobsContext, make_ChannelPayload_Message({
185
+ const lastMiniblockHash = (await bob.getLastMiniblockHash({ streamId: gdmId })).hash;
186
+ const messageEvent = await makeEvent(bobsContext, make_GDMChannelPayload_Message({
435
187
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
436
188
  ciphertext: 'Hello, World!',
437
189
  }), lastMiniblockHash);
438
190
  await expect(bob.addEvent({
439
- streamId: channelId,
191
+ streamId: gdmId,
440
192
  event: messageEvent,
441
193
  })).resolves.not.toThrow();
442
- log('Bob fails to add event with empty hash');
443
194
  await expect(bob.addEvent({
444
- streamId: channelId,
445
- event: await makeEvent_test(bobsContext, make_ChannelPayload_Message({
195
+ streamId: gdmId,
196
+ event: await makeEvent_test(bobsContext, make_GDMChannelPayload_Message({
446
197
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
447
198
  ciphertext: 'Hello, World!',
448
199
  })),
@@ -453,8 +204,7 @@ describe('streamRpcClient', () => {
453
204
  test('cantAddWithBadSignature', async () => {
454
205
  const bob = await makeTestRpcClient();
455
206
  const bobsUserId = userIdFromAddress(bobsContext.creatorAddress);
456
- const bobsUserStreamIdStr = makeUserStreamId(bobsUserId);
457
- const bobsUserStreamId = streamIdToBytes(bobsUserStreamIdStr);
207
+ const bobsUserStreamId = streamIdToBytes(makeUserStreamId(bobsUserId));
458
208
  await expect(bob.createStream({
459
209
  events: [
460
210
  await makeEvent(bobsContext, make_UserPayload_Inception({
@@ -463,30 +213,10 @@ describe('streamRpcClient', () => {
463
213
  ],
464
214
  streamId: bobsUserStreamId,
465
215
  })).resolves.not.toThrow();
466
- log('Bob created user, about to create space');
467
- // Bob creates space and channel
468
- const spacedStreamIdStr = makeUniqueSpaceStreamId();
469
- const spacedStreamId = streamIdToBytes(spacedStreamIdStr);
470
- const spaceEvents = await makeEvents(bobsContext, [
471
- make_SpacePayload_Inception({
472
- streamId: spacedStreamId,
473
- }),
474
- make_MemberPayload_Membership2({
475
- userId: bobsUserId,
476
- op: MembershipOp.SO_JOIN,
477
- initiatorId: bobsUserId,
478
- }),
479
- ]);
480
- await bob.createStream({
481
- events: spaceEvents,
482
- streamId: spacedStreamId,
483
- });
484
- log('Bob created space, about to create channel');
485
- const channelIdStr = makeUniqueChannelStreamId(spacedStreamIdStr);
486
- const channelId = streamIdToBytes(channelIdStr);
487
- const channelEvents = await makeEvents(bobsContext, [
488
- make_ChannelPayload_Inception({
489
- streamId: channelId,
216
+ const gdmId = streamIdToBytes(makeUniqueGDMChannelStreamId());
217
+ const gdmEvents = await makeEvents(bobsContext, [
218
+ make_GDMChannelPayload_Inception({
219
+ streamId: gdmId,
490
220
  }),
491
221
  make_MemberPayload_Membership2({
492
222
  userId: bobsUserId,
@@ -495,60 +225,39 @@ describe('streamRpcClient', () => {
495
225
  }),
496
226
  ]);
497
227
  await bob.createStream({
498
- events: channelEvents,
499
- streamId: channelId,
228
+ events: gdmEvents,
229
+ streamId: gdmId,
500
230
  });
501
- log('Bob created channel');
502
- log('Bob adds event with correct signature');
503
- const lastMiniblockHash = (await bob.getLastMiniblockHash({ streamId: channelId })).hash;
504
- const messageEvent = await makeEvent(bobsContext, make_ChannelPayload_Message({
231
+ const lastMiniblockHash = (await bob.getLastMiniblockHash({ streamId: gdmId })).hash;
232
+ const messageEvent = await makeEvent(bobsContext, make_GDMChannelPayload_Message({
505
233
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
506
234
  ciphertext: 'Hello, World!',
507
235
  }), lastMiniblockHash);
508
- channelEvents.push(messageEvent);
509
236
  await expect(bob.addEvent({
510
- streamId: channelId,
237
+ streamId: gdmId,
511
238
  event: messageEvent,
512
239
  })).resolves.not.toThrow();
513
- log('Adding event again succeeds (noop)');
514
240
  await expect(bob.addEvent({
515
- streamId: channelId,
241
+ streamId: gdmId,
516
242
  event: messageEvent,
517
243
  })).resolves.not.toThrow();
518
- log('Bob failes to add event with bad signature');
519
- const badEvent = await makeEvent(bobsContext, make_ChannelPayload_Message({
244
+ const badEvent = await makeEvent(bobsContext, make_GDMChannelPayload_Message({
520
245
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
521
246
  ciphertext: 'Nah, not really',
522
247
  }), lastMiniblockHash);
523
248
  badEvent.signature = messageEvent.signature;
524
249
  await expect(bob.addEvent({
525
- streamId: channelId,
250
+ streamId: gdmId,
526
251
  event: badEvent,
527
252
  })).rejects.toThrow('22:BAD_EVENT_SIGNATURE');
528
- log('Bob fails with outdated prev minibloc hash');
529
- const expiredEvent = await makeEvent(bobsContext, make_ChannelPayload_Message({
253
+ const expiredEvent = await makeEvent(bobsContext, make_GDMChannelPayload_Message({
530
254
  ...TEST_ENCRYPTED_MESSAGE_PROPS,
531
255
  ciphertext: 'Nah, not really',
532
- }), Uint8Array.from(Array(32).fill('1')));
256
+ }), Uint8Array.from(Array(32).fill(1)));
533
257
  await expect(bob.addEvent({
534
- streamId: channelId,
258
+ streamId: gdmId,
535
259
  event: expiredEvent,
536
260
  })).rejects.toThrow('24:BAD_PREV_MINIBLOCK_HASH');
537
261
  });
538
262
  });
539
- const waitForEvent = async (syncStream, streamId, matcher) => {
540
- for await (const res of iterableWrapper(syncStream)) {
541
- const stream = res.stream;
542
- if (stream?.nextSyncCookie?.streamId &&
543
- bin_equal(stream.nextSyncCookie.streamId, streamIdToBytes(streamId))) {
544
- const events = await unpackStreamEnvelopes(stream, undefined);
545
- for (const e of events) {
546
- if (matcher(e)) {
547
- return stream.nextSyncCookie;
548
- }
549
- }
550
- }
551
- }
552
- throw new Error('unreachable');
553
- };
554
263
  //# sourceMappingURL=streamRpcClient.test.js.map