Я пытаюсь проверить созданный контакт на предмет переполнения, в переменной кода солидности desiredDecimals
есть uint8
JS тесты:
Когда я прохожу2 ^ 8 в .js
it("fail test overflow desiredDecimals uint8 contract creating", async function() {
let desiredDecimals = 2**8
let token = await Token.new("Test token", desiredDecimals);
})
ошибка отсутствует, и контакт создан, desiredDecimals = 0
Тесты твердости:
Записьтот же тест на Solidity,
function desiredDecimalsOverflow() public {
uint8 desiredDecimals = 2**8;
new Token("Test token", desiredDecimals);
}
контакт не был создан, и тесты не пройдены, что является правильным.
Я полагаю, что возникает некоторая проблема с типами данных между js и Solidity, но я не могу раскрыть точную проблему.