Péter Szilágyi
693459073e
core, eth: split eth package, implement snap protocol ( #21482 )
...
This commit splits the eth package, separating the handling of eth and snap protocols. It also includes the capability to run snap sync (https://github.com/ethereum/devp2p/blob/master/caps/snap.md ) , but does not enable it by default.
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Martin Holst Swende <martin@swende.se>
# Conflicts:
# cmd/geth/misccmd.go
# cmd/utils/flags.go
# core/blockchain.go
# core/blockchain_snapshot_test.go
# core/forkid/forkid.go
# core/rawdb/accessors_snapshot.go
# core/rawdb/schema.go
# core/state/snapshot/generate.go
# core/state/statedb.go
# eth/api_test.go
# eth/backend.go
# eth/downloader/downloader.go
# eth/downloader/downloader_test.go
# eth/downloader/modes.go
# eth/downloader/queue.go
# eth/downloader/statesync.go
# eth/gen_config.go
# eth/handler.go
# eth/handler_test.go
# eth/helper_test.go
# eth/peer.go
# eth/protocol.go
# eth/protocol_test.go
# eth/sync.go
# eth/sync_test.go
# ethstats/ethstats.go
# les/client.go
# les/enr_entry.go
# les/handler_test.go
# les/peer.go
# les/server_handler.go
# tests/block_test_util.go
# trie/proof.go
# trie/proof_test.go
# trie/trie.go
# turbo/trie/notary.go
# turbo/trie/sync_bloom.go
2021-03-08 17:07:38 +01:00
Martin Holst Swende
2135bf3a09
consensus/ethash: implement faster difficulty calculators ( #21976 )
...
This PR adds re-written difficulty calculators, which are based on uint256. It also adds a fuzzer + oss-fuzz integration for the new fuzzer. It does differential fuzzing between the new and old calculators.
Note: this PR does not actually enable the new calculators.
# Conflicts:
# consensus/ethash/consensus_test.go
2021-03-08 14:34:27 +01:00
Martin Holst Swende
2f53a0856e
tests/fuzzers/bls1381: add bls fuzzer ( #21796 )
...
* added bls fuzzer
* crypto/bls12381: revert bls-changes, fixup fuzzer tests
* fuzzers: split bls fuzzing into 8 different units
* fuzzers/bls: remove (now stale) corpus
* crypto/bls12381: added blsfuzz corpus
* fuzzers/bls12381: fix the bls corpus
* fuzzers: fix oss-fuzz script
* tests/fuzzers: fixups on bls corpus
* test/fuzzers: remove leftover corpus
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
# Conflicts:
# crypto/bls12381/fp_test.go
2021-03-08 12:30:14 +01:00
Martin Holst Swende
ea59707577
tests/fuzzers: improve the fuzzers ( #21829 )
...
* tests/fuzzers, common/bitutil: make fuzzers use correct returnvalues + remove output
* tests/fuzzers/stacktrie: fix duplicate-key insertion in stacktrie (false positive)
* tests/fuzzers/stacktrie: fix compilation error
* tests/fuzzers: linter nits
# Conflicts:
# tests/fuzzers/rlp/rlp_fuzzer.go
# tests/fuzzers/stacktrie/trie_fuzzer.go
2021-03-08 11:44:11 +01:00
Marius van der Wijden
3949c520a4
accounts/abi: ABI explicit difference between Unpack and UnpackIntoInterface ( #21091 )
...
* accounts/abi: refactored abi.Unpack
* accounts/abi/bind: fixed error
* accounts/abi/bind: modified template
* accounts/abi/bind: added ToStruct for conversion
* accounts/abi: reenabled tests
* accounts/abi: fixed tests
* accounts/abi: fixed tests for packing/unpacking
* accounts/abi: fixed tests
* accounts/abi: added more logic to ToStruct
* accounts/abi/bind: fixed template
* accounts/abi/bind: fixed ToStruct conversion
* accounts/abi/: removed unused code
* accounts/abi: updated template
* accounts/abi: refactored unused code
* contracts/checkpointoracle: updated contracts to sol ^0.6.0
* accounts/abi: refactored reflection logic
* accounts/abi: less code duplication in Unpack*
* accounts/abi: fixed rebasing bug
* fix a few typos in comments
* rebase on master
Co-authored-by: Guillaume Ballet <gballet@gmail.com>
# Conflicts:
# accounts/abi/bind/base_test.go
# accounts/abi/bind/bind_test.go
# accounts/abi/pack_test.go
# go.mod
# mobile/bind.go
2020-10-26 17:16:00 +01:00
Igor Mandrigin
70f6ec3b49
post-rebase fixes
2020-10-06 14:12:09 +02:00
Marius van der Wijden
f6c97d1df1
tests/fuzzers/abi: add fuzzer for fuzzing package accounts/abi ( #21217 )
...
* tests/fuzzers/abi: added abi fuzzer
* accounts/abi: fixed issues found by fuzzing
* tests/fuzzers/abi: update fuzzers, added repro test
* tests/fuzzers/abi: renamed abi_fuzzer to abifuzzer
* tests/fuzzers/abi: updated abi fuzzer
* tests/fuzzers/abi: updated abi fuzzer
* accounts/abi: minor style fix
* go.mod: added go-fuzz dependency
* tests/fuzzers/abi: updated abi fuzzer
* tests/fuzzers/abi: make linter happy
* tests/fuzzers/abi: make linter happy
* tests/fuzzers/abi: comment out false positives
# Conflicts:
# go.mod
# go.sum
2020-10-06 14:12:09 +02:00
Martin Michlmayr
732a20d468
all: fix typos in comments ( #21118 )
...
# Conflicts:
# accounts/abi/bind/backends/simulated.go
# cmd/puppeth/module_dashboard.go
# core/blockchain_test.go
# core/rawdb/chain_iterator.go
# core/state/snapshot/difflayer.go
# core/state/snapshot/iterator.go
# core/state/snapshot/iterator_fast.go
# core/state/snapshot/snapshot.go
# core/state/snapshot/wipe.go
# core/tx_pool.go
# les/clientpool.go
# les/peer.go
# mobile/doc.go
# trie/committer.go
# trie/database.go
2020-06-15 19:38:13 +03:00
Andrew Ashikhmin
33c28f7fac
[GC] uint256 rather than big.Int in Transaction ( #614 )
...
* uint256 in rlp
* uint256 rather than big.Int in Transation
* linters
* more linters
* still linters
* Reduce garbage in writeUint256
* Experiment with GC in writeByteArray
2020-06-04 08:43:08 +01:00
Igor Mandrigin
edcd16c7ab
post-merge fixups
2020-02-27 17:22:25 +03:00
Péter Szilágyi
748c8063a8
eth: rework tx fetcher to use O(1) ops + manage network requests
2020-02-27 17:21:20 +03:00
Igor Mandrigin
785d0eafd8
post-rebase fixups v1.9.10
2020-01-30 13:36:30 +02:00
Gerald Nash
cce5760cbe
Change file extension of the ./tests/fuzzers README ( #20474 )
2020-01-30 13:36:30 +02:00
Martin Holst Swende
f092171f7a
tests/fuzzers: fuzzbuzz fuzzers for keystore, rlp, trie, whisper ( #19910 )
...
* fuzzers: fuzzers for keystore, rlp, trie, whisper (cred to @guidovranken)
* fuzzers: move fuzzers to testdata
* testdata/fuzzers: documentation
* testdata/fuzzers: corpus for rlp
* tests/fuzzers: fixup
2020-01-30 13:36:30 +02:00