@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
@@ -2,10 +2,10 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-call */
3
3
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
4
4
  import { _impl_makeEvent_impl_, unpackStreamEnvelopes } from '../sign';
5
- import { MembershipOp, SyncOp, EncryptedDataVersion, } from '@towns-labs/proto';
5
+ import { SyncOp, EncryptedDataVersion, } from '@towns-labs/proto';
6
6
  import { Client } from '../client';
7
7
  import { townsEnv } from '../townsEnv';
8
- import { genId, makeSpaceStreamId, makeDefaultChannelStreamId, makeUniqueChannelStreamId, makeUserStreamId, userIdFromAddress, } from '../id';
8
+ import { genId, makeUniqueGDMChannelStreamId, userIdFromAddress } from '../id';
9
9
  import { secp256k1 } from '@noble/curves/secp256k1';
10
10
  import { bin_fromHexString, check, dlog, publicKeyToAddress } from '@towns-labs/utils';
11
11
  import { ethers } from 'ethers';
@@ -13,14 +13,10 @@ import { RiverDbManager } from '../riverDbManager';
13
13
  import { makeStreamRpcClient } from '../makeStreamRpcClient';
14
14
  import { forEachRight } from 'lodash-es';
15
15
  import { makeSignerContext } from '../signerContext';
16
- import { LocalhostWeb3Provider, createExternalNFTStruct, createSpaceDapp, Permission, isLegacyMembershipType, ETH_ADDRESS, NoopRuleData, CheckOperationType, LogicalOperationType, OperationType, treeToRuleData, TestERC20, TestERC1155, TestCrossChainEntitlement, isCreateLegacySpaceParams, convertRuleDataV1ToV2, encodeRuleDataV2, decodeRuleDataV2, isRuleDataV1, encodeThresholdParams, encodeERC1155Params, convertRuleDataV2ToV1, getFixedPricingModule, getDynamicPricingModule, } from '@towns-labs/web3';
16
+ import { LocalhostWeb3Provider } from '@towns-labs/web3';
17
17
  import { RiverTimelineEvent } from '../views/models/timelineTypes';
18
- import { SyncState } from '../syncedStreamsLoop';
19
18
  import { isDefined } from '../check';
20
19
  const log = dlog('csb:test:util');
