Zodiac Wiki

Gnosis Guild orb
Home

Editing Roles Modifier

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 3: Line 3:
==Description==
==Description==


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.
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.


==Overview==
''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]].''
 
* '''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==


* '''Role-Based Access Control:''' Extends onchain permissions beyond owners/signers, allowing professionals like treasury managers to efficiently manage an org’s critical functions
* Create multiple roles and assigns roles to addresses
* '''Streamlined Transaction Execution:''' Enables permissioned transactions with clear parameters, eliminating the need for Safe owners/signers to approve every transaction
* Allow roles access to call, delegate call, and/or send to address
* '''Hyper Compatibility:''' Allows onchain entities to implement nearly any access control pattern on top of nearly any existing onchain system
* Scope which functions a role can call on a given address
* '''Robust Security:''' Ensures secure transaction environments through meticulous permission scoping and access control safeguards
* Scope which parameters are allowed on a given function
* '''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/1613576303483162627 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/1613576425063485441 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.)
 
* [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])
* [[: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/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==

Please note that all contributions to Gnosis zodiac.wiki are considered to be released under the Creative Commons Attribution-ShareAlike (see Gnosis zodiac mediawiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)