CI rehearsal only (do not merge) - #23
michael-moffett wants to merge 1 commit into
Conversation
Add a `surfnet_setMint` cheatcode that creates or patches a mint, optionally writing the Token-2022 `ConfidentialTransferMint` extension (authority, auditor ElGamal pubkey, auto-approve). Lead 3 of : builders must fork a mainnet mint today because there is no way to spin up a confidential-capable mint with a chosen auditor and decimals.
|
| let authority = conf | ||
| .authority | ||
| .as_ref() | ||
| .map(|key| key.as_deref().map(Pubkey::from_str).transpose()) | ||
| .transpose() | ||
| .map_err(|e| format!("authority: {e}"))?; |
There was a problem hiding this comment.
Explicit null does not clear When
surfnet_setMint receives confidential.authority: null or auditorElgamalPubkey: null for an existing mint extension, this parsing treats the null like an omitted field. The later assignments are skipped, so the old authority or auditor remains instead of being removed. The new null-removal test covers this case and will fail.
Fork CI only. Do not merge.