b00ris
c03da8fb8e
Split header prefix bucket to headers, td and canonical ( #1556 )
...
* split headers prefix
* migration
* fix downloader bug
* test for migration
* fix lint
* uncomment t.Prallel
* fix postprocessing test
2021-03-19 12:54:47 +00:00
Igor Mandrigin
807495b6db
skip failing test 1
2021-03-18 12:27:39 +01:00
Igor Mandrigin
f6dd33e3f4
lint passes
2021-03-18 11:58:19 +01:00
Igor Mandrigin
a122920fa8
and more lint fixes
2021-03-18 11:53:34 +01:00
Igor Mandrigin
90edad9852
and more linter fixes
2021-03-18 11:46:13 +01:00
Igor Mandrigin
36297dd057
more linter fixes
2021-03-18 11:44:22 +01:00
Igor Mandrigin
f1f849e691
fix linter
2021-03-18 11:18:57 +01:00
Igor Mandrigin
7b000b5644
linter fixups
2021-03-18 11:17:04 +01:00
Igor Mandrigin
da629cceed
fix ./eth
2021-03-18 10:58:26 +01:00
Alexey Sharp
1ff525e6a3
Fix lints
2021-03-18 08:00:21 +00:00
Alexey Sharp
c1de4bd0f7
Fix lints
2021-03-18 07:27:50 +00:00
Alexey Sharp
8e4dea56a8
Fix lints, fork split test
2021-03-18 07:17:33 +00:00
Alexey Sharp
74dbb6e7ac
Fix lints
2021-03-18 06:58:14 +00:00
Alexey Sharp
cdca7f94ad
Fix lints
2021-03-17 22:24:46 +00:00
Alexey Sharp
e155b7f985
Fix for 1 test in eth
2021-03-17 20:28:03 +00:00
Alexey Sharp
4e2b20371d
Fix eth/protocols/eth
2021-03-17 20:03:25 +00:00
Alexey Sharp
b8d9202ac3
Fix eth/tracwers
2021-03-17 19:03:22 +00:00
Igor Mandrigin
5510de2fae
add tracer_test
2021-03-17 17:47:01 +01:00
Igor Mandrigin
b5b16d38ea
return testdata
2021-03-17 17:37:16 +01:00
Igor Mandrigin
2f4ea03c09
fixups
2021-03-17 17:35:40 +01:00
Igor Mandrigin
a04d6f0e45
semi-cleanup of eth/tracers
2021-03-17 17:28:04 +01:00
Igor Mandrigin
0a55895b33
Merge branch 'master' into geth-1-10-1
2021-03-17 16:50:20 +01:00
Igor Mandrigin
ff4868bcdd
fix eth/downloader
2021-03-17 14:41:14 +01:00
Igor Mandrigin
154ccf5fce
fixups to handler_test
2021-03-17 11:40:31 +01:00
Igor Mandrigin
8037bcb99a
change handler_test
2021-03-17 11:34:34 +01:00
Igor Mandrigin
0136e2b61f
skip downloader tests that hang
2021-03-16 16:14:02 +01:00
Igor Mandrigin
03f02d4e51
./eth tests builds
2021-03-16 15:22:59 +01:00
Igor Mandrigin
e5206bc584
fix some eth handler tests
2021-03-16 15:18:14 +01:00
Igor Mandrigin
c5c8099163
some fixes
2021-03-16 15:12:02 +01:00
Igor Mandrigin
14a3b8d676
eth/downloader compiles
2021-03-16 15:06:47 +01:00
Igor Mandrigin
18bdd57b82
fix eth/filters
2021-03-16 14:21:17 +01:00
Alexey Sharp
a2f9ed2a5d
more compilation fixes
2021-03-15 19:17:15 +00:00
Alexey Sharp
122791ba75
Fix tg crash again
2021-03-15 18:37:27 +00:00
Alexey Sharp
132da24d0f
Fixes
2021-03-15 18:34:22 +00:00
Alexey Sharp
a486baa0a0
Fixes
2021-03-15 09:50:41 +00:00
Alexey Sharp
af495562e4
Fix rcpdaemon compilation
2021-03-14 18:52:15 +00:00
Alexey Sharp
519b19f8aa
Compilation fixes
2021-03-14 08:00:37 +00:00
Alex Sharov
3f305673aa
Trie: add invariant - first level of trie must be in DB (to ensure having 100% trie structure in trie_account table) ( #1522 )
2021-03-13 09:30:54 +07:00
Péter Szilágyi
d00a121246
core, eth: unship EIP 2315
...
# Conflicts:
# core/vm/contract.go
# core/vm/gen_structlog.go
# core/vm/instructions.go
# core/vm/instructions_test.go
# core/vm/interpreter.go
# core/vm/logger.go
# core/vm/logger_json.go
# core/vm/logger_test.go
# core/vm/stack/stack.go
# eth/tracers/tracer.go
# eth/tracers/tracer_test.go
2021-03-12 16:05:37 +01:00
Péter Szilágyi
d23002e76a
all: define Berlin hard fork spec
...
# Conflicts:
# cmd/geth/config.go
# cmd/geth/main.go
# core/genesis.go
# core/state_transition.go
# core/vm/evm.go
# core/vm/interpreter.go
# eth/backend.go
# eth/ethconfig/config.go
# les/client.go
# light/txpool.go
# tests/state_test_util.go
2021-03-12 15:50:09 +01:00
lightclient
50d975302d
all: add support for EIP-2718, EIP-2930 transactions ( #21502 )
...
This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.
There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.
The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID.
This change also adds support for the YoloV3 testnet.
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com>
# Conflicts:
# accounts/abi/bind/backends/simulated.go
# cmd/evm/internal/t8ntool/execution.go
# cmd/evm/internal/t8ntool/transition.go
# cmd/geth/main.go
# cmd/geth/usage.go
# core/bench_test.go
# core/state/statedb.go
# core/state_prefetcher.go
# core/state_processor.go
# core/state_transition.go
# core/tx_pool.go
# core/types/block.go
# core/types/derive_sha.go
# core/types/gen_tx_json.go
# core/types/receipt.go
# core/types/receipt_test.go
# core/types/transaction.go
# core/types/transaction_signing.go
# core/types/transaction_test.go
# ethclient/ethclient.go
# ethclient/signer.go
# graphql/graphql.go
# internal/ethapi/api.go
# internal/guide/guide_test.go
# les/benchmark.go
# les/odr_test.go
# light/odr_test.go
# light/txpool.go
# miner/worker.go
# miner/worker_test.go
# signer/core/api.go
# tests/state_test_util.go
# trie/stacktrie_test.go
# turbo/stages/blockchain_test.go
2021-03-12 15:40:24 +01:00
Alex Sharov
5ef9a3feb9
Trie: use APPEND when re-generating trie. Also including db-migration for PR#1535 ( #1549 )
2021-03-12 16:26:39 +07:00
gary rong
e602a34fb8
cmd, eth, les: enable serving light clients when non-synced ( #22250 )
...
This PR adds a more CLI flag, so that the les-server can serve light clients even the local node is not synced yet.
This functionality is needed in some testing environments(e.g. hive). After launching the les server, no more blocks will be imported so the node is always marked as "non-synced".
# Conflicts:
# cmd/geth/main.go
# cmd/geth/usage.go
# cmd/utils/flags.go
# eth/ethconfig/gen_config.go
# les/server.go
2021-03-10 17:06:42 +01:00
Péter Szilágyi
901015daad
eth/protocols/snap: lower abortion and resumption logs to debug
2021-03-10 17:03:46 +01:00
Marius van der Wijden
96a424ee84
internal/ethapi: reject non-replay-protected txs over RPC ( #22339 )
...
This PR prevents users from submitting transactions without EIP-155 enabled. This behaviour can be overridden by specifying the flag --rpc.allow-unprotected-txs=true.
# Conflicts:
# cmd/geth/main.go
# eth/backend.go
# les/api_backend.go
# les/client.go
# node/config.go
2021-03-10 17:00:47 +01:00
Martin Holst Swende
d1b207ff7e
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
# Conflicts:
# eth/downloader/downloader_test.go
# eth/downloader/peer.go
2021-03-10 11:33:45 +01:00
Martin Holst Swende
5bcef5b9c7
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-03-10 11:09:01 +01:00
Péter Szilágyi
f4eb5572fd
eth: fix snap sync cancellation
...
# Conflicts:
# eth/downloader/downloader.go
2021-03-10 11:05:05 +01:00
Péter Szilágyi
e7bffb64eb
cmd/utils, eth/ethconfig: unindex txs older than ~1 year
...
# Conflicts:
# eth/ethconfig/config.go
2021-03-10 11:00:31 +01:00
gary rong
a9e6250e72
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>
# Conflicts:
# cmd/geth/main.go
# cmd/geth/usage.go
# core/blockchain.go
# core/blockchain_snapshot_test.go
# core/genesis.go
# core/rawdb/database.go
# core/rawdb/schema.go
# core/state/snapshot/conversion.go
# core/state/snapshot/snapshot.go
# core/state/snapshot/snapshot_test.go
# eth/backend.go
# go.mod
# go.sum
# tests/block_test_util.go
# tests/state_test_util.go
# trie/stacktrie.go
2021-03-10 10:58:22 +01:00