Add payload attestation to op pool and pack into block (#9180)

Store gossip-verified `PayloadAttestationMessage`s in the operation pool and pack them into the block body at during block production.

Built on top of #9145.


  


Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
Jimmy Chen
2026-04-28 12:49:28 +02:00
committed by GitHub
parent e35a671303
commit d8790f6677
6 changed files with 386 additions and 28 deletions

View File

@@ -101,10 +101,15 @@ impl<S: ValidatorStore + 'static, T: SlotClock + 'static> PayloadAttestationServ
sleep(duration_to_next_slot + payload_attestation_due).await;
let Some(attestation_slot) = self.slot_clock.now() else {
error!("Failed to read slot clock after sleep");
continue;
};
let service = self.clone();
self.executor.spawn(
async move {
service.produce_and_publish(current_slot).await;
service.produce_and_publish(attestation_slot).await;
},
"payload_attestation_producer",
);