web-dev-qa-db-fra.com

Erreur non capturée: les valeurs renvoyées ne sont pas valides, est-ce que le système est à court d'essence?

J'écoute les événements de mon contrat de déploiement. Chaque fois qu'une transaction est terminée et qu'un événement est déclenché, recevoir la réponse provoque l'erreur suivante:

Erreur non capturée: les valeurs renvoyées ne sont pas valides, le système est-il tombé en panne d'essence? sur ABICoder.Push ../modules_noeud/web3-eth-abi/src/index.js.ABICoder.decodeParameters (index.js: 227) sur ABICoder.Push ../modules_noeud/web3-eth-abi/src/index.js.ABICoder.decodeLog (index.js: 277)

Version Web3: 1.0.0-beta36

Version méta-masque: 4.16.0

Comment le réparer?

3
ferit

C'est un bogue dans web3js, discuté ici .

Et le changement suivant le corrige ( source ):

patch-package
--- a/node_modules/web3-eth-abi/src/index.js
+++ b/node_modules/web3-eth-abi/src/index.js
@@ -280,7 +280,7 @@ ABICoder.prototype.decodeLog = function (inputs, data, topics) {


     var nonIndexedData = data;
-    var notIndexedParams = (nonIndexedData) ? this.decodeParameters(notIndexedInputs, nonIndexedData) : [];
+    var notIndexedParams = (nonIndexedData && nonIndexedData !== '0x') ? this.decodeParameters(notIndexedInputs, nonIndexedData) : [];

     var returnValue = new Result();
     returnValue.__length__ = 0;

Edit: le passage à web3-1.0.0.beta33 corrige également ce problème. 

3
ferit

Lance la même erreur lorsque, dans une transaction, il génère différents événements portant le même nom et les mêmes arguments. Dans mon cas, c’était l’événement Transfer de ERC721 et ERC20. Renommer l'un d'entre eux résout ce problème, mais bien sûr, ce n'est pas la bonne façon.

0
Ivan Zakharov

Essayez la commande truffle migrate --reset afin que toutes les valeurs précédentes soient réinitialisées à leur valeur d'origine. 

0
Ramesh babu

Veuillez vérifier votre connexion à la métamasque. Ce problème est généralement généré lorsque vous vous déconnectez de la métamasque ou, dans le pire des cas, il vous reste 0 ether sur votre compte. 

0
Naveen S Adhikari