[Ethereum] Error: [ethjs-query] while formatting outputs from RPC: “message”:”invalid sender”


I'm using MetaMask with an app I'm developing, and previously working functions are now returning a quite ferocious error.

This error has been duplicated on a number of functions in the platform, so I won't provide specific code to any given function. All of them are web3 functions that submit transactions – functions that only read data from the chain work fine.

I also checked just sending Rinkeby ETH to another account, and that also failed.

Here's the error:

Error: [ethjs-query] while formatting outputs from RPC 
    "value":{"code":-32603,"message":"Internal JSON-RPC error.",
    "data":{"code":-32000,"message":"invalid sender"},

As per this I tried resetting the account in MetaMask, but it did not help.

What causes this error? I see that it's saying the sender is invalid, but can't figure out what that means in this context. Thoughts?

Update: In response to @goodvibration's request for code, I will put some code from one of the functions that failed. As stated above, many functions failed, in fact any function writing to the chain, and not only functions failed, a simple send from inside MetaMask (sending Rinkeby Ether from one address to another) also failed, clearly demonstrating that this is not an issue with code.

Here's an example function:

const signer = props.injectedProvider.getSigner()
const contract = new ethers.Contract(process.env.CONTRACT_ADDRESS, abi, signer);
const result = await contract.updateRole(arg1, arg2, name)
        .then(() => submitted())
        .catch(e => err(e));

This is React code. The injectedProvider is an ethers.js provider passed in from higher up in the component tree as props. The contract address is stored as an env var, and functions correctly. updateRole is the name of the function being called in the target contract. submitted and err are popup notifications defined elsewhere in the code.

Even if there were to be a problem in the code, though, it would not be the (only) cause of the error mentioned above. As stated before, my rationale for this is that even simple sends inside MetaMask fail with the exact same error. Thanks!

Best Answer

this is maybe too simple - but in my case, restarting my react app and my local blockchain solved this problem.

Also I recognized that I run into that issue a lot while using Firefox. It also helped me to switch the browser to Google Chrome.

The Renaissance and I got to the conclusion, that switching to any Chromium browser (eg Chrome, Chromium, Brave, and I guess even Edge) could be a solution for that issue. Both of us run into that problem while using Firefox.

Related Topic