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

Upstream from geth 1.13.5 #1106

Merged
merged 287 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
287 commits
Select commit Hold shift + click to select a range
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)
0xmuralik 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
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
5c6f4b9
cmd/utils: fix typo in comment (#28159)
phenix3443 Sep 19, 2023
5b9cbe3
cmd/clef: suppress fsnotify error if keydir not exists (#28160)
jsvisa Sep 20, 2023
545f4c5
core/rawdb: no need to run truncateFile for readonly mode (#28145)
jsvisa 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
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
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
4de89e9
core/vm: minor code formatting (#28199)
hzysvilla Sep 26, 2023
4021910
eth/downloader: typo in comment (#28196)
phenix3443 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
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
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
4e1e373
core/txpool/legacypool: fix typo (#28258)
hyunchel Oct 7, 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
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
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
aeb0abf
params: begin v1.13.5 release cycle
karalabe Oct 17, 2023
1b1611b
core, trie, eth: refactor stacktrie constructor (#28350)
rjl493456442 Oct 17, 2023
1f11d2d
ethclient: ensure the close of canceled context (#28349)
keroro520 Oct 17, 2023
f62502e
internal/ethapi, accounts/abi/bind: use `errors.Is` for error compari…
bnovil Oct 17, 2023
b85c860
api/bind: add CallOpts.BlockHash to allow calling contracts at a spec…
ajsutton Oct 17, 2023
20d5256
core/chain_makers: add SetParentBeaconRoot(..) to chain makers (#28252)
lightclient Oct 17, 2023
d782dc2
tests/fuzzers/les: fix crash in fuzzer (#28362)
MariusVanDerWijden Oct 17, 2023
da55b23
eth/fetcher: downgrade stale txs log from warn to debug (#28364)
lightclient Oct 17, 2023
d10a2f6
tests/fuzzers: update fuzzers to be based on go-native fuzzing (#28352)
MariusVanDerWijden Oct 18, 2023
ec1a050
rpc: increase timeout in TestClientWebsocketPing (#28371)
bnovil Oct 19, 2023
4d3c0d4
eth/filters: fix flaky test TestPendingTxFilterDeadlock (#28376)
s1na Oct 19, 2023
cd29535
crypto/blake2b: put architecture-dependent features behind build-tag …
MariusVanDerWijden Oct 19, 2023
c1d5a01
core/state, tests: fix memory leak via fastcache (#28387)
holiman Oct 20, 2023
a6a0ae4
crypto/kzg4844: use the new trusted setup file and format (#28383)
kevaundray Oct 22, 2023
ffc6a0f
event: fix Resubscribe deadlock when unsubscribing after inner sub en…
Inphi Oct 22, 2023
6c69821
core/state/pruner: track number of skipped items during state pruning…
aaronbuchwald Oct 23, 2023
54f35c6
ethstats: fix bug in block reporting (#28398)
Oct 23, 2023
062598b
core/blockchain: fix typos and grammar (#28295)
hyunchel Oct 23, 2023
3853f50
trie/triedb/pathdb, core/rawdb: enhance error message in freezer (#28…
rjl493456442 Oct 23, 2023
43e6a3c
graphql: return error if block from>to (#28393)
jsvisa Oct 23, 2023
ab04aeb
core, eth, trie: filter out boundary nodes and remove dangling nodes …
rjl493456442 Oct 23, 2023
a8617c6
txpool/legacypool: remove already known error in legacypool (#28400)
nothingmin Oct 23, 2023
300df87
cmd/evm: make t8ntool handle transaction decoding errors better (#28397)
holiman Oct 25, 2023
96b7503
trie: use explicit errors in stacktrie (instead of panic) (#28361)
holiman Oct 25, 2023
f7b62e5
graphql: logs return error if from block > to (#28412)
jsvisa Oct 25, 2023
d8c6ae0
rpc: use correct stringer-method for serializing BlockNumberOrHash (#…
ajsutton Oct 25, 2023
58ae1df
cmd/geth: test for logging-output (#28373)
holiman Oct 25, 2023
abe3fca
graphql: fix an issue of nil pointer panic (#28416)
jsvisa Oct 26, 2023
4cbca51
core, cmd/geth: add --override.* flags to geth init (#28407)
gballet Oct 27, 2023
2d7dba0
graphql: always set content-type to application/json (#28417)
jsvisa Oct 27, 2023
233db64
all: make vendored copy of reexec (#28382)
holiman Oct 27, 2023
ea2e66a
trie/triedb/pathdb: improve dirty node flushing trigger (#28426)
rjl493456442 Oct 31, 2023
447945e
core/rawdb: add logging and fix comments around AncientRange function…
jakub-freebit Oct 31, 2023
bc42e88
core: add basic chain history support in GenerateChain (#28428)
fjl Oct 31, 2023
285202a
cmd/evm: add --run option to blocktest command (#28421)
marioevz Oct 31, 2023
f4ac548
ethdb/pebble: cap memory table size as maxMemTableSize-1 (#28444)
rjl493456442 Oct 31, 2023
a3be381
core/vm: performance tweak of `OpCode.String()` (#28453)
lmittmann Nov 2, 2023
b1cec85
eth/tracers: add position field for callTracer logs (#28389)
alvarosevilla95 Nov 3, 2023
e91cdb4
ethclient: fix forwarding 1559 gas fields (#28462)
karalabe Nov 3, 2023
51b5ad3
.travis: enable cross building to macos arm64 (#28474)
karalabe Nov 7, 2023
97ae324
travis: use newer builder image (#28475)
karalabe Nov 7, 2023
f20b334
eth/filters: eth_getLogs fast exit for invalid block range (#28386)
jsvisa Nov 7, 2023
4d9f3cd
eth: set networkID to chainID by default (#28250)
MariusVanDerWijden Nov 7, 2023
470dba8
core/vm: set basefee to 0 internally on eth_call (#28470)
karalabe Nov 8, 2023
7ea860d
graphql: type of yParity from Long to BigInt (#28456)
jsvisa Nov 9, 2023
b77a9b1
cmd/geth: more testcases for logging (#28501)
holiman Nov 9, 2023
f7dde2a
ethdb/pebble: add `Errorf` function to panicLogger (#28491)
mcdee Nov 9, 2023
e38b9f1
eth/filters: exit early if topics-filter has more than 4 topics (#28494)
jsvisa Nov 10, 2023
326fa00
core/rawdb: fsync the index file after each freezer write (#28483)
rjl493456442 Nov 10, 2023
2f4833b
cmd/evm: allow state dump regardless if test passes in statetest (#28…
sorpaas Nov 10, 2023
ce5a480
ethclient: add empty/nonexist account testcase for eth_getProof RPC (…
jsvisa Nov 10, 2023
49b2c5f
build: upgrade -dlgo version to Go 1.21.4 (#28505)
sandakersmann Nov 10, 2023
f265cc2
cmd/geth: remove some whitespace in code and comments (#28148)
jsvisa Nov 10, 2023
916d6a4
params: release Geth v1.15.5
karalabe Nov 14, 2023
a9fa325
Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into s…
0xsharma Dec 15, 2023
8c088c7
fix : resolve static problems
0xsharma Dec 15, 2023
c0bf289
fix : testcases
0xsharma Jan 10, 2024
c816d0f
fix : TestWelcome genesis bug
0xsharma Jan 11, 2024
b479b20
Merge branch 'develop' into shivam/upstream-geth-1.13.5
0xsharma Jan 11, 2024
6a2d94e
fix : integration tests
0xsharma Jan 16, 2024
cb4a855
chg : go version in CI from 1.20.x to 1.21.x
0xsharma Jan 16, 2024
f2ea408
fix: testcases
manav2401 Jan 17, 2024
da02b7a
Merge branch 'develop' into shivam/upstream-geth-1.13.5
0xsharma Jan 18, 2024
65014b1
Merge branch 'develop' into shivam/upstream-geth-1.13.5
0xsharma Jan 19, 2024
fcd5002
fix : flags, FLOCK lock
0xsharma Jan 19, 2024
3f58da7
hot fix: block stm ParallelSpeculativeProcesses flag
pratikspatil024 Nov 24, 2023
3a9d153
fix: bootnode
anshalshukla Jan 29, 2024
0a3d419
fix: lint
anshalshukla Jan 29, 2024
5c8625c
Chg: Changed the maximum automatic rewind length from 256 to 126
VAIBHAVJINDAL3012 Jan 17, 2024
e4e713c
Merge pull request #1149 from maticnetwork/bootnode
temaniarpit27 Jan 30, 2024
2f02c00
update version
temaniarpit27 Jan 30, 2024
9ca58d4
Merge branch 'v1.2.4-beta-candidate' of github.com:maticnetwork/bor i…
temaniarpit27 Jan 30, 2024
5d34ab4
add cancun Block for mumbai
temaniarpit27 Jan 30, 2024
ece5093
fix : metrics expensive
0xsharma Feb 5, 2024
4008d5e
Merge branch 'develop' into shivam/upstream-geth-1.13.5
0xsharma Feb 8, 2024
7839c39
fix : callWithState
0xsharma Feb 8, 2024
e9916cb
fix : TestRPCGetTransactionReceiptsByBlock
0xsharma Feb 9, 2024
f5a51af
updated version to 1.2.5-beta
pratikspatil024 Feb 9, 2024
d193b95
hot fix in miner related to metadata calculation (#1159)
pratikspatil024 Feb 9, 2024
01740e4
Merge branch 'v1.2.5-beta-candidate' into shivam/upstream-geth-1.13.5
0xsharma Feb 12, 2024
017e688
rm : typecheck from golangci lint
0xsharma Feb 16, 2024
437e1d8
fix : lint
0xsharma Feb 16, 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
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Install dependencies on Linux
if: runner.os == 'Linux'
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Install dependencies on Linux
if: runner.os == 'Linux'
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Install dependencies on Linux
if: runner.os == 'Linux'
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Install dependencies on Linux
if: runner.os == 'Linux'
Expand Down Expand Up @@ -196,7 +196,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Checkout matic-cli
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/packager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@master
with:
go-version: 1.20.x
go-version: 1.21.x
- name: Adding TAG to ENV
run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@master
with:
go-version: 1.20.x
go-version: 1.21.x

- name: Prepare
id: prepare
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,6 @@ dist
.dccache

*.csv
logs/

tests/spec-tests/
50 changes: 25 additions & 25 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 @@ -62,7 +62,7 @@ jobs:
if: type = push
os: linux
dist: bionic
go: 1.20.x
go: 1.21.x
env:
- ubuntu-ppa
- GO111MODULE=on
Expand All @@ -87,10 +87,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 @@ -145,7 +144,7 @@ jobs:
- sdkmanager "platform-tools" "platforms;android-15" "platforms;android-19" "platforms;android-24" "ndk-bundle"

# Install Go to allow building with
- curl https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz | tar -xz
- curl https://dl.google.com/go/go1.21.4.linux-amd64.tar.gz | tar -xz
- export PATH=`pwd`/go/bin:$PATH
- export GOROOT=`pwd`/go
- export GOPATH=$HOME/go
Expand All @@ -159,47 +158,51 @@ jobs:
- stage: build
if: type = push
os: osx
go: 1.20.x
osx_image: xcode14.2
go: 1.21.x
env:
- azure-osx
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
script:
- go run build/ci.go install -dlgo
- go run build/ci.go archive -type tar -signer OSX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
- go run build/ci.go install -dlgo -arch arm64
- go run build/ci.go archive -arch arm64 -type tar -signer OSX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds

# These builders run the tests
- stage: build
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.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
os: linux
dist: bionic
go: 1.21.x
script:
- 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.18.x
go: 1.21.x
env:
- ubuntu-ppa
- GO111MODULE=on
git:
submodules: false # avoid cloning ethereum/tests
addons:
Expand All @@ -220,10 +223,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 @@ -234,9 +236,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.alltools
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build Geth in a stock Go builder container
FROM golang:1.20.5-alpine as builder
FROM golang:1.21.4-alpine as builder

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

Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ docs:
$(GORUN) cmd/clidoc/main.go -d ./docs/cli

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 Down Expand Up @@ -201,7 +201,7 @@ geth-windows-amd64:
@ls -ld $(GOBIN)/geth-windows-* | grep amd64

PACKAGE_NAME := github.com/maticnetwork/bor
GOLANG_CROSS_VERSION ?= v1.20.5
GOLANG_CROSS_VERSION ?= v1.21.4

.PHONY: release-dry-run
release-dry-run:
Expand Down
71 changes: 54 additions & 17 deletions accounts/abi/abi.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"errors"
"fmt"
"io"
"math/big"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
Expand Down Expand Up @@ -269,29 +270,65 @@
// 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
}

Check warning on line 307 in accounts/abi/abi.go

View check run for this annotation

Codecov / codecov/patch

accounts/abi/abi.go#L306-L307

Added lines #L306 - L307 were not covered by tests
unpacked, err := (Arguments{{Type: typ}}).Unpack(data[4:])
if err != nil {
return "", err
}

Check warning on line 311 in accounts/abi/abi.go

View check run for this annotation

Codecov / codecov/patch

accounts/abi/abi.go#L310-L311

Added lines #L310 - L311 were not covered by tests
return unpacked[0].(string), nil
case bytes.Equal(data[:4], panicSelector):
typ, err := NewType("uint256", "", nil)
if err != nil {
return "", err
}

Check warning on line 317 in accounts/abi/abi.go

View check run for this annotation

Codecov / codecov/patch

accounts/abi/abi.go#L316-L317

Added lines #L316 - L317 were not covered by tests
unpacked, err := (Arguments{{Type: typ}}).Unpack(data[4:])
if err != nil {
return "", err
}

Check warning on line 321 in accounts/abi/abi.go

View check run for this annotation

Codecov / codecov/patch

accounts/abi/abi.go#L320-L321

Added lines #L320 - L321 were not covered by tests
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 @@ -1277,6 +1277,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 {
Expand Down
15 changes: 15 additions & 0 deletions accounts/abi/bind/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ var (
// on a backend that doesn't implement PendingContractCaller.
ErrNoPendingState = errors.New("backend does not support pending state")

// ErrNoBlockHashState is raised when attempting to perform a block hash action
// on a backend that doesn't implement BlockHashContractCaller.
ErrNoBlockHashState = errors.New("backend does not support block hash state")

// ErrNoCodeAfterDeploy is returned by WaitDeployed if contract creation leaves
// an empty contract behind.
ErrNoCodeAfterDeploy = errors.New("no contract code after deployment")
Expand Down Expand Up @@ -64,6 +68,17 @@ type PendingContractCaller interface {
PendingCallContract(ctx context.Context, call ethereum.CallMsg) ([]byte, error)
}

// BlockHashContractCaller defines methods to perform contract calls on a specific block hash.
// Call will try to discover this interface when access to a block by hash is requested.
// If the backend does not support the block hash state, Call returns ErrNoBlockHashState.
type BlockHashContractCaller interface {
// CodeAtHash returns the code of the given account in the state at the specified block hash.
CodeAtHash(ctx context.Context, contract common.Address, blockHash common.Hash) ([]byte, error)

// CallContractAtHash executes an Ethereum contract all against the state at the specified block hash.
CallContractAtHash(ctx context.Context, call ethereum.CallMsg, blockHash common.Hash) ([]byte, error)
}

// ContractTransactor defines the methods needed to allow operating with a contract
// on a write only basis. Besides the transacting method, the remainder are helpers
// used when the user does not provide some needed values, but rather leaves it up
Expand Down
Loading
Loading