## About fork of Zodiac Modules The repository have used and forked contracts made for [Gnosis Zodiac](https://github.com/gnosis/zodiac). We have modified following contracts: 1. [Roles](https://github.com/gnosis/zodiac-modifier-roles) 2. [Delay](https://github.com/gnosis/zodiac-modifier-delay) Our main requirements was to: 1. enforce granular, role-based, permissions for attached modules 2. allows avatars to enforce a time delay between when a module initiates a transaction and when it can be executed by an avatar. Though we needed to modify them to suit our approach. 1. Instead of account based role, we needed badge(ERC-1155 token) based role. 2. A way to add time-delay for transactions whose data should remain confidential until it is executed. The fork includes addition and modificaiton of functions as well state variables. Let's breakdown the fork: ### Modifications in `Roles` `Roles` is renamed to `BACRoles` which means Badger Access Control Roles. This modification allows us to assign roles to a badge. A badge is an ERC-1155 non-transferable token. ### Modifications in `Delay` `Delay` is renamed to `SecretDelay`. This modificaiton contains additional function through which we can add secret/private transaction whose details are not available to public but only available to certain badge holders. Once the secret/private transaction is executed, the details are available publicly. We rely on [Lit Protocol](https://litprotocol.com/) to securly encrypt and decrypt the transaction data.