一、合约审计分析Reentrancy 如果mint 的函数没有写在function的最后一行,那么就可以调用合约交互进行反复攻击 例子 The dao attack Ownership 合约权限管理,检查权限时候放开,检查合约里ownerable函数Timestamp dependency 时间戳攻击,一般被矿工利用,矿工可以提前几个区块进行mint,以减少gasDos with ThrowContract interact 合约交互,检查是否该项目合约能否与合约进行交互 在项目合约中搜索origin Txn.origin == msg.sender 如果有 这样的函数就不能进行合约与合约交互二、业务逻辑分析Start from require()/ revert()白单 白单是否符合roadmap的设计,包括并不限于白单的总数,每个白单可以mint的个数。 白单mint完之后的记录,如果不记录,把nft transfer 之后,还能mint signature是否用message.sender 进行约束 例如 NBA的合约公售 公售函数是否符合roadmap的设计,包括并不限于...