To get set up:
- Install Foundry.
curl -L https://foundry.paradigm.xyz | sh
- Install external lib(s)
git submodule update --init && yarn install
then run
forge update
If git modules are failing to clone, not installing, etc (ie overall submodule misbehaving), use git submodule update --init --recursive --force
- Run tests:
forge test
- Update Foundry periodically:
foundryup
This repo is organised as follow:
Test for every extension are provided in contracts/test. Those test are using a complete Juicebox contracts deployment (provided in helpers/TestBaseWorkflow) without requiring a forked network.
Configure the .env variables, and add a mnemonic.txt file with the mnemonic of the deployer wallet. The sender address in the .env must correspond to the mnemonic account.
yarn deploy-mainnet
The deployments are stored in ./broadcast
See the Foundry Book for available options.