@@ -24,12 +24,12 @@ pub struct SubmitBlockQueryParams {
2424#[ serde( bound = "E: EthSpec" , untagged) ]
2525#[ ssz( enum_behaviour = "transparent" ) ]
2626pub struct SubmitBlockRequest < E : EthSpec > {
27- message : BidTraceV1 ,
27+ pub message : BidTraceV1 ,
2828 #[ superstruct( flatten) ]
29- execution_payload : ExecutionPayload < E > ,
30- signature : Signature ,
29+ pub execution_payload : ExecutionPayload < E > ,
30+ pub signature : Signature ,
3131 #[ superstruct( only( Deneb ) ) ]
32- blobs_bundle : BlobsBundle < E > ,
32+ pub blobs_bundle : BlobsBundle < E > ,
3333}
3434
3535impl < E : EthSpec > ssz:: Decode for SubmitBlockRequest < E > {
@@ -116,11 +116,11 @@ pub struct GetValidatorRegistrationQueryParams {
116116#[ serde( bound = "E: EthSpec" , untagged) ]
117117#[ ssz( enum_behaviour = "transparent" ) ]
118118pub struct HeaderSubmission < E : EthSpec > {
119- bid_trace : BidTraceV1 ,
119+ pub bid_trace : BidTraceV1 ,
120120 #[ superstruct( flatten) ]
121- execution_payload_header : ExecutionPayloadHeader < E > ,
121+ pub execution_payload_header : ExecutionPayloadHeader < E > ,
122122 #[ superstruct( only( Deneb ) ) ]
123- blobs_bundle : BlobsBundle < E > ,
123+ pub blobs_bundle : BlobsBundle < E > ,
124124}
125125
126126#[ superstruct(
@@ -137,8 +137,8 @@ pub struct HeaderSubmission<E: EthSpec> {
137137#[ ssz( enum_behaviour = "transparent" ) ]
138138pub struct SignedHeaderSubmission < E : EthSpec > {
139139 #[ superstruct( flatten) ]
140- message : HeaderSubmission < E > ,
141- signature : Signature ,
140+ pub message : HeaderSubmission < E > ,
141+ pub signature : Signature ,
142142}
143143
144144#[ derive( Debug , Clone , Serialize , Deserialize , Encode , Decode ) ]
@@ -160,16 +160,16 @@ pub struct SignedCancellation {
160160#[ derive( Debug , Clone , PartialEq , Serialize , Deserialize ) ]
161161pub struct TopBidUpdate {
162162 #[ serde( with = "serde_utils::quoted_u64" ) ]
163- timestamp : u64 ,
164- slot : Slot ,
163+ pub timestamp : u64 ,
164+ pub slot : Slot ,
165165 #[ serde( with = "serde_utils::quoted_u64" ) ]
166- block_number : u64 ,
167- block_hash : ExecutionBlockHash ,
168- parent_hash : ExecutionBlockHash ,
169- builder_pubkey : PublicKeyBytes ,
170- fee_recipient : Address ,
166+ pub block_number : u64 ,
167+ pub block_hash : ExecutionBlockHash ,
168+ pub parent_hash : ExecutionBlockHash ,
169+ pub builder_pubkey : PublicKeyBytes ,
170+ pub fee_recipient : Address ,
171171 #[ serde( with = "serde_utils::quoted_u256" ) ]
172- value : Uint256 ,
172+ pub value : Uint256 ,
173173}
174174
175175// Builder API responses
@@ -182,8 +182,8 @@ pub enum Filtering {
182182
183183#[ derive( Debug , Clone , PartialEq , Serialize , Deserialize ) ]
184184pub struct ValidatorPreferences {
185- filtering : Filtering ,
186- trusted_builders : Option < Vec < String > > ,
185+ pub filtering : Filtering ,
186+ pub trusted_builders : Option < Vec < String > > ,
187187}
188188
189189#[ derive( Debug , Clone , PartialEq , Serialize , Deserialize ) ]
@@ -233,6 +233,45 @@ pub struct BidTraceV2WithTimestamp {
233233 pub timestamp_ms : i64 ,
234234}
235235
236+ #[ superstruct(
237+ variants( Bellatrix , Capella , Deneb , Electra ) ,
238+ variant_attributes(
239+ derive( Debug , Clone , Serialize , Deserialize , Encode , Decode ) ,
240+ serde( bound = "E: EthSpec" , deny_unknown_fields) ,
241+ ) ,
242+ map_into( ExecutionPayloadHeader ) ,
243+ map_ref_into( ExecutionPayloadHeader )
244+ ) ]
245+ #[ derive( Debug , Clone , Serialize , Deserialize , Encode , Decode ) ]
246+ #[ serde( bound = "E: EthSpec" , untagged) ]
247+ #[ ssz( enum_behaviour = "transparent" ) ]
248+ pub struct SignedHeaderResponse < E : EthSpec > {
249+ #[ superstruct( flatten) ]
250+ pub message : HeaderResponse < E > ,
251+ pub signature : Signature ,
252+ }
253+
254+ #[ superstruct(
255+ variants( Bellatrix , Capella , Deneb , Electra ) ,
256+ variant_attributes(
257+ derive( Debug , Clone , Serialize , Deserialize , Encode , Decode ) ,
258+ serde( bound = "E: EthSpec" , deny_unknown_fields) ,
259+ ) ,
260+ map_into( ExecutionPayloadHeader ) ,
261+ map_ref_into( ExecutionPayloadHeader )
262+ ) ]
263+ #[ derive( Debug , Clone , Serialize , Deserialize , Encode , Decode ) ]
264+ #[ serde( bound = "E: EthSpec" , untagged) ]
265+ #[ ssz( enum_behaviour = "transparent" ) ]
266+ pub struct HeaderResponse < E : EthSpec > {
267+ #[ superstruct( flatten) ]
268+ pub execution_payload_header : ExecutionPayloadHeader < E > ,
269+ #[ superstruct( only( Deneb ) ) ]
270+ pub blobs_bundle : BlobsBundle < E > ,
271+ pub value : Uint256 ,
272+ pub pubkey : PublicKeyBytes ,
273+ }
274+
236275// Builder API response types
237276pub type GetValidatorsResponse = Vec < ValidatorsResponse > ;
238277
0 commit comments