diff --git a/contracts/MultiSigFactory.sol b/contracts/MultiSigFactory.sol index d9bbd37..e570705 100644 --- a/contracts/MultiSigFactory.sol +++ b/contracts/MultiSigFactory.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity ^0.4.15; import "./MultiSigStub.sol"; @@ -6,8 +6,9 @@ contract MultiSigFactory { event Create(address indexed caller, address createdContract); - function create(address[] owners, uint required) returns (MultisigStub stub){ - stub = new MultiSigStub(owners, required); - Create(msg.sender, stub); + function create(address[] owners, uint256 required) returns (address wallet){ + wallet = new MultiSigStub(owners, required); + Create(msg.sender, wallet); } + } \ No newline at end of file diff --git a/contracts/MultiSigStub.sol b/contracts/MultiSigStub.sol index 80e5a25..c981dff 100644 --- a/contracts/MultiSigStub.sol +++ b/contracts/MultiSigStub.sol @@ -1,23 +1,14 @@ -pragma solidity ^0.4.11; +pragma solidity ^0.4.15; /** * @title MultiSigStub * Contact that delegates calls to a library to build a full MultiSigWallet that is cheap to create. */ contract MultiSigStub { - mapping (uint => Transaction) public transactions; - mapping (uint => mapping (address => bool)) public confirmations; - address[] public owners; - - struct Transaction { - address destination; - uint value; - bytes data; - bool executed; - } - function MultiSigStub(address[] _owners, uint _required) { - bytes4 sig = bytes4(sha3("Constructor(address[],uint256)")); + function MultiSigStub(address[] _owners, uint256 _required) { + //bytes4 sig = bytes4(sha3("Constructor(address[],uint256)")); + bytes4 sig = 0xe0c4e63b; uint argarraysize = (2 + _owners.length); uint argsize = (1 + argarraysize) * 32; uint size = 4 + argsize; @@ -29,7 +20,7 @@ contract MultiSigStub { } _delegatecall(m_data, size); } - + function() payable { @@ -61,7 +52,7 @@ contract MultiSigStub { private returns(bytes32 m_result) { - address target = 0xcafecafecafecafecafecafecafecafecafecafe; //will be replaced by correct value + address target = 0x370A93cd1DC15875fF02aa0b952D44Bb3dD905E5; //will be replaced by correct value m_result = _malloc(32); bool failed; @@ -72,63 +63,5 @@ contract MultiSigStub { assert(!failed); } - /// @dev Returns list of owners. - /// @return List of owner addresses. - function getOwners() - public - constant - returns (address[]) - { - return owners; - } - - /// @dev Returns array with owner addresses, which confirmed transaction. - /// @param transactionId Transaction ID. - /// @return Returns array of owner addresses. - function getConfirmations(uint transactionId) - public - constant - returns (address[] _confirmations) - { - address[] memory confirmationsTemp = new address[](owners.length); - uint count = 0; - uint i; - for (i=0; i