-
Notifications
You must be signed in to change notification settings - Fork 21
Stellar Asset Contract (SAC) compatibility audit + matrix #16
Copy link
Copy link
Closed
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programauditProduces a written report as primary deliverableProduces a written report as primary deliverabledripsFunded via Drips NetworkFunded via Drips Networkhelp wantedExtra attention is neededExtra attention is neededinteropCross-chain / interoperabilityCross-chain / interoperabilitystellarTouches Stellar / Soroban codeTouches Stellar / Soroban code
Metadata
Metadata
Assignees
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programauditProduces a written report as primary deliverableProduces a written report as primary deliverabledripsFunded via Drips NetworkFunded via Drips Networkhelp wantedExtra attention is neededExtra attention is neededinteropCross-chain / interoperabilityCross-chain / interoperabilitystellarTouches Stellar / Soroban codeTouches Stellar / Soroban code
Type
Fields
Give feedbackNo fields configured for issues without a type.
Labels:
Stellar Wave,stellar,audit,interop,drips,help-wantedTier: L (1–2 weeks)
Type: audit
Context
Stellar Asset Contracts are the bridge between Classic Stellar assets (XLM, USDC, issued tokens) and Soroban. They expose a
Tokeninterface, but not every asset behaves identically: native XLM has different reserve semantics from issued assets; auth-required assets reject transfers without authorization; clawback-enabled assets can be reversed; some custom SACs have non-standard fee logic.stealth-sendercallstoken::Client::new(env, &token).transfer(...)and trusts the asset. If any of these quirks break our assumptions, we have an unaudited security gap.Scope
Produce a compatibility audit documenting how each SAC variant interacts with Wraith's stealth flows:
stealth-senderagainst:AUTH_REQUIRED)AUTH_REVOCABLE)AUTH_CLAWBACK_ENABLED)AUTH_IMMUTABLE)stealth-senderfor incompatible asset types.Test harness
Build adversarial mock SACs for each variant under
contracts/stellar/stealth-sender/tests/mocks/. Each mock should mimic real Stellar SAC behavior for the specific flag combination.Acceptance criteria
contracts/stellar/audits/2026-XX-sac-compatibility.md.stealth-sender/tests/sac_compat.rs.stealth-senderto reject incompatible assets safely.docs/contracts/stellar.mdx.Why this matters
The first time someone tries to send a clawback-enabled token through Wraith and the issuer reverses it after the recipient withdraws, the unlinkability promise collapses on social media. We need to know the boundary conditions before users hit them.
Resources