Contract 0x950ec4ef693d90f8519c4213821e462426d30905

 

TxHash Block Age From To Value [TxFee]
0xfe6fd9e065c7b19e1916ec1700d5addb4998b2fb9f998cb182f76a920bb138fc714971323 days 17 hrs ago0xcf5ee528278a57ba087684f685d99a6a5ec4c439 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00193031
0x185c79b55aca50fb1913b9dc1345f74f5f3148fbf5ae3a66c288d827b7b59809714027725 days 16 hrs ago0x6f2f865ebc9aa6317900898d46b8f127e28b6e63 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00158309
0xab6f26b83eaac82e3ce342371324cd2ca64b0b52bac71200957d71e265fafae9714027425 days 16 hrs ago0x6f2f865ebc9aa6317900898d46b8f127e28b6e63 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00158309
0xdcb6db3ee4115c48ee9553bb854143097ff991bc3d8d12fde7575bcfc3f80966713730426 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00114576
0x56bc51bf2182c6a15bd4b09e171b7923497a9bc46dd787dd53062fb05a24de59713730226 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000393148
0x250c4083a6e1038ff87e464559b5e7a9f0c2e16ede66e46324d9504a89f0e1b4713729926 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.001099651
0x527d5be86f227461b8d5c7968fe733209e9a1f89a92bfa10c2b1a5009c5f8d91713729726 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000616588
0x0aab39a87bb273da4197d8ca72fc2c4250e3e4ade9b1c914c5f3b17d09aabe22713729426 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000652113731
0x11d76517de823c6596a55f9b95da09a83c37382647a232b84433faac1368532e713729326 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0x5e46a36a02433622c6e64dcac862db67c6d970c89f7063848e03b2f6362c1ced713729226 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0x9b390840701b0ef436e06de720b0ec4dcb4a6b6e2dbbc8463d224c32b6fccaf1713729126 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0xfd20f8c1a9af035fa2ec99510717c378f419a41c6c404cb1bc572a36122175ce713728926 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0xeada6730ecc9f5ca0acbb00c7aada5fb402e6e39175298cf5203099e3ff15483713728726 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0xe7899c4359b734b8764b83964edee01daf9eaf90ca846c9b70bcb03b58d1de95713728526 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0x4ec8ea1e22b83fa7cfe3aeaaa337f2ce5df0df91fd71d0255700864039b8ec19713728426 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0x878476ece4e86d40c26a764d01ea19fc4701549ac17e774f1f7f5d854e8ed502713728226 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000110220576
0x8f68fb8af68de1a928e3d918ad086db1a433056c3c9b1c83b49be313326c09d0713727126 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00132873615
0xc0b20ab34d72627fb8a29e34d7ee75dcd3d9920810fd704483721f4ef64bc5406572231122 days 7 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.0008184
0x8f1db24243844dd5edef5e95d65319efa729828993fd057a21450c91f4f9a08c6572225122 days 7 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000942558
0x81205692002c56c8a16359b0a7e677bafce5b563e5a857f66dc0c68d2f64b6fb6572195122 days 8 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.001042146
0xb0c3d268459fd9700b953012f6c0bb70ceba9839bdbbe036bcce43fb867116606388572152 days 6 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.000628372
0x67e694a3bdb2771b64b4655212cf011f68d77e4852bec119b84365f3008c35956387712152 days 10 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.001145792736
0x6e7079adfaea4977ecc9d8b57d5aff4af8a872ff6fa2f04fed4b58259b575ee46387703152 days 10 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00147312
0x3bd2bc49f4a54f2da8bd3e963e3f1753fbcbaa47fd2c35789750769c8c1c73b26387695152 days 10 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.001110868738
0x5abddc3a1b369f3086dbf7bb3b3108dc01b257067be0b519b530a957fb80a2e36368247155 days 15 hrs ago0x448468d5591c724f5310027b859135d5f6434286 IN  0x950ec4ef693d90f8519c4213821e462426d309050 Ether0.00151218
[ Download CSV Export 

Latest 25 Internal Transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xfe6fd9e065c7b19e1916ec1700d5addb4998b2fb9f998cb182f76a920bb138fc714971323 days 17 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050xcf5ee528278a57ba087684f685d99a6a5ec4c4392 Ether
0x65fb99e99fd8a92a3e99faf92fb66eb58f4a4d1d60eb84efb3d79134f8ab6cdf714969823 days 17 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309052.681381912282896631 Ether
0x802af71dbd51b07f4b47d2732b3be1c01f449fceb846d8075a4104a9751096a7714968723 days 17 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.0080325 Ether
0x5110a96848416d4bf797a3672833864d8e3761680d3697f5db4c3ba9820410be6468749139 days 4 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.0432225 Ether
0xf0f0896f8ddc0abbaa01968fb7887709a64c742270464106a7b5f79b3c15aa9d6387691152 days 10 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.063495 Ether
0x5abddc3a1b369f3086dbf7bb3b3108dc01b257067be0b519b530a957fb80a2e36368247155 days 15 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050x448468d5591c724f5310027b859135d5f64342860.1 Ether
0xb7fa4c8309d504b6a15385518b0aa8ebdd82ba33c726d93c2673e883624f96da6368236155 days 15 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050x448468d5591c724f5310027b859135d5f64342860.8 Ether
0x09298e884e96cc455402c8f2cb45a84a9d3d878a4169a503360396cefb8c40526368228155 days 15 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.0771426 Ether
0x0e8166897741c56fddd00b5f2d6463b8064888f63e1467475b629b911dad20916366231155 days 23 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.3258135 Ether
0x7a55ed6efb55ccd11a62ceeff6238c4fca398b421ee6c3b8fe87f06ea582bef16363449156 days 10 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.091035 Ether
0xb1edd6649a90475078830109f6f42aacb55f3f74ea2e0ce1f44162dd924dd6bb6360873156 days 20 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.277695 Ether
0x79ff6855603ba422bbfafd10fb0359e1f6f13a7984407485c8593a50318bbf0d6357987157 days 7 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050x448468d5591c724f5310027b859135d5f64342860.17 Ether
0x90487ec94094d13696403943407f557e8d1b74b24aa64debb3a0d7affcaceb566357980157 days 7 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050x448468d5591c724f5310027b859135d5f64342860.2 Ether
0x2b673c53674d1617869668e97a5f99703ad845fcc2aafadf6e21d30f4091aa0c6357923157 days 8 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.25857 Ether
0x2c1b467de083dd1c58ad33d84ffe5380d519835d9187d26f98763b7c6771a65a6354296157 days 22 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.003978 Ether
0xb2bad6097cffe08cf96ae020fc05203757fa7569195fa566260fa4a7557c3fea6354296157 days 22 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.19125 Ether
0x93da96a71a719107741607a1276660babe54d7f722d5bd302af09a63b29890f66283023169 days 19 hrs ago0x950ec4ef693d90f8519c4213821e462426d309050xcf5ee528278a57ba087684f685d99a6a5ec4c4390.15 Ether
0x6cb877506eae54d6b5aa582c000dbd50cee0bfb43f0f8cffa69418424260f4ea6178539187 days 9 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.0279225 Ether
0x35880b4ac13b1fec822b3f859e8cfe59c26212e55a1f6fe43ab97c356d8cdc736149249192 days 8 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.04284 Ether
0x67befe076c69d2adad9385b9d51ff9d6eb62ce997c0a6c7cd17e6882441ba3256148921192 days 10 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.02346 Ether
0xbcacf9d1dffa66ceb99f55420e3ff67943f926dea7897ca57f78efb0aa9e6c136131245195 days 10 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.000663 Ether
0x0e878d4ea1f2b1b3c119b50c594d9b338b29527f2f9d7dd151a1197269e8deb66131230195 days 10 hrs ago0xc83355ef25a104938275b46cffd94bf9917d06910x950ec4ef693d90f8519c4213821e462426d309050.00765 Ether
0x75514a0bb0d4db2381bb280b75f93691026f391cf09b1918b08617ce9e0a6a736124075196 days 15 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.02805 Ether
0xfcea9aae7e8ba43c85682eb49811623f6590b6cbf7eafb92f2d048e42cc285a56102449200 days 6 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.051 Ether
0xaf799b97587a7318532993b4ad2c052e43af07a4547b840af4c316f1a064734b6098846200 days 21 hrs ago0x8b7d07b6ffb9364e97b89cea8b84f94249be459f0x950ec4ef693d90f8519c4213821e462426d309050.01275 Ether
[ Download CSV Export 
Contract Name: MultiSigWalletWithDailyLimit
Compiler Version: v0.4.4+commit.4633f3de
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity 0.4.4;


/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
/// @author Stefan George - <[email protected]>
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 - <[email protected]>
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;
        if (dailyLimit < spentToday)
            return 0;
        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
606060405260405161164438038061164483398101604052805160805160a05191909201919082826000825182603282118061003a57508181115b80610043575080155b8061004c575081155b1561005657610002565b600092505b84518310156100ce576002600050600086858151811015610002576020908102909101810151600160a060020a031682528101919091526040016000205460ff16806100c45750848381518110156100025790602001906020020151600160a060020a03166000145b1561015357610002565b845160038054828255600082905290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b918201916020890182156101cd579160200282015b828111156101cd5782518254600160a060020a0319166c0100000000000000000000000091820291909104178255602090920191600190910190610114565b600160026000506000878681518110156100025790602001906020020151600160a060020a0316815260200190815260200160002060006101000a81548160ff02191690837f010000000000000000000000000000000000000000000000000000000000000090810204021790555060019092019161005b565b506101f39291505b80821115610213578054600160a060020a03191681556001016101d5565b5050506004929092555050506006555061142d9050806102176000396000f35b509056606060405236156101325760e060020a6000350463025e7c278114610180578063173825d9146101b257806320ea8d86146101df5780632f54bf6e146102135780633411c81c146102335780634bc9fdc214610260578063547415251461028357806367eeba0c146102f75780636b0c932d146103055780637065cb4814610313578063784547a71461033e5780638b51d13f1461034e5780639ace38c2146103c2578063a0e67e2b146103fd578063a8abe69a1461046e578063b5dc40c31461054d578063b77bf60014610659578063ba51a6df14610667578063c01a8c8414610693578063c6427474146106a3578063cea0862114610714578063d74f8edd1461073f578063dc8452cd1461074c578063e20056e61461075a578063ee22610b1461078a578063f059cf2b1461079a575b6107a8600034111561017e57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b565b34610002576107aa60043560038054829081101561000257600091825260209091200154600160a060020a0316905081565b34610002576107a8600435600030600160a060020a031633600160a060020a0316141515610a1a57610002565b34610002576107a8600435600160a060020a033390811660009081526002602052604090205460ff161515610c5f57610002565b34610002576107c660043560026020526000908152604090205460ff1681565b34610002576001602090815260043560009081526040808220909252602435815220546107c69060ff1681565b34610002576107da6007546000906201518001421115610d1b5750600654610d18565b34610002576107da6004356024356000805b600554811015610d2f578380156102be575060008181526020819052604090206003015460ff16155b806102e257508280156102e2575060008181526020819052604090206003015460ff165b156102ef57600191909101905b600101610295565b34610002576107da60065481565b34610002576107da60075481565b34610002576107a860043530600160a060020a031633600160a060020a0316141515610d3657610002565b34610002576107c6600435610801565b34610002576107da6004356000805b600354811015610e66576000838152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156103ba57600191909101905b60010161035d565b34610002576000602081905260043581526040902080546001820154600383015461087993600160a060020a03909316926002019060ff1684565b346100025760408051602080820183526000825260038054845181840281018401909552808552610923949283018282801561046257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610444575b50505050509050610d18565b34610002576109236004356024356044356064356040805160208181018352600080835283519182018452808252600554935192939192909182918059106104b35750595b9080825280602002602001820160405280156104ca575b509250600091508190505b600554811015610e6c578580156104fe575060008181526020819052604090206003015460ff16155b806105225750848015610522575060008181526020819052604090206003015460ff165b156105455780838381518110156100025760209081029091010152600191909101905b6001016104d5565b34610002576109236004356040805160208181018352600080835283519182018452808252600354935192939192909182918059106105895750595b9080825280602002602001820160405280156105a0575b509250600091508190505b600354811015610ee1576000858152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561065157600380548290811015610002576000918252602090912001548351600160a060020a03909116908490849081101561000257600160a060020a03909216602092830290910190910152600191909101905b6001016105ab565b34610002576107da60055481565b34610002576107a86004355b30600160a060020a031633600160a060020a0316141515610f5d57610002565b34610002576107a8600435610974565b3461000257604080516020600460443581810135601f81018490048402850184019095528484526107da948235946024803595606494929391909201918190840183828082843750949650505050505050600061096d848484600083600160a060020a0381161515610b6157610002565b34610002576107a860043530600160a060020a031633600160a060020a031614151561102857610002565b34610002576107da603281565b34610002576107da60045481565b34610002576107a8600435602435600030600160a060020a031633600160a060020a031614151561106357610002565b34610002576107a86004356109f7565b34610002576107da60085481565b005b60408051600160a060020a039092168252519081900360200190f35b604080519115158252519081900360200190f35b60408051918252519081900360200190f35b600084815260208190526040902092506111d6845b600080805b600354811015610872576000848152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561086357600191909101905b600454821415610e5e57600192505b5050919050565b60408051600160a060020a03861681526020810185905282151560608201526080918101828152845460026000196101006001841615020190911604928201839052909160a0830190859080156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b50509550505050505060405180910390f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600302600f01f1509050019250505060405180910390f35b9050611021815b33600160a060020a03811660009081526002602052604090205460ff161515610fc857610002565b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610ce6855b6000818152602081905260408120600301548190839060ff16156107ec57610002565b600160a060020a038216600090815260026020526040902054829060ff161515610a4357610002565b600160a060020a0383166000908152600260205260408120805460ff1916905591505b60035460001901821015610b085782600160a060020a0316600360005083815481101561000257600091825260209091200154600160a060020a03161415610b3857600380546000198101908110156100025760009182526020909120015460038054600160a060020a039092169184908110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600380546000198101808355919082908015829011610b4357600083815260209020610b43918101908301610c0e565b600190910190610a66565b505060035460045411159150610c26905057600354610c2690610673565b60055460408051608081018252878152602080820188815282840188815260006060850181905286815280845294852084518154606060020a91820291909104600160a060020a031990911617815591516001808401919091559051805160028085018054818a5298879020999b5096989497601f9481161561010002600019011604830185900484019490939291019083901061139257805160ff19168380011785555b506113c29291505b80821115610c225760008155600101610c0e565b5090565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff161515610cee57610002565b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35b505b50505050565b600084815260208190526040902060030154849060ff1615610c9457610002565b50600854600654035b90565b6008546006541015610d0f57506000610d18565b5092915050565b600160a060020a038116600090815260026020526040902054819060ff1615610d5e57610002565b81600160a060020a0381161515610d7457610002565b6003546004546001909101906032821180610d8e57508181115b80610d97575080155b80610da0575081155b15610daa57610002565b600160a060020a0385166000908152600260205260409020805460ff19166001908117909155600380549182018082559091908281838015829011610e0057600083815260209020610e00918101908301610c0e565b50505060009283525060208220018054600160a060020a031916606060020a88810204179055604051600160a060020a038716917ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d91a25050505050565b600101610806565b50919050565b878703604051805910610e7c5750595b908082528060200260200182016040528015610e93575b5093508790505b86811015610ed6578281815181101561000257906020019060200201518489830381518110156100025760209081029091010152600101610e9a565b505050949350505050565b81604051805910610eef5750595b908082528060200260200182016040528015610f06575b509350600090505b81811015610f55578281815181101561000257906020019060200201518482815181101561000257600160a060020a03909216602092830290910190910152600101610f0e565b505050919050565b600354816032821180610f6f57508181115b80610f78575080155b80610f81575081155b15610f8b57610002565b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b6000828152602081905260409020548290600160a060020a03161515610fed57610002565b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561099c57610002565b9392505050565b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b600160a060020a038316600090815260026020526040902054839060ff16151561108c57610002565b600160a060020a038316600090815260026020526040902054839060ff16156110b457610002565b600092505b6003548310156111315784600160a060020a0316600360005084815481101561000257600091825260209091200154600160a060020a031614156111cb578360036000508481548110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6001909201916110b9565b91508180611245575060028084015460001961010060018316150201160415801561124557506001830154611245906007546000906201518001421115611221574260075560006008555b600654600854830111806112385750600854828101105b1561142457506000611428565b15610ce85760038301805460ff1916600117905581151561126f5760018301546008805490910190555b825460018085015460405160028088018054600160a060020a039096169593949093839285926000199083161561010002019091160480156112f25780601f106112c7576101008083540402835291602001916112f2565b820191906000526020600020905b8154815290600101906020018083116112d557829003601f168201915b505091505060006040518083038185876185025a03f192505050156113415760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2610ce8565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515610ce8575050600101546008805491909103905550565b82800160010185558215610c06579182015b82811115610c065782518260005055916020019190600101906113a4565b5050606091909101516003909101805460ff191660f860020a9283029290920491909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b5060015b9190505600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000009f7dfab2222a473284205cddf08a677726d786a00000000000000000000000005210c4dcd7eb899a1274fd6471adec9896ae05aa0000000000000000000000001d805bc00b8fa3c96ae6c8fa97b2fd24b19a9801000000000000000000000000aca7bd07a8c207f7964261c2cf1e0fbfcff37836

Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.