I'm trying to migrate/deploy a multi-signature contract through truffles, I am receiving

"Error: VM Exception while processing transaction: revert" when the contract starts to migrate/deploy.

The contract code is here https://github.com/conwise18/Multi-sig-Test/blob/master/Multi-Sig-1.sol

I have already set the gas price and limit within the config.js folder.

thanks in advance !!!

2 Answers 2


As I see most of the function of your contract has GASESTIMATION Infinity. So for deploying contract, you need more than double the gas required for deploying your contract. Because if any case your contract tx in not deployed than it will callback and which is required the same amount of gas as it spends for deploying smart contract.

Note: Try to avoid recursive call and loops for preventing functions from infinity gas estimation.

  • would you happen to know where I can get any documentation/videos for the getting rid of recursive calls and infinite loops ?? something comprehensive ? thanks in advance
    – conwise17
    Commented May 13, 2018 at 11:20
  • First, use ganache-cli as a web3 provider. When your transaction is reverted, copy and paste the transaction hash outputted by ganache-cli into the remix-ide debugger or truffle debugger. Commented Mar 5, 2019 at 16:38

Since the Github has been removed, you should know this ambiguous revertcall can also happen if you're calling an external smart contract.

For example, say you have a Crowdsale contract and you've added revert strings to all its calls. And you're still getting the error. This could mean you're getting the revert inside another contract that you're calling (an external token contract).

The Debuggers won't follow the EVM into another contract, which makes this especially hard to spot for newbies.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.