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/upstream #10

Merged
merged 334 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
d73eb87
core: log message if DeriveFields returns error (#27530)
aaronbuchwald Jun 27, 2023
c7b099b
trie, core/state: revert error removal in (*state.Trie).Commit (#27544)
gballet Jun 27, 2023
eed7983
core/txpool/legacypool: fix typo (#27620)
hero5512 Jun 27, 2023
f5d3d48
eth: send big transactions by announce/retrieve only (#27618)
MariusVanDerWijden Jun 28, 2023
85b8d1c
params, trie: add verkle fork management + upgrade go-verkle (#27464)
gballet Jun 28, 2023
8bbb16b
core/state, light, les: make signature of ContractCode hash-independe…
gballet Jun 28, 2023
6ca3ef9
node: fix listening on IPv6 address (#27628) (#27635)
oiooj Jul 2, 2023
59f7b28
cmd, core, eth, graphql, trie: no persisted clean trie cache file (#2…
rjl493456442 Jul 4, 2023
863f6da
ethdb/leveldb: update leveldb metrics collection (#27643)
Exca-DK Jul 5, 2023
83d7f42
core: stop chain when tests are finished (#27660)
darioush Jul 6, 2023
ab0e0f3
signer/core: show helptext when clef rejects signing (#27538)
joohhnnn Jul 6, 2023
ea78280
cmd/geth: implement dev mode for post-merge (#27327)
jwasinger Jul 6, 2023
cbf2579
p2p, p2p/discover: add dial metrics (#27621)
lightclient Jul 6, 2023
c866dfd
core: remove outdated tests (#27662)
holiman Jul 6, 2023
c2db667
miner: remove unused commented code (#27664)
jwasinger Jul 7, 2023
af8b138
core/vm: define cancun + enable 1153 (tstore/tload) in cancun (#27663)
holiman Jul 10, 2023
5c9cbc2
core/vm: implement EIP-5656, mcopy instruction (#26181)
charles-cooper Jul 11, 2023
e1fd3d6
eth: better active protocol handler tracking (#27665)
lightclient Jul 11, 2023
aecf3f9
internal/blocktest: add package for shared test code (#27270)
jsvisa Jul 11, 2023
4b06e4f
core/state: value diff tracking in StateDB (#27349)
rjl493456442 Jul 11, 2023
645b0db
cmd/utils, p2p: clean up discovery setup (#27518)
lightclient Jul 11, 2023
7a565fa
console: add cleanup to avoid leaks in newTester (#27695)
Mskxn Jul 11, 2023
cecd221
go.mod: upgrade github.com/karalabe/usb to fix build warning (#27698)
fjl Jul 11, 2023
0b1f97e
core/rawdb: support freezer batch read with no size limit (#27687)
rjl493456442 Jul 12, 2023
a426999
p2p/discover: filter bootnodes by netrestrict (#27701)
fjl Jul 12, 2023
80b7bfe
accounts, cmd/evm: fix docstrings (#27703)
cuishuang Jul 12, 2023
040a4a5
build: upgrade -dlgo version to Go 1.20.6 (#27708)
sandakersmann Jul 12, 2023
714f759
eth, miner: rm redundant type declare (#27713)
jsvisa Jul 13, 2023
4f0d8f0
graphql: fix race in withdrawals test (#27706)
s1na Jul 13, 2023
10a136a
internal: early exit if tx for getTxReceipt not found (#27712)
jsvisa Jul 13, 2023
5d03504
internal/ethapi: add more testcase for GetTransactionReceipt (#27527)
jsvisa Jul 13, 2023
1e069cf
eth/tracers: add ReturnData in the tracer's response (#27704)
jsvisa Jul 13, 2023
517ac88
eth/tracers/native: panic on memory read in prestateTracer (#27691)
ryanschneider Jul 13, 2023
e1fe6bc
go.sum: go mod tidy (#27717)
ucwong Jul 13, 2023
c40ab6a
core/blockchain: fast to snap in comments (#27722)
ucwong Jul 14, 2023
60ecf48
cmd/bootnode, p2p: support for alternate mapped ports (#26359)
dbadoy Jul 14, 2023
13c0305
metrics: NilTimer should still run the function to be timed (#27723)
omerfirmak Jul 14, 2023
47b9f1b
cmd/geth: use automaxprocs to apply cpu quota correctly (#27506)
jsvisa Jul 14, 2023
34d5072
metrics: NilResettingTimer.Time should execute the timed function (#2…
omerfirmak Jul 14, 2023
00408f7
accounts/abi/bind/backends: fix goroutine leak in unit test (#27705)
yuriechan Jul 15, 2023
d233b6b
core: replace instances of 'suicide' with 'selfdestruct' to improve …
jwasinger Jul 15, 2023
99e000c
core/vm: use types.EmptyCodeHash (#27729)
ucwong Jul 15, 2023
b058cf4
core, tests: EIP-4844 transaction processing logic (#27721)
holiman Jul 15, 2023
988d84a
core/state, core/vm: implement EIP 6780 (#27189)
jwasinger Jul 17, 2023
d4d88f9
les: remove obsolete code related to PoW header syncing (#27737)
zsfelfoldi Jul 17, 2023
e86ad52
beacon/engine, eth/catalyst: EIP-4844 updates for the engine API (#27…
fjl Jul 18, 2023
7f756dc
cmd/evm/testdata: fix typos in docs (#27742)
pgrimaud Jul 18, 2023
a46f417
ethclient/gethclient: gofmt -s (#27762)
MariusVanDerWijden Jul 24, 2023
88f3d61
all: expose block number information to statedb (#27753)
rjl493456442 Jul 24, 2023
7a1fba1
cmd/geth: atomic types used (#27756)
ucwong Jul 24, 2023
a196f3e
cmd/devp2p: atomic types used (#27755)
ucwong Jul 24, 2023
2274a03
crypto/kzg4844: do lazy init in all ckzg funcs (#27679)
jtraglia Jul 24, 2023
37b952a
core/types: deepcopy ExcessDataGas, DataGasUsed (#27767)
darioush Jul 27, 2023
1662228
core/txpool/blobpool: 4844 blob transaction pool (#26940)
karalabe Jul 27, 2023
393d4db
core/types: add 4844 data gas fields in Receipt (#27743)
fjl Jul 27, 2023
0f4b21f
core/txpool/blobpool: fix a merge conflict from a package rename (#27…
karalabe Jul 27, 2023
57268f7
all: rename dataGas to blobGas (#27789)
karalabe Jul 27, 2023
d955653
core/types: put header fields in correct order (#27791)
MariusVanDerWijden Jul 27, 2023
8f2ae29
core/types: fix receipt blob fields marshaling (#27793)
marioevz Jul 28, 2023
95cc7bf
cmd/geth: import package catalyst once (#27803)
islishude Jul 31, 2023
5a4eba6
eth: conver if-else-if chain to tagged switch (#27816)
islishude Jul 31, 2023
43a1a48
core: remove pointless check for excessBlobGas nilness (#27797)
jsvisa Jul 31, 2023
817553c
core, trie: track state change set with account address (#27815)
rjl493456442 Jul 31, 2023
4e97756
cmd/bootnode: defer udp connection close (#27787)
ZigBalthazar Jul 31, 2023
3ca92f7
all: replace data gas to blob gas in comments (#27825)
jsvisa Aug 1, 2023
852be57
tests: make tests pass on windows/386 (#27821)
holiman Aug 1, 2023
2fd77a6
core/txpool/blobpool: remove error log when finalized block is nil (#…
rjl493456442 Aug 1, 2023
7c95ebd
consensus/misc: move eip1559 into a package (#27828)
jsvisa Aug 1, 2023
f404a2d
cmd/evm: set ExcessBlobGas from env (#27796)
jsvisa Aug 1, 2023
9d744f0
cmd/bootnode: fix timer leak (#27754)
ucwong Aug 1, 2023
7de748d
all: implement path-based state scheme (#25963)
rjl493456442 Aug 1, 2023
ff97b4c
cmd/geth: disable automaxprocs log (#27814)
jsvisa Aug 1, 2023
d04bde0
p2p: use atomic types (#27764)
ucwong Aug 1, 2023
8224bb9
build: upgrade -dlgo version to Go 1.20.7 (#27835)
sandakersmann Aug 2, 2023
6e934f4
eth/protocols/snap: fix batch writer when resuming an aborted sync (#…
karalabe Aug 3, 2023
df54435
core/types: fix immutability guarantees in Block (#27844)
fjl Aug 4, 2023
57cdbae
all: remove trailing whitespace (#27741)
darioush Aug 4, 2023
bb148dd
core/types: support yParity field in JSON transactions (#27744)
fjl Aug 4, 2023
5c30541
log: use atomic types (#27763)
ucwong Aug 4, 2023
60070fe
internal/ethapi, graphql: correct comments about gas price logic (#27…
chrischarlesharrison Aug 4, 2023
8574767
internal: use atomic type (#27858)
ucwong Aug 7, 2023
d14c07d
accounts: use atomic type (#27857)
ucwong Aug 7, 2023
eeebb07
internal/ethapi: add state override to estimateGas (#27845)
amintalebi Aug 7, 2023
6d2bcb9
p2p/simulations/examples: use atomic.Int64 (#27861)
ucwong Aug 7, 2023
0d772b9
graphql: avoid greedy allocation (#27873)
holiman Aug 8, 2023
e13fa32
core/vm: update 4844 - point evaluation precompile address (#27874)
holiman Aug 8, 2023
7ec60d5
p2p: move ping handling into pingLoop goroutine (#27887)
fjl Aug 9, 2023
10d9f93
graphql: add yParity field for transactions (#27882)
jsvisa Aug 9, 2023
6797902
core/state: move UpdateContractCode before the trie hash is computed …
gballet Aug 9, 2023
9c216bd
params: release go-ethereum v1.12.1
fjl Aug 10, 2023
d9a8b0f
params: begin v1.12.2 release cycle
fjl Aug 10, 2023
8d1db16
eth/filters, core/rawdb: remove unused param, refactor filtering-loop…
holiman Aug 10, 2023
86d7f5a
deps: update supranational/blst to 0.3.11 (#27890)
dependabot[bot] Aug 10, 2023
5e89ff4
graphql: validate block params (#27876)
s1na Aug 10, 2023
503f1f7
all: activate pbss as experimental feature (#26274)
rjl493456442 Aug 10, 2023
e2507a1
params: switch release family to 1.13 to prep for PBSS
karalabe Aug 10, 2023
6ddb92c
core/txpool/blobpool: fix metrics name for prometheus export (#27901)
imulmat4 Aug 11, 2023
35f7f3d
ethdb/leveldb: support more than 7 levels in metrics (#27904)
jsvisa Aug 11, 2023
8f8ef2b
rpc: attempt to fix ping/pong logic race (#27733)
fjl Aug 11, 2023
80b76a9
core/types: remove duplication in eip2930 signer (#27860)
GDdark Aug 11, 2023
0ce331f
trie/triedb/pathdb: make shutdown journal log friendlier (#27905)
karalabe Aug 11, 2023
be65b47
all: update golang/x/ext and fix slice sorting fallout (#27909)
karalabe Aug 11, 2023
a0491a0
deps: update supranational/blst to 0.3.11 (#27890)
dependabot[bot] Aug 10, 2023
55863ce
core/txpool/blobpool: fix metrics name for prometheus export (#27901)
imulmat4 Aug 11, 2023
770db14
ethdb/leveldb: support more than 7 levels in metrics (#27904)
jsvisa Aug 11, 2023
811a674
all: update golang/x/ext and fix slice sorting fallout (#27909)
karalabe Aug 11, 2023
e91b21c
go.mod, build: upgrade c-kzg-4844 (#27907)
fjl Aug 11, 2023
f298ec4
go.mod, build: upgrade c-kzg-4844 (#27907)
fjl Aug 11, 2023
6886006
internal/build: apply -ubuntu to env (#27910)
fjl Aug 12, 2023
a867039
internal/build: apply -ubuntu to env (#27910)
fjl Aug 12, 2023
bed8460
params: release go-ethereum v1.12.2
fjl Aug 12, 2023
2a6beb6
core/types: support for optional blob sidecar in BlobTx (#27841)
fjl Aug 14, 2023
6885521
cmd/utils: restore support for txlookuplimit flag (#27917)
jsvisa Aug 14, 2023
509cd42
go.mod: upgrade goja (#27899)
ucwong Aug 14, 2023
f1801a9
internal/ethapi: implement eth_getBlockReceipts (#27702)
jsvisa Aug 15, 2023
05a8b88
crypto/bls12381: fix typo in comment (#27930)
lei335 Aug 15, 2023
ab28680
trie: add tests for "short" nodes in StackTrie (#27932)
chfast Aug 15, 2023
e0b1198
eth/tracers/js: use t.toBig on ctx.GasPrice for js tracing (#27903)
nettijoe96 Aug 15, 2023
a16d757
build: remove ubuntu kinetic (deprecated) (#27933)
holiman Aug 16, 2023
386cba1
node: increase batch limits for auth rpc API (#27924)
jsvisa Aug 16, 2023
a3e3541
core/types: fix unmarshalling of BlobTx values (#27939)
lightclient Aug 16, 2023
32fde3f
core/forkid: correctly compute forkid when timestamp fork is activate…
lightclient Aug 16, 2023
1aa5520
core/txpool/legacypool: protect cache with mutex (#27898)
holiman Aug 17, 2023
649deb6
eth/downloader: fix rare crash when parent header missing in db (#27945)
jsvisa Aug 17, 2023
950ccdd
internal/ethapi: optimize & clean up EstimateGas (#27710)
Aug 18, 2023
7dea9c1
internal/ethapi: eth API changes needed for 4844 (#27928)
MariusVanDerWijden Aug 18, 2023
5976e58
trie: reduce allocs in recHash (#27770)
MariusVanDerWijden Aug 18, 2023
b3024e8
eth: ignore genesis block on importChain (#27956)
MariusVanDerWijden Aug 21, 2023
f56ee7d
eth/catalyst: set finalized block hash properly in dev mode (#27886)
jwasinger Aug 21, 2023
9f4a528
internal/ethapi: add testcases for blobTx (#27818)
jsvisa Aug 22, 2023
7c0d90c
core: ensure txindex will be triggered at least once (#27847)
jsvisa Aug 22, 2023
bbee0e7
miner: fix reply -> replay typo (#27961)
shuoli84 Aug 22, 2023
55c5f59
travis, build: update Go to 1.21.0 (#27958)
holiman Aug 22, 2023
0b4b299
go.mod: update docker (#27970)
MariusVanDerWijden Aug 22, 2023
b8d38e7
core, params, beacon/engine: implement EIP 4788 BeaconRoot (#27849)
holiman Aug 22, 2023
8d24929
cmd/evm: add back stateroot to jsonl-output (#27968)
holiman Aug 22, 2023
4c7053b
core: add BeaconRoot to header in GenerateChain (#27974)
fjl Aug 22, 2023
16946d2
rpc: use go-winio for named pipes (#27972)
holiman Aug 23, 2023
c31f9cf
graphql: fix nil deref on a timer (#27978)
jsvisa Aug 23, 2023
ab3762b
go.mod: update pebble to crl-release-23.1 (#27967)
karalabe Aug 23, 2023
0c6bbeb
core, eth, trie: expose more detailed dirty ram tracking for diff lay…
karalabe Aug 23, 2023
bce5c46
eth/catalyst: disable full payload when not in dev mode (#27921)
rjl493456442 Aug 23, 2023
00fead9
cmd/utils: fix a startup issue on deleted chaindata but dangling anci…
karalabe Aug 23, 2023
4af98d4
travis: increase travis wait time (#27975)
holiman Aug 23, 2023
76d4ac1
account/abi: convert if-else-if chain to tagged switch (#27869)
islishude Aug 23, 2023
52219ce
travis: get rid of old useless GO111MODULE directives (#27991)
karalabe Aug 23, 2023
5c7136a
rlp: remove allocation of bytes.Reader in DecodeBytes (#27987)
fjl Aug 23, 2023
f0f8703
core/rawdb, ethdb/pebble: avoid fsync db in tests (#27836)
holiman Aug 23, 2023
e3f3e01
les: use new atomic types (#27856)
ucwong Aug 23, 2023
4abc412
crypto/bn256: eliminate dead store (#27944)
cuiweixie Aug 23, 2023
2f4dbb4
core/rawdb: allocate database keys with explicit size to avoid slice …
MariusVanDerWijden Aug 23, 2023
eb6cbe3
core/state: remove public method ForEachStorage (#27986)
holiman Aug 23, 2023
d1f6735
core/rawdb: fix 32bit build (#27995)
fjl Aug 23, 2023
feb8f41
miner: add to build block with EIP-4844 blobs (#27875)
lightclient Aug 23, 2023
60ec41c
miner: refactor getSealingBlock method (#27993)
MariusVanDerWijden Aug 23, 2023
9b46986
all: use rlp.DecodeBytes instead of rlp.Decode where possible (#27994)
fjl Aug 24, 2023
45b198d
eth/catalyst: disable heartbeat for simulated beacon node (#27979)
jsvisa Aug 24, 2023
1a21350
eth/catalyst: use block as finalization (#28000)
rjl493456442 Aug 24, 2023
0ba2d3c
core/vm/runtime: Add Random field to config (#28001)
guidovranken Aug 25, 2023
56d2366
core/state/snapshot: replace diffToDisk ideal batch size with 64MB (#…
aaronbuchwald Aug 25, 2023
6dc9cdf
core: support null balance in genesis (#28005)
fjl Aug 25, 2023
5e0eb62
eth/protocols/eth: stop advertising eth/66 for pathdb nodes (#28006)
karalabe Aug 25, 2023
6b98d18
cmd, core, params: add support for the Holesky testnet (#28007)
karalabe Aug 25, 2023
9bbb9df
core/types: transaction and receipt encoding/decoding optimizations (…
fjl Aug 25, 2023
cde462c
eth/catalyst: reset to current header if chain is rewound (in dev mod…
jsvisa Aug 25, 2023
6aa88cc
beacon/engine, eth/catalyst, miner: EIP-4788 CL/EL protocol updates (…
holiman Aug 26, 2023
5ca7fb8
account/abi: handle solidity panic revert (#27868)
islishude Aug 26, 2023
3ff6b3c
core/state: implement fast storage deletion (#27955)
rjl493456442 Aug 26, 2023
3a662d4
eth: remove check for tdd reached on pos api block tags (#27799)
lightclient Aug 26, 2023
d4e345c
core/state: fix missing import (#28010)
holiman Aug 26, 2023
f174ddb
build, tests: add execution-spec-tests (#26985)
MariusVanDerWijden Aug 26, 2023
fe24d22
miner/stress/clique: fix typo (#28016)
Cr4shOv3rrid3 Aug 28, 2023
b8adb4c
tests: use 'sender' in state tests if present (#28023)
holiman Aug 29, 2023
41ee96f
core/txpool/blobpool: fix rlp decoding flaw during offload (#28027)
lightclient Aug 30, 2023
5b15949
go.mod: regenerate all indirect dependencies to clean up the junk (#2…
karalabe Aug 31, 2023
53f3c2a
metrics, cmd/geth: informational metrics (prometheus, influxdb, opent…
jorgeacortes Aug 31, 2023
0acc0a1
core/state: simplify storage trie update and commit (#28030)
rjl493456442 Aug 31, 2023
2885708
eth/catalyst: set random value in dev mode (#27940)
MariusVanDerWijden Aug 31, 2023
f260a9e
beacon/engine: add `shouldOverrideBuilder` to payload envelope (#28029)
lightclient Sep 4, 2023
eff7c3b
core/forkid: skip genesis forks by time (#28034)
lightclient Sep 4, 2023
25733a4
params: update 4844 parameters (#28026)
lightclient Sep 5, 2023
2f77299
go.mod: goupnp 1.3.0 (#28053)
ucwong Sep 6, 2023
2e02c1f
core/rawdb: don't warn for missing "unclean shutdown markers" (#28014)
jsvisa Sep 6, 2023
c60f7dd
deps: update minisign (#28066)
holiman Sep 7, 2023
a8d7201
log: avoid stack lookups when not needed/used (#28069)
holiman Sep 7, 2023
a7842c9
core, trie: cleanup trie database (#28062)
rjl493456442 Sep 7, 2023
83886e4
go.mod: pull in a fix from pebble crl-release-23.1 (#28081)
karalabe Sep 8, 2023
5cf53f5
ethclient: use 'input', not 'data' as field for transaction input (#2…
holiman 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)
0xbala-k 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
43df612
internal, log: remove code for old unsupported go-versions (#28090)
holiman 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
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
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
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
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
391ee57
implement op-v1.12.2 review suggestions
protolambda Sep 21, 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
7dfe72e
Merge pull request #137 from ethereum-optimism/op_v1_13_1
protolambda Sep 25, 2023
d0e0059
Do not prefix deposit tx type twice when calculating receipt trie root.
ajsutton Sep 26, 2023
78643d8
Merge pull request #142 from ethereum-optimism/aj/deposittx-receipt-e…
protolambda Sep 26, 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
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
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
036f6b6
Merge remote-tracking branch 'upstream/optimism' into update/upstream
jbearer Oct 12, 2023
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
  •  
  •  
  •  
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.20-alpine as builder
FROM golang:1.21-alpine as builder

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

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
66 changes: 54 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 @@ -246,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
}
2 changes: 2 additions & 0 deletions accounts/abi/abi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1173,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
2 changes: 1 addition & 1 deletion accounts/abi/bind/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import (
var (
// ErrNoCode is returned by call and transact operations for which the requested
// recipient contract to operate on does not exist in the state db or does not
// have any code associated with it (i.e. suicided).
// have any code associated with it (i.e. self-destructed).
ErrNoCode = errors.New("no contract code at given address")

// ErrNoPendingState is raised when attempting to perform a pending state action
Expand Down
9 changes: 5 additions & 4 deletions accounts/abi/bind/backends/simulated.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import (
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/params"
"github.com/ethereum/go-ethereum/rpc"
"github.com/ethereum/go-ethereum/trie"
)

// This nil assignment ensures at compile time that SimulatedBackend implements bind.ContractBackend.
Expand Down Expand Up @@ -157,7 +158,7 @@ func NewSimulatedBackendWithOpts(opts ...SimulatedBackendOpt) *SimulatedBackend
opt(config)
}

config.genesis.MustCommit(config.database)
config.genesis.MustCommit(config.database, trie.NewDatabase(config.database, trie.HashDefaults))
blockchain, _ := core.NewBlockChain(config.database, config.cacheConfig, &config.genesis, nil, config.consensus, config.vmConfig, nil, nil)

backend := &SimulatedBackend{
Expand Down Expand Up @@ -752,7 +753,7 @@ func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transa
// Get the last block
block, err := b.blockByHash(ctx, b.pendingBlock.ParentHash())
if err != nil {
return fmt.Errorf("could not fetch parent")
return errors.New("could not fetch parent")
}
// Check transaction validity
signer := types.MakeSigner(b.blockchain.Config(), block.Number(), block.Time())
Expand Down Expand Up @@ -886,7 +887,7 @@ func (b *SimulatedBackend) AdjustTime(adjustment time.Duration) error {
// Get the last block
block := b.blockchain.GetBlockByHash(b.pendingBlock.ParentHash())
if block == nil {
return fmt.Errorf("could not find parent")
return errors.New("could not find parent")
}

blocks, _ := core.GenerateChain(b.config, block, b.consensus, b.database, 1, func(number int, block *core.BlockGen) {
Expand Down Expand Up @@ -963,7 +964,7 @@ func (fb *filterBackend) GetReceipts(ctx context.Context, hash common.Hash) (typ
}

func (fb *filterBackend) GetLogs(ctx context.Context, hash common.Hash, number uint64) ([][]*types.Log, error) {
logs := rawdb.ReadLogs(fb.db, hash, number, fb.bc.Config())
logs := rawdb.ReadLogs(fb.db, hash, number)
return logs, nil
}

Expand Down
1 change: 1 addition & 0 deletions accounts/abi/bind/backends/simulated_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ func TestAdjustTime(t *testing.T) {
func TestNewAdjustTimeFail(t *testing.T) {
testAddr := crypto.PubkeyToAddress(testKey.PublicKey)
sim := simTestBackend(testAddr)
defer sim.blockchain.Stop()

// Create tx and send
head, _ := sim.HeaderByNumber(context.Background(), nil) // Should be child's, good enough
Expand Down
16 changes: 8 additions & 8 deletions accounts/abi/bind/template.go
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ var (
if err != nil {
return *outstruct, err
}
{{range $i, $t := .Normalized.Outputs}}
{{range $i, $t := .Normalized.Outputs}}
outstruct.{{.Name}} = *abi.ConvertType(out[{{$i}}], new({{bindtype .Type $structs}})).(*{{bindtype .Type $structs}}){{end}}

return *outstruct, err
Expand All @@ -335,7 +335,7 @@ var (
}
{{range $i, $t := .Normalized.Outputs}}
out{{$i}} := *abi.ConvertType(out[{{$i}}], new({{bindtype .Type $structs}})).(*{{bindtype .Type $structs}}){{end}}

return {{range $i, $t := .Normalized.Outputs}}out{{$i}}, {{end}} err
{{end}}
}
Expand Down Expand Up @@ -378,7 +378,7 @@ var (
}
{{end}}

{{if .Fallback}}
{{if .Fallback}}
// Fallback is a paid mutator transaction binding the contract fallback function.
//
// Solidity: {{.Fallback.Original.String}}
Expand All @@ -392,16 +392,16 @@ var (
func (_{{$contract.Type}} *{{$contract.Type}}Session) Fallback(calldata []byte) (*types.Transaction, error) {
return _{{$contract.Type}}.Contract.Fallback(&_{{$contract.Type}}.TransactOpts, calldata)
}

// Fallback is a paid mutator transaction binding the contract fallback function.
//
//
// Solidity: {{.Fallback.Original.String}}
func (_{{$contract.Type}} *{{$contract.Type}}TransactorSession) Fallback(calldata []byte) (*types.Transaction, error) {
return _{{$contract.Type}}.Contract.Fallback(&_{{$contract.Type}}.TransactOpts, calldata)
}
{{end}}

{{if .Receive}}
{{if .Receive}}
// Receive is a paid mutator transaction binding the contract receive function.
//
// Solidity: {{.Receive.Original.String}}
Expand All @@ -415,9 +415,9 @@ var (
func (_{{$contract.Type}} *{{$contract.Type}}Session) Receive() (*types.Transaction, error) {
return _{{$contract.Type}}.Contract.Receive(&_{{$contract.Type}}.TransactOpts)
}

// Receive is a paid mutator transaction binding the contract receive function.
//
//
// Solidity: {{.Receive.Original.String}}
func (_{{$contract.Type}} *{{$contract.Type}}TransactorSession) Receive() (*types.Transaction, error) {
return _{{$contract.Type}}.Contract.Receive(&_{{$contract.Type}}.TransactOpts)
Expand Down
Loading