This repository contains the Doppler Protocol along with the Airlock contracts. You can learn more about the technical aspects in the documentation.
Latest deployments can be found here, which is a mirror of the documentation page. For historical deployments, you can check the deployments folder, which contains the deployment logs for each network.
First, you will need to install Foundry if you don't already have it. Then, run the following commands:
# Clone the repository
$ git clone [email protected]:whetstoneresearch/doppler.git
# Install the dependencies
$ make installTests are separated into 3 different folders:
unit: unit and fuzz tests for individual contracts and libraries, deployed using a minimal local setup (for example only the contract being tested, dependencies are usually mocked)inveriant: invariant tests for specific contracts or flows, deployed using a more complete local setup (including real dependencies)integration: specific end-to-end tests including our different modules and their dependencies with the goal of validating thecreateandmigrateflows
# Copy the example a .env file and fill the RPC endpoints
$ cp .env.example .env
# Then run the tests
$ make test
# You can also only run the invariant tests
$ make fuzz
# And even run longer fuzz tests
$ make deep-fuzzTests can be tweaked from the .env file, this is a nice way to try different testing scenarios without recompiling the contracts:
IS_TOKEN_0=FALSE
USING_ETH=FALSE
FEE=30See the deployment documentation in docs/Deployment.md. Configure the required environment variables in .env or GitHub, and then run the relevant deployment script directly with forge script.