ebtc-protocol/ebtc

Implement new deploy script

Closed this issue · 2 comments

We need deploy scripts for testnet and mainnet.

On testnet, mock collateral, and price feed should be deployed
On mainnet, there should be a variant that deploys mocks as well as a version that connects to the real existing addresses and uses non-mock pricefeed.

  • mainnetDeployment.js and testnetDeployment.js are notably obselete at this point, recommend starting a new script.
  • as much of the logic of deploymentHelpers.js should be reused as possible
    • (premise: the deployment of test setup and real setup should be as similar as possible)
    • I pushed a minor refactor of deploymentHelpers.js here: #450
  • define a config file type, based on the current config files

Core Deploy Script: general flow

  • deploy or connect "dependencies" from file (chainlink feeds, collateral, weth)
  • use EBTCDeployer / CREATE3 logic to deploy all the core system contracts
  • the script should save it's intermediate state to file on each state update (contract deployed, etc)

for each contract:

  • deploy it
  • save it's address
  • verify it on etherscan. if this fails we should flag and exit (don't want to keep going until this is resolved)

Periphery Deploy Script

"periphery contacts", like the LeverageMacro, and deployed here in a separate file

Liquidity Deploy Script

Deploy liquidity for balancer pool, curve pool, uniswap pool. This can be a separate issue but wanted to flag

dupe of #444 no?

PR is here: #452