MCPcopy Create free account
hub / github.com/Commit-Boost/commit-boost-client / BuilderApi

Interface BuilderApi

crates/pbs/src/api.rs:16–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14
15#[async_trait]
16pub trait BuilderApi<S: BuilderApiState>: 'static {
17 /// Use to extend the BuilderApi
18 fn extra_routes() -> Option<Router<PbsStateGuard<S>>> {
19 None
20 }
21
22 /// https://ethereum.github.io/builder-specs/#/Builder/getHeader
23 async fn get_header(
24 params: GetHeaderParams,
25 req_headers: HeaderMap,
26 state: PbsState<S>,
27 ) -> eyre::Result<Option<GetHeaderResponse>> {
28 mev_boost::get_header(params, req_headers, state).await
29 }
30
31 /// https://ethereum.github.io/builder-specs/#/Builder/status
32 async fn get_status(req_headers: HeaderMap, state: PbsState<S>) -> eyre::Result<()> {
33 mev_boost::get_status(req_headers, state).await
34 }
35
36 /// https://ethereum.github.io/builder-specs/#/Builder/submitBlindedBlock and
37 /// https://ethereum.github.io/builder-specs/#/Builder/submitBlindedBlockV2
38 async fn submit_block(
39 signed_blinded_block: Arc<SignedBlindedBeaconBlock>,
40 req_headers: HeaderMap,
41 state: PbsState<S>,
42 api_version: BuilderApiVersion,
43 ) -> eyre::Result<Option<SubmitBlindedBlockResponse>> {
44 mev_boost::submit_block(signed_blinded_block, req_headers, state, api_version).await
45 }
46
47 /// https://ethereum.github.io/builder-specs/#/Builder/registerValidator
48 async fn register_validator(
49 registrations: Vec<serde_json::Value>,
50 req_headers: HeaderMap,
51 state: PbsState<S>,
52 ) -> eyre::Result<()> {
53 mev_boost::register_validator(registrations, req_headers, state).await
54 }
55
56 async fn reload(state: PbsState<S>) -> eyre::Result<PbsState<S>> {
57 mev_boost::reload(state).await
58 }
59}
60
61pub struct DefaultBuilderApi;
62impl BuilderApi<()> for DefaultBuilderApi {}

Callers

nothing calls this directly

Implementers 2

main.rsexamples/status_api/src/main.rs
api.rscrates/pbs/src/api.rs

Calls

no outgoing calls

Tested by

no test coverage detected