Contract for Liquidity Providing strategies
Be sure to have an .env file located at the root with the value MAINNET_RPC=<your rpc url> to be used for forked tests.
Compile and test the smart contract with Foundry:
$ forge test
Fork-dependent suites (test/StrategyTest.t.sol and test/StrategyMigrator.t.sol) are opt-in and are skipped by default.
To run them, set:
$ RUN_FORK_TESTS=true forge test
Scripts are separated by responsibility:
script/base/DeployBase.s.sol: deploy-onlyscript/base/ConfigureBase.s.sol: roles/config-only
Both use verified Base addresses:
- fycNGN:
0x757937525FD12bA22A1820ac2ff65666B8C1DB34 - pool:
0xbbae8d0df541aadf9d6a5db3515d40fb228bf782 - pool governance:
0xc7be60b228b997c23094ddfdd71e22e2de6c9310
Deploy dry run:
$ BASE_RPC_URL=... DEPLOYER_PRIVATE_KEY=... just deploy-base-dry
Deploy broadcast:
$ BASE_RPC_URL=... DEPLOYER_PRIVATE_KEY=... just deploy-base
Configure dry run:
$ BASE_RPC_URL=... STRATEGY=0x... just configure-base-dry
Configure broadcast:
$ BASE_RPC_URL=... STRATEGY=0x... just configure-base
Configuration flags:
CONFIGURE_POOL_INIT_ROLE=truewithPOOL_ADMIN_PRIVATE_KEY=...CONFIGURE_STRATEGY_ROLES=truewithSTRATEGY_ROOT_PRIVATE_KEY=...and optionalOPS=...GRANT_CALL_ROLE=trueto also grantcall(address,bytes)role toOPS