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

[Upgrade] Go-Ethereum release v1.10.4 #72

Draft
wants to merge 558 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
558 commits
Select commit Hold shift + click to select a range
aab3560
accounts: eip-712 signing for ledger (#22378)
MrChico Mar 22, 2021
0c70b83
all: add read-only option to database (#22407)
rjl493456442 Mar 22, 2021
8d6cc16
cmd/geth: check block range against chain head in export cmd (#22387)
s1na Mar 22, 2021
a31f6d5
core/state/snapshot: fix panic on missing parent
karalabe Mar 22, 2021
f304290
Merge pull request #22551 from karalabe/snapshot-parent-get-panic
karalabe Mar 22, 2021
477ec75
Merge pull request #22513 from holiman/no_snap_bloom
karalabe Mar 23, 2021
e862cbf
internal/web3ext, node: migrate node admin API (Start|Stop)RPC->HTTP …
meowsbits Mar 23, 2021
5129cdc
cmd/devp2p: skip ENR field tails properly in nodeset filter (#22565)
fjl Mar 24, 2021
15e6c27
p2p: fix minor typo and remove fd parameter in checkInboundConn (#22547)
terasum Mar 24, 2021
ab8fd4d
p2p/dnsdisc: rate limit resolving before checking cache (#22566)
fjl Mar 24, 2021
c5df05b
eth/protocols/snap: fix the flaws in the snap sync (#22553)
rjl493456442 Mar 24, 2021
0fda25e
eth/tracers, core: use scopecontext in tracers, provide statedb in ca…
holiman Mar 25, 2021
497448b
core: fix condition on header verification
holiman Mar 25, 2021
bed74b3
cmd/devp2p: fix comparison of TXT record value (#22572)
fjl Mar 25, 2021
4adf0b9
Merge pull request #22573 from holiman/checkfreq
karalabe Mar 25, 2021
54c0d57
eth: dump rpc gas cap and tx fee cap (#22574)
MariusVanDerWijden Mar 25, 2021
6d7ff6a
eth/protocols, metrics, p2p: add handler performance metrics
karalabe Mar 26, 2021
efe0229
Merge pull request #22581 from karalabe/network-latency-monitoring
karalabe Mar 26, 2021
2550e46
eth/protocols, metrics: use resetting histograms for rare packets
karalabe Mar 26, 2021
6477ea6
Merge pull request #22586 from karalabe/resettting-histogram
karalabe Mar 26, 2021
9557271
eth: fix corner case in sync head determination (#21695)
zouguangxian Mar 26, 2021
cae6b55
cmd/geth, consensus/ethash: add support for --miner.notify.full flag …
fjl Mar 26, 2021
62379f0
metrics/influxdb: don't push empty histograms, no measurement != 0
karalabe Mar 26, 2021
063f78c
Merge pull request #22590 from karalabe/nil-histogram
karalabe Mar 26, 2021
099be04
eth/protocols/snap: add peer id and req id to the timeout logs
karalabe Mar 26, 2021
e7f3962
Merge pull request #22591 from karalabe/snap-detailed-timeout-logs
karalabe Mar 26, 2021
27056f6
cmd/devp2p: update to newer cloudflare API client (#22588)
fjl Mar 26, 2021
76700ac
core/state/pruner: move the compaction out of the pruning procedure (…
rjl493456442 Mar 29, 2021
7644795
eth/protocols/snap: try to prevent requests timing out
holiman Mar 29, 2021
b6912c1
core: add BlockGen.GetBalance method (#22589)
renaynay Mar 29, 2021
24588ba
cmd/puppeth: specify working directory for nodejs 15 (#22549)
MariusVanDerWijden Mar 29, 2021
43a3768
Merge pull request #22596 from holiman/snap_timelimits
karalabe Mar 30, 2021
59ac3c9
cmd/geth: add db dumptrie command (#22563)
holiman Mar 30, 2021
44fe466
core/vm: fix Byzantium address list (#22603)
nebojsa94 Mar 30, 2021
3faae5d
ethstats: avoid creating subscriptions on background goroutine (#22587)
MariusVanDerWijden Mar 30, 2021
61ff3e8
core/state/snapshot, ethdb: track deletions more accurately (#22582)
karalabe Mar 30, 2021
4a37ae5
rpc: tighter shutdown synchronization in client subscription (#22597)
fjl Mar 30, 2021
55300d4
all: fix miner hashRate -> hashrate on API calls
karalabe Mar 31, 2021
73ed689
Merge pull request #22604 from karalabe/hashrate-capitalization-fix
karalabe Mar 31, 2021
c79fc20
core/state/snapshot: fix data race in diff layer (#22540)
fxfactorial Apr 6, 2021
706683e
internal/ethapi: fix eth_chainId method (#22243)
piersy Apr 6, 2021
adf09ae
graphql: add support for tx types and tx access lists (#22491)
AmitBRD Apr 6, 2021
5338ce4
internal/debug: add JSON log format and rename logging flags (#22341)
s1na Apr 6, 2021
95219ae
cmd/utils: move cache sanity check to SetEthConfig (#22510)
petesimard Apr 6, 2021
e275b1a
consensus/ethash: replace a magic number with it's constant (#22618)
Evolution404 Apr 6, 2021
2d89fe0
les: move client pool to les/vflux/server (#22495)
zsfelfoldi Apr 6, 2021
a600dab
eth, les: fix tracers (#22473)
rjl493456442 Apr 7, 2021
9d10856
core, eth, internal/ethapi: create access list RPC API (#22550)
MariusVanDerWijden Apr 7, 2021
2a7c4b6
eth: fix tracing state retrieval if requesting the non-dirty genesis
karalabe Apr 7, 2021
264fff7
Merge pull request #22629 from karalabe/fix-chain-tracing-from-0
karalabe Apr 7, 2021
e3ff37c
params: update CHTs for v1.10.2
karalabe Apr 8, 2021
a665f5d
Merge pull request #22632 from karalabe/cht-1.10.2
karalabe Apr 8, 2021
97d11b0
params: release go-ethereum v1.10.2 stable
fjl Apr 8, 2021
04dcc93
params: begin v1.10.3 release cycle
fjl Apr 8, 2021
fe1586b
eth, les: drop support for eth/64, fix eth/66 tests
karalabe Apr 8, 2021
9c653ff
Merge pull request #22636 from karalabe/drop-eth64
karalabe Apr 9, 2021
6c27d8f
accounts: documentation fixes (#22645)
balajipachai Apr 13, 2021
271e5b7
cmd/geth: add db-command to inspect freezer index (#22633)
holiman Apr 13, 2021
72e3794
cmd/faucet: support testnet flags in the faucet (#22545)
maxsam4 Apr 13, 2021
a50251e
eth/fetcher: avoid spurious timer events at startup (#22652)
r1cs Apr 14, 2021
7088f1e
core, eth: faster snapshot generation (#22504)
rjl493456442 Apr 14, 2021
d5e5794
core/types: drop some relice data types
karalabe Apr 14, 2021
d8ff53d
Merge pull request #22666 from karalabe/remove-stale-datatype
karalabe Apr 14, 2021
1e20734
all: make logs a bit easier on the eye to digest (#22665)
karalabe Apr 15, 2021
9553c98
eth/protocols/snap: use ephemeral channels to avoid cross-sync delveries
karalabe Apr 15, 2021
3cfd0fe
core: add TestGenesisHashes and fix YoloV3 (#22559)
meowsbits Apr 15, 2021
fda93f6
log: fix formatting of big.Int (#22679)
fjl Apr 16, 2021
f8afb68
Merge pull request #22678 from karalabe/snap-ephemeral-channels
karalabe Apr 16, 2021
65689e7
les/vflux/server: fix priority cornercase causing fuzzer timeout (#22…
zsfelfoldi Apr 16, 2021
4f3ba67
trie: make stacktrie not mutate input values (#22673)
holiman Apr 16, 2021
09d44e9
core/state/snapshot: avoid copybytes for stacktrie
holiman Apr 16, 2021
f79cce5
eth/catalyst: add catalyst API prototype (#22641)
gballet Apr 16, 2021
e43ac53
Merge pull request #22686 from holiman/minor_fixes
karalabe Apr 18, 2021
4246565
cmd/devp2p: add support for -limit option in nodeset filter command (…
fjl Apr 19, 2021
653b7e9
cmd/devp2p: add dns nuke-route53 command (#22695)
fjl Apr 19, 2021
d6ffa14
core: nuke legacy snapshot supporting (#22663)
rjl493456442 Apr 20, 2021
d7bfb97
ethash: no block reward in catalyst mode (#22697)
gballet Apr 20, 2021
581539c
trie: make stacktrie support binary marshal/unmarshal (#22685)
holiman Apr 20, 2021
beee6b7
go.mod: upgrade gopsutils to v3.21.4 (#22693)
gballet Apr 20, 2021
cc33398
tests: disable blockchain tests based on general state tests (#22704)
holiman Apr 20, 2021
dd9c322
eth, internal: extend the TraceCall API (#22245)
rjl493456442 Apr 21, 2021
96828c9
eth/tracers, internal/ethapi: fix typos causing lint issue (#22711)
rjl493456442 Apr 21, 2021
3e68d62
les: fix goroutine leaks in tests (#22707)
holiman Apr 21, 2021
4b783c0
trie: improve the node iterator seek operation (#22470)
holiman Apr 21, 2021
67da83a
accounts/external, signer/core: add support for EIP-2930 transactions…
holiman Apr 21, 2021
9357280
rpc: add HTTPError type for HTTP error responses (#22677)
Apr 21, 2021
1fb9a6d
eth/protocols, prp/tracker: add support for req/rep rtt tracking (#22…
karalabe Apr 22, 2021
ea54c58
cmd/devp2p/internal/ethtest: run test suite as Go unit test (#22698)
renaynay Apr 23, 2021
49281ab
core/state/snapshot, true: reuse dirty data instead of hitting disk w…
holiman Apr 23, 2021
cac1b21
cmd/devp2p/internal/ethtest: add more tx propagation tests (#22630)
renaynay Apr 23, 2021
34f3c95
p2p/discover: improve discv5 handling of IPv4-in-IPv6 addresses (#22703)
nisdas Apr 23, 2021
83375b0
core: remove old conversion to shuffle leveldb blocks into ancients
holiman Apr 26, 2021
9b99e3d
core/rawdb: fix datarace in freezer (#22728)
holiman Apr 26, 2021
854f068
les: polish code (#22625)
rjl493456442 Apr 27, 2021
a3f0da1
build: upgrade to golangci-lint v1.39.0 (#22696)
fjl Apr 27, 2021
85a0bab
Merge pull request #21467 from holiman/minor_ethashfix
karalabe Apr 27, 2021
ad983b3
cmd/puppeth: add support for authentication via ssh agent (#22634)
lightclient Apr 27, 2021
a0a99e6
build: upgrade -dlgo version to Go 1.16.3 (#22746)
fjl Apr 27, 2021
65a1c2d
core/vm: make gas cost reporting to tracers correct (#22702)
holiman Apr 27, 2021
caea6c4
eth/protocols/snap: generate storage trie from full dirty snap data (…
karalabe Apr 27, 2021
45fca44
p2p/tracker: properly clean up fulfilled requests
holiman Apr 27, 2021
55043ee
Merge pull request #22751 from holiman/tracker_fix
karalabe Apr 27, 2021
ff3535e
p2p/tracker: only reschedule wake if previous didn't run
karalabe Apr 27, 2021
d9c9ee5
Merge pull request #22753 from karalabe/p2p-tracker-stopfix
karalabe Apr 27, 2021
0c99868
cmd/devp2p, eth/protocols/eth: fix tests + make sanity checks earlier…
holiman Apr 28, 2021
256c5d6
eth/gasprice: improve stability of estimated price (#22722)
GregTheGreek Apr 28, 2021
9e5bb84
tests/fuzzers: crypto/bn256 and crypto/bls12381 tests against gnark-c…
gbotrel Apr 28, 2021
6d7c956
les, tests: fix les clientpool (#22756)
rjl493456442 Apr 28, 2021
558bff4
eth/protocols/snap: lower the packet size to avoid overloading link
karalabe Apr 28, 2021
e4270ca
cmd/devp2p: fix flaky SameRequestID test (#22754)
renaynay Apr 28, 2021
abb6cfa
Merge pull request #22761 from karalabe/snap-small-packets
karalabe Apr 28, 2021
a81cf0d
trie: remove redundant returns + use stacktrie where applicable (#22760)
holiman Apr 28, 2021
fae165a
core, eth, ethdb, trie: simplify range proofs
karalabe Apr 28, 2021
64b60c7
Merge pull request #22762 from karalabe/snap-lower-complexity
karalabe Apr 29, 2021
06f44c0
eth: restore eth_hashrate API endpoint
karalabe Apr 29, 2021
871f50b
Merge pull request #22765 from karalabe/revert-eth-hashrate
karalabe Apr 29, 2021
c7d0729
catalyst: check if block exists in assemble-block call with unknown p…
protolambda Apr 29, 2021
793c8f8
add myself as code owner for catalyst (#22778)
gballet Apr 29, 2021
56f533d
docs: fix docstring on read head block (#22776)
aaronbuchwald Apr 29, 2021
63bad18
evm: remove unused errors left after EIP-2315 removal (#22767)
chfast Apr 29, 2021
b50b17a
github: add note about screenshots in issue template (#22764)
ligi Apr 29, 2021
bb43cd7
core/types: add license header (#22781)
aaronbuchwald Apr 29, 2021
8130dd5
core/vm: fix typo in comment (#22785)
aaronbuchwald Apr 30, 2021
1e57ab5
core: remove unused else branch in reorg (#22783)
aaronbuchwald Apr 30, 2021
dde6cb0
core/vm: replace repeated string with variable in tests (#22774)
aaronbuchwald Apr 30, 2021
b778e37
core: fix typo in comment (#22773)
aaronbuchwald Apr 30, 2021
ff75b21
README.md: update commands table, add note about web3.js version (#22…
holiman Apr 30, 2021
f66f1a1
eth/filters: fix comment on PublicFilterAPI timeoutLoop (#22782)
aaronbuchwald Apr 30, 2021
bbb57fd
core/state: remove toAddr helper in tests (#22772)
aaronbuchwald Apr 30, 2021
745757a
core, eth: abort snapshot generation on snap sync and resume later
karalabe Apr 29, 2021
8681a25
Merge pull request #22777 from karalabe/snapshots-abort-resume-on-sync
karalabe Apr 30, 2021
52b5d2d
eth/protocols/snap: use storage batch, not account batch in st task
karalabe Apr 30, 2021
afc1abd
Merge pull request #22789 from karalabe/snap-fix-batch
karalabe Apr 30, 2021
8ff9810
cmd/devp2p: fix flakey tests in CI (#22757)
renaynay Apr 30, 2021
0e00ee4
core/vm: clean up contract creation error handling (#22766)
chfast May 1, 2021
ca9c576
core/vm: fix interpreter comments (#22797)
aaronbuchwald May 3, 2021
afb097e
params: remove dependency on crypto (#22788)
fjl May 3, 2021
8f94fc2
cmd/utils: don't crash on nonexistent datadir (#22738)
MariusVanDerWijden May 3, 2021
fc1c1cb
Merge pull request #22739 from holiman/remove_code
karalabe May 3, 2021
856c379
eth: don't print db upgrade warning on db init
karalabe May 3, 2021
640d2c5
Merge pull request #22803 from karalabe/silence-scary-warning
karalabe May 4, 2021
b8040a4
cmd/utils: use eth DNS tree for snap discovery (#22808)
fjl May 4, 2021
effaf18
build: improve cross compilation setup (#22804)
fjl May 4, 2021
d107f90
go.mod: go mod tidy (#22814)
fjl May 4, 2021
973ad66
build: fix iOS framework build (#22813)
fjl May 4, 2021
3a2b29c
appveyor.yml: upgrade to VisualStudio 2019 image (#22811)
fjl May 4, 2021
41671d4
build: fix windows installer build for NSIS v3.05 (#22821)
fjl May 5, 2021
0f3a1e7
cmd/devp2p/internal/ethtest: send simultaneous requests on one connec…
renaynay May 5, 2021
991384a
params: go-ethereum v1.10.3 stable
fjl May 5, 2021
37b5595
params: begin v1.10.4 release cycle
fjl May 5, 2021
df20b3b
core/vm: avoid duplicate log in json logger (#22825)
JekaMas May 6, 2021
cc606be
all: define London+baikal, undefine yolov3, add london override flag …
holiman May 6, 2021
e69130d
core/vm, params: implement EIP 3541
chfast Apr 29, 2021
e77ef8f
Merge pull request #22809 from holiman/alt_3541
karalabe May 7, 2021
a5669ae
core, params: implement EIP-3529 (#22733)
holiman May 7, 2021
8a070e8
consensus/clique: add some missing checks (#22836)
holiman May 7, 2021
17b1be2
consensus/ethash: implement EIP-3554 (bomb delay)
holiman May 7, 2021
700df14
rlp: add support for optional struct fields (#22832)
fjl May 7, 2021
7ab7acf
build: upgrade -dlgo version to Go 1.16.4 (#22848)
sandakersmann May 10, 2021
f19a679
cmd/geth: remove reference to monitor command (#22844)
Ceelog May 10, 2021
ae5fcdc
go.mod: upgrade to github.com/holiman/uint256 v1.2.0 (#22745)
holiman May 10, 2021
c0e201b
eth/protocols/eth, les: avoid Raw() when decoding HashOrNumber (#22841)
fjl May 10, 2021
e536bb5
eth/protocols/snap: adapt to uint256 API changes (#22851)
fjl May 10, 2021
643fd0e
core/types: remove support for legacy receipt/log storage encoding (#…
fjl May 11, 2021
ca98080
cmd/geth, eth/gasprice: add configurable threshold to gas price oracl…
ryanschneider May 11, 2021
0524ced
eth/tracers: do the JSON serialization via .js to capture C faults
karalabe May 11, 2021
f34f749
Merge pull request #22857 from karalabe/tracer-stack-fix-2
karalabe May 11, 2021
a2c456a
core: ensure a broken trie invariant crashes genesis creation (#22780)
gballet May 11, 2021
1cca781
Merge pull request #22840 from holiman/eip_3554
karalabe May 12, 2021
addd882
cmd/geth, eth, core: snapshot dump + unify with trie dump (#22795)
holiman May 12, 2021
597ecb3
cmd/evm: return json error if unmarshalling from stdin fails (#22871)
lightclient May 17, 2021
14bc6e5
consensus/ethash: change eip3554 from 9.5M to 9.7M (#22870)
holiman May 17, 2021
94451c2
all: implement EIP-1559 (#22837)
holiman May 17, 2021
67e7f61
core: fix failing tests (#22888)
holiman May 17, 2021
bb9f9cc
core/rawdb: wait for background freezing to exit when closing freezer…
holiman May 17, 2021
b7a9166
core/asm: fix the bug of "00" prefix number (#22883)
Evolution404 May 18, 2021
32c1ed8
core/forkid: fix off-by-one bug (#22879)
sjb933 May 18, 2021
3e6f46c
p2p/discover/v4wire: use optional RLP field for EIP-868 seq (#22842)
fjl May 18, 2021
088da24
rlp: improve decoder stream implementation (#22858)
fjl May 18, 2021
b3a1fda
cmd/utils: expand tilde in --jspath (#22900)
lightclient May 18, 2021
3e79588
eth, p2p/msgrate: move peer QoS tracking to its own package and use i…
karalabe May 19, 2021
16bc574
p2p/dnsdisc: fix crash when iterator closed before first call to Next…
fjl May 20, 2021
a6c4627
EIP-1559: miner changes (#22896)
holiman May 21, 2021
81662fe
core/rawdb: handle prefix in table.compact method (#22911)
Evolution404 May 21, 2021
835fe06
les: generate random nums directly, not via strange conversions
karalabe May 21, 2021
6bc7278
Merge pull request #22921 from karalabe/les-simplify-reqids
karalabe May 21, 2021
59f259b
miner/stress: update stress tests (#22919)
rjl493456442 May 21, 2021
0d076d9
rlp: use atomic.Value for type cache (#22902)
fjl May 22, 2021
154ca32
rlp: optimize byte array handling (#22924)
fjl May 22, 2021
93407b1
core: make txpool free space calculation more accurate (#22933)
basdevelop May 24, 2021
017cf71
rlp, tests/fuzzers/bls12381: gofmt (#22937)
ucwong May 25, 2021
4d33de9
rlp: optimize big.Int decoding for size <= 32 bytes (#22927)
fjl May 25, 2021
836c647
eth: unregister peer only when handler exits (#22908)
fjl May 25, 2021
51b32cc
internal/ethapi: merge CallArgs and SendTxArgs (#22718)
rjl493456442 May 25, 2021
750115f
p2p/nat: skip TestUPNP in non-CI environments if discover fails (#22877)
meowsbits May 25, 2021
6c7d6cf
tests: get test name from testing.T (#22941)
jn-lp May 25, 2021
49bde05
cmd/devp2p: refactor eth test suite (#22843)
renaynay May 25, 2021
10962b6
ethstats: fix URL parser for '@' or ':' in node name/password (#21640)
meowsbits May 25, 2021
05dab7f
internal/ethapi: remove unused vm.Config parameter of DoCall (#22942)
aaronbuchwald May 26, 2021
c73652d
core/state/snapshot: fix flaky tests (#22944)
rjl493456442 May 26, 2021
5869789
ethstats: fix typo in comment (#22952)
stnbu May 26, 2021
2e7714f
cmd/utils: avoid large alloc in --dev mode (#22949)
holiman May 27, 2021
7194c84
p2p/rlpx: reduce allocation and syscalls (#22899)
fjl May 27, 2021
d836ad1
cmd/devp2p/internal/ethtest: add block hash announcement test (#22535)
renaynay May 27, 2021
0703ef6
crypto/secp256k1: fix undefined behavior in BitCurve.Add (#22621)
MariusVanDerWijden May 27, 2021
4271751
p2p/msgrate: return capacity as integer, clamp to max uint32 (#22943)
fjl May 27, 2021
04cb5e2
cmd/puppeth: remove outdated mist support (#22940)
MariusVanDerWijden May 27, 2021
ee35ddc
cmd/devp2p/internal/ethtest: ignore block announcement in tx test (#2…
fjl May 27, 2021
966ee3a
all: EIP-1559 tx pool support (#22898)
zsfelfoldi May 28, 2021
2d716c4
core: add new eip-1559 tx constraints (#22970)
zsfelfoldi May 30, 2021
08ea52e
cmd/geth, core, params: replace baikal with calaveras (#22972)
holiman May 31, 2021
9aaa420
eth/ethconfig: flip the default from fast to snap sync
karalabe May 31, 2021
2cde472
core/state: fix typos in test error message (#22962)
gballet May 31, 2021
2dee319
metrics: use golang.org/x/sys/unix to support Solaris (#22584)
dokterbob Jun 1, 2021
5cff975
core, eth, internal, les: RPC methods and fields for EIP 1559 (#22964)
holiman Jun 2, 2021
7760a60
Merge pull request #22973 from karalabe/the-switch
karalabe Jun 3, 2021
216ed05
cmd/faucet: disable flaky facebook test (#22988)
holiman Jun 3, 2021
3094e7f
catalyst: runs every transaction in a snapshot in assembleBlock handl…
rjl493456442 Jun 3, 2021
7e915ee
core, eth, miner: enforce configured mining reward post 1559 too
karalabe Jun 4, 2021
71ff65b
miner/stress: add stress test for eip 1559 (#22930)
rjl493456442 Jun 4, 2021
92b8f28
Merge pull request #22995 from karalabe/enforce-miner-tip
karalabe Jun 4, 2021
08379b5
trie: remove the duplicate batch-write for 'preimage' (#23001)
Evolution404 Jun 7, 2021
0e9c7d5
tests: update for London (#22976)
holiman Jun 7, 2021
ddeeb89
go.mod: upgrade to fastcache v1.6.0 (#22982)
ucwong Jun 8, 2021
248572e
core/rawdb: db inspect move 'config' and 'shutdown' into 'meta data' …
Evolution404 Jun 8, 2021
f763846
core: make genesis parse baseFee correctly
holiman Jun 8, 2021
c503f98
all: rename internal 1559 gas fields, add support for graphql (#23010)
karalabe Jun 8, 2021
7a00378
cmd/clef, signer: support for eip-1559 txs in clef (#22966)
holiman Jun 9, 2021
f68a68a
core, internal: support various eth_call invocations post 1559
karalabe Jun 10, 2021
be1267c
eth/ethconfig: bump the RPC gas cap to 50M, since 1559 exceeds 25
karalabe Jun 10, 2021
1fc0eba
Merge pull request #23028 from karalabe/1559-rpcgascap
karalabe Jun 10, 2021
a2ea537
common: rename unused function with typo (#23025)
paularmand Jun 10, 2021
eff998e
Merge pull request #23027 from karalabe/1559-call
karalabe Jun 11, 2021
ccf53da
Merge pull request #23013 from holiman/genesis_fix
karalabe Jun 14, 2021
1d57f22
accounts/abi/bind/backends: add simulated reorgs (#22624)
ggwpez Jun 14, 2021
8a4460c
core: change baseFee into baseFeePerGas in genesis json
holiman Jun 14, 2021
7530803
Merge pull request #23039 from holiman/basefeepergas
karalabe Jun 14, 2021
087ed9c
params, core/forkid: add london testnet blocks (#23041)
holiman Jun 14, 2021
7a7abe3
accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#2…
karalabe Jun 15, 2021
cdb9fef
params: bump CHTs for Geth v1.10.4
karalabe Jun 16, 2021
0aadb49
Merge pull request #23051 from karalabe/cht-1.10.4
karalabe Jun 16, 2021
aa69d36
core, graphql, internal: expose effectiveGasPrice in receipts
karalabe Jun 16, 2021
ae315ef
Merge pull request #23050 from karalabe/1559-receipt-rpc
karalabe Jun 16, 2021
080b6eb
core/vm: evm fix panic (#23047)
holiman Jun 16, 2021
a675c89
core: readded state processor error tests (#23055)
MariusVanDerWijden Jun 16, 2021
90ffcfd
travis, build: own docker builder and hub pusher
karalabe Jun 17, 2021
b28f8c0
Merge pull request #23060 from karalabe/travis-docker
karalabe Jun 17, 2021
40a11d6
travis: don't overwrite amd64 images with arm64
karalabe Jun 17, 2021
e1f244a
Merge pull request #23061 from karalabe/docker-noarm
karalabe Jun 17, 2021
aa637fd
params: release go-ethereum v1.10.4 stable
fjl Jun 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
les, tests: fix les clientpool (#22756)
* les, tests: fix les clientpool

* tests: disable debug mode

* les: polish code
  • Loading branch information
rjl493456442 authored Apr 28, 2021
commit 6d7c9566df5d0dcb0797ef505db91287fa9ac7ce
7 changes: 3 additions & 4 deletions les/vflux/server/clientpool.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,12 +239,11 @@ func (cp *ClientPool) SetCapacity(node *enode.Node, reqCap uint64, bias time.Dur
maxTarget = curve.maxCapacity(func(capacity uint64) int64 {
return balance.estimatePriority(capacity, 0, 0, bias, false)
})
if maxTarget <= capacity {
if maxTarget < reqCap {
return
}
if maxTarget > reqCap {
maxTarget = reqCap
}
maxTarget = reqCap

// Specify a narrow target range that allows a limited number of fine step
// iterations
minTarget = maxTarget - maxTarget/20
Expand Down
76 changes: 61 additions & 15 deletions tests/fuzzers/vflux/clientpool-fuzzer.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,22 @@ import (
"github.com/ethereum/go-ethereum/ethdb/memorydb"
"github.com/ethereum/go-ethereum/les/vflux"
vfs "github.com/ethereum/go-ethereum/les/vflux/server"
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/p2p/enode"
"github.com/ethereum/go-ethereum/p2p/enr"
"github.com/ethereum/go-ethereum/rlp"
)

var (
debugMode = false
doLog = func(msg string, ctx ...interface{}) {
if !debugMode {
return
}
log.Info(msg, ctx...)
}
)

type fuzzer struct {
peers [256]*clientPeer
disconnectList []*clientPeer
Expand Down Expand Up @@ -65,6 +76,7 @@ func (p *clientPeer) InactiveAllowance() time.Duration {
}

func (p *clientPeer) UpdateCapacity(newCap uint64, requested bool) {
origin, originTotal := p.capacity, p.fuzzer.activeCap
p.fuzzer.activeCap -= p.capacity
if p.capacity != 0 {
p.fuzzer.activeCount--
Expand All @@ -74,16 +86,19 @@ func (p *clientPeer) UpdateCapacity(newCap uint64, requested bool) {
if p.capacity != 0 {
p.fuzzer.activeCount++
}
doLog("Update capacity", "peer", p.node.ID(), "origin", origin, "cap", newCap, "origintotal", originTotal, "total", p.fuzzer.activeCap, "requested", requested)
}

func (p *clientPeer) Disconnect() {
origin, originTotal := p.capacity, p.fuzzer.activeCap
p.fuzzer.disconnectList = append(p.fuzzer.disconnectList, p)
p.fuzzer.activeCap -= p.capacity
if p.capacity != 0 {
p.fuzzer.activeCount--
}
p.capacity = 0
p.balance = nil
doLog("Disconnect", "peer", p.node.ID(), "origin", origin, "origintotal", originTotal, "total", p.fuzzer.activeCap)
}

func newFuzzer(input []byte) *fuzzer {
Expand Down Expand Up @@ -165,25 +180,33 @@ func (f *fuzzer) randomFactors() vfs.PriceFactors {
}
}

func (f *fuzzer) connectedBalanceOp(balance vfs.ConnectedBalance) {
func (f *fuzzer) connectedBalanceOp(balance vfs.ConnectedBalance, id enode.ID) {
switch f.randomInt(3) {
case 0:
balance.RequestServed(uint64(f.randomTokenAmount(false)))
cost := uint64(f.randomTokenAmount(false))
balance.RequestServed(cost)
doLog("Serve request cost", "id", id, "amount", cost)
case 1:
balance.SetPriceFactors(f.randomFactors(), f.randomFactors())
posFactor, negFactor := f.randomFactors(), f.randomFactors()
balance.SetPriceFactors(posFactor, negFactor)
doLog("Set price factor", "pos", posFactor, "neg", negFactor)
case 2:
balance.GetBalance()
balance.GetRawBalance()
balance.GetPriceFactors()
}
}

func (f *fuzzer) atomicBalanceOp(balance vfs.AtomicBalanceOperator) {
func (f *fuzzer) atomicBalanceOp(balance vfs.AtomicBalanceOperator, id enode.ID) {
switch f.randomInt(3) {
case 0:
balance.AddBalance(f.randomTokenAmount(true))
amount := f.randomTokenAmount(true)
balance.AddBalance(amount)
doLog("Add balance", "id", id, "amount", amount)
case 1:
balance.SetBalance(uint64(f.randomTokenAmount(false)), uint64(f.randomTokenAmount(false)))
pos, neg := uint64(f.randomTokenAmount(false)), uint64(f.randomTokenAmount(false))
balance.SetBalance(pos, neg)
doLog("Set balance", "id", id, "pos", pos, "neg", neg)
case 2:
balance.GetBalance()
balance.GetRawBalance()
Expand Down Expand Up @@ -212,33 +235,53 @@ func FuzzClientPool(input []byte) int {
case 0:
i := int(f.randomByte())
f.peers[i].balance = pool.Register(f.peers[i])
doLog("Register peer", "id", f.peers[i].node.ID())
case 1:
i := int(f.randomByte())
f.peers[i].Disconnect()
doLog("Disconnect peer", "id", f.peers[i].node.ID())
case 2:
f.maxCount = uint64(f.randomByte())
f.maxCap = uint64(f.randomByte())
f.maxCap *= f.maxCap

count, cap := pool.Limits()
pool.SetLimits(f.maxCount, f.maxCap)
doLog("Set limits", "maxcount", f.maxCount, "maxcap", f.maxCap, "origincount", count, "oricap", cap)
case 3:
bias := f.randomDelay()
pool.SetConnectedBias(f.randomDelay())
doLog("Set connection bias", "bias", bias)
case 4:
pool.SetDefaultFactors(f.randomFactors(), f.randomFactors())
pos, neg := f.randomFactors(), f.randomFactors()
pool.SetDefaultFactors(pos, neg)
doLog("Set default factors", "pos", pos, "neg", neg)
case 5:
pool.SetExpirationTCs(uint64(f.randomInt(50000)), uint64(f.randomInt(50000)))
pos, neg := uint64(f.randomInt(50000)), uint64(f.randomInt(50000))
pool.SetExpirationTCs(pos, neg)
doLog("Set expiration constants", "pos", pos, "neg", neg)
case 6:
if _, err := pool.SetCapacity(f.peers[f.randomByte()].node, uint64(f.randomByte()), f.randomDelay(), f.randomBool()); err == vfs.ErrCantFindMaximum {
var (
index = f.randomByte()
reqCap = uint64(f.randomByte())
bias = f.randomDelay()
requested = f.randomBool()
)
if _, err := pool.SetCapacity(f.peers[index].node, reqCap, bias, requested); err == vfs.ErrCantFindMaximum {
panic(nil)
}
doLog("Set capacity", "id", f.peers[index].node.ID(), "reqcap", reqCap, "bias", bias, "requested", requested)
case 7:
if balance := f.peers[f.randomByte()].balance; balance != nil {
f.connectedBalanceOp(balance)
index := f.randomByte()
if balance := f.peers[index].balance; balance != nil {
f.connectedBalanceOp(balance, f.peers[index].node.ID())
}
case 8:
pool.BalanceOperation(f.peers[f.randomByte()].node.ID(), f.peers[f.randomByte()].freeID, func(balance vfs.AtomicBalanceOperator) {
index := f.randomByte()
pool.BalanceOperation(f.peers[index].node.ID(), f.peers[index].freeID, func(balance vfs.AtomicBalanceOperator) {
count := f.randomInt(4)
for i := 0; i < count; i++ {
f.atomicBalanceOp(balance)
f.atomicBalanceOp(balance, f.peers[index].node.ID())
}
})
case 9:
Expand Down Expand Up @@ -272,13 +315,16 @@ func FuzzClientPool(input []byte) int {

for _, peer := range f.disconnectList {
pool.Unregister(peer)
doLog("Unregister peer", "id", peer.node.ID())
}
f.disconnectList = nil
if d := f.randomDelay(); d > 0 {
clock.Run(d)
}
//fmt.Println(f.activeCount, f.maxCount, f.activeCap, f.maxCap)
if activeCount, activeCap := pool.Active(); activeCount != f.activeCount || activeCap != f.activeCap {
doLog("Clientpool stats in fuzzer", "count", f.activeCap, "maxcount", f.maxCount, "cap", f.activeCap, "maxcap", f.maxCap)
activeCount, activeCap := pool.Active()
doLog("Clientpool stats in pool", "count", activeCount, "cap", activeCap)
if activeCount != f.activeCount || activeCap != f.activeCap {
panic(nil)
}
if f.activeCount > f.maxCount || f.activeCap > f.maxCap {
Expand Down
3 changes: 3 additions & 0 deletions tests/fuzzers/vflux/debug/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,13 @@ import (
"io/ioutil"
"os"

"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/tests/fuzzers/vflux"
)

func main() {
log.Root().SetHandler(log.LvlFilterHandler(log.LvlTrace, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))

if len(os.Args) != 2 {
fmt.Fprintf(os.Stderr, "Usage: debug <file>\n")
fmt.Fprintf(os.Stderr, "Example\n")
Expand Down