Skip to content

XLS-96 Confidential MPT#294

Draft
ckeshava wants to merge 3 commits intoXRPLF:mainfrom
ckeshava:cmpt
Draft

XLS-96 Confidential MPT#294
ckeshava wants to merge 3 commits intoXRPLF:mainfrom
ckeshava:cmpt

Conversation

@ckeshava
Copy link
Copy Markdown
Collaborator

High Level Overview of Change

This PR materializes support for Confidential MPTs in the xrpl-rust library. Here are some salient points about the design choices:

  • This library makes use of the C-bindings-for-rust + shared-library of C-code generated from the mpt-crypto Github repository.
  • The usage of C-bindings necessitate the "std" portion of the Rust library. ConfidentialMPTs are the first amendment which have necessitated the use of std in xrpl-rust SDK.
  • This PR also adds models for transactions and requests associated with the cMPT feature.
  • Although the mpt-crypto exposes 88 functions that aid in cryptography-related tasks, xrpl-rust SDK makes use of 12 of these methods for cMPT-related proof-generation transactions. Since xrpl-rust is unlikely to be used as a "validator", the verifier-methods of mpt-crypto library are exposed, by unused.

References:
Sister work in xrpl-py library: https://github.com/XRPLF/xrpl-py/pull/919/changes
mpt-crypto C library: https://github.com/XRPLF/mpt-crypto
Confidential Transfers specification: https://raw.githubusercontent.com/XRPLF/XRPL-Standards/refs/heads/master/XLS-0096-confidential-mpt/README.md

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

Test Plan

New tests will be added to verify all the new additions to the xrpl-rust SDK. This includes transaction-model related integration+unit tests. It also includes tests against the Rust-wrappers around the linkage of C-shared-library.

…he interfaces exported by mpt-crypto-sys with the typical guarantees of Rust.
…nfidential MPTs.

What is remaining?
- The integration tests pertaining to ConfidentialMPTs are not complete.
- All the transaction+request models, binary-codec changes pertaining to MPTokensV1 is missing in xrpl-rust. This is a prereq for the above point.
@ckeshava ckeshava changed the title Cmpt XLS-96 Confidential MPT Apr 27, 2026
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