Zodiac Wiki

Gnosis Guild orb
Home

Difference between revisions of "Roles Modifier"

 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
==Description==
==Description==


The Zodiac Roles Modifier allows owners of an avatar (a Safe or other web3 account) to create roles with granular permissions and grant them to any address. Roles are able to make unilateral calls to any approved addresses, functions, and variables to which the role has been granted access, even if they're not an owner.
Zodiac Roles Modifier is an onchain permissions module for smart accounts. With Roles, onchain entities can extend secure transaction permissions to any address through customizable roles, allowing any account to act on its behalf. The smart contract module attaches to any avatar (a Safe or other web3 account), enabling onchain entities of all sizes to tailor roles and permissions to their needs, ensuring robust, secure, and seamless web3 transactions.


''Note: the Roles Modifier works especially well with Zodiac Pilot, a Chrome extension that enables users to simulate, record, and batch dapp transactions on behalf of a DAO. [[:Category:Pilot_Extension|Learn more about the Zodiac Pilot Extension]].''
==Overview==
 
* '''Zodiac Roles Modifier:''' A smart contract module  that allows onchain entities to create roles with granular permissions and grant them to any address.
* '''Zodiac Roles Toolkit:''' An accompanying kit for developers to make building with Roles more powerful and interacting with it simpler.
** '''SDK:''' A TypeScript software development kit to programmatically manage and navigate roles and permissions
** '''Subgraph:''' A specialized querying tool to easily explore roles and permissions associated with any Zodiac Roles Modifier
 
