Skip to content

whetstoneresearch/doppler

Folders and files

NameName
Last commit message
Last commit date
Jan 23, 2025
Nov 4, 2024
Jan 14, 2025
Jan 30, 2025
Mar 20, 2025
Oct 27, 2024
Mar 25, 2025
Mar 25, 2025
Sep 23, 2024
Feb 11, 2025
Feb 11, 2025
Jan 30, 2025
Mar 20, 2025
Oct 30, 2024
Mar 4, 2025
Oct 25, 2024
Mar 21, 2025
Jan 17, 2025
Feb 19, 2025

Repository files navigation

Doppler

Test

This reposity contains the Doppler Protocol along with the Airlock contracts.

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
$ forge install

Test

# Create a .env file for the configuration, don't forget to add an RPC endpoint for Mainnet
$ cp .env.example .env

# Then run the tests
$ forge test

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

Deploy

First be sure to set the PROTOCOL_OWNER variable in your .env file. V1 contracts running on Uniswap V3 can be deployed using the following command:

# --rpc-url is the chain you want to deploy to
# --private-key is the deployer wallet (not the owner)
forge script ./script/V1DeploymentScript.s.sol --rpc-url https://... --private-key 0x... --broadcast
# First load the environment variables
source .env

# Then use any of the following commands to deploy the contracts on the desired network

# Unichain Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $UNICHAIN_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $UNICHAIN_SEPOLIA_VERIFIER_URL --broadcast --slow

# Base Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $BASE_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $BASE_SEPOLIA_VERIFIER_URL --broadcast --slow

# World Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $WORLD_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $WORLD_SEPOLIA_VERIFIER_URL --broadcast --slow

# Ink Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $INK_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $INK_SEPOLIA_VERIFIER_URL --broadcast --slow

# Arbitrum Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $ARBITRUM_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $ARBITRUM_SEPOLIA_VERIFIER_URL --broadcast --slow

# Monad Testnet
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $MONAD_TESTNET_RPC_URL --verify --verifier sourcify --verifier-url $MONAD_TESTNET_VERIFIER_URL --broadcast --slow