primev/mev-commit

L1 contract deployer cli

Opened this issue · 1 comments

Mev-commit chain (core) contract deployment is managed by our nomad infra. L1 contract deployments have been executed through a Makefile that runs scripts directly on my machine via keystore. Makefile is prob not the best tool here, so we should introduce a simple cli to manage l1 contract deployments.

The cli should look for a deployer keystore on the host machine, accept various params like keystore password as env vars, etc. It should be compatible with both production l1 deployments, and local (anvil) deployments from default private key.

More nice to haves:

  • Enforce that prod l1 deployments are made from a release branch and a valid tag
  • Generate/post some sort of deploy artifact
  • README
  • Remove all l1 contract deployment code from makefiles and entrypoint.sh

Prob worth also adding functionality for contract verification. See https://book.getfoundry.sh/forge/deploying and https://info.etherscan.com/how-to-verify-contracts/