Skip to content

feat(sdk): add transport-free CXX bindings - #4416

Draft
PastaPastaPasta wants to merge 1 commit into
dashpay:refactor/shared-document-transition-prepfrom
PastaPastaPasta:feat/platform-cxx-bindings
Draft

feat(sdk): add transport-free CXX bindings#4416
PastaPastaPasta wants to merge 1 commit into
dashpay:refactor/shared-document-transition-prepfrom
PastaPastaPasta:feat/platform-cxx-bindings

Conversation

@PastaPastaPasta

@PastaPastaPasta PastaPastaPasta commented Aug 18, 2026

Copy link
Copy Markdown
Member

Issue being fixed or feature implemented

Dash Core's Platform GUI currently carries a private copy of its Rust/CXX bridge and pins individual Platform crates. This makes the embedding ABI, proof-verification logic, decoders, state-transition builders, and dependency closure owned by the consumer instead of Platform.

This stacked PR gives Platform ownership of that transport-free C++ embedding surface. It is based on #4433 (which stacks on #4389) and assumes #4389 and #4433 merge before this PR is retargeted to v4.2-dev. (#4388 and #4434 have already merged.)

What was done?

  • Added the dash-platform-cxx workspace package with the existing platform_ffi ABI for proof verification, DPP decoding, state-transition construction, quorum context, and callback-based wallet signing.
  • Added 31 Rust tests and the proof/decoder/signing vectors previously maintained with the Dash Core integration.
  • Added a standalone manifest and lockfile so downstream build systems can vendor only this package's dependency closure.
  • Added an install contract for the static archive and public/generated CXX headers.
  • Added a real C++ link-and-run smoke test and CI checks that reject native DAPI transport dependencies.
  • Integrated the package with workspace metadata, package filters, Docker package discovery, feature checks, and nightly CI.

After this lands, PastaPastaPasta/dash#67 will consume the installed archive and headers through Dash Core's depends system and remove its private Rust/CXX implementation.

How Has This Been Tested?

  • cargo test -p dash-platform-cxx --locked (31 tests)
  • cargo clippy -p dash-platform-cxx --all-targets --locked -- -D warnings
  • cargo check --manifest-path packages/rs-platform-cxx/standalone/Cargo.toml --locked
  • standalone debug C++ link-and-run smoke test
  • standalone release build and install-layout verification
  • workspace and standalone dependency-tree checks for rs-dapi-client, Hyper, Rustls, Tower, and Reqwest
  • cargo machete
  • cargo fmt --all -- --check
  • shellcheck packages/rs-platform-cxx/install.sh packages/rs-platform-cxx/test-cxx-link.sh
  • YAML parsing and git diff --check

Breaking Changes

None. The existing platform_ffi namespace and bridge ABI from the downstream integration are preserved.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

This pull request was created by Codex.

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

@PastaPastaPasta
PastaPastaPasta force-pushed the feat/platform-cxx-bindings branch from df4fdb6 to 13472b6 Compare August 23, 2026 23:13
@PastaPastaPasta
PastaPastaPasta changed the base branch from refactor/document-query-decode-builders to refactor/shared-document-transition-prep August 23, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant