Функция подтверждения токена web3.js показывает null/0 в метамаске

РЕДАКТИРОВАТЬ Разрешение установлено, проблема заключается только в том, что метамаска не обнаруживает ни имени токена, ни разрешенной суммы.

В моем HTML/JS

amount = parseInt(web3.toWei(amount, "ether" ));

tokeninstance.approve(mainadd,amount,function(error, transactionHash){
if (!error){
    $("#allowanceresult").html("TX hash: "+transactionHash+"<br>")
    toastr.success("Approval successfull!")
}else{
    $("#allowanceresult").html("Error: "+error+"<br>")
    toastr.error("Approval failed!");
}

В интерфейсе Solidity

function approve(address guy, uint wad) public returns (bool);

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

введите описание изображения здесь

Я что-то пропустил? Я всегда делал свои функции send() web3.js, я использую тот же файл web3.js, что и всегда.

Проверяя ropsten на обоих параллельных событиях (из ремикса и метамаски), ясно, что вводятся одни и те же данные, один и тот же адрес и один и тот же вес. :(

Вы получили какое-либо решение?

Ответы (1)

При вызове функции смарт-контракта из javascript отправьте uintаргумент как BigNumber . Я думаю, вы можете попробовать это?

amount = new BigNumber(web3.toWei(amount, "ether" ));

Да, я сделал, метод надбавки работает в пользовательском интерфейсе
Что я не понимаю, так это метамаска, показывающая неопределенный токен/разрешенное количество
Можете ли вы попробовать сделать «Добавить пользовательский токен» в метамаске?
Я пытался, но он странным образом исчез, когда я закрывал и открывал метамаску. Я повторю попытку утром, эти данные имеют смысл, используемые при взаимодействии с токеном и показе данных для пользовательского интерфейса метамаски!