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