The call to builderhub api/l1-builder/v1/builders returns a list of Peer data, where most of the fields are required. However, it might be that due to some misconfiguration on builderhub, a peer might be missing a field or two. If that happens, we fail to process all peers:
|
async fn get_peers(&self) -> Result<Vec<Peer>, Self::Error> { |
|
let endpoint = format!("{}/api/l1-builder/v1/builders", self.url); |
|
let response = self.inner.get(endpoint).send().await?; |
|
response.json().await |
|
} |
To fix this, we should have a less strict definition of builderhub return data, and then filter away individual peers who don't have compliant data.
The call to builderhub
api/l1-builder/v1/buildersreturns a list ofPeerdata, where most of the fields are required. However, it might be that due to some misconfiguration on builderhub, a peer might be missing a field or two. If that happens, we fail to process all peers:FlowProxy/src/builderhub/mod.rs
Lines 104 to 108 in 704b52f
To fix this, we should have a less strict definition of builderhub return data, and then filter away individual peers who don't have compliant data.