I am trying to develop a smart contract that would allow for multisig actions.
So if I, for example, want to add admin to AdminStorage I will need consent of a number of admins. It's exactly like Multisig wallet transaction confirmation, but with external contract method calls.
So I have contract AdminStorage (in contracts/storage/AdminStorage.sol). It's just a simple address storage - nothing to write home about.
But on top of that I have Multisin (in contracts/multisig) and MultisigAddAdmin (that extends Multisig). The purpose of these is to add all this multisig properties to admin addition.
There are no restrictions to the caller of AdminStorage.add yet, but it's just a test run. Soon this method will only be callable from MultisigAddAdmin.
The thing is: MultisigAddAdmin just won't deploy. There are no errors (like "Check your gas limit" when you try to deploy and abstract contract) - nothing. Truffle runs migrations just fine and it even prints deployed address, but then I go to Truffle console and MultisigAddAdmin.isDeployed() is false. And I can't access the deployed instance from web3.js (in React app) either.
Steps to reproduce:
(You will need NodeJS 7, LATEST Truffle and testrpc)
- Clone https://github.com/IsThisThePayneResidence/personal-solidity-contracts
truffle compile --all
- run testrpc (to install just type
npm install ethereumjs-testrpc)
- (In Truffle console)