Как проверить, не отправлены ли отрицательные числа на смарт-контракт? - PullRequest
0 голосов
/ 15 октября 2018

Я хочу, чтобы мой контракт не принимал отрицательные значения, добавленные к его балансу, поэтому я решил добавить обязательное значение> 0. Оно показывается, хотя значение, отправленное с помощью функции payable, является беззнаковым и, следовательно, всегда положительным числом,Это означает, что если вы отправляете -1 эфир, он принимается и добавляет около 1 эфира.Как убедиться, что отрицательные числа не могут быть отправлены?

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

Спасибо!

1 Ответ

0 голосов
/ 15 октября 2018

Невозможно отправить отрицательное значение в EVM.Так что msg.value всегда неотрицательно.Вам не нужно это проверять.

...