學習看合約

Pxn 除了為一PFP項目外,更多了想要做區塊鍊的線上購物平台

A.合約結構

合約使用721A hardhat部屬

總發行數量 : 10000

1.公售使用荷蘭拍 : 4000

2.其餘 : 6000 包含白名單,team 與dev

B.荷蘭拍從 2eth 開始 每900 s下降 0.05 eth 最小 0.1 eth

使用 mintDutchAuction 進行鑄造 包含 modifier callerIsUser 禁用合約鑄造

require條件:

判斷 DA_ACTIVE 是否為true

判斷最大數量不超過4000

判斷開始時間 DA_STARTING_TIMESTAMP = 1651719600

判斷結束時間 WL_STARTING_TIMESTAMP

每個錢包最多2個

判斷 錢包eth數量

若荷蘭拍最後價格小於白名單價格一半 則將白名單價格變更為荷蘭拍最後價格的一半

當荷蘭拍結束才會設定 DA_FINAL_PRICE 用來給白名單鑄造判斷荷蘭拍已結束

C .白名單鑄造方式 mintWL

判斷DA_FINAL_PRICE

判斷最大數量6000

判斷開始與結束時間

判斷是否在 userToHasMintedPublicWL[msg.sender] 白名單內

判斷錢包乙太是否大於白名單價格

白名單只能買一個

D. dev鑄造方式 在白名單時間1天之後

剩餘超過10個 就以十個為單位一次鑄造 10個 直到把剩下鑄造完

E team鑄造方式 與白名單時間相同

判斷數量不超過setTeamMint 設定數量

判斷錢包以太數量足夠

F.withdrawFunds 的時候 一半給founder 一半給dev