chronicleprotocol / greenhouse

A Greenhouse to plant contracts via CREATE3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Greenhouse • Unit Tests License: MIT

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]

Dependencies

About

A Greenhouse to plant contracts via CREATE3

License:MIT License


Languages

Language:Solidity 95.1%Language:Shell 4.9%