Permissions
are defined actions that users can undertake within a Space
. These permissions are fundamental to governing user interactions and activities within the ecosystem. The Towns system includes a range of permissions, each tailored to specific functionalities:
ModifyChannels
: This permission allows those who hold to create, delete, edit, and assign roles to a given channel within a Space.ModifyRoles
: This permission enables users to create and modify roles and entitlements within a Space.MintMembership
: The Mint
permission grants users the ability to mint a membership token for a given Space.Read
: The Read
permission allows users to access and view message content within a Space.Write
: With the Write
permission, users can create and modify message content within a Space.Roles
in the Towns system are aggregations of the aforementioned Permissions
. By combining different permissions into distinct roles, the system simplifies the management of user capabilities and access within a Space.
Entitlements
play a crucial role in determining user eligibility for different Roles. They dictate how users qualify for certain Roles and can be specific to different Channels or the Space itself.
Entitlement Modules
are instrumental in defining the requirements for Entitlements. These modules are akin to pricing modules, allowing for the deployment of bespoke smart contracts on the chain. To be incorporated into the Towns system, these contracts must adhere to the IEntitlement
Interface and be deployed to Base, with their settings adjusted for each Space.