Commit Graph

2959 Commits

Author SHA1 Message Date
alex.sharov
93d594cc8a save 2023-04-19 12:25:27 +07:00
alex.sharov
04a4b1ed56 save 2023-04-19 12:22:53 +07:00
alex.sharov
3b66aa0571 save 2023-04-19 12:12:51 +07:00
alex.sharov
72502e18f0 save 2023-04-19 11:46:50 +07:00
alex.sharov
c733596f59 cumulative index stage: ctrl+C support 2023-04-19 10:56:02 +07:00
Alex Sharov
558f5bdfdd
e3: less use testTx method, more sentryMock (to support e4) (#7329) 2023-04-18 04:15:01 +00:00
alex.sharov
ef73159657 save 2023-04-18 08:30:27 +07:00
Giulio rebuffo
515aedda7b
Added Caplin Phase 1 (#7290)
* Introduces full beacon validation
* Removes light client
* NOTE: slow on purpose, I want everything to be BLS verified for now.
2023-04-17 18:06:50 +00:00
Alex Sharov
62d1e8a66c
e3: in-general merge must not see "overlaps/deleted" files, but merge of history need access to corresponding index files (even if they marked as deleted or already merged - before kill -9) (#7321) 2023-04-17 05:54:29 +00:00
racytech
7aa217f015
eip-4844: setting header's excess_data_gas, verifiying eip-4844 headers (#7308)
In this PR Header's ExcessDataGas is set to the actual value, but it's
still unused. It will be used to compute data fee for eip-4844 data
blobs, logic of which will be added in later PRs. Also eip-4844 header
verification logic added.
2023-04-16 08:12:40 +00:00
Andrew Ashikhmin
9b81302d9d
Embed AuRa config into chain Config (#7307)
Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/970
2023-04-14 07:51:25 +00:00
Andrew Ashikhmin
96bb5d544b
Remove Parlia (#7306)
Pre-requisite: https://github.com/ledgerwatch/erigon-lib/pull/969
2023-04-14 06:24:10 +00:00
Andrew Ashikhmin
02f6cac7b7
Move hexutil.Bytes to erigon-lib (#7305) 2023-04-13 11:19:02 +00:00
racytech
47fd86e4fb
eip-4844: assigned value to excessDataGas, unused packages removed (#7289)
`excessDataGas` has been partially made eip-4844 ready, so instead of
passing nils to functions, now it actually assigned to some value (it is
expected to be nil until cancun update).
2023-04-12 05:45:44 +00:00
alex.sharov
6e57f3ef92 e3: less conlicts 2023-04-10 09:38:08 +07:00
Alex Sharov
895e61d1ab
e3: merge out chan+heap to one class (#7287) 2023-04-10 02:33:20 +00:00
Reinhard Schu
cbe92dc6a4
Update README.md (#7284)
Update description of stages
2023-04-10 01:46:10 +00:00
Giulio rebuffo
c1cf58ef93
Added forkchoice rule (#7281)
Added fork choice rule to Erigon-CL
2023-04-08 01:01:10 +00:00
ledgerwatch
9690228ede
[Diagnostics] Simplify logging settings, introduce correct log rotation with lumberjack (#7273)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-04-07 21:08:44 +00:00
Alex Sharov
e26c607922
e3: combine input tasks channel+heap to class PriorityQueueWithRetry and add docs (#7275) 2023-04-07 06:43:05 +00:00
Alex Sharov
9b5d7357dd
e3: remove sync.Cond and make ownership of first queue clearer (producer will close it). (#7268)
Separate: 
- new tasks coming by channel with limited capacity (touching the limit
will block - like sync.Cond.Wait() does, but composable). as a result -
don't need track queue size (it will not increase conflict-rate).
- re-exec tasks are going to priority-queue (which is also higher
priority than 1-st `chan`).
2023-04-06 09:03:54 +00:00
alex.sharov
962ab2a767 e3: deadlock fix - handle close chanel well 2023-04-05 11:50:58 +07:00
Alex Sharov
64e7e788b5
e3: print background indexing logs in e2 style (summary of all files progress in 1 line) (#7256) 2023-04-05 04:49:02 +00:00
Alex Sharov
a42d362cbd
move aura epoch data from chainDB to auraDB. remove epochReader parameter from consensus interface (#7250) 2023-04-04 03:30:07 +00:00
Alex Sharov
625b0c5b15
take in account memlimit of cgroups (#7204)
for cgroups v2 support see:
https://github.com/shirou/gopsutil/issues/1416
2023-04-04 03:29:56 +00:00
ledgerwatch
7258a2b872
Remove BSC support in Erigon (step 1) (#7246)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-04-03 14:46:21 +00:00
racytech
d67087f7fd
eip-4844: ApplyTransaction now expects excessDataGas (#7233)
Tiny addition to ApplyTransaction. Now it expects excessDataGas param so
the BlockContext can be created with it
2023-04-03 14:30:28 +00:00
Alex Sharov
65fcec8d85
e3: replace sync.Cond to fix deadlock (#7243) 2023-04-03 11:33:43 +00:00
Alex Sharov
06da707d58
e3: add metric for repeat count (#7239) 2023-04-03 04:34:45 +00:00
Alex Sharov
ef017cbdf0
Revert "to fix txpool startup race (#7165)" (#7227)
This reverts commit 36cce22d81.
2023-03-31 02:54:20 +00:00
racytech
04b57904b0
eip-4844: excessDataGas param added to block execution functions (#7217)
Small addition to block execution functions. Now they expect
excessDataGas param so the BlockContext can be created with it.
2023-03-30 20:42:43 +00:00
alex.sharov
331f3ed871 e3: deadlock fix 2023-03-30 09:06:40 +07:00
Alex Sharov
592ec1ee0d
e4: step 1 to run tests (#7209) 2023-03-29 14:01:27 +00:00
Alex Sharov
f541f616e6
e3: one more reconst deadlock fix (#7207) 2023-03-29 07:32:31 +00:00
Alex Sharov
417a437584
Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
racytech
975e38a800
eip-4844: NewEVMBlockContext now expects excessDataGas (#7203)
Small change in core.NewEVMBlockContext and now it expects
excessDataGas. This will be used in state transition to compute data fee
for eip-4844 data blobs. The logic that computes it will be added in the
next PRs.
2023-03-29 06:39:36 +00:00
alex.sharov
3ce1b9b5ce e4: add tests flag 2023-03-29 11:55:45 +07:00
alex.sharov
afe0e385d2 e4: add flag in tests 2023-03-29 11:51:05 +07:00
alex.sharov
340cf1b3e3 e3: one more reconst deadlock fix 2023-03-28 10:57:12 +07:00
Alex Sharov
be860e38d3
e3: recon deadlock fix (#7186) 2023-03-27 03:15:54 +00:00
Alex Sharov
cff73b8aec
add constant kv.Unlim=-1 (#7183) 2023-03-26 03:18:04 +00:00
Alex Sharov
201572c6f5
enable more linters #954 (#7179) 2023-03-25 05:13:27 +00:00
alex.sharov
5445058190 DomainRange 2023-03-25 11:46:05 +07:00
Alex Sharov
f4fb329c55
e3: remove some iterator (#7174) 2023-03-24 08:36:52 +00:00
Alex Sharov
36cce22d81
to fix txpool startup race (#7165)
```

==================
WARNING: DATA RACE
Write at 0x00c0005dc570 by goroutine 273633:
  github.com/ledgerwatch/erigon/turbo/shards.(*Accumulator).Reset()
      github.com/ledgerwatch/erigon/turbo/shards/state_change_accumulator.go:32 +0x5ec
  github.com/ledgerwatch/erigon/turbo/stages.StageLoopStep()
      github.com/ledgerwatch/erigon/turbo/stages/stageloop.go:163 +0x3bd
  github.com/ledgerwatch/erigon/turbo/stages.StageLoop()
      github.com/ledgerwatch/erigon/turbo/stages/stageloop.go:94 +0x197
  github.com/ledgerwatch/erigon/eth.(*Ethereum).Start.func1()
      github.com/ledgerwatch/erigon/eth/backend.go:1058 +0x10b

Previous write at 0x00c0005dc570 by goroutine 273468:
  github.com/ledgerwatch/erigon/turbo/shards.(*Accumulator).Reset()
      github.com/ledgerwatch/erigon/turbo/shards/state_change_accumulator.go:32 +0x2ef
  github.com/ledgerwatch/erigon/turbo/shards.(*Accumulator).SendAndReset()
      github.com/ledgerwatch/erigon/turbo/shards/state_change_accumulator.go:41 +0x228
  github.com/ledgerwatch/erigon/eth.New.func8()
      github.com/ledgerwatch/erigon/eth/backend.go:620 +0x80e

```
2023-03-23 05:42:05 +00:00
Alex Sharov
9001f668a7
go 1.19 atomics (#7164) 2023-03-23 05:11:28 +00:00
Jason Yellick
a09541c82c
Add eth_getProof support for historical blocks (#7115)
This PR starts with a few small commits of code cleanup. Reviewed
separately they should hopefully obviously be functionally no-ops. I'm
happy to strip these out and submit them separately if desired.

The final commit is to add support for older blocks as a parameter to
eth_getProof. In order to compute proofs, the function leverages the
staged sync unwinding code to bring the hashed state table back to its
historic state, as well as to build a list of trie nodes which need to
be invalidated/re-computed in the trie computation. Because these
operations could be expensive for very old blocks, it limits the
distance proofs are allowed from the head. It also adds some additional
checks for correctness, as well as tests which verify the
implementation.

This was discussed a bit on Discord in the db-format topic.

---------

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-23 03:22:33 +00:00
alex.sharov
ebfc2344ca e3: close context 2023-03-22 15:11:08 +07:00
alex.sharov
f69f7095bb e3: exec to use half of CPU's by default 2023-03-22 10:17:03 +07:00
Andrew Ashikhmin
4087510c2e
Total difficulty can be huge on Gnosis (#7149)
This fixes the following issue observed on gnosis_withdrawals_devnet_2:
```
[DBUG] [03-21|09:24:15.060] Handling incoming message                stream=RecvMessage err="newBlock66: too large block TD: bitlen 144"
```
2023-03-21 09:38:06 +00:00