Implement gloas proposer preference vc duty (#9208)

Allow for the vc to submit its proposer preferences to the network


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
Eitan Seri-Levi
2026-05-04 13:33:09 +02:00
committed by GitHub
parent ee61aee659
commit 9cf155a0dd
17 changed files with 694 additions and 41 deletions

View File

@@ -51,6 +51,7 @@ pub enum SignableMessage<'a, E: EthSpec, Payload: AbstractExecPayload<E> = FullP
VoluntaryExit(&'a VoluntaryExit),
ExecutionPayloadEnvelope(&'a ExecutionPayloadEnvelope<E>),
PayloadAttestationData(&'a PayloadAttestationData),
ProposerPreferences(&'a ProposerPreferences),
}
impl<E: EthSpec, Payload: AbstractExecPayload<E>> SignableMessage<'_, E, Payload> {
@@ -74,6 +75,7 @@ impl<E: EthSpec, Payload: AbstractExecPayload<E>> SignableMessage<'_, E, Payload
SignableMessage::VoluntaryExit(exit) => exit.signing_root(domain),
SignableMessage::ExecutionPayloadEnvelope(e) => e.signing_root(domain),
SignableMessage::PayloadAttestationData(d) => d.signing_root(domain),
SignableMessage::ProposerPreferences(p) => p.signing_root(domain),
}
}
}
@@ -243,6 +245,9 @@ impl SigningMethod {
SignableMessage::PayloadAttestationData(d) => {
Web3SignerObject::PayloadAttestationData(d)
}
SignableMessage::ProposerPreferences(p) => {
Web3SignerObject::ProposerPreferences(p)
}
};
// Determine the Web3Signer message type.