Commit graph

3034 commits

Author SHA1 Message Date
Lucca Martins
f30ef31c25
process parent block hash in state parallel 2025-02-19 11:32:42 -03:00
Lucca Martins
f19812f32c
removing tests on eip-6110 because bor has no deposit contracts 2025-02-16 19:25:47 -03:00
Lucca Martins
9b0ca36507
ensure latest HF is always with p256 verify 2025-02-16 19:07:47 -03:00
Lucca Martins
1de5835163
small fix building 2025-02-16 17:01:33 -03:00
Lucca Martins
1193fc40e0
disabling requests 2025-02-16 17:00:40 -03:00
Lucca Martins
9367a9e9f3
remove byzantine routine prefetcher 2025-02-16 16:57:38 -03:00
Lucca Martins
fcdefd9e51
including interrupt context back 2025-02-16 16:49:40 -03:00
Lucca Martins
7cb7653a18
try removing byzantine prefetecher to solve goroutine leak 2025-02-14 15:39:02 -03:00
Lucca Martins
0873515bcf
Merge remote-tracking branch 'origin/upstream_merge_v1.14.8' into lmartins/upstream_merge_v1.14.10 2025-02-11 03:51:43 -03:00
kamuikatsurgi
fc1d1fb01f
Merge develop 2025-02-11 10:22:01 +05:30
marcello33
44b94ca6d3
POS-2821: solve lint issues 2025-02-06 13:05:46 +01:00
Lucca Martins
26ec762a11
Merge remote-tracking branch 'origin/upstream_merge_v1.14.8' into lmartins/upstream_merge_v1.14.10 2025-02-04 10:35:52 -03:00
Lucca Martins
fc2198bedd
Merge tag 'v1.14.10' into lmartins/upstream_merge_v1.14.10 2025-02-04 07:41:07 -03:00
kamuikatsurgi
2d2dbcc398
Merge develop branch 2025-01-31 10:21:37 +05:30
chloefeal
b42c28dd93
fix: some typos (#1396)
* build(deps): bump golang.org/x/crypto from 0.24.0 to 0.31.0

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.24.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.24.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: typo

Signed-off-by: chloefeal <188809157+chloefeal@users.noreply.github.com>

* fix: typo

Signed-off-by: chloefeal <188809157+chloefeal@users.noreply.github.com>

* fix: typo

Signed-off-by: chloefeal <188809157+chloefeal@users.noreply.github.com>

* fix: typo

Signed-off-by: chloefeal <188809157+chloefeal@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: chloefeal <188809157+chloefeal@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raneet Debnath <35629432+Raneet10@users.noreply.github.com>
2025-01-31 01:02:27 +05:30
Manav Darji
a2f545573c
miner: get rid of test_backend helper functions (#1424)
* initial work for removing tracing from worker

* fix more things

* miner: sync code with worker.go, remove traces

* fix lint

* miner, core: get rid of test_backend helper functions

* miner: handle delay during tests in block building

* fix lint

* miner: reset context to get rid of parent timeout context

* miner: refactor test
2025-01-30 23:07:58 +05:30
Manav Darji
8a1e0ec125
Enforce parallel evm via flag (#1425)
* (feat): implement --parallelevm.enforce to force using block-stm

* core: debug log

* docs: update docs with new flag

* update all config files

* core: modify chain import test to enforce parallel processing
2025-01-30 23:01:27 +05:30
Manav Darji
9da0432ec2
miner, consensus, core: remove tracing in mining workflow (#1422)
This PR removes open telemetry based tracing from the whole mining workflow. The tracing extended into consensus and core blockchain functions from miner is also removed in this PR. We weren't checking the tracing from a long time and the way it was implemented increased the code complexity a lot.
2025-01-30 22:27:03 +05:30
kamuikatsurgi
78513d75a3
Merge develop and remove commented code 2025-01-30 16:15:29 +05:30
Jerry
c038dd26ce
Remove redundant locks from txpool (#1420) 2025-01-28 08:49:30 -08:00
Manav Darji
3a3e619d4c
Merge pull request #1411 from maticnetwork/manav/indexer-graceful-shutdown
core/rawdb: prevent ungraceful shutdown in tx indexing
2025-01-24 16:12:26 +05:30
kamuikatsurgi
f09f89e1cb
make bor && make all successful 2025-01-22 15:36:07 +05:30
Jerry
99be105427
Make block execution timer more accurate
Block execution contains the time it takes to fetch state sync data from heimdall, which sometimes returns data with long latency (> 1s). When the latency is significant, the chain execution time will be affected and become inaccurate. This PR isolate the time of heimdall requests from block execution.
2025-01-15 14:39:44 -08:00
Jerry
47cdc309f5
Fix hasher (#1394)
This will fix a hasher bug that was introduced in a23701f2d4
2024-12-24 09:03:55 -08:00
Jerry
b49047f4ee
core/state: fix SetStorage override behavior (#30185) (#1393)
This pull request fixes the broken feature where the entire storage set is overridden.

Originally, the storage set override was achieved by marking the associated account
as deleted, preventing access to the storage slot on disk. However, since #29520, this
flag is also checked when accessing the account, rendering the account unreachable.

A fix has been applied in this pull request, which re-creates a new state object with all
account metadata inherited.

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2024-12-24 09:03:42 -08:00
Jerry
d68987696a
Fallback to serial execution if parallel execution fails (#1392) 2024-12-24 09:03:30 -08:00
Jerry
67b12b50df
Fix incorrect balance when CreateContract is used in block-stm (#1382)
* Fix incorrect balance when CreateContract is used in block-stm

* address CR comments
2024-12-10 18:56:47 +05:30
Manav Darji
ee5318b07b
core: validate chain before writing block (#1319) 2024-11-18 12:48:04 +05:30
Pratik Patil
9adec0290d
Merge pull request #1369 from maticnetwork/master
Backport master to develop (v1.5.2)
2024-10-30 21:27:24 +05:30
jj1980a
a106bd18f7 check block number and timestamp options when filtering conditional transactions 2024-10-11 10:17:57 -07:00
luozexuan
69470888fa
chore: fix function name 2024-10-10 20:48:48 +08:00
Jerry
48bdfa7ffb Fix tx index limit not being used correctly 2024-10-09 07:59:21 -07:00
Jerry
af5c2b1cad
Merge remote-tracking branch 'upstream/master' into develop 2024-10-01 11:59:32 -07:00
Péter Szilágyi
1df75dbe36
Revert "core/txpool, eth/catalyst: ensure gas tip retains current value upon rollback" (#30521)
Reverts ethereum/go-ethereum#30495

You are free to create a proper Clear method if that's the best way. But
one that does a proper cleanup, not some hacky call to set gas which
screws up logs, metrics and everything along the way. Also doesn't work
for legacy pool local transactions.

The current code had a hack in the simulated code, now we have a hack in
live txpooling code. No, that's not acceptable. I want the live code to
be proper, meaningful API, meaningful comments, meaningful
implementation.
2024-09-27 13:56:25 +03:00
Péter Szilágyi
abbd3d9d21 core/txpool/blobpool: add test to check internal shuffling 2024-09-27 12:20:12 +03:00
Martin Holst Swende
9274f28210
core/txpool/blobpool: revert part of #30437, return all reinject-addresses 2024-09-27 08:24:23 +02:00
jwasinger
bb9897f11b
core/txpool, eth/catalyst: ensure gas tip retains current value upon rollback (#30495)
Here we move the method that drops all transactions by temporarily increasing the fee
into the TxPool itself. It's better to have it there because we can set it back to the
configured value afterwards. This resolves a TODO in the simulated backend.
2024-09-26 11:08:36 +02:00
jwasinger
80b529ea71
core/vm: more benchmarks for bls g1/g2-multiexp precompiles (#30459)
This change adds more comprehensive benchmarks with a wider-variety of input sizes for g1 and g2 multi exponentiation.
2024-09-24 13:53:46 +02:00
Karol Chojnowski
55ed8fef0b
core/tracing, core/vm: add ContractCode to the OpContext (#30466)
Extends the opcontext interface to include accessor for code being executed in current context. While it is possible to get the code via `statedb.GetCode`, that approach doesn't work for initcode.
2024-09-24 13:18:36 +02:00
maskpp
2278647ef2
core/rawdb: make sure specified state scheme is valid (#30499)
This change exits with error if user provided a `--state.scheme` which is neither `hash` nor `path`
2024-09-24 09:26:29 +02:00
rjl493456442
b805772cb4
core/state: commit snapshot only if the base layer exists (#30493)
This pull request skips the state snapshot update if the base layer is
not existent, eliminating the numerous warning logs after an unclean
shutdown.

Specifically, Geth will rewind its chain head to a historical block
after unclean shutdown and state snapshot will be remained as unchanged
waiting for recovery. During this period of time, the snapshot is unusable
and all state updates should be ignored/skipped for state snapshot update.
2024-09-23 19:27:29 +08:00
zhiqiangxu
956d32d3e4
core/state: fix comment of mode (#30490) 2024-09-23 09:29:07 +02:00
Jerry
352fb8adfa
Fix txIndexer 2024-09-20 19:49:26 -07:00
Péter Szilágyi
9326a118c7
beacon, core, eth, miner: integrate witnesses into production Geth (#30069)
This PR integrates witness-enabled block production, witness-creating
payload execution and stateless cross-validation into the `engine` API.
The purpose of the PR is to enable the following use-cases (for API
details, please see next section):

- Cross validating locally created blocks:
- Call `forkchoiceUpdatedWithWitness` instead of `forkchoiceUpdated` to
trigger witness creation too.
- Call `getPayload` as before to retrieve the new block and also the
above created witness.
- Call `executeStatelessPayload` against another client to
cross-validate the block.

- Cross validating locally processed blocks:
- Call `newPayloadWithWitness` instead of `newPayload` to trigger
witness creation too.
- Call `executeStatelessPayload` against another client to
cross-validate the block.

- Block production for stateless clients (local or MEV builders):
- Call `forkchoiceUpdatedWithWitness` instead of `forkchoiceUpdated` to
trigger witness creation too.
- Call `getPayload` as before to retrieve the new block and also the
above created witness.
- Propagate witnesses across the consensus libp2p network for stateless
Ethereum.

- Stateless validator validation:
- Call `executeStatelessPayload` with the propagated witness to
statelessly validate the block.

*Note, the various `WithWitness` methods could also *just be* an
additional boolean flag on the base methods, but this PR wanted to keep
the methods separate until a final consensus is reached on how to
integrate in production.*

---

The following `engine` API types are introduced:

```go
// StatelessPayloadStatusV1 is the result of a stateless payload execution.
type StatelessPayloadStatusV1 struct {
	Status          string      `json:"status"`
	StateRoot       common.Hash `json:"stateRoot"`
	ReceiptsRoot    common.Hash `json:"receiptsRoot"`
	ValidationError *string     `json:"validationError"`
}
```

- Add `forkchoiceUpdatedWithWitnessV1,2,3` with same params and returns
as `forkchoiceUpdatedV1,2,3`, but triggering a stateless witness
building if block production is requested.
- Extend `getPayloadV2,3` to return `executionPayloadEnvelope` with an
additional `witness` field of type `bytes` iff created via
`forkchoiceUpdatedWithWitnessV2,3`.
- Add `newPayloadWithWitnessV1,2,3,4` with same params and returns as
`newPayloadV1,2,3,4`, but triggering a stateless witness creation during
payload execution to allow cross validating it.
- Extend `payloadStatusV1` with a `witness` field of type `bytes` if
returned by `newPayloadWithWitnessV1,2,3,4`.
- Add `executeStatelessPayloadV1,2,3,4` with same base params as
`newPayloadV1,2,3,4` and one more additional param (`witness`) of type
`bytes`. The method returns `statelessPayloadStatusV1`, which mirrors
`payloadStatusV1` but replaces `latestValidHash` with `stateRoot` and
`receiptRoot`.
2024-09-20 16:43:42 +03:00
Szupingwang
c4c2c4fb14
core: minor fix for the log wrapper with debug purpose (#30454)
After this PR, https://github.com/ethereum/go-ethereum/pull/28187, the
way to set the default logger is different. This PR only updates the way
to set logger in some test cases' comments that existed in the codebase
(since this commit
https://github.com/ethereum/go-ethereum/commit/b63e3c37a6). Although I
am not sure if it a good way to leave the code in the comment, it truly
makes me more efficiently to debug and fix the failing test cases.
2024-09-19 14:38:06 +08:00
Sina M
868d53c2f2
genesis: fix dev mode alloc (#30460)
Balance being null causes `getGenesisState` to fail as the balance field
is required in json marshaling of an account.
2024-09-19 14:35:14 +08:00
Jerry
8e2afe5075
Fix mvhashmap test 2024-09-18 08:14:59 -07:00
Guillaume Ballet
d09600fdf9
Revert "core/rawdb: remove unused transition status state accessors" (#30449)
Reverts ethereum/go-ethereum#30433
2024-09-18 11:53:50 +03:00
Jerry
81efd63269
Quit early when read conflict is detected 2024-09-17 12:40:46 -07:00
Sina M
8032b63f16
core/tracing: add verkle gas change reasons to changelog (#30444)
Add changes from #30409 and #29338 to changelog.

---------

Co-authored-by: Martin HS <martin@swende.se>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2024-09-17 16:10:59 +02:00