All in all, the minter (TODO: name) account looks like

| ID | Field | Offset | Size| Description | |----| ------|--------|-----|-------------| |1 | discriminator | 0| 8 | Anchor account discriminator. | |5 |creatorgroup| 16| 32| PubKey of the authority address that controls the minter.| |7 |collection| 80| 32| PubKey of the shadow-nft-standard collection account; each NFT minted from the minter will be part of this collection.| |8 |itemsredeemed| 112| 8| Number of NFTs minted.| |9 | MinterArgs| |10|items_available| 120| 8| Total number of NFTs available.|

Then, either | ID | Field | Offset | Size| Description | |----| ------|--------|-----|-------------| | UniformMint | |1 |name_prefix| 0| 64| common part of name, e.g. "Shadowy Super Coders" |2 |namelength| 64| 1| u8 specifying the number of bytes for the remaining part of the name.| |3 |hash| 65 | 32| string representing the hash value of the file that contains the mapping of (mint index, NFT metadata).| |4 |prefixurienum| 87 | TBD| enum representing the common part of the URI of NFTs.| |5 |suffixurienum| TBD| TBD| u32 specifying the number of bytes for the remaining part of the URI.| |6 | TypeEnum | TBD | TBD| enum tracking the common type of the assets in the minter| |7 | BitVec | ~ | ~ | bit vector marking which assets have been minted | or | ID | Field | Offset | Size| Description | |----| ------|--------|-----|-------------| | NonUniformMint | |1 |name_prefix| 0| 64| common part of name, e.g. "Shadowy Super Coders" |2 |namelength| 64| 1| u8 specifying the number of bytes for the remaining part of the name.| |3 |hash| 65 | 32| string representing the hash value of the file that contains the mapping of (mint index, NFT metadata).| |4 |prefixurienum| 87 | TBD| enum representing the common part of the URI of NFTs.| |6 | [(TypeEnum, u32)] | TBD | TBD| raw unsized type tracking which item id: u32 is of which type TypeEnum| |7 | BitVec | ~ | ~ | bit vector marking which assets have been minted |


June 11: New iteration on UniformMint. Since we are using the zerocopy-bitslice library for generating random sequences at runtime, we don't need a proof of randomness although we do need a reveal map proof. So, rename hash to reveal_hash.