Emilia Hane
02cca3478b
Fix conflicts rebasing eip4844
2023-02-10 15:35:01 +01:00
Emilia Hane
db36eb978b
Fix latest clippy lints
2023-02-10 15:35:00 +01:00
Emilia Hane
4d3ff347a3
Fixes after rebasing eip4844
2023-02-10 15:34:58 +01:00
Emilia Hane
5437dcae9c
Fix conflicts rebasing eip4844
2023-02-10 15:34:58 +01:00
Emilia Hane
09370e70d9
Fix rebase conflicts
2023-02-10 09:41:19 +01:00
realbigsean
a42d07592c
fix compilation issues after merge
2023-02-07 12:33:29 -05:00
realbigsean
26a296246d
Merge branch 'capella' of https://github.com/sigp/lighthouse into eip4844
...
# Conflicts:
# beacon_node/beacon_chain/src/beacon_chain.rs
# beacon_node/beacon_chain/src/block_verification.rs
# beacon_node/beacon_chain/src/test_utils.rs
# beacon_node/execution_layer/src/engine_api.rs
# beacon_node/execution_layer/src/engine_api/http.rs
# beacon_node/execution_layer/src/lib.rs
# beacon_node/execution_layer/src/test_utils/handle_rpc.rs
# beacon_node/http_api/src/lib.rs
# beacon_node/http_api/tests/fork_tests.rs
# beacon_node/network/src/beacon_processor/mod.rs
# beacon_node/network/src/beacon_processor/work_reprocessing_queue.rs
# beacon_node/network/src/beacon_processor/worker/sync_methods.rs
# beacon_node/operation_pool/src/bls_to_execution_changes.rs
# beacon_node/operation_pool/src/lib.rs
# beacon_node/operation_pool/src/persistence.rs
# consensus/serde_utils/src/u256_hex_be_opt.rs
# testing/antithesis/Dockerfile.libvoidstar
2023-02-07 12:12:56 -05:00
realbigsean
3533ed418e
pr feedback and bugfixes
2023-02-07 08:36:35 -05:00
ethDreamer
5b398b1990
Don't Reject all Builder Bids After Capella ( #3940 )
...
* Fix bug in Builder API Post-Capella
* Fix Clippy Complaints
2023-02-06 13:09:13 +11:00
sean
e5896d9b71
re-order methods
2023-02-05 18:14:24 -05:00
sean
1315098c15
variable list from -> new
2023-02-05 17:56:03 -05:00
sean
f22aac1603
improve error handling
2023-02-05 17:26:36 -05:00
sean
90e25dc6cf
from to new
2023-02-05 16:55:55 -05:00
sean
94a369b9df
blob tx decoding
2023-02-05 16:39:15 -05:00
realbigsean
d9e83e6cec
blob decoding
2023-02-03 17:06:33 -05:00
ethDreamer
90b6ae62e6
Use Local Payload if More Profitable than Builder ( #3934 )
...
* Use Local Payload if More Profitable than Builder
* Rename clone -> clone_from_ref
* Minimize Clones of GetPayloadResponse
* Cleanup & Fix Tests
* Added Tests for Payload Choice by Profit
* Fix Outdated Comments
2023-02-01 19:37:46 -06:00
ethDreamer
7b7595347d
exchangeCapabilities & Capella Readiness Logging ( #3918 )
...
* Undo Passing Spec to Engine API
* Utilize engine_exchangeCapabilities
* Add Logging to Indicate Capella Readiness
* Add exchangeCapabilities to mock_execution_layer
* Send Nested Array for engine_exchangeCapabilities
* Use Mutex Instead of RwLock for EngineCapabilities
* Improve Locking to Avoid Deadlock
* Prettier logic for get_engine_capabilities
* Improve Comments
* Update beacon_node/beacon_chain/src/capella_readiness.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/beacon_chain/src/capella_readiness.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/beacon_chain/src/capella_readiness.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/beacon_chain/src/capella_readiness.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/beacon_chain/src/capella_readiness.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/client/src/notifier.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Update beacon_node/execution_layer/src/engine_api/http.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Addressed Michael's Comments
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com>
2023-01-31 18:26:23 +01:00
realbigsean
2c12200a1a
fix compile
2023-01-27 11:41:59 +01:00
realbigsean
dd512cd82a
stub out tx root check, fix block hash calculation
2023-01-27 11:39:26 +01:00
realbigsean
8f8b7211d0
execution API related fixes
2023-01-19 09:32:08 -05:00
ethDreamer
26787412cd
Update engine_api to Latest spec ( #3893 )
...
* Update engine_api to Latest spec
* Small Test Fix
* Fix Test Deserialization Issue
2023-01-19 22:42:17 +11:00
realbigsean
ddcd10b194
merge latest capella changes
2023-01-16 09:17:18 -05:00
ethDreamer
51088725fb
CL-EL withdrawals harmonization using Gwei units ( #3884 )
2023-01-16 12:03:42 +11:00
realbigsean
e9affafb6b
get rid of EL endpoint switching at forks
2023-01-13 10:51:45 -05:00
Michael Sproul
8e2931d73b
Verify blockHash with withdrawals
2023-01-13 12:46:54 +11:00
realbigsean
d96d793bfb
fix compilation issues
2023-01-12 14:17:14 -05:00
realbigsean
06f71e8cce
merge capella
2023-01-12 12:51:09 -05:00
Michael Sproul
2af8110529
Merge remote-tracking branch 'origin/unstable' into capella
...
Fixing the conflicts involved patching up some of the `block_hash` verification,
the rest will be done as part of https://github.com/sigp/lighthouse/issues/3870
2023-01-12 16:22:00 +11:00
ethDreamer
52c1055fdc
Remove withdrawals-processing
feature ( #3864 )
...
* Use spec to Determine Supported Engine APIs
* Remove `withdrawals-processing` feature
* Fixed Tests
* Missed Some Spots
* Fixed Another Test
* Stupid Clippy
2023-01-12 15:15:08 +11:00
realbigsean
f7f351784a
get ef tests passing after capella rebase
2023-01-11 18:32:15 -05:00
realbigsean
438126f19a
merge upstream, fix compile errors
2023-01-11 13:52:58 -05:00
Michael Sproul
4bd2b777ec
Verify execution block hashes during finalized sync ( #3794 )
...
## Issue Addressed
Recent discussions with other client devs about optimistic sync have revealed a conceptual issue with the optimisation implemented in #3738 . In designing that feature I failed to consider that the execution node checks the `blockHash` of the execution payload before responding with `SYNCING`, and that omitting this check entirely results in a degradation of the full node's validation. A node omitting the `blockHash` checks could be tricked by a supermajority of validators into following an invalid chain, something which is ordinarily impossible.
## Proposed Changes
I've added verification of the `payload.block_hash` in Lighthouse. In case of failure we log a warning and fall back to verifying the payload with the execution client.
I've used our existing dependency on `ethers_core` for RLP support, and a new dependency on Parity's `triehash` crate for the Merkle patricia trie. Although the `triehash` crate is currently unmaintained it seems like our best option at the moment (it is also used by Reth, and requires vastly less boilerplate than Parity's generic `trie-root` library).
Block hash verification is pretty quick, about 500us per block on my machine (mainnet).
The optimistic finalized sync feature can be disabled using `--disable-optimistic-finalized-sync` which forces full verification with the EL.
## Additional Info
This PR also introduces a new dependency on our [`metastruct`](https://github.com/sigp/metastruct ) library, which was perfectly suited to the RLP serialization method. There will likely be changes as `metastruct` grows, but I think this is a good way to start dogfooding it.
I took inspiration from some Parity and Reth code while writing this, and have preserved the relevant license headers on the files containing code that was copied and modified.
2023-01-09 03:11:59 +00:00
ethDreamer
cb94f639b0
Isolate withdrawals-processing Feature ( #3854 )
2023-01-09 11:05:28 +11:00
ethDreamer
6b72f45cad
Merge pull request #3845 from realbigsean/capella-cleanup
...
Capella cleanup
2023-01-06 13:26:41 -06:00
Mark Mackey
2ac609b64e
Fixing Moar Failing Tests
2023-01-05 13:00:44 -06:00
Mark Mackey
be232c4587
Update Execution Layer Tests for Capella
2023-01-03 16:58:15 -06:00
realbigsean
4353c49855
Update beacon_node/execution_layer/src/engine_api/json_structures.rs
2023-01-03 08:55:19 -05:00
realbigsean
d8f7277beb
cleanup
2022-12-30 11:00:14 -05:00
Mark Mackey
c188cde034
merge upstream/unstable
2022-12-28 14:43:25 -06:00
sean
e94eb1d2d6
Merge branch 'capella' of https://github.com/sigp/lighthouse into eip4844
2022-12-28 18:29:45 +00:00
Mark Mackey
96da8b9383
Feature Guard V2 Engine API Methods
2022-12-27 15:55:43 -06:00
Divma
240854750c
cleanup: remove unused imports, unusued fields ( #3834 )
2022-12-23 17:16:10 -05:00
realbigsean
f45d117e73
merge with capella
2022-12-23 10:21:18 -05:00
Mark Mackey
b75ca74222
Removed withdrawals
feature flag
2022-12-19 15:38:46 -06:00
Mark Mackey
3a08c7634e
Make engine_getPayloadV2 accept local block value
2022-12-16 15:44:55 -06:00
Divma
ffbf70e2d9
Clippy lints for rust 1.66 ( #3810 )
...
## Issue Addressed
Fixes the new clippy lints for rust 1.66
## Proposed Changes
Most of the changes come from:
- [unnecessary_cast](https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast )
- [iter_kv_map](https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map )
- [needless_borrow](https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow )
## Additional Info
na
2022-12-16 04:04:00 +00:00
realbigsean
d893706e0e
merge with capella
2022-12-15 09:33:18 -05:00
Michael Sproul
991e4094f8
Merge remote-tracking branch 'origin/unstable' into capella-update
2022-12-14 13:00:41 +11:00
Michael Sproul
75dd8780e0
Use JsonPayload for payload reconstruction ( #3797 )
2022-12-14 11:52:46 +11:00
ethDreamer
07d6ef749a
Fixed Payload Reconstruction Bug ( #3796 )
2022-12-14 11:49:30 +11:00