У меня проблемы с Error: Invalid number of arguments to Solidity function
. По сути, проблема возникает, когда я вызываю sendTransaction с обработчиком событий. т.е. вот код после подключения события Solidity:
// premisObject was setup earlier to point at the Abi at the contract's deployed address const premisObject = this.premisObject // rightsSetRights has been hooked up to the required event const rightsSetRights = this.rightsSetRights rightsSetRights.watch(function (error, result) { if (!error) { const index = result.args._index const hash = result.args._hash premisObject._setRights(hash,index, {gas: 200000})) } else { console.error(result) } })
Этот вызов вызывает premisObject._setRights(hash,index, {gas: 200000}))
ошибку. Если я сделаю тот же вызов вне обработчика событий:
premisObject._setRights(this.state.hash, 0, {gas: 200000})
....работает просто отлично. Мне нужно premisObject._setRights
каким-то образом вызвать этот обработчик событий, потому что именно тогда я знаю значение требуемого индекса. Есть идеи, что происходит? Или, может быть, у вас есть хитрый план, который означает, что я могу обойти проблему?
Я так и не разобрался в этом — в итоге я переработал свое dApp, чтобы установить, а не получить индекс.
Исмаэль
_
.светлячок
светлячок