Types of roles
Default roles
These roles are given automatically whenever a new Safe smart account is added to the hierarchical structure in the Palmera module.
Root Safe smart account
It can: execute a transaction on behalf of any Safe smart account within its hierarchy structure, add or remove owners of any Safe smart account, change the parent of any Safe, and add or remove any Safe smart account, EOA or smart contract from the hierarchical structure, it can also add or remove Safe smart accounts, EOAs or smart contracts from the allow or deny list.
Root Safe smart account, however, doesn't have any rights over other root Safe nor the children of other root Safe.
Super Safe smart account
Super Safe smart account only has admin rights over subsafes, meaning safes positioned one level below them in their hierarchical structure.
It can: execute a transaction on behalf of any Safe smart accounts, add or remove owners of any subsafe, change the super Safe smart account of any Safe smart account and remove any subsafe from the hierarchyicalstructure.
It cannot: add or remove Safe smart account, EOAs, or smart contracts from the allow or deny list and they don't have rights over any super Safe, root Safes nor children of other root Safes.
Optional Roles
These are roles that can be given optionally to Safe smart accounts, externally owned accounts (EOA), or other smart contracts that aren't part of the hierarchical structure.
All optional roles only have admin rights over subsafe accounts, meaning Safe smart accounts positioned one level below them in their hierarchical structure.
Safe smart account lead
It can: execute a transaction on behalf of a subsafe account, it can also add or remove owners of a subsafe account if configured accordingly.
It cannot: add or remove Safes, EOAs, or smart contracts from the allow or deny list, can't change the super Safe of any Safe, or remove any subsafe, EOAs, or smart contracts from the hierarchical structure, they don't have rights over any super Safes, root Safes nor the children of other root Safes.
Safe smart account lead without owner modifier
It can: execute a transaction on behalf of any subsafe account if configured accordingly.
It cannot: add or remove owners of any subsafe, add or remove Safe smart account, EOAs, or smart contracts from the allow or deny list, they can't change the super Safes of any Safe or remove any Safe from the hierarchical structure, don't have rights over any super Safes, root Safes nor children of other root Safe smart account.
Safe smart account lead without executeOnBehalf
It can: add or remove owners of any subsafe account if configured accordingly.
It cannot: execute a transaction on behalf of any subsafe account, add or remove Safe smart account from the allow or deny list, add or remove Safe smart account, EOAs, or smart contracts from the allow or deny list, they can't change the super Safe smart account of any Safe smart account or remove any Safe smart account from the hierarchical structure, they don't have rights over any super Safe smart account, root Safe smart account nor children of other root Safe smart accounts.
Last updated