''Note: Zodiac Roles Modifier is designed to work seamlessly with [https://pilot.gnosisguild.org Zodiac Pilot], a new paradigm in wallet-dapp interaction that allows authorized roles to easily craft multi-send batch transactions on behalf of an onchain entity through a simple interface. [[:Category:Pilot_Extension|Learn more about the Zodiac Pilot Extension]].''


==Core Benefits==
==Core Benefits==


* Create multiple roles and assigns roles to addresses
* '''Role-Based Access Control:''' Extends onchain permissions beyond owners/signers, allowing professionals like treasury managers to efficiently manage an org’s critical functions
* Allow roles access to call, delegate call, and/or send to address
* '''Streamlined Transaction Execution:''' Enables permissioned transactions with clear parameters, eliminating the need for Safe owners/signers to approve every transaction
* Scope which functions a role can call on a given address
* '''Hyper Compatibility:''' Allows onchain entities to implement nearly any access control pattern on top of nearly any existing onchain system
* Scope which parameters are allowed on a given function
* '''Robust Security:''' Ensures secure transaction environments through meticulous permission scoping and access control safeguards
* '''Efficient Role Management:''' Simplifies and streamlines user management tasks and transaction permissions
 
==Key Features==
 
* '''Create & Assign Roles:''' Generate custom roles and assign them to any address
* '''Fine-Tune Permissions:''' Assign granular permissions to each role, scoping authorized addresses, designated functions, and allowed parameter values through a highly expressive conditions system
* '''Set Rate and Threshold Limits:''' Set limits on how frequently a given role or permission can be used, along with thresholds for the scoped parameters granted by a given permission
* '''Execute Secure Transactions:''' Authorize role members to perform secure transactions on behalf of the avatar (e.g. a Safe or other compatible smart account)
* '''Manage Roles & Permissions:''' Manage roles and query permissions using the TypeScript SDK and integrated subgraph


==Example Use Cases==
==Example Use Cases==


* A DAO wants to issue credentials to its community for the purpose of work contributions through its Safe. In order to bypass signature requirements for every update, the DAO equips the Roles Modifier and limits the signature requirement to a single designated account, which can now issue credentials on behalf of the DAO with more efficiency.
* A DAO wants to issue credentials to its community for the purpose of work contributions through its Safe. In order to bypass signature requirements for every update, the DAO equips the Roles Modifier and limits the signature requirement to a single designated account, which can now issue credentials on behalf of the DAO with more efficiency.
* A DAO wants to implement a DeFi strategy to generate yield, but the Safe owners are not experts in treasury management. By specifying role-based permissions for a specific address using the [https://zodiac.wiki/index.php/Category:Roles_Modifier Roles Modifier], the DAO can hire a third-party treasury manager to use [[:Category:Pilot_Extension|Zodiac Pilot]] to simulate and batch DeFi transactions on its behalf, all in a non-custodial, transparent, and trust-minimized way. (For a detailed breakdown of this example, [https://twitter.com/santinomics_/status/1613576425063485441 visit this tweet thread].)
* A DAO wants to implement a DeFi strategy to generate yield, but the Safe owners are not experts in treasury management. By specifying role-based permissions for a specific address using the [https://zodiac.wiki/index.php/Category:Roles_Modifier Roles Modifier], the DAO can hire a third-party treasury manager to use [[:Category:Pilot_Extension|Zodiac Pilot]] to simulate and batch DeFi transactions on its behalf, all in a non-custodial, transparent, and trust-minimized way. (For a detailed breakdown of this example, [https://twitter.com/santinomics_/status/1613576303483162627 visit this tweet thread].)


==Tutorials==
==Tutorials==


 
* [[:Roles_Modifier:_Operator_Tutorial|Tutorial for DAO Operators]]: This tutorial has the perspective of a steward, admin, or manager of an organization using the Roles Modifier. (Note: This tutorial is for Roles Mod v.1. The operator tutorial for v2 will come once the revamped mod is integrated into the Zodiac Safe App.)
* [[:Roles_Modifier:_Operator_Tutorial|Tutorial for DAO Operators]]: This tutorial has the perspective of a steward, admin, or manager of an organization using the Roles Modifier.
* [https://github.com/gnosisguild/zodiac-modifier-roles Tutorial for DAO Developers]: This tutorial has the perspective of ​a developer who is comfortable with the command line and would like to implement, modify, or build upon the Roles Modifier. (Note: This tutorial is for Roles Mod v2. The Roles Mod v1 developer tutorial can be found [https://github.com/gnosisguild/zodiac-modifier-roles-v1 here])
* [https://github.com/gnosis/zodiac-modifier-roles Tutorial for DAO Developers]: This tutorial has the perspective of ​a developer who is comfortable with the command line and would like to implement, modify, or build upon the Roles Modifier.


==Interfaces==
==Interfaces==

Latest revision as of 22:27, 17 February 2024

Banner-roles.jpg

Description[edit]

Zodiac Roles Modifier is an onchain permissions module for smart accounts. With Roles, onchain entities can extend secure transaction permissions to any address through customizable roles, allowing any account to act on its behalf. The smart contract module attaches to any avatar (a Safe or other web3 account), enabling onchain entities of all sizes to tailor roles and permissions to their needs, ensuring robust, secure, and seamless web3 transactions.

Overview[edit]

  • Zodiac Roles Modifier: A smart contract module that allows onchain entities to create roles with granular permissions and grant them to any address.
  • Zodiac Roles Toolkit: An accompanying kit for developers to make building with Roles more powerful and interacting with it simpler.
    • SDK: A TypeScript software development kit to programmatically manage and navigate roles and permissions
    • Subgraph: A specialized querying tool to easily explore roles and permissions associated with any Zodiac Roles Modifier

Note: Zodiac Roles Modifier is designed to work seamlessly with Zodiac Pilot, a new paradigm in wallet-dapp interaction that allows authorized roles to easily craft multi-send batch transactions on behalf of an onchain entity through a simple interface. Learn more about the Zodiac Pilot Extension.

Core Benefits[edit]

  • Role-Based Access Control: Extends onchain permissions beyond owners/signers, allowing professionals like treasury managers to efficiently manage an org’s critical functions
  • Streamlined Transaction Execution: Enables permissioned transactions with clear parameters, eliminating the need for Safe owners/signers to approve every transaction
  • Hyper Compatibility: Allows onchain entities to implement nearly any access control pattern on top of nearly any existing onchain system
  • Robust Security: Ensures secure transaction environments through meticulous permission scoping and access control safeguards
  • Efficient Role Management: Simplifies and streamlines user management tasks and transaction permissions

Key Features[edit]

  • Create & Assign Roles: Generate custom roles and assign them to any address
  • Fine-Tune Permissions: Assign granular permissions to each role, scoping authorized addresses, designated functions, and allowed parameter values through a highly expressive conditions system
  • Set Rate and Threshold Limits: Set limits on how frequently a given role or permission can be used, along with thresholds for the scoped parameters granted by a given permission
  • Execute Secure Transactions: Authorize role members to perform secure transactions on behalf of the avatar (e.g. a Safe or other compatible smart account)
  • Manage Roles & Permissions: Manage roles and query permissions using the TypeScript SDK and integrated subgraph

Example Use Cases[edit]

  • A DAO wants to issue credentials to its community for the purpose of work contributions through its Safe. In order to bypass signature requirements for every update, the DAO equips the Roles Modifier and limits the signature requirement to a single designated account, which can now issue credentials on behalf of the DAO with more efficiency.
  • A DAO wants to implement a DeFi strategy to generate yield, but the Safe owners are not experts in treasury management. By specifying role-based permissions for a specific address using the Roles Modifier, the DAO can hire a third-party treasury manager to use Zodiac Pilot to simulate and batch DeFi transactions on its behalf, all in a non-custodial, transparent, and trust-minimized way. (For a detailed breakdown of this example, visit this tweet thread.)

Tutorials[edit]

  • Tutorial for DAO Operators: This tutorial has the perspective of a steward, admin, or manager of an organization using the Roles Modifier. (Note: This tutorial is for Roles Mod v.1. The operator tutorial for v2 will come once the revamped mod is integrated into the Zodiac Safe App.)
  • Tutorial for DAO Developers: This tutorial has the perspective of ​a developer who is comfortable with the command line and would like to implement, modify, or build upon the Roles Modifier. (Note: This tutorial is for Roles Mod v2. The Roles Mod v1 developer tutorial can be found here)

Interfaces[edit]

Roles02.png

Roles08.png

Roles04.png

Pages in category "Roles Modifier"

This category contains only the following page.