- Install dependencies with
forge install - Run test with
forge test --isolate
- Run
forge update
The scripts are located in /script folder, deployed contract address can be found in script/config
// set script config: /script/config/{CONFIG}.json
export CONFIG=ethereum
// private key need to be prefixed with 0x
export PRIVATE_KEY=0x
// optional. Only set if you want to verify contract on explorer
export ETHERSCAN_API_KEY=xx
Refer to the script source code for the specific commands: there are two commands—one for deployment and one for verification. A separate verification command is necessary because the contract is deployed through the create3Factory.
Example. within script/02_DeployCLPositionManager.s.sol
forge script script/02_DeployCLPositionManager.s.sol:DeployCLPositionManager -vvv \
--rpc-url $RPC_URL \
--broadcast \
--slow
forge verify-contract <address> CLPositionManager --watch \
--chain <chainId> --constructor-args $(cast abi-encode "constructor(address,address,address,uint256,address,address)" \
<vault> <clPoolManager> <permit2> <unsubscribeGasLimit> <clPositionDescriptor> <weth9>)