Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
1c1fa77
Support Boba chains
boyuan-chen Jul 26, 2024
c1ac34f
Merge pull request #1 from bobanetwork/support-boba-chains
boyuan-chen Jul 29, 2024
0626eba
Merge branch 'ethereum-optimism:optimism' into optimism
boyuan-chen Aug 8, 2024
ac6df66
Merge branch 'ethereum-optimism:optimism' into merge-upstream-20240813
boyuan-chen Aug 13, 2024
cc4e57d
Merge pull request #2 from bobanetwork/merge-upstream-20240813
boyuan-chen Aug 13, 2024
54d2023
update dependency on superchain registry
geoknee Aug 26, 2024
365b1de
remove defunct overrides
geoknee Aug 26, 2024
e46a484
go mod tidy
geoknee Aug 26, 2024
3365bc9
update dependency
geoknee Aug 26, 2024
bb15bcd
Support purely single threaded execution (#370)
ajsutton Aug 27, 2024
110c433
Expose method to force statedb to use singlethreaded mode even when m…
ajsutton Aug 27, 2024
8c45e10
make lint
geoknee Aug 27, 2024
dbaa55d
Remove Optimism config overrides (these will be pushed down into the …
geoknee Aug 27, 2024
f8f2252
add debug line
geoknee Aug 27, 2024
ae570ee
set Optimism config inside LoadOPStackChainConfig
geoknee Aug 27, 2024
f7ef5f4
update scr
geoknee Aug 27, 2024
24bff41
remove more defunct chain info
geoknee Aug 27, 2024
2d89785
refactor Genesis Config loading and remove override for OPM Optimism …
geoknee Aug 27, 2024
2be1da8
load Optimism config from registry chain config
geoknee Aug 27, 2024
f4e77e1
update scr
geoknee Aug 27, 2024
1071ac1
update import from scr
geoknee Aug 27, 2024
2998edb
update scr
geoknee Aug 27, 2024
f4fa09a
undo unintended change
geoknee Aug 27, 2024
988ce03
remove debug lines
geoknee Aug 27, 2024
52c4993
copy pointers when loading
geoknee Aug 27, 2024
f9dfe44
update scr to mainline commit
geoknee Aug 28, 2024
673a11f
Merge branch 'optimism' into gk/elastic
geoknee Aug 28, 2024
6003812
Merge pull request #371 from ethereum-optimism/gk/elastic
geoknee Aug 28, 2024
b57faeb
eth_sendRawTransactionConditional
hamdiallam Jun 26, 2024
61ebf14
lint
hamdiallam Aug 14, 2024
895cedb
feedback
hamdiallam Aug 26, 2024
0134764
nits
hamdiallam Aug 30, 2024
36dbc2d
JsonError type alias
hamdiallam Sep 5, 2024
658122b
use tx.Time() instead of manual tracking
hamdiallam Sep 5, 2024
ddc869f
some feedback
hamdiallam Sep 6, 2024
cc96057
lift rejected into transaction
hamdiallam Sep 6, 2024
eec006a
support for forwarding sendRawTransactionConditional to seqRPC
hamdiallam Sep 6, 2024
d747809
Merge branch 'optimism' into upstream-09062024
boyuan-chen Sep 6, 2024
24f2a29
Merge pull request #3 from bobanetwork/upstream-09062024
boyuan-chen Sep 6, 2024
fe8826d
Disable docker-release
boyuan-chen Sep 6, 2024
de987be
feedback on limiter reservation. log skipped conditional txs at warn …
hamdiallam Sep 9, 2024
79fc6fe
update forkdiff
hamdiallam Sep 9, 2024
3f2b4c9
limiter reservation delay needs to be checked
hamdiallam Sep 9, 2024
9987de3
feedback
hamdiallam Sep 10, 2024
ba02005
feedback on limit. lol sorry for the originally taking the commit!
hamdiallam Sep 10, 2024
4612601
feedback
hamdiallam Sep 11, 2024
fcae200
small log on enabling sendRawTransactionConditional
hamdiallam Sep 11, 2024
21010bb
Merge pull request #330 from ethereum-optimism/sendRawTransactionCond…
hamdiallam Sep 12, 2024
bdcf1bc
Merge pull request #4 from ethereum-optimism/optimism
boyuan-chen Sep 16, 2024
b40e3a7
Use boba superchain
boyuan-chen Oct 14, 2024
6ba5c8d
Merge pull request #5 from bobanetwork/add-boba-superchain
boyuan-chen Oct 15, 2024
6cc8063
Update docker repo name
boyuan-chen Oct 15, 2024
e19258b
Fix repo
boyuan-chen Oct 15, 2024
e2c034c
Merge branch 'optimism' into op-geth-v1.14.11
boyuan-chen Oct 21, 2024
a08ffe2
Fix go mod
boyuan-chen Oct 21, 2024
b50bdff
Remove unused code
boyuan-chen Oct 21, 2024
dc821fb
Fix extra code from merging the optimism branch to this branch
boyuan-chen Oct 21, 2024
4d900fd
Merge pull request #6 from bobanetwork/op-geth-v1.14.11
boyuan-chen Nov 4, 2024
557cb2e
Add missing depositTxWithNonce case to MarshalJSON / SourceHash / Min…
mdehoog Oct 9, 2024
7fa85ce
handle holocene EIP-1559 params (#398)
roberto-bayardo Oct 9, 2024
aa95f63
feat(rpc): implement debug_executionWitness API (#397)
0x00101010 Oct 16, 2024
6fc81c0
Use extraData instead of nonce for 1559 parameters
Oct 12, 2024
cf291f0
consistently use uint64 for eip-1559 params (#406)
roberto-bayardo Oct 21, 2024
d8a3ee8
core: fix op-mainnet-genesis hash (#405)
protolambda Oct 21, 2024
f2f37a1
update fork.yaml to cover Holocene eip-1559 parameter configurability…
roberto-bayardo Oct 23, 2024
332d122
Avoid add l1Cost twice when GasFeeCap is nil (#391)
zhiqiangxu Oct 27, 2024
fcef48f
export a function to estimate the l1 batch size of a transaction (#416)
roberto-bayardo Oct 28, 2024
8988a4d
clarify that the estimated l1 size is scaled up by 1e6 (#418)
roberto-bayardo Oct 29, 2024
86bb871
core/types: transaction conditional KnownAccounts fix && HexOrDecimal…
hamdiallam Oct 25, 2024
84ceae1
skip state db op when NoBaseFee is true (#417)
zhiqiangxu Oct 30, 2024
43bdeee
Add ability to bound the max l1 data size (#421)
roberto-bayardo Oct 30, 2024
5b6357b
Merge pull request #7 from bobanetwork/op-geth-v1.101411.1
boyuan-chen Nov 15, 2024
deaa27c
Merge pull request #8 from bobanetwork/op-geth-v1.101411.1
boyuan-chen Nov 15, 2024
7ebb1be
Add holocence hardfork
boyuan-chen Nov 21, 2024
eccafa6
Merge pull request #9 from bobanetwork/add-holocence-hardfork
boyuan-chen Nov 22, 2024
06ae341
Merge branch 'optimism' into op-geth-v1.101411.2
boyuan-chen Nov 22, 2024
489f364
Merge pull request #10 from bobanetwork/op-geth-v1.101411.2
boyuan-chen Nov 22, 2024
d8ee390
Fix legacy transactions
boyuan-chen Nov 25, 2024
ef56b7b
Add extra test
boyuan-chen Nov 26, 2024
92c2cfc
Merge pull request #11 from bobanetwork/fix-legacy-transactions
boyuan-chen Nov 26, 2024
98e2057
Add holocene hardfork
boyuan-chen Dec 5, 2024
1ab6908
Update holocene hardfork time
boyuan-chen Dec 5, 2024
a52a3b0
Fix timestamp
boyuan-chen Dec 5, 2024
9a06cbb
Fix devnet
boyuan-chen Dec 5, 2024
495a79a
Merge pull request #12 from bobanetwork/add-testnet-holocene-hardfork
boyuan-chen Dec 5, 2024
b1d7822
Merge branch 'optimism' into op-geth-v1.101411.3
boyuan-chen Dec 5, 2024
1d15cde
Merge pull request #13 from bobanetwork/op-geth-v1.101411.3
boyuan-chen Dec 6, 2024
880684d
Merge branch 'optimism' into op-geth-v1.101411.4
boyuan-chen Jan 7, 2025
ad2843b
Enable Boba Mainnet holocene hardfork
boyuan-chen Jan 8, 2025
b6f639d
Fix holocene hardfork for op mainnet
boyuan-chen Jan 8, 2025
abf8ac7
Merge pull request #15 from bobanetwork/enable-boba-mainnet-holocene-…
boyuan-chen Jan 8, 2025
17b0251
Merge pull request #14 from bobanetwork/op-geth-v1.101411.4
boyuan-chen Jan 8, 2025
371e753
Merge branch 'optimism' into op-geth-v1.101411.5
boyuan-chen Jan 24, 2025
f0fa436
Remove deploy ci/cd
boyuan-chen Jan 24, 2025
ddaa274
Merge pull request #16 from bobanetwork/op-geth-v1.101411.5
boyuan-chen Jan 29, 2025
fe42d15
crypto: Fix UnmarshalPubkey
boyuan-chen Jan 30, 2025
d2685f0
Merge pull request #17 from bobanetwork/crypto-Fix-UnmarshalPubkey
boyuan-chen Jan 30, 2025
dc54172
Merge branch 'optimism' into op-geth-v1.101500.0
boyuan-chen Feb 12, 2025
c0fd4c0
go tidy
boyuan-chen Feb 12, 2025
96459b8
Fix pipeline
boyuan-chen Feb 12, 2025
e7805fa
Fix circleci config
boyuan-chen Feb 12, 2025
d315be7
Fix test
boyuan-chen Feb 12, 2025
f9f9e26
Update zip
boyuan-chen Feb 12, 2025
88d212c
Remove github.com/ethereum-optimism/superchain-registry/superchain
boyuan-chen Feb 12, 2025
e2cf99e
Fix genesis alloc for devnet
boyuan-chen Feb 12, 2025
c1938f2
Merge pull request #18 from bobanetwork/op-geth-v1.101500.0
boyuan-chen Feb 13, 2025
6450ad5
Update superchain zip to fix bnb testnet l2
boyuan-chen Feb 14, 2025
f025101
Merge pull request #19 from bobanetwork/update-superchain
boyuan-chen Feb 14, 2025
5dc2a75
Merge branch 'optimism' into op-geth-v1.101503.0
boyuan-chen Mar 12, 2025
391ac93
Update superchain config
boyuan-chen Mar 12, 2025
77dcaa0
Update pectra_blob_schedule_time
boyuan-chen Mar 18, 2025
bfd135c
Merge branch 'op-geth-v1.101503.0' into update-pectra_blob_schedule_time
boyuan-chen Mar 18, 2025
abcf7dd
Merge pull request #21 from bobanetwork/update-pectra_blob_schedule_time
boyuan-chen Mar 19, 2025
92344b2
Merge pull request #20 from bobanetwork/op-geth-v1.101503.0
boyuan-chen Mar 19, 2025
78ae80f
Merge branch 'optimism' into op-geth-v1.101503.1
boyuan-chen Mar 21, 2025
98cbed5
Merge pull request #22 from bobanetwork/op-geth-v1.101503.1
boyuan-chen Mar 21, 2025
04b8160
Merge branch 'optimism' into op-geth-v1.101503.2-rc.2
boyuan-chen Mar 24, 2025
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
94 changes: 31 additions & 63 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ version: 2.1
orbs:
gcp-cli: circleci/[email protected]
slack: circleci/[email protected]
utils: ethereum-optimism/[email protected]

parameters:
go_version:
Expand Down Expand Up @@ -53,39 +52,6 @@ commands:
echo "export GOOGLE_APPLICATION_CREDENTIALS='<< parameters.gcp_cred_config_file_path >>'" | tee -a "$BASH_ENV"

jobs:
build-and-deploy:
machine:
image: ubuntu-2004:current
steps:
- checkout
# Fetch more history for diffing
- run:
name: Fetch git history
command: |
git fetch --depth 1000

# Build forkdiff using Docker
- run:
name: Build forkdiff
command: |
docker run --volume $(pwd):/workspace \
protolambda/forkdiff:0.1.0 \
-repo=/workspace \
-fork=/workspace/fork.yaml \
-out=/workspace/index.html

# Prepare pages directory
- run:
name: Build pages
command: |
mkdir -p /tmp/pages
mv index.html /tmp/pages/index.html
touch /tmp/pages/.nojekyll
if [ "$CIRCLE_PROJECT_REPONAME" == "op-geth" ] && [ "$CIRCLE_PROJECT_USERNAME" == "ethereum-optimism" ]; then
echo "op-geth.optimism.io" > /tmp/pages/CNAME
fi
- utils/github-pages-deploy:
src-pages-dir: /tmp/pages
docker-release:
environment:
DOCKER_BUILDKIT: 1
Expand All @@ -104,7 +70,7 @@ jobs:
repo:
description: Docker repo
type: string
default: "oplabs-tools-artifacts/images"
default: "boba-392114/bobanetwork-tools-artifacts/images"
push_tags:
description: Push release push tags
type: boolean
Expand Down Expand Up @@ -141,7 +107,7 @@ jobs:
-f Dockerfile .
- when:
condition:
equal: [true, <<parameters.push_tags>>]
equal: [ true, <<parameters.push_tags>> ]
steps:
- run:
name: Tag
Expand Down Expand Up @@ -170,6 +136,7 @@ jobs:
--signer-logging-level="INFO"\
--attestor-key-id="//cloudkms.googleapis.com/v1/projects/$ATTESTOR_PROJECT_NAME/locations/global/keyRings/$ATTESTOR_NAME-key-ring/cryptoKeys/$ATTESTOR_NAME-key/cryptoKeyVersions/1"


build-geth:
docker:
- image: cimg/go:<<pipeline.parameters.go_version>>
Expand Down Expand Up @@ -202,19 +169,20 @@ jobs:
- checkout
- run:
command: go mod tidy && git diff --exit-code
check-sr-diff:
docker:
- image: cimg/go:<<pipeline.parameters.go_version>>
steps:
- checkout
- run:
name: install dasel
command: go install github.com/tomwright/dasel/v2/cmd/[email protected]
- run:
name: generate artifact and check diff
command: |
bash ./sync-superchain.sh
git diff --exit-code
# check-sr-diff:
# docker:
# - image: cimg/go:<<pipeline.parameters.go_version>>
# steps:
# - checkout
# - run:
# name: install dasel
# command: go install github.com/tomwright/dasel/v2/cmd/[email protected]
# - run:
# name: generate artifact and check diff
# command: |
# bash ./sync-superchain.sh
# git diff --exit-code


workflows:
main:
Expand All @@ -227,13 +195,13 @@ workflows:
name: Run linter over geth
- tidy-geth:
name: Check geth go.mod file has been tidied
- docker-release:
name: Push to Docker
docker_tags: <<pipeline.git.revision>>
context:
- oplabs-gcr
- check-sr-diff:
name: Check superchain registry bundle diff
# - docker-release:
# name: Push to Docker
# docker_tags: <<pipeline.git.revision>>
# context:
# - oplabs-gcr
# - check-sr-diff:
# name: Check superchain registry bundle diff
release:
jobs:
- hold:
Expand All @@ -257,10 +225,10 @@ workflows:
requires:
- hold

merge:
jobs:
- build-and-deploy:
context: circleci-repo-op-geth
filters:
branches:
only: optimism
# merge:
# jobs:
# - build-and-deploy:
# context: circleci-repo-op-geth
# filters:
# branches:
# only: optimism
1 change: 1 addition & 0 deletions core/rawdb/accessors_chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,7 @@ type storedReceiptRLP struct {
L1GasPrice *big.Int `rlp:"optional"` // OVM legacy
L1Fee *big.Int `rlp:"optional"` // OVM legacy
FeeScalar string `rlp:"optional"` // OVM legacy
L2BobaFee *big.Int `rlp:"optional"` // OVM legacy
}

// ReceiptLogs is a barebone version of ReceiptForStorage which only keeps
Expand Down
32 changes: 32 additions & 0 deletions core/rawdb/accessors_chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -794,6 +794,38 @@ func TestParseLegacyReceiptRLP(t *testing.T) {
require.Equal(t, receipt.FeeScalar, result.FeeScalar)
}

func TestParseLegacyReceiptRLPWithBoba(t *testing.T) {
// Create a gasUsed value greater than a uint64 can represent
gasUsed := big.NewInt(0)
gasUsed = gasUsed.SetUint64(math.MaxUint64)
gasUsed = gasUsed.Add(gasUsed, big.NewInt(math.MaxInt64))
sanityCheck := (&big.Int{}).SetUint64(gasUsed.Uint64())
require.NotEqual(t, gasUsed, sanityCheck)
receipt := types.LegacyOptimismStoredReceiptRLP{
CumulativeGasUsed: 1,
Logs: []*types.LogForStorage{
{Address: common.BytesToAddress([]byte{0x11})},
{Address: common.BytesToAddress([]byte{0x01, 0x11})},
},
L1GasUsed: gasUsed,
L1GasPrice: gasUsed,
L1Fee: gasUsed,
FeeScalar: "6",
L2BobaFee: gasUsed,
}

data, err := rlp.EncodeToBytes(receipt)
require.NoError(t, err)
var result storedReceiptRLP
err = rlp.DecodeBytes(data, &result)
require.NoError(t, err)
require.Equal(t, receipt.L1GasUsed, result.L1GasUsed)
require.Equal(t, receipt.L1GasPrice, result.L1GasPrice)
require.Equal(t, receipt.L1Fee, result.L1Fee)
require.Equal(t, receipt.FeeScalar, result.FeeScalar)
require.Equal(t, receipt.L2BobaFee, result.L2BobaFee)
}

func TestDeriveLogFields(t *testing.T) {
// Create a few transactions to have receipts for
to2 := common.HexToAddress("0x2")
Expand Down
6 changes: 6 additions & 0 deletions core/superchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ func LoadOPStackGenesis(chainID uint64) (*Genesis, error) {
switch chainID {
case params.OPMainnetChainID:
expectedHash = common.HexToHash("0x7ca38a1916c42007829c55e69d3e9a73265554b586a499015373241b8a3fa48b")
case params.BobaMainnetChainID:
expectedHash = common.HexToHash("0xdcd9e6a8f9973eaa62da2874959cb152faeb4fd6929177bd6335a1a16074ef9c")
case params.BobaSepoliaChainID:
expectedHash = common.HexToHash("0xc6171953a6a376ece6e33149686044f24f58a387ce2636a54e391d330b2326b5")
case params.BobaBnbTestnetChainID:
expectedHash = common.HexToHash("0x4d26ddc947c7cea924d5ef272c1a5ef40a1dce5ca2cbbaccad59d33f2505a30d")
default:
return nil, fmt.Errorf("unknown stateless genesis definition for chain %d", chainID)
}
Expand Down
1 change: 1 addition & 0 deletions core/types/receipt.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ type LegacyOptimismStoredReceiptRLP struct {
L1GasPrice *big.Int
L1Fee *big.Int
FeeScalar string
L2BobaFee *big.Int `rlp:"optional"`
}

// LogForStorage is a wrapper around a Log that handles
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -150,4 +150,4 @@ require (
rsc.io/tmplfunc v0.0.3 // indirect
)

//replace github.com/ethereum-optimism/superchain-registry/superchain => ../superchain-registry/superchain
// replace github.com/ethereum-optimism/superchain-registry/superchain => github.com/bobanetwork/superchain-registry/superchain v0.0.0-20250107213715-cb3c5cb83e2e
21 changes: 18 additions & 3 deletions params/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,24 @@ var (
)

const (
OPMainnetChainID = 10
BaseMainnetChainID = 8453
baseSepoliaChainID = 84532
OPMainnetChainID = 10
BaseMainnetChainID = 8453
baseSepoliaChainID = 84532
BobaMainnetChainID = 288
BobaSepoliaChainID = 28882
BobaBnbTestnetChainID = 9728
)

// OP Stack chain config
var (
// March 17, 2023 @ 7:00:00 pm UTC
OptimismGoerliRegolithTime = uint64(1679079600)
// Apr Apr 16 2024 21:27:59 UTC 2024
BobaMainnetRegolithTime = uint64(1713302879)
// January 18, 2024 @ 5:59:48 pm UTC
BobaSepoliaRegolithTime = uint64(1705600788)
// Thu Jun 20 2024 21:49:27 pm UTC
BobaBnbTestnetRegoTime = uint64(1718920167)
)

func newUint64(val uint64) *uint64 { return &val }
Expand Down
24 changes: 24 additions & 0 deletions params/superchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,30 @@ func LoadOPStackChainConfig(chConfig *superchain.ChainConfig) (*ChainConfig, err
out.GrayGlacierBlock = big.NewInt(105235063)
out.MergeNetsplitBlock = big.NewInt(105235063)
out.BedrockBlock = big.NewInt(105235063)
case BobaMainnetChainID:
out.BerlinBlock = big.NewInt(1149019)
out.LondonBlock = big.NewInt(1149019)
out.ArrowGlacierBlock = big.NewInt(1149019)
out.GrayGlacierBlock = big.NewInt(1149019)
out.MergeNetsplitBlock = big.NewInt(1149019)
out.BedrockBlock = big.NewInt(1149019)
out.RegolithTime = &BobaMainnetRegolithTime
case BobaSepoliaChainID:
out.BerlinBlock = big.NewInt(511)
out.LondonBlock = big.NewInt(511)
out.ArrowGlacierBlock = big.NewInt(511)
out.GrayGlacierBlock = big.NewInt(511)
out.MergeNetsplitBlock = big.NewInt(511)
out.BedrockBlock = big.NewInt(511)
out.RegolithTime = &BobaSepoliaRegolithTime
case BobaBnbTestnetChainID:
out.BerlinBlock = big.NewInt(675077)
out.LondonBlock = big.NewInt(675077)
out.ArrowGlacierBlock = big.NewInt(675077)
out.GrayGlacierBlock = big.NewInt(675077)
out.MergeNetsplitBlock = big.NewInt(675077)
out.BedrockBlock = big.NewInt(675077)
out.RegolithTime = &BobaBnbTestnetRegoTime
}

return out, nil
Expand Down
Loading