如何检查发送到智能合约的负数?



我希望我的合约不接受将负值添加到其余额中,所以我想我会添加一个 require 值> 0。它接缝,因为与应付函数一起发送的值是无符号的,因此始终是一个正数。这意味着如果您发送 -1 个以太币,它会被接受并添加大约 1 个以太币。

如何确保无法发送负数?

function () external payable {
require(msg.value > 0); 
require(msg.data.length == 0);
} 

不可能在 EVM 中发送负值。所以msg.value总是非负的。你不需要检查它。

最新更新