(
api: Arc<A>,
secret: &[u8; 32],
request: &Lsps2GetInfoRequest,
)
| 290 | } |
| 291 | |
| 292 | async fn get_info_handler<A: Lsps2OfferProvider + 'static>( |
| 293 | api: Arc<A>, |
| 294 | secret: &[u8; 32], |
| 295 | request: &Lsps2GetInfoRequest, |
| 296 | ) -> std::result::Result<Lsps2GetInfoResponse, RpcError> { |
| 297 | let res_data = api |
| 298 | .get_offer(&Lsps2PolicyGetInfoRequest { |
| 299 | token: request.token.clone(), |
| 300 | }) |
| 301 | .await |
| 302 | .map_err(|_| RpcError::internal_error("internal error"))?; |
| 303 | |
| 304 | if res_data.client_rejected { |
| 305 | return Err(RpcError::client_rejected("client was rejected")); |
| 306 | }; |
| 307 | |
| 308 | let opening_fee_params_menu = res_data |
| 309 | .policy_opening_fee_params_menu |
| 310 | .iter() |
| 311 | .map(|v| make_opening_fee_params(v, secret)) |
| 312 | .collect::<Result<Vec<_>, _>>()?; |
| 313 | |
| 314 | Ok(Lsps2GetInfoResponse { |
| 315 | opening_fee_params_menu, |
| 316 | }) |
| 317 | } |
| 318 | |
| 319 | fn make_opening_fee_params( |
| 320 | v: &PolicyOpeningFeeParams, |
no test coverage detected