I am trying to deploy the MultisigWallet contract on testrpc. However, I can't figure out how to provide the address[] _owners constructor parameter in the deployment command.

I've tried several things, of which the following seemed the most logical to me:

var MultisigWallet = artifacts.require("./MultisigWallet.sol");

module.exports = function(deployer) {
  deployer.deploy(MultisigWallet, ["0x7cb7..."], 0, 10000);

When running truffle migrate, I receive the following error:

> Error encountered, bailing. Network state unknown. Review successful
> transactions manually. Error: The contract code couldn't be stored,
> please check your gas amount.
>     at Object.callback (C:\...\node_modules\truffle\node_modules\web3\lib\web3\contract.js:147:46)
>     at C:\...\node_modules\truffle\node_modules\web3\lib\web3\method.js:142:25
>     at C:\...\node_modules\truffle\node_modules\web3\lib\web3\requestmanager.js:89:9
>     at XMLHttpRequest.request.onreadystatechange (C:\...\node_modules\truffle\node_modules\web3\lib\web3\httpprovider.js:118:13)
>     at XMLHttpRequestEventTarget.dispatchEvent (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:64:18)
>     at XMLHttpRequest._setReadyState (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:354:12)
>     at XMLHttpRequest._onHttpResponseEnd (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:509:12)
>     at IncomingMessage.<anonymous> (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:469:24)
>     at emitNone (events.js:91:20)
>     at IncomingMessage.emit (events.js:185:7)

If anyone could help me with:

  • Passing address[] constructor parameter to deployer.deploy() or
  • Deploying the MultisigWallet on local testrpc using truffle

edit: for the MultisigWallet I am referring to zeppelin's https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/MultisigWallet.sol

  • 1
    try changing your gas limit, seems like not enough gas provided to execute the contract
    – rstormsf
    May 30, 2017 at 22:07
  • @rstormsf thanks, how would I do that? :s
    – Nsevens
    May 31, 2017 at 8:37
  • 1
    check your truffle.js file and see what is your gas value. {networks: {"main": {gas: 4712388 }}}
    – rstormsf
    Jun 1, 2017 at 19:48

1 Answer 1


The Zeppelin MultiSigWallet.sol does not implement changeOwner defined in the MultiSig.sol interface (which it inherits). This could be the cause of failure when deploying.

Worth noting that the MultiSigWallet contract has now been removed from the Zeppelin repo. They suggest using latest Consensys multisig contract instead.

Your Answer

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

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