Skip to content

whetstoneresearch/doppler

Repository files navigation

Doppler

Test GitBook - Documentation Foundry License: BUSL 1.1

This repository contains the Doppler Protocol along with the Airlock contracts. You can learn more about the technical aspects in the documentation.

Deployments

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.

Usage

Installation

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 install

Testing

Tests 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 the create and migrate flows
# 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-fuzz

Tests 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=30

Deploying

See 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.

About

Core contracts for the Doppler Protocol

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors