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

feat: merge dev into main for v0.4.0 release #64

Merged
merged 733 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
733 commits
Select commit Hold shift + click to select a range
5cf53f5
ethclient: use 'input', not 'data' as field for transaction input (#2…
holiman Sep 8, 2023
3cea832
Merge pull request #129 from ethereum-optimism/jg/configurable_min_su…
trianglesphere Sep 8, 2023
1efd12f
core: fix calculation of blob gasprice in tx receipt (#28082)
lightclient Sep 11, 2023
12ef276
consensus/misc: fix min gas limit error message (#28085)
0xmuralik Sep 11, 2023
e7a7ebb
params,eth/catalyst: clean up protocol version logging
protolambda Sep 11, 2023
7371b38
params: release Geth v1.13.0
karalabe Sep 12, 2023
766272f
params: begin v1.13.1 release cycle
karalabe Sep 12, 2023
5d5b1c1
params: superchain protocol version unit test
protolambda Sep 12, 2023
1d076fa
superchain: opt-in halting option if node is outdated
protolambda Sep 12, 2023
89c1ffa
params: set OP Stack protocol version to v3.1.0-1
protolambda Sep 12, 2023
43df612
internal, log: remove code for old unsupported go-versions (#28090)
holiman Sep 13, 2023
60b827b
params: superchain version formatting, bytes8 instead of uint64 build…
protolambda Sep 13, 2023
8d38b1f
core/rawdb: skip pathdb state inspection in hashdb mode (#28108)
karalabe Sep 13, 2023
8b6cf12
metrics: refactor metrics (#28035)
holiman Sep 13, 2023
eb74389
cmd/geth: rename the protocols field in the metrics gague (#28102)
karalabe Sep 13, 2023
b9b99a1
eth: abort on api operations not available in pbss-mode (#28104)
s1na Sep 14, 2023
d9fbb71
cmd/geth, internal/flags, go.mod: colorize cli help, support env vars…
karalabe Sep 14, 2023
636c64c
build: upgrade -dlgo version to Go 1.21.1 (#28113)
sandakersmann Sep 14, 2023
86bc2cd
internal/flags: fix linter
karalabe Sep 14, 2023
8514d66
graphql: add 4844 blob fields (#27963)
jsvisa Sep 14, 2023
ee65462
internal/flags: fix loading env vars for custom flags (#28117)
karalabe Sep 14, 2023
909dd4a
rlp/rlpgen: remove build tag (#28106)
fjl Sep 14, 2023
65a17c0
metrics: add support for enabling metrics from env vars (#28118)
karalabe Sep 14, 2023
5e58eb5
superchain: implement protocol-version handling review suggestions
protolambda Sep 14, 2023
92eb9d4
params: ProtocolVersionV0 struct helper for human-readable encoding call
protolambda Sep 14, 2023
b84ba11
Merge pull request #128 from ethereum-optimism/superchain-version-signal
protolambda Sep 14, 2023
48fdb79
core/state: check err for iter.Error in fastDeleteStorage (#28122)
darioush Sep 15, 2023
4fa3db4
eth/downloader: prevent pivot moves after state commit (#28126)
karalabe Sep 15, 2023
53faa2a
cmd: Fix typos
palango Sep 15, 2023
16cd1a7
cmd/geth, internal/flags: print envvar config source and bad names (#…
karalabe Sep 15, 2023
9a9db3d
eth/catalyst: fix engine API (#28135)
rjl493456442 Sep 17, 2023
2177193
internal/ethapi: correctly calculate effective gas price (#28130)
cam-schultz Sep 17, 2023
52234eb
internal/flags: fix typo (#28133)
phenix3443 Sep 17, 2023
d8a351b
params: fix typo in comment (#28129)
phenix3443 Sep 17, 2023
c53b0fe
core, eth/downloader: fix genesis state missing due to state sync (#2…
rjl493456442 Sep 17, 2023
3f40e65
params: release Geth v1.13.1
karalabe Sep 17, 2023
90d5bd8
params: begin Geth v1.13.2 release cycle
karalabe Sep 17, 2023
e9f78db
cmd/evm: fix some issues with the evm run command (#28109)
fjl Sep 19, 2023
ef76afa
core/rawdb: fix typo in comment (#28140)
jsvisa Sep 19, 2023
4b748b7
eth: fix typo in comment (#28146)
bnovil Sep 19, 2023
41a0ad9
cmd/devp2p: use bootnodes as crawl input (#28139)
jsvisa Sep 19, 2023
30d5d7c
go.mod: use existing version of karalabe/usb (#28127)
holiman Sep 19, 2023
7ed5bc0
trie: add getter for preimage store in trie.Database (#28155)
gballet Sep 19, 2023
a87a03e
Merge pull request #135 from celo-org/palango/typo
protolambda Sep 19, 2023
663564e
Merge tag v1.12.2
protolambda Sep 19, 2023
64a2f6c
core: preserve stateHash in genesis loading
protolambda Sep 19, 2023
0e861b4
eth: fix ethconfig TOML code
protolambda Sep 19, 2023
5c6f4b9
cmd/utils: fix typo in comment (#28159)
phenix3443 Sep 19, 2023
bfa1eea
fork.yaml: update to v1.12.2
protolambda Sep 19, 2023
048b22d
go: fix lint
protolambda Sep 19, 2023
e08c942
Merge tag 'v1.13.1'
protolambda Sep 20, 2023
0e4a85b
fork.yaml: update fork.yaml for v1.13.1 diff
protolambda Sep 20, 2023
5b9cbe3
cmd/clef: suppress fsnotify error if keydir not exists (#28160)
jsvisa Sep 20, 2023
bb819c9
eth: reinstate pre-1.12 optimism pending-block/state aliasing to late…
protolambda Sep 20, 2023
40033c0
miner: fix noTxPool early-exit to not block ResolveFull call when tx …
protolambda Sep 20, 2023
c06ca13
Merge v1.12.2 fixes
protolambda Sep 20, 2023
0b153c4
lint: fix v1.13.1 lint issues
protolambda Sep 20, 2023
545f4c5
core/rawdb: no need to run truncateFile for readonly mode (#28145)
jsvisa Sep 21, 2023
391ee57
implement op-v1.12.2 review suggestions
protolambda Sep 21, 2023
4773dcb
trie: remove internal nodes between shortNode and child in path mode …
rjl493456442 Sep 22, 2023
03c2176
trie/triedb/pathdb: improve error log (#28177)
rjl493456442 Sep 22, 2023
83f3fc2
core/state/snapshot: be very noisy if the generator hits a trie error…
karalabe Sep 22, 2023
d135baf
cmd/geth: print progress logs when iterating large contracts too (#28…
karalabe Sep 22, 2023
f1b2ec0
core/rawdb: use readonly file lock in readonly mode (#28180)
jsvisa Sep 22, 2023
82ec555
cmd: add state.scheme to the database flag group for local flag handl…
karalabe Sep 22, 2023
786f291
Cleanup overrides & add the Canyon network upgrade (#133)
trianglesphere Sep 22, 2023
95dd819
Merge branch 'optimism' into op_v1_12_2
protolambda Sep 22, 2023
7997a6f
Merge pull request #136 from ethereum-optimism/op_v1_12_2
protolambda Sep 22, 2023
8737298
Merge branch 'optimism' into op_v1_13_1
protolambda Sep 22, 2023
feab30d
flags: remove beta prefix from rollup.halt flag
protolambda Sep 25, 2023
79ce42c
Merge pull request #140 from ethereum-optimism/no-beta-mcp
sebastianst Sep 25, 2023
a0e16ca
Add make target to create local forkdiff output
karlb Sep 25, 2023
ca75108
Merge pull request #141 from celo-org/karlb/forkdiff-make-target
protolambda Sep 25, 2023
323542a
core, params: update Holesky testnet to relaunched spec (#28191)
karalabe Sep 25, 2023
d051ea5
params: update hash for Holesky relaunch (#28192)
karalabe Sep 25, 2023
c2cfe35
core/bloombits: fix deadlock when matcher session hits an error (#28184)
msmania Sep 25, 2023
1fa3362
core/forkid: add forkid test for holesky (#28193)
MariusVanDerWijden Sep 25, 2023
c3742a9
internal/debug: add --log.rotate to the logging category (#28190)
fjl Sep 25, 2023
7dfe72e
Merge pull request #137 from ethereum-optimism/op_v1_13_1
protolambda Sep 25, 2023
3d297fc
cmd/geth: ensure db is closed before exit (#28150)
jsvisa Sep 25, 2023
f6f64cc
cmd/utils: fix bootnodes config priority (#28095)
buddh0 Sep 25, 2023
4985d83
ethclient: fix BlockReceipts parameter encoding (#28087)
kandrianov Sep 25, 2023
d0e0059
Do not prefix deposit tx type twice when calculating receipt trie root.
ajsutton Sep 26, 2023
4de89e9
core/vm: minor code formatting (#28199)
hzysvilla Sep 26, 2023
4021910
eth/downloader: typo in comment (#28196)
phenix3443 Sep 26, 2023
78643d8
Merge pull request #142 from ethereum-optimism/aj/deposittx-receipt-e…
protolambda Sep 26, 2023
2b7bc2c
eth/fetcher: allow underpriced transactions in after timeout (#28097)
MariusVanDerWijden Sep 26, 2023
adb9b31
internal/ethapi: eth_call block parameter is optional (#28165)
s1na Sep 26, 2023
b85c183
eth/downloader: remove header rollback mechanism (#28147)
rjl493456442 Sep 26, 2023
614804b
core/txpool: fix typos (#28208)
bnovil Sep 27, 2023
06640b5
update superchain-registry for devnet network option
protolambda Sep 21, 2023
08efcdd
Merge pull request #139 from ethereum-optimism/devnet-protocol-versions
protolambda Sep 27, 2023
a081130
core/txpool: fix typos (#28213)
0xbstn Sep 28, 2023
73f5bcb
core, accounts, eth, trie: handle genesis state missing (#28171)
rjl493456442 Sep 28, 2023
dc34fe8
params: release Geth v1.13.2
karalabe Sep 28, 2023
3dc45a3
params: begin v1.13.3 release cycle
karalabe Sep 28, 2023
37a2d91
params: update 4788 beacon roots contract addr (#28205)
lightclient Sep 28, 2023
46c850a
internal/ethapi: compact db missing key starts with 0xff (#28207)
jsvisa Sep 28, 2023
b9450bf
core, eth: typos and some code formatting (#28201)
phenix3443 Sep 28, 2023
f988b23
ethdb, internal/ethapi: support exposing Pebble stats too, beside Lev…
karalabe Sep 28, 2023
1f6e639
core: fix typos (#28218)
0xbstn Sep 29, 2023
0ded110
core: infer blobGasUsed in chain maker (#28212)
s1na Sep 29, 2023
c5ff839
core/state: small trie prefetcher nits (#28183)
aaronbuchwald Sep 29, 2023
1f9d672
common: remove address.Hash footgun (#28228)
karalabe Sep 29, 2023
22dcb7a
ethdb/pebble: upgrade pebble to master (aa077af62593) (#28070)
rjl493456442 Sep 29, 2023
966e50b
ethdb/pebble: luv you linter
karalabe Sep 29, 2023
a408e37
eth/catalyst: add validation error in new paylaod hash mismatch (#28226)
lightclient Sep 29, 2023
7b6ff52
cmd, eth: switch the dev synctarget to hash from block (#28209)
karalabe Sep 29, 2023
c39cbc1
core: implement BLOBBASEFEE opcode (0x4a) (#28098)
MariusVanDerWijden Oct 2, 2023
9b20d69
params: add chaosnet, update superchain-registry
protolambda Oct 2, 2023
6b32eec
params: fix chaosnet EIP1559Elasticity
protolambda Oct 2, 2023
115a527
cmd: fix dumpgenesis command
protolambda Oct 2, 2023
d417adb
params: devnet config fix
protolambda Oct 2, 2023
3fa2163
Merge pull request #145 from ethereum-optimism/chaosnet
protolambda Oct 2, 2023
1e6910b
Merge pull request #146 from ethereum-optimism/devnet-config-fix
protolambda Oct 2, 2023
705a51e
eth, rpc: add configurable option for wsMessageSizeLimit (#27801)
tylerni7 Oct 3, 2023
07dec7a
cmd/evm: cancun-updates for b11r and t8n -tools (#28195)
lightclient Oct 3, 2023
339a4cf
core: fix typos (#28238)
0xbstn Oct 3, 2023
2091ebd
trie: fix benchmark by ensuring key immutability (#28221)
DeVil2O Oct 3, 2023
7963c4e
rpc: fix erroneous error-message in test (#28227)
hyunchel Oct 3, 2023
bc6d184
cmd/devp2p, eth: drop eth/66 (#28239)
karalabe Oct 3, 2023
a8a9c8e
core, eth, miner: start propagating and consuming blob txs (#28243)
karalabe Oct 4, 2023
95b0555
eth: when snap is complaining for missing eth, be verbose about the d…
karalabe Oct 4, 2023
052355f
cmd/evm/internal/t8ntoo: tiny bugfix for difficulty field (#28245)
tactical-retreat Oct 4, 2023
b21ac42
superchain: beta feature flag for overriding chain-config with superc…
protolambda Oct 4, 2023
80ac0fa
core: test regolith time in genesis setup from superchain-registry
protolambda Oct 4, 2023
1296a2c
Merge pull request #148 from ethereum-optimism/chain-config-db
sebastianst Oct 4, 2023
4e1e373
core/txpool/legacypool: fix typo (#28258)
hyunchel Oct 7, 2023
88379b9
Increase the maximum size for engine API requests via http to match w…
ajsutton Oct 5, 2023
0832679
trie: refactor stacktrie (#28233)
holiman Oct 10, 2023
fa6107c
core: fix typos (#28255)
0xbstn Oct 10, 2023
db9afae
eth, params: fix typos (#28286)
hyunchel Oct 10, 2023
6b1e4f4
all: move light.NodeSet to trienode.ProofSet (#28287)
holiman Oct 10, 2023
6505297
trie: fix a typo, use correct docstrings (#28302)
bnovil Oct 10, 2023
8afbcf4
eth: enforce announcement metadatas and drop peers violating the prot…
karalabe Oct 10, 2023
5e43ed0
git: ignore tests/spec-tests folder (#28254)
lightclient Oct 10, 2023
2c007cf
accounts/abi/bind/backend: use requested header for gas prices and ga…
karalabe Oct 10, 2023
8976a0c
trie: remove owner and binary marshaling from stacktrie (#28291)
holiman Oct 11, 2023
7776a32
ethdb/pebble: add level file metrics (#28271)
rjl493456442 Oct 11, 2023
a6deb2d
eth/fetcher: throttle tx fetches to 128KB responses (#28304)
karalabe Oct 11, 2023
13d1d42
eth/fetcher: fix typo
karalabe Oct 11, 2023
eeb5dc3
cmd, core: resolve scheme from a read-write database (#28313)
rjl493456442 Oct 11, 2023
0004c6b
accounts, cmd: fix typos (#28300)
vuittont60 Oct 11, 2023
d2c0bed
cmd/geth: fix failing test (#28322)
holiman Oct 12, 2023
0d45d72
params: release Geth v.1.13.3
karalabe Oct 12, 2023
2f66d7c
params: begin v1.13.4 release cycle
karalabe Oct 12, 2023
27172ad
Merge pull request #149 from ethereum-optimism/aj/increase-engine-api…
sebastianst Oct 12, 2023
dbe9302
Merge tag 'v1.13.3' into update_v1_13_3
protolambda Oct 12, 2023
939a388
post-Canyon receipt-root deposit tx hashing fix
Oct 11, 2023
34d4fcc
params: handle protocol-version semver prerelease edge-case in versio…
protolambda Oct 12, 2023
1cb3b6a
eth/protocols/snap: fix snap sync failure on empty storage range (#28…
rjl493456442 Oct 13, 2023
1f30cae
go.mod, internal/build: update Azure dependencies (#28329)
karalabe Oct 13, 2023
78c8e10
go.mod: update gnark lib to fix a malleability issue (#28333)
karalabe Oct 13, 2023
660cbe4
go.mod: update fastcache to latest (#28334)
karalabe Oct 13, 2023
ed5da55
build: move version-info into checksum file (#28324)
holiman Oct 13, 2023
31b566f
go.mod: update AWS APIs to latest heads (#28332)
karalabe Oct 13, 2023
f62c58f
trie: make rhs-proof align with last key in range proofs (#28311)
holiman Oct 13, 2023
425cb6f
go.mod: pull in the latest cloudflare API libs (#28336)
karalabe Oct 13, 2023
a52d968
ci: update to Go 1.20
protolambda Oct 13, 2023
ec46803
Merge pull request #152 from roberto-bayardo/canyon/fix-receipt-hash
zhwrd Oct 13, 2023
509a64f
cmd, core, ethdb: enable Pebble on 32 bits and OpenBSD too (#28335)
karalabe Oct 13, 2023
4632b7b
tests: update execution-spec-tests to 1.0.5 (#28337)
holiman Oct 16, 2023
2e478aa
eth/fetcher: only make noise big mismatches (#28356)
karalabe Oct 16, 2023
a5544d3
fix: broken url link (#28342)
phenix3443 Oct 17, 2023
8b99ad4
internal/ethapi: fix codehash lookup in eth_getProof (#28357)
holiman Oct 17, 2023
00c6383
cmd: fix typos (#28323)
xiaolou86 Oct 17, 2023
667966c
eth/fetcher: fix fetcher timeout (#28220)
MariusVanDerWijden Oct 17, 2023
3f907d6
params: release Geth v1.13.4
karalabe Oct 17, 2023
404a6e7
Bump the geth cache on OP stack mainnet chains
trianglesphere Oct 17, 2023
ce04335
Merge pull request #157 from ethereum-optimism/jg/bump_cache_for_main…
ajsutton Oct 17, 2023
073d46c
Fix lint
ajsutton Oct 17, 2023
4ace712
Merge branch 'optimism' into protocol-version-comparison-fix
ajsutton Oct 17, 2023
b3dff84
Merge pull request #154 from ethereum-optimism/protocol-version-compa…
ajsutton Oct 17, 2023
3dd3a41
ethclient: Fix eth_getBlockReceipts call when using block numbers or …
ajsutton Oct 17, 2023
fd22e37
ethclient: Simplify new test to match typical style.
ajsutton Oct 17, 2023
cd6b4fe
Merge branch 'optimism' into update_v1_13_3
ajsutton Oct 18, 2023
a1972f1
Merge pull request #153 from ethereum-optimism/update_v1_13_3
ajsutton Oct 18, 2023
b142ad4
Merge tag 'v1.13.4' into aj/upstream-1.13.4
ajsutton Oct 18, 2023
fdf0c5a
params: update superchain-registry, include mainnet and sepolia proto…
protolambda Oct 18, 2023
495446b
Merge pull request #161 from ethereum-optimism/superchain-registry-up…
protolambda Oct 18, 2023
b93db25
op-network-option: make op-network flag available, apply chain-config…
protolambda Oct 4, 2023
89f5ac3
Merge pull request #147 from ethereum-optimism/op-network-option
protolambda Oct 18, 2023
7a41bad
eth/fetcher: fix fetcher timeout (#28220)
MariusVanDerWijden Oct 17, 2023
6e0ba4b
Merge pull request #162 from ethereum-optimism/tx-fetcher-fix
ajsutton Oct 18, 2023
23c26c1
params: update op-stack protocol version to v3.1.0
protolambda Oct 18, 2023
63125bd
Merge pull request #163 from ethereum-optimism/protocol-v3_1_0
protolambda Oct 18, 2023
9fa16ea
cmd: rollup.superchain-upgrades out of beta
protolambda Oct 19, 2023
dc82a3d
Merge pull request #164 from ethereum-optimism/superchain-upgrades-flag
protolambda Oct 19, 2023
650bb2f
Deploy create2deployer in the next hardfork (#126)
mdehoog Oct 20, 2023
ceb5f32
Merge branch 'optimism' into aj/upstream-1.13.4
ajsutton Oct 23, 2023
f916ad7
fork.yaml: update to upstream v1.13.4
protolambda Oct 24, 2023
5023660
Merge pull request #159 from ethereum-optimism/aj/upstream-1.13.4
protolambda Oct 24, 2023
29cd9a3
Change EIP 1559 Denominator with Canyon (#165)
trianglesphere Oct 24, 2023
e8f25a6
fix receipt json marshaling/unmarshaling (#167)
Oct 26, 2023
dda1a26
Remove ChainID + GetCodeSize check from create2deployer precompile de…
mdehoog Oct 26, 2023
94fbbd0
Enable Canyon via superchain in op-geth (#171)
trianglesphere Oct 26, 2023
e417358
Add regolith override time for base goerli devnet (#172)
mdehoog Oct 27, 2023
ac6f77b
Fix potential nil pointer dereference panic in superchain overrides
mdehoog Oct 27, 2023
237170b
Merge pull request #174 from mdehoog/michael/fix-superchain-panic
protolambda Oct 27, 2023
634fcca
Ensure that the EIP1559DenominatorCanyon is set if the canyon overrid…
mdehoog Oct 30, 2023
cd491fa
Activate Canyon on Goerli & Sepolia via superchain registry (#177)
trianglesphere Oct 30, 2023
6772f70
Merge tag 'v1.101106.0' into upstream/op-geth/v1.101106.0
jyc228 Oct 16, 2023
e2fc645
feat(trie): apply updated trie interface to zktrie
jyc228 Oct 17, 2023
e0af789
fix(core/types): fix test failed TestDeriveKromaTxReceipt
jyc228 Oct 17, 2023
3cfac28
fix(eth/gasprice): update optimism to kroma
jyc228 Oct 18, 2023
903eecb
refac(core/types): rename EmptyMPTRootHash to EmptyRootHash
jyc228 Oct 19, 2023
ca70b52
Merge tag 'v1.101200.0' into upstream/op-geth/v1.101200.0
jyc228 Oct 31, 2023
ce83ba8
fix(core/types, eth/tracers): add blockTime parameter
jyc228 Oct 19, 2023
b3bf8f3
feat(trie): implement ZktrieDatabase for backend of trie.Database
jyc228 Oct 23, 2023
7b2e046
Set base testnets elasticity (#179)
mdehoog Oct 31, 2023
94622a8
fix(cmd/geth, cmd/util): add comments to deleted options
jyc228 Nov 1, 2023
d14578c
Merge tag 'v1.101200.1' into upstream/op-geth/v1.101200.1
jyc228 Aug 23, 2023
3fdbe53
Merge tag 'v1.101202.0-rc.1' into upstream/op-geth/v1.101202.0-rc.1
jyc228 Nov 1, 2023
1e43f22
fix(trie): fix compile error in zktrie
jyc228 Nov 1, 2023
27900fb
fix(miner): fix compile error in tx.size
jyc228 Nov 1, 2023
ed8e9f5
params: Fixup PGN Sepolia ChainConfig (#181)
trianglesphere Nov 7, 2023
e3860da
fix(core): fix deposit tx always incremented nonce by 1
jyc228 Nov 23, 2023
104306d
Merge pull request #58 from kroma-network/fix/invali_deposit_nonce
jyc228 Nov 24, 2023
6d2ce7b
Merge tag 'v1.101301.0-rc.2' into upstream/op-geth/v1.101301.0-rc.2
jyc228 Nov 2, 2023
f4affe0
fix(all): fix compile errors
jyc228 Nov 3, 2023
261fefa
fix(tests): skip selfdestruct in TestExecutionSpec
jyc228 Nov 6, 2023
7cb2d7c
fix(utils/flags): add isZk parameter to MakeTrieDatabase
jyc228 Nov 8, 2023
8a596b9
fix(internal/api): make zktrie in BlockChainAPI.GetProof
jyc228 Nov 15, 2023
14fa11c
fix(core): set db backend in Genesis.MustCommit
jyc228 Nov 15, 2023
0db0950
docs: update FORK.md
jyc228 Nov 28, 2023
bb4daba
chore(all): remove RollupHaltOnIncompatibleProtocolVersionFlag
jyc228 Nov 30, 2023
30062c3
chore(all): remove superchain code
jyc228 Nov 30, 2023
479f059
test(core): disable TestDeleteThenCreate
jyc228 Dec 1, 2023
da177d8
Merge pull request #57 from kroma-network/upstream/op-geth/v1.101301.…
jyc228 Dec 1, 2023
9e6ee09
ci: bump go version to 1.20
Pangssu Dec 1, 2023
0379233
Merge pull request #59 from kroma-network/ci/bump-go-1.20
Pangssu Dec 4, 2023
ccecf89
feat(trie/zk): implement zk tree
jyc228 Jan 5, 2024
56b6174
feat(trie): implement zk state trie
jyc228 Jan 5, 2024
6317814
feat(trie): implement zktrie iterator
jyc228 Dec 4, 2023
add60d8
refac(trie, trie.zk): update level of zk tree abstraction to the same…
jyc228 Dec 16, 2023
bae9d68
feat(trie): implement interface and structures for low level compatib…
jyc228 Jan 10, 2024
84595b6
feat(cmd): add experimental flag for enable zk state trie
jyc228 Jan 10, 2024
17c2eed
Merge pull request #45 from kroma-network/feat/implement-zk-merkle-tree
jyc228 Jan 11, 2024
77a3b33
fix(trie): prevent save root hash twice
jyc228 Jan 16, 2024
beb6458
Merge pull request #61 from kroma-network/fix/prevent-save-roothash-t…
jyc228 Jan 17, 2024
d4c58c0
fix(trie): fix ZkMerkleStateTrie returns invalid proofs
jyc228 Jan 29, 2024
a572a18
refac(trie): remove ValueHash in ZkLeafNode
jyc228 Jan 29, 2024
27b709d
fix(internal/ethapi): use ZkMerkleStateTrie in BlockChainAPI.GetProof
jyc228 Jan 29, 2024
1160f90
feat(trie): add transformKey to ZkMerkleTrie
jyc228 Jan 30, 2024
f648812
fix(trie): change ZkMerkleStackTrie to always reverse key
jyc228 Jan 30, 2024
442e9a1
Merge pull request #63 from kroma-network/fix/zkstatetrie-invalid-proof
jyc228 Jan 30, 2024
d8f4cdf
Merge tag 'v1.101304.1' into upstream/op-geth/v1.101304.1
Pangssu Jan 30, 2024
ba0ccdf
fix(trie): remove zk stack trie owner
Pangssu Jan 30, 2024
5c53d7e
feat(evm): disable SELFDESTRUCT only if the zktrie config is enabled
Pangssu Dec 18, 2023
04e8f66
Merge pull request #62 from kroma-network/upstream/op-geth/v1.101304.1
Pangssu Jan 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ core/ @karalabe @holiman @rjl493456442
eth/ @karalabe @holiman @rjl493456442
eth/catalyst/ @gballet
eth/tracers/ @s1na
graphql/ @gballet @s1na
graphql/ @s1na
les/ @zsfelfoldi @rjl493456442
light/ @zsfelfoldi @rjl493456442
node/ @fjl
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Setup Go 1.19
- name: Setup Go 1.20
uses: actions/setup-go@v4
with:
go-version: '1.19'
go-version: '1.20'
- run: go mod download

- name: Tests
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
with:
fetch-depth: 0

- name: Setup Go 1.19
- name: Setup Go 1.20
uses: actions/setup-go@v4
with:
go-version: '1.19'
go-version: '1.20'
- run: go mod download

- name: check
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
with:
fetch-depth: 0

- name: Setup Go 1.19
- name: Setup Go 1.20
uses: actions/setup-go@v4
with:
go-version: '1.19'
go-version: '1.20'
- run: go mod download

- name: Run tests
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,6 @@ profile.cov
/dashboard/assets/package-lock.json

**/yarn-error.log
logs/

tests/spec-tests/
42 changes: 15 additions & 27 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- stage: lint
os: linux
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- lint
git:
Expand All @@ -28,7 +28,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- docker
services:
Expand All @@ -45,7 +45,7 @@ jobs:
os: linux
arch: arm64
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- docker
services:
Expand All @@ -63,10 +63,9 @@ jobs:
os: linux
dist: bionic
sudo: required
go: 1.20.x
go: 1.21.x
env:
- azure-linux
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
addons:
Expand Down Expand Up @@ -97,10 +96,9 @@ jobs:
- stage: build
if: type = push
os: osx
go: 1.20.x
go: 1.21.x
env:
- azure-osx
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
script:
Expand All @@ -112,41 +110,34 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.20.x
env:
- GO111MODULE=on
go: 1.21.x
script:
- go run build/ci.go test $TEST_PACKAGES
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

- stage: build
if: type = pull_request
os: linux
arch: arm64
dist: bionic
go: 1.19.x
env:
- GO111MODULE=on
go: 1.20.x
script:
- go run build/ci.go test $TEST_PACKAGES
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

- stage: build
os: linux
dist: bionic
go: 1.19.x
env:
- GO111MODULE=on
go: 1.20.x
script:
- go run build/ci.go test $TEST_PACKAGES
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

# This builder does the Ubuntu PPA nightly uploads
- stage: build
if: type = cron || (type = push && tag ~= /^v[0-9]/)
os: linux
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- ubuntu-ppa
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
addons:
Expand All @@ -167,10 +158,9 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- azure-purge
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
script:
Expand All @@ -181,9 +171,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.20.x
env:
- GO111MODULE=on
go: 1.21.x
script:
- go run build/ci.go test -race $TEST_PACKAGES
- travis_wait 30 go run build/ci.go test -race $TEST_PACKAGES

2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG VERSION=""
ARG BUILDNUM=""

# Build Geth in a stock Go builder container
FROM golang:1.19-alpine as builder
FROM golang:1.21-alpine as builder

RUN apk add --no-cache gcc musl-dev linux-headers git

Expand Down
7 changes: 5 additions & 2 deletions FORK.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

## op-geth

- tag: `v1.101105.1`
- commit: `24ae687`
- tag: `v1.101304.1`
- commit: `ed8e9f54`
- differences
- change predeployed contract address [#17](https://github.com/kroma-network/go-ethereum/pull/17).
- remove daisy chain [#11](https://github.com/kroma-network/go-ethereum/pull/11).
- enable tx pool sync by force [#13](https://github.com/kroma-network/go-ethereum/pull/13).
- remove system tx related fields. (e.g, `IsSystemTx()`) [#29](https://github.com/kroma-network/go-ethereum/pull/29).
- update ValidatorRewardScalar to L1Block contract [#36](https://github.com/kroma-network/go-ethereum/pull/36).
- change transaction fee distribution logic [#36](https://github.com/kroma-network/go-ethereum/pull/36).
- use zktrie instead of merkle patricia trie

## scroll-geth

Expand Down
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

GOBIN = ./build/bin
GO ?= latest
GORUN = env GO111MODULE=on go run
GORUN = go run

geth:
$(GORUN) build/ci.go install ./cmd/geth
Expand All @@ -23,7 +23,7 @@ lint: ## Run linters.
$(GORUN) build/ci.go lint

clean:
env GO111MODULE=on go clean -cache
go clean -cache
rm -fr build/_workspace/pkg/ $(GOBIN)/*

# The devtools target installs tools required for 'go generate'.
Expand All @@ -36,3 +36,9 @@ devtools:
env GOBIN= go install ./cmd/abigen
@type "solc" 2> /dev/null || echo 'Please install solc'
@type "protoc" 2> /dev/null || echo 'Please install protoc'

forkdiff:
docker run --rm \
--mount src=$(shell pwd),target=/host-pwd,type=bind \
protolambda/forkdiff:latest \
-repo /host-pwd/ -fork /host-pwd/fork.yaml -out /host-pwd/forkdiff.html
9 changes: 0 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,6 @@ use separate accounts for play and real money. Unless you manually move
accounts, `geth` will by default correctly separate the two networks and will not make any
accounts available between them.*

### Full node on the Rinkeby test network

Go Ethereum also supports connecting to the older proof-of-authority based test network
called [*Rinkeby*](https://www.rinkeby.io) which is operated by members of the community.

```shell
$ geth --rinkeby console
```

### Configuration

As an alternative to passing the numerous flags to the `geth` binary, you can also pass a
Expand Down
77 changes: 65 additions & 12 deletions accounts/abi/abi.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"errors"
"fmt"
"io"
"math/big"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
Expand Down Expand Up @@ -222,6 +223,17 @@ func (abi *ABI) EventByID(topic common.Hash) (*Event, error) {
return nil, fmt.Errorf("no event with id: %#x", topic.Hex())
}

// ErrorByID looks up an error by the 4-byte id,
// returns nil if none found.
func (abi *ABI) ErrorByID(sigdata [4]byte) (*Error, error) {
for _, errABI := range abi.Errors {
if bytes.Equal(errABI.ID[:4], sigdata[:]) {
return &errABI, nil
}
}
return nil, fmt.Errorf("no error with id: %#x", sigdata[:])
}

// HasFallback returns an indicator whether a fallback function is included.
func (abi *ABI) HasFallback() bool {
return abi.Fallback.Type == Fallback
Expand All @@ -235,24 +247,65 @@ func (abi *ABI) HasReceive() bool {
// revertSelector is a special function selector for revert reason unpacking.
var revertSelector = crypto.Keccak256([]byte("Error(string)"))[:4]

// panicSelector is a special function selector for panic reason unpacking.
var panicSelector = crypto.Keccak256([]byte("Panic(uint256)"))[:4]

// panicReasons map is for readable panic codes
// see this linkage for the deails
// https://docs.soliditylang.org/en/v0.8.21/control-structures.html#panic-via-assert-and-error-via-require
// the reason string list is copied from ether.js
// https://github.com/ethers-io/ethers.js/blob/fa3a883ff7c88611ce766f58bdd4b8ac90814470/src.ts/abi/interface.ts#L207-L218
var panicReasons = map[uint64]string{
0x00: "generic panic",
0x01: "assert(false)",
0x11: "arithmetic underflow or overflow",
0x12: "division or modulo by zero",
0x21: "enum overflow",
0x22: "invalid encoded storage byte array accessed",
0x31: "out-of-bounds array access; popping on an empty array",
0x32: "out-of-bounds access of an array or bytesN",
0x41: "out of memory",
0x51: "uninitialized function",
}

// UnpackRevert resolves the abi-encoded revert reason. According to the solidity
// spec https://solidity.readthedocs.io/en/latest/control-structures.html#revert,
// the provided revert reason is abi-encoded as if it were a call to a function
// `Error(string)`. So it's a special tool for it.
// the provided revert reason is abi-encoded as if it were a call to function
// `Error(string)` or `Panic(uint256)`. So it's a special tool for it.
func UnpackRevert(data []byte) (string, error) {
if len(data) < 4 {
return "", errors.New("invalid data for unpacking")
}
if !bytes.Equal(data[:4], revertSelector) {
switch {
case bytes.Equal(data[:4], revertSelector):
typ, err := NewType("string", "", nil)
if err != nil {
return "", err
}
unpacked, err := (Arguments{{Type: typ}}).Unpack(data[4:])
if err != nil {
return "", err
}
return unpacked[0].(string), nil
case bytes.Equal(data[:4], panicSelector):
typ, err := NewType("uint256", "", nil)
if err != nil {
return "", err
}
unpacked, err := (Arguments{{Type: typ}}).Unpack(data[4:])
if err != nil {
return "", err
}
pCode := unpacked[0].(*big.Int)
// uint64 safety check for future
// but the code is not bigger than MAX(uint64) now
if pCode.IsUint64() {
if reason, ok := panicReasons[pCode.Uint64()]; ok {
return reason, nil
}
}
return fmt.Sprintf("unknown panic code: %#x", pCode), nil
default:
return "", errors.New("invalid data for unpacking")
}
typ, err := NewType("string", "", nil)
if err != nil {
return "", err
}
unpacked, err := (Arguments{{Type: typ}}).Unpack(data[4:])
if err != nil {
return "", err
}
return unpacked[0].(string), nil
}
30 changes: 30 additions & 0 deletions accounts/abi/abi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,34 @@ func TestABI_EventById(t *testing.T) {
}
}

func TestABI_ErrorByID(t *testing.T) {
abi, err := JSON(strings.NewReader(`[
{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"MyError1","type":"error"},
{"inputs":[{"components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"string","name":"b","type":"string"},{"internalType":"address","name":"c","type":"address"}],"internalType":"struct MyError.MyStruct","name":"x","type":"tuple"},{"internalType":"address","name":"y","type":"address"},{"components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"string","name":"b","type":"string"},{"internalType":"address","name":"c","type":"address"}],"internalType":"struct MyError.MyStruct","name":"z","type":"tuple"}],"name":"MyError2","type":"error"},
{"inputs":[{"internalType":"uint256[]","name":"x","type":"uint256[]"}],"name":"MyError3","type":"error"}
]`))
if err != nil {
t.Fatal(err)
}
for name, m := range abi.Errors {
a := fmt.Sprintf("%v", &m)
var id [4]byte
copy(id[:], m.ID[:4])
m2, err := abi.ErrorByID(id)
if err != nil {
t.Fatalf("Failed to look up ABI error: %v", err)
}
b := fmt.Sprintf("%v", m2)
if a != b {
t.Errorf("Error %v (id %x) not 'findable' by id in ABI", name, id)
}
}
// test unsuccessful lookups
if _, err = abi.ErrorByID([4]byte{}); err == nil {
t.Error("Expected error: no error with this id")
}
}

// TestDoubleDuplicateMethodNames checks that if transfer0 already exists, there won't be a name
// conflict and that the second transfer method will be renamed transfer1.
func TestDoubleDuplicateMethodNames(t *testing.T) {
Expand Down Expand Up @@ -1145,6 +1173,8 @@ func TestUnpackRevert(t *testing.T) {
{"", "", errors.New("invalid data for unpacking")},
{"08c379a1", "", errors.New("invalid data for unpacking")},
{"08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d72657665727420726561736f6e00000000000000000000000000000000000000", "revert reason", nil},
{"4e487b710000000000000000000000000000000000000000000000000000000000000000", "generic panic", nil},
{"4e487b7100000000000000000000000000000000000000000000000000000000000000ff", "unknown panic code: 0xff", nil},
}
for index, c := range cases {
t.Run(fmt.Sprintf("case %d", index), func(t *testing.T) {
Expand Down
Loading
Loading