Kiln mev boost (#3062)

## Issue Addressed

MEV boost compatibility

## Proposed Changes

See #2987

## Additional Info

This is blocked on the stabilization of a couple specs, [here](https://github.com/ethereum/beacon-APIs/pull/194) and [here](https://github.com/flashbots/mev-boost/pull/20).

Additional TODO's and outstanding questions

- [ ] MEV boost JWT Auth
- [ ] Will `builder_proposeBlindedBlock` return the revealed payload for the BN to propogate
- [ ] Should we remove `private-tx-proposals` flag and communicate BN <> VC with blinded blocks by default once these endpoints enter the beacon-API's repo? This simplifies merge transition logic. 

Co-authored-by: realbigsean <seananderson33@gmail.com>
Co-authored-by: realbigsean <sean@sigmaprime.io>
This commit is contained in:
realbigsean
2022-03-31 07:52:23 +00:00
parent 83234ee4ce
commit ea783360d3
48 changed files with 1628 additions and 644 deletions

View File

@@ -5,7 +5,8 @@ use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
use task_executor::TaskExecutor;
use tokio::time::sleep;
use types::{
Address, ChainSpec, EthSpec, ExecutionBlockHash, Hash256, MainnetEthSpec, Slot, Uint256,
Address, ChainSpec, EthSpec, ExecutionBlockHash, FullPayload, Hash256, MainnetEthSpec, Slot,
Uint256,
};
const EXECUTION_ENGINE_START_TIMEOUT: Duration = Duration::from_secs(10);
@@ -171,7 +172,7 @@ impl<E: GenericExecutionEngine> TestRig<E> {
let valid_payload = self
.ee_a
.execution_layer
.get_payload::<MainnetEthSpec>(
.get_payload::<MainnetEthSpec, FullPayload<MainnetEthSpec>>(
parent_hash,
timestamp,
prev_randao,
@@ -179,7 +180,8 @@ impl<E: GenericExecutionEngine> TestRig<E> {
proposer_index,
)
.await
.unwrap();
.unwrap()
.execution_payload;
/*
* Execution Engine A:
@@ -262,7 +264,7 @@ impl<E: GenericExecutionEngine> TestRig<E> {
let second_payload = self
.ee_a
.execution_layer
.get_payload::<MainnetEthSpec>(
.get_payload::<MainnetEthSpec, FullPayload<MainnetEthSpec>>(
parent_hash,
timestamp,
prev_randao,
@@ -270,7 +272,8 @@ impl<E: GenericExecutionEngine> TestRig<E> {
proposer_index,
)
.await
.unwrap();
.unwrap()
.execution_payload;
/*
* Execution Engine A: