Commit Graph

20403 Commits

Author SHA1 Message Date
Mark Holt
f99f326363
Bor fix frozen snapshot load (#8305)
This is a fix for at least one cause of this isssue:
https://github.com/ledgerwatch/erigon/issues/8212.

It happens after the end of the snapshot load, because the snapshot
processing which was introduced a couple of month ago does not deal with
validation of the headers at the start of the start of the chain.

I have also added a fix to the persistence so that the last snapshot is
recorded so that subsequent runs are not forced to process the whole
snapshot run from start.

The relationship between this an memory usage is that the fact that
headers are not processed leads to a queue of pending headers with size
of around 5GB. I have not changed any header parameters - so likely a
prolonged stop to header processing will result in a similar level of
memory growth.
2023-09-27 13:45:09 +01:00
Mark Holt
f26c7b389e
Bor break loop onrewind (#8302)
Add code to the headers state to break processing if a bor milestone
rewind is detected.

The rewind processing happens in the bor/heimdall stage - this change
just avoids unnecessary header loading
if a milestone fork is likely to be detected

---------

Co-authored-by: Anshal Shukla <shukla.anshal85@gmail.com>
2023-09-27 13:17:54 +01:00
Giulio rebuffo
d62ef03cad
Added states/fork and states/root to beacon API (#8293)
Added /eth/v1/beacon/states/{state_id}/root and
/eth/v1/beacon/states/{state_id}/fork
2023-09-27 11:15:51 +02:00
a
7a833e5dc5
can't change size of btree during ascend (#8295) 2023-09-27 09:42:20 +07:00
Andrew Ashikhmin
6afcd7eeb6
Update BeaconRootsAddress (#8294)
Set BeaconRootsAddress to `0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02`
in preparation for
[dencun-devnet-9](https://notes.ethereum.org/@ethpandaops/dencun-devnet-9)
per https://github.com/ethereum/EIPs/pull/7672. Hopefully this will be
the final change to BeaconRootsAddress.

Also update execution-spec-tests to
[v1.0.5](https://github.com/ethereum/execution-spec-tests/releases/tag/v1.0.5).
2023-09-26 17:44:36 +02:00
Alex Sharov
b3f4520449
increase loginterval of txpool and p2p logs (#8291) 2023-09-26 13:29:19 +07:00
Mark Holt
f794438335
Diag session routing (#8232)
Code to support react based UI for diagnostics:

* pprof, prometheus and diagnistics rationalized to use a single router
(i.e. they can all run in the same port)
* support_cmd updated to support node routing (was only first node)
* Multi content support in router tunnel (application/octet-stream &
appliaction/json)
* Routing requests changed from using http forms to rest + query params
* REST query requests can now be made against erigon base port and
diagnostics with the same url format/params

---------

Co-authored-by: dvovk <vovk.dimon@gmail.com>
Co-authored-by: Mark Holt <mark@disributed.vision>
2023-09-25 16:24:17 +01:00
Alex Sharov
5641b52be0
evm: less defers in interpreter (#8179) 2023-09-25 08:53:04 +07:00
Alex Sharov
a22ab813af
evm: simplify addToAccessList methods (#8280) 2023-09-25 08:52:51 +07:00
Giulio rebuffo
75c42d15f5
Beacon API: added support octect-stream (#8282)
Added support for ssz response
2023-09-24 20:08:05 +02:00
Giulio rebuffo
a95914df26
Added blocks API and attestations API (#8279) 2023-09-24 01:44:26 +02:00
Alex Sharov
4bec348e62
better lint suggession (#8278) 2023-09-23 12:19:16 +07:00
Alex Sharov
71082b06ba
erigon-lib v1.0.0 release (#8277) 2023-09-23 10:28:08 +07:00
Alex Sharov
d5e64132e3
grafana version up (#8276) 2023-09-23 10:13:46 +07:00
Alex Sharov
87efdbd535
Update README.md (#8272) 2023-09-23 09:38:37 +07:00
a
de69dce19a
copy updates (#8275) 2023-09-22 21:09:26 +02:00
Giulio rebuffo
13720af42c
Caplin: Implemented internal tree for ValidatorSet (#8234) 2023-09-22 12:16:19 +02:00
ledgerwatch
ef1729214d
Fixes for bor snapshots (#8270) 2023-09-22 17:08:22 +07:00
lupin012
92446bfa66
Rpcdaemon: fixed few bugs in erigon_getLatestLogs (#8153)
doing some testing some bugs in the API implementation were found and
fixed

---------

Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2023-09-22 17:07:16 +07:00
Andrew Ashikhmin
e62e131a8e
Verify excessBlobGas (EIP-4844) (#8269) 2023-09-22 11:52:33 +02:00
Alex Sharov
75b0ba0c69
touch data when do warmup (#8268) 2023-09-22 14:36:54 +07:00
Alex Sharov
101815ffac
make Select64 inlinable (#8267) 2023-09-22 14:16:57 +07:00
battlmonstr
80d40ef898
ci: go mod tidy check (#8263) 2023-09-22 14:04:25 +07:00
Andrew Ashikhmin
ec2f50f74e
Upgrade execution-spec-tests to Cancun Devnet 9 Release 2 (#8262)
Upgrade execution-spec-tests to
[v1.0.4](https://github.com/ethereum/execution-spec-tests/releases/tag/v1.0.4).

Set BeaconRootsAddress to `0xbEAC020008aFF7331c0A389CB2AAb67597567d7a`
in preparation for
[dencun-devnet-9](https://notes.ethereum.org/@ethpandaops/dencun-devnet-9)
per https://github.com/ethereum/EIPs/pull/7672.
2023-09-22 08:53:21 +02:00
Alex Sharov
47f89c2b7e
torrent: allow --downloader.verify use all CPU's (#8253) 2023-09-22 08:47:27 +07:00
Andrew Ashikhmin
9da6b52dba
Add engine_forkchoiceUpdatedV3 to engine_exchangeCapabilities (#8259)
See
https://discord.com/channels/595666850260713488/892088344438255616/1154413019170869379
2023-09-21 16:23:48 +02:00
Andrew Ashikhmin
8a616b7b93
Fix e3 integration tests (#8254)
Post fix to PR #8197. [This integration test
failure](https://github.com/ledgerwatch/erigon/actions/runs/6212734514/job/16863165117)
should be fixed now.
2023-09-21 14:53:03 +02:00
battlmonstr
a4d29a6412
make: refactor erigon-lib make tasks (#8249) 2023-09-21 13:50:59 +02:00
Srdjan
dedf04caaa
Pre-allocate method metric labels (#8243)
Closes #8085
2023-09-21 09:38:47 +02:00
Alex Sharov
69941e0a9b
mdbx_go: use right version in devel (#8250) 2023-09-21 04:58:15 +07:00
battlmonstr
9192ef8f5c
remove erigon-lib from .gitignore (#8251) 2023-09-21 02:56:05 +07:00
battlmonstr
0a1bbdb711
erigon-lib subdirectory module (#8201) 2023-09-20 15:18:38 +02:00
battlmonstr
c148ff76e7 erigon-lib CI steps 2023-09-20 14:53:14 +02:00
battlmonstr
9f9f99830b fix docker-build-check 2023-09-20 14:53:09 +02:00
battlmonstr
5fb5048511 refer to erigon-lib subdirectory module 2023-09-20 14:53:03 +02:00
battlmonstr
231e468e19 Add 'erigon-lib/' from commit '93d9c9d9fe4bd8a49f7a98a6bce0f0da7094c7d3'
git-subtree-dir: erigon-lib
git-subtree-mainline: 3c8cbda809
git-subtree-split: 93d9c9d9fe
2023-09-20 14:50:25 +02:00
Anshal Shukla
3c8cbda809
fix finalized api for polygon chain (#8247)
Co-authored-by: Ubuntu <ubuntu@ip-10-0-0-234.eu-west-1.compute.internal>
2023-09-20 13:32:22 +01:00
Somnath Banerjee
f51d9b61a0
Txpool 4844 upgrades Part 2 (#8213)
Some peer-review changes from the last related PR. 
Addition of a flag for BlobSlots - for max allowed blobs per account in
txpool.
Use BlobFee from the block to validate txs in the pool.

See also https://github.com/ledgerwatch/erigon-lib/pull/1125
2023-09-20 17:29:30 +05:30
Somnath Banerjee
93d9c9d9fe
Txpool 4844 upgrades Part 2 (#1125)
Fix some peer-review comments from the last related PR, and add some
enhancements

#### Change summary
- Addition of a flag for BlobSlots - for max allowed blobs per account
in txpool
- Use BlobFee from the block to validate txs in the pool
- Let go of unwound blob txn's onNewBlock, if not present in the cache;
we don't request them again from the network

Related: https://github.com/ledgerwatch/erigon/pull/8213
https://github.com/ledgerwatch/interfaces/pull/195
2023-09-20 11:23:10 +00:00
Andrew Ashikhmin
f6a6ab9b12
Support release/x.xx branches in CI (#8240)
It's safer to have branches for individual release series like
`release/2.50` for 2.50.x releases instead of overwriting `stable`. geth
does that already.
2023-09-20 08:42:25 +02:00
lmittmann
6985036070
turbo/adapter/ethapi: Add CallArgs.Input attribute (#8242)
This PR adds the ability to pass `input` instead of `data` in
`eth_call`.

Go-ethereum has support for the `input`-attribute (instead of the
`data`) in `eth_call` for some time. The recent go-ethereum release
v1.13.0 changed the ethclient to do a `eth_call` with the `input`
attribute rather than "data". This makes the latest go-ethereum
ethclient incompatible with erigon.

Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
2023-09-20 09:31:00 +07:00
Michelangelo Riccobene
2146ff016c
Add util to test native recsplit index creation (#8238)
In order to assess Silkworm recsplit index creation capability we need
some utils to trigger native (go) index creation
2023-09-20 08:44:51 +07:00
Andrew Ashikhmin
d8d16c3c7c
Fix Errorf (#8241)
Small fix after PR #8239
2023-09-19 17:15:23 +02:00
Mark Holt
f3902ef589
Add flag test to prevent milestone services from starting (#8239) 2023-09-19 14:10:09 +01:00
Andrew Ashikhmin
94ec54e7a5
Implement EIP-7516: BLOBBASEFEE opcode (#8231)
[EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) is part of
[devnet-9](https://notes.ethereum.org/@ethpandaops/dencun-devnet-9)
2023-09-19 10:45:19 +02:00
racytech
88ddd8caf0
holesky genesis update (#8225) 2023-09-19 04:36:13 +06:00
Mark Holt
3b45f53f3d
Milestone stage processing (#8187)
This is the second part of the bor milestone release it contains the
following changes:

* Initialize services
* This is a change from the initial pull request I have moved all of the
initialization to the bor engine. To facilitate this I have just passed
in the heimdall client interface, rather than the whole engine
* Stage processing 
* This is also a change from the original PR - the code is contained in
the bor heimdall stage rather than in headers - the effect should be the
same, but this needs testing

---------

Co-authored-by: Mark Holt <mark@disributed.vision>
Co-authored-by: Anshal Shukla <shukla.anshal85@gmail.com>
2023-09-18 18:05:33 +01:00
David
cad36b792c
Add eventlog index when using callTracer withLog (#8230)
First posted [here](https://github.com/ledgerwatch/erigon/pull/8195)
with bugs, which fixed in this PR.


When we call the debug_traceXXX API provided by Erigon, the withLog
option in tracerConfig is very helpful.

However, currently, the tracer cannot guarantee that the order of logs
output is consistent with the event logs returned in the transaction
receipt. This may make it difficult to use the output of the APIs. If
you need to access event logs in order, it is recommended to use the
event logs returned in the transaction receipt.

Here is an example to illustrate the reason why the order of callTracer
logs and receipt eventlogs can be inconsistent:

In a call trace tree, if a call has multiple logs and this call has
multiple child calls, and logs are also output in the child calls, the
logs of the child calls may be output between the logs of the parent
call in receipt.

I add an index field of log to identify log index of the logs in tracer
result, and it helps me a lot.
2023-09-18 13:48:37 +07:00
Andrew Ashikhmin
a6309fe02e
Upgrade execution-spec-tests to Cancun Devnet 9 Release (#8208)
Upgrade execution-spec-tests to
[v1.0.3](https://github.com/ethereum/execution-spec-tests/releases/tag/v1.0.3).

Set BeaconRootsAddress to `0xbEac00dDB15f3B6d645C48263dC93862413A222D`
in preparation for
[dencun-devnet-9](https://notes.ethereum.org/@ethpandaops/dencun-devnet-9).
2023-09-18 08:45:52 +02:00
Alex Sharov
751de6a028
txpool: batch IdHashKnown calls - to reduce amount of mutex lock/unlock. less string(byte) casts (#8226) 2023-09-18 10:25:53 +07:00