Skip to content

chore: remove FFI layer#776

Draft
xdustinface wants to merge 1 commit into
devfrom
chore/remove-ffi-crates
Draft

chore: remove FFI layer#776
xdustinface wants to merge 1 commit into
devfrom
chore/remove-ffi-crates

Conversation

@xdustinface
Copy link
Copy Markdown
Collaborator

Delete the dash-spv-ffi and key-wallet-ffi crates and remove the optional ffi feature, ffi module, build.rs, and cbindgen.toml from dash-network. It is no longer used by anything. Keeping it around for potential future use just eats time and tokens to keep it in sync with the Rust API, make sure it's tested and working, and review all the changes happening to it.

I think it makes more sense to just generate a new FFI layer if we ever come up with a use case or if someone actually requests it. If someone is actually using it they will probably look into here and are welcome to open an issue, so we can consider reverting the PR.

But at the moment all the effort we put into this is better put into something else.

Delete the `dash-spv-ffi` and `key-wallet-ffi` crates and remove the optional `ffi` feature, `ffi` module, `build.rs`, and `cbindgen.toml` from `dash-network`. It is no longer used by anything. Keeping it around for potential future use just eats time and tokens to keep it in sync with the Rust API, make sure it's tested and working, and review all the changes happening to it.

I think it makes more sense to just generate a new FFI layer if we ever come up with a use case or if someone actually requests it. If someone is actually using it they will probably look into here and are welcome to open an issue, so we can consider reverting the PR.

But at the moment all the effort we put into this is better put into something else.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f12a3f1d-5fef-4c8e-add6-cb7958b36cb7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-ffi-crates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.31%. Comparing base (26384af) to head (c2460a7).
⚠️ Report is 1 commits behind head on v0.42-dev.

Additional details and impacted files
@@              Coverage Diff              @@
##           v0.42-dev     #776      +/-   ##
=============================================
+ Coverage      72.66%   76.31%   +3.65%     
=============================================
  Files            320      291      -29     
  Lines          70319    60846    -9473     
=============================================
- Hits           51098    46437    -4661     
+ Misses         19221    14409    -4812     
Flag Coverage Δ
core 76.30% <ø> (ø)
ffi ?
rpc 20.00% <ø> (ø)
spv 89.80% <ø> (-0.04%) ⬇️
wallet 71.27% <ø> (ø)
see 2 files with indirect coverage changes

@ZocoLini
Copy link
Copy Markdown
Collaborator

Sam currently doesn't want to remove the KeyWallet wrappers, he is worried about a hypothetical future swift consumer that wants the key derivation features so key-wallet-ffi and dash-network/ffi cannot be removed. I honestly think that focusing in what we need first is a better idea than trying to maintain ffi layers that we don't internally use

@github-actions github-actions Bot added the merge-conflict The PR conflicts with the target branch. label May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This PR has merge conflicts with the base branch. Please rebase or merge the base branch into your branch to resolve them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-conflict The PR conflicts with the target branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants