diff --git a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/data-transport-layer.env b/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/data-transport-layer.env deleted file mode 100644 index 0209ac8a4200a..0000000000000 --- a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/data-transport-layer.env +++ /dev/null @@ -1,22 +0,0 @@ -DATA_TRANSPORT_LAYER__ADDRESS_MANAGER=0x100Dd3b414Df5BbA2B542864fF94aF8024aFdf3a -DATA_TRANSPORT_LAYER__CONFIRMATIONS=12 -DATA_TRANSPORT_LAYER__DANGEROUSLY_CATCH_ALL_ERRORS=true -DATA_TRANSPORT_LAYER__DB_PATH=/db -DATA_TRANSPORT_LAYER__DEFAULT_BACKEND=l2 -DATA_TRANSPORT_LAYER__ENABLE_METRICS=true -DATA_TRANSPORT_LAYER__ETH_NETWORK_NAME=kovan -DATA_TRANSPORT_LAYER__L1_GAS_PRICE_BACKEND=l2 -DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT=https://black-still-surf.kovan.quiknode.pro/5b5c461c3ec09dfa1aed3b9ac4c35516f1bb3d1e/ -DATA_TRANSPORT_LAYER__L2_CHAIN_ID=69 -DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT=https://kovan-sequencer.optimism.io -DATA_TRANSPORT_LAYER__LOGS_PER_POLLING_INTERVAL=2000 -DATA_TRANSPORT_LAYER__NODE_ENV=production -DATA_TRANSPORT_LAYER__POLLING_INTERVAL=500 -DATA_TRANSPORT_LAYER__SENTRY_TRACE_RATE=0.05 -DATA_TRANSPORT_LAYER__SERVER_HOSTNAME=0.0.0.0 -DATA_TRANSPORT_LAYER__SERVER_PORT=7878 -DATA_TRANSPORT_LAYER__SYNC_FROM_L1=false -DATA_TRANSPORT_LAYER__SYNC_FROM_L2=true -DATA_TRANSPORT_LAYER__TRANSACTIONS_PER_POLLING_INTERVAL=1000 -DEPLOYER_HTTP= -L1_NODE_WEB3_URL=https://black-still-surf.kovan.quiknode.pro/5b5c461c3ec09dfa1aed3b9ac4c35516f1bb3d1e/ diff --git a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/l2geth.env b/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/l2geth.env deleted file mode 100644 index 00a48ee6af171..0000000000000 --- a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/l2geth.env +++ /dev/null @@ -1,39 +0,0 @@ -CHAIN_ID=69 -DATADIR=/geth -DEV=true -NETWORK_ID=69 -NO_DISCOVER=true -NO_USB=true -GASPRICE=0 -GCMODE=archive -IPC_DISABLE=true -ETH1_CTC_DEPLOYMENT_HEIGHT=25502591 -ETH1_L1_FEE_WALLET_ADDRESS=0x18394B52d3Cb931dfA76F63251919D051953413d -ETH1_L1_CROSS_DOMAIN_MESSENGER_ADDRESS=0x4361d0F75A0186C05f971c566dC6bEa5957483fD -ETH1_L1_ETH_GATEWAY_ADDRESS= -ETH1_L1_STANDARD_BRIDGE_ADDRESS=0x22F24361D548e5FaAfb36d1437839f080363982B -ETH1_SYNC_SERVICE_ENABLE=true -ROLLUP_ADDRESS_MANAGER_OWNER_ADDRESS=0x18394b52d3cb931dfa76f63251919d051953413d -ROLLUP_STATE_DUMP_PATH=https://storage.googleapis.com/optimism/kovan/v0.4.0-rc0.json -ROLLUP_BACKEND=l2 -ROLLUP_CLIENT_HTTP=http://data-transport-layer:7878 -ROLLUP_DISABLE_TRANSFERS=false -ROLLUP_ENABLE_L2_GAS_POLLING=false -ROLLUP_GAS_PRICE_ORACLE_OWNER_ADDRESS=0x18394B52d3Cb931dfA76F63251919D051953413d -ROLLUP_MAX_CALLDATA_SIZE=40000 -ROLLUP_POLL_INTERVAL_FLAG=3s -ROLLUP_SYNC_SERVICE_ENABLE=true -ROLLUP_TIMESTAMP_REFRESH=3m -ROLLUP_VERIFIER_ENABLE=true -RPC_ADDR=0.0.0.0 -RPC_API=eth,rollup,net,web3,debug -RPC_CORS_DOMAIN=* -RPC_ENABLE=true -RPC_PORT=8545 -RPC_VHOSTS=* -TARGET_GAS_LIMIT=11000000 -USING_OVM=true -WS_ADDR=0.0.0.0 -WS_API=eth,rollup,net,web3,debug -WS_ORIGINS=* -WS=true diff --git a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/replica-healthcheck.env b/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/replica-healthcheck.env deleted file mode 100644 index 2e8c5dd43133b..0000000000000 --- a/infra/op-replica/kustomize/overlays/kind-kovan-replica/envs/replica-healthcheck.env +++ /dev/null @@ -1,3 +0,0 @@ -ETH_NETWORK=kovan -ETH_NETWORK_RPC_PROVIDER=https://kovan-sequencer.optimism.io -ETH_REPLICA_RPC_PROVIDER=http://l2geth-replica:8545 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kind-kovan-replica/kustomization.yaml b/infra/op-replica/kustomize/overlays/kind-kovan-replica/kustomization.yaml deleted file mode 100644 index 98667d13507c7..0000000000000 --- a/infra/op-replica/kustomize/overlays/kind-kovan-replica/kustomization.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica - -bases: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/configmaps - - ../../bases/replica-healthcheck - -configMapGenerator: - - name: data-transport-layer - envs: - - ./envs/data-transport-layer.env - - name: l2geth-replica - envs: - - ./envs/l2geth.env - - name: replica-healthcheck - envs: - - ./envs/replica-healthcheck.env - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.4.2 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.4.6 - - name: ethereumoptimism/replica-healthcheck - newName: optimisticben/replica-healthcheck@sha256 - newTag: 3e8cc21f556ef8d06c0c781bb88a4f06ca0905194641becab6f302e442164140 - -patchesStrategicMerge: - - ./patches/dtl-remove-init.yaml diff --git a/infra/op-replica/kustomize/overlays/kind-kovan-replica/patches/dtl-remove-init.yaml b/infra/op-replica/kustomize/overlays/kind-kovan-replica/patches/dtl-remove-init.yaml deleted file mode 100644 index 617e1a56eb0f3..0000000000000 --- a/infra/op-replica/kustomize/overlays/kind-kovan-replica/patches/dtl-remove-init.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/kustomization.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/kustomization.yaml deleted file mode 100644 index a752a33c2a9bc..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/kustomization.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-13 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.24 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.13 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.3 - -patchesStrategicMerge: - - ./patches/dtl-endpoints.yaml - - ./patches/l2geth-resources.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-endpoints.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-endpoints.yaml deleted file mode 100644 index 9d334815c44bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-endpoints.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - value: http://failover-proxyd.default:8080 - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - value: http://sequencer.default:8545 - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-resources.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-resources.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-resources.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/replica-healthcheck.yaml deleted file mode 100644 index ba62b55985b30..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/volumes.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/volumes.yaml deleted file mode 100644 index dbc28ae20f718..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-13/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 500Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml deleted file mode 100644 index bfed332663158..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-14 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.24 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.14 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.3 - -patchesStrategicMerge: - - ./patches/dtl.yaml - - ./patches/l2geth.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml deleted file mode 100644 index 9d334815c44bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - value: http://failover-proxyd.default:8080 - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - value: http://sequencer.default:8545 - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml deleted file mode 100644 index ba62b55985b30..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml deleted file mode 100644 index a7de04465ebe0..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 200Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/kustomization.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/kustomization.yaml deleted file mode 100644 index ce894b04751fb..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/kustomization.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-15 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.24 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.15 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.3 - -patchesStrategicMerge: - - ./patches/dtl.yaml - - ./patches/l2geth.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl.yaml deleted file mode 100644 index 9d334815c44bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/dtl.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - value: http://failover-proxyd.default:8080 - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - value: http://sequencer.default:8545 - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/l2geth.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/replica-healthcheck.yaml deleted file mode 100644 index ba62b55985b30..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/volumes.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/volumes.yaml deleted file mode 100644 index a7de04465ebe0..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-15/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 200Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/kustomization.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/kustomization.yaml deleted file mode 100644 index 1fe9f46c74136..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/kustomization.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-9-berlin -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./l2geth-volume.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.10 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.9 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.3 - -patchesStrategicMerge: - - ./patches/dtl-endpoints.yaml - - ./patches/l2geth-resources.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/l2geth-volume.yaml deleted file mode 100644 index 9c3cb17d626a5..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/l2geth-volume.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 500Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml deleted file mode 100644 index 9d334815c44bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - value: http://failover-proxyd.default:8080 - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - value: http://sequencer.default:8545 - - name: L1_NODE_WEB3_URL - value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml deleted file mode 100644 index ba62b55985b30..0000000000000 --- a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/kustomization.yaml deleted file mode 100644 index 88eaf510dffad..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/kustomization.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-11 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../envs/kovan-gen5-berlin - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/configmaps - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.16 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.11 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.6 - -patchesStrategicMerge: - - ./patches/dtl-endpoints.yaml - - ./patches/l2geth-resources.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-endpoints.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-endpoints.yaml deleted file mode 100644 index 975286c2aa229..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-endpoints.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l2-rpc-endpoint - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-resources.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-resources.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-resources.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/replica-healthcheck.yaml deleted file mode 100644 index bad1af178a5ad..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: https://kovan.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/volumes.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/volumes.yaml deleted file mode 100644 index b9eca60769512..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-11/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 500Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml deleted file mode 100644 index ba60f365c4305..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: kovan-replica-0-5-14 - annotations: - kubernetes.io/ingress.class: gce - kubernetes.io/ingress.global-static-ip-name: kovan-replica-0-5-14 - networking.gke.io/managed-certificates: kovan-replica-0-5-14 -spec: - rules: - - host: kovan-replica-0-5-14.optimism.io - http: - paths: - - backend: - service: - name: l2geth-replica - port: - name: rpc - path: / - pathType: ImplementationSpecific ---- -apiVersion: networking.gke.io/v1 -kind: ManagedCertificate -metadata: - name: kovan-replica-0-5-14 -spec: - domains: - - kovan-replica-0-5-14.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml deleted file mode 100644 index fa839fd498fdb..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-14 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck-v1 - - ./ingress.yaml - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.24 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.14 - - name: ethereumoptimism/replica-healthcheck-v1 - newName: ethereumoptimism/replica-healthcheck - newTag: 1.0.6 - -patchesStrategicMerge: - - ./patches/dtl.yaml - - ./patches/l2geth.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer - -configMapGenerator: - - name: replica-healthcheck-v1 - envs: - - ./replica-healthcheck-v1.env diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml deleted file mode 100644 index 975286c2aa229..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l2-rpc-endpoint - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml deleted file mode 100644 index bad1af178a5ad..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: https://kovan.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/replica-healthcheck-v1.env b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/replica-healthcheck-v1.env deleted file mode 100644 index 51a315500d8ec..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/replica-healthcheck-v1.env +++ /dev/null @@ -1,2 +0,0 @@ -HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://kovan.optimism.io -HEALTHCHECK__TARGET_RPC_PROVIDER=http://l2geth-replica:8545 \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml deleted file mode 100644 index 4defc7ed966df..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 200Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/kustomization.yaml deleted file mode 100644 index be4d30a329493..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/kustomization.yaml +++ /dev/null @@ -1,51 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-17 -commonLabels: - network: kovan - provider: internal - -bases: - - ../../../envs/kovan-gen5-berlin - - ../../../scripts - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck-v1 - - ./volumes.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.23 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.17 - - name: ethereumoptimism/replica-healthcheck-v1 - newName: ethereumoptimism/replica-healthcheck - newTag: 1.0.6 - -patchesStrategicMerge: - - ./patches/dtl.yaml - - ./patches/l2geth.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer - -configMapGenerator: - - name: replica-healthcheck-v1 - envs: - - ./replica-healthcheck-v1.env diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl.yaml deleted file mode 100644 index 975286c2aa229..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/dtl.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l2-rpc-endpoint - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/patches/l2geth.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/replica-healthcheck-v1.env b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/replica-healthcheck-v1.env deleted file mode 100644 index 51a315500d8ec..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/replica-healthcheck-v1.env +++ /dev/null @@ -1,2 +0,0 @@ -HEALTHCHECK__REFERENCE_RPC_PROVIDER=https://kovan.optimism.io -HEALTHCHECK__TARGET_RPC_PROVIDER=http://l2geth-replica:8545 \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/volumes.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/volumes.yaml deleted file mode 100644 index 4defc7ed966df..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-17/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 200Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/ingress.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/ingress.yaml deleted file mode 100644 index 3085a56c8ef98..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: kovan-replica-0-5-9-berlin - annotations: - kubernetes.io/ingress.class: gce - kubernetes.io/ingress.global-static-ip-name: kovan-replica-0-5-9-berlin - networking.gke.io/managed-certificates: kovan-replica-0-5-9-berlin -spec: - rules: - - host: kovan-replica-0-5-9-berlin.optimism.io - http: - paths: - - backend: - service: - name: l2geth-replica - port: - name: rpc - path: / - pathType: ImplementationSpecific ---- -apiVersion: networking.gke.io/v1 -kind: ManagedCertificate -metadata: - name: kovan-replica-0-5-9-berlin -spec: - domains: - - kovan-replica-0-5-9-berlin.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/kustomization.yaml deleted file mode 100644 index 5f208815bfa44..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/kustomization.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kovan-replica-0-5-9-berlin -commonLabels: - network: kovan - provider: internal - -bases: - - ../../envs/kovan-gen5-berlin - -resources: - - ../../bases/data-transport-layer - - ../../bases/l2geth-replica - - ../../bases/configmaps - - ../../bases/servicemonitors - - ../../bases/replica-healthcheck - - ./volumes.yaml - - ./ingress.yaml - -images: - - name: ethereumoptimism/data-transport-layer - newName: ethereumoptimism/data-transport-layer - newTag: 0.5.24 - - name: ethereumoptimism/l2geth - newName: ethereumoptimism/l2geth - newTag: 0.5.9 - - name: ethereumoptimism/replica-healthcheck - newName: ethereumoptimism/replica-healthcheck - newTag: 0.3.3 - -patchesStrategicMerge: - - ./patches/dtl-endpoints.yaml - - ./patches/l2geth-resources.yaml - - ./patches/replica-healthcheck.yaml - -patches: - - path: ./patches/l2geth-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: l2geth-replica - - path: ./patches/dtl-volume.yaml - target: - group: apps - version: v1 - kind: StatefulSet - name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml deleted file mode 100644 index 975286c2aa229..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-endpoints.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: data-transport-layer -spec: - template: - spec: - initContainers: - - name: wait-for-l1 - env: - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - containers: - - name: data-transport-layer - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - env: - - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint - - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT - valueFrom: - secretKeyRef: - name: replica-secrets - key: l2-rpc-endpoint - - name: L1_NODE_WEB3_URL - valueFrom: - secretKeyRef: - name: replica-secrets - key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-volume.yaml deleted file mode 100644 index 35e97c6d54ab6..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/dtl-volume.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: data-transport-layer - persistentVolumeClaim: - claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml deleted file mode 100644 index 37710cd9772d8..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-resources.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: l2geth-replica -spec: - template: - spec: - containers: - - name: l2geth-replica - env: - - name: IPC_DISABLE - value: "false" - resources: - limits: - cpu: "4" - memory: 12Gi - requests: - cpu: "2" - memory: 8Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml deleted file mode 100644 index 60b117f7923bf..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/l2geth-volume.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/template/spec/volumes/0 - value: - name: l2geth-replica-data - persistentVolumeClaim: - claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml deleted file mode 100644 index bad1af178a5ad..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/patches/replica-healthcheck.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: replica-healthcheck -spec: - template: - spec: - containers: - - name: replica-healthcheck - env: - - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER - value: https://kovan.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/volumes.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/volumes.yaml deleted file mode 100644 index dbc28ae20f718..0000000000000 --- a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-9-berlin/volumes.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: l2geth-replica-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 500Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: data-transport-layer-data -spec: - storageClassName: premium-rwo - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi \ No newline at end of file diff --git a/packages/contracts-bedrock/contracts/L1/L1StandardBridge.sol b/packages/contracts-bedrock/contracts/L1/L1StandardBridge.sol index a33feb57ad01e..d8e42da8f62d9 100644 --- a/packages/contracts-bedrock/contracts/L1/L1StandardBridge.sol +++ b/packages/contracts-bedrock/contracts/L1/L1StandardBridge.sol @@ -10,12 +10,12 @@ import { Semver } from "../universal/Semver.sol"; * @title L1StandardBridge * @notice The L1StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and * L2. In the case that an ERC20 token is native to L1, it will be escrowed within this - * contract. If the ERC20 token is native to L2, it will be burnt. - * ETH is transferred to and escrowed within the OptimismPortal contract. - * Note that this contract is not intended to support all variations of ERC20 tokens. - * Examples of some token types that may not be properly supported by this contract include, - * but are not limited to: tokens with transfer fees, rebasing tokens, and - * tokens with blocklists. + * contract. If the ERC20 token is native to L2, it will be burnt. Before Bedrock, ETH was + * stored within this contract. After Bedrock, ETH is instead stored inside the + * OptimismPortal contract. + * NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples + * of some token types that may not be properly supported by this contract include, but are + * not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists. */ contract L1StandardBridge is StandardBridge, Semver { /** diff --git a/packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol b/packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol index 0ce64959e3298..cf8d729a360f2 100644 --- a/packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol +++ b/packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol @@ -8,11 +8,10 @@ import { Types } from "../libraries/Types.sol"; /** * @custom:proxied * @title L2OutputOracle - * @notice The L2 state is committed to in this contract - * The payable keyword is used on proposeL2Output to save gas on the msg.value check. - * This contract should be deployed behind an upgradable proxy + * @notice The L2OutputOracle contains an array of L2 state outputs, where each output is a + * commitment to the state of the L2 chain. Other contracts like the OptimismPortal use + * these outputs to verify information about the state of L2. */ -// slither-disable-next-line locked-ether contract L2OutputOracle is Initializable, Semver { /** * @notice The interval in L2 blocks at which checkpoints must be submitted. Although this is @@ -76,12 +75,12 @@ contract L2OutputOracle is Initializable, Semver { /** * @custom:semver 0.0.1 * - * @param _submissionInterval Interval in blocks at which checkpoints must be submitted. - * @param _l2BlockTime The time per L2 block, in seconds. - * @param _startingBlockNumber The number of the first L2 block. - * @param _startingTimestamp The timestamp of the first L2 block. - * @param _proposer The address of the proposer. - * @param _challenger The address of the challenger. + * @param _submissionInterval Interval in blocks at which checkpoints must be submitted. + * @param _l2BlockTime The time per L2 block, in seconds. + * @param _startingBlockNumber The number of the first L2 block. + * @param _startingTimestamp The timestamp of the first L2 block. + * @param _proposer The address of the proposer. + * @param _challenger The address of the challenger. */ constructor( uint256 _submissionInterval, @@ -149,9 +148,9 @@ contract L2OutputOracle is Initializable, Semver { } /** - * @notice Accepts an outputRoot and the timestamp of the corresponding L2 block. The - * timestamp must be equal to the current value returned by `nextTimestamp()` in order - * to be accepted. This function may only be called by the Proposer. + * @notice Accepts an outputRoot and the timestamp of the corresponding L2 block. The timestamp + * must be equal to the current value returned by `nextTimestamp()` in order to be + * accepted. This function may only be called by the Proposer. * * @param _outputRoot The L2 output of the checkpoint block. * @param _l2BlockNumber The L2 block number that resulted in _outputRoot. @@ -321,8 +320,6 @@ contract L2OutputOracle is Initializable, Semver { /** * @notice Returns the L2 timestamp corresponding to a given L2 block number. - * If the L2 block number provided is between checkpoints, this function will return the - * timestamp of the previous checkpoint. * * @param _l2BlockNumber The L2 block number of the target block. * diff --git a/packages/contracts-bedrock/contracts/L1/SystemConfig.sol b/packages/contracts-bedrock/contracts/L1/SystemConfig.sol index 16f8c394e14d7..491833d33fa9b 100644 --- a/packages/contracts-bedrock/contracts/L1/SystemConfig.sol +++ b/packages/contracts-bedrock/contracts/L1/SystemConfig.sol @@ -32,9 +32,9 @@ contract SystemConfig is OwnableUpgradeable, Semver { uint256 public constant VERSION = 0; /** - * @notice Minimum gas limit. This should not be lower than the maximum deposit - * gas resource limit in the ResourceMetering contract used by OptimismPortal, - * to ensure the L2 block always has sufficient gas to process deposits. + * @notice Minimum gas limit. This should not be lower than the maximum deposit gas resource + * limit in the ResourceMetering contract used by OptimismPortal, to ensure the L2 + * block always has sufficient gas to process deposits. */ uint64 public constant MINIMUM_GAS_LIMIT = 8_000_000; diff --git a/packages/contracts-bedrock/contracts/L2/BaseFeeVault.sol b/packages/contracts-bedrock/contracts/L2/BaseFeeVault.sol index 4ef70fc545066..1586d855e8891 100644 --- a/packages/contracts-bedrock/contracts/L2/BaseFeeVault.sol +++ b/packages/contracts-bedrock/contracts/L2/BaseFeeVault.sol @@ -10,8 +10,7 @@ import { FeeVault } from "../universal/FeeVault.sol"; * @custom:proxied * @custom:predeploy 0x4200000000000000000000000000000000000019 * @title BaseFeeVault - * @notice The BaseFeeVault accumulates the base fee that is paid by - * transactions. + * @notice The BaseFeeVault accumulates the base fee that is paid by transactions. */ contract BaseFeeVault is FeeVault, Semver { /** diff --git a/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable.sol b/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable.sol index 9ff1268232d0f..ce5421bff5918 100644 --- a/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable.sol +++ b/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable.sol @@ -6,17 +6,15 @@ import { AddressAliasHelper } from "../vendor/AddressAliasHelper.sol"; /** * @title CrossDomainOwnable - * @notice This contract extends the OpenZeppelin `Ownable` contract - * for L2 contracts to be owned by contracts on L1. Note that - * this contract is only safe to be used if the CrossDomainMessenger - * system is bypassed and the caller on L1 is calling the + * @notice This contract extends the OpenZeppelin `Ownable` contract for L2 contracts to be owned + * by contracts on L1. Note that this contract is only safe to be used if the + * CrossDomainMessenger system is bypassed and the caller on L1 is calling the * OptimismPortal directly. */ abstract contract CrossDomainOwnable is Ownable { /** - * @notice Overrides the implementation of the `onlyOwner` modifier - * to check that the unaliased `msg.sender` is the owner - * of the contract. + * @notice Overrides the implementation of the `onlyOwner` modifier to check that the unaliased + * `msg.sender` is the owner of the contract. */ function _checkOwner() internal view override { require( diff --git a/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable2.sol b/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable2.sol index 52bb00da19aca..a8ab6a9f33669 100644 --- a/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable2.sol +++ b/packages/contracts-bedrock/contracts/L2/CrossDomainOwnable2.sol @@ -7,18 +7,16 @@ import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; /** * @title CrossDomainOwnable2 - * @notice This contract extends the OpenZeppelin `Ownable` contract - * for L2 contracts to be owned by contracts on L1. Note that - * this contract is meant to be used with systems that use the - * CrossDomainMessenger system. It will not work if the OptimismPortal - * is used directly. + * @notice This contract extends the OpenZeppelin `Ownable` contract for L2 contracts to be owned + * by contracts on L1. Note that this contract is meant to be used with systems that use + * the CrossDomainMessenger system. It will not work if the OptimismPortal is used + * directly. */ abstract contract CrossDomainOwnable2 is Ownable { /** - * @notice Overrides the implementation of the `onlyOwner` modifier - * to check that the unaliased `xDomainMessageSender` - * is the owner of the contract. This value is set - * to the caller of the L1CrossDomainMessenger. + * @notice Overrides the implementation of the `onlyOwner` modifier to check that the unaliased + * `xDomainMessageSender` is the owner of the contract. This value is set to the caller + * of the L1CrossDomainMessenger. */ function _checkOwner() internal view override { L2CrossDomainMessenger messenger = L2CrossDomainMessenger( diff --git a/packages/contracts-bedrock/contracts/L2/L2StandardBridge.sol b/packages/contracts-bedrock/contracts/L2/L2StandardBridge.sol index 3e210271b8d97..f4009e659901e 100644 --- a/packages/contracts-bedrock/contracts/L2/L2StandardBridge.sol +++ b/packages/contracts-bedrock/contracts/L2/L2StandardBridge.sol @@ -13,10 +13,9 @@ import { OptimismMintableERC20 } from "../universal/OptimismMintableERC20.sol"; * @notice The L2StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and * L2. In the case that an ERC20 token is native to L2, it will be escrowed within this * contract. If the ERC20 token is native to L1, it will be burnt. - * Note that this contract is not intended to support all variations of ERC20 tokens. - * Examples of some token types that may not be properly supported by this contract include, - * but are not limited to: tokens with transfer fees, rebasing tokens, and - * tokens with blocklists. + * NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples + * of some token types that may not be properly supported by this contract include, but are + * not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists. */ contract L2StandardBridge is StandardBridge, Semver { /** diff --git a/packages/contracts-bedrock/contracts/universal/StandardBridge.sol b/packages/contracts-bedrock/contracts/universal/StandardBridge.sol index 7889770189318..dda7933524ff3 100644 --- a/packages/contracts-bedrock/contracts/universal/StandardBridge.sol +++ b/packages/contracts-bedrock/contracts/universal/StandardBridge.sol @@ -13,7 +13,9 @@ import { OptimismMintableERC20 } from "./OptimismMintableERC20.sol"; /** * @custom:upgradeable * @title StandardBridge - * @notice StandardBridge is a base contract for the L1 and L2 standard ERC20 bridges. + * @notice StandardBridge is a base contract for the L1 and L2 standard ERC20 bridges. It handles + * the core bridging logic, including escrowing tokens that are native to the local chain + * and minting/burning tokens that are native to the remote chain. */ abstract contract StandardBridge { using SafeERC20 for IERC20; diff --git a/packages/contracts-bedrock/deploy/020-SystemDictatorSteps.ts b/packages/contracts-bedrock/deploy/020-SystemDictatorSteps.ts index 451a3af24d5e8..fd4d499678b96 100644 --- a/packages/contracts-bedrock/deploy/020-SystemDictatorSteps.ts +++ b/packages/contracts-bedrock/deploy/020-SystemDictatorSteps.ts @@ -255,8 +255,66 @@ const deployFn: DeployFunction = async (hre) => { console.log(`L1ERC721Bridge already owned by MSD`) } - const checks = { - 1: async () => { + /** + * Mini helper for checking if the current step is a target step. + * + * @param step Target step. + * @returns True if the current step is the target step. + */ + const isStep = async (step: number): Promise => { + return (await SystemDictator.currentStep()) === step + } + + /** + * Mini helper for executing a given step. + * + * @param opts Options for executing the step. + * @param opts.step Step to execute. + * @param opts.message Message to print before executing the step. + * @param opts.checks Checks to perform after executing the step. + */ + const doStep = async (opts: { + step: number + message: string + checks: () => Promise + }): Promise => { + if (!(await isStep(opts.step))) { + console.log(`Step already completed: ${opts.step}`) + return + } + + // Extra message to help the user understand what's going on. + console.log(opts.message) + + // Either automatically or manually execute the step. + if (isLiveDeployer) { + console.log(`Executing step ${opts.step}...`) + await SystemDictator[`step${opts.step}`]() + } else { + console.log(`Please execute step ${opts.step}...`) + } + + // Wait for the step to complete. + await awaitCondition( + async () => { + return (await SystemDictator.currentStep()) === opts.step + 1 + }, + 30000, + 1000 + ) + + // Perform post-step checks. + await opts.checks() + } + + // Step 1 is a freebie, it doesn't impact the system. + await doStep({ + step: 1, + message: ` + Step 1 will configure the ProxyAdmin contract, you can safely execute this step at any time + without impacting the functionality of the rest of the system. + `, + checks: async () => { await assertContractVariable( ProxyAdmin, 'addressManager', @@ -278,13 +336,34 @@ const deployFn: DeployFunction = async (hre) => { )) === 1 ) }, - 2: async () => { + }) + + // Step 2 shuts down the system. + await doStep({ + step: 2, + message: ` + Step 2 will stop deposits and withdrawals via the L1CrossDomainMessenger and will stop the + DTL from syncing new deposits via the CTC, effectively shutting down the legacy system. Once + this step has been executed, you should immediately begin the L2 migration process. If you + need to restart the system, run exit1() followed by finalize(). + `, + checks: async () => { assert( (await AddressManager.getAddress('OVM_L1CrossDomainMessenger')) === ethers.constants.AddressZero ) }, - 3: async () => { + }) + + // Step 3 clears out some state from the AddressManager. + await doStep({ + step: 3, + message: ` + Step 3 will clear out some legacy state from the AddressManager. Once you execute this step, + you WILL NOT BE ABLE TO RESTART THE SYSTEM using exit1(). You should confirm that the L2 + system is entirely operational before executing this step. + `, + checks: async () => { const deads = [ 'OVM_CanonicalTransactionChain', 'OVM_L2CrossDomainMessenger', @@ -311,15 +390,80 @@ const deployFn: DeployFunction = async (hre) => { ) } }, - 4: async () => { + }) + + // Step 4 transfers ownership of the AddressManager and L1StandardBridge to the ProxyAdmin. + await doStep({ + step: 4, + message: ` + Step 4 will transfer ownership of the AddressManager and L1StandardBridge to the ProxyAdmin. + `, + checks: async () => { await assertContractVariable(AddressManager, 'owner', ProxyAdmin.address) + assert( (await L1StandardBridgeProxy.callStatic.getOwner({ from: ethers.constants.AddressZero, })) === ProxyAdmin.address ) }, - 5: async () => { + }) + + // Make sure the dynamic system configuration has been set. + if ((await isStep(5)) && !(await SystemDictator.dynamicConfigSet())) { + console.log(` + You must now set the dynamic L2OutputOracle configuration by calling the function + updateL2OutputOracleDynamicConfig. You will need to provide the + l2OutputOracleStartingBlockNumber and the l2OutputOracleStartingTimestamp which can both be + found by querying the last finalized block in the L2 node. + `) + + if (isLiveDeployer) { + console.log(`Updating dynamic oracle config...`) + + // Use default starting time if not provided + let deployL2StartingTimestamp = + hre.deployConfig.l2OutputOracleStartingTimestamp + if (deployL2StartingTimestamp < 0) { + const l1StartingBlock = await hre.ethers.provider.getBlock( + hre.deployConfig.l1StartingBlockTag + ) + if (l1StartingBlock === null) { + throw new Error( + `Cannot fetch block tag ${hre.deployConfig.l1StartingBlockTag}` + ) + } + deployL2StartingTimestamp = l1StartingBlock.timestamp + } + + await SystemDictator.updateL2OutputOracleDynamicConfig({ + l2OutputOracleStartingBlockNumber: + hre.deployConfig.l2OutputOracleStartingBlockNumber, + l2OutputOracleStartingTimestamp: deployL2StartingTimestamp, + }) + } else { + console.log(`Please update dynamic oracle config...`) + } + + await awaitCondition( + async () => { + return SystemDictator.dynamicConfigSet() + }, + 30000, + 1000 + ) + } + + // Step 5 initializes all contracts and pauses the new L1CrossDomainMessenger. + await doStep({ + step: 5, + message: ` + Step 5 will initialize all Bedrock contracts but will leave the new L1CrossDomainMessenger + paused. After this step is executed, users will be able to deposit and withdraw assets via + the OptimismPortal but not via the L1CrossDomainMessenger. The Proposer will also be able to + submit L2 outputs to the L2OutputOracle. + `, + checks: async () => { // Check L2OutputOracle was initialized properly. await assertContractVariable( L2OutputOracle, @@ -388,78 +532,29 @@ const deployFn: DeployFunction = async (hre) => { L1CrossDomainMessenger.address ) }, - 6: async () => { + }) + + // Step 6 unpauses the new L1CrossDomainMessenger. + await doStep({ + step: 6, + message: ` + Step 6 will unpause the new L1CrossDomainMessenger. After this step is executed, users will + be able to deposit and withdraw assets via the L1CrossDomainMessenger and the system will be + fully operational. + `, + checks: async () => { await assertContractVariable(L1CrossDomainMessenger, 'paused', false) }, - } + }) - for (let i = 1; i <= 6; i++) { - const currentStep = await SystemDictator.currentStep() - if (currentStep === i) { - if ( - currentStep > (await SystemDictator.PROXY_TRANSFER_STEP()) && - !(await SystemDictator.dynamicConfigSet()) - ) { - if (isLiveDeployer) { - console.log(`Updating dynamic oracle config...`) - - // Use default starting time if not provided - let deployL2StartingTimestamp = - hre.deployConfig.l2OutputOracleStartingTimestamp - if (deployL2StartingTimestamp < 0) { - const l1StartingBlock = await hre.ethers.provider.getBlock( - hre.deployConfig.l1StartingBlockTag - ) - if (l1StartingBlock === null) { - throw new Error( - `Cannot fetch block tag ${hre.deployConfig.l1StartingBlockTag}` - ) - } - deployL2StartingTimestamp = l1StartingBlock.timestamp - } - - await SystemDictator.updateL2OutputOracleDynamicConfig({ - l2OutputOracleStartingBlockNumber: - hre.deployConfig.l2OutputOracleStartingBlockNumber, - l2OutputOracleStartingTimestamp: deployL2StartingTimestamp, - }) - } else { - console.log(`Please update dynamic oracle config...`) - } - - await awaitCondition( - async () => { - return SystemDictator.dynamicConfigSet() - }, - 30000, - 1000 - ) - } - - if (isLiveDeployer) { - console.log(`Executing step ${i}...`) - await SystemDictator[`step${i}`]() - } else { - console.log(`Please execute step ${i}...`) - } - - await awaitCondition( - async () => { - const step = await SystemDictator.currentStep() - return step === i + 1 - }, - 30000, - 1000 - ) - - // Run post step checks - await checks[i]() - } else { - console.log(`Step ${i} executed`) - } - } + // At the end we finalize the upgrade. + if (await isStep(7)) { + console.log(` + You must now finalize the upgrade by calling finalize() on the SystemDictator. This will + transfer ownership of the ProxyAdmin and the L1CrossDomainMessenger to the final system owner + as specified in the deployment configuration. + `) - if ((await SystemDictator.currentStep()) === 7) { if (isLiveDeployer) { console.log(`Finalizing deployment...`) await SystemDictator.finalize()