metaplex-foundation / js

A JavaScript SDK for interacting with Metaplex's programs
357 stars 182 forks source link

Default Value of maxSupply NONE on create NFT Edition inconsistent with docs #178

Closed dedlockdave closed 2 years ago

dedlockdave commented 2 years ago

The metaplex doc states:

The optional Max Supply field of the Master Edition account tells us how many copies of the NFT can be created. When set to None, an unlimited amount of copies can be created. When set to zero, the NFT cannot be copied.

But when creating this with the JS client, the default is set to 0. Not sure which is the intended correct behaviour, I also don't see how we are to create an NFT with unlimited max supply, I tried passing in the string "None" but got invalid value error

lorisleiva commented 2 years ago

Hi there 👋

Yes, the JS SDK defauts to a maxSupply of zero because a huge portion of NFTs (like more than 90%) do not make use of the printed edition feature. So it is turned off by default and you have to explicitly opt in to allow printed editions.

Otherwise, devs would create regular NFTs thinking they cannot be copied when actually they can.

If you want to opt in to printed editions you can:

I might refactor this into an enum type at some point to make it more explicit and less confusing.