@towns-labs/sdk 2.0.12 → 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.
- package/dist/client.d.ts +11 -31
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +68 -327
- package/dist/client.js.map +1 -1
- package/dist/clientDecryptionExtensions.d.ts.map +1 -1
- package/dist/clientDecryptionExtensions.js +10 -28
- package/dist/clientDecryptionExtensions.js.map +1 -1
- package/dist/createApp.d.ts +1 -1
- package/dist/createApp.d.ts.map +1 -1
- package/dist/createApp.js +6 -2
- package/dist/createApp.js.map +1 -1
- package/dist/id.d.ts +1 -17
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +1 -53
- package/dist/id.js.map +1 -1
- package/dist/index.d.ts +0 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +1 -1
- package/dist/migrations/snapshotMigration0001.d.ts.map +1 -1
- package/dist/migrations/snapshotMigration0001.js +0 -4
- package/dist/migrations/snapshotMigration0001.js.map +1 -1
- package/dist/migrations/snapshotMigration0002.d.ts.map +1 -1
- package/dist/migrations/snapshotMigration0002.js +1 -19
- package/dist/migrations/snapshotMigration0002.js.map +1 -1
- package/dist/migrations/snapshotMigration0004.d.ts.map +1 -1
- package/dist/migrations/snapshotMigration0004.js +1 -27
- package/dist/migrations/snapshotMigration0004.js.map +1 -1
- package/dist/migrations/snapshotMigration0005.d.ts.map +1 -1
- package/dist/migrations/snapshotMigration0005.js +1 -26
- package/dist/migrations/snapshotMigration0005.js.map +1 -1
- package/dist/notificationsClient.d.ts +1 -5
- package/dist/notificationsClient.d.ts.map +1 -1
- package/dist/notificationsClient.js +2 -103
- package/dist/notificationsClient.js.map +1 -1
- package/dist/persistenceStore.d.ts.map +1 -1
- package/dist/persistenceStore.js +6 -18
- package/dist/persistenceStore.js.map +1 -1
- package/dist/streamEvents.d.ts +0 -6
- package/dist/streamEvents.d.ts.map +1 -1
- package/dist/streamStateView.d.ts +0 -9
- package/dist/streamStateView.d.ts.map +1 -1
- package/dist/streamStateView.js +3 -64
- package/dist/streamStateView.js.map +1 -1
- package/dist/streamStateView_MemberMetadata.d.ts +3 -36
- package/dist/streamStateView_MemberMetadata.d.ts.map +1 -1
- package/dist/streamStateView_MemberMetadata.js +3 -83
- package/dist/streamStateView_MemberMetadata.js.map +1 -1
- package/dist/streamStateView_Members.d.ts +1 -5
- package/dist/streamStateView_Members.d.ts.map +1 -1
- package/dist/streamStateView_Members.js +4 -91
- package/dist/streamStateView_Members.js.map +1 -1
- package/dist/streamUtils.d.ts.map +1 -1
- package/dist/streamUtils.js +0 -8
- package/dist/streamUtils.js.map +1 -1
- package/dist/sync/SyncedStreamsControllerLite.d.ts.map +1 -1
- package/dist/sync/SyncedStreamsControllerLite.js +7 -11
- package/dist/sync/SyncedStreamsControllerLite.js.map +1 -1
- package/dist/sync-agent/db.d.ts +13 -0
- package/dist/sync-agent/db.d.ts.map +1 -0
- package/dist/sync-agent/db.js +24 -0
- package/dist/sync-agent/db.js.map +1 -0
- package/dist/sync-agent/gdms/models/gdm.d.ts +3 -3
- package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.d.ts +1 -6
- package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.js +3 -8
- package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
- package/dist/sync-agent/syncAgent.d.ts +0 -6
- package/dist/sync-agent/syncAgent.d.ts.map +1 -1
- package/dist/sync-agent/syncAgent.js +0 -8
- package/dist/sync-agent/syncAgent.js.map +1 -1
- package/dist/syncedStreamsExtension.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.js +10 -22
- package/dist/syncedStreamsExtension.js.map +1 -1
- package/dist/syncedStreamsLoop.d.ts.map +1 -1
- package/dist/syncedStreamsLoop.js +4 -18
- package/dist/syncedStreamsLoop.js.map +1 -1
- package/dist/tests/bob_testUtils.d.ts.map +1 -1
- package/dist/tests/bob_testUtils.js +35 -69
- package/dist/tests/bob_testUtils.js.map +1 -1
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.js +1 -1
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.js.map +1 -1
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js +1 -1
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js.map +1 -1
- package/dist/tests/multi_ne/bobFlushes.test.js.map +1 -1
- package/dist/tests/multi_ne/channels.test.js +6 -9
- package/dist/tests/multi_ne/channels.test.js.map +1 -1
- package/dist/tests/multi_ne/client.test.js +24 -98
- package/dist/tests/multi_ne/client.test.js.map +1 -1
- package/dist/tests/multi_ne/clientCrypto.test.js +3 -3
- package/dist/tests/multi_ne/clientCrypto.test.js.map +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +12 -47
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
- package/dist/tests/multi_ne/ephemeralEvents.test.js +1 -1
- package/dist/tests/multi_ne/ephemeralEvents.test.js.map +1 -1
- package/dist/tests/multi_ne/id.test.js +6 -20
- package/dist/tests/multi_ne/id.test.js.map +1 -1
- package/dist/tests/multi_ne/media.test.js +20 -61
- package/dist/tests/multi_ne/media.test.js.map +1 -1
- package/dist/tests/multi_ne/memberMetadata.test.d.ts +0 -3
- package/dist/tests/multi_ne/memberMetadata.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/memberMetadata.test.js +14 -582
- package/dist/tests/multi_ne/memberMetadata.test.js.map +1 -1
- package/dist/tests/multi_ne/outboundGroupSession.test.js +15 -13
- package/dist/tests/multi_ne/outboundGroupSession.test.js.map +1 -1
- package/dist/tests/multi_ne/restart.test.js +11 -34
- package/dist/tests/multi_ne/restart.test.js.map +1 -1
- package/dist/tests/multi_ne/sign.test.js +2 -2
- package/dist/tests/multi_ne/sign.test.js.map +1 -1
- package/dist/tests/multi_ne/streamMembershipHardening.test.js +0 -3
- package/dist/tests/multi_ne/streamMembershipHardening.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClient.test.js +58 -349
- package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClientSync.test.js +63 -124
- package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -1
- package/dist/tests/multi_ne/streamStateView_User.test.js +23 -20
- package/dist/tests/multi_ne/streamStateView_User.test.js.map +1 -1
- package/dist/tests/{multi/spaceDapp.test.d.ts → multi_ne/sync-agent/gdms.test.d.ts} +1 -1
- package/dist/tests/multi_ne/sync-agent/gdms.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/gdms.test.js +34 -0
- package/dist/tests/multi_ne/sync-agent/gdms.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts +3 -0
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/sync-agent/member.test.js +19 -8
- package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts +3 -0
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/sync-agent/members.test.js +24 -19
- package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +3 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/sync-agent/streams.test.js +14 -14
- package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +3 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +23 -15
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +3 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +34 -70
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/timeline.test.js +68 -119
- package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/user.test.js +10 -5
- package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -1
- package/dist/tests/multi_ne/syncWithBlocks.test.d.ts +3 -0
- package/dist/tests/multi_ne/syncWithBlocks.test.d.ts.map +1 -1
- package/dist/tests/multi_ne/syncWithBlocks.test.js +47 -77
- package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStreams.test.js +1 -1
- package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
- package/dist/tests/multi_ne/userInboxMessage.test.js +4 -4
- package/dist/tests/multi_ne/userInboxMessage.test.js.map +1 -1
- package/dist/tests/multi_ne/userSettings.test.js +3 -16
- package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
- package/dist/tests/multi_ne/workflows.test.js +22 -50
- package/dist/tests/multi_ne/workflows.test.js.map +1 -1
- package/dist/tests/testDriver_testUtils.d.ts.map +1 -1
- package/dist/tests/testDriver_testUtils.js +6 -22
- package/dist/tests/testDriver_testUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -104
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +6 -625
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/unit/snapshotMigration0001.test.js +4 -20
- package/dist/tests/unit/snapshotMigration0001.test.js.map +1 -1
- package/dist/tests/unit/snapshotMigration0004.test.js +5 -43
- package/dist/tests/unit/snapshotMigration0004.test.js.map +1 -1
- package/dist/tests/unit/snapshotMigration0005.test.js +5 -43
- package/dist/tests/unit/snapshotMigration0005.test.js.map +1 -1
- package/dist/tests/unit/streamUtils.test.js +21 -22
- package/dist/tests/unit/streamUtils.test.js.map +1 -1
- package/dist/tests/unit/tags.test.js +5 -7
- package/dist/tests/unit/tags.test.js.map +1 -1
- package/dist/types.d.ts +1 -21
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -231
- package/dist/types.js.map +1 -1
- package/dist/views/models/timelineEvent.d.ts.map +1 -1
- package/dist/views/models/timelineEvent.js +1 -178
- package/dist/views/models/timelineEvent.js.map +1 -1
- package/dist/views/models/timelineTypes.d.ts +3 -29
- package/dist/views/models/timelineTypes.d.ts.map +1 -1
- package/dist/views/models/timelineTypes.js +0 -4
- package/dist/views/models/timelineTypes.js.map +1 -1
- package/dist/views/streams/timelines.d.ts +1 -1
- package/dist/views/streams/timelines.d.ts.map +1 -1
- package/dist/views/streams/timelines.js +3 -3
- package/dist/views/streams/timelines.js.map +1 -1
- package/dist/views/streamsView.d.ts +0 -6
- package/dist/views/streamsView.d.ts.map +1 -1
- package/dist/views/streamsView.js +0 -11
- package/dist/views/streamsView.js.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts +0 -2
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.js +1 -26
- package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -1
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts +1 -2
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts.map +1 -1
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js +2 -5
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.js +3 -10
- package/dist/views/transforms/spaceIdsTransform.js.map +1 -1
- package/dist/views/transforms/spaceMentionsTransform.d.ts.map +1 -1
- package/dist/views/transforms/spaceMentionsTransform.js +13 -14
- package/dist/views/transforms/spaceMentionsTransform.js.map +1 -1
- package/dist/views/transforms/spaceUnreadsTransform.d.ts.map +1 -1
- package/dist/views/transforms/spaceUnreadsTransform.js +21 -22
- package/dist/views/transforms/spaceUnreadsTransform.js.map +1 -1
- package/dist/views/transforms/unreadMarkersTransform.js +2 -4
- package/dist/views/transforms/unreadMarkersTransform.js.map +1 -1
- package/package.json +9 -9
- package/dist/memberMetadata_DisplayNames.d.ts +0 -26
- package/dist/memberMetadata_DisplayNames.d.ts.map +0 -1
- package/dist/memberMetadata_DisplayNames.js +0 -95
- package/dist/memberMetadata_DisplayNames.js.map +0 -1
- package/dist/memberMetadata_EnsAddresses.d.ts +0 -25
- package/dist/memberMetadata_EnsAddresses.d.ts.map +0 -1
- package/dist/memberMetadata_EnsAddresses.js +0 -86
- package/dist/memberMetadata_EnsAddresses.js.map +0 -1
- package/dist/memberMetadata_Nft.d.ts +0 -31
- package/dist/memberMetadata_Nft.d.ts.map +0 -1
- package/dist/memberMetadata_Nft.js +0 -95
- package/dist/memberMetadata_Nft.js.map +0 -1
- package/dist/memberMetadata_Usernames.d.ts +0 -35
- package/dist/memberMetadata_Usernames.d.ts.map +0 -1
- package/dist/memberMetadata_Usernames.js +0 -162
- package/dist/memberMetadata_Usernames.js.map +0 -1
- package/dist/streamStateView_Channel.d.ts +0 -16
- package/dist/streamStateView_Channel.d.ts.map +0 -1
- package/dist/streamStateView_Channel.js +0 -76
- package/dist/streamStateView_Channel.js.map +0 -1
- package/dist/streamStateView_DMChannel.d.ts +0 -25
- package/dist/streamStateView_DMChannel.d.ts.map +0 -1
- package/dist/streamStateView_DMChannel.js +0 -114
- package/dist/streamStateView_DMChannel.js.map +0 -1
- package/dist/streamStateView_Space.d.ts +0 -31
- package/dist/streamStateView_Space.d.ts.map +0 -1
- package/dist/streamStateView_Space.js +0 -193
- package/dist/streamStateView_Space.js.map +0 -1
- package/dist/sync-agent/dms/dms.d.ts +0 -24
- package/dist/sync-agent/dms/dms.d.ts.map +0 -1
- package/dist/sync-agent/dms/dms.js +0 -45
- package/dist/sync-agent/dms/dms.js.map +0 -1
- package/dist/sync-agent/dms/models/dm.d.ts +0 -73
- package/dist/sync-agent/dms/models/dm.d.ts.map +0 -1
- package/dist/sync-agent/dms/models/dm.js +0 -143
- package/dist/sync-agent/dms/models/dm.js.map +0 -1
- package/dist/sync-agent/spaces/models/channel.d.ts +0 -102
- package/dist/sync-agent/spaces/models/channel.d.ts.map +0 -1
- package/dist/sync-agent/spaces/models/channel.js +0 -169
- package/dist/sync-agent/spaces/models/channel.js.map +0 -1
- package/dist/sync-agent/spaces/models/space.d.ts +0 -56
- package/dist/sync-agent/spaces/models/space.d.ts.map +0 -1
- package/dist/sync-agent/spaces/models/space.js +0 -115
- package/dist/sync-agent/spaces/models/space.js.map +0 -1
- package/dist/sync-agent/spaces/spaces.d.ts +0 -25
- package/dist/sync-agent/spaces/spaces.d.ts.map +0 -1
- package/dist/sync-agent/spaces/spaces.js +0 -56
- package/dist/sync-agent/spaces/spaces.js.map +0 -1
- package/dist/tests/multi/channelSpaceSettings.test.d.ts +0 -5
- package/dist/tests/multi/channelSpaceSettings.test.d.ts.map +0 -1
- package/dist/tests/multi/channelSpaceSettings.test.js +0 -204
- package/dist/tests/multi/channelSpaceSettings.test.js.map +0 -1
- package/dist/tests/multi/disableChannel.test.d.ts +0 -5
- package/dist/tests/multi/disableChannel.test.d.ts.map +0 -1
- package/dist/tests/multi/disableChannel.test.js +0 -30
- package/dist/tests/multi/disableChannel.test.js.map +0 -1
- package/dist/tests/multi/disableSpace.test.d.ts +0 -5
- package/dist/tests/multi/disableSpace.test.d.ts.map +0 -1
- package/dist/tests/multi/disableSpace.test.js +0 -37
- package/dist/tests/multi/disableSpace.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js +0 -129
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js +0 -44
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js +0 -125
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js +0 -72
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +0 -57
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js +0 -86
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js +0 -69
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js +0 -145
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js +0 -53
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/membershipRenewals.test.js +0 -150
- package/dist/tests/multi/entitlements/membershipRenewals.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js +0 -131
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js +0 -109
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js +0 -103
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js +0 -84
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js +0 -168
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js +0 -45
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js +0 -79
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js.map +0 -1
- package/dist/tests/multi/legacySpace.test.d.ts +0 -5
- package/dist/tests/multi/legacySpace.test.d.ts.map +0 -1
- package/dist/tests/multi/legacySpace.test.js +0 -48
- package/dist/tests/multi/legacySpace.test.js.map +0 -1
- package/dist/tests/multi/mediaWithEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/mediaWithEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/mediaWithEntitlements.test.js +0 -152
- package/dist/tests/multi/mediaWithEntitlements.test.js.map +0 -1
- package/dist/tests/multi/membershipManagement.test.d.ts +0 -5
- package/dist/tests/multi/membershipManagement.test.d.ts.map +0 -1
- package/dist/tests/multi/membershipManagement.test.js +0 -76
- package/dist/tests/multi/membershipManagement.test.js.map +0 -1
- package/dist/tests/multi/riverAirdropDapp.test.d.ts +0 -5
- package/dist/tests/multi/riverAirdropDapp.test.d.ts.map +0 -1
- package/dist/tests/multi/riverAirdropDapp.test.js +0 -43
- package/dist/tests/multi/riverAirdropDapp.test.js.map +0 -1
- package/dist/tests/multi/spaceDapp.test.d.ts.map +0 -1
- package/dist/tests/multi/spaceDapp.test.js +0 -61
- package/dist/tests/multi/spaceDapp.test.js.map +0 -1
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts +0 -2
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts.map +0 -1
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js +0 -63
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js.map +0 -1
- package/dist/tests/multi/withEntitlements.test.d.ts +0 -5
- package/dist/tests/multi/withEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi/withEntitlements.test.js +0 -125
- package/dist/tests/multi/withEntitlements.test.js.map +0 -1
- package/dist/tests/multi_ne/dms.test.d.ts +0 -5
- package/dist/tests/multi_ne/dms.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/dms.test.js +0 -131
- package/dist/tests/multi_ne/dms.test.js.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts +0 -5
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js +0 -54
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts +0 -5
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js +0 -37
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts +0 -5
- package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_Nft.test.js +0 -49
- package/dist/tests/multi_ne/memberMetadata_Nft.test.js.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts +0 -5
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.js +0 -126
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.js.map +0 -1
- package/dist/tests/multi_ne/space.test.d.ts +0 -5
- package/dist/tests/multi_ne/space.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/space.test.js +0 -284
- package/dist/tests/multi_ne/space.test.js.map +0 -1
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts +0 -2
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts.map +0 -1
- package/dist/tests/multi_ne/sync-agent/spaces.test.js +0 -33
- package/dist/tests/multi_ne/sync-agent/spaces.test.js.map +0 -1
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts +0 -6
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js +0 -78
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js.map +0 -1
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts +0 -6
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts.map +0 -1
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js +0 -89
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js.map +0 -1
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts +0 -6
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts.map +0 -1
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js +0 -88
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js.map +0 -1
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts +0 -6
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts.map +0 -1
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js +0 -105
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js.map +0 -1
- package/dist/tests/multi_v2/updateRole.test.d.ts +0 -5
- package/dist/tests/multi_v2/updateRole.test.d.ts.map +0 -1
- package/dist/tests/multi_v2/updateRole.test.js +0 -25
- package/dist/tests/multi_v2/updateRole.test.js.map +0 -1
- package/dist/tests/unit/snapshotMigration0002.test.d.ts +0 -2
- package/dist/tests/unit/snapshotMigration0002.test.d.ts.map +0 -1
- package/dist/tests/unit/snapshotMigration0002.test.js +0 -31
- package/dist/tests/unit/snapshotMigration0002.test.js.map +0 -1
- package/dist/views/streams/channelStreams.d.ts +0 -8
- package/dist/views/streams/channelStreams.d.ts.map +0 -1
- package/dist/views/streams/channelStreams.js +0 -9
- package/dist/views/streams/channelStreams.js.map +0 -1
- package/dist/views/streams/dmStreams.d.ts +0 -13
- package/dist/views/streams/dmStreams.d.ts.map +0 -1
- package/dist/views/streams/dmStreams.js +0 -33
- package/dist/views/streams/dmStreams.js.map +0 -1
- package/dist/views/streams/spaceStreams.d.ts +0 -17
- package/dist/views/streams/spaceStreams.d.ts.map +0 -1
- package/dist/views/streams/spaceStreams.js +0 -52
- package/dist/views/streams/spaceStreams.js.map +0 -1
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @group with-entitlements
|
|
3
|
-
*/
|
|
4
|
-
import { linkWallets, setupChannelWithCustomRole, expectUserCanJoinChannel, expectUserCannotJoinChannel, ethBalanceCheckOp, } from '../../testUtils';
|
|
5
|
-
import { dlog } from '@towns-labs/utils';
|
|
6
|
-
import { TestEthBalance, treeToRuleData } from '@towns-labs/web3';
|
|
7
|
-
const log = dlog('csb:test:channelsWithEthBalanceEntitlements');
|
|
8
|
-
const oneHalfEth = BigInt(5e17);
|
|
9
|
-
const oneEth = oneHalfEth * BigInt(2);
|
|
10
|
-
const twoEth = oneEth * BigInt(2);
|
|
11
|
-
const gtTwoEth = twoEth + BigInt(1);
|
|
12
|
-
describe('channelsWithEthBalanceEntitlements', () => {
|
|
13
|
-
test('eth balance gate pass', async () => {
|
|
14
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(oneEth));
|
|
15
|
-
const { alice, bob, alicesWallet, aliceSpaceDapp, spaceId, channelId } = await setupChannelWithCustomRole([], ruleData);
|
|
16
|
-
await Promise.all([TestEthBalance.setBaseBalance(alicesWallet.address, oneEth)]);
|
|
17
|
-
log('expect that alice can join the channel');
|
|
18
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
19
|
-
// kill the clients
|
|
20
|
-
const doneStart = Date.now();
|
|
21
|
-
await bob.stopSync();
|
|
22
|
-
await alice.stopSync();
|
|
23
|
-
log('Done', Date.now() - doneStart);
|
|
24
|
-
});
|
|
25
|
-
test('eth balance gate pass - across networks', async () => {
|
|
26
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(oneEth));
|
|
27
|
-
const { alice, bob, alicesWallet, aliceSpaceDapp, spaceId, channelId } = await setupChannelWithCustomRole([], ruleData);
|
|
28
|
-
await Promise.all([
|
|
29
|
-
TestEthBalance.setBaseBalance(alicesWallet.address, oneHalfEth),
|
|
30
|
-
TestEthBalance.setRiverBalance(alicesWallet.address, oneHalfEth),
|
|
31
|
-
]);
|
|
32
|
-
log('expect that alice can join the channel');
|
|
33
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
34
|
-
// kill the clients
|
|
35
|
-
const doneStart = Date.now();
|
|
36
|
-
await bob.stopSync();
|
|
37
|
-
await alice.stopSync();
|
|
38
|
-
log('Done', Date.now() - doneStart);
|
|
39
|
-
});
|
|
40
|
-
test('eth balance gate fail', async () => {
|
|
41
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(oneEth));
|
|
42
|
-
const { alice, bob, alicesWallet, aliceSpaceDapp, spaceId, channelId } = await setupChannelWithCustomRole([], ruleData);
|
|
43
|
-
// alice's base wallet may need to be explicitly set to zero to compensate for wallet funding in
|
|
44
|
-
// initialization methods.
|
|
45
|
-
await Promise.all([TestEthBalance.setBaseBalance(alicesWallet.address, 0n)]);
|
|
46
|
-
log('expect that alice cannot join the channel (has no ETH)');
|
|
47
|
-
await expectUserCannotJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
48
|
-
// kill the clients
|
|
49
|
-
const doneStart = Date.now();
|
|
50
|
-
await bob.stopSync();
|
|
51
|
-
await alice.stopSync();
|
|
52
|
-
log('Done', Date.now() - doneStart);
|
|
53
|
-
});
|
|
54
|
-
test('eth balance gate join pass - join as root, linked wallet entitled', async () => {
|
|
55
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(oneEth));
|
|
56
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, carolsWallet, alicesWallet, carolProvider, spaceId, channelId, } = await setupChannelWithCustomRole([], ruleData);
|
|
57
|
-
// Link carol's wallet to alice's as root
|
|
58
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, carolProvider.wallet);
|
|
59
|
-
// Explicitly set wallet balances to 0
|
|
60
|
-
await Promise.all([
|
|
61
|
-
TestEthBalance.setBaseBalance(carolsWallet.address, 0n),
|
|
62
|
-
TestEthBalance.setBaseBalance(alicesWallet.address, 0n),
|
|
63
|
-
]);
|
|
64
|
-
// Validate alice cannot join the channel
|
|
65
|
-
await expectUserCannotJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
66
|
-
await Promise.all([
|
|
67
|
-
TestEthBalance.setBaseBalance(carolsWallet.address, oneHalfEth),
|
|
68
|
-
TestEthBalance.setRiverBalance(carolsWallet.address, oneHalfEth),
|
|
69
|
-
]);
|
|
70
|
-
// Wait 2 seconds for the negative auth cache to expire
|
|
71
|
-
await new Promise((f) => setTimeout(f, 2000));
|
|
72
|
-
// Validate alice can join the channel
|
|
73
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
74
|
-
const doneStart = Date.now();
|
|
75
|
-
// kill the clients
|
|
76
|
-
await bob.stopSync();
|
|
77
|
-
await alice.stopSync();
|
|
78
|
-
log('Done', Date.now() - doneStart);
|
|
79
|
-
});
|
|
80
|
-
test('eth balance gated join pass - join as linked wallet, assets in root wallet', async () => {
|
|
81
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(twoEth));
|
|
82
|
-
const { alice, bob, aliceSpaceDapp, carolSpaceDapp, aliceProvider, alicesWallet, carolsWallet, carolProvider, spaceId, channelId, } = await setupChannelWithCustomRole([], ruleData);
|
|
83
|
-
log("Joining alice's wallet as a linked wallet to carol's root wallet");
|
|
84
|
-
await linkWallets(carolSpaceDapp, carolProvider.wallet, aliceProvider.wallet);
|
|
85
|
-
log("Setting carol and alice's wallet balances to 1ETH and 0, respectively");
|
|
86
|
-
// Carol's cumulative balance across wallets: 2ETH
|
|
87
|
-
// Alice's cumulative balance: 0
|
|
88
|
-
await Promise.all([
|
|
89
|
-
TestEthBalance.setBaseBalance(carolsWallet.address, oneEth),
|
|
90
|
-
TestEthBalance.setRiverBalance(carolsWallet.address, oneEth),
|
|
91
|
-
TestEthBalance.setBaseBalance(alicesWallet.address, 0n),
|
|
92
|
-
]);
|
|
93
|
-
log('expect that alice can join the channel');
|
|
94
|
-
// Validate alice can join the channel
|
|
95
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
96
|
-
const doneStart = Date.now();
|
|
97
|
-
// kill the clients
|
|
98
|
-
await bob.stopSync();
|
|
99
|
-
await alice.stopSync();
|
|
100
|
-
log('Done', Date.now() - doneStart);
|
|
101
|
-
});
|
|
102
|
-
test('eth balance gate join pass - assets across wallets and networks', async () => {
|
|
103
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(twoEth));
|
|
104
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, carolsWallet, alicesWallet, carolProvider, spaceId, channelId, } = await setupChannelWithCustomRole([], ruleData);
|
|
105
|
-
// Link carol's wallet to alice's as root
|
|
106
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, carolProvider.wallet);
|
|
107
|
-
// Set wallet balances to 0
|
|
108
|
-
await Promise.all([
|
|
109
|
-
TestEthBalance.setBaseBalance(carolsWallet.address, oneHalfEth),
|
|
110
|
-
TestEthBalance.setBaseBalance(alicesWallet.address, oneHalfEth),
|
|
111
|
-
TestEthBalance.setRiverBalance(carolsWallet.address, oneHalfEth),
|
|
112
|
-
TestEthBalance.setRiverBalance(alicesWallet.address, oneHalfEth),
|
|
113
|
-
]);
|
|
114
|
-
// Validate alice can join the channel
|
|
115
|
-
log('expect that alice can join the channel');
|
|
116
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
117
|
-
const doneStart = Date.now();
|
|
118
|
-
// kill the clients
|
|
119
|
-
await bob.stopSync();
|
|
120
|
-
await alice.stopSync();
|
|
121
|
-
log('Done', Date.now() - doneStart);
|
|
122
|
-
});
|
|
123
|
-
test('eth balance gate join fail - insufficient assets across wallets', async () => {
|
|
124
|
-
const ruleData = treeToRuleData(ethBalanceCheckOp(gtTwoEth));
|
|
125
|
-
const { alice, bob, carol, aliceSpaceDapp, carolSpaceDapp, aliceProvider, carolsWallet, alicesWallet, carolProvider, spaceId, channelId, } = await setupChannelWithCustomRole([], ruleData);
|
|
126
|
-
// Link carol's wallet to alice's as root
|
|
127
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, carolProvider.wallet);
|
|
128
|
-
// Set wallet balances to 0
|
|
129
|
-
await Promise.all([
|
|
130
|
-
TestEthBalance.setBaseBalance(carolsWallet.address, oneHalfEth),
|
|
131
|
-
TestEthBalance.setBaseBalance(alicesWallet.address, oneHalfEth),
|
|
132
|
-
TestEthBalance.setRiverBalance(carolsWallet.address, oneHalfEth),
|
|
133
|
-
TestEthBalance.setRiverBalance(alicesWallet.address, oneHalfEth),
|
|
134
|
-
]);
|
|
135
|
-
log('expect neither alice nor carol can join the channel');
|
|
136
|
-
await expectUserCannotJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
137
|
-
await expectUserCannotJoinChannel(carol, carolSpaceDapp, spaceId, channelId);
|
|
138
|
-
const doneStart = Date.now();
|
|
139
|
-
// kill the clients
|
|
140
|
-
await bob.stopSync();
|
|
141
|
-
await alice.stopSync();
|
|
142
|
-
log('Done', Date.now() - doneStart);
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
//# sourceMappingURL=channelsWithEthBalanceEntitlements.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channelsWithEthBalanceEntitlements.test.js","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channelsWithUserEntitlements.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/channelsWithUserEntitlements.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @group with-entitlements
|
|
3
|
-
*/
|
|
4
|
-
import { linkWallets, setupChannelWithCustomRole, expectUserCanJoinChannel, expectUserCannotJoinChannel, } from '../../testUtils';
|
|
5
|
-
import { dlog } from '@towns-labs/utils';
|
|
6
|
-
import { NoopRuleData } from '@towns-labs/web3';
|
|
7
|
-
const log = dlog('csb:test:channelsWithUserEntitlements');
|
|
8
|
-
describe('channelsWithUserEntitlements', () => {
|
|
9
|
-
test('userEntitlementPass', async () => {
|
|
10
|
-
const { alice, bob, aliceSpaceDapp, spaceId, channelId } = await setupChannelWithCustomRole(['alice'], NoopRuleData);
|
|
11
|
-
// Validate alice can join the channel
|
|
12
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
13
|
-
const doneStart = Date.now();
|
|
14
|
-
// kill the clients
|
|
15
|
-
await bob.stopSync();
|
|
16
|
-
await alice.stopSync();
|
|
17
|
-
log('Done', Date.now() - doneStart);
|
|
18
|
-
});
|
|
19
|
-
test('userEntitlementFail', async () => {
|
|
20
|
-
const { alice, aliceSpaceDapp, bob, spaceId, channelId } = await setupChannelWithCustomRole(['carol'], NoopRuleData);
|
|
21
|
-
await expectUserCannotJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
22
|
-
const doneStart = Date.now();
|
|
23
|
-
// kill the clients
|
|
24
|
-
await bob.stopSync();
|
|
25
|
-
await alice.stopSync();
|
|
26
|
-
log('Done', Date.now() - doneStart);
|
|
27
|
-
});
|
|
28
|
-
test('userEntitlementPass - join as root, linked wallet whitelisted', async () => {
|
|
29
|
-
const { alice, aliceSpaceDapp, aliceProvider, carolProvider, bob, spaceId, channelId } = await setupChannelWithCustomRole(['carol'], NoopRuleData);
|
|
30
|
-
// Link carol's wallet to alice's as root
|
|
31
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, carolProvider.wallet);
|
|
32
|
-
// Validate alice can join the channel
|
|
33
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
34
|
-
const doneStart = Date.now();
|
|
35
|
-
// kill the clients
|
|
36
|
-
await bob.stopSync();
|
|
37
|
-
await alice.stopSync();
|
|
38
|
-
log('Done', Date.now() - doneStart);
|
|
39
|
-
});
|
|
40
|
-
test('userEntitlementPass - join as linked wallet, root wallet whitelisted', async () => {
|
|
41
|
-
const { alice, aliceSpaceDapp, carolSpaceDapp, aliceProvider, carolProvider, bob, spaceId, channelId, } = await setupChannelWithCustomRole(['carol'], NoopRuleData);
|
|
42
|
-
// Link alice's wallet to Carol's wallet as root
|
|
43
|
-
await linkWallets(carolSpaceDapp, carolProvider.wallet, aliceProvider.wallet);
|
|
44
|
-
// Validate alice can join the channel
|
|
45
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
46
|
-
const doneStart = Date.now();
|
|
47
|
-
// kill the clients
|
|
48
|
-
await bob.stopSync();
|
|
49
|
-
await alice.stopSync();
|
|
50
|
-
log('Done linked-wallet-whitelist', Date.now() - doneStart);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=channelsWithUserEntitlements.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channelsWithUserEntitlements.test.js","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/channelsWithUserEntitlements.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"membershipRenewals.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/membershipRenewals.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @group with-entitlements
|
|
3
|
-
*/
|
|
4
|
-
import { createTownWithRequirements, expectUserCanJoin, expectUserCanJoinChannel, getXchainConfigForTesting, linkWallets, waitFor, } from '../../testUtils';
|
|
5
|
-
import { NoopRuleData } from '@towns-labs/web3';
|
|
6
|
-
import { makeUserStreamId } from '../../../id';
|
|
7
|
-
import { MembershipOp, MembershipReason } from '@towns-labs/proto';
|
|
8
|
-
import { ethers } from 'ethers';
|
|
9
|
-
const SHORT_MEMBERSHIP_DURATION = 20; // seconds
|
|
10
|
-
const WAIT_TIME = SHORT_MEMBERSHIP_DURATION * 1_000 + 500;
|
|
11
|
-
// this test is long because it has to wait for the membership to expire in real time
|
|
12
|
-
// but the membership duration has to be long enough such that other actions/assertions can be made
|
|
13
|
-
// it tests both node entitlement checks for expired memberships, as well as client entitlement checks via space dapp
|
|
14
|
-
describe('membershipRenewals', () => {
|
|
15
|
-
test.concurrent('expired membership is not allowed to join', async () => {
|
|
16
|
-
const { spaceId, channelId, alice, bob, aliceSpaceDapp, aliceProvider, alicesWallet } = await createTownWithRequirements({
|
|
17
|
-
everyone: true,
|
|
18
|
-
users: [],
|
|
19
|
-
ruleData: NoopRuleData,
|
|
20
|
-
duration: SHORT_MEMBERSHIP_DURATION,
|
|
21
|
-
});
|
|
22
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
23
|
-
// wait for membership to expire
|
|
24
|
-
await new Promise((resolve) => setTimeout(resolve, WAIT_TIME));
|
|
25
|
-
await alice.leaveStream(spaceId);
|
|
26
|
-
const aliceWallets = await aliceSpaceDapp.getLinkedWallets(alicesWallet.address);
|
|
27
|
-
const membershipStatus = await aliceSpaceDapp.getMembershipStatus(spaceId, aliceWallets);
|
|
28
|
-
expect(membershipStatus.isMember).toBe(true);
|
|
29
|
-
expect(membershipStatus.isExpired).toBe(true);
|
|
30
|
-
const entitledWallet = await aliceSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, alicesWallet.address, getXchainConfigForTesting());
|
|
31
|
-
expect(entitledWallet).toBeUndefined();
|
|
32
|
-
await expect(alice.joinStream(spaceId)).rejects.toThrow(/7:PERMISSION_DENIED/);
|
|
33
|
-
// Clean up
|
|
34
|
-
await alice.stopSync();
|
|
35
|
-
await bob.stopSync();
|
|
36
|
-
});
|
|
37
|
-
test.concurrent('user with expired membership is bounced from a channel after scrub is triggered', async () => {
|
|
38
|
-
const { spaceId, channelId, alice, carol, aliceSpaceDapp, aliceProvider, alicesWallet, carolSpaceDapp, carolProvider, carolsWallet, } = await createTownWithRequirements({
|
|
39
|
-
everyone: true,
|
|
40
|
-
users: [],
|
|
41
|
-
ruleData: NoopRuleData,
|
|
42
|
-
duration: SHORT_MEMBERSHIP_DURATION,
|
|
43
|
-
});
|
|
44
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
45
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
46
|
-
// Wait for membership to expire (and for channel to be eligible for scrubbing)
|
|
47
|
-
await new Promise((f) => setTimeout(f, WAIT_TIME));
|
|
48
|
-
await expectUserCanJoin(spaceId, channelId, 'carol', carol, carolSpaceDapp, carolsWallet.address, carolProvider.wallet);
|
|
49
|
-
// When carol's join event is added to the stream, it should trigger a scrub, and Alice
|
|
50
|
-
// should be booted from the stream since her membership has expired
|
|
51
|
-
await expect(carol.joinStream(channelId)).resolves.not.toThrow();
|
|
52
|
-
const userStreamView = (await alice.waitForStream(makeUserStreamId(alice.userId))).view;
|
|
53
|
-
const membership = userStreamView.userContent.getMembership(channelId);
|
|
54
|
-
// Wait for alice's user stream to have the leave event
|
|
55
|
-
await waitFor(async () => {
|
|
56
|
-
expect(membership?.op).toBe(MembershipOp.SO_LEAVE);
|
|
57
|
-
expect(membership?.reason).toBe(MembershipReason.MR_EXPIRED);
|
|
58
|
-
});
|
|
59
|
-
// Clean up
|
|
60
|
-
await alice.stopSync();
|
|
61
|
-
await carol.stopSync();
|
|
62
|
-
});
|
|
63
|
-
test.concurrent('user with unexpired membership is not bounced from a channel after scrub is triggered', async () => {
|
|
64
|
-
const { spaceId, channelId, alice, carol, aliceSpaceDapp, aliceProvider, alicesWallet, carolSpaceDapp, carolProvider, carolsWallet, } = await createTownWithRequirements({
|
|
65
|
-
everyone: true,
|
|
66
|
-
users: [],
|
|
67
|
-
ruleData: NoopRuleData,
|
|
68
|
-
duration: SHORT_MEMBERSHIP_DURATION,
|
|
69
|
-
});
|
|
70
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
71
|
-
// link a wallet to alice
|
|
72
|
-
const eoaWallet = ethers.Wallet.createRandom();
|
|
73
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, eoaWallet);
|
|
74
|
-
// have alice join the channel
|
|
75
|
-
await expectUserCanJoinChannel(alice, aliceSpaceDapp, spaceId, channelId);
|
|
76
|
-
// Wait for membership to expire (and for channel to be eligible for scrubbing)
|
|
77
|
-
await new Promise((f) => setTimeout(f, WAIT_TIME));
|
|
78
|
-
// make sure this membership has expired
|
|
79
|
-
const space = aliceSpaceDapp.getSpace(spaceId);
|
|
80
|
-
const tokenId = await aliceSpaceDapp.getTokenIdOfOwner(spaceId, alicesWallet.address);
|
|
81
|
-
const expiresAt = await space?.Membership.read.expiresAt(tokenId);
|
|
82
|
-
const expiresAtTimestamp = expiresAt?.toNumber() || 0;
|
|
83
|
-
const now = new Date();
|
|
84
|
-
const timeUntilExpiration = (expiresAtTimestamp * 1000 - now.getTime()) / 1000;
|
|
85
|
-
expect(timeUntilExpiration).toBeLessThan(0);
|
|
86
|
-
// now mint a membership for the eoa wallet, which is linked to alice - mint only, not joining stream
|
|
87
|
-
await aliceSpaceDapp.joinSpace(spaceId, eoaWallet.address, aliceProvider.wallet);
|
|
88
|
-
const aliceWallets = await aliceSpaceDapp.getLinkedWallets(alicesWallet.address);
|
|
89
|
-
const membershipStatus = await aliceSpaceDapp.getMembershipStatus(spaceId, aliceWallets);
|
|
90
|
-
expect(membershipStatus.isMember).toBe(true);
|
|
91
|
-
expect(membershipStatus.isExpired).toBe(false);
|
|
92
|
-
const entitledWallet = await aliceSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, alicesWallet.address, getXchainConfigForTesting());
|
|
93
|
-
expect(entitledWallet).toBeDefined();
|
|
94
|
-
await expectUserCanJoin(spaceId, channelId, 'carol', carol, carolSpaceDapp, carolsWallet.address, carolProvider.wallet);
|
|
95
|
-
// When carol's join event is added to the stream, it should trigger a scrub, and Alice
|
|
96
|
-
// should not be booted from the stream since her she has an additional token that is not expired
|
|
97
|
-
await expect(carol.joinStream(channelId)).resolves.not.toThrow();
|
|
98
|
-
const userStreamView = (await alice.waitForStream(makeUserStreamId(alice.userId))).view;
|
|
99
|
-
// Wait for alice's user stream to have the join event
|
|
100
|
-
await waitFor(async () => {
|
|
101
|
-
return expect(userStreamView.userContent.isMember(channelId, MembershipOp.SO_JOIN)).toBe(true);
|
|
102
|
-
});
|
|
103
|
-
// Clean up
|
|
104
|
-
await alice.stopSync();
|
|
105
|
-
await carol.stopSync();
|
|
106
|
-
});
|
|
107
|
-
test.concurrent('(BASE only) user can renew membership', async () => {
|
|
108
|
-
const _MEMBERSHIP_DURATION = 10;
|
|
109
|
-
const { spaceId, aliceSpaceDapp, aliceProvider, alicesWallet } = await createTownWithRequirements({
|
|
110
|
-
everyone: true,
|
|
111
|
-
users: [],
|
|
112
|
-
ruleData: NoopRuleData,
|
|
113
|
-
duration: _MEMBERSHIP_DURATION,
|
|
114
|
-
});
|
|
115
|
-
// Check that the local evaluation of the user's entitlements for joining the space
|
|
116
|
-
// passes.
|
|
117
|
-
const entitledWallet = await aliceSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, alicesWallet.address, getXchainConfigForTesting());
|
|
118
|
-
expect(entitledWallet).toBeDefined();
|
|
119
|
-
const { issued } = await aliceSpaceDapp.joinSpace(spaceId, alicesWallet.address, aliceProvider.wallet);
|
|
120
|
-
expect(issued).toBe(true);
|
|
121
|
-
// wait for membership to expire
|
|
122
|
-
await new Promise((resolve) => setTimeout(resolve, _MEMBERSHIP_DURATION * 1_000 + 500));
|
|
123
|
-
const aliceWallets = await aliceSpaceDapp.getLinkedWallets(alicesWallet.address);
|
|
124
|
-
const membershipStatus = await aliceSpaceDapp.getMembershipStatus(spaceId, aliceWallets);
|
|
125
|
-
expect(membershipStatus.isMember).toBe(true);
|
|
126
|
-
expect(membershipStatus.isExpired).toBe(true);
|
|
127
|
-
const entitledWalletAfterExpiry = await aliceSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, alicesWallet.address, getXchainConfigForTesting());
|
|
128
|
-
expect(entitledWalletAfterExpiry).toBeUndefined();
|
|
129
|
-
const space = aliceSpaceDapp.getSpace(spaceId);
|
|
130
|
-
const tokenId = membershipStatus.tokenId;
|
|
131
|
-
expect(tokenId).toBeDefined();
|
|
132
|
-
if (!tokenId || !space) {
|
|
133
|
-
throw new Error('TokenId or space not found');
|
|
134
|
-
}
|
|
135
|
-
const tx = await space.renewMembership({
|
|
136
|
-
tokenId,
|
|
137
|
-
signer: aliceProvider.wallet,
|
|
138
|
-
});
|
|
139
|
-
const receipt = await tx.wait();
|
|
140
|
-
expect(receipt.status).toBe(1);
|
|
141
|
-
const membershipStatusAfterRenewal = await space.getMembershipStatus(aliceWallets);
|
|
142
|
-
expect(membershipStatusAfterRenewal.isMember).toBe(true);
|
|
143
|
-
expect(membershipStatusAfterRenewal.isExpired).toBe(false);
|
|
144
|
-
// wait for caches to be invalidated
|
|
145
|
-
await new Promise((resolve) => setTimeout(resolve, 5_000));
|
|
146
|
-
const entitledWalletAfterRenewal = await aliceSpaceDapp.getEntitledWalletForJoiningSpace(spaceId, alicesWallet.address, getXchainConfigForTesting());
|
|
147
|
-
expect(entitledWalletAfterRenewal).toBeDefined();
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
//# sourceMappingURL=membershipRenewals.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"membershipRenewals.test.js","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/membershipRenewals.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spaceWithComplexEntitlements.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/spaceWithComplexEntitlements.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @group with-entitlements
|
|
3
|
-
*/
|
|
4
|
-
import { createTownWithRequirements, createUserStreamAndSyncClient, everyoneMembershipStruct, expectUserCannotJoinSpace, expectUserCanJoin, linkWallets, twoNftRuleData, } from '../../testUtils';
|
|
5
|
-
import { dlog } from '@towns-labs/utils';
|
|
6
|
-
import { LogicalOperationType, TestERC721, Rules, createRuleStruct, } from '@towns-labs/web3';
|
|
7
|
-
const log = dlog('csb:test:spaceWithComplexEntitlements');
|
|
8
|
-
describe('spaceWithComplexEntitlements', () => {
|
|
9
|
-
let testNft1Address, testNft2Address, testNft3Address;
|
|
10
|
-
beforeAll(async () => {
|
|
11
|
-
;
|
|
12
|
-
[testNft1Address, testNft2Address, testNft3Address] = await Promise.all([
|
|
13
|
-
TestERC721.getContractAddress('TestNFT1'),
|
|
14
|
-
TestERC721.getContractAddress('TestNFT2'),
|
|
15
|
-
TestERC721.getContractAddress('TestNFT3'),
|
|
16
|
-
]);
|
|
17
|
-
});
|
|
18
|
-
test('two nft gate join pass', async () => {
|
|
19
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, alicesWallet, spaceId, channelId } = await createTownWithRequirements({
|
|
20
|
-
everyone: false,
|
|
21
|
-
users: [],
|
|
22
|
-
ruleData: twoNftRuleData(testNft1Address, testNft2Address),
|
|
23
|
-
});
|
|
24
|
-
const aliceMintTx1 = TestERC721.publicMint('TestNFT1', alicesWallet.address);
|
|
25
|
-
const aliceMintTx2 = TestERC721.publicMint('TestNFT2', alicesWallet.address);
|
|
26
|
-
log('Minting nfts for alice');
|
|
27
|
-
await Promise.all([aliceMintTx1, aliceMintTx2]);
|
|
28
|
-
log('Alice should be able to join space');
|
|
29
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
30
|
-
// kill the clients
|
|
31
|
-
const doneStart = Date.now();
|
|
32
|
-
await bob.stopSync();
|
|
33
|
-
await alice.stopSync();
|
|
34
|
-
log('Done', Date.now() - doneStart);
|
|
35
|
-
});
|
|
36
|
-
test('two nft gate join pass - across linked wallets', async () => {
|
|
37
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, carolProvider, alicesWallet, carolsWallet, spaceId, channelId, } = await createTownWithRequirements({
|
|
38
|
-
everyone: false,
|
|
39
|
-
users: [],
|
|
40
|
-
ruleData: twoNftRuleData(testNft1Address, testNft2Address),
|
|
41
|
-
});
|
|
42
|
-
const aliceMintTx1 = TestERC721.publicMint('TestNFT1', alicesWallet.address);
|
|
43
|
-
const carolMintTx2 = TestERC721.publicMint('TestNFT2', carolsWallet.address);
|
|
44
|
-
log('Minting nfts for alice and carol');
|
|
45
|
-
await Promise.all([aliceMintTx1, carolMintTx2]);
|
|
46
|
-
log("linking carols wallet to alice's wallet");
|
|
47
|
-
await linkWallets(aliceSpaceDapp, aliceProvider.wallet, carolProvider.wallet);
|
|
48
|
-
log('Alice should be able to join space with one asset in carol wallet');
|
|
49
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
50
|
-
// kill the clients
|
|
51
|
-
const doneStart = Date.now();
|
|
52
|
-
await bob.stopSync();
|
|
53
|
-
await alice.stopSync();
|
|
54
|
-
log('Done', Date.now() - doneStart);
|
|
55
|
-
});
|
|
56
|
-
test('two nft gate join fail', async () => {
|
|
57
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, alicesWallet, spaceId } = await createTownWithRequirements({
|
|
58
|
-
everyone: false,
|
|
59
|
-
users: [],
|
|
60
|
-
ruleData: twoNftRuleData(testNft1Address, testNft2Address),
|
|
61
|
-
});
|
|
62
|
-
// join alice
|
|
63
|
-
log('Minting an NFT for alice');
|
|
64
|
-
await TestERC721.publicMint('TestNFT1', alicesWallet.address);
|
|
65
|
-
// first join the space on chain
|
|
66
|
-
const aliceJoinStart = Date.now();
|
|
67
|
-
log('transaction start Alice joining space');
|
|
68
|
-
const { issued } = await aliceSpaceDapp.joinSpace(spaceId, alicesWallet.address, aliceProvider.wallet);
|
|
69
|
-
expect(issued).toBe(false);
|
|
70
|
-
log('Alice failed to join space and has a MembershipNFT', Date.now() - aliceJoinStart);
|
|
71
|
-
// Have alice create her own space so she can initialize her user stream.
|
|
72
|
-
// Then she will attempt to join the space from the client, which should fail.
|
|
73
|
-
await createUserStreamAndSyncClient(alice, aliceSpaceDapp, 'alice', await everyoneMembershipStruct(aliceSpaceDapp, alice), aliceProvider.wallet);
|
|
74
|
-
// Alice cannot join the space on the stream node.
|
|
75
|
-
await expectUserCannotJoinSpace(spaceId, alice, aliceSpaceDapp, alicesWallet.address);
|
|
76
|
-
// kill the clients
|
|
77
|
-
await bob.stopSync();
|
|
78
|
-
await alice.stopSync();
|
|
79
|
-
});
|
|
80
|
-
test('or of two nft gate join pass', async () => {
|
|
81
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, alicesWallet, spaceId, channelId } = await createTownWithRequirements({
|
|
82
|
-
everyone: false,
|
|
83
|
-
users: [],
|
|
84
|
-
ruleData: twoNftRuleData(testNft1Address, testNft2Address, LogicalOperationType.OR),
|
|
85
|
-
});
|
|
86
|
-
// join alice
|
|
87
|
-
log('Minting an NFT for alice');
|
|
88
|
-
await TestERC721.publicMint('TestNFT1', alicesWallet.address);
|
|
89
|
-
// first join the space on chain
|
|
90
|
-
log('Expect alice can join space');
|
|
91
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
92
|
-
// kill the clients
|
|
93
|
-
const doneStart = Date.now();
|
|
94
|
-
await bob.stopSync();
|
|
95
|
-
await alice.stopSync();
|
|
96
|
-
log('Done', Date.now() - doneStart);
|
|
97
|
-
});
|
|
98
|
-
test('or of two nft or one nft gate join pass', async () => {
|
|
99
|
-
const root = Rules.or(Rules.and(Rules.checkErc721({
|
|
100
|
-
chainId: 31337n,
|
|
101
|
-
contractAddress: testNft1Address,
|
|
102
|
-
threshold: 1n,
|
|
103
|
-
}), Rules.checkErc721({
|
|
104
|
-
chainId: 31337n,
|
|
105
|
-
contractAddress: testNft2Address,
|
|
106
|
-
threshold: 1n,
|
|
107
|
-
})), Rules.checkErc721({
|
|
108
|
-
chainId: 31337n,
|
|
109
|
-
contractAddress: testNft3Address,
|
|
110
|
-
threshold: 1n,
|
|
111
|
-
}));
|
|
112
|
-
const ruleData = createRuleStruct(root);
|
|
113
|
-
const { alice, bob, aliceSpaceDapp, aliceProvider, alicesWallet, spaceId, channelId } = await createTownWithRequirements({
|
|
114
|
-
everyone: false,
|
|
115
|
-
users: [],
|
|
116
|
-
ruleData,
|
|
117
|
-
});
|
|
118
|
-
log("Mint Alice's NFTs");
|
|
119
|
-
const aliceMintTx1 = TestERC721.publicMint('TestNFT1', alicesWallet.address);
|
|
120
|
-
const aliceMintTx2 = TestERC721.publicMint('TestNFT2', alicesWallet.address);
|
|
121
|
-
await Promise.all([aliceMintTx1, aliceMintTx2]);
|
|
122
|
-
log('expect alice can join space');
|
|
123
|
-
await expectUserCanJoin(spaceId, channelId, 'alice', alice, aliceSpaceDapp, alicesWallet.address, aliceProvider.wallet);
|
|
124
|
-
// kill the clients
|
|
125
|
-
const doneStart = Date.now();
|
|
126
|
-
await bob.stopSync();
|
|
127
|
-
await alice.stopSync();
|
|
128
|
-
log('Done', Date.now() - doneStart);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
//# sourceMappingURL=spaceWithComplexEntitlements.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spaceWithComplexEntitlements.test.js","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/spaceWithComplexEntitlements.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spaceWithEntitlements.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/multi/entitlements/spaceWithEntitlements.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|