- Foundry is installed
taskandyqare installed.envis configured (see.env.example)rpc_endpointsare configured infoundry.tomldeploy-config/<network>/<profile>.yamlis prepared
make build
make testPre-commit auto-formatting (repo only): run make install-hooks once at the repository root. After that, every git commit will run forge fmt and re-stage modified .sol files automatically.
All deployment and upgrade operations are executed through Taskfile.yaml.
Common commands:
NETWORK=mantle-sepolia task DeployAll
NETWORK=mantle-sepolia task RegisterStrategy
NETWORK=mantle-sepolia task UpgradeAllUpgrade individual modules:
NETWORK=mantle-sepolia task UpgradeSanctionsOracle
NETWORK=mantle-sepolia task UpgradeAccountant
NETWORK=mantle-sepolia task UpgradeStrategyController
NETWORK=mantle-sepolia task UpgradeGateway
NETWORK=mantle-sepolia task UpgradeVault
NETWORK=mantle-sepolia task UpgradeOperatorExecutor
NETWORK=mantle-sepolia task UpgradeAccountantExecutorYou can also pass through Foundry arguments:
NETWORK=mantle-sepolia task DeployAll -- --broadcast -vvvv
NETWORK=mantle-sepolia task UpgradeVault -- --broadcastNETWORK: maps todeploy-config/<network>/PROFILE: defaults todefaultCLI_ARGS: passed through toforge script
- Do not commit
.env F_PRIVATE_KEYmust include the0xprefix- If a private key is exposed, rotate it immediately and migrate permissions