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 '17 at 22:07
  • @rstormsf thanks, how would I do that? :s – Nsevens May 31 '17 at 8:37
  • 1
    check your truffle.js file and see what is your gas value. {networks: {"main": {gas: 4712388 }}} – rstormsf Jun 1 '17 at 19:48

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, privacy policy and cookie policy

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