Alex Sharov
781a67a4ee
Auto-Close db in tests by using t.Cleanup ( #1956 )
2021-05-19 10:47:28 +07:00
Alex Sharov
3e1bdbb465
Mdbx: fix for MDBX_PROBLEM ( #1922 )
2021-05-13 14:40:44 +07:00
ledgerwatch
a99d22c313
Trace filter 4 + fixes for download.v2 ( #1907 )
...
* Introduce TraceCallSet bucket and fill it up
* Fix compile
* Reset TraceCallSet
* Add database.verbosity
* Warn about dropped messages
* Unwind for call traces
* Fixes for headers download
* Fix for the slow stage 3
* Remove wakeup channels
* Permit system for peer load balancing
* Reduce aggressiveness
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-05-10 16:07:22 +01:00
b00ris
565a4250d6
Snapshot sync headers stage ( #1836 )
...
* save state
* snapshot update works
* save state
* snapshot migrator
* tx test
* save state
* migrations stages refactor
* refactor snapshot migrator
* compilation fixed
* integrate snapshot migrator
* goerli sync headers
* debug async snapshotter on goerly
* move verify headers, remove experiments, fix remove old snapshot
* save state
* refactor snapshotsync injection
* fix deadlock
* replace snapshot generation stage logic to migrate method
* change done for body snapshot
* clean
* clean&&change deleted value
* clean
* fix hash len
* fix hash len
* remove one of wrap methods, add remove snapshots on start
* add err check
* fix shadowing
* stages unwind order debug
* matryoshka experiments
* steam test
* fix build
* fix test
* fix lint
* fix test
* fix test datarace
* add get test
* return timeout
* fix mdbx overlap
* fix after merge
* change epoch size
* clean todo
* fix
* return testdata
* added return from sndownloader gorutine
* fix review comments
* Fix
* More info
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-08 09:45:40 +01:00
Artem Vorotnikov
09788dbc02
Pruning flag, incremental staged sync ( #1899 )
2021-05-08 00:07:49 +03:00
Artem Vorotnikov
2148885637
Simplify ChangeSet implementation and tests ( #1878 )
...
* Move storage changeset code into one file
* Simplify storage changeset tests
* simplify more
* more
* more
* more
* move account changeset into one file
* simplify account changeset test
* NewStorageChangesetPlain -> NewStorageChangeSet
* EncodeStoragePlain -> EncodeStorage
* StorageChangeSetPlain -> StorageChangeSet
* AccountChangeSetPlain -> AccountChangeSet
* more
* more
* more
* Simplify EncodeStorage
* more
* Simplify FromDBFormat
* more rename
* rename changeset buckets (constant names only)
2021-05-04 13:34:08 +01:00
Alex Sharov
c40c3b7a7a
exec unwind etl ( #1806 )
2021-04-26 10:41:31 +01:00
ledgerwatch
e3f3dd3c9b
Integration tests 1 ( #1793 )
...
* Initial commit
* Add sentry gRPC interface
* p2psentry directory
* Update README.md
* Update README.md
* Update README.md
* Add go package
* Correct syntax
* add external downloader interface (#2 )
* Add txpool (#3 )
* Add private API (#4 )
* Invert control.proto, add PeerMinBlock, Separare incoming Tx message into a separate stream (#5 )
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Separate upload messages into its own stream (#6 )
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Only send changed accounts to listeners (#7 )
* Txpool interface doc (#9 )
* Add architecture diagram source and picture (#10 )
* Typed hashes (#11 )
* Typed hashes
* Fix PeerId
* 64-bit tx nonce
* Add proper golang packages, max_block into p2p sentry Status (#12 )
* Add proper golang packages, max_block into p2p sentry Status
* Change EtherReply to address
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Add Rust infrastructure (#13 )
* DB stats methods removed by https://github.com/ledgerwatch/turbo-geth/pull/1665
* more p2p methods (#15 )
* add mining methods (#16 )
* First draft of Consensus gRPC interface (#14 )
* Update Rust build
* Fix interfaces in architecture diagram (#17 )
* Fix KV interface provider
* Fix Consensus interface provider
* drop java attributes (#18 )
* tx pool remove unused import (#19 )
* ethbackend: add protocol version and client version (#20 )
* Add missing ethbackend I/F (#21 )
* Add interface versioning mechanism (#23 )
Add versioning in KV interface
Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
* spec of tx pool method (#24 )
* spec of tx pool method (#25 )
* Update version.proto
* Refactor interface versioning
* Refactor interface versioning
* Testing interface
* Remove tree
* Fix
* Build testing protos
* Fix
* Fix
* Update to the newer interfaces
* Add ProtocolVersion and ClientVersion stubs
* Hook up ProtocolVersion and ClientVersion
* Remove service
* Add compatibility checks for RPC daemon
* Fix typos
* Properly update DB schema version
* Fix test
* Add test for KV compatibility|
* Info messages about compability for RPC daemon
* DB schema version to be one key
* Update release intructions
Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: canepat <16927169+canepat@users.noreply.github.com>
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
Co-authored-by: canepat <tullio.canepa@gmail.com>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-04-24 16:46:29 +01:00
ledgerwatch
12cde41772
Aleut support (Eip1559) ( #1704 )
...
* Where I am at
* Refactoring of transaction types
* More refactoring
* Use Homested signer in rpc daemon
* Unified signer
* Continue unified signer
* A bit more
* Fixes and down the rabbit hole...
* More tx pool fixes
* More refactoring fixes
* More fixes'
* more fixes
* More fixes
* More compile fixes
* More RLP hand-writing
* Finish RLP encoding/decoding of transactions
* Fixes to header encoding, start on protocol packets
* Transaction decoding
* Use DecodeTransaction function
* Decoding BlockBodyPacket
* Encode and decode for pool txs
* Start fixing tests
* Introduce SigningHash
* Fixes to SignHash
* RLP encoding fixes
* Fixes for encoding/decoding
* More test fixes
* Fix more tests
* More test fixes
* More test fixes
* Fix core tests
* More fixes for signer
* Fix for tx
* Fixes to string encoding/size
* Fix eip2930 test
* Fix rest of ./tests
* More fixes
* Fix compilation
* More test fixes
* More test fixes
* Test fixes
* More fixes
* Reuse EncodingSize in EncodeRLP for accessList
* Rearrange things in dynamic fee tx
* Add MarshalBinary
* More fixes
* Make V,R,S non-pointers
* More NPE fixes
* More fixes
* Receipt fixes
* Fix core/types
* Fix ./eth
* More compile fixes for tests
* More test fixes
* More test fixes
* Try to see lint errors better
* Try to see lint errors better
* Fix lint
* Debugging eip1559 test
* Fix TestEIP1559Transition test
* Fix NewBlockPacket encoding/decoding
* Fix calculation of TxHash
* Fix perf problem with senders
* Update aleut config values
* Try adding static peers
* Add staticpeers to defaul flags
* Change aleut networkID
* Fix test
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-04-22 18:11:37 +01:00
Artem Vorotnikov
c967655c1d
More cleanups ( #1765 )
2021-04-21 08:48:37 +07:00
Evgeny Danilenko
17c07c50a5
Move clique buckets to separate DB ( #1703 )
...
* debug
* debug
* it works
* rename clique bucket
* remove genesis special case
* copy snapshot
* remove debug
* migration
* debug
* regenerate snapshots
* simplify
* regeneration
* after merge
* tests
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-04-19 22:58:05 +01:00
Alex Sharov
35872a4708
[merge after release] remove etl onLoadCommit hook, because etl doesn't manage transactions anymore (it's low-level code) ( #1692 )
2021-04-08 18:03:33 +07:00
Alex Sharov
2215bcada8
make buckets name const ( #1687 )
2021-04-08 09:46:11 +07:00
Alex Sharov
9a9c5b298a
bitmapdb to use rwtx ( #1661 )
2021-04-03 08:52:45 +07:00
Artem Vorotnikov
1bedfc1965
Nuke remnants of non-staged-sync modes ( #1664 )
2021-04-03 08:48:57 +07:00
alex.sharov
275e2a8d4d
fix empty bucket name
2021-04-03 07:54:02 +07:00
Alex Sharov
fbfc43da7e
etl to use rwtx ( #1660 )
2021-04-02 18:22:25 +07:00
Alex Sharov
ef77eb3053
tx.RwCursor() to return err (first step of removing lazy cursors) ( #1656 )
2021-04-02 13:36:49 +07:00
Alex Sharov
dcd081412e
remove unused metrics ( #1643 )
2021-03-31 16:24:39 +07:00
Artem Vorotnikov
d4c10c9a47
Port rpcdaemon to KV interface ( #1627 )
2021-03-30 12:53:54 +03:00
Artem Vorotnikov
9b8cdc0f22
Fix lints and remove more unused code ( #1621 )
2021-03-29 10:58:45 +07:00
Alex Sharov
8ccc6b2664
Mining: remove local pow mining (from ethash), --miner.notify is required now, cycle is non-blocking now ( #1617 )
2021-03-28 21:40:27 +07:00
Artem Vorotnikov
e67be2b1be
Remove unused code ( #1604 )
...
* Remove graphql, legacy options
* Remove CODEOWNERS
* Remove EWASM and custom EVM interpreter
2021-03-26 09:08:01 +07:00
Alex Sharov
2e1f880046
Mining test: set correct header.Timestamp and header.GasLimit ( #1603 )
2021-03-25 21:26:12 +07:00
Alex Sharov
8e385d9648
Mining: use noop writer when applyTx, pending logs subscription ( #1600 )
2021-03-25 13:42:45 +07:00
Alex Sharov
91e4126ca7
db commit - remove unused return param ( #1584 )
2021-03-22 19:41:52 +07:00
Artem Vorotnikov
6a6f5469a1
KV: Split RO and RW transactions ( #1577 )
2021-03-21 20:15:25 +07:00
Andrew Ashikhmin
e303aeb5ee
Simple test for layout of TrieOfAccountsBucket ( #1563 )
2021-03-20 16:38:45 +07:00
Alex Sharov
ba37706681
move remote eth backend from ethdb to core package ( #1567 )
2021-03-20 10:52:00 +07:00
Andrea Lanfranchi
59a39aa3d7
Adjust comments to Buckets after PR-1556 ( #1566 )
2021-03-19 18:31:58 +00:00
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
Artem Vorotnikov
0b2e4df0ff
Align Cursor API with LMDB/MDBX ( #1558 )
2021-03-19 14:45:01 +07:00
Igor Mandrigin
36297dd057
more linter fixes
2021-03-18 11:44:22 +01:00
Alexey Sharp
0275ff5369
Lint fixes
2021-03-17 20:45:33 +00:00
Igor Mandrigin
0a55895b33
Merge branch 'master' into geth-1-10-1
2021-03-17 16:50:20 +01:00
Igor Mandrigin
8ccb30e9b7
fix rawdb tests
2021-03-17 11:55:02 +01: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
Felföldi Zsolt
e3f0782057
les: UDP pre-negotiation of available server capacity ( #22183 )
...
This PR implements the first one of the "lespay" UDP queries which
is already useful in itself: the capacity query. The server pool is making
use of this query by doing a cheap UDP query to determine whether it is
worth starting the more expensive TCP connection process.
# Conflicts:
# les/client.go
# les/clientpool.go
# les/clientpool_test.go
# les/enr_entry.go
# les/server.go
# les/vflux/client/serverpool.go
# les/vflux/client/serverpool_test.go
# les/vflux/server/balance.go
# les/vflux/server/balance_test.go
# les/vflux/server/prioritypool.go
# les/vflux/server/prioritypool_test.go
# p2p/nodestate/nodestate.go
2021-03-12 15:53:04 +01:00
Felix Lange
f984684fb6
common/mclock: remove dependency on github.com/aristanetworks/goarista ( #22211 )
...
It takes three lines of code to get to runtime.nanotime, no need to
pull a dependency for that.
# Conflicts:
# go.mod
# go.sum
2021-03-09 12:33:30 +01:00
Péter Szilágyi
7b7969408d
common/prque: pull in tests and benchmarks from upstream
2021-03-09 10:32:21 +01:00
Marius van der Wijden
8d6f77a735
common/compiler: fix parsing of solc output with solidity v.0.8.0 ( #22092 )
...
Solidity 0.8.0 changes the way that output is marshalled. This patch allows to parse both
the legacy format used previously and the new format.
See also https://docs.soliditylang.org/en/breaking/080-breaking-changes.html#interface-changes
2021-03-09 10:18:03 +01:00
Martin Holst Swende
5d418f317b
common,crypto: move fuzzers out of core ( #22029 )
...
* common,crypto: move fuzzers out of core
* fuzzers: move vm fuzzer out from core
* fuzzing: rework cover package logic
* fuzzers: lint
2021-03-09 10:06:00 +01:00
Li, Cheng
000991b09d
common: improve printing of Hash and Address ( #21834 )
...
Both Hash and Address have a String method, which returns the value as
hex with 0x prefix. They also had a Format method which tried to print
the value using printf of []byte. The way Format worked was at odds with
String though, leading to a situation where fmt.Sprintf("%v", hash)
returned the decimal notation and hash.String() returned a hex string.
This commit makes it consistent again. Both types now support the %v,
%s, %q format verbs for 0x-prefixed hex output. %x, %X creates
unprefixed hex output. %d is also supported and returns the decimal
notation "[1 2 3...]".
For Address, the case of hex characters in %v, %s, %q output is
determined using the EIP-55 checksum. Using %x, %X with Address
disables checksumming.
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-03-08 14:18:13 +01:00
Alex Prut
f032b6d18e
all: remove redundant conversions and import names ( #21903 )
...
# Conflicts:
# accounts/accounts.go
# accounts/keystore/wallet.go
# accounts/scwallet/wallet.go
# accounts/usbwallet/wallet.go
# cmd/clef/main.go
# cmd/devp2p/dnscmd.go
# cmd/evm/compiler.go
# cmd/evm/disasm.go
# cmd/evm/runner.go
# cmd/evm/staterunner.go
# cmd/geth/config.go
# cmd/geth/main.go
# cmd/geth/usage.go
# cmd/utils/flags.go
# consensus/ethash/ethash.go
# core/state/statedb.go
# core/tx_pool_test.go
# core/vm/evm.go
# core/vm/gas_table.go
# core/vm/instructions.go
# core/vm/operations_acl.go
# eth/downloader/api.go
# eth/filters/api.go
# eth/filters/filter_system.go
# eth/filters/filter_system_test.go
# eth/tracers/tracer.go
# internal/debug/flags.go
# internal/ethapi/api.go
# internal/flags/helpers.go
# miner/unconfirmed_test.go
# mobile/ethereum.go
# trie/iterator.go
# turbo/trie/database.go
2021-03-08 12:43:02 +01:00
Pascal Dierich
74cd8747f2
common: fix documentation of Address.SetBytes ( #21814 )
2021-03-08 12:17:54 +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
ledgerwatch
b743b88218
Revert "Extract validating interface ( #1120 )" ( #1543 )
...
* Revert "Extract validating interface (#1120 )"
This reverts commit e4e36c152e
.
* Fix go mod tidy
* Fix lint
* Fix lint
* fix lint
* Test fix
* Fix test
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-03-05 20:34:23 +00:00
Evgeny Danilenko
e4e36c152e
Extract validating interface ( #1120 )
...
* interface
* generalize interface
* linters
* fix deadlock
* fix linters
* close goroutine
* fix
* debug
* id+ttl
* refactor downloader tests
* tests
* lru
* handle genesis, extract fake consensuses
* fix fake consensus
* test uncles, verify
* after a new master
* fmt
* fix close
* debug
* debug
* fix chain length
* remove test field
* use single account
* fix data race on closing channel
* remove postponed blocks queue
* miner test
* VerifyHeaderRequests
* fmt
* fmt
* fix data race
* handle validating errors
* simplify matchParents
* remove copy-paste
* move sort to constructor
* clean up
* debug for 10 parents
* debug
* debug
* batch responses
* batch requests
* works for many ancestors
* remove debug
* always Close an engine
* linters
* ancestors deduplication
* fix test
* reduce interface
* api
* clique
* green clique sync
* stable
* perpermance per second
* full sync
* linters
* gitignore
* deps
* fix panic after master merge
* init consensus
* clique tests
* fix tests
* fix tests
* clean up
* reuse snap
* store vefified snapshots
* optimize snapshots
* safe close
* cleanup loop
* after downloader
* downloader and consensus tests
* update tests
* hack.go
* clique flags
* fix cliuqe config
* review
* gitignore
* remove additional bucket
* blk/sec instead of blk/microsecond
* rename
* deps
* optimize
* debug
* test
* tests without extracted validation process
* same base performance as on master
* benchmark
* simplify ethash verification
* ethash
* ethash
* linters
* ethash
* master stats
* cleanup
* gomod
* linters
* tests
* better locks
* Fix
* Remove logging for verifyHeaders
* Verification speed in the logs
* Fix compile error
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-02-25 19:40:45 +00:00
Alex Sharov
d4ef1f8516
blocks exec unwind - to support graceful shutdown ( #1494 )
...
* quit exec unwind
* quit exec unwind
* lint
2021-02-23 17:14:32 +00:00