1 unstable release

0.1.1 Jun 23, 2023

#14 in #minter


Used in 2 crates

Apache-2.0

150KB
2.5K SLoC

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

ID Field Offset Size Description
1 discriminator 0 8 Anchor account discriminator.
5 creator_group 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 items_redeemed 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 name_length 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 prefix_uri_enum 87 TBD enum representing the common part of the URI of NFTs.
5 suffix_uri_enum 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 name_length 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 prefix_uri_enum 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.

Dependencies

~26–36MB
~594K SLoC