Получение нового BigNumber () не числа: ошибка [object, object]

Я получаю ошибку BigNumber () из стандартной функции токена balanceOf (). Функция возвращает uint256, но похоже, что она возвращает массив объектов. Вот мое тестирование javascript в Truffle:

      return tokFactory.createTok(100000,"tok",1,"tok",{from: accounts[0]}).then(function(txHash) { 
      tokFactory.getTokenAddress.call().then(function(tokenAddress) { 
      tok = Tok.at(tokenAddress);
      }).then(function() { 
    tok.balanceOf.call(tokFactory).then(function(balance) {
  assert.equal(balance.toNumber(), 100000, "100000 wasn't in the first   account");
});
  });
      });

Функция твердости:

function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
}
5 голосов | спросил ethereal 3 Jam1000000amTue, 03 Jan 2017 01:05:01 +030017 2017, 01:05:01

1 ответ


2

ошибка находится в

 tok.balanceOf.call(tokFactory).then(function(balance) 

вам следует позвонить

tok.balanceOf.call(tokFactory.address)

получить? вы должны передать адрес uint256 контракта, а не его объявление.

ответил Jaky Bo 12 Jpm1000000pmFri, 12 Jan 2018 17:49:18 +030018 2018, 17:49:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132