Suggested Extension Patterns
The generic approach that we are suggesting for most cases is:
- Highly restricting namespace access/admin.
- Using system access to gate access to sensitive private systems and their functions.
- If user delegation is needed, having users delegate to the systems so that
systems can only act on their behalf under specified system logic.
- If a user were to delegate directly to another user, the delegatee is not bound by any additional logic.
See the BuildingUpgradeBounty extension example for an implementation of the following patterns and further diagrams.
Private P2P Agreements
Admin:
- Complete the necessary steps to register your namespace, tables, systems, and functions. Make systems default private unless otherwise necessary.
- Give system access to agreement partners.
- Transfer namespace ownership to timelock, multisig, or burn address.
All members:
- Necessary people give bounded delegation to the systems that require it (don't forget delegation footguns).
- Members execute agreements via system calls.
Open Public Agreements
Admin:
- Complete the necessary steps to register your namespace, tables, systems, and functions. Make the necessary systems publicly accessible.
- Transfer namespace ownership to timelock, multisig, or burn address.
All members:
- Necessary people give bounded delegation to the systems that require it (don't forget delegation footguns).
- Members execute agreements via system calls.
Alliances
Admin:
- Complete the
necessary steps to
register your namespace, tables, systems, and functions.
- Make systems default private unless otherwise necessary.
- One system should be an alliance membership system.
- Transfer namespace ownership to a multisig or alliance management system.
All members:
- Members register themselves in the alliance membership system.
- Necessary people give bounded delegation to the systems that require it (don't forget delegation footguns).
- Members execute alliance systems via system calls.
Opt-in Physics
For example, creating new ships, resources, etc. These patterns are likely not yet ready due to the lack of credibly committed delegations. Let us know if you find a possible use case!