Shivam Sharma
437e1d87bf
fix : lint
2024-02-16 11:49:06 +05:30
Shivam Sharma
c0bf289a84
fix : testcases
2024-01-10 17:12:37 +05:30
Shivam Sharma
a9fa325b7e
Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5
2023-12-15 13:55:57 +05:30
Martin Holst Swende
6b1e4f4211
all: move light.NodeSet to trienode.ProofSet ( #28287 )
...
This is a minor refactor in preparation of changes to range verifier. This PR contains no intentional functional changes but moves (and renames) the light.NodeSet
2023-10-10 10:30:47 +02:00
Arpit Temani
3626e5f7e4
fix testcase syntax
2023-09-20 15:57:37 +05:30
Arpit Temani
d3c5bc9b45
fix build
2023-08-21 17:48:09 +05:30
Arpit Temani
b343cffdb4
merge geth v1.12.2 into develop
2023-08-18 14:05:34 +05:30
rjl493456442
503f1f7ada
all: activate pbss as experimental feature ( #26274 )
...
* all: activate pbss
* core/rawdb: fix compilation error
* cma, core, eth, les, trie: address comments
* cmd, core, eth, trie: polish code
* core, cmd, eth: address comments
* cmd, core, eth, les, light, tests: address comment
* cmd/utils: shorten log message
* trie/triedb/pathdb: limit node buffer size to 1gb
* cmd/utils: fix opening non-existing db
* cmd/utils: rename flag name
* cmd, core: group chain history flags and fix tests
* core, eth, trie: fix memory leak in snapshot generation
* cmd, eth, internal: deprecate flags
* all: enable state tests for pathdb, fixes
* cmd, core: polish code
* trie/triedb/pathdb: limit the node buffer size to 256mb
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2023-08-10 22:21:36 +03:00
Felföldi Zsolt
d4d88f9bce
les: remove obsolete code related to PoW header syncing ( #27737 )
...
This change removes PoW header syncing related code from LES and also deletes
duplicated packages les/catalyst, les/downloader and les/fetcher. These package copies
were created because people wanted to make changes in their eth/ counterparts, but weren't
able to adapt LES code to the API changes.
2023-07-17 20:48:11 +02:00
Guillaume Ballet
8bbb16b70e
core/state, light, les: make signature of ContractCode hash-independent ( #27209 )
...
* core/state, light, les: make signature of ContractCode hash-independent
* push current state for feedback
* les: fix unit test
* core, les, light: fix les unittests
* core/state, trie, les, light: fix state iterator
* core, les: address comments
* les: fix lint
---------
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2023-06-28 12:11:02 +03:00
rjl493456442
ceca4578ca
trie: remove parameter 'fromLevel' in Prove ( #27512 )
...
This removes the feature where top nodes of the proof can be elided.
It was intended to be used by the LES server, to save bandwidth
when the client had already fetched parts of the state and only needed
some extra nodes to complete the proof. Alas, it never got implemented
in the client.
2023-06-19 16:28:40 +02:00
marcello33
f3ffacf2d7
dev: fix: most of wsl lint issues
2023-06-15 15:48:26 +02:00
marcello33
3af5e435c7
dev: fix: some wsl lint issues
2023-06-15 12:27:20 +02:00
marcello33
a043ec6d62
dev: add: merge upstream
2023-06-09 14:34:30 +02:00
Péter Szilágyi
950d5643b1
core/txpool: make transaction validation reusable across packages (pools) ( #27429 )
...
* core/txpool: abstraction prep work for secondary pools (blob pool)
* core/txpool: leave subpool concepts to a followup pr
* les: fix tests using hard coded errors
* core/txpool: use bitmaps instead of maps for tx type filtering
2023-06-06 12:53:29 +03:00
Péter Szilágyi
bbc565ab05
core/types, params: add blob transaction type, RLP encoded for now ( #27049 )
...
* core/types, params: add blob transaction type, RLP encoded for now
* all: integrate Cancun (and timestamp based forks) into MakeSigner
* core/types: fix 2 back-and-forth type refactors
* core: fix review comment
* core/types: swap blob tx type id to 0x03
2023-04-21 12:52:02 +03:00
Péter Szilágyi
cd31f2dee2
all: change chain head markers from block to header ( #26777 )
2023-03-02 08:29:15 +02:00
SHIVAM SHARMA
b1d86bd6ea
Shivam/txpool tracing ( #604 )
...
* lock, unlock to rlock, runlock
* add : tracing Pending() and Locals()
* Log time spent in committing a tx during mining
* Remove data from logging
* Move log into case where a tx completes without error
* profile fillTransactions
* fix conflict
* bug fixes
* add logs
* txpool: add tracing in Pending()
* rearrange tracing
* add attributes
* fix
* fix
* log error in profiling
* update file mode and file path for profiling
* full profiling
* fix log
* fix log
* less wait
* fix
* fix
* logs
* worker: use block number for prof files
* initial
* txList add
* fix gas calculation
* fix
* green tests
* linters
* prettify
* allocate less
* no locks between pending and reorg
* no locks
* no locks on locals
* more tests
* linters
* less allocs
* comment
* optimize errors
* linters
* fix
* fix
* Linters
* linters
* linters
* simplify errors
* atomics for transactions
* fix
* optimize workers
* fix copy
* linters
* txpool tracing
* linters
* fix tracing
* duration in mcs
* locks
* metrics
* fix
* cache hit/miss
* less locks on evict
* remove once
* remove once
* switch off pprof
* fix data race
* fix data race
* add : sealed total/empty blocks metric gauge
* add : RPC debug_getTraceStack
* fix : RPC debug_getTraceStack
* fix : RPC debug_getTraceStack for all go-routines
* linters
* add data race test on txpool
* fix concurrency
* noleak
* increase batch size
* prettify
* tests
* baseFee mutex
* panic fix
* linters
* fix gas fee data race
* linters
* more transactions
* debug
* debug
* fix ticker
* fix test
* add cacheMu
* more tests
* fix test panic
* linters
* add statistics
* add statistics
* txitems data race
* fix tx list Has
* fix : lint
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-12-12 12:34:02 +05:30
Péter Szilágyi
a6dda03644
all: refactor txpool into it's own package in prep for 4844
2022-10-24 16:35:53 +03:00
s7v7nislands
d86fe26f67
core/rawdb: refactor db key prefix ( #26000 )
...
Co-authored-by: seven <seven@nodereal.io>
2022-10-19 09:53:09 +02:00
Shivam Sharma
225a826e0e
add : TriesInMemory flag
2022-10-17 18:00:30 +05:30
rjl493456442
bff84a99fe
cmd, core, eth, les, light: track deleted nodes ( #25757 )
...
* cmd, core, eth, les, light: track deleted nodes
* trie: add docs
* trie: address comments
* cmd, core, eth, les, light, trie: trie id
* trie: add tests
* trie, core: updates
* trie: fix imports
* trie: add utility print-method for nodeset
* trie: import err
* trie: fix go vet warnings
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-09-27 10:01:02 +02:00
rjl493456442
22defa5af7
all: introduce trie owner notion ( #24750 )
...
* cmd, core/state, light, trie, eth: add trie owner notion
* all: refactor
* tests: fix goimports
* core/state/snapshot: fix ineffasigns
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-06-06 17:14:55 +02:00
Péter Szilágyi
9e17648d8c
les: duplicate downloader and fetcher to allow progressive refactoring
2021-09-10 11:11:59 +03:00
Péter Szilágyi
7a7abe3de8
accounts/abi/bind: fix bounded contracts and sim backend for 1559 ( #23038 )
...
* accounts/abi/bind: fix bounded contracts and sim backend for 1559
* accounts/abi/bind, ethclient: don't rely on chain config for gas prices
* all: enable London for all internal tests
* les: get receipt type info in les tests
* les: fix weird test
Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-06-15 13:56:14 +03:00
gary rong
7a3c890009
les, light: improve txstatus retrieval ( #22349 )
...
Transaction unindexing will be enabled by default as of 1.10, which causes tx status retrieval will be broken without this PR.
This PR introduces a retry mechanism in TxStatus retrieval.
2021-02-25 14:24:04 +01:00
Felföldi Zsolt
8f03e3b107
tests/fuzzers/les: add fuzzer for les server handler ( #22282 )
...
* les: refactored server handler
* tests/fuzzers/les: add fuzzer for les server handler
* tests, les: update les fuzzer
tests: update les fuzzer
tests/fuzzer/les: release resources
tests/fuzzer/les: pre-initialize all resources
* les: refactored server handler and fuzzer
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2021-02-20 10:40:38 +01:00
Felföldi Zsolt
7d1b711c7d
les: enable les/4 and add tests ( #22321 )
2021-02-12 20:48:18 +01:00
gary rong
034ecc3210
les: remove useless protocol defines ( #22115 )
...
This PR has two changes in the les protocol:
- the auxRoot is not supported. See ethereum/devp2p#171 for more information
- the empty response will be returned in GetHelperTrieProofsMsg request if the merkle
proving is failed. note, for backward compatibility, the empty merkle proof as well as
the request auxiliary data will still be returned in les2/3 protocol no matter the proving
is successful or not. the proving failure can happen e.g. request the proving for a
non-included entry in helper trie (unstable header).
2021-01-16 19:06:18 +01:00
Péter Szilágyi
017831dd5b
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>
2020-12-14 10:27:15 +01:00
gary rong
4fabd9cbd2
les: separate peer into clientPeer and serverPeer ( #19991 )
...
* les: separate peer into clientPeer and serverPeer
* les: address comments
2020-02-26 11:41:24 +02:00
gary rong
2ed729d38e
les: handler separation ( #19639 )
...
les: handler separation
2019-08-21 11:29:34 +02:00
gary rong
b80c840af3
core, les: fix les unit tests ( #19823 )
2019-07-22 15:45:40 +03:00
Péter Szilágyi
213690cdfd
cmd, eth, les: fix up ultra light config integration
2019-07-09 20:34:42 +03:00
gary rong
f7cdea2bdc
all: on-chain oracle checkpoint syncing ( #19543 )
...
* all: implement simple checkpoint syncing
cmd, les, node: remove callback mechanism
cmd, node: remove callback definition
les: simplify the registrar
les: expose checkpoint rpc services in the light client
les, light: don't store untrusted receipt
cmd, contracts, les: discard stale checkpoint
cmd, contracts/registrar: loose restriction of registeration
cmd, contracts: add replay-protection
all: off-chain multi-signature contract
params: deploy checkpoint contract for rinkeby
cmd/registrar: add raw signing mode for registrar
cmd/registrar, contracts/registrar, les: fixed messages
* cmd/registrar, contracts/registrar: fix lints
* accounts/abi/bind, les: address comments
* cmd, contracts, les, light, params: minor checkpoint sync cleanups
* cmd, eth, les, light: move checkpoint config to config file
* cmd, eth, les, params: address comments
* eth, les, params: address comments
* cmd: polish up the checkpoint admin CLI
* cmd, contracts, params: deploy new version contract
* cmd/checkpoint-admin: add another flag for clef mode signing
* cmd, contracts, les: rename and regen checkpoint oracle with abigen
2019-06-28 10:34:02 +03:00
Matthew Halpern
702f52fb99
les: prefer nil slices over zero-length slices ( #19081 )
2019-06-27 12:03:56 +03:00
gary rong
c8c3ebd593
les: reject client if it makes too many invalid requests ( #19691 )
...
* les: reject client connection if it makes too much invalid req
* les: address comments
* les: use uint32
* les: fix variable name
* les: add invalid counter for duplicate invalid req
2019-06-12 14:09:40 +03:00
gary rong
c0a034ec89
eth, les: reject stale request ( #19689 )
...
* eth, les: reject stale request
* les: reuse local head number
2019-06-11 10:40:32 +03:00
Felföldi Zsolt
58497f46bd
les, les/flowcontrol: implement LES/3 ( #19329 )
...
les, les/flowcontrol: implement LES/3
2019-05-30 20:51:13 +02:00
Felföldi Zsolt
40cdcf8c47
les, light: implement ODR transaction lookup by hash ( #19069 )
...
* les, light: implement ODR transaction lookup by hash
* les: delete useless file
* internal/ethapi: always use backend to find transaction
* les, eth, internal/ethapi: renamed GetCanonicalTransaction to GetTransaction
* light: add canonical header verification to GetTransaction
2019-05-13 14:41:10 +03:00
Matthew Halpern
6b0ddd141e
core, eth, les, light: store transaction receipts without txHash and gasCost
2019-04-15 13:15:39 +03:00
Zsolt Felfoldi
64f9c1ea09
les, light: remove support for les/1 4096 block CHT sections
2019-04-08 13:17:24 +02:00
Zsolt Felfoldi
5515f364ae
les: removed les/1 protocol messages
2019-04-08 13:17:24 +02:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
2019-03-06 13:35:03 +02:00
gary rong
7fd0ccaa68
core: remove unnecessary fields in logs, receipts and tx lookups ( #17106 )
...
* core: remove unnecessary fields in log
* core: bump blockchain database version
* core, les: remove unnecessary fields in txlookup
* eth: print db version explicitly
* core/rawdb: drop txlookup entry struct wrapper
2019-02-21 15:14:35 +02:00
b00ris
769657060e
les: implement ultralight client ( #16904 )
...
For more information about this light client mode, read
https://hackmd.io/s/HJy7jjZpm
2019-01-24 12:18:26 +01:00
gary rong
b69476b372
all: make indexer configurable ( #17188 )
2018-08-28 10:08:16 +03:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
Péter Szilágyi
7a0019c63b
les, light: fix CHT trie retrievals ( #16039 )
...
* les, light: fix CHT trie retrievals
* les, light: minor polishes, test remote CHT retrievals
* les, light: deterministic nodeset rlp, bloombits test skeleton
* les: add an event emission to the les bloombits test
* les: drop dead tester code
2018-02-11 14:57:46 +02:00