Sponsored Link:  Download the Monaco app for Android and iOS on Aug 31 - www.mona.co
Contract Overview | CivicMultiSig
ETH Balance: 487.08125622707924295 Ether
ETH USD Value: $138,170.34 (@ $283.67/ETH)
No Of Transactions: 173 txns
  Latest 25 txns from a total Of 173 transactions View All

TxHash Age From To Value [TxFee]
0x1065ceed617ec2f866ee80dd6c03607590672e879a628fb6fd05ea3fe60bd26c1 day 6 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.001867782
0xe172190fc8fb7a7526fe4eb98824812bc5c555f457daaef9d610d37c02fb8c301 day 6 hrs ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.001120182
0xf94e0c83cf9b2b8fdbbb894f9ac0dd091a15ad459ca1ee8d9bd84e2139b493911 day 7 hrs ago0x003cb639f3c0120051abf4f927c2414d56ac766c  IN   CivicMultiSig0 Ether0.003694614
0xa0f60680d6479934b41a25f423ed369f2b94d4426fe645a9f9e30e6d2093734f1 day 7 hrs ago0x003cb639f3c0120051abf4f927c2414d56ac766c  IN   CivicMultiSig0 Ether0.003694614
0x482eec8071c2664be1132307cf1b2aa375825973d125084334bbf830364e5d8f6 days 8 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.135571391587
0x5a58a84002ba8938668d6e55a36674ceb010a14af5d3937b89d57ddc8f9fdf956 days 8 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.002334873104
0xcb9eab378347900d264a8bb24e6d200c62c00eef742d8b7e36e69290f58abfa16 days 8 hrs ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.001198233641
0x45ab5fd912533a1373cab5ecea703349def043c6746e4fdc1a9b555185752acb6 days 8 hrs ago0x003cb639f3c0120051abf4f927c2414d56ac766c  IN   CivicMultiSig0 Ether0.003949170701
0xfef17149cdbb91b443131bde959db74c8ae4335b54eae6e78a38d13ed6521e3e6 days 8 hrs ago0x003cb639f3c0120051abf4f927c2414d56ac766c  IN   CivicMultiSig0 Ether0.003858590087
0x78560054f7988ab61841b36325e20e2d53a996dad04a68de3c7c0a13d6e59dee6 days 9 hrs ago0x23fcf6b8385a8b4836d35aa9f85ccad75cfcd5d1  IN   CivicMultiSig0.2 Ether0.0011294
0xe6c5c006710cda1ce61df617d1fa87604dee7b20b34dad91e505c51156a6798e54 days 8 hrs ago0x197a3d8fea67ee3b5a8436c5d9b4a794a196006b  IN   CivicMultiSig0 Ether0.00410088
0xc02654f725e34d5024422b27a525ef1e7aaae24da17ab95f70b048e0c4239ac154 days 8 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.001120182
0x053788a34f35a15fcac97b372a5e6ed47ef4307df4a0b65671c08e3881e81b0d54 days 8 hrs ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.003694614
0x2607581c50036fd2d8343535ac8708e94b5d6f2a3f0cb97b6113828bfe7bb58154 days 8 hrs ago0x197a3d8fea67ee3b5a8436c5d9b4a794a196006b  IN   CivicMultiSig0 Ether0.00410088
0xb9aa2697b3e5880277747699eb0047271b11d934e867db848e30af00a66a4a5654 days 8 hrs ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.001120182
0xb934135ad6da89cc6fd1e26c6c2c4c842ec9d019bbdc66406507800b776c521d54 days 8 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.00369327
0xe8ee3e5dba178ca902b48f9b8f721814a6e7c7c9c02ddec1f48c838dc323483355 days 6 hrs ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.002255484
0xd96b10fd9cbf31db033211c0207984424e5773d34599f0307e3561dcb375de4555 days 6 hrs ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.001173524
0x21ffd6b5360956a8a2628773063ce9b71149c4e649d300a68c62abf178866df856 days 7 hrs ago0x197a3d8fea67ee3b5a8436c5d9b4a794a196006b  IN   CivicMultiSig0 Ether0.00703224
0xf768a51e68416b929e21c21985c5965cf18e331b74f0f8b5477a83835fc850ab57 days 1 hr ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.00159404
0x2b8e135591392d2ade82894d5cd3da25f0f9d15a24e126044c11a74337df322d57 days 1 hr ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.00108554
0x14902eaed71fb5434d5ab13a590cc07bd2ec8028f1047931bc91ec6065a71ffd57 days 1 hr ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.00159404
0xebce2c7064a34a0876066082c53580ad3a08ac19cf49ace0e0aac14088d3a71d57 days 1 hr ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.00108554
0x4b71a2d4ce7fc2cf2494691aa6c83393a516326abea86d7466be44693208f45b57 days 1 hr ago0x0063af5125737564407a4081f017c34d647dad4f  IN   CivicMultiSig0 Ether0.00159404
0x865eae4fef381e73946bb7208c89584b5529f3516243f5cec146342548e5bef057 days 1 hr ago0x00c947cdb9112086d203843be8132bc992737f69  IN   CivicMultiSig0 Ether0.00108554
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0xf768a51e68416b929e21c21985c5965cf18e331b74f0f8b5477a83835fc850ab406915257 days 1 hr ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0xbce39acfeac70947763c37cb21e64e22c82c74c33.16535832 Ether
0x14902eaed71fb5434d5ab13a590cc07bd2ec8028f1047931bc91ec6065a71ffd406915257 days 1 hr ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x3cb73c6fd21f176b6d3546cb81905ebd12f7fc7f1.64826108 Ether
0x4b71a2d4ce7fc2cf2494691aa6c83393a516326abea86d7466be44693208f45b406915157 days 1 hr ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0xd152b83627302baeeb7f1fea9025cc57e6ed23681.6262278 Ether
0xe342b9530fefa36ecf1730dae8a8fc8f08086fe3159d6248841149d4db45690f403150365 days 6 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x9a95c1be5497cbc0cfedde4853aed3f2faa8afca10 Ether
0x6386c37fd1e173e5c231d3d957c255f4552a654baf32765491620825e967639f402664266 days 7 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x7725e0bc98e61c47dceb1906be968492e8cd90804,380 Ether
0x4919c511f98a508622d0b9762c6f5ccf85abf9ce91550c820aef26872cffeef8402271667 days 4 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x9a95c1be5497cbc0cfedde4853aed3f2faa8afca20 Ether
0x309ab55f74a98623b0c9cdf3416f6802464f1187f6232711b1b6c52b6ec46280401910468 days 5 mins ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d379 Ether
0xd09f23c373a5fddd4098c5d9efbdd2b1b5b51f448a5aeed2960021c9eed5d668401895968 days 49 mins ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d357 Ether
0x07fcc74ea157111eada978ff0a5047940c8790a09eb0ae9013272185d136676b401858068 days 2 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d154 Ether
0x99b3cd05d1a31da27ef4e2e2fe56be3682599985fc35240c7585a8a403f3add0401850668 days 3 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d22 Ether
0x5561cdd31f51e14019a83d49ecab407efd5bba043d0f220c4d22b831f7c027c8397682976 days 18 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d3,033 Ether
0xd4015be2f320f75b67804630b3f805a62ef89e32c725fa27aa995afd50e533ba397673876 days 18 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d2,604 Ether
0x4182514e5a0b773764509ede8cdb1b55f26a30ee5291479db759216a3f813e3a397667076 days 19 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d3,312 Ether
0x40e22cfcb333b03c420692498e68be2fc28622ef3e633e7b7a79b08aebeba062397659576 days 19 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d3,275 Ether
0xbe6b0bfafb8ae84227f672dd5f122c168bd81d5dc6930608e4738dd58c72003b397655076 days 19 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d616 Ether
0xf6d927ad0ac027f8dc0a97a16ade5b7a71c5f44e97397e6acc8d57a2665d1455397644276 days 20 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x1e27138de182aeddc28c41eab9c7edaae72d6d1d173 Ether
0xe35767df4a86605d2b48d2b3a5bb8177ca35f0b4b27f25d5ec0c2aaa43c15f43393833684 days 10 hrs ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x23fcf6b8385a8b4836d35aa9f85ccad75cfcd5d191 Ether
0x36189e3f2f2c4bb8785d9f48e181d081471724c39557864541d89b0471896c0b393531985 days 57 mins ago0xa38d8109127028d3e1774413ef28db70c471cb540x2323763d78bf7104b54a462a79c2ce858d118f2f137.36 Ether
0x146138307914f30aa5f156f8057628d992e83886d392d12c885c14a5d59616d2393528085 days 1 hr ago0x2323763d78bf7104b54a462a79c2ce858d118f2f0x23fcf6b8385a8b4836d35aa9f85ccad75cfcd5d110 Ether
0xd5e1fbe53339db11bc72134c7afbde9aa7ddb3bf68927d724c7603209014b50e393045286 days 23 mins ago0xa38d8109127028d3e1774413ef28db70c471cb540x2323763d78bf7104b54a462a79c2ce858d118f2f137.36 Ether
0x67439bc4d4cabb404e0ac383f3325f1fa3080486d020f2a39e93fa45ceb4234c391733188 days 16 hrs ago0x8d18fee3552179082064abc5ef0b97c529a616b00x2323763d78bf7104b54a462a79c2ce858d118f2f0.316666138889768497 Ether
0x3e5f892216d33a2b58f1b8248a328a444b4c77278482ea060ff1592d849a178f391634088 days 21 hrs ago0xa38d8109127028d3e1774413ef28db70c471cb540x2323763d78bf7104b54a462a79c2ce858d118f2f171.32 Ether
0xcd81fe16b44c747ae12785ca4b2df5013f26ff7e904e2f9f2f976ccfc51f4ce9391596388 days 22 hrs ago0x8d18fee3552179082064abc5ef0b97c529a616b00x2323763d78bf7104b54a462a79c2ce858d118f2f1.593371574251115302 Ether
0x20a0fae04cdb831c82704581ab295ba3fef500f140780ebd6726800ae8d7b897391590188 days 23 hrs ago0x8d18fee3552179082064abc5ef0b97c529a616b00x2323763d78bf7104b54a462a79c2ce858d118f2f1.593371574251115302 Ether
0x2f6930cd27db163ed71c69219bfa34b924056f24fb62e1ffdb15661e05174921391585988 days 23 hrs ago0x8d18fee3552179082064abc5ef0b97c529a616b00x2323763d78bf7104b54a462a79c2ce858d118f2f1.593371574251115302 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity), IdentityPrecompileReturnIgnored (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Note: Displaying matching verified source code at contract 0x35792029777427920ce7adeccce9e645465e9c72
Contract Name: MultiSigWalletWithDailyLimit
Compiler Version: v0.4.4+commit.4633f3de
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity 0.4.4;


/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
/// @author Stefan George - <stefan.george@consensys.net>
contract MultiSigWallet {

    uint constant public MAX_OWNER_COUNT = 50;

    event Confirmation(address indexed sender, uint indexed transactionId);
    event Revocation(address indexed sender, uint indexed transactionId);
    event Submission(uint indexed transactionId);
    event Execution(uint indexed transactionId);
    event ExecutionFailure(uint indexed transactionId);
    event Deposit(address indexed sender, uint value);
    event OwnerAddition(address indexed owner);
    event OwnerRemoval(address indexed owner);
    event RequirementChange(uint required);

    mapping (uint => Transaction) public transactions;
    mapping (uint => mapping (address => bool)) public confirmations;
    mapping (address => bool) public isOwner;
    address[] public owners;
    uint public required;
    uint public transactionCount;

    struct Transaction {
        address destination;
        uint value;
        bytes data;
        bool executed;
    }

    modifier onlyWallet() {
        if (msg.sender != address(this))
            throw;
        _;
    }

    modifier ownerDoesNotExist(address owner) {
        if (isOwner[owner])
            throw;
        _;
    }

    modifier ownerExists(address owner) {
        if (!isOwner[owner])
            throw;
        _;
    }

    modifier transactionExists(uint transactionId) {
        if (transactions[transactionId].destination == 0)
            throw;
        _;
    }

    modifier confirmed(uint transactionId, address owner) {
        if (!confirmations[transactionId][owner])
            throw;
        _;
    }

    modifier notConfirmed(uint transactionId, address owner) {
        if (confirmations[transactionId][owner])
            throw;
        _;
    }

    modifier notExecuted(uint transactionId) {
        if (transactions[transactionId].executed)
            throw;
        _;
    }

    modifier notNull(address _address) {
        if (_address == 0)
            throw;
        _;
    }

    modifier validRequirement(uint ownerCount, uint _required) {
        if (   ownerCount > MAX_OWNER_COUNT
            || _required > ownerCount
            || _required == 0
            || ownerCount == 0)
            throw;
        _;
    }

    /// @dev Fallback function allows to deposit ether.
    function()
        payable
    {
        if (msg.value > 0)
            Deposit(msg.sender, msg.value);
    }

    /*
     * Public functions
     */
    /// @dev Contract constructor sets initial owners and required number of confirmations.
    /// @param _owners List of initial owners.
    /// @param _required Number of required confirmations.
    function MultiSigWallet(address[] _owners, uint _required)
        public
        validRequirement(_owners.length, _required)
    {
        for (uint i=0; i<_owners.length; i++) {
            if (isOwner[_owners[i]] || _owners[i] == 0)
                throw;
            isOwner[_owners[i]] = true;
        }
        owners = _owners;
        required = _required;
    }

    /// @dev Allows to add a new owner. Transaction has to be sent by wallet.
    /// @param owner Address of new owner.
    function addOwner(address owner)
        public
        onlyWallet
        ownerDoesNotExist(owner)
        notNull(owner)
        validRequirement(owners.length + 1, required)
    {
        isOwner[owner] = true;
        owners.push(owner);
        OwnerAddition(owner);
    }

    /// @dev Allows to remove an owner. Transaction has to be sent by wallet.
    /// @param owner Address of owner.
    function removeOwner(address owner)
        public
        onlyWallet
        ownerExists(owner)
    {
        isOwner[owner] = false;
        for (uint i=0; i<owners.length - 1; i++)
            if (owners[i] == owner) {
                owners[i] = owners[owners.length - 1];
                break;
            }
        owners.length -= 1;
        if (required > owners.length)
            changeRequirement(owners.length);
        OwnerRemoval(owner);
    }

    /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.
    /// @param owner Address of owner to be replaced.
    /// @param owner Address of new owner.
    function replaceOwner(address owner, address newOwner)
        public
        onlyWallet
        ownerExists(owner)
        ownerDoesNotExist(newOwner)
    {
        for (uint i=0; i<owners.length; i++)
            if (owners[i] == owner) {
                owners[i] = newOwner;
                break;
            }
        isOwner[owner] = false;
        isOwner[newOwner] = true;
        OwnerRemoval(owner);
        OwnerAddition(newOwner);
    }

    /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.
    /// @param _required Number of required confirmations.
    function changeRequirement(uint _required)
        public
        onlyWallet
        validRequirement(owners.length, _required)
    {
        required = _required;
        RequirementChange(_required);
    }

    /// @dev Allows an owner to submit and confirm a transaction.
    /// @param destination Transaction target address.
    /// @param value Transaction ether value.
    /// @param data Transaction data payload.
    /// @return Returns transaction ID.
    function submitTransaction(address destination, uint value, bytes data)
        public
        returns (uint transactionId)
    {
        transactionId = addTransaction(destination, value, data);
        confirmTransaction(transactionId);
    }

    /// @dev Allows an owner to confirm a transaction.
    /// @param transactionId Transaction ID.
    function confirmTransaction(uint transactionId)
        public
        ownerExists(msg.sender)
        transactionExists(transactionId)
        notConfirmed(transactionId, msg.sender)
    {
        confirmations[transactionId][msg.sender] = true;
        Confirmation(msg.sender, transactionId);
        executeTransaction(transactionId);
    }

    /// @dev Allows an owner to revoke a confirmation for a transaction.
    /// @param transactionId Transaction ID.
    function revokeConfirmation(uint transactionId)
        public
        ownerExists(msg.sender)
        confirmed(transactionId, msg.sender)
        notExecuted(transactionId)
    {
        confirmations[transactionId][msg.sender] = false;
        Revocation(msg.sender, transactionId);
    }

    /// @dev Allows anyone to execute a confirmed transaction.
    /// @param transactionId Transaction ID.
    function executeTransaction(uint transactionId)
        public
        notExecuted(transactionId)
    {
        if (isConfirmed(transactionId)) {
            Transaction tx = transactions[transactionId];
            tx.executed = true;
            if (tx.destination.call.value(tx.value)(tx.data))
                Execution(transactionId);
            else {
                ExecutionFailure(transactionId);
                tx.executed = false;
            }
        }
    }

    /// @dev Returns the confirmation status of a transaction.
    /// @param transactionId Transaction ID.
    /// @return Confirmation status.
    function isConfirmed(uint transactionId)
        public
        constant
        returns (bool)
    {
        uint count = 0;
        for (uint i=0; i<owners.length; i++) {
            if (confirmations[transactionId][owners[i]])
                count += 1;
            if (count == required)
                return true;
        }
    }

    /*
     * Internal functions
     */
    /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.
    /// @param destination Transaction target address.
    /// @param value Transaction ether value.
    /// @param data Transaction data payload.
    /// @return Returns transaction ID.
    function addTransaction(address destination, uint value, bytes data)
        internal
        notNull(destination)
        returns (uint transactionId)
    {
        transactionId = transactionCount;
        transactions[transactionId] = Transaction({
            destination: destination,
            value: value,
            data: data,
            executed: false
        });
        transactionCount += 1;
        Submission(transactionId);
    }

    /*
     * Web3 call functions
     */
    /// @dev Returns number of confirmations of a transaction.
    /// @param transactionId Transaction ID.
    /// @return Number of confirmations.
    function getConfirmationCount(uint transactionId)
        public
        constant
        returns (uint count)
    {
        for (uint i=0; i<owners.length; i++)
            if (confirmations[transactionId][owners[i]])
                count += 1;
    }

    /// @dev Returns total number of transactions after filers are applied.
    /// @param pending Include pending transactions.
    /// @param executed Include executed transactions.
    /// @return Total number of transactions after filters are applied.
    function getTransactionCount(bool pending, bool executed)
        public
        constant
        returns (uint count)
    {
        for (uint i=0; i<transactionCount; i++)
            if (   pending && !transactions[i].executed
                || executed && transactions[i].executed)
                count += 1;
    }

    /// @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<owners.length; i++)
            if (confirmations[transactionId][owners[i]]) {
                confirmationsTemp[count] = owners[i];
                count += 1;
            }
        _confirmations = new address[](count);
        for (i=0; i<count; i++)
            _confirmations[i] = confirmationsTemp[i];
    }

    /// @dev Returns list of transaction IDs in defined range.
    /// @param from Index start position of transaction array.
    /// @param to Index end position of transaction array.
    /// @param pending Include pending transactions.
    /// @param executed Include executed transactions.
    /// @return Returns array of transaction IDs.
    function getTransactionIds(uint from, uint to, bool pending, bool executed)
        public
        constant
        returns (uint[] _transactionIds)
    {
        uint[] memory transactionIdsTemp = new uint[](transactionCount);
        uint count = 0;
        uint i;
        for (i=0; i<transactionCount; i++)
            if (   pending && !transactions[i].executed
                || executed && transactions[i].executed)
            {
                transactionIdsTemp[count] = i;
                count += 1;
            }
        _transactionIds = new uint[](to - from);
        for (i=from; i<to; i++)
            _transactionIds[i - from] = transactionIdsTemp[i];
    }
}

