Skip to content

Commit b095db4

Browse files
authored
Merge branch 'v0.41-dev' into refactor/storage-worker-reworked
2 parents 1f168b7 + 1c6ade7 commit b095db4

File tree

237 files changed

+2342
-27202
lines changed

Some content is hidden

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

237 files changed

+2342
-27202
lines changed

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
## Project Structure & Module Organization
44
- Workspace with crates: `dash`, `hashes`, `internals`, `dash-network`, `dash-spv`, `key-wallet`, `rpc-*`, utilities (`fuzz`, `test-utils`), and FFI crates (`*-ffi`).
55
- Each crate keeps sources in `src/`; unit tests live alongside code with `#[cfg(test)]`. Integration tests use `tests/` (e.g., `rpc-integration-test`).
6-
- Mobile SDK lives in `swift-dash-core-sdk/`; FFI bindings are in `*-ffi`. Shared helpers in `internals/` and `test-utils/`.
6+
- FFI bindings are in `*-ffi`. Shared helpers in `internals/` and `test-utils/`.
77

88
## Build, Test, and Development Commands
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`
1212
- Integration RPC: `cd dash-spv && DASH_SPV_IP=<node-ip> cargo test --test integration_real_node_test -- --nocapture`
13-
- FFI iOS builds: `cd key-wallet-ffi && ./build-ios.sh` or `cd swift-dash-core-sdk && ./build-ios.sh`
13+
- FFI iOS builds: `cd key-wallet-ffi && ./build-ios.sh`
1414
- Lint/format: `cargo clippy --workspace --all-targets -- -D warnings` and `cargo fmt --all`
1515
- Docs: `cargo doc --workspace` (add `--open` locally)
1616

CLAUDE.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ rust-dashcore is a Rust implementation of the Dash cryptocurrency protocol libra
3737
- `rpc-json/` - JSON types for RPC communication
3838
- `rpc-integration-test/` - Integration tests for RPC
3939

40-
### Mobile SDK
41-
- `swift-dash-core-sdk/` - Swift SDK for iOS/macOS applications
42-
4340
### Testing
4441
- `fuzz/` - Fuzzing tests for security testing
4542

@@ -61,9 +58,6 @@ cargo build -p dash-spv
6158
```bash
6259
# Build iOS libraries for key-wallet-ffi
6360
cd key-wallet-ffi && ./build-ios.sh
64-
65-
# Build iOS libraries for swift-dash-core-sdk
66-
cd swift-dash-core-sdk && ./build-ios.sh
6761
```
6862

6963
### iOS/macOS Targets
@@ -180,7 +174,6 @@ cargo doc --open
180174
## Current Status
181175

182176
The project is actively developing:
183-
- Swift SDK implementation for iOS/macOS
184177
- FFI bindings improvements
185178
- Support for Dash Core versions 0.18.0 - 0.21.0
186179

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div align="center">
22
<h1>Rust Dash</h1>
33

4-
<img alt="Rust Dash logo by Rostislav Gorbachenko, UX engineer at Dash Core Group, see license and source files under /logo" src="./logo/rust-dash-together.png" width="300" />
4+
<img alt="Rust Dash logo by Rostislav Gorbachenko, UX engineer at Dash Core Group, see license and source files under contrib/logo" src="./contrib/logo/rust-dash-together.png" width="300" />
55

66
<p>Library with support for de/serialization, parsing and executing on data-structures
77
and network messages related to Dash Core payment chain. Core RPC client.
File renamed without changes.

dash-spv-ffi/FFI_API.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Functions: 3
9494

9595
| Function | Description | Module |
9696
|----------|-------------|--------|
97-
| `dash_spv_ffi_client_broadcast_transaction` | No description | broadcast |
97+
| `dash_spv_ffi_client_broadcast_transaction` | Broadcasts a transaction to the Dash network via connected peers | broadcast |
9898
| `dash_spv_ffi_unconfirmed_transaction_destroy` | Destroys an FFIUnconfirmedTransaction and all its associated resources #... | types |
9999
| `dash_spv_ffi_unconfirmed_transaction_destroy_raw_tx` | Destroys the raw transaction bytes allocated for an FFIUnconfirmedTransaction... | types |
100100

@@ -254,7 +254,7 @@ dash_spv_ffi_config_add_peer(config: *mut FFIClientConfig, addr: *const c_char,)
254254
```
255255

256256
**Description:**
257-
Adds a peer address to the configuration Accepts either a full socket address (e.g., "192.168.1.1:9999" or "[::1]:19999") or an IP-only string (e.g., "127.0.0.1" or "2001:db8::1"). When an IP-only string is given, the default P2P port for the configured network is used. # Safety - `config` must be a valid pointer to an FFIClientConfig created by dash_spv_ffi_config_new/mainnet/testnet - `addr` must be a valid null-terminated C string containing a socket address or IP-only string - The caller must ensure both pointers remain valid for the duration of this call
257+
Adds a peer address to the configuration Accepts either a full socket address (e.g., `192.168.1.1:9999` or `[::1]:19999`) or an IP-only string (e.g., "127.0.0.1" or "2001:db8::1"). When an IP-only string is given, the default P2P port for the configured network is used. # Safety - `config` must be a valid pointer to an FFIClientConfig created by dash_spv_ffi_config_new/mainnet/testnet - `addr` must be a valid null-terminated C string containing a socket address or IP-only string - The caller must ensure both pointers remain valid for the duration of this call
258258

259259
**Safety:**
260260
- `config` must be a valid pointer to an FFIClientConfig created by dash_spv_ffi_config_new/mainnet/testnet - `addr` must be a valid null-terminated C string containing a socket address or IP-only string - The caller must ensure both pointers remain valid for the duration of this call
@@ -785,6 +785,12 @@ Destroys the addresses array allocated for an FFIUnconfirmedTransaction # Safet
785785
dash_spv_ffi_client_broadcast_transaction(client: *mut FFIDashSpvClient, tx_hex: *const c_char,) -> i32
786786
```
787787
788+
**Description:**
789+
Broadcasts a transaction to the Dash network via connected peers. # Safety - `client` must be a valid, non-null pointer to an initialized FFIDashSpvClient - `tx_hex` must be a valid, non-null pointer to a NUL-terminated C string containing a hex-encoded serialized transaction
790+
791+
**Safety:**
792+
- `client` must be a valid, non-null pointer to an initialized FFIDashSpvClient - `tx_hex` must be a valid, non-null pointer to a NUL-terminated C string containing a hex-encoded serialized transaction
793+
788794
**Module:** `broadcast`
789795
790796
---

dash-spv-ffi/examples/wallet_manager_usage.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn main() {
5151
let affected = wallet_manager_process_transaction(
5252
wallet_manager,
5353
tx_hex.as_ptr() as *const i8,
54-
FFINetworks::TestnetFlag,
54+
FFINetwork::Testnet,
5555
100000, // block height
5656
&mut error
5757
);

0 commit comments

Comments
 (0)