11/* eslint-disable no-process-exit */
22import hre from 'hardhat'
33import { getChainId } from '../common/blockchain-utils'
4- import { networkConfig } from '../common/configuration'
4+ import { baseL2Chains , networkConfig } from '../common/configuration'
55import { sh } from './deployment/utils'
66
77async function main ( ) {
@@ -25,7 +25,8 @@ async function main() {
2525 // Part 1/3 of the *overall* deployment process: Deploy all contracts
2626 // See `confirm.ts` for part 2
2727
28- const scripts = [
28+ // Phase 1- Implementations
29+ let scripts = [
2930 'phase1-common/0_setup_deployments.ts' ,
3031 'phase1-common/1_deploy_libraries.ts' ,
3132 'phase1-common/2_deploy_implementations.ts' ,
@@ -34,35 +35,55 @@ async function main() {
3435 'phase1-common/5_deploy_deployer.ts' ,
3536 'phase1-common/6_deploy_facadeWrite.ts' ,
3637 'phase1-common/7_deploy_facadeAct.ts' ,
37- // =============================================
38- 'phase2-assets/0_setup_deployments.ts' ,
39- 'phase2-assets/1_deploy_assets.ts' ,
40- 'phase2-assets/assets/deploy_crv.ts' ,
41- 'phase2-assets/assets/deploy_cvx.ts' ,
42- 'phase2-assets/2_deploy_collateral.ts' ,
43- 'phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts' ,
44- 'phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts' ,
45- 'phase2-assets/collaterals/deploy_flux_finance_collateral.ts' ,
46- 'phase2-assets/collaterals/deploy_ctokenv3_usdc_collateral.ts' ,
47- 'phase2-assets/collaterals/deploy_convex_stable_plugin.ts' ,
48- 'phase2-assets/collaterals/deploy_convex_rToken_metapool_plugin.ts' ,
49- 'phase2-assets/collaterals/deploy_convex_stable_metapool_plugin.ts' ,
50- 'phase2-assets/collaterals/deploy_curve_stable_plugin.ts' ,
51- 'phase2-assets/collaterals/deploy_curve_rToken_metapool_plugin.ts' ,
52- 'phase2-assets/collaterals/deploy_curve_stable_metapool_plugin.ts' ,
53- 'phase2-assets/collaterals/deploy_dsr_sdai.ts' ,
54- 'phase2-assets/collaterals/deploy_cbeth_collateral.ts' ,
55- 'phase2-assets/collaterals/deploy_morpho_aavev2_plugin.ts' ,
56- 'phase2-assets/collaterals/deploy_aave_v3_usdc.ts' ,
57- // ===============================================
58- // These phase3 scripts will not deploy functional RTokens or Governance. They deploy bricked
59- // versions that are used for verification only. Further deployment is left up to the Register.
60- // 'phase3-rtoken/0_setup_deployments.ts',
61- // 'phase3-rtoken/1_deploy_rtoken.ts',
62- // 'phase3-rtoken/2_deploy_governance.ts',
63- // We can uncomment this section whenever we update governance, which will be rarely
6438 ]
6539
40+ // =============================================
41+
42+ // Phase 2 - Assets/Collateral
43+ if ( ! baseL2Chains . includes ( hre . network . name ) ) {
44+ scripts . push (
45+ 'phase2-assets/0_setup_deployments.ts' ,
46+ 'phase2-assets/1_deploy_assets.ts' ,
47+ 'phase2-assets/assets/deploy_crv.ts' ,
48+ 'phase2-assets/assets/deploy_cvx.ts' ,
49+ 'phase2-assets/2_deploy_collateral.ts' ,
50+ 'phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts' ,
51+ 'phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts' ,
52+ 'phase2-assets/collaterals/deploy_flux_finance_collateral.ts' ,
53+ 'phase2-assets/collaterals/deploy_ctokenv3_usdc_collateral.ts' ,
54+ 'phase2-assets/collaterals/deploy_convex_stable_plugin.ts' ,
55+ 'phase2-assets/collaterals/deploy_convex_rToken_metapool_plugin.ts' ,
56+ 'phase2-assets/collaterals/deploy_convex_stable_metapool_plugin.ts' ,
57+ 'phase2-assets/collaterals/deploy_curve_stable_plugin.ts' ,
58+ 'phase2-assets/collaterals/deploy_curve_rToken_metapool_plugin.ts' ,
59+ 'phase2-assets/collaterals/deploy_curve_stable_metapool_plugin.ts' ,
60+ 'phase2-assets/collaterals/deploy_dsr_sdai.ts' ,
61+ 'phase2-assets/collaterals/deploy_cbeth_collateral.ts' ,
62+ 'phase2-assets/collaterals/deploy_morpho_aavev2_plugin.ts' ,
63+ 'phase2-assets/collaterals/deploy_aave_v3_usdc.ts'
64+ )
65+ } else if ( chainId == '8453' || chainId == '84531' ) {
66+ // Base L2 chains
67+ scripts . push (
68+ 'phase2-assets/0_setup_deployments.ts' ,
69+ 'phase2-assets/1_deploy_assets.ts' ,
70+ 'phase2-assets/2_deploy_collateral.ts' ,
71+ 'phase2-assets/collaterals/deploy_cbeth_collateral.ts' ,
72+ 'phase2-assets/collaterals/deploy_ctokenv3_usdbc_collateral.ts' ,
73+ 'phase2-assets/collaterals/deploy_aave_v3_usdbc.ts'
74+ )
75+ }
76+
77+ // ===============================================
78+
79+ // Phase 3 - RTokens
80+ // These phase3 scripts will not deploy functional RTokens or Governance. They deploy bricked
81+ // versions that are used for verification only. Further deployment is left up to the Register.
82+ // 'phase3-rtoken/0_setup_deployments.ts',
83+ // 'phase3-rtoken/1_deploy_rtoken.ts',
84+ // 'phase3-rtoken/2_deploy_governance.ts',
85+ // We can uncomment and prepare this section whenever we update governance, which will be rarely
86+
6687 for ( const script of scripts ) {
6788 console . log ( '\n===========================================\n' , script , '' )
6889 await sh ( `hardhat run scripts/deployment/${ script } ` )
0 commit comments