安全备忘

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屡次套钱。

相关文章
相关标签/搜索