21
- function useLegacySpaces() {
22
- return process.env.USE_LEGACY_SPACES === 'true';
23
- }
24
20
  const initTestUrls = async () => {
25
21
  const config = townsEnv().makeRiverChainConfig();
26
22
  const urls = townsEnv().getNodeUrl();
@@ -76,66 +72,12 @@ export const TEST_ENCRYPTED_MESSAGE_PROPS = {
76
72
  ivBytes: new Uint8Array(0),
77
73
  version: EncryptedDataVersion.ENCRYPTED_DATA_VERSION_1,
78
74
  };
79
- export const getXchainConfigForTesting = () => {
80
- // TODO: generate this for test environment and read from it
81
- return {
82
- supportedRpcUrls: {
83
- 31337: 'http://127.0.0.1:8545',
84
- 31338: 'http://127.0.0.1:8546',
85
- },
86
- etherNativeNetworkIds: [31337, 31338],
87
- ethereumNetworkIds: [],
88
- };
89
- };
90
- export async function erc1155CheckOp(contractName, tokenId, threshold) {
91
- const contractAddress = await TestERC1155.getContractAddress(contractName);
92
- return {
93
- opType: OperationType.CHECK,
94
- checkType: CheckOperationType.ERC1155,
95
- chainId: 31337n,
96
- contractAddress,
97
- params: encodeERC1155Params({ threshold, tokenId }),
98
- };
99
- }
100
- export async function erc20CheckOp(contractName, threshold) {
101
- const contractAddress = await TestERC20.getContractAddress(contractName);
102
- return {
103
- opType: OperationType.CHECK,
104
- checkType: CheckOperationType.ERC20,
105
- chainId: 31337n,
106
- contractAddress,
107
- params: encodeThresholdParams({ threshold }),
108
- };
109
- }
110
- export async function mockCrossChainCheckOp(contractName, id) {
111
- const contractAddress = await TestCrossChainEntitlement.getContractAddress(contractName);
112
- return {
113
- opType: OperationType.CHECK,
114
- checkType: CheckOperationType.ISENTITLED,
115
- chainId: 31337n,
116
- contractAddress,
117
- params: TestCrossChainEntitlement.encodeIdParameter(id),
118
- };
119
- }
120
75
  export const twoEth = BigInt(2e18);
121
76
  export const oneEth = BigInt(1e18);
122
77
  export const threeEth = BigInt(3e18);
123
78
  export const oneHalfEth = BigInt(5e17);
124
- export function ethBalanceCheckOp(threshold) {
125
- return {
126
- opType: OperationType.CHECK,
127
- checkType: CheckOperationType.ETH_BALANCE,
128
- chainId: 31337n,
129
- contractAddress: ethers.constants.AddressZero,
130
- params: encodeThresholdParams({ threshold }),
131
- };
132
- }
133
- /**
134
- * makeUniqueSpaceStreamId - space stream ids are derived from the contract
135
- * in tests without entitlements there are no contracts, so we use a random id
136
- */
137
- export const makeUniqueSpaceStreamId = () => {
138
- return makeSpaceStreamId(genId(40));
79
+ export const makeUniqueGDMStreamId = () => {
80
+ return makeUniqueGDMChannelStreamId();
139
81
  };
140
82
  /**
141
83
  *
@@ -205,9 +147,6 @@ export async function setupWalletsAndContexts() {
205
147
  bobProvider.fundWallet(),
206
148
  carolProvider.fundWallet(),
207
149
  ]);
208
- const bobSpaceDapp = createSpaceDapp(bobProvider, baseConfig.chainConfig);
209
- const aliceSpaceDapp = createSpaceDapp(aliceProvider, baseConfig.chainConfig);
210
- const carolSpaceDapp = createSpaceDapp(carolProvider, baseConfig.chainConfig);
211
150
  // create a user
212
151
  const [alice, bob, carol] = await Promise.all([
213
152
  makeTestClient({
@@ -234,9 +173,6 @@ export async function setupWalletsAndContexts() {
234
173
  aliceProvider,
235
174
  bobProvider,
236
175
  carolProvider,
237
- aliceSpaceDapp,
238
- bobSpaceDapp,
239
- carolSpaceDapp,
240
176
  };
241
177
  }
242
178
  class DonePromise {
@@ -318,355 +254,7 @@ export const lastEventFiltered = (events, f) => {
318
254
  });
319
255
  return ret;
320
256
  };
321
- // createSpaceAndDefaultChannel creates a space and default channel for a given
322
- // client, on the spaceDapp and the stream node. It creates a user stream, joins
323
- // the user to the space, and starts syncing the client.
324
- export async function createSpaceAndDefaultChannel(client, spaceDapp, wallet, name, membership) {
325
- const transaction = await createVersionedSpaceFromMembership(client, spaceDapp, wallet, name, membership);
326
- const receipt = await transaction.wait();
327
- expect(receipt.status).toEqual(1);
328
- const spaceAddress = spaceDapp.getSpaceAddress(receipt, wallet.address);
329
- expect(spaceAddress).toBeDefined();
330
- const spaceId = makeSpaceStreamId(spaceAddress);
331
- const channelId = makeDefaultChannelStreamId(spaceAddress);
332
- await client.initializeUser({ spaceId });
333
- client.startSync();
334
- const userStreamId = makeUserStreamId(client.userId);
335
- const userStreamView = client.stream(userStreamId).view;
336
- expect(userStreamView).toBeDefined();
337
- const returnVal = await client.createSpace(spaceId);
338
- expect(returnVal.streamId).toEqual(spaceId);
339
- await waitFor(() => expect(userStreamView.userContent.isMember(spaceId, MembershipOp.SO_JOIN), `waitFor ${spaceId} in ${userStreamId}`).toBe(true));
340
- const channelReturnVal = await client.createChannel(spaceId, 'general', `${name} general channel properties`, channelId);
341
- expect(channelReturnVal.streamId).toEqual(channelId);
342
- await waitFor(() => expect(userStreamView.userContent.isMember(channelId, MembershipOp.SO_JOIN), `waitFor ${channelId} in ${userStreamId}`).toBe(true));
343
- return {
344
- spaceId,
345
- defaultChannelId: channelId,
346
- userStreamView,
347
- };
348
- }
349
257
  export const DefaultFreeAllocation = 1000;
350
- export async function createVersionedSpaceFromMembership(client, spaceDapp, wallet, name, membership) {
351
- if (useLegacySpaces()) {
352
- if (isLegacyMembershipType(membership)) {
353
- return await spaceDapp.createLegacySpace({
354
- spaceName: `${name}-space`,
355
- uri: `${name}-space-metadata`,
356
- channelName: 'general',
357
- membership,
358
- }, wallet);
359
- }
360
- else {
361
- // Convert space params to legacy space params
362
- const legacyMembership = {
363
- settings: membership.settings,
364
- permissions: membership.permissions,
365
- requirements: {
366
- everyone: membership.requirements.everyone,
367
- users: membership.requirements.users,
368
- syncEntitlements: membership.requirements.syncEntitlements,
369
- ruleData: convertRuleDataV2ToV1(decodeRuleDataV2(membership.requirements.ruleData)),
370
- },
371
- };
372
- return await spaceDapp.createLegacySpace({
373
- spaceName: `${name}-space`,
374
- uri: `${name}-space-metadata`,
375
- channelName: 'general',
376
- membership: legacyMembership,
377
- }, wallet);
378
- }
379
- }
380
- else {
381
- if (isLegacyMembershipType(membership)) {
382
- // Convert legacy space params to current space params
383
- membership = {
384
- settings: membership.settings,
385
- permissions: membership.permissions,
386
- requirements: {
387
- everyone: membership.requirements.everyone,
388
- users: [],
389
- syncEntitlements: false,
390
- ruleData: encodeRuleDataV2(convertRuleDataV1ToV2(membership.requirements.ruleData)),
391
- },
392
- };
393
- }
394
- return await spaceDapp.createSpace({
395
- spaceName: `${name}-space`,
396
- uri: `${name}-space-metadata`,
397
- channelName: 'general',
398
- membership,
399
- }, wallet);
400
- }
401
- }
402
- // createVersionedSpace accepts either legacy or current space creation parameters and will
403
- // fall backto the legacy space creation endpoint on the spaceDapp if the appropriate flag is set.
404
- // If a user does not pass in a legacy space creation parameter, the function will not use
405
- // the legacy space creation endpoint, because the updated parameters are not backwards
406
- // compatible - we don't attempt conversion here.
407
- export async function createVersionedSpace(spaceDapp, createSpaceParams, signer) {
408
- if (useLegacySpaces() && isCreateLegacySpaceParams(createSpaceParams)) {
409
- return await spaceDapp.createLegacySpace(createSpaceParams, signer);
410
- }
411
- else {
412
- if (isCreateLegacySpaceParams(createSpaceParams)) {
413
- // Convert legacy space params to current space params
414
- createSpaceParams = {
415
- spaceName: createSpaceParams.spaceName,
416
- uri: createSpaceParams.uri,
417
- channelName: createSpaceParams.channelName,
418
- membership: {
419
- settings: createSpaceParams.membership.settings,
420
- permissions: createSpaceParams.membership.permissions,
421
- requirements: {
422
- everyone: createSpaceParams.membership.requirements.everyone,
423
- users: [],
424
- syncEntitlements: false,
425
- ruleData: encodeRuleDataV2(convertRuleDataV1ToV2(createSpaceParams.membership.requirements
426
- .ruleData)),
427
- },
428
- },
429
- };
430
- }
431
- return await spaceDapp.createSpace(createSpaceParams, signer);
432
- }
433
- }
434
- // createUserStreamAndSyncClient creates a user stream for a given client that
435
- // uses a newly created space as the hint for the user stream, since the stream
436
- // node will not allow the creation of a user stream without a space id.
437
- //
438
- // If the membership info is a legacy membership struct and the legacy space flag
439
- // is set, the function will create a legacy space. Otherwise, it will convert the
440
- // legacy membership struct to a current membership struct if needed and use the
441
- // latest space creation endpoint.
442
- export async function createUserStreamAndSyncClient(client, spaceDapp, name, membershipInfo, wallet) {
443
- let createSpaceParams;
444
- if (isLegacyMembershipType(membershipInfo)) {
445
- createSpaceParams = {
446
- spaceName: `${name}-space`,
447
- uri: `${name}-space-metadata`,
448
- channelName: 'general',
449
- membership: membershipInfo,
450
- };
451
- }
452
- else {
453
- createSpaceParams = {
454
- spaceName: `${name}-space`,
455
- uri: `${name}-space-metadata`,
456
- channelName: 'general',
457
- membership: membershipInfo,
458
- };
459
- }
460
- const transaction = await createVersionedSpace(spaceDapp, createSpaceParams, wallet);
461
- const receipt = await transaction.wait();
462
- expect(receipt.status).toEqual(1);
463
- const spaceAddress = spaceDapp.getSpaceAddress(receipt, wallet.address);
464
- expect(spaceAddress).toBeDefined();
465
- const spaceId = makeSpaceStreamId(spaceAddress);
466
- await client.initializeUser({ spaceId });
467
- }
468
- export async function expectUserCanJoin(spaceId, channelId, name, client, spaceDapp, address, wallet) {
469
- const joinStart = Date.now();
470
- // Check that the local evaluation of the user's entitlements for joining the space
471
- // passes.
472
- const entitledWallet = await spaceDapp.getEntitledWalletForJoiningSpace(spaceId, address, getXchainConfigForTesting());
473
- expect(entitledWallet).toBeDefined();
474
- const { issued } = await spaceDapp.joinSpace(spaceId, address, wallet);
475
- expect(issued).toBe(true);
476
- log(`${name} joined space ${spaceId}`, Date.now() - joinStart);
477
- await client.initializeUser({ spaceId });
478
- client.startSync();
479
- await waitFor(() => expect(client.streams.syncState).toBe(SyncState.Syncing));
480
- await expect(client.joinStream(spaceId)).resolves.not.toThrow();
481
- await expect(client.joinStream(channelId)).resolves.not.toThrow();
482
- const userStreamView = client.stream(client.userStreamId).view;
483
- await waitFor(() => {
484
- expect(userStreamView.userContent.isMember(spaceId, MembershipOp.SO_JOIN), `waitFor ${spaceId} in ${client.userStreamId}`).toBe(true);
485
- expect(userStreamView.userContent.isMember(channelId, MembershipOp.SO_JOIN), `waitFor ${channelId} in ${client.userStreamId}`).toBe(true);
486
- });
487
- }
488
- export async function everyoneMembershipStruct(spaceDapp, client) {
489
- const { fixedPricingModuleAddress, freeAllocation, price } = await getFreeSpacePricingSetup(spaceDapp);
490
- return {
491
- settings: {
492
- name: 'Everyone',
493
- symbol: 'MEMBER',
494
- price,
495
- maxSupply: 1000,
496
- duration: 0,
497
- currency: ETH_ADDRESS,
498
- feeRecipient: client.userId,
499
- freeAllocation,
500
- pricingModule: fixedPricingModuleAddress,
501
- },
502
- permissions: [Permission.Read, Permission.Write],
503
- requirements: {
504
- everyone: true,
505
- users: [],
506
- ruleData: NoopRuleData,
507
- syncEntitlements: false,
508
- },
509
- };
510
- }
511
- // should start charging after the first member joins
512
- export async function zeroPriceWithLimitedAllocationMembershipStruct(spaceDapp, client, opts) {
513
- const { fixedPricingModuleAddress, price } = await getFreeSpacePricingSetup(spaceDapp);
514
- const { freeAllocation } = opts;
515
- const settings = {
516
- settings: {
517
- name: 'Everyone',
518
- symbol: 'MEMBER',
519
- price,
520
- maxSupply: 1000,
521
- duration: 0,
522
- currency: ETH_ADDRESS,
523
- feeRecipient: client.userId,
524
- freeAllocation,
525
- pricingModule: fixedPricingModuleAddress,
526
- },
527
- permissions: [Permission.Read, Permission.Write],
528
- requirements: {
529
- everyone: true,
530
- users: [],
531
- ruleData: NoopRuleData,
532
- syncEntitlements: false,
533
- },
534
- };
535
- return settings;
536
- }
537
- // should start charing for the first member
538
- export async function dynamicMembershipStruct(spaceDapp, client) {
539
- const dynamicPricingModule = await getDynamicPricingModule(spaceDapp);
540
- expect(dynamicPricingModule).toBeDefined();
541
- return {
542
- settings: {
543
- name: 'Everyone',
544
- symbol: 'MEMBER',
545
- price: 0,
546
- maxSupply: 1000,
547
- duration: 0,
548
- currency: ETH_ADDRESS,
549
- feeRecipient: client.userId,
550
- freeAllocation: 0,
551
- pricingModule: dynamicPricingModule.module,
552
- },
553
- permissions: [Permission.Read, Permission.Write],
554
- requirements: {
555
- everyone: true,
556
- users: [],
557
- ruleData: NoopRuleData,
558
- syncEntitlements: false,
559
- },
560
- };
561
- }
562
- // should start charging after the first member joins
563
- export async function fixedPriceMembershipStruct(spaceDapp, client, opts = { price: 1 }) {
564
- const fixedPricingModule = await getFixedPricingModule(spaceDapp);
565
- expect(fixedPricingModule).toBeDefined();
566
- const { price } = opts;
567
- const settings = {
568
- settings: {
569
- name: 'Everyone',
570
- symbol: 'MEMBER',
571
- price: ethers.utils.parseEther(price.toString()),
572
- maxSupply: 1000,
573
- duration: 0,
574
- currency: ETH_ADDRESS,
575
- feeRecipient: client.userId,
576
- freeAllocation: 0,
577
- pricingModule: fixedPricingModule.module,
578
- },
579
- permissions: [Permission.Read, Permission.Write],
580
- requirements: {
581
- everyone: true,
582
- users: [],
583
- ruleData: NoopRuleData,
584
- syncEntitlements: false,
585
- },
586
- };
587
- return settings;
588
- }
589
- export async function getFreeSpacePricingSetup(spaceDapp) {
590
- const fixedPricingModule = await getFixedPricingModule(spaceDapp);
591
- expect(fixedPricingModule).toBeDefined();
592
- return {
593
- price: 0,
594
- fixedPricingModuleAddress: fixedPricingModule.module,
595
- freeAllocation: DefaultFreeAllocation,
596
- };
597
- }
598
- export function twoNftRuleData(nft1Address, nft2Address, logOpType = LogicalOperationType.AND) {
599
- const leftOperation = {
600
- opType: OperationType.CHECK,
601
- checkType: CheckOperationType.ERC721,
602
- chainId: 31337n,
603
- contractAddress: nft1Address,
604
- params: encodeThresholdParams({ threshold: 1n }),
605
- };
606
- const rightOperation = {
607
- opType: OperationType.CHECK,
608
- checkType: CheckOperationType.ERC721,
609
- chainId: 31337n,
610
- contractAddress: nft2Address,
611
- params: encodeThresholdParams({ threshold: 1n }),
612
- };
613
- const root = {
614
- opType: OperationType.LOGICAL,
615
- logicalType: logOpType,
616
- leftOperation,
617
- rightOperation,
618
- };
619
- return treeToRuleData(root);
620
- }
621
- export async function unlinkCaller(rootSpaceDapp, rootWallet, caller) {
622
- const walletLink = rootSpaceDapp.getWalletLink();
623
- let txn;
624
- try {
625
- txn = await walletLink.removeCallerLink(caller);
626
- }
627
- catch (err) {
628
- const parsedError = walletLink.parseError(err);
629
- log('linkWallets error', parsedError);
630
- }
631
- expect(txn).toBeDefined();
632
- const receipt = await txn?.wait();
633
- expect(receipt.status).toEqual(1);
634
- const linkedWallets = await walletLink.getLinkedWallets(rootWallet.address);
635
- expect(linkedWallets).not.toContain(caller.address);
636
- }
637
- export async function unlinkWallet(rootSpaceDapp, rootWallet, linkedWallet) {
638
- const walletLink = rootSpaceDapp.getWalletLink();
639
- let txn;
640
- try {
641
- txn = await walletLink.removeLink(rootWallet, linkedWallet.address);
642
- }
643
- catch (err) {
644
- const parsedError = walletLink.parseError(err);
645
- log('linkWallets error', parsedError);
646
- }
647
- expect(txn).toBeDefined();
648
- const receipt = await txn?.wait();
649
- expect(receipt.status).toEqual(1);
650
- const linkedWallets = await walletLink.getLinkedWallets(rootWallet.address);
651
- expect(linkedWallets).not.toContain(linkedWallet.address);
652
- }
653
- // Hint: pass in the wallets attached to the providers.
654
- export async function linkWallets(rootSpaceDapp, rootWallet, linkedWallet) {
655
- const walletLink = rootSpaceDapp.getWalletLink();
656
- let txn;
657
- try {
658
- txn = await walletLink.linkWalletToRootKey(rootWallet, linkedWallet);
659
- }
660
- catch (err) {
661
- const parsedError = walletLink.parseError(err);
662
- log('linkWallets error', parsedError);
663
- }
664
- expect(txn).toBeDefined();
665
- const receipt = await txn?.wait();
666
- expect(receipt.status).toEqual(1);
667
- const linkedWallets = await walletLink.getLinkedWallets(rootWallet.address);
668
- expect(linkedWallets).toContain(linkedWallet.address);
669
- }
670
258
  /// wait for a value, return the value if it is defined, otherwise throw an error or return undefined. false is a valid value.
671
259
  export function waitForValue(callback, options = { timeoutMS: 10000 }) {
672
260
  const tmpError = new Error('tmp');
@@ -800,7 +388,7 @@ export async function waitForSyncStreamsMessage(syncStreams, message) {
800
388
  if (stream) {
801
389
  const env = await unpackStreamEnvelopes(stream, undefined);
802
390
  for (const e of env) {
803
- if (e.event.payload.case === 'channelPayload') {
391
+ if (e.event.payload.case === 'gdmChannelPayload') {
804
392
  const p = e.event.payload.value.content;
805
393
  if (p.case === 'message' && p.value.ciphertext === message) {
806
394
  return true;
@@ -841,78 +429,6 @@ export function isValidEthAddress(address) {
841
429
  const ethAddressRegex = /^(0x)?[0-9a-fA-F]{40}$/;
842
430
  return ethAddressRegex.test(address);
843
431
  }
844
- export function getNftRuleData(testNftAddress) {
845
- return createExternalNFTStruct([testNftAddress]);
846
- }
847
- // createRole creates a role on the spaceDapp with the given parameters, using the legacy endpoint
848
- // if the USE_LEGACY_SPACES environment variable is set and converting the ruleData into the correct
849
- // format as necessary. Be aware, though, that the legacy endpoint does not support erc1155 checks.
850
- export async function createRole(spaceDapp, provider, spaceId, roleName, permissions, users, ruleData, signer) {
851
- let txn = undefined;
852
- let error = undefined;
853
- if (useLegacySpaces()) {
854
- try {
855
- if (!isRuleDataV1(ruleData)) {
856
- ruleData = convertRuleDataV2ToV1(ruleData);
857
- }
858
- txn = await spaceDapp.legacyCreateRole(spaceId, roleName, permissions, users, ruleData, signer);
859
- }
860
- catch (err) {
861
- error = spaceDapp.parseSpaceError(spaceId, err);
862
- return { roleId: undefined, error };
863
- }
864
- }
865
- else {
866
- if (isRuleDataV1(ruleData)) {
867
- ruleData = convertRuleDataV1ToV2(ruleData);
868
- }
869
- try {
870
- txn = await spaceDapp.createRole(spaceId, roleName, permissions, users, ruleData, signer);
871
- }
872
- catch (err) {
873
- error = spaceDapp.parseSpaceError(spaceId, err);
874
- return { roleId: undefined, error };
875
- }
876
- }
877
- const { roleId, error: roleError } = await waitForRoleCreated(spaceDapp, spaceId, txn);
878
- return { roleId, error: roleError };
879
- }
880
- export async function updateRole(spaceDapp, provider, params, signer) {
881
- let txn = undefined;
882
- let error = undefined;
883
- if (useLegacySpaces()) {
884
- throw new Error('updateRole is v2 only');
885
- }
886
- try {
887
- txn = await spaceDapp.updateRole(params, signer);
888
- }
889
- catch (err) {
890
- error = spaceDapp.parseSpaceError(params.spaceNetworkId, err);
891
- return { error };
892
- }
893
- const receipt = await provider.waitForTransaction(txn.hash);
894
- if (receipt.status === 0) {
895
- return { error: new Error('Transaction failed') };
896
- }
897
- return { error: undefined };
898
- }
899
- export async function createChannel(spaceDapp, provider, spaceId, channelName, roleIds, signer) {
900
- let txn = undefined;
901
- let error = undefined;
902
- const channelId = makeUniqueChannelStreamId(spaceId);
903
- try {
904
- txn = await spaceDapp.createChannel(spaceId, channelName, '', channelId, roleIds, signer);
905
- }
906
- catch (err) {
907
- error = spaceDapp.parseSpaceError(spaceId, err);
908
- return { channelId: undefined, error };
909
- }
910
- const receipt = await provider.waitForTransaction(txn.hash);
911
- if (receipt.status === 0) {
912
- return { channelId: undefined, error: new Error('Transaction failed') };
913
- }
914
- return { channelId, error: undefined };
915
- }
916
432
  // Type guard function based on field checks
917
433
  export function isEncryptedData(obj) {
918
434
  if (typeof obj !== 'object' || obj === null) {
@@ -926,128 +442,6 @@ export function isEncryptedData(obj) {
926
442
  (typeof data.checksum === 'string' || data.checksum === undefined) &&
927
443
  (typeof data.refEventId === 'string' || data.refEventId === undefined));
928
444
  }
929
- // Users need to be mapped from 'alice', 'bob', etc to their wallet addresses,
930
- // because the wallets are created within this helper method.
931
- export async function createTownWithRequirements(requirements) {
932
- const { alice, bob, carol, aliceSpaceDapp, bobSpaceDapp, carolSpaceDapp, aliceProvider, bobProvider, carolProvider, alicesWallet, bobsWallet, carolsWallet, } = await setupWalletsAndContexts();
933
- const { fixedPricingModuleAddress, freeAllocation, price } = await getFreeSpacePricingSetup(bobSpaceDapp);
934
- const userNameToWallet = {
935
- alice: alicesWallet.address,
936
- bob: bobsWallet.address,
937
- carol: carolsWallet.address,
938
- };
939
- requirements.users = requirements.users.map((user) => userNameToWallet[user]);
940
- const membershipInfo = {
941
- settings: {
942
- name: 'Everyone',
943
- symbol: 'MEMBER',
944
- price,
945
- maxSupply: 1000,
946
- duration: requirements.duration ?? 0,
947
- currency: ETH_ADDRESS,
948
- feeRecipient: bob.userId,
949
- freeAllocation,
950
- pricingModule: fixedPricingModuleAddress,
951
- },
952
- permissions: [Permission.Read, Permission.Write],
953
- requirements: {
954
- everyone: requirements.everyone,
955
- users: requirements.users,
956
- ruleData: encodeRuleDataV2(requirements.ruleData),
957
- syncEntitlements: false,
958
- },
959
- };
960
- // This helper method validates that the owner can join the space and default channel.
961
- const { spaceId, defaultChannelId: channelId, userStreamView: bobUserStreamView, } = await createSpaceAndDefaultChannel(bob, bobSpaceDapp, bobProvider.wallet, 'bobs', membershipInfo);
962
- // Validate that owner passes entitlement check
963
- const entitledWallet = await bobSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, bobsWallet.address, getXchainConfigForTesting());
964
- expect(entitledWallet).toBeDefined();
965
- return {
966
- alice,
967
- bob,
968
- carol,
969
- aliceSpaceDapp,
970
- bobSpaceDapp,
971
- carolSpaceDapp,
972
- aliceProvider,
973
- bobProvider,
974
- carolProvider,
975
- alicesWallet,
976
- bobsWallet,
977
- carolsWallet,
978
- spaceId,
979
- channelId,
980
- bobUserStreamView,
981
- };
982
- }
983
- export async function expectUserCannotJoinSpace(spaceId, client, spaceDapp, address) {
984
- // Check that the local evaluation of the user's entitlements for joining the space
985
- // fails.
986
- const entitledWallet = await spaceDapp.getEntitledWalletForJoiningSpace(spaceId, address, getXchainConfigForTesting());
987
- expect(entitledWallet).toBeUndefined();
988
- await expect(client.joinStream(spaceId)).rejects.toThrow(/PERMISSION_DENIED/);
989
- }
990
- // pass in users as 'alice', 'bob', 'carol' - b/c their wallets are created here
991
- export async function setupChannelWithCustomRole(userNames, ruleData, permissions = [Permission.Read]) {
992
- const { alice, bob, carol, alicesWallet, bobsWallet, carolsWallet, aliceProvider, bobProvider, carolProvider, aliceSpaceDapp, bobSpaceDapp, carolSpaceDapp, } = await setupWalletsAndContexts();
993
- const userNameToWallet = {
994
- alice: alicesWallet.address,
995
- bob: bobsWallet.address,
996
- carol: carolsWallet.address,
997
- };
998
- const users = userNames.map((user) => userNameToWallet[user]);
999
- const { spaceId, defaultChannelId } = await createSpaceAndDefaultChannel(bob, bobSpaceDapp, bobProvider.wallet, 'bob', await everyoneMembershipStruct(bobSpaceDapp, bob));
1000
- const { roleId, error: roleError } = await createRole(bobSpaceDapp, bobProvider, spaceId, 'gated role', permissions, users, ruleData, bobProvider.wallet);
1001
- expect(roleError).toBeUndefined();
1002
- log('roleId', roleId);
1003
- // Create a channel gated by the above role in the space contract.
1004
- const { channelId, error: channelError } = await createChannel(bobSpaceDapp, bobProvider, spaceId, 'custom-role-gated-channel', [roleId.valueOf()], bobProvider.wallet);
1005
- expect(channelError).toBeUndefined();
1006
- log('channelId', channelId);
1007
- // Then, establish a stream for the channel on the river node.
1008
- const { streamId: channelStreamId } = await bob.createChannel(spaceId, 'nft-gated-channel', 'talk about nfts here', channelId);
1009
- expect(channelStreamId).toEqual(channelId);
1010
- // As the space owner, Bob should always be able to join the channel regardless of the custom role.
1011
- await expect(bob.joinStream(channelId)).resolves.not.toThrow();
1012
- // Join alice to the town so she can attempt to join the role-gated channel.
1013
- // Alice should have no issue joining the space and default channel for an "everyone" town.
1014
- await expectUserCanJoin(spaceId, defaultChannelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
1015
- // Add carol to the space also so she can attempt to join role-gated channels.
1016
- await expectUserCanJoin(spaceId, defaultChannelId, 'carol', carol, carolSpaceDapp, carolsWallet.address, carolProvider.wallet);
1017
- return {
1018
- alice,
1019
- bob,
1020
- carol,
1021
- alicesWallet,
1022
- bobsWallet,
1023
- carolsWallet,
1024
- aliceProvider,
1025
- bobProvider,
1026
- carolProvider,
1027
- aliceSpaceDapp,
1028
- bobSpaceDapp,
1029
- carolSpaceDapp,
1030
- spaceId,
1031
- defaultChannelId,
1032
- channelId,
1033
- roleId,
1034
- };
1035
- }
1036
- export async function expectUserCanJoinChannel(client, spaceDapp, spaceId, channelId) {
1037
- // Space dapp should evaluate the user as entitled to the channel
1038
- await expect(spaceDapp.isEntitledToChannel(spaceId, channelId, client.userId, Permission.Read, getXchainConfigForTesting())).resolves.toBeTruthy();
1039
- // Stream node should allow the join
1040
- await expect(client.joinStream(channelId)).resolves.not.toThrow();
1041
- const userStreamView = (await client.waitForStream(makeUserStreamId(client.userId))).view;
1042
- // Wait for alice's user stream to have the join
1043
- await waitFor(() => expect(userStreamView.userContent.isMember(channelId, MembershipOp.SO_JOIN), `waitFor ${channelId} in ${client.userStreamId}`).toBe(true));
1044
- }
1045
- export async function expectUserCannotJoinChannel(client, spaceDapp, spaceId, channelId) {
1046
- // Space dapp should evaluate the user as not entitled to the channel
1047
- await expect(spaceDapp.isEntitledToChannel(spaceId, channelId, client.userId, Permission.Read, getXchainConfigForTesting())).resolves.toBeFalsy();
1048
- // Stream node should not allow the join
1049
- await expect(client.joinStream(channelId)).rejects.toThrow(/7:PERMISSION_DENIED/);
1050
- }
1051
445
  export const findMessageByText = (events, text) => {
1052
446
  return events.find((event) => event.content?.kind === RiverTimelineEvent.ChannelMessage &&
1053
447
  event.content.body === text);
@@ -1070,17 +464,4 @@ export function extractMemberBlockchainTransactions(client, channelId) {
1070
464
  throw new Error('no stream found');
1071
465
  return stream.view.getMembers().tokenTransfers;
1072
466
  }
1073
- export async function waitForRoleCreated(spaceDapp, spaceId, txn) {
1074
- const receipt = await spaceDapp.provider.waitForTransaction(txn.hash);
1075
- if (receipt.status === 0) {
1076
- return { roleId: undefined, error: new Error('Transaction failed') };
1077
- }
1078
- const parsedLogs = await spaceDapp.parseSpaceLogs(spaceId, receipt.logs);
1079
- const roleCreatedEvent = parsedLogs.find((log) => log?.name === 'RoleCreated');
1080
- if (!roleCreatedEvent) {
1081
- return { roleId: undefined, error: new Error('RoleCreated event not found') };
1082
- }
1083
- const roleId = roleCreatedEvent.args[1].toNumber();
1084
- return { roleId, error: undefined };
1085
- }
1086
467
  //# sourceMappingURL=testUtils.js.map