2
0
mirror of https://github.com/status-im/nimbus-eth2.git synced 2025-01-10 14:26:26 +00:00

113 Commits

Author SHA1 Message Date
Eugene Kabanov
fd4398d4c5
Fix EL requests should do some sleep before repeating request again. () 2024-07-23 22:49:52 +00:00
Etan Kissling
abf818a9f3
bump nim-eth to d8fda55c79dd48ba564f3cb540b968f4a1c1aae6 ()
* bump nim-eth to `d8fda55c79dd48ba564f3cb540b968f4a1c1aae6`

- Overhaul of ENR implementation - part I
- Rework of ENR decoding code
- Update discv5 to use non deprecated ENR calls and simplify code
- simplify .nimble file
- avoid warnings when processing `GasInt` for RLP
- define Electra types and RLP encoding

* explicitly indicate consensus types over nim-eth types in EL manager
2024-07-04 18:40:11 +00:00
Eugene Kabanov
84a35c85c5
Fix for gcc-14 issues in kzg-4844. ()
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.

* Add debugging output.

* Remove debugging output.

* Restore groupBlobs function.
2024-07-03 10:01:33 +00:00
tersec
8c67a265d0
bump nim-web3 to align WithdrawalRequestV1 with EIP-7002 and consensus spec () 2024-07-01 16:07:30 +02:00
tersec
bfd1a36fcf
add engine API consolidation requests support for getPayloadV4/newPayloadV4 () 2024-06-18 07:35:36 +02:00
tersec
350c4eaa39
rm Goerli remnant; add explanatory comment about opt sync validation () 2024-06-17 09:40:41 +00:00
tersec
88fa8b17ea
automated consensus spec URL updating to v1.5.0-alpha.3 () 2024-06-16 02:59:25 +02:00
tersec
0fab9682a6
use EF consensus-specs v1.5.0-alpha.3 test vectors () 2024-06-16 00:15:27 +02:00
tersec
a93ab7cf3b
Revert "bump nim-kzg4844 for gcc-14 compatibility ()" ()
This reverts commit c5326619a4d094db6f9e36c18992e0fa62fdc3d1.
2024-06-14 23:23:19 +00:00
Eugene Kabanov
c5326619a4
bump nim-kzg4844 for gcc-14 compatibility ()
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.
2024-06-14 00:46:03 +00:00
andri lim
238589868c
Bump nim-web3 and nim-eth ()
In nim-web3 all std.Option are replaced by results.Opt. The same goes in nim-eth, with additional fields name changes and GasInt changed from int64 to uint64.
2024-06-12 08:46:39 +07:00
tersec
e3d4ad5d39
properly (re)factor consolidation signature checking () 2024-06-09 19:37:41 +02:00
tersec
b56a671122
fix most ConvFromXtoItselfNotNeeded hints and unhide remaining ones () 2024-05-22 13:56:37 +02:00
Eugene Kabanov
41db536d63
Fix el-manager warnings and issues. () 2024-05-16 13:54:51 +02:00
tersec
c7b916fe7b
rename depositReceipts/exits to depositRequests/withdrawalRequests 2024-05-16 00:23:00 +00:00
tersec
d0400e408b
rename ExitV1 to WithdrawalRequestV1 () 2024-05-15 06:44:52 +02:00
Eugene Kabanov
e6b9bfc9e4
el_manager initial refactor. ()
* Initial commit.

* Address review comments and fix missing primitive.

* Fix developer build.

* More asyncraises updates.

* Refactor and optimize forkchoiceUpdated() and sendNewPayload().

* Fix runtime assertion.

* Refactor getPayload().
2024-05-14 21:03:30 +03:00
Etan Kissling
87605d08a7
bump nim-eth to c482b4c5b658a77cc96b49d4a397aa6d98472ac7 ()
- Introduce wrapper type for EIP-4844 transactions
2024-05-13 17:58:47 +02:00
tersec
6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 () 2024-05-09 05:03:10 +00:00
tersec
645e627b03
add new Electra beacon chain containers and presets ()
* add new Electra beacon chain containers and presets

* re-enable attestations in electra state transition
2024-04-18 07:30:01 +00:00
tersec
bd3c9af0f8
implement EIP-7002 ()
* implement EIP-7002

* fix linting
2024-04-16 18:09:39 +00:00
tersec
205d63a897
fill in executionpayload for/from GetPayloadV4 () 2024-04-10 23:34:34 +00:00
tersec
e7dede344a
bump nim-web3 to get updated Pectra GetPayloadV4 types () 2024-04-10 11:38:38 +02:00
tersec
1bf4058e22
add Electra support to beacon API produceBlindedBlock and produceBlockV3 endpoints; add further VC publish(Blinded)Block Electra support () 2024-04-10 10:54:00 +02:00
tersec
749a45695f
support engine_newPayloadV4 () 2024-04-09 12:44:03 +02:00
tersec
27921406e9
remove some debugRaiseAsserts and fill in Electra functionality () 2024-04-06 15:11:47 +02:00
tersec
08d6dc347e
rm payload transaction value calculation for Bellatrix engine API () 2024-04-04 06:33:08 +02:00
tersec
7fa32b7f02
add Electra to ConsensusFork enum ()
* add Electra to ConsensusFork enum

