Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Sepolia Gas Config #135

Merged
merged 5 commits into from
Mar 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions sepolia/2024-03-07-ecotone-sysconfig-updates/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
OP_COMMIT=c87a469d7d679e8a4efbace56c3646b925bcc009
BASE_CONTRACTS_COMMIT=56d8f40b48795663fa88366d762161af5a1ba5d5

# https://sepolia.etherscan.io/address/0xf272670eb55e895584501d564AfEB048bEd26194
L1_SYSTEM_CONFIG_ADDRESS=0xf272670eb55e895584501d564AfEB048bEd26194
OWNER_ADDRESS=0x608081689Fe46936fB2fBDF7552CbB1D80ad4822
PRIVATE_KEY=

# scalars defined by running: https://github.com/ethereum-optimism/optimism/tree/4b7627cbb94a75e478a34f33f91121ef6ae794b3/op-chain-ops/cmd/ecotone-scalar
# 1 BLOB PER TX
# base fee scalar : 6607
# blob base fee scalar: 654675
# v1 hex encoding : 0x0100000000000000000000000000000000000000000000000009fd53000019cf
# uint value for the 'scalar' parameter in SystemConfigProxy.setGasConfig():
# SCALAR=452312848583266388373324160190187140051835877600158453279133999338625178063


# 6 BLOBS PER TX
# base fee scalar : 1101
# blob base fee scalar: 659851
# v1 hex encoding : 0x010000000000000000000000000000000000000000000000000a118b0000044d
# uint value for the 'scalar' parameter in SystemConfigProxy.setGasConfig():
SCALAR=452312848583266388373324160190187140051835877600158453279134021569375896653

# THINGS WENT WRONG --> FALLBACK TO CALLDATA
# base fee scalar : 668098
# blob base fee scalar: 0
# v1 hex encoding : 0x01000000000000000000000000000000000000000000000000000000000a31c2
# uint value for the 'scalar' parameter in SystemConfigProxy.setGasConfig():
FALLBACK_SCALAR=452312848583266388373324160190187140051835877600158453279131187530911330754
9 changes: 9 additions & 0 deletions sepolia/2024-03-07-ecotone-sysconfig-updates/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
include ../../Makefile
include ../.env
include .env

# Unpause OptimismPortal Commands

.PHONY: update-gas-config
update-gas-config:
@forge script --rpc-url $(L1_RPC_URL) UpdateGasConfigSepolia --private-key $(PRIVATE_KEY) --broadcast
20 changes: 20 additions & 0 deletions sepolia/2024-03-07-ecotone-sysconfig-updates/foundry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
via-ir = true
remappings = [
'@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
'@rari-capital/solmate/=lib/solmate/',
'@base-contracts/=lib/base-contracts',
'solady/=lib/solady/src/'
]

# See more config options https://github.com/foundry-rs/foundry/tree/master/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol";
import "forge-std/Script.sol";

contract UpdateGasConfigSepolia is Script {

address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS");
uint256 internal SCALAR = vm.envUint("SCALAR");
address internal OWNER = vm.envAddress("OWNER_ADDRESS");

function _postCheck() internal view {
require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);
require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);
}

function run() public {
vm.startBroadcast(OWNER);
SystemConfig(L1_SYSTEM_CONFIG).setGasConfig(0, SCALAR);
_postCheck();
vm.stopBroadcast();
}
}