Skip to content

Commit db0936b

Browse files
committed
node: Move measurement validation out of api client
1 parent d048eab commit db0936b

File tree

3 files changed

+10
-17
lines changed

3 files changed

+10
-17
lines changed

node/src/api/client.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -102,19 +102,8 @@ impl ApiClient for LexeApiClient {
102102
user_pk,
103103
measurement,
104104
};
105-
let maybe_instance: Option<Instance> = self
106-
.request(&GET, Backend, V1, "/instance", &data).await?;
107-
108-
if let Some(instance) = maybe_instance.as_ref() {
109-
if instance.measurement != measurement {
110-
let msg = format!(
111-
"returned instance measurement '{}' doesn't match \
112-
requested measurement '{}'",
113-
instance.measurement, measurement,
114-
);
115-
return Err(ApiError::ResponseError(msg));
116-
}
117-
}
105+
let maybe_instance: Option<Instance> =
106+
self.request(&GET, Backend, V1, "/instance", &data).await?;
118107

119108
Ok(maybe_instance)
120109
}

node/src/api/mod.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ pub enum ApiError {
2828

2929
#[error("Server Error: {0}")]
3030
Server(String),
31-
32-
#[error("Invalid response: {0}")]
33-
ResponseError(String),
3431
}
3532

3633
#[async_trait]

node/src/init.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ use lightning_invoice::utils::DefaultRouter;
2626
use tokio::net::TcpListener;
2727
use tokio::runtime::Handle;
2828
use tokio::sync::{broadcast, mpsc};
29-
use tracing::{debug, error, info, instrument};
3029
use tokio::task::JoinHandle;
30+
use tracing::{debug, error, info, instrument};
3131

3232
use crate::api::ApiClient;
3333
use crate::event_handler::LdkEventHandler;
@@ -490,6 +490,13 @@ async fn fetch_provisioned_secrets(
490490
node.node_pk,
491491
instance.node_pk,
492492
);
493+
ensure!(
494+
instance.measurement == measurement,
495+
"Returned instance measurement '{}' doesn't match \
496+
requested measurement '{}'",
497+
instance.measurement,
498+
measurement,
499+
);
493500

494501
let sealed_seed_id = SealedSeedId {
495502
node_pk: node.node_pk,

0 commit comments

Comments
 (0)