Greenhouse
A Greenhouse to plant contracts via CREATE3
Install / Use
/learn @chronicleprotocol/GreenhouseREADME
Greenhouse •

The Greenhouse contract provides a contract factory with deterministic addresses solely depending on a given salt.
To remove a contract's initcode factor from the address generation, Greenhouse uses CREATE3.
The contract uses chronicle-std/Auth's Auth module to grant addresses access to protected functions. chronicle-std's Toll module is utilized to determine which addresses are eligible to plant new contracts.
Installation
Install module via Foundry:
$ forge install chronicleprotocol/greenhouse@v1
Contributing
The project uses the Foundry toolchain. You can find installation instructions here.
Setup:
$ git clone https://github.com/chronicleprotocol/greenhouse
$ cd greenhouse
$ forge install
Run tests:
$ forge test
$ forge test -vvvv # Run with full stack traces
$ FOUNDRY_PROFILE=intense forge test # Run in intense mode
Lint:
$ forge fmt [--check]
Update gas snapshots:
$ forge snapshot [--check]
