Contract 0x23C2c34f38ce66ccC10E71e9bB2A06532D52C5E9

 

Contract Overview

Balance:
19,797.961952575386260664 Ether

EtherValue:
$2,913,270.10 (@ $147.15/ETH)

Token:
TxHash Block Age From To Value [TxFee]
0xd802751facc7c48ee225e3cfc7abefc96665d351c24f828e7c10fd867f8b1492712448226 days 17 hrs ago0x933cba14c63c818ef96a50ad8b58fc92ebe4ca85 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.00184474
0xeae24de67a2af7d69d9ca9bacf047a152b4c71c6694d316e574b7950a59a83f7712422226 days 18 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000213368
0x886b6d39b13888dac50c71dd7ac5b64063f47e145984b2af9af8025b11b641d3712414126 days 19 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.004043538
0xe744fa1d87e991940e2f85b3b7b94cd6538518700bf1625558a79d23e087ee97704859140 days 17 hrs ago0xca9eeac839cfe63f8f7edcc17ef4547f78853233 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.001388820336
0x2ecf47d05d3aafd56ae8098c63bd2e9bda2a3e9f394fb79c4a8dba4a5960e37e704856940 days 17 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.00106684
0xe11f4f4f2bdc81b84111d27df0c0fbf77dceb28a21c084a9e09a1446364b678a704854240 days 17 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.004043538
0x00f2eccd6c498d8ffd4c1bcf0e6ac857cb7dfd7ce821df23f415e0d3373852b2690329165 days 19 hrs ago0x933cba14c63c818ef96a50ad8b58fc92ebe4ca85 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.00153422
0x2d8797fed6bfcaf29f3e517b8bbcd2dbc23424c1a5d0ce2b4b4ea4457e418cc2690298665 days 20 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000373394
0x69f06a7b7c239990d2345446531daf7fdfae0aaf0ad83d4741dbc5b754f1e8a1690297565 days 20 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000287518
0x6d7aadeef0f27571ef158f1cf9f732acec9987bf358d55d57ea31378aebd8d0c690268465 days 21 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.002109672
0x5348c78d4fde8b875590972f59383ba8f4b3658980ed12923f698f892b6e1084671606196 days 16 hrs ago0xca9eeac839cfe63f8f7edcc17ef4547f78853233 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.001388820336
0xb39dff2efa6ba34d54dca90bad79cd984f15ae7a7d9cd98c72b4990ddf26b599671584596 days 17 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000693446
0xc872724a1813581c866427479e8c072fa289a561718a1941c9aefed0fcc60a4f671581096 days 17 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000287518
0xb5d615f243b0b736d3f70decc40b38e018385f61721b633965a4f22f17007236671573896 days 17 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.004043538
0x9ba14f6143aae2521b7e3d88482bc0558f982262915bae4fe47bfc591d850a9a6661386105 days 15 hrs ago0xca9eeac839cfe63f8f7edcc17ef4547f78853233 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.003440632369
0x63a2612a228d96e50738f63a08492703d850b8f1ccd95a2044ce6c805638cafc6586715117 days 21 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.001587255
0x9fc401d7dd6367d93011e9b22605abedda84978ffa8f52fea046de6b9c1cc9146586678117 days 21 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.0009
0xb7aa630dc351459fea31bca51463c20e50798dc4808714971eb91c8e934936696586651117 days 21 hrs ago0xca9eeac839cfe63f8f7edcc17ef4547f78853233 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000815733336
0x71a8e836c1b4198ed9d07b74009f88df4502914b4e72ec86a623b71196abd52f6586615117 days 21 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.002111208
0x62180a6c032066652c4d1edf5f74be66c332e98fcfb45b35c53d7c2576ca27116475333136 days 43 mins ago0x933cba14c63c818ef96a50ad8b58fc92ebe4ca85 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.00184474
0x67da246928c95893a0a993552463d7f56280491f3e3339c0c7d5ddc42ef66bfb6457735138 days 20 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.00026671
0x59413b2ed9ea02e7e46d250dd4d8d9493138a1d9933b867bfcc8cf5e7dbc13616457689138 days 21 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.002109672
0x0f7075d7eb63e125dbd676123e88fd58a414eb4860e01c13a6f18d9938bc138c6248471173 days 12 hrs ago0x981f4874e1753fde6b4ed6b2e49cca2169f9de0f IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000454085
0x5cd06292dc6b17c06551b96de3c6b0890482ae4ff021e4a7e9b9a17b379d975b6247084173 days 17 hrs ago0xca9eeac839cfe63f8f7edcc17ef4547f78853233 IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.000815733336
0xeb2aede738951bc88a3e291fad67e46a56a3a52e932522de830754ac2d1829a66246869173 days 18 hrs ago0x3a3e8e2df9ad00731c0589eed810f1c0c05978fe IN  0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90 Ether0.001054836
[ Download CSV Export 

Latest 21 Internal Transactions Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x49115a403421cc0ed15f06b38488956007026ae25a8dd19543e44cc85e7930136457722138 days 20 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9235.6495 Ether
0x20a31bdfb7e4c772baaf18404e9bdd554193b05488852cc8d61af7b3b189c1bb6378026151 days 22 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9299.99 Ether
0xaa05c318892c1474d5789a8b3f11eb788e5a3287b8035955d748cbd66078f2be6247058173 days 18 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9299 Ether
0x7c8b9d28de5a2a13b801541de5bcec46daebb9d8859133ea0b04103c775f76405752381257 days 23 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9299.999 Ether
0xd9bb151d8ad30870ce19d147ed8a18f716391238f5caa1d7346dedbfe8f4739e5417773316 days 10 hrs ago0x31a240648e2baf4f9f17225987f6f53fceb1699a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90.000000007777777777 Ether
0xcad5e6ac22ea59049facc64ba56b5c0691b634e6fa01b55ceb79ea30b55590d25063582376 days 1 hr ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9299 Ether
0xf2fbf0679ff8a0e91583d533098462a218a28e67a56eabead8fa3039485c6ff55012634384 days 15 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9299 Ether
0x5f29e74967dfeaba62ad13d520371986733fe2c332d84aaa3e0cc35cf44fabc44696895439 days 19 hrs ago0x60ecfc61e27152daffc7931448ac9dde0dcaa37a0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e9301 Ether
0x136c89584c6e840160a1caad96b1f2321e348e256cdc937312e11927e6d15b004570223460 days 17 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90x8f493c12c4f5ff5fd510549e1e28ea3dd101e8500.001 Ether
0x9b8c779d5a15a1e78f633f65ffc2e06d0f97e44cf0e61d5d5278a6d06c13ffe34220138539 days 18 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xb19f94ee72c7b61dd9b8dcb32e29794c82a2f2a5800 Ether
0x6e9de950cb7cfdb2bc453a646d28f592397cb95f14b8e7026878d99086bce4ad4168714552 days 22 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd6e371526cdaee04cd8af225d42e37bc14688d9e1 Ether
0x235f69ee7a6cec34470a025357f0d066d3828d124ba957104ad84bb8a0141e934160735554 days 20 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd6e371526cdaee04cd8af225d42e37bc14688d9e3,000 Ether
0x575f259b154ffe6b11609e5c1145365c25b514ae1bc45cc21e3e5274aee224274086042572 days 17 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd6e371526cdaee04cd8af225d42e37bc14688d9e3,000 Ether
0xb218451963ab249edf7af8c8130583514141df1e16763db1b7f16e621174f4bb4068037576 days 14 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd6e371526cdaee04cd8af225d42e37bc14688d9e6,365.682 Ether
0x64bf8536e001ee1df1888cce3ad8284c991eca1b4ae66e0c8954d85c3e925b1b4067973576 days 14 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd6e371526cdaee04cd8af225d42e37bc14688d9e1 Ether
0x3a171e6c7556270ecb007f53ae7f3b662427d8672802f25d9c0005127045c0064067953576 days 14 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd556caf704e39fc728058557a113b226207d22121 Ether
0x816346025eb5de05950d520dcfc0377d23d9d8996d9dc73ad40bb0331af4d4814067913576 days 14 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90xd556caf704e39fc728058557a113b226207d2212335.0359 Ether
0xac982ece6555765df4a409161afae51e259299948756dd579ae1879b5dd031424067830576 days 15 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90x60ecfc61e27152daffc7931448ac9dde0dcaa37a5,025.5385 Ether
0xc5f83ea7db00b51165cbe2bed21cd376eaa8754bb3ef142984edff2f299a7d4f4067334576 days 18 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90x8f493c12c4f5ff5fd510549e1e28ea3dd101e8505 Ether
0x286342391d7216535467b16c1b58e911c45f6ced03b81c814ef9d177ae8d51d54064475577 days 9 hrs ago0x23c2c34f38ce66ccc10e71e9bb2a06532d52c5e90x8f493c12c4f5ff5fd510549e1e28ea3dd101e8500.5 Ether
0x8c2f5ee5be56dc1919c077edd362bbf3f5d51c65006fc2fdaf92fd0f5979ad7c4064431577 days 9 hrs ago0xa0dbdadcbcc540be9bf4e9a812035eb1289dad73  Contract Creation0 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;
        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
606060405260405161163038038061163083398101604052805160805160a05191909201919082826000825182603282118061003a57508181115b80610043575080155b8061004c575081155b1561005657610002565b600092505b84518310156100ce576002600050600086858151811015610002576020908102909101810151600160a060020a031682528101919091526040016000205460ff16806100c45750848381518110156100025790602001906020020151600160a060020a03166000145b1561015357610002565b845160038054828255600082905290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b918201916020890182156101cd579160200282015b828111156101cd5782518254600160a060020a0319166c0100000000000000000000000091820291909104178255602090920191600190910190610114565b600160026000506000878681518110156100025790602001906020020151600160a060020a0316815260200190815260200160002060006101000a81548160ff02191690837f010000000000000000000000000000000000000000000000000000000000000090810204021790555060019092019161005b565b506101f39291505b80821115610213578054600160a060020a03191681556001016101d5565b505050600492909255505050600655506114199050806102176000396000f35b509056606060405236156101325760e060020a6000350463025e7c278114610180578063173825d9146101b257806320ea8d86146101df5780632f54bf6e146102135780633411c81c146102335780634bc9fdc214610260578063547415251461028357806367eeba0c146102f75780636b0c932d146103055780637065cb4814610313578063784547a71461033e5780638b51d13f1461034e5780639ace38c2146103c2578063a0e67e2b146103fd578063a8abe69a1461046e578063b5dc40c31461054d578063b77bf60014610659578063ba51a6df14610667578063c01a8c8414610693578063c6427474146106a3578063cea0862114610714578063d74f8edd1461073f578063dc8452cd1461074c578063e20056e61461075a578063ee22610b1461078a578063f059cf2b1461079a575b6107a8600034111561017e57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b565b34610002576107aa60043560038054829081101561000257600091825260209091200154600160a060020a0316905081565b34610002576107a8600435600030600160a060020a031633600160a060020a0316141515610a1a57610002565b34610002576107a8600435600160a060020a033390811660009081526002602052604090205460ff161515610c5f57610002565b34610002576107c660043560026020526000908152604090205460ff1681565b34610002576001602090815260043560009081526040808220909252602435815220546107c69060ff1681565b34610002576107da6007546000906201518001421115610d0f5750600654610d18565b34610002576107da6004356024356000805b600554811015610d1b578380156102be575060008181526020819052604090206003015460ff16155b806102e257508280156102e2575060008181526020819052604090206003015460ff165b156102ef57600191909101905b600101610295565b34610002576107da60065481565b34610002576107da60075481565b34610002576107a860043530600160a060020a031633600160a060020a0316141515610d2257610002565b34610002576107c6600435610801565b34610002576107da6004356000805b600354811015610e52576000838152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156103ba57600191909101905b60010161035d565b34610002576000602081905260043581526040902080546001820154600383015461087993600160a060020a03909316926002019060ff1684565b346100025760408051602080820183526000825260038054845181840281018401909552808552610923949283018282801561046257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610444575b50505050509050610d18565b34610002576109236004356024356044356064356040805160208181018352600080835283519182018452808252600554935192939192909182918059106104b35750595b9080825280602002602001820160405280156104ca575b509250600091508190505b600554811015610e58578580156104fe575060008181526020819052604090206003015460ff16155b806105225750848015610522575060008181526020819052604090206003015460ff165b156105455780838381518110156100025760209081029091010152600191909101905b6001016104d5565b34610002576109236004356040805160208181018352600080835283519182018452808252600354935192939192909182918059106105895750595b9080825280602002602001820160405280156105a0575b509250600091508190505b600354811015610ecd576000858152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561065157600380548290811015610002576000918252602090912001548351600160a060020a03909116908490849081101561000257600160a060020a03909216602092830290910190910152600191909101905b6001016105ab565b34610002576107da60055481565b34610002576107a86004355b30600160a060020a031633600160a060020a0316141515610f4957610002565b34610002576107a8600435610974565b3461000257604080516020600460443581810135601f81018490048402850184019095528484526107da948235946024803595606494929391909201918190840183828082843750949650505050505050600061096d848484600083600160a060020a0381161515610b6157610002565b34610002576107a860043530600160a060020a031633600160a060020a031614151561101457610002565b34610002576107da603281565b34610002576107da60045481565b34610002576107a8600435602435600030600160a060020a031633600160a060020a031614151561104f57610002565b34610002576107a86004356109f7565b34610002576107da60085481565b005b60408051600160a060020a039092168252519081900360200190f35b604080519115158252519081900360200190f35b60408051918252519081900360200190f35b600084815260208190526040902092506111c2845b600080805b600354811015610872576000848152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561086357600191909101905b600454821415610e4a57600192505b5050919050565b60408051600160a060020a03861681526020810185905282151560608201526080918101828152845460026000196101006001841615020190911604928201839052909160a0830190859080156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b50509550505050505060405180910390f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600302600f01f1509050019250505060405180910390f35b905061100d815b33600160a060020a03811660009081526002602052604090205460ff161515610fb457610002565b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610ce6855b6000818152602081905260408120600301548190839060ff16156107ec57610002565b600160a060020a038216600090815260026020526040902054829060ff161515610a4357610002565b600160a060020a0383166000908152600260205260408120805460ff1916905591505b60035460001901821015610b085782600160a060020a0316600360005083815481101561000257600091825260209091200154600160a060020a03161415610b3857600380546000198101908110156100025760009182526020909120015460038054600160a060020a039092169184908110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600380546000198101808355919082908015829011610b4357600083815260209020610b43918101908301610c0e565b600190910190610a66565b505060035460045411159150610c26905057600354610c2690610673565b60055460408051608081018252878152602080820188815282840188815260006060850181905286815280845294852084518154606060020a91820291909104600160a060020a031990911617815591516001808401919091559051805160028085018054818a5298879020999b5096989497601f9481161561010002600019011604830185900484019490939291019083901061137e57805160ff19168380011785555b506113ae9291505b80821115610c225760008155600101610c0e565b5090565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff161515610cee57610002565b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35b505b50505050565b600084815260208190526040902060030154849060ff1615610c9457610002565b50600854600654035b90565b5092915050565b600160a060020a038116600090815260026020526040902054819060ff1615610d4a57610002565b81600160a060020a0381161515610d6057610002565b6003546004546001909101906032821180610d7a57508181115b80610d83575080155b80610d8c575081155b15610d9657610002565b600160a060020a0385166000908152600260205260409020805460ff19166001908117909155600380549182018082559091908281838015829011610dec57600083815260209020610dec918101908301610c0e565b50505060009283525060208220018054600160a060020a031916606060020a88810204179055604051600160a060020a038716917ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d91a25050505050565b600101610806565b50919050565b878703604051805910610e685750595b908082528060200260200182016040528015610e7f575b5093508790505b86811015610ec2578281815181101561000257906020019060200201518489830381518110156100025760209081029091010152600101610e86565b505050949350505050565b81604051805910610edb5750595b908082528060200260200182016040528015610ef2575b509350600090505b81811015610f41578281815181101561000257906020019060200201518482815181101561000257600160a060020a03909216602092830290910190910152600101610efa565b505050919050565b600354816032821180610f5b57508181115b80610f64575080155b80610f6d575081155b15610f7757610002565b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b6000828152602081905260409020548290600160a060020a03161515610fd957610002565b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561099c57610002565b9392505050565b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b600160a060020a038316600090815260026020526040902054839060ff16151561107857610002565b600160a060020a038316600090815260026020526040902054839060ff16156110a057610002565b600092505b60035483101561111d5784600160a060020a0316600360005084815481101561000257600091825260209091200154600160a060020a031614156111b7578360036000508481548110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6001909201916110a5565b9150818061123157506002808401546000196101006001831615020116041580156112315750600183015461123190600754600090620151800142111561120d574260075560006008555b600654600854830111806112245750600854828101105b1561141057506000611414565b15610ce85760038301805460ff1916600117905581151561125b5760018301546008805490910190555b825460018085015460405160028088018054600160a060020a039096169593949093839285926000199083161561010002019091160480156112de5780601f106112b3576101008083540402835291602001916112de565b820191906000526020600020905b8154815290600101906020018083116112c157829003601f168201915b505091505060006040518083038185876185025a03f1925050501561132d5760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2610ce8565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515610ce8575050600101546008805491909103905550565b82800160010185558215610c06579182015b82811115610c06578251826000505591602001919060010190611390565b5050606091909101516003909101805460ff191660f860020a9283029290920491909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b5060015b91905056000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000085e6ecb2b3511bffe4edf4cd3b00caf3802702e100000000000000000000000000a245706741d7949c82356ef9955dd3f7bfc21700000000000000000000000028bbf0ef519f72cafea000eaf64ed679dbdda738

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.