/// @title Multisignature wallet with daily limit - Allows an owner to withdraw a daily limit without multisig.
/// @author Stefan George - <stefan.george@consensys.net>
contract MultiSigWalletWithDailyLimit is MultiSigWallet {

    event DailyLimitChange(uint dailyLimit);

    uint public dailyLimit;
    uint public lastDay;
    uint public spentToday;

    /*
     * Public functions
     */
    /// @dev Contract constructor sets initial owners, required number of confirmations and daily withdraw limit.
    /// @param _owners List of initial owners.
    /// @param _required Number of required confirmations.
    /// @param _dailyLimit Amount in wei, which can be withdrawn without confirmations on a daily basis.
    function MultiSigWalletWithDailyLimit(address[] _owners, uint _required, uint _dailyLimit)
        public
        MultiSigWallet(_owners, _required)
    {
        dailyLimit = _dailyLimit;
    }

    /// @dev Allows to change the daily limit. Transaction has to be sent by wallet.
    /// @param _dailyLimit Amount in wei.
    function changeDailyLimit(uint _dailyLimit)
        public
        onlyWallet
    {
        dailyLimit = _dailyLimit;
        DailyLimitChange(_dailyLimit);
    }

    /// @dev Allows anyone to execute a confirmed transaction or ether withdraws until daily limit is reached.
    /// @param transactionId Transaction ID.
    function executeTransaction(uint transactionId)
        public
        notExecuted(transactionId)
    {
        Transaction tx = transactions[transactionId];
        bool confirmed = isConfirmed(transactionId);
        if (confirmed || tx.data.length == 0 && isUnderLimit(tx.value)) {
            tx.executed = true;
            if (!confirmed)
                spentToday += tx.value;
            if (tx.destination.call.value(tx.value)(tx.data))
                Execution(transactionId);
            else {
                ExecutionFailure(transactionId);
                tx.executed = false;
                if (!confirmed)
                    spentToday -= tx.value;
            }
        }
    }

    /*
     * Internal functions
     */
    /// @dev Returns if amount is within daily limit and resets spentToday after one day.
    /// @param amount Amount to withdraw.
    /// @return Returns if amount is under daily limit.
    function isUnderLimit(uint amount)
        internal
        returns (bool)
    {
        if (now > lastDay + 24 hours) {
            lastDay = now;
            spentToday = 0;
        }
        if (spentToday + amount > dailyLimit || spentToday + amount < spentToday)
            return false;
        return true;
    }

    /*
     * Web3 call functions
     */
    /// @dev Returns maximum withdraw amount.
    /// @return Returns amount.
    function calcMaxWithdraw()
        public
        constant
        returns (uint)
    {
        if (now > lastDay + 24 hours)
            return dailyLimit;
        return dailyLimit - spentToday;
    }
}

  Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"calcMaxWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lastDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"executed","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"_transactionIds","type":"uint256[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"changeDailyLimit","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_dailyLimit","type":"uint256"}],"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dailyLimit","type":"uint256"}],"name":"DailyLimitChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Revocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Submission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerAddition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"required","type":"uint256"}],"name":"RequirementChange","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260405161163038038061163083398101604052805160805160a05191909201919082826000825182603282118061003a57508181115b80610043575080155b8061004c575081155b1561005657610002565b600092505b84518310156100ce576002600050600086858151811015610002576020908102909101810151600160a060020a031682528101919091526040016000205460ff16806100c45750848381518110156100025790602001906020020151600160a060020a03166000145b1561015357610002565b845160038054828255600082905290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b918201916020890182156101cd579160200282015b828111156101cd5782518254600160a060020a0319166c0100000000000000000000000091820291909104178255602090920191600190910190610114565b600160026000506000878681518110156100025790602001906020020151600160a060020a0316815260200190815260200160002060006101000a81548160ff02191690837f010000000000000000000000000000000000000000000000000000000000000090810204021790555060019092019161005b565b506101f39291505b80821115610213578054600160a060020a03191681556001016101d5565b505050600492909255505050600655506114199050806102176000396000f35b509056606060405236156101325760e060020a6000350463025e7c278114610180578063173825d9146101b257806320ea8d86146101df5780632f54bf6e146102135780633411c81c146102335780634bc9fdc214610260578063547415251461028357806367eeba0c146102f75780636b0c932d146103055780637065cb4814610313578063784547a71461033e5780638b51d13f1461034e5780639ace38c2146103c2578063a0e67e2b146103fd578063a8abe69a1461046e578063b5dc40c31461054d578063b77bf60014610659578063ba51a6df14610667578063c01a8c8414610693578063c6427474146106a3578063cea0862114610714578063d74f8edd1461073f578063dc8452cd1461074c578063e20056e61461075a578063ee22610b1461078a578063f059cf2b1461079a575b6107a8600034111561017e57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b565b34610002576107aa60043560038054829081101561000257600091825260209091200154600160a060020a0316905081565b34610002576107a8600435600030600160a060020a031633600160a060020a0316141515610a1a57610002565b34610002576107a8600435600160a060020a033390811660009081526002602052604090205460ff161515610c5f57610002565b34610002576107c660043560026020526000908152604090205460ff1681565b34610002576001602090815260043560009081526040808220909252602435815220546107c69060ff1681565b34610002576107da6007546000906201518001421115610d0f5750600654610d18565b34610002576107da6004356024356000805b600554811015610d1b578380156102be575060008181526020819052604090206003015460ff16155b806102e257508280156102e2575060008181526020819052604090206003015460ff165b156102ef57600191909101905b600101610295565b34610002576107da60065481565b34610002576107da60075481565b34610002576107a860043530600160a060020a031633600160a060020a0316141515610d2257610002565b34610002576107c6600435610801565b34610002576107da6004356000805b600354811015610e52576000838152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156103ba57600191909101905b60010161035d565b34610002576000602081905260043581526040902080546001820154600383015461087993600160a060020a03909316926002019060ff1684565b346100025760408051602080820183526000825260038054845181840281018401909552808552610923949283018282801561046257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610444575b50505050509050610d18565b34610002576109236004356024356044356064356040805160208181018352600080835283519182018452808252600554935192939192909182918059106104b35750595b9080825280602002602001820160405280156104ca575b509250600091508190505b600554811015610e58578580156104fe575060008181526020819052604090206003015460ff16155b806105225750848015610522575060008181526020819052604090206003015460ff165b156105455780838381518110156100025760209081029091010152600191909101905b6001016104d5565b34610002576109236004356040805160208181018352600080835283519182018452808252600354935192939192909182918059106105895750595b9080825280602002602001820160405280156105a0575b509250600091508190505b600354811015610ecd576000858152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561065157600380548290811015610002576000918252602090912001548351600160a060020a03909116908490849081101561000257600160a060020a03909216602092830290910190910152600191909101905b6001016105ab565b34610002576107da60055481565b34610002576107a86004355b30600160a060020a031633600160a060020a0316141515610f4957610002565b34610002576107a8600435610974565b3461000257604080516020600460443581810135601f81018490048402850184019095528484526107da948235946024803595606494929391909201918190840183828082843750949650505050505050600061096d848484600083600160a060020a0381161515610b6157610002565b34610002576107a860043530600160a060020a031633600160a060020a031614151561101457610002565b34610002576107da603281565b34610002576107da60045481565b34610002576107a8600435602435600030600160a060020a031633600160a060020a031614151561104f57610002565b34610002576107a86004356109f7565b34610002576107da60085481565b005b60408051600160a060020a039092168252519081900360200190f35b604080519115158252519081900360200190f35b60408051918252519081900360200190f35b600084815260208190526040902092506111c2845b600080805b600354811015610872576000848152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561086357600191909101905b600454821415610e4a57600192505b5050919050565b60408051600160a060020a03861681526020810185905282151560608201526080918101828152845460026000196101006001841615020190911604928201839052909160a0830190859080156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b50509550505050505060405180910390f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600302600f01f1509050019250505060405180910390f35b905061100d815b33600160a060020a03811660009081526002602052604090205460ff161515610fb457610002565b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610ce6855b6000818152602081905260408120600301548190839060ff16156107ec57610002565b600160a060020a038216600090815260026020526040902054829060ff161515610a4357610002565b600160a060020a0383166000908152600260205260408120805460ff1916905591505b60035460001901821015610b085782600160a060020a0316600360005083815481101561000257600091825260209091200154600160a060020a03161415610b3857600380546000198101908110156100025760009182526020909120015460038054600160a060020a039092169184908110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600380546000198101808355919082908015829011610b4357600083815260209020610b43918101908301610c0e565b600190910190610a66565b505060035460045411159150610c26905057600354610c2690610673565b60055460408051608081018252878152602080820188815282840188815260006060850181905286815280845294852084518154606060020a91820291909104600160a060020a031990911617815591516001808401919091559051805160028085018054818a5298879020999b5096989497601f9481161561010002600019011604830185900484019490939291019083901061137e57805160ff19168380011785555b506113ae9291505b80821115610c225760008155600101610c0e565b5090565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff161515610cee57610002565b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35b505b50505050565b600084815260208190526040902060030154849060ff1615610c9457610002565b50600854600654035b90565b5092915050565b600160a060020a038116600090815260026020526040902054819060ff1615610d4a57610002565b81600160a060020a0381161515610d6057610002565b6003546004546001909101906032821180610d7a57508181115b80610d83575080155b80610d8c575081155b15610d9657610002565b600160a060020a0385166000908152600260205260409020805460ff19166001908117909155600380549182018082559091908281838015829011610dec57600083815260209020610dec918101908301610c0e565b50505060009283525060208220018054600160a060020a031916606060020a88810204179055604051600160a060020a038716917ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d91a25050505050565b600101610806565b50919050565b878703604051805910610e685750595b908082528060200260200182016040528015610e7f575b5093508790505b86811015610ec2578281815181101561000257906020019060200201518489830381518110156100025760209081029091010152600101610e86565b505050949350505050565b81604051805910610edb5750595b908082528060200260200182016040528015610ef2575b509350600090505b81811015610f41578281815181101561000257906020019060200201518482815181101561000257600160a060020a03909216602092830290910190910152600101610efa565b505050919050565b600354816032821180610f5b57508181115b80610f64575080155b80610f6d575081155b15610f7757610002565b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b6000828152602081905260409020548290600160a060020a03161515610fd957610002565b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561099c57610002565b9392505050565b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b600160a060020a038316600090815260026020526040902054839060ff16151561107857610002565b600160a060020a038316600090815260026020526040902054839060ff16156110a057610002565b600092505b60035483101561111d5784600160a060020a0316600360005084815481101561000257600091825260209091200154600160a060020a031614156111b7578360036000508481548110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6001909201916110a5565b9150818061123157506002808401546000196101006001831615020116041580156112315750600183015461123190600754600090620151800142111561120d574260075560006008555b600654600854830111806112245750600854828101105b1561141057506000611414565b15610ce85760038301805460ff1916600117905581151561125b5760018301546008805490910190555b825460018085015460405160028088018054600160a060020a039096169593949093839285926000199083161561010002019091160480156112de5780601f106112b3576101008083540402835291602001916112de565b820191906000526020600020905b8154815290600101906020018083116112c157829003601f168201915b505091505060006040518083038185876185025a03f1925050501561132d5760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2610ce8565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515610ce8575050600101546008805491909103905550565b82800160010185558215610c06579182015b82811115610c06578251826000505591602001919060010190611390565b5050606091909101516003909101805460ff191660f860020a9283029290920491909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b5060015b91905056000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000085e6ecb2b3511bffe4edf4cd3b00caf3802702e100000000000000000000000000a245706741d7949c82356ef9955dd3f7bfc21700000000000000000000000028bbf0ef519f72cafea000eaf64ed679dbdda738
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.