TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/openmls/openmls/llms.txt
Use this file to discover all available pages before exploring further.
RequiredCapabilitiesExtension defines the configuration requirements for all members of an MLS group. This extension appears in the GroupContext to ensure all members support the required capabilities.
Overview
This extension lists the extensions, proposal types, and credential types that must be supported by all members of the group. It is enforced during the application of Add commits for new members.Structure
Fields
List of extension types that all group members must support
List of proposal types that all group members must support
List of credential types that all group members must support
Creating Required Capabilities
Usage in GroupContext
Methods
new()
Creates a new RequiredCapabilitiesExtension.Required extension types
Required proposal types
Required credential types
New RequiredCapabilitiesExtension instance
extension_types()
Returns the list of required extension types.Slice of required extension types
proposal_types()
Returns the list of required proposal types.Slice of required proposal types
credential_types()
Returns the list of required credential types.Slice of required credential types
Validation
When a GroupContextExtensions proposal contains a RequiredCapabilitiesExtension, it is validated to ensure:- All current group members support the required capabilities
- The proposal is rejected if any member lacks required support
- The new member’s capabilities are checked against required capabilities
- The Add commit is rejected if the member doesn’t support all requirements
Example: Setting Group Requirements
Default Support
Members automatically support these “default” capabilities without explicit declaration:- Default extensions: ApplicationId, RatchetTree, RequiredCapabilities, ExternalPub, ExternalSenders
- Default proposals depend on the MLS protocol version
See Also
- Capabilities - Leaf node capability structure
- Extensions Overview
- GroupContext Extensions