ps:我的整理备忘接口
1.全部资产的转移,必须验证资产全部者的签名。若是没有签名,要确保全部者的资产没有减小和增长,只是兜了一圈,左口袋至有口袋。return
2.资产在转移过程当中不能出现小于等于0的状况。全部涉及金额的接口,要在接口处就要排除金额小于等于0的状况。ps
3.操做合约存储区时必定是先算须要更改的值,将须要更改的数值明确后,再进行存储区的修改,存储区的put操做要在整个运算逻辑最后处理。mint
4.若是一个接口涉及3个存储区的调整,要保证这3个存储的修改逻辑中间没有return,要在接口入口处就将全部可能return的状况都排除掉,而后再计算存储区应该调整的值,最后存储区统一改删。
5.若是存在跨合约调用,必定要有验证合约调用结果的逻辑。例如拍卖合约中调用了CGAS的tansfer,那必定要对调用transfer的结果(true仍是false)进行不一样逻辑的处理。
6.全局资产转入映射成nep5资产(cgas的mintTokens)和 利用交易id来进行资金的变动(sell合约的setmoneyin)都要记录排除已经使用的txid,以防一个txid屡次套钱。