From 015823c8b5e1ed95db60c25ee86d34e4f267eea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Granh=C3=A3o?= Date: Tue, 17 Dec 2024 10:08:14 +0000 Subject: [PATCH] Remove `Option` from parsers field --- lib/core/src/sdk.rs | 23 +++++++++-------------- lib/core/src/test_utils/sdk.rs | 2 +- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/core/src/sdk.rs b/lib/core/src/sdk.rs index ab6f3f8..645c48a 100644 --- a/lib/core/src/sdk.rs +++ b/lib/core/src/sdk.rs @@ -80,7 +80,7 @@ pub struct LiquidSdk { pub(crate) receive_swap_handler: ReceiveSwapHandler, pub(crate) chain_swap_handler: Arc, pub(crate) buy_bitcoin_service: Arc, - pub(crate) external_input_parsers: Option>, + pub(crate) external_input_parsers: Vec, } impl LiquidSdk { @@ -250,8 +250,9 @@ impl LiquidSdk { Ok(sdk) } - fn get_all_external_input_parsers(config: &Config) -> Option> { - let external_input_parsers = if config.use_default_external_input_parsers { + fn get_all_external_input_parsers(config: &Config) -> Vec { + let mut external_input_parsers = Vec::new(); + if config.use_default_external_input_parsers { let default_parsers = DEFAULT_EXTERNAL_INPUT_PARSERS .iter() .map(|(id, regex, url)| ExternalInputParser { @@ -260,17 +261,11 @@ impl LiquidSdk { parser_url: url.to_string(), }) .collect::>(); + external_input_parsers.extend(default_parsers); + } + external_input_parsers.extend(config.external_input_parsers.clone().unwrap_or_default()); - [ - default_parsers, - config.external_input_parsers.clone().unwrap_or_default(), - ] - .concat() - } else { - config.external_input_parsers.clone().unwrap_or_default() - }; - - (!external_input_parsers.is_empty()).then_some(external_input_parsers) + external_input_parsers } /// Starts an SDK instance. @@ -2800,7 +2795,7 @@ impl LiquidSdk { } let external_parsers = &self.external_input_parsers; - parse(input, external_parsers.as_deref()) + parse(input, Some(external_parsers)) .await .map_err(|e| PaymentError::generic(&e.to_string())) } diff --git a/lib/core/src/test_utils/sdk.rs b/lib/core/src/test_utils/sdk.rs index f4ead6e..f254c23 100644 --- a/lib/core/src/test_utils/sdk.rs +++ b/lib/core/src/test_utils/sdk.rs @@ -109,6 +109,6 @@ pub(crate) fn new_liquid_sdk_with_chain_services( receive_swap_handler, chain_swap_handler, buy_bitcoin_service, - external_input_parsers: None, + external_input_parsers: Vec::new(), }) }