Martin Holst Swende
6ec1561044
eth: implement eth66 ( #22241 )
...
* eth/protocols/eth: split up the eth protocol handlers
* eth/protocols/eth: define eth-66 protocol messages
* eth/protocols/eth: poc implement getblockheaders on eth/66
* eth/protocols/eth: implement remaining eth-66 handlers
* eth/protocols: define handler map for eth 66
* eth/downloader: use protocol constants from eth package
* eth/protocols/eth: add ETH66 capability
* eth/downloader: tests for eth66
* eth/downloader: fix error in tests
* eth/protocols/eth: use eth66 for outgoing requests
* eth/protocols/eth: remove unused error type
* eth/protocols/eth: define protocol length
* eth/protocols/eth: fix pooled tx over eth66
* protocols/eth/handlers: revert behavioural change which caused tests to fail
* eth/downloader: fix failing test
* eth/protocols/eth: add testcases + fix flaw with header requests
* eth/protocols: change comments
* eth/protocols/eth: review fixes + fixed flaw in RequestOneHeader
* eth/protocols: documentation
* eth/protocols/eth: review concerns about types
2021-02-18 18:54:29 +02:00
Martin Holst Swende
b1835b3855
node: always show websocket url in logs ( #22307 )
2021-02-18 10:40:19 +01:00
Or Neeman
9ec32a9e7b
rlp: handle case of normal EOF in Stream.readFull ( #22336 )
...
io.Reader may return n > 0 and io.EOF at the end of the input stream.
readFull did not handle this correctly, looking only at the error. This fixes
it to check for n == len(buf) as well.
2021-02-18 10:19:49 +01:00
Martin Holst Swende
52e5c38aa5
core/state: copy the snap when copying the state ( #22340 )
...
* core/state: copy the snap when copying the state
* core/state: deep-copy snap stuff during state Copy
2021-02-18 10:05:47 +02:00
Martin Holst Swende
e01096f531
eth/handler, broadcast: optimize tx broadcast mechanism ( #22176 )
...
This PR optimizes the broadcast loop. Instead of iterating twice through a given set of transactions to weed out which peers have and which do not have a tx, to send/announce transactions, we do it only once.
2021-02-17 14:59:00 +01:00
Péter Szilágyi
1489c3f494
Merge pull request #22334 from karalabe/fix-snap-cancel
...
eth: fix snap sync cancellation
2021-02-16 16:30:07 +02:00
rene
f9445e93bb
cmd/devp2p/internal/ethtest: use shared message types ( #22315 )
...
This updates the eth protocol test suite to use the message type
definitions of the 'production' protocol implementation in eth/protocols/eth.
2021-02-16 15:23:03 +01:00
Péter Szilágyi
bfdff4c5b8
eth: fix snap sync cancellation
2021-02-16 16:11:33 +02:00
Péter Szilágyi
6291fc9230
Merge pull request #22331 from karalabe/enforce-min-snap-difflayers
...
core/state/snapshot: ensure Cap retains a min number of layers
2021-02-16 15:26:37 +02:00
Péter Szilágyi
9ec3329899
core/state/snapshot: ensure Cap retains a min number of layers
2021-02-16 15:25:20 +02:00
Péter Szilágyi
915c614959
Merge pull request #22332 from karalabe/fix-fastsync-restart-bloom-crash
...
trie: fix bloom crash on fast sync restart
2021-02-16 13:30:15 +02:00
Guillaume Ballet
f4fcd4f506
rpc: increase the number of subscriptions in storm test ( #22316 )
2021-02-16 11:40:59 +02:00
Péter Szilágyi
e991bdae24
trie: fix bloom crash on fast sync restart
2021-02-16 10:44:38 +02:00
Alex Mazalov
77787802fe
cmd/geth: fix js unclean shutdown ( #22302 )
2021-02-15 19:47:47 +01:00
Guillaume Ballet
08c878acd2
cmd/utils: add workaround for FreeBSD statfs quirk ( #22310 )
...
Make geth build on FreeBSD, fixes #22309 .
2021-02-15 19:37:09 +01:00
Felföldi Zsolt
7d1b711c7d
les: enable les/4 and add tests ( #22321 )
2021-02-12 20:48:18 +01:00
Péter Szilágyi
2fc465a7be
Merge pull request #22319 from karalabe/fix-defer-leak
...
core: fix temp memory blowup caused by defers holding on to state
2021-02-12 15:34:35 +02:00
Péter Szilágyi
ef227c5f42
core: fix temp memory blowup caused by defers holding on to state
2021-02-12 12:45:34 +02:00
rene
111abdcfbd
cmd/devp2p: fix documentation for eth-test ( #22298 )
2021-02-11 12:09:13 +01:00
Péter Szilágyi
1bbc8a1944
Merge pull request #22293 from karalabe/txunindex-1year
...
cmd/utils, eth/ethconfig: unindex txs older than ~1 year
2021-02-10 16:02:35 +02:00
Péter Szilágyi
409b16e5ab
cmd/utils, eth/ethconfig: unindex txs older than ~1 year
2021-02-10 16:01:37 +02:00
Marius van der Wijden
cb3c7e4319
accounts/abi/bind: fixed unpacking error ( #22230 )
...
There was a dormant error with structured inputs that failed unpacking.
This commit fixes the error by switching casting to the better abi.ConvertType function.
It also adds a test for calling a view function that returns a struct
2021-02-10 13:12:13 +01:00
Sina Mahmoodi
27786671d2
internal/debug: add switch to format logs with json ( #22207 )
...
adds a flag --log.json which if enabled makes the client format logs with JSON.
2021-02-09 10:42:55 +01:00
Péter Szilágyi
2fdba3aacb
Merge pull request #22294 from holiman/pruner_compact_fix
...
core/state/pruner: fix compaction range error
2021-02-09 11:01:21 +02:00
zjubfd
e55e9cdd76
change the fork waring to debug to avoid confusion ( #73 )
2021-02-09 11:49:53 +08:00
Martin Holst Swende
74dbc20260
core/state/pruner: fix compaction range error
2021-02-08 20:31:52 +01:00
Péter Szilágyi
944d901436
Merge pull request #22291 from karalabe/fix-pruner-compaction
...
core/state/pruner: fix compaction after pruning
2021-02-08 19:19:38 +02:00
Péter Szilágyi
2728672c28
core/state/pruner: fix compaction after pruning
2021-02-08 19:18:40 +02:00
Péter Szilágyi
123e934e72
Merge pull request #22288 from karalabe/1.10.unstable
...
params: just to make snapshots a bit more official
2021-02-08 13:16:50 +02:00
gary rong
f566dd305e
all: bloom-filter based pruning mechanism ( #21724 )
...
* cmd, core, tests: initial state pruner
core: fix db inspector
cmd/geth: add verify-state
cmd/geth: add verification tool
core/rawdb: implement flatdb
cmd, core: fix rebase
core/state: use new contract code layout
core/state/pruner: avoid deleting genesis state
cmd/geth: add helper function
core, cmd: fix extract genesis
core: minor fixes
contracts: remove useless
core/state/snapshot: plugin stacktrie
core: polish
core/state/snapshot: iterate storage concurrently
core/state/snapshot: fix iteration
core: add comments
core/state/snapshot: polish code
core/state: polish
core/state/snapshot: rebase
core/rawdb: add comments
core/rawdb: fix tests
core/rawdb: improve tests
core/state/snapshot: fix concurrent iteration
core/state: run pruning during the recovery
core, trie: implement martin's idea
core, eth: delete flatdb and polish pruner
trie: fix import
core/state/pruner: add log
core/state/pruner: fix issues
core/state/pruner: don't read back
core/state/pruner: fix contract code write
core/state/pruner: check root node presence
cmd, core: polish log
core/state: use HEAD-127 as the target
core/state/snapshot: improve tests
cmd/geth: fix verification tool
cmd/geth: use HEAD as the verification default target
all: replace the bloomfilter with martin's fork
cmd, core: polish code
core, cmd: forcibly delete state root
core/state/pruner: add hash64
core/state/pruner: fix blacklist
core/state: remove blacklist
cmd, core: delete trie clean cache before pruning
cmd, core: fix lint
cmd, core: fix rebase
core/state: fix the special case for clique networks
core/state/snapshot: remove useless code
core/state/pruner: capping the snapshot after pruning
cmd, core, eth: fixes
core/rawdb: update db inspector
cmd/geth: polish code
core/state/pruner: fsync bloom filter
cmd, core: print warning log
core/state/pruner: adjust the parameters for bloom filter
cmd, core: create the bloom filter by size
core: polish
core/state/pruner: sanitize invalid bloomfilter size
cmd: address comments
cmd/geth: address comments
cmd/geth: address comment
core/state/pruner: address comments
core/state/pruner: rename homedir to datadir
cmd, core: address comments
core/state/pruner: address comment
core/state: address comments
core, cmd, tests: address comments
core: address comments
core/state/pruner: release the iterator after each commit
core/state/pruner: improve pruner
cmd, core: adjust bloom paramters
core/state/pruner: fix lint
core/state/pruner: fix tests
core: fix rebase
core/state/pruner: remove atomic rename
core/state/pruner: address comments
all: run go mod tidy
core/state/pruner: avoid false-positive for the middle state roots
core/state/pruner: add checks for middle roots
cmd/geth: replace crit with error
* core/state/pruner: fix lint
* core: drop legacy bloom filter
* core/state/snapshot: improve pruner
* core/state/snapshot: polish concurrent logs to report ETA vs. hashes
* core/state/pruner: add progress report for pruning and compaction too
* core: fix snapshot test API
* core/state: fix some pruning logs
* core/state/pruner: support recovering from bloom flush fail
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-02-08 13:16:30 +02:00
Péter Szilágyi
d86906f1e6
params: just to make snapshots a bit more official
2021-02-08 13:03:06 +02:00
Péter Szilágyi
bbe694fc52
Merge pull request #22280 from karalabe/snapshot-default
...
cmd/utils: enable snapshots by default
2021-02-08 12:58:54 +02:00
isdyaufh8o7cq
477fd420b3
metrics: fix cast omission in cpu_syscall.go ( #22262 )
...
fixes an regression which caused build failure on certain platforms
2021-02-08 11:36:49 +01:00
Péter Szilágyi
994cdc69c8
cmd/utils: enable snapshots by default
2021-02-07 20:13:59 +02:00
Guillaume Ballet
e74bd587f7
consensus: remove seal verification from the consensus engine interface ( #22274 )
2021-02-05 20:44:34 +02:00
Martin Holst Swende
7ed860d4f1
eth: don't wait for snap registration if we're not running snap ( #22272 )
...
Prevents a situation where we (not running snap) connects with a peer running snap, and get stalled waiting for snap registration to succeed (which will never happen), which cause a waitgroup wait to halt shutdown
2021-02-05 14:15:22 +01:00
Marius van der Wijden
fba5a63afe
internal/ethapi: fix typo in comment ( #22271 )
2021-02-05 13:51:53 +01:00
gary rong
098a2b6e26
eth: move eth.Config to a common package ( #22205 )
...
This moves the eth config definition into a separate package, eth/ethconfig.
Packages eth and les can now import this common package instead of
importing eth from les, reducing dependencies.
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-02-05 13:51:15 +01:00
Marius van der Wijden
28121324ac
internal/ethapi: comment nitpick ( #22270 )
2021-02-05 12:35:55 +02:00
zjubfd
540ac2a1b7
[R4R]appay mirror/sync fork to main-net; release for 1.0.6 ( #68 )
...
* appay mirror/sync fork to main-net; release for 1.0.6
* fix upgrade do not work
v1.0.6
2021-02-05 09:51:32 +08:00
Marius van der Wijden
54735a6723
fuzzers: added consensys/gurvy library to bn256 differential fuzzer ( #21812 )
...
This pr adds consensys' gurvy bn256 variant into the code for differential fuzzing.
2021-02-03 15:04:28 +01:00
Marius van der Wijden
3512b41c5c
core: reset txpool state on sethead ( #22247 )
...
fixes an issue where local transactions that were included in the chain before a SetHead were rejected if resubmitted, since the txpool had not reset the state to the current (older) state.
2021-02-03 11:02:35 +01:00
ucwong
83e4c49e2b
trie : use trie.NewStackTrie instead of new(trie.Trie) ( #22246 )
...
The PR makes use of the stacktrie, which is is more lenient on resource consumption, than the regular trie, in cases where we only need it for DeriveSha
2021-02-02 13:09:23 +01:00
Alex Prut
ef84da8481
all: remove unneeded parentheses ( #21921 )
...
* remove uneeded convertion type
* remove redundant type in composite literal
* omit explicit type where implicit
* remove unused redundant parenthesis
* remove redundant import alias duktape
2021-02-02 11:32:44 +02:00
rene
4eae0c6b6f
cmd/geth, node: allow configuring JSON-RPC on custom path prefix ( #22184 )
...
This change allows users to set a custom path prefix on which to mount the http-rpc
or ws-rpc handlers via the new flags --http.rpcprefix and --ws.rpcprefix.
Fixes #21826
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-02-02 10:05:46 +01:00
Péter Szilágyi
e3430ac7df
eth: check snap satelliteness, delegate drop to eth ( #22235 )
...
* eth: check snap satelliteness, delegate drop to eth
* eth: better handle eth/snap satellite relation, merge reg/unreg paths
2021-02-02 10:44:36 +02:00
Sina Mahmoodi
3c728fb129
eth/tracers: fix unigram tracer ( #22248 )
2021-02-01 14:41:43 +01:00
Martin Holst Swende
f25b437b70
cmd/clef: don't check file permissions on windows ( #22251 )
...
Fixes #20123
2021-01-29 16:53:44 +01:00
Felföldi Zsolt
7a800f98f6
les/utils: UDP rate limiter ( #21930 )
...
* les/utils: Limiter
* les/utils: dropped prior weight vs variable cost logic, using fixed weights
* les/utils: always create node selector in addressGroup
* les/utils: renamed request weight to request cost
* les/utils: simplified and improved the DoS penalty mechanism
* les/utils: minor fixes
* les/utils: made selection weight calculation nicer
* les/utils: fixed linter warning
* les/utils: more precise and reliable probabilistic test
* les/utils: fixed linter warning
2021-01-28 22:47:15 +01:00
Sina Mahmoodi
eb21c652c0
cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 ( #22213 )
...
Removes the yolov2 definition, adds yolov3, including EIP-2565. This PR also disables some of the erroneously generated blockchain and statetests, and adds the new genesis hash + alloc for yolov3.
This PR disables the CLI switches for yolo, since it's not complete until we merge support for 2930.
2021-01-28 21:19:07 +01:00