Ich habe Probleme mit Error: Invalid number of arguments to Solidity function
. Grundsätzlich tritt das Problem auf, wenn ich sendTransaction mit einem Event-Handler aufrufe. dh hier ist der Code nach dem Anschließen eines Solidity-Ereignisses:
// 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) } })
Dieser Aufruf premisObject._setRights(hash,index, {gas: 200000}))
löst den Fehler aus. Wenn ich den gleichen Aufruf außerhalb des Event-Handlers mache:
premisObject._setRights(this.state.hash, 0, {gas: 200000})
....funktioniert einwandfrei. Irgendwie muss ich diesen Event-Handler aufrufen premisObject._setRights
, weil ich dann den Wert des erforderlichen Index kenne. Irgendwelche Ideen, was los ist? Oder hast du vielleicht einen schlauen Plan, mit dem ich das Problem umgehen kann?
Ich bin dem nie auf den Grund gegangen - am Ende habe ich meine dApp so umgestaltet, dass ich den Index setze, anstatt ihn zu bekommen.
Ismael
_
.Glühwächter
Glühwächter