backend: harden rootless app lifecycle orchestration
This commit is contained in:
@@ -23,10 +23,15 @@ impl RpcHandler {
|
||||
.await
|
||||
.context("Failed to parse newaddress response")?;
|
||||
|
||||
if let Some(error) = body.get("error").and_then(|v| v.as_str()) {
|
||||
anyhow::bail!("LND could not generate an address: {}", error);
|
||||
}
|
||||
|
||||
let address = body
|
||||
.get("address")
|
||||
.and_then(|v| v.as_str())
|
||||
.unwrap_or("")
|
||||
.filter(|addr| !addr.trim().is_empty())
|
||||
.ok_or_else(|| anyhow::anyhow!("LND did not return a Bitcoin address. The wallet may still be locked, uninitialized, or waiting for Bitcoin to sync."))?
|
||||
.to_string();
|
||||
|
||||
Ok(serde_json::json!({ "address": address }))
|
||||
|
||||
Reference in New Issue
Block a user