Open3
thirdwebのNFT Dropのスマートコントラクトを読んでみる
NFT Dropは、ERC721Aを使用したNFTのコレクションをリリースするために用意されたスマートコントラクト =pre-build contract。
要件がシンプルなNFTコレクションであれば、ノーコードでNFTを発行できる。
ドキュメント:https://portal.thirdweb.com/pre-built-contracts/nft-drop
実際のスマートコントラクトを読んでいく
maxTotalSupply について
変数とセッター関数、Eventが用意されている。
初期化されていないのでデフォルト値は 0
になる。
セッター関数はadmin roleのみが実行できる。
maxTotalSupply
は ミント(mint, claim)する前に実行される _beforeClaim
関数の中で使用されており、ミントができるかどうかの判断で使われている。
maxTotalSupply
が 0
以外に設定されている場合は、すでにミントされた数と、これからミントする数とを比較しているが、 maxTotalSupply
がデフォルトの 0
の場合は、いくらでもミントできる、ということになる。
ただし Claim Conditions
といういわゆるアローリストの設定をしている場合は、そちらの条件が適用される(はず)。ここは別途ソースを探して読む必要あり。