小狐狸钱包发送RPC错误,尽管它在Javascript中被捕获



有谁知道为什么小狐狸钱包(仅在这种情况下对我来说(在调试器控制台中返回 RPC 错误,而错误被 Javascript 代码中的"try catch"语句正确捕获?

虽然错误是在控制台.log(err(中捕获的,但小狐狸钱包在Web控制台(Firefox和Chrome(中返回了一个额外的RPC错误:(代码-32603(。

我使用小狐狸钱包版本:7.7.9(在 ubuntu 18.04 下,带有松露 5.1.9,节点 v13.7.0,npm 6.13.7,甘纳许 2.4.0(

我重现错误的智能合约是:

pragma solidity >=0.6.0 <0.7.0;
contract userDataBase {
constructor() public {        
}
function getOrderList(
uint8 _status
) 
public 
pure
returns (
address[] memory,
uint256[] memory         
) 
{
uint amount;         
require(_status >= 0 && _status <= 6);
amount=0;
require(amount > 0, "State not includes orders");
address[] memory userAddr = new address[](amount); 
uint256[] memory orderIDs = new uint256[](amount);
return(userAddr, orderIDs); 
}
}

我的Javascript片段是:

try {           
var list = await contract.methods.getOrderList(0).call({from: accountMM});        
}catch (err) {             
console.log(err);
}   

错误在控制台.log(err(中正确捕获,但小狐狸钱包提供了一个额外的错误:

MetaMask - RPC Error: [object Object] 
{code: -32603, message: "[object Object]", data: {…}, stack: "Error: [object Object]↵    at a (chrome-extension:…eogaeaoehlefnkodbefgpgknn/background.js:1:1208518"}
code: -32603
data: {message: "VM Exception while processing transaction: revert State not includes orders", code: -32000, data: {…}}
message: "[object Object]"
stack: "Error: [object Object]↵    at a (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1188007)↵    at Object.internal (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1188293)↵    at f (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1209307)↵    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1208518"
__proto__: Object

您是否尝试过重置小狐狸钱包? 转到帐户 ->设置 ->高级 ->重置帐户。

这对我有用,因为我在之前也遇到了同样的问题,然后有人告诉我重置小狐狸钱包。

最新更新