// TokenMint — Phase C of silent-iron-keystone v4. // // Creator-only supply mint. ABI-typed (tokenId, amount). The carrier // fee (50 bps) is enforced by the wallet IPC + chain monitor; the // contract validates only that the post-mint circulating supply // stays ≤ max_supply. // // Privacy: creator identity hides behind one-time stealth per call // (CryptoNote default). Mint amount is plaintext on chain (intrinsic // for supply tracking). dark contract TokenMint { // Mirror of TokenCreate's storage; enforced on every mint. public mapping(bytes => uint64) tokenCirculating; public mapping(bytes => uint64) tokenMaxSupply; public mapping(bytes => bool) tokenMintable; @direct entry mint(bytes tokenId, uint64 amount) { require(tokenMaxSupply[tokenId] > 0, "MINT_UNKNOWN_TOKEN"); require(tokenMintable[tokenId], "MINT_FIXED_SUPPLY"); require(amount > 0, "MINT_ZERO_AMOUNT"); require(tokenCirculating[tokenId] + amount <= tokenMaxSupply[tokenId], "MINT_EXCEEDS_MAX"); tokenCirculating[tokenId] = tokenCirculating[tokenId] + amount; syscall(TOKEN_MINT_SUPPLY_V1, ctx.txHash); } }