Web3js

未擷取的錯誤:返回的值無效,是否耗盡了 Gas?

  • November 6, 2018

我正在聽我部署的契約的事件。每當事務完成並觸發接收響應的事件時,都會導致以下錯誤:

未擷取的錯誤:返回的值無效,是否耗盡了 Gas?在 ABICoder.push../node_modules/web3-eth-abi/src/index.js.ABICoder.decodeParameters (index.js:227) 在 ABICoder.push../node_modules/web3-eth-abi/src/index。 js.ABICoder.decodeLog (index.js:277)

Web3 版本:1.0.0-beta36

元遮罩版本:4.16.0

我如何解決它?

這是 web3js 中的一個錯誤,在此處討論。

以下更改修復了它(來源):

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;

編輯:降級到 1.0.0-beta33 也解決了這個問題。

引用自:https://ethereum.stackexchange.com/questions/61073