mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 20:57:10 +00:00
fix(cache): use index N-1 when reading the inclusion list and correct serialization
This commit is contained in:
@@ -106,15 +106,17 @@ impl<T: BeaconChainTypes> PayloadNotifier<T> {
|
|||||||
.spec
|
.spec
|
||||||
.is_focil_enabled_for_epoch(block.slot().epoch(T::EthSpec::slots_per_epoch()))
|
.is_focil_enabled_for_epoch(block.slot().epoch(T::EthSpec::slots_per_epoch()))
|
||||||
{
|
{
|
||||||
|
// Inclusion lists are those submitted for the prior slot.
|
||||||
|
let il_slot = block.slot().saturating_sub(1_u64);
|
||||||
let inclusion_list_transactions = chain
|
let inclusion_list_transactions = chain
|
||||||
.inclusion_list_cache
|
.inclusion_list_cache
|
||||||
.read()
|
.read()
|
||||||
.get_inclusion_list_transactions(block.slot())
|
.get_inclusion_list_transactions(il_slot)
|
||||||
.unwrap_or(vec![].into());
|
.unwrap_or(vec![].into());
|
||||||
|
|
||||||
info!(
|
info!(
|
||||||
tx_count = inclusion_list_transactions.len(),
|
tx_count = inclusion_list_transactions.len(),
|
||||||
slot = ?block.slot(),
|
slot = ?il_slot,
|
||||||
"Adding inclusion list transactions in the Payload Notifier"
|
"Adding inclusion list transactions in the Payload Notifier"
|
||||||
);
|
);
|
||||||
inclusion_list_transactions
|
inclusion_list_transactions
|
||||||
|
|||||||
@@ -869,13 +869,14 @@ impl HttpJsonRpc {
|
|||||||
&self,
|
&self,
|
||||||
new_payload_request_eip7805: NewPayloadRequestEip7805<'_, E>,
|
new_payload_request_eip7805: NewPayloadRequestEip7805<'_, E>,
|
||||||
) -> Result<PayloadStatusV1, Error> {
|
) -> Result<PayloadStatusV1, Error> {
|
||||||
// TODO(focil) clean this up?
|
let il_transactions: Vec<String> = new_payload_request_eip7805
|
||||||
let mut il_transactions = vec![];
|
.il_transactions
|
||||||
for transaction in new_payload_request_eip7805.il_transactions {
|
.into_iter()
|
||||||
if let Ok(hex_tx) = String::from_utf8(transaction.into()).map(|v| format!("0x{}", v)) {
|
.map(|tx| {
|
||||||
il_transactions.push(hex_tx);
|
let bytes: Vec<u8> = tx.into();
|
||||||
}
|
format!("0x{}", hex::encode(bytes))
|
||||||
}
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
let params = json!([
|
let params = json!([
|
||||||
JsonExecutionPayload::V5(new_payload_request_eip7805.execution_payload.clone().into()),
|
JsonExecutionPayload::V5(new_payload_request_eip7805.execution_payload.clone().into()),
|
||||||
|
|||||||
Reference in New Issue
Block a user