Я хочу объединить функции сложения и вычитания со связанными с ними функциями защиты возврата, используя операторы OR (||), но мне не хватает синтаксиса. Кто-нибудь может посоветовать?
Функции изначально две в разных блоках. Я пытаюсь объединить функции сложения и вычитания в одну и вызывать их, используя одно имя в контракте. Я предполагаю, что оператор OR может позволить мне сделать это.
Я ожидал, что новая объединенная функция будет работать нормально.
Но я получаю сообщение об ошибке, сообщающее о переполнении.
Я хочу объединить функции сложения и вычитания со связанными с ними функциями защиты возврата, используя операторы OR (||), но мне не хватает синтаксиса. Кто-нибудь может посоветовать?
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
bool whichOp; // to test which operator to use
whichOp = c = a + b || c = a - b;
whichOp = require(c >= a, "SafeMath: addition overflow") || require(b <= a, "SafeMath: subtraction overflow");
return c;
}
Я ожидал, что новая объединенная функция будет работать нормально.
Но я получаю сообщение об ошибке, сообщающее о переполнении.