使用JS进行智能联系人审核,出现uint8数据类型问题

时间:2019-03-12 11:36:49

标签: ethereum audit smartcontracts web3

我正在尝试测试正在创建的联系人是否溢出, 实体代码变量desiredDecimals中的值为uint8

JS测试:

当我在.js中传递2 ^ 8

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之间的数据类型会发生一些问题, 但我无法透露确切的问题。

0 个答案:

没有答案