* fix gnosis check
2024-04-03 16:43:43 +02:00
Etan Kissling
0000f81df0
remove unused and redundant PayloadID type definition ()
`PayloadID` is defined in `nim-web3` and our own Bellatrix definition
can be removed.
2024-04-03 07:27:00 +02:00
tersec
4457334dd0
Add support for Pectra ExecutionPayload representations () 2024-03-29 13:37:27 +01:00
andri lim
1fe6efcf53
Bump nim-web3 to 285d97c2b05bbe2a13dab4b52ea878157fb1a1a1 ()
Unify EthCall/EthSend into TransactionArgs ()
2024-03-20 14:39:12 +07:00
Etan Kissling
8b604b59a7
fix BlockNumber serialization ()
Correct formatting of `BlockNumber` in EL manager, regression from
its conversion to `distinct` in .
2024-03-19 22:14:08 +01:00
Etan Kissling
5d42859176
make Gwei distinct ()
 introduced a subtle change to `nim-web3` resulting in `Gwei` to be
serialized differently than before. Using a `distinct` type for `Gwei`
improves type safety and avoids such problems in the future.
2024-03-19 14:22:07 +01:00
Etan Kissling
1dd2c939ac
bump nim-web3 to 80c7aa6de2a26c57fa1f06ad47f3ac6058e6545b ()
- Add writeValue for BlockNumber
- make `BlockNumber` `distinct`
2024-03-19 14:21:47 +01:00
tersec
0a6d189161
automated consensus spec URL updating to v1.4.0 () 2024-03-14 07:26:36 +01:00
Etan Kissling
1cdd3c62fd
extend syncEth1Chain tick log ()
Provide additional context in the `syncEth1Chain tick` debug log to aid
with understanding of flow when debugging on a more precise basis than
just having the metrics.
2024-03-08 19:27:45 +01:00
Etan Kissling
a0bc3fff86
fix /eth/v1/beacon/deposit_snapshot for EIP-4881 ()
Fix the `/eth/v1/beacon/deposit_snapshot` API to produce proper EIP-4881
compatible `DepositTreeSnapshot` responses. The endpoint used to expose
a Nimbus-specific database internal format.

Also fix trusted node sync to consume properly formatted EIP-4881 data
with `--with-deposit-snapshot`, and `--finalized-deposit-tree-snapshot`
beacon node launch option to use the EIP-4881 data. Further ensure that
`ncli_testnet` produces EIP-4881 formatted data for interoperability.
2024-03-08 14:22:03 +01:00
Etan Kissling
50a43f397f
rename DepositTreeSnapshot -> DepositContractSnapshot ()
EIP-4881 was never correctly implemented, the `DepositTreeSnapshot`
structure has nothing to do with its actual definition. Reflect that
by renaming the type to a Nimbus-specific `DepositContractSnapshot`,
so that an actual EIP-4881 implementation can use the correct names.

- https://eips.ethereum.org/EIPS/eip-4881#specification

Notably, `DepositTreeSnapshot` contains a compressed sequence in
`finalized`, only containing the minimally required intermediate roots.

That also explains the incorrect REST response reported in .

The non-canonical representation was introduced in  and is also
persisted in the database. We'll have to maintain it for a while.
2024-03-07 18:42:52 +01:00
tersec
a4f4a35845
Revert "initial Electra support skeleton" ()
* Revert "initial Electra support skeleton ()"

This reverts commit d09bf3b587bc4f0c91b8e2f58884665a0ae80e34.

* Update test_signing_node.nim
2024-02-25 19:42:44 +00:00
tersec
d09bf3b587
initial Electra support skeleton () 2024-02-24 13:44:15 +00:00
tersec
c73d7c6f6f
automated consensus spec URL updating to v1.4.0-beta.7 () 2024-02-21 19:44:48 +00:00
Etan Kissling
4fc1550d0f
add {.push raises: [].} to recently modified files ()
Status Nim style mandates `{.push raises: []}.` at start of modules.
Ensure that's the case so that exceptions are properly tracked.

- https://status-im.github.io/nim-style-guide/errors.exceptions.html
- https://github.com/status-im/nim-eth/pull/614#discussion_r1220906149
2024-02-18 01:16:49 +00:00
Jacek Sieka
b5089ebf70
log elmanager timeouts ()
Also:

* remove some unused metrics
* simplify execution payload fetching flow
2024-02-17 10:15:02 +01:00
tersec
52c538fb3c
stop calling exchangeTransitionConfiguration () 2024-02-14 10:01:08 +00:00
Jacek Sieka
47704bde14
raises for beacon validators & router ()
Changes here are more significant because of some good old tech debt in
block production which has grown quite hairy - the reduction in
exception handling at least provides some steps in the right direction.
2024-02-07 12:26:04 +01:00
Etan Kissling
3ac043212c
set topic for eth1_chain logs ()
`eth1_chain` no longer logs with `topics` since , making it hard
to filter messages from this module. Re-add the `topics`, and also fix
outdated `topics` in `el_manager` (formerly `*_monitor`).
2024-02-07 09:44:32 +01:00
Etan Kissling
f0f14f10d3
fix compilation with -d:has_deposit_root_checks ()
Since , compilation with `-d:has_deposit_root_checks` fails. 
further built on top of it but the additions also don't compile. Fix it.
2024-02-06 23:03:52 +01:00
Jacek Sieka
6328c77778
raises for gossip ()
* raises for gossip

* fix light client
2024-01-22 17:34:54 +01:00
tersec
00cd032f7d
rm duplicate imports () 2024-01-21 10:21:01 +00:00
tersec
195a7525fa
revert non-PR commit 2024-01-21 07:06:09 +00:00