Commit Graph

20182 Commits

Author SHA1 Message Date
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
Alex Sharov
2fca6e8442
txpool: batch IdHashKnown calls - to reduce amount of mutex lock/unlock. less string(byte) casts (#1128) 2023-09-18 03:25:33 +00:00
Giulio rebuffo
2aa060f454
Fixed forkchoice nil exception (#8223) 2023-09-17 17:06:44 +02:00
Giulio rebuffo
0b307e7aca
Fixed accidental chain gap (#8222)
A chain gap can occur when peers may not give us enough info
2023-09-17 16:25:17 +02:00
Giulio rebuffo
c1961eff2b
Added the option to directly write blocks on io.Writer. (#8215) 2023-09-17 13:15:06 +02:00
Andrew Ashikhmin
17d6f86218
Don't mark blocks as bad on transient errors (#8197)
For example, erigon on devnet8 marked a block as bad due to
"mdbx_cursor_open: cannot allocate memory":
```
[INFO] [09-12|04:57:36.041] [NewPayload] Handling new payload        height=171035 hash=0x321dea00c4853ee354bebaf8aef3e63fbe06c4508271c0db4c92b0f087aedc3b
171034
[WARN] [09-12|04:57:36.069] Could not validate block                 err="[3/7 BlockHashes] table: Header, mdbx_cursor_open: cannot allocate memory, stack: [kv_mdbx.go:1057 kv_mdbx.
go:1069 kv_mdbx.go:1077 memory_mutation.go:473 memory_mutation.go:502 etl.go:123 etl.go:96 block_writer.go:40 stage_blockhashes.go:49 default_stages.go:457 sync.go:425 sync.go:258 s
tageloop.go:414 backend.go:476 fork_validator.go:250 fork_validator.go:156 ethereum_execution.go:151 execution_client.go:51 chain_reader.go:252 engine_server.go:741 engine_server.go
:235 engine_server.go:600 value.go:586 value.go:370 service.go:224 handler.go:494 handler.go:444 handler.go:392 handler.go:223 handler.go:316 asm_amd64.s:1598]"
[WARN] [09-12|04:57:36.069] ethereumExecutionModule.ValidateChain: chain is invalid hash=0x321dea00c4853ee354bebaf8aef3e63fbe06c4508271c0db4c92b0f087aedc3b
```
With this PR blocks are marked as bad only on genuine protocol errors.
2023-09-17 11:14:36 +02:00
racytech
fa4cf492d4
Revert "remove extra data from holesky genesis (#8207)" (#8217)
This reverts commit 438dd6bdb1. Broke CI.
Reverted. Will make another PR.
2023-09-16 20:54:53 +06:00
a
c44188871b
Update readme ports (#8205) 2023-09-15 18:27:13 +02:00
racytech
438dd6bdb1
remove extra data from holesky genesis (#8207) 2023-09-15 22:00:56 +06:00
Alex Sharov
eb747c042a
Downloader: add tests to protect from re-downloading (#8191) 2023-09-15 13:46:59 +07:00
Alex Sharov
47c5089a88
Downloader: add tests to protect from re-downloading (#1126) 2023-09-15 06:46:50 +00:00
Giulio rebuffo
c552f993ac
Removed Partial blocks and reduced pruneDepth to 1000 (#8198) 2023-09-14 22:14:05 +02:00
Giulio rebuffo
1f77fee04a
Fixed pending block response (#8200) 2023-09-14 22:13:41 +02:00
Alex Sharov
9c47978472
Revert "add eventlog index when using callTracer withLog" (#8196)
Reverts ledgerwatch/erigon#8195
2023-09-14 17:13:47 +07:00
David
d20de9508e
add eventlog index when using callTracer withLog (#8195)
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-14 16:36:49 +07:00
Alex Sharov
7132de98e0
Update README.md (#8194) 2023-09-14 15:13:39 +07:00
Mark Holt
b959b6c47c
Group metrics by type and fix missed label stripping (#8186)
This fixes issue https://github.com/ledgerwatch/erigon/issues/8181
2023-09-14 08:28:57 +01:00
alex.sharov
6f503165cd Revert "reduce amount of index workers (#8192)"
This reverts commit e9a8e669e6.
2023-09-14 12:25:01 +07:00
Alex Sharov
e9a8e669e6
reduce amount of index workers (#8192)
https://github.com/ledgerwatch/erigon/issues/8189
2023-09-14 12:21:56 +07:00
Giulio rebuffo
2f8687fe08
Smart SQL transactions (#8185) 2023-09-14 02:56:29 +02:00
Mark Holt
33d8c08c1c
Get vote on hash (#8172)
This is the initial merge for polygon milestones it implements an rpc
call used by heimdall but does not directly impact any chain processing
2023-09-13 11:49:49 +01:00
Alex Sharov
93fbda14a5
downloader: support --chain parameter (#8184) 2023-09-13 15:21:43 +07:00