This PR:
1) Adds contracts from the Gnosis Zodiac Usul repo into this one. Only the contracts related to the Usul.sol and OZLinearVoting.sol (renamed to TokenLinearVoting.sol) are imported
2) Updates function names, variable names, and event names to align with Fractal conventions
3) Renames "Queue" to "Timelock" anywhere it appears in the contracts
4) Adds support for Voting implementation contracts to define which user's have the ability to create proposals
5) Update tests for all changes, add new test file for testing the FractalUsul & LinearTokenVoting contracts
Notes
Deploying new contracts & updating NPM package will be done in a separate PR
Description
This PR: 1) Adds contracts from the Gnosis Zodiac Usul repo into this one. Only the contracts related to the Usul.sol and OZLinearVoting.sol (renamed to TokenLinearVoting.sol) are imported 2) Updates function names, variable names, and event names to align with Fractal conventions 3) Renames "Queue" to "Timelock" anywhere it appears in the contracts 4) Adds support for Voting implementation contracts to define which user's have the ability to create proposals 5) Update tests for all changes, add new test file for testing the FractalUsul & LinearTokenVoting contracts
Notes
Deploying new contracts & updating NPM package will be done in a separate PR
Issue / Notion doc (if applicable)
https://github.com/decent-dao/fractal-contracts/issues/27
Testing
1) Run
npm install
2) Runnpm test
Screenshots (if applicable)