docs: Add confidential transfer issuer guide#1527
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
5 Skipped Deployments
|
|
@gitteri is attempting to deploy a commit to the Solana Foundation Team on Vercel. A member of the Team first needs to authorize it. |
| ### Harvest and withdraw withheld fees | ||
|
|
||
| Harvesting moves the encrypted withheld fees from accounts into the mint; | ||
| withdrawing moves them out of the mint to a chosen account. The mint authority |
There was a problem hiding this comment.
is this done by mint authority? or by the confidential transfer fee authority. maybe usually the same but technically different
There was a problem hiding this comment.
Good catch, they are technically distinct. Fixed in 5c812c8: enable/disable harvest is gated on the ConfidentialTransferFeeConfig authority, while withdrawing withheld fees uses the transfer fee extension's withdraw withheld authority, and either can differ from the mint authority.
| that is later folded into the supply. Both generate proofs like a confidential | ||
| transfer. | ||
|
|
||
| ```rust !! title="confidential-mint-burn.rs" |
There was a problem hiding this comment.
Good catch, fixed in 4445db2. Also moved a stray prose paragraph out of the harvest/withdraw CodeTabs block, it had the same problem.
|
btw since this PR and the integration page on #1524 both edit the same meta.json, it will cause a minor merge conflict that when merging this one after the first is merged. assuming this page comes after since the content links to the integration page |
Adds an issuer-facing guide covering the decisions and operations for running a confidential transfer mint: approve policy (auto vs manual), configuring and rotating a global auditor, approving accounts under a manual policy, confidential transfer fees, and confidential mint and burn. Examples are CLI, Rust, and JS where each exists, grounded in spl-token-client and the token-2022 JS client. Registered in meta.json and linked from the index.
Expands the JS create-mint example to show the full create-account + initialize-extension + initialize-mint transaction (per the mosaic SDK pattern), notes the approve policy can be changed later, documents auditor rotation only affecting future transfers, and drops the network-requirements bullet.
Adds the missing confidential_transfer_burn step between mint and apply-pending-burn, and replaces the import-only JS fee snippet with real enable-harvest and harvest usage plus a note that withdrawal needs proof context accounts.
Per review: enable/disable harvest is gated on the ConfidentialTransferFeeConfig authority, while withdrawing withheld fees uses the transfer fee extension's withdraw withheld authority. Either can differ from the mint authority.
…fix CodeTabs wrappers
db20747 to
1ef180c
Compare

Adds an issuer-facing guide for the Confidential Transfer extension, the issuer counterpart to the integration guide in #1524. Modeled on the Scaled UI Amount issuer guide.
New page: tokens/extensions/confidential-transfer/issuer-guide, registered in meta.json and linked via a Card from the confidential transfer index.
Audience: teams creating and operating a confidential mint (stablecoin and tokenized-asset issuers), as distinct from holders (step pages) and product integrators (integration guide).
Sections:
Examples use CLI, Rust, and JS where each exists. Honest about the gaps: account approval and fees have no CLI; confidential mint/burn is Rust only today (no JS instruction builders, no CLI). All signatures verified against spl-token-client and the token-2022 JS client.
Note: this PR and #1524 both edit confidential-transfer/meta.json and index.mdx, so whichever merges second will have a trivial conflict to resolve.