* update go version
* update go version
* format code by goimports
* format code by goimports
* go mod tidy
* update go version
* update go version
* upgrade linter
* add exclude rule
* fix golangci exclude
---------
Co-authored-by: vincent <419436363@qq.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
* add KeccakCodeHash and CodeSize to StateAccount
* update StateAccount marshalling logic
* change emptyCodeHash to poseidon(nil)
* purge StateAccount.hash
* fix/disable failing tests
* change keccak and poseidon hash order in StateAccount
* fix lint
* update l2trace account wrapper
* update eth_getProof response type
* fix eth_getProof response type
* goimports
* update the codehash computation
* update the codehash test cases
* go mod tidy
* fix tests
* use keccak instead of poseidon
* update trace codehash field name
* upgrade zktrie to 4.2
* trigger ci
* update state account marshalling according to spec
* improve generatorStats estimation
* add comment
* upgrade zktrie to 4.3
* go mod tidy
* misc fixes
* fix TestDump
* fix snap sync tests
* handle err in the codehash
* fix tests in snapshot/generate_test.go
* remove prevhash from state journal
* add state_account_marshalling_test.go
* goimports
* add more tests
---------
Co-authored-by: Ho Vei <noelwei@gmail.com>
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
This change extracts the peer QoS tracking logic from eth/downloader, moving
it into the new package p2p/msgrate. The job of msgrate.Tracker is determining
suitable timeout values and request sizes per peer.
The snap sync scheduler now uses msgrate.Tracker instead of the hard-coded 15s
timeout. This should make the sync work better on network links with high latency.
* eth/protocols/snap: generate storage trie from full dirty snap data
* eth/protocols/snap: get rid of some more dead code
* eth/protocols/snap: less frequent logs, also log during trie generation
* eth/protocols/snap: implement dirty account range stack-hashing
* eth/protocols/snap: don't loop on account trie generation
* eth/protocols/snap: fix account format in trie
* core, eth, ethdb: glue snap packets together, but not chunks
* eth/protocols/snap: print completion log for snap phase
* eth/protocols/snap: extended tests
* eth/protocols/snap: make testcase pass
* eth/protocols/snap: fix account stacktrie commit without defer
* ethdb: fix key counts on reset
* eth/protocols: fix typos
* eth/protocols/snap: make better use of delivered data (#44)
* eth/protocols/snap: make better use of delivered data
* squashme
* eth/protocols/snap: reduce chunking
* squashme
* eth/protocols/snap: reduce chunking further
* eth/protocols/snap: break out hash range calculations
* eth/protocols/snap: use sort.Search instead of looping
* eth/protocols/snap: prevent crash on storage response with no keys
* eth/protocols/snap: nitpicks all around
* eth/protocols/snap: clear heal need on 1-chunk storage completion
* eth/protocols/snap: fix range chunker, add tests
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
* trie: fix test API error
* eth/protocols/snap: fix some further liter issues
* eth/protocols/snap: fix accidental batch reuse
Co-authored-by: Martin Holst Swende <martin@swende.se>