Commit Graph

1015 Commits

Author SHA1 Message Date
Alex Sharov
bb16f29c04
Compress: graceful shutdown support (#8098) 2023-08-30 10:20:43 +07:00
Giulio rebuffo
f5cc67fe5b
Added ranges to the Execution.proto (#8081) 2023-08-26 02:25:48 +02:00
Alex Sharov
e5cde45936
[wip]: test non-nil compress.Next (#8072)
Co-authored-by: Mark Holt <mark@distributed.vision>
2023-08-25 12:53:05 +01:00
Alex Sharov
c4def0402a
Torrent: add trackers list (#8071) 2023-08-25 10:45:08 +07:00
Alex Sharov
5224a7dc8c
update dot and chi libs (#8069) 2023-08-25 09:26:56 +07:00
Alex Sharov
2b6c21fddb
move mdbx to new org (#8061) 2023-08-24 18:00:24 +07:00
Alex Sharov
65d8b1d328
metrics: prevent commit metrics duplication (#8059) 2023-08-24 09:24:02 +07:00
Alex Sharov
523504c557
rapid lib support go21 (#8051) 2023-08-23 07:21:32 +07:00
Alex Sharov
af72e993cd
torrent lib to support go21 (#8050) 2023-08-23 07:15:42 +07:00
Giulio rebuffo
bd81e15981
Caplin: Implemented SQL beacon indexer (#8043) 2023-08-22 01:24:26 +02:00
ledgerwatch
6b6c0caad0
Snapshots of Bor events (#7901)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alex Sharp <alexsharp@alexs-mbp-2.home>
2023-08-18 17:10:35 +01:00
Somnath Banerjee
384c6ba9ee
Go mod update lib (#8039)
Pick up https://github.com/ledgerwatch/erigon-lib/pull/1080
2023-08-18 19:55:54 +05:30
a
521f0df55b
Historical block downloader (#8016) 2023-08-16 04:32:40 +02:00
Alex Sharov
d0ce7380aa
up 'x' packages versions (#8005) 2023-08-12 11:58:32 +06:00
Giulio rebuffo
de5706dbc6
Direct sentinel instead of over the network sentinel (#8006) 2023-08-12 01:54:45 +02:00
Giulio rebuffo
7c0d6e15bb
Added gnosis fields and removed body gap. (#7993) 2023-08-11 23:07:36 +02:00
Alex Sharov
c464d84334
tmpdb: move to tmpdir (#8003) 2023-08-12 01:06:15 +06:00
dependabot[bot]
8809a4acd3
Bump github.com/supranational/blst from 0.3.10 to 0.3.11 (#7988)
Bumps
[github.com/supranational/blst](https://github.com/supranational/blst)
from 0.3.10 to 0.3.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supranational/blst/releases">github.com/supranational/blst's
releases</a>.</em></p>
<blockquote>
<h2>Release v0.3.11</h2>
<p>Essential changes:</p>
<ul>
<li>security bugfix in Go bindings</li>
<li>run-time switch in portable build</li>
<li>no-std support [exercised with limited stack size of 56K]</li>
<li>serde support</li>
<li>blst_miller_loop_n interface, with parallelized Rust and Go
counterparts</li>
<li>optional blst_fr_pentaroot subroutine</li>
<li>Emscripten bindings</li>
<li>hardened security on non-asm platforms</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3dd0f804b1"><code>3dd0f80</code></a>
bindings/rust/Cargo.toml: bump the version number.</li>
<li><a
href="fb91221c91"><code>fb91221</code></a>
bindings/go/blst.go: fix logical error in SigValidate.</li>
<li><a
href="c6a3cc00ca"><code>c6a3cc0</code></a>
build.sh: don't pass -mno-avx unless actually required.</li>
<li><a
href="9fa8bcfb93"><code>9fa8bcf</code></a>
vect.h: tolerate compilation with -std=cNM flag.</li>
<li><a
href="5aa7ce1d6f"><code>5aa7ce1</code></a>
bindings/&lt;swig-based&gt;/*: minimize dynamic library symbol
pollution.</li>
<li><a
href="e1a44c97c0"><code>e1a44c9</code></a>
build.sh: drop --version-script linker argument.</li>
<li><a
href="492319a8c0"><code>492319a</code></a>
cpuid.c: adjust symbol visibility.</li>
<li><a
href="6dd7aa4ed9"><code>6dd7aa4</code></a>
Execute build/refresh.sh.</li>
<li><a
href="701e42a70b"><code>701e42a</code></a>
asm/ct_*: add missing .hidden directives.</li>
<li><a
href="dce883beb4"><code>dce883b</code></a>
Execute build/refresh.sh.</li>
<li>Additional commits viewable in <a
href="https://github.com/supranational/blst/compare/v0.3.10...v0.3.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/supranational/blst&package-manager=go_modules&previous-version=0.3.10&new-version=0.3.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ledgerwatch/erigon/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-11 16:23:54 +02:00
Alex Sharov
d2bde8c096
Recsplit: cancelable build (#7994) 2023-08-11 11:54:59 +06:00
Alex Sharov
6dfe491d30
e3: remove history snapshots (#7991) 2023-08-10 23:39:03 +06:00
dependabot[bot]
11f9137c08
Bump github.com/libp2p/go-libp2p from 0.28.0 to 0.28.2 (#7987)
Bumps [github.com/libp2p/go-libp2p](https://github.com/libp2p/go-libp2p)
from 0.28.0 to 0.28.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/libp2p/go-libp2p/releases">github.com/libp2p/go-libp2p's
releases</a>.</em></p>
<blockquote>
<h2>v0.28.2</h2>
<p>This patch release contains backports of:</p>
<ul>
<li>updating the qtls dependencies (qtls is quic-go's fork of
crypto/tls). The new versions now contain a backport of the Go standard
library fix included in the Go 1.20.7 / 1.19.12 release for quic-go's
crypto/tls fork: <a
href="2350afd2e8</a></li>
<li>core/crypto: restrict RSA keys to &lt;= 8192 bits: <a
href="https://redirect.github.com/libp2p/go-libp2p/pull/2454">libp2p/go-libp2p#2454</a>.
The analogous vulnerability in go-libp2p's crypto package.</li>
<li>swarm: don't open new streams over transient connections: <a
href="https://redirect.github.com/libp2p/go-libp2p/pull/2450">libp2p/go-libp2p#2450</a>.
This fixes a regression introduced in v0.26.0.</li>
</ul>
<p>Note that in order to be protected against the DoS attack making use
of large RSA keys, it's necessary to update to this patch release AND to
use the updated Go compiler (1.20.7 or 1.19.12, respectively).</p>
<p>Full Changelog: <a
href="https://github.com/libp2p/go-libp2p/compare/v0.28.1...v0.28.2">https://github.com/libp2p/go-libp2p/compare/v0.28.1...v0.28.2</a></p>
<h2>v0.28.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: in the swarm move Connectedness emit after releasing conns <a
href="https://redirect.github.com/libp2p/go-libp2p/pull/2373">libp2p/go-libp2p#2373</a></li>
<li>identify: set stream deadlines for Identify and Identify Push
streams <a
href="https://redirect.github.com/libp2p/go-libp2p/pull/2382">libp2p/go-libp2p#2382</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/libp2p/go-libp2p/compare/v0.28.0...v0.28.1">https://github.com/libp2p/go-libp2p/compare/v0.28.0...v0.28.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/libp2p/go-libp2p/blob/master/CHANGELOG.md">github.com/libp2p/go-libp2p's
changelog</a>.</em></p>
<blockquote>
<h1>Table Of Contents <!-- raw HTML omitted --></h1>
<ul>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0280">v0.28.0</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0270">v0.27.0</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0264">v0.26.4</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0263">v0.26.3</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0262">v0.26.2</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0261">v0.26.1</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0260">v0.26.0</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0251">v0.25.1</a></li>
<li><a
href="https://github.com/libp2p/go-libp2p/blob/master/#v0250">v0.25.0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="256b838b55"><code>256b838</code></a>
release v0.28.2</li>
<li><a
href="cd68d43cbc"><code>cd68d43</code></a>
swarm: don't open new streams over transient connections (<a
href="https://redirect.github.com/libp2p/go-libp2p/issues/2450">#2450</a>)</li>
<li><a
href="71a4e3e70f"><code>71a4e3e</code></a>
manually bump qtls dependencies to fix RSA key size vulnerability</li>
<li><a
href="445be526ae"><code>445be52</code></a>
core/crypto: restrict RSA keys to &lt;= 8192 bits (<a
href="https://redirect.github.com/libp2p/go-libp2p/issues/2454">#2454</a>)</li>
<li><a
href="c358b81919"><code>c358b81</code></a>
release v0.28.1</li>
<li><a
href="f43f73e0c3"><code>f43f73e</code></a>
identify: set stream deadlines for Identify and Identify Push streams
(<a
href="https://redirect.github.com/libp2p/go-libp2p/issues/2382">#2382</a>)</li>
<li><a
href="7e046ce38a"><code>7e046ce</code></a>
fix: in the swarm move Connectedness emit after releasing conns (<a
href="https://redirect.github.com/libp2p/go-libp2p/issues/2373">#2373</a>)</li>
<li>See full diff in <a
href="https://github.com/libp2p/go-libp2p/compare/v0.28.0...v0.28.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/libp2p/go-libp2p&package-manager=go_modules&previous-version=0.28.0&new-version=0.28.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ledgerwatch/erigon/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-09 18:24:51 +02:00
Andrew Ashikhmin
9b3f3bd118
EIP-4844: fix wiring of maxFeePerBlobGas (#7981)
Previously maxFeePerBlobGas was lost in the `BlobTx` -> `Message`
conversion.

Also added initial support of [EL
EIPTests](https://github.com/ethereum/tests/tree/develop/EIPTests).
2023-08-08 17:44:02 +02:00
Andrew Ashikhmin
d69b20bc4e
Support engine_forkchoiceUpdatedV3 with ParentBeaconBlockRoot (EIP-4788) (#7969)
Prerequisites: https://github.com/ledgerwatch/interfaces/pull/187 &
https://github.com/ledgerwatch/erigon-lib/pull/1069. Also implement
https://github.com/ethereum/execution-apis/pull/426.
2023-08-06 11:54:14 +02:00
Giulio rebuffo
b4057da8e6
removed missingHash (#7973) 2023-08-06 02:28:18 +02:00
Giulio rebuffo
9730cc796a
Cleanup of consensus separation (#7971) 2023-08-05 02:26:53 +02:00
Giulio rebuffo
b09d90ee0e
Added in-memory flushing to execution.proto (#7968) 2023-08-04 14:42:35 +02:00
Andrew Ashikhmin
d014da4dc0
Replace --override.shanghaiTime flag with --override.cancun (#7964)
Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/1067
2023-08-03 16:05:35 +02:00
racytech
2c2ccb6e27
dencun-devnet: --trusted-setup-file flag support (#7963) 2023-08-03 14:36:47 +02:00
Andrew Ashikhmin
bd9e8b9b56
Fix eth_getTransactionByHash for EIP-4844 transactions (#7960)
Also pick https://github.com/ledgerwatch/erigon-lib/pull/1063 and
https://github.com/ledgerwatch/erigon-lib/pull/1065
2023-08-02 18:25:15 +02:00
Giulio rebuffo
1220ae659e
Most hive tests fixed in --experimental.modular (#7950)
Broken: 25/109
2023-08-01 02:08:15 +02:00
Giulio rebuffo
443757edbd
Consensus separation for Engine API (Working on Sepolia) (#7945)
This makes the experimental consensus separation functional on sepolia.
2023-07-30 23:35:55 +02:00
Giulio rebuffo
2f2a1741d2
Protyped consensus separated engine api (untested) (#7942) 2023-07-29 00:22:38 +02:00
Andrew Ashikhmin
7d35c6b737
EIP-4844: Rename "data gas" to "blob gas" (#7937)
See https://github.com/ethereum/EIPs/pull/7354 &
https://github.com/ethereum/consensus-specs/pull/3461. Prerequisite:
https://github.com/ledgerwatch/erigon-lib/pull/1058
2023-07-28 12:12:05 +02:00
Giulio rebuffo
a0865b489f
Prototyped experimental engine reverse downloader (#7936)
Erigon lib now good
2023-07-28 01:32:19 +02:00
Giulio rebuffo
b4ecd7f524
Consensus Separation: Separated GetPayload using an execution service (#7933)
Miracoulously, hive tests pass first try. YIPPIE.

Also for the future, I added `--experimental.modular` which enables a
secondary engine API for consensus separation.

Now block building is responsibility of the execution module.
2023-07-27 14:37:49 +02:00
a
60a200fd46
[caplin] basic persistence layer (#7918) 2023-07-25 22:24:52 +02:00
Giulio rebuffo
9d3551f8cf
prototype of ValidataChain (#7921) 2023-07-23 19:10:24 +02:00
Giulio rebuffo
23f5377614
updated interfaces (#7891) 2023-07-14 02:51:47 +02:00
Giulio rebuffo
bd63cb7c8c
Removed GRPC layer from Engine API (#7878) 2023-07-12 18:11:41 +02:00
Andrew Ashikhmin
af504f675a
Use EIP-4844 constants from erigon-lib (#7874)
Small refactoring after
https://github.com/ledgerwatch/erigon-lib/pull/1037
2023-07-11 17:53:00 +02:00
Alex Sharov
c02913c4e5
crypto lib up (#7873) 2023-07-11 14:52:00 +07:00
Alex Sharov
5e254ce9ee
fsync: don't skip error, ability to disable in tests (#7872) 2023-07-11 13:09:07 +07:00
Giulio rebuffo
6272559fb7
Separated PendingBlock behaviour to be chain agnostic (#7859)
Instead of getting the pending block with latest payload id, we just
store the latest block built and serve it in remote backend
2023-07-10 19:22:03 +02:00
Giulio rebuffo
84f31c873e
Separation of Engine from Ethbackend (#7821)
This PR separates ENGINE from Ethbackend. It makes it so:

1) EthBackend not a god class
2) We can abstract away engine API so that we can make it CL-like and
enable Consensus-Execution driven design
3) Objective is Json-RPC -> Engine Consensus Module -> Execution module.
2023-07-06 18:09:52 +02:00
Alex Sharov
69ae999059
log file unmap/close errors (#7819) 2023-07-06 11:12:26 +07:00
Alex Sharov
0b97728862
mdbx bug in DeleteCurrentDuplicates() workaround (#7850) 2023-07-06 11:08:23 +07:00
Alex Sharov
b60380f81e
prometheus lib up (#7843) 2023-07-05 10:08:56 +07:00
Andrew Ashikhmin
a2dd5da2a1
[erigon-lib] EIP-4844: parse transactions when not wrapped with blobs (#7805)
Pick up https://github.com/ledgerwatch/erigon-lib/pull/1034
2023-06-27 12:52:59 +02:00
Andrew Ashikhmin
a24eae8d6c
EIP-4844: Handle data gas in txpool (#7779)
Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/1029
2023-06-23 11:10:23 +02:00
Alex Sharov
5dd6b77e40
Up grpc version (#7791) 2023-06-23 13:40:04 +07:00