Может кто-нибудь посмотреть, где проблема?У меня нет идей.это тестовый код из учебника, которому я следую.
it('ends token sale', function() {
return DappToken.deployed().then(function(instance) {
// Grab token instance first
tokenInstance = instance;
return DappTokenSale.deployed();
}).then(function(instance) {
// Then grab token sale instance
tokenSaleInstance = instance;
// Try to end sale from account other than the admin
return tokenSaleInstance.endSale({
from: buyer
});
}).then(assert.fail).catch(function(error) {
assert(error.message.indexOf('revert' >= 0, 'must be admin to end sale'));
// End sale as admin
return tokenSaleInstance.endSale({
from: admin
});
}).then(function(receipt) {
return tokenInstance.balanceOf(admin);
}).then(function(balance) {
assert.equal(balance.toNumber(), 999990, 'returns all unsold dapp tokens to admin');
// Check that the contract has no balance
balance = web3.eth.getBalance(tokenSaleInstance.address);
assert.equal(balance.toNumber(), 0);
});
});
это журнал ошибок:
TypeError: balance.toNumber is not a function
at test\DappTokenSale.js:127:28
at process._tickCallback (internal/process/next_tick.js:68:7)
я пробовал selfdestruct (), но не могу найти исправления излюбые сайты, поэтому я просто передаю оставшиеся токены администратору.но потом я продолжаю сталкиваться с этой проблемой.вот контракт для получения дополнительной справки:
function endSale() public {
//require admin(only)
require(msg.sender == admin);
//transfer remaining dapp tokens to admin
require(tokenContract.transfer(admin, tokenContract.balanceOf(address(this))));
admin.transfer(address(this).balance);
}