Commit graph

16436 commits

Author SHA1 Message Date
Manav Darji
54f97b8598
internal/cli: add support for bor.logs flag in new-cli (#541)
* add support for bor.logs flag in new-cli

* handle bor.withoutheimdall flag commenting in conversion script
2022-10-05 23:38:19 +05:30
Shivam Sharma
58170b6141 chg : changes 2022-10-05 16:55:39 +05:30
Shivam Sharma
f98eb40871 changes 2022-10-05 13:48:57 +05:30
Manav Darji
f4fcfd38d5
Merge pull request #539 from maticnetwork/manav/cherry-picks-for-qa
Merge commits to qa
2022-10-04 22:13:42 +05:30
Manav Darji
1a51560726 make script OS independent (#538) 2022-10-04 22:00:35 +05:30
Manav Darji
c724671172 rm: snapshot found log in bor consensus (#504) 2022-10-04 22:00:31 +05:30
Manav Darji
1022d309b7
make script OS independent (#538) 2022-10-04 21:54:47 +05:30
Martin Holst Swende
e14164d516
core: fix linter complaint (#25927) 2022-10-04 18:09:05 +02:00
Shivam Sharma
fc16da5c76 add : minor changes 2022-10-04 17:44:23 +05:30
Péter Szilágyi
4f7a425aa8
Merge pull request #25924 from holiman/comments_fix
all: fix docstrings
2022-10-04 13:30:00 +03:00
Arpit Temani
067c037859 testcase 2022-10-04 13:23:18 +05:30
Martin Holst Swende
ee301c750b
all: fix docstrings 2022-10-04 09:18:02 +02:00
Arpit Temani
67554f7d1d merge develop 2022-10-04 12:34:35 +05:30
Shivam Sharma
c8b2dd1649 add : TestSprintDependantReorgs init 2022-10-03 18:44:57 +05:30
rjl493456442
1913b50111
eth, miner: add timeout for building sealing block (#25407)
* eth, miner: add timeout for building sealing block

* eth, cmd, miner: add newpayloadtimeout flag

* eth, miner, cmd: address comments

* eth, miner: minor fixes

Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-10-03 14:10:00 +02:00
Martin Holst Swende
f61b50b1e8
eth/protocols/snap: serve snap requests when possible (#25644)
This PR makes it so that the snap server responds to trie heal requests when possible, even if the snapshot does not exist. The idea being that it might prolong the lifetime of a state root, so we don't have to pivot quite as often.
2022-10-03 13:37:17 +02:00
zhiqiangxu
a724163e59
core/types: add a testcase to TestLegacyReceiptDecoding (#25909)
add a testcase to TestLegacyReceiptDecoding
2022-10-03 12:56:21 +02:00
Martin Holst Swende
ea26fc8a6c
cmd/geth, cmd/utils: geth attach with custom headers (#25829)
This PR makes it possible to set custom headers, in particular for two scenarios: 

- geth attach
- geth commands which can use --remotedb, e..g geth db inspect

The ability to use custom headers is typically useful for connecting to cloud-apis, e.g. providing an infura- or alchemy key, or for that matter access-keys for environments behind cloudflare.  

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-09-30 13:50:25 +02:00
Arpit Temani
2a6ea470a0
Mining Analysis (#429)
* base setup for miner opentel

* version change

* modify ctx passing

* add attributes

* update fill txs span attributes

* fix: use common attributes for remote and local txs

* pass context in seal

* fix

* fix

* add traces to finalize and assemble

* fix

* use task ctx in result loop

* only start parent span if no error

* send nil tracer from Finalize

* clean up

* add sub function timings in span attribute

* modify span attributes

* set time attribute to milliseconds

* linters fix

* fix linters for consensus

* add nolint to worker

* fix testcase

* Added fillTransactions subTraces

* add traces in intermediate root hash function

* add traces in WriteBlockAndSetHead function, fix linters

* fix: linting errors

* fix: test cases

* fix: go.mod

* fix: testcase

* extract tracing package

* linters fix

* debug

* Revert "debug"

This reverts commit 2d68b7c7b1105080563a4e1a6949dabc10acaff8.

* fix: panic in NewTransactionsByPriceAndNonce iteration

* change heimdall version to develop

* miner/worker: fix duplicate call to tx ordering

* miner/worker: refactor tracing

* consensus/bor: use tracing package

* tracing: add more abstraction for spans

* tracing: set all attributes at once

* remove nested tracing from blockchain.WriteBlockAndSetHead function

* remove nested tracing from statedb.IntermediateRoot function

* handle end span in bor.Seal function

* fix: typo

* minor fixes

* fix: linters

* fix: remove nolint

* go mod tidy

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-09-30 13:40:18 +05:30
Jerry
ad658b6b99 Minor bug fix 2022-09-29 23:05:09 -07:00
Jerry
e63e390ec7 Recognize bad transactions and break loop in blockstm executor 2022-09-29 23:05:09 -07:00
Jerry
471afc8da2 Refactor blockstm executor 2022-09-29 23:05:09 -07:00
Martin Holst Swende
07e0704ca9
internal/flags: fix issue with stringslice migration (#25830)
This fixes a cornercase bug where the flag migration would mess
up the value of StringSlice flags.
2022-09-29 20:16:36 +02:00
Pratik Patil
d107c183b8 fixed a small bug in the Report function (#530) 2022-09-29 09:28:05 -07:00
Mikhail Vazhnov
f651d6d56b
accounts/abi/bind: parse ABI only once on bind (#25574)
* accounts/abi/bind: parse ABI once on bind

* accounts/abi/bind: suppress 'imported and not used' error for abi package
2022-09-29 11:44:22 +02:00
Sina Mahmoodi
ff1f49245d
eth/tracers: remove revertReasonTracer, add revert reason to callTracer (#25508)
* eth/tracers: add revertReason to callTracer

* update callframe gen json

* add revertal to calltrace test
2022-09-29 11:36:07 +02:00
Pratik Patil
43e5d3aa09
PR#518 and PR#529 -> qa (#532)
* Added script to generate config.toml fromstart.sh (#518)

* added go and bash script to get config out of start.sh and updated flagset.go

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated script

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated tests, and removed requiredblocks from json and hcl

* addressed comments

* internal/cli/server: fix flag behaviour (#529)

* remove setting maxpeers to 0 for nodiscover flag

* set default prometheus and open-collector endpoint

* skip building grpc address from pprof address and port

* fix: linters

* fix and improve tests

* use loopback address for prometheus and open-collector endpoint

* add logs for prometheus and open-collector setup

* updated the script to handle prometheus-addr

* updated builder/files/config.toml

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-09-29 14:25:27 +05:30
Ceyhun Onur
c2918c2f47
accounts/abi: return toGoType error immediately (#25565) 2022-09-29 10:47:12 +02:00
rjl493456442
052c634917
core: rework tx indexer (#25723)
This PR reworks tx indexer a bit. Compared to the original version, one scenario is no longer handled - upgrading  from legacy geth without indexer support. 

The tx indexer was introduced in 2020 and have been present through hardforks, so it can be assumed that all Geth nodes have tx indexer already. So we can simplify the tx indexer logic a bit:

-    If the tail flag is not present, it means node is just initialized may or may not with an ancient store attached. In this case all blocks are regarded as unindexed
-   If the tail flag is present, it means blocks below tail are unindexed, blocks above tail are indexed

This change also address some weird cornercases that could make the indexer not work after a crash.
2022-09-29 09:50:24 +02:00
Raneet Debnath
09e62ca35c new: assert block authors 2022-09-29 12:15:29 +05:30
Raneet Debnath
5b324f4b84 new: add some more checks 2022-09-29 11:15:56 +05:30
Jerry
f7c041fdb1 Do not write entire objects directly when applying write set in blockstm 2022-09-28 16:12:20 -07:00
Jerry
c36ad88aec Block-stm optimization
Added tests for executor and some improvements:

1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure.
2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings.
3. Use sync.Map to reduce the time spent in global mutex.
4. Skip applying intermediate states.
5. Estimate dependency when an execution fails without dependency information.
6. Divide execution task queue into two separate queues. One for relatively certain transactions, and the other for speculative future transactions.
7. Setting dependencies of Txs coming from the same sender before starting parallel execution.
8. Process results in their semantic order (transaction index) instead of the order when they arrive. Replace result channel with a priority queue.
2022-09-28 16:12:20 -07:00
Pratik Patil
4507b2e057 added getReadMap and getWriteMap (#473) 2022-09-28 16:12:20 -07:00
Pratik Patil
f7bd7ca66b Txn prioritizer implemented using mutex map (#487)
* basic txn prioritizer implemented using mutex map

* Re-execute parallel tasks when there is a read in coinbase or burn address

* Re-execute parallel tasks when there is a read in coinbase or burn address

* using *sync.RWMutex{} in mutexMap

Co-authored-by: Jerry <jerrycgh@gmail.com>
2022-09-28 16:12:20 -07:00
Jerry
ab3ebebcca Re-execute parallel tasks when there is a read in coinbase or burn address 2022-09-28 16:12:20 -07:00
Jerry
61accb021a Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions 2022-09-28 16:12:20 -07:00
Jerry
bbcc6dd0ad Parallel state processor 2022-09-28 16:12:20 -07:00
Jerry
b1ba97c4f5 Create MVHashMap and use it StateDB 2022-09-28 16:12:20 -07:00
Arpit Temani
c11e165a34 accounts to coinbase 2022-09-29 01:05:17 +05:30
Arpit Temani
690380aebf
Merge branch 'develop' into arpit/pos-655 2022-09-29 00:08:50 +05:30
TY
88132afc3f
internal/ethapi: handle odd length hex in decodeHash (#25883)
This change adds zero-padding (prefix) of odd nibbles in the decodeHash function. 

Co-authored-by: ty <ty@oncoder.com>
2022-09-28 18:55:44 +02:00
Jerry
ebbe100ff1 Change heimdall branch to develop in CI 2022-09-28 08:57:00 -07:00
Raneet Debnath
8d5f66b7ad new: init pos-845 testcase 2022-09-28 21:25:19 +05:30
Delweng
85aafcfb2b
eth/tracers: fix a bug in prestateTracer (#25884) 2022-09-28 17:52:39 +02:00
Arpit Temani
648291a217
Merge pull request #533 from cffls/develop
Change heimdall branch to develop in CI
2022-09-28 20:34:38 +05:30
lmittmann
2b1299b1c0
core/vm: minor trivial clean up (#25880)
* dropped `vm.keccakState` for `crypto.KeccakState`

* cleaned up `OpCode.IsPush()`
2022-09-28 13:21:54 +02:00
Alexey Shekhirin
53d68feea8
tests: report mgas/s metric in evm benchmarks (#25700)
* test(state): report mgas/s metric in EVM benchmark

* revert testdata submodule update

* aggregate mgas/s results

* calculate elapsed time better

* tests: benchmarks - handle access list + take refund into account

Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-09-28 10:39:20 +02:00
lightclient
1743e61130
accounts/abi/bind/backends: fix AdjustTime to respect Fork (#25225) 2022-09-28 09:55:07 +02:00
Martin Holst Swende
456b187892
trie, eth/protocols/snap: less tiny db-writes during trie-healing (#25681)
This PR prevent making tiny writes during state healing, by only performing the batch-write if the accumulated data is large enough to be meaningful.
2022-09-28 08:08:18 +02:00