Protocol 28 (CAP-0084): muxed contract address support#17
Closed
sisuresh wants to merge 1 commit into
Closed
Conversation
Add support for the new SC_ADDRESS_TYPE_MUXED_CONTRACT address type introduced by CAP-0084, behind the CAP_0084 build flag (enabled with the unsafe next-protocol configuration). - Bump the protocol-curr XDR submodule to pick up the muxed contract address definition, and the soroban (p27) submodule for SAC support that de-muxes the destination and surfaces the muxed id via the `to_muxed_id` transfer event. - Wire up the CAP_0084 conditional in configure.ac, common.mk and src/Makefile.am (C++ and XDR feature flags). - Hash and JSON-serialize the new address type (LedgerHashUtils, XDRCereal). - Refresh the p27 cargo dep-tree expectation. - Add a SAC transfer-to-muxed-contract test exercising both native and custom assets. Fund the test account with enough native balance to stay above its account reserve after the cumulative native transfers.
This was referenced Jun 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for the new
SC_ADDRESS_TYPE_MUXED_CONTRACTaddress type introduced by CAP-0084, gated behind theCAP_0084build flag (enabled with--enable-next-protocol-version-unsafe-for-production).Changes
src/protocol-curr/xdrfor the muxed-contract address XDR, andsrc/rust/soroban/p27for SAC support that de-muxes the destination to the underlying contract (for the balance) and surfaces the muxed id via theto_muxed_idtransfer event.CAP_0084conditional inconfigure.ac,common.mk, andsrc/Makefile.am(C++ and XDR feature flags).LedgerHashUtils) and JSON-serialize (XDRCereal) the new address type.p27cargo dep-tree expectation.Notes
src/rust/soroban/p27submodule currently points at a temporary CAP-0084 spike, and its dep tree references ars-stellar-xdrfork; these will be replaced with upstream revisions before this is mergeable.🤖 Generated with Claude Code