我在uint256类型和数组之间有一些疑问。
有我的Solidity示例代码:
contract Test{
constructor(){ }
function getValue(uint256 _value) public returns(uint256) {
return _value;
}
}
我注意到getValue函数可以接受数组类型输入。
为了弄清楚这个问题,我通过松露框架编写了一个单元测试用例。
这是我的测试用例:
it('test', async function () {
let value;
for(let i = 0; i <= 300; i++) {
await this.Test.getValue.call([i]);
}
});
当i等于256时,测试用例将失败。
基本上,在我的情况下,输入仅接受uint256类型。但它也接受数组。
这是测试用例失败时的错误消息:
Error: invalid number value (arg="_value", coderType="uint256", value=[256])
有人知道原因吗?