Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tbwebb22 committed Oct 6, 2022
1 parent 4a2c81f commit 5a478ba
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
# Fractal - GnosisWrapper
# Fractal Contracts

## Architecture
### GnosisWrapper.sol
### VetoGuard.sol

The Gnosis Wrapper Module utilizes serves as a link between the Fractal ecosystem and a Gnosis Safe. This contract inherits from ModuleBase so that the Fractal Access Control scheme can be used if necessary.
The VetoGuard is a Gnosis Guard contract that enables a Fractal parent DAO to block or "veto" transactions on a child DAO from being executed. This also supports a child DAO being "frozen" by a parent DAO, which prevents the child DAO from executing any transaction until the freeze period has ended.

### GnosisWrapperFactory.sol
### VetoERC20Voting.sol

The Gnosis Wrapper Factory Contract contains the methods needed to deploy a proxy that is pointed to an implementation on chain. This contract inherits from the ModuleBaseFactory interface so that is compatible with the metaFactory contract in the MVD.
The VetoERC20Voting contract enables token holders of a parent DAO governance ERC-20 token to vote on vetoing child DAO transactions, and vote on freezing a child DAO. This implements a "one-token-one-vote" vote counting schema.

### FractalNameRegistry.sol

The FractalNameRegistry is a global contract for all Fractal DAOs which enables DAOs to configure a human-readable string that represents their DAO's name. These name strings are non-unique, and not used for identifying a DAO. They are purely utilized for UX purposes.

### FractalModule.sol

The FractalModule is a Gnosis Module contract that may be "installed" on a Fractal Gnosis Safe. This module enables other Fractal DAOs, typically a "parent" DAO, to execute transactions through the child DAO's Gnosis Safe. This may be utilized for functionality such as a "clawback", when a parent DAO claims back some or all of a child DAO's treasury.

## Local Setup & Testing

Expand Down Expand Up @@ -49,10 +57,6 @@ npx hardhat deploy --network <network>

## Local Hardhat deployment

To deploy the base Fractal contracts open a terminal and run:
To deploy the Fractal contracts open a terminal and run:
```shell
npx hardhat node
```
This will deploy the following contracts and log the addresses they were deployed to:
- GnosisWrapperFactory
- GnosisWrapper Implementation

0 comments on commit 5a478ba

Please sign in to comment.