From 34719754c599affef827f5597218eee578156245 Mon Sep 17 00:00:00 2001 From: shamardy Date: Tue, 30 Sep 2025 10:43:22 +0300 Subject: [PATCH] =?UTF-8?q?wasm:=20get=5Fspendable=5Fnotes=20=E2=80=93=20e?= =?UTF-8?q?nforce=20exact-anchor=20witnesses=20to=20match=20SQLite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mm2src/coins/lightning/ln_sql.rs | 2 +- mm2src/coins/nft/storage/mod.rs | 12 +++++++++--- .../coins/z_coin/storage/walletdb/wasm/storage.rs | 3 ++- mm2src/mm2_bitcoin/keys/src/segwitaddress.rs | 2 +- .../src/lp_ordermatch/simple_market_maker.rs | 15 --------------- mm2src/mm2_main/src/lp_stats.rs | 7 +------ mm2src/mm2_test_helpers/src/for_tests.rs | 4 +++- 7 files changed, 17 insertions(+), 28 deletions(-) diff --git a/mm2src/coins/lightning/ln_sql.rs b/mm2src/coins/lightning/ln_sql.rs index 58af0e1bec..c665773a9e 100644 --- a/mm2src/coins/lightning/ln_sql.rs +++ b/mm2src/coins/lightning/ln_sql.rs @@ -1104,7 +1104,7 @@ mod tests { PaymentType::InboundPayment }; let status_rng: u8 = rng.gen(); - let status = if status_rng % 3 == 0 { + let status = if status_rng.is_multiple_of(3) { HTLCStatus::Succeeded } else if status_rng % 3 == 1 { HTLCStatus::Pending diff --git a/mm2src/coins/nft/storage/mod.rs b/mm2src/coins/nft/storage/mod.rs index 7d87bacb26..f3ad96ceab 100644 --- a/mm2src/coins/nft/storage/mod.rs +++ b/mm2src/coins/nft/storage/mod.rs @@ -1,4 +1,3 @@ -use crate::eth::EthTxFeeDetails; use crate::nft::nft_structs::{ Chain, Nft, NftList, NftListFilters, NftTokenAddrId, NftTransferHistory, NftTransferHistoryFilters, NftsTransferHistoryList, TransferMeta, @@ -7,11 +6,16 @@ use async_trait::async_trait; use ethereum_types::Address; use mm2_err_handle::mm_error::MmResult; use mm2_err_handle::mm_error::NotMmError; -use mm2_number::{BigDecimal, BigUint}; -use serde::{Deserialize, Serialize}; +use mm2_number::BigUint; use std::collections::HashSet; use std::num::NonZeroUsize; +cfg_native! { + use crate::eth::EthTxFeeDetails; + use mm2_number::BigDecimal; + use serde::{Deserialize, Serialize}; +} + #[cfg(any(test, target_arch = "wasm32"))] pub(crate) mod db_test_helpers; #[cfg(not(target_arch = "wasm32"))] @@ -231,6 +235,7 @@ fn get_offset_limit(max: bool, limit: usize, page_number: Option, /// `NftDetailsJson` structure contains immutable parameters that are not needed for queries. /// This is what `details_json` string contains in db table. +#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub(crate) struct NftDetailsJson { pub(crate) owner_of: Address, @@ -241,6 +246,7 @@ pub(crate) struct NftDetailsJson { /// `TransferDetailsJson` structure contains immutable parameters that are not needed for queries. /// This is what `details_json` string contains in db table. +#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub(crate) struct TransferDetailsJson { pub(crate) block_hash: Option, diff --git a/mm2src/coins/z_coin/storage/walletdb/wasm/storage.rs b/mm2src/coins/z_coin/storage/walletdb/wasm/storage.rs index 096ab11770..8d07632df9 100644 --- a/mm2src/coins/z_coin/storage/walletdb/wasm/storage.rs +++ b/mm2src/coins/z_coin/storage/walletdb/wasm/storage.rs @@ -1317,7 +1317,8 @@ impl WalletRead for WalletIndexedDb { .cursor_builder() .only("ticker", &self.ticker) .map_mm_err()? - .bound("block", 0u32, u32::from(anchor_height + 1)) + .only("block", u32::from(anchor_height)) + .map_mm_err()? .open_cursor(WalletDbSaplingWitnessesTable::TICKER_BLOCK_INDEX) .await .map_mm_err()? diff --git a/mm2src/mm2_bitcoin/keys/src/segwitaddress.rs b/mm2src/mm2_bitcoin/keys/src/segwitaddress.rs index e86bc52fa8..500c7e4df6 100644 --- a/mm2src/mm2_bitcoin/keys/src/segwitaddress.rs +++ b/mm2src/mm2_bitcoin/keys/src/segwitaddress.rs @@ -193,7 +193,7 @@ mod tests { use Public; fn hex_to_bytes(s: &str) -> Option> { - if s.len() % 2 == 0 { + if s.len().is_multiple_of(2) { (0..s.len()) .step_by(2) .map(|i| s.get(i..i + 2).and_then(|sub| u8::from_str_radix(sub, 16).ok())) diff --git a/mm2src/mm2_main/src/lp_ordermatch/simple_market_maker.rs b/mm2src/mm2_main/src/lp_ordermatch/simple_market_maker.rs index 3c1c9cca4d..70d996d763 100644 --- a/mm2src/mm2_main/src/lp_ordermatch/simple_market_maker.rs +++ b/mm2src/mm2_main/src/lp_ordermatch/simple_market_maker.rs @@ -204,21 +204,6 @@ pub enum StartSimpleMakerBotError { InternalError(String), } -#[derive(Debug, Deserialize, Display, Serialize, SerializeErrorType)] -#[serde(tag = "error_type", content = "error_data")] -pub enum SwapUpdateNotificationError { - #[display(fmt = "{_0}")] - MyRecentSwapsError(LatestSwapsErr), - #[display(fmt = "Swap info not available")] - SwapInfoNotAvailable, -} - -impl From for SwapUpdateNotificationError { - fn from(e: LatestSwapsErr) -> Self { - SwapUpdateNotificationError::MyRecentSwapsError(e) - } -} - impl HttpStatusCode for StartSimpleMakerBotError { fn status_code(&self) -> StatusCode { match self { diff --git a/mm2src/mm2_main/src/lp_stats.rs b/mm2src/mm2_main/src/lp_stats.rs index 6483400c03..caa91d651d 100644 --- a/mm2src/mm2_main/src/lp_stats.rs +++ b/mm2src/mm2_main/src/lp_stats.rs @@ -11,7 +11,7 @@ use mm2_libp2p::application::request_response::network_info::NetworkInfoRequest; use mm2_libp2p::{encode_message, NetworkInfo, PeerId, RelayAddress, RelayAddressError}; use mm2_net::ip_addr::ParseAddressError; use serde_json::{self as json, Value as Json}; -use std::collections::{HashMap, HashSet}; +use std::collections::HashSet; use std::convert::TryInto; use std::sync::Arc; @@ -182,11 +182,6 @@ pub async fn remove_node_from_version_stat(ctx: MmArc, req: Json) -> NodeVersion Ok("success".into()) } -#[derive(Debug, Deserialize, Serialize)] -struct Mm2VersionRes { - nodes: HashMap, -} - fn process_get_version_request(ctx: MmArc) -> Result, String> { let response = ctx.mm_version().to_string(); encode_message(&response).map_err(|e| e.to_string()) diff --git a/mm2src/mm2_test_helpers/src/for_tests.rs b/mm2src/mm2_test_helpers/src/for_tests.rs index f85ead264f..af88044093 100644 --- a/mm2src/mm2_test_helpers/src/for_tests.rs +++ b/mm2src/mm2_test_helpers/src/for_tests.rs @@ -18,7 +18,7 @@ use mm2_metrics::{MetricType, MetricsJson}; use mm2_number::BigDecimal; use mm2_rpc::data::legacy::{BalanceResponse, ElectrumProtocol}; use rand::Rng; -use serde::{Deserialize, Serialize}; +use serde::Serialize; use serde_json::{self as json, json, Value as Json}; use std::collections::HashMap; use std::convert::TryFrom; @@ -41,6 +41,7 @@ cfg_native! { use futures::task::SpawnExt; use http::Request; use regex::Regex; + use serde::Deserialize; use std::fs; use std::io::Write; use std::net::Ipv4Addr; @@ -1844,6 +1845,7 @@ where } } +#[cfg(not(target_arch = "wasm32"))] #[derive(Serialize, Deserialize, Debug)] struct ToWaitForLogRe { ctx: u32,