I have deployed the ERC20 token USDC to Rinkeby. More precisely I have deployed the proxy contract and the token contract.

Then I called the upgradeToAndCall function to implement and initialize the token contract.

Everything till here was ok.

The problem came when I tried to call the configureMinter function.

 function configureMinter(address minter, uint256 minterAllowedAmount) whenNotPaused onlyMasterMinter public returns (bool) {
    minters[minter] = true;
    minterAllowed[minter] = minterAllowedAmount;
    emit MinterConfigured(minter, minterAllowedAmount);
    return true;

I am getting Transaction has been reverted by the EVM

I don't know what is going on because that error does not say too much.

The account that is calling that function is masterMinter so that is not the problem.

Etherscan Transaction

This is the way I am calling the function:

  const contractUSDC = new web3.eth.Contract(usdcABI, "0x3947bb670c5e2695827235ED1c9F2768f382a9bD");
  await contractUSDC.methods.configureMinter(account, '1000000000').send({
    from: account,
    gas: 10000000,

Proxy Code

Implementation Code

How to know what is going on with that error?

Thanks in advance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.