在用户举办 deposit 哄骗时,Force DAO 会为用户锻造 xFORCE 代币,并通过 FORCE 代币合约的 transferFrom 函数将 FORCE 代币转入 ForceProfitSharing 合约中。但 FORCE 代币合约的 transferFrom 函数利用了 if-else 逻辑来查抄用户的授权额度,当用户的授权额度不敷时 transferFrom 函数返回 false,而 ForceProfitSharing 合约并未对其返回值举办查抄。导致了 deposit 的逻辑正常执行,xFORCE 代币被顺利锻造给用户,但由于 transferFrom 函数执行失败 FORCE 代币并未被真正充值进 ForceProfitSharing 合约中。最终造成 FORCE 代币被非预期的大量锻造的问题。
此裂痕产生的主要原因在于 FORCE 代币的 transferFrom 函数利用了`假冒值`写法,但外部合约在对其举办挪用时并未严格的判定其返回值,最终导致这一惨剧的产生。慢雾安详团队发起在对接此类写法的代币时利用 require 对其返回值举办查抄,以制止此问题的产生。,
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。