Солидность - просмотр элементов BigNumber при возврате всего массива - PullRequest
0 голосов
/ 24 февраля 2019

В умном контракте у меня есть функция получения, которая возвращает (помимо прочего) динамический массив целых чисел.Для каждого элемента я получаю следующую строку:

BigNumber {s: 1, e: 0, c: [Array]}

Поскольку элементы являются целыми числами,Я ожидаю увидеть фактическое значение после c :, так как при возврате того же элемента из отображения я получу:

BigNumber {s: 1, e: 0, c: [value]}

где value будет текущим значением переменной uint.

Может кто-нибудь объяснить мне, почему это так, и если можно каким-то образом увидеть значение каждого элементапри возврате всего массива?

Вот метод получения:

function getStats(string _name) public view returns(address,string,bytes32[],uint256[],bytes32){

    bytes32 h = keccak256(abi.encodePacked(_name));

    require(developers_all[h].namehash == h, "A Developer with that name does not exist");

    return (developers_all[h].owner, developers_all[h].name, developers_all[h].skills, developers_all[h].skill_levels, developers_all[h].namehash);
}

Помимо отображения и структуры, массив, на который я ссылаюсь, равен skill_levels

struct Developer {

    address owner;
    string name;
    bytes32 namehash;
    bytes32[] skills;
    uint256[] skill_levels;
    uint wallet;
}

mapping (bytes32=>Developer) public developers_all;
...