Skip to content

Commit 4ea8874

Browse files
committed
Merge branch 'v0.42-dev' into chore/reputation-cleanup
2 parents c552a3c + 12a121b commit 4ea8874

182 files changed

Lines changed: 2224 additions & 10256 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ci-groups.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ groups:
2525
- dashcore-rpc-json
2626

2727
tools:
28-
- dashcore-test-utils
2928
- dash-fuzz
3029

3130
# Crates intentionally not tested (with reason)

AGENTS.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
- MSRV: 1.89. Build all: `cargo build --workspace --all-features`
1010
- Test all: `cargo test --workspace --all-features` or `./contrib/test.sh` (set `DO_COV=true`, `DO_LINT=true`, `DO_FMT=true` as needed)
1111
- Targeted tests: `cargo test -p dash-spv --all-features`
12-
- Integration RPC: `cd dash-spv && DASH_SPV_IP=<node-ip> cargo test --test integration_real_node_test -- --nocapture`
1312
- FFI iOS builds: `cd key-wallet-ffi && ./build-ios.sh`
1413
- Lint/format: `cargo clippy --workspace --all-targets -- -D warnings` and `cargo fmt --all`
1514
- Docs: `cargo doc --workspace` (add `--open` locally)

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

7+
## 0.41.1 - 2026-01-23
8+
9+
### Changed
10+
11+
- Bump `bincode` to `2.0.1` (#356) @lklimek
12+
713
## 0.41.0 - 2025-12-30
814

915
### Added

CLAUDE.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,6 @@ DO_LINT=true ./contrib/test.sh
101101
DO_FMT=true ./contrib/test.sh
102102
```
103103

104-
### Integration Tests
105-
```bash
106-
# Run with real Dash node (requires DASH_SPV_IP environment variable)
107-
cd dash-spv
108-
cargo test --test integration_real_node_test -- --nocapture
109-
```
110-
111104
## Development Commands
112105

113106
### Linting and Formatting

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[workspace]
2-
members = ["dash", "dash-network", "dash-network-ffi", "hashes", "internals", "fuzz", "rpc-client", "rpc-json", "rpc-integration-test", "key-wallet", "key-wallet-ffi", "key-wallet-manager", "dash-spv", "dash-spv-ffi", "test-utils"]
2+
members = ["dash", "dash-network", "dash-network-ffi", "hashes", "internals", "fuzz", "rpc-client", "rpc-json", "rpc-integration-test", "key-wallet", "key-wallet-ffi", "key-wallet-manager", "dash-spv", "dash-spv-ffi"]
33
resolver = "2"
44

55
[workspace.package]
6-
version = "0.41.0"
6+
version = "0.42.0"
77

88
[patch.crates-io]
99
dashcore_hashes = { path = "hashes" }

TEST_SUMMARY.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ I have successfully implemented comprehensive unit tests for several critical da
4747
- **Location**:
4848
- `dash-spv/src/client/config_test.rs`
4949
- `dash-spv/src/client/watch_manager_test.rs`
50-
- `dash-spv/src/client/block_processor_test.rs`
5150
- `dash-spv/src/client/consistency_test.rs`
5251
- `dash-spv/src/client/message_handler_test.rs`
5352
- **Issue**: Tests were written against an incorrect API and need adjustment

dash-network/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ hex = { version = "0.4.3", default-features = false, features = ["alloc"] }
1515

1616
# Optional dependencies for serialization
1717
serde = { version = "1.0", default-features = false, optional = true, features = ["derive", "alloc"] }
18-
bincode = { version = "=2.0.0-rc.3", optional = true, default-features = false }
19-
bincode_derive = { version= "=2.0.0-rc.3", optional = true }
18+
bincode = { version = "2.0.1", optional = true, default-features = false }
19+
bincode_derive = { version = "2.0.1", optional = true }
2020

2121
[features]
2222
default = ["std"]

dash-network/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Add this to your `Cargo.toml`:
1919

2020
```toml
2121
[dependencies]
22-
dash-network = "0.41.0"
22+
dash-network = "0.42.0"
2323
```
2424

2525
### Basic Example

dash-spv-ffi/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ clap = { version = "4.5", features = ["derive"] }
3737
tempfile = "3.8"
3838
serial_test = "3.0"
3939
env_logger = "0.10"
40-
dashcore-test-utils = { path = "../test-utils" }
4140

4241
[build-dependencies]
4342
cbindgen = "0.29"

dash-spv-ffi/FFI_API.md

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This document provides a comprehensive reference for all FFI (Foreign Function I
44

55
**Auto-generated**: This documentation is automatically generated from the source code. Do not edit manually.
66

7-
**Total Functions**: 68
7+
**Total Functions**: 66
88

99
## Table of Contents
1010

@@ -13,7 +13,6 @@ This document provides a comprehensive reference for all FFI (Foreign Function I
1313
- [Synchronization](#synchronization)
1414
- [Address Monitoring](#address-monitoring)
1515
- [Transaction Management](#transaction-management)
16-
- [Mempool Operations](#mempool-operations)
1716
- [Platform Integration](#platform-integration)
1817
- [Event Callbacks](#event-callbacks)
1918
- [Error Handling](#error-handling)
@@ -66,14 +65,13 @@ Functions: 25
6665

6766
### Synchronization
6867

69-
Functions: 7
68+
Functions: 6
7069

7170
| Function | Description | Module |
7271
|----------|-------------|--------|
7372
| `dash_spv_ffi_client_cancel_sync` | Cancels the sync operation | client |
7473
| `dash_spv_ffi_client_get_sync_progress` | Get the current sync progress snapshot | client |
7574
| `dash_spv_ffi_client_is_filter_sync_available` | Check if compact filter sync is currently available | client |
76-
| `dash_spv_ffi_client_sync_to_tip` | Sync the SPV client to the chain tip | client |
7775
| `dash_spv_ffi_client_sync_to_tip_with_progress` | Sync the SPV client to the chain tip with detailed progress updates | client |
7876
| `dash_spv_ffi_client_test_sync` | Performs a test synchronization of the SPV client # Parameters - `client`:... | client |
7977
| `dash_spv_ffi_sync_progress_destroy` | Destroy a `FFISyncProgress` object returned by this crate | client |
@@ -96,14 +94,6 @@ Functions: 3
9694
| `dash_spv_ffi_unconfirmed_transaction_destroy` | Destroys an FFIUnconfirmedTransaction and all its associated resources #... | types |
9795
| `dash_spv_ffi_unconfirmed_transaction_destroy_raw_tx` | Destroys the raw transaction bytes allocated for an FFIUnconfirmedTransaction... | types |
9896

99-
### Mempool Operations
100-
101-
Functions: 1
102-
103-
| Function | Description | Module |
104-
|----------|-------------|--------|
105-
| `dash_spv_ffi_client_enable_mempool_tracking` | Enable mempool tracking with a given strategy | client |
106-
10797
### Platform Integration
10898

10999
Functions: 4
@@ -661,22 +651,6 @@ Check if compact filter sync is currently available. # Safety - `client` must b
661651
662652
---
663653
664-
#### `dash_spv_ffi_client_sync_to_tip`
665-
666-
```c
667-
dash_spv_ffi_client_sync_to_tip(client: *mut FFIDashSpvClient, completion_callback: Option<extern "C" fn(bool, *const c_char, *mut c_void)>, user_data: *mut c_void,) -> i32
668-
```
669-
670-
**Description:**
671-
Sync the SPV client to the chain tip. # Safety This function is unsafe because: - `client` must be a valid pointer to an initialized `FFIDashSpvClient` - `user_data` must satisfy thread safety requirements: - If non-null, it must point to data that is safe to access from multiple threads - The caller must ensure proper synchronization if the data is mutable - The data must remain valid for the entire duration of the sync operation - `completion_callback` must be thread-safe and can be called from any thread # Parameters - `client`: Pointer to the SPV client - `completion_callback`: Optional callback invoked on completion - `user_data`: Optional user data pointer passed to callbacks # Returns 0 on success, error code on failure
672-
673-
**Safety:**
674-
This function is unsafe because: - `client` must be a valid pointer to an initialized `FFIDashSpvClient` - `user_data` must satisfy thread safety requirements: - If non-null, it must point to data that is safe to access from multiple threads - The caller must ensure proper synchronization if the data is mutable - The data must remain valid for the entire duration of the sync operation - `completion_callback` must be thread-safe and can be called from any thread
675-
676-
**Module:** `client`
677-
678-
---
679-
680654
#### `dash_spv_ffi_client_sync_to_tip_with_progress`
681655
682656
```c
@@ -793,24 +767,6 @@ Destroys the raw transaction bytes allocated for an FFIUnconfirmedTransaction #
793767

794768
---
795769

796-
### Mempool Operations - Detailed
797-
798-
#### `dash_spv_ffi_client_enable_mempool_tracking`
799-
800-
```c
801-
dash_spv_ffi_client_enable_mempool_tracking(client: *mut FFIDashSpvClient, strategy: FFIMempoolStrategy,) -> i32
802-
```
803-
804-
**Description:**
805-
Enable mempool tracking with a given strategy. # Safety - `client` must be a valid, non-null pointer.
806-
807-
**Safety:**
808-
- `client` must be a valid, non-null pointer.
809-
810-
**Module:** `client`
811-
812-
---
813-
814770
### Platform Integration - Detailed
815771

816772
#### `ffi_dash_spv_get_core_handle`
@@ -1258,9 +1214,6 @@ if (result != 0) {
12581214
// Handle error
12591215
}
12601216
1261-
// Sync to chain tip
1262-
dash_spv_ffi_client_sync_to_tip(client, NULL, NULL);
1263-
12641217
// Get wallet manager (shares ownership with the client)
12651218
FFIWalletManager* wallet_manager = dash_spv_ffi_client_get_wallet_manager(client);
12661219

0 commit comments

Comments
 (0)