Sponsored Link:  Up to 2% Cryptocurrency Cashback - Reserve your card - Monaco App - www.mona.co
  Latest 25 txns from a total Of 295 transactions View All

TxHash Age From To Value [TxFee]
0x8c3ba7977b02a33417ae7f8057f514d9f3d58be8ca661c8016a280dc50e523da4 days 14 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.001706712
0x8901babb71c97826c843e82929c367b34a5e345f5de3e58996ba7b5243266fe04 days 14 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.00325662
0x276cfebff752e75efe3468a85458e909bf27bef9eecbfe74812ce520adced7a44 days 15 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.007539014
0x096c8d358ad6dfd346b1dcfd3d9a82360da943685dc3c6588b3c0aaf12fe73fb5 days 4 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.00628212
0x65b9a1d9169dc9ee43b757c271b4e23bfc1391577b97ca598689381f0ea349245 days 4 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.001139817
0x5a408a0859f0c1a517f85c1c856c39e17ed544f9a14e01c1721d6c7ba7b0c5ba5 days 4 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.008112228
0xcadd30bbd329eacb6024be775e6991cf73016320db10405cc8a4414e3504a5565 days 7 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.001846404
0x9329a2b08faddade4a3729f1fc2be491c9c6cb5313ddd35e4d67f1929c28562e6 days 14 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.00102924
0xc40f37cfd003a81d2f9d78a70e0bbdfb62b8346aa4cb86ec0094fe34eb73af476 days 14 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.003093836
0x8592bb258d9cf93ff68ffc9c0a1d4abb0751f38e938a9ed94016ac53af6056da6 days 14 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.003093836
0x6067a588aec3d2981da49a52c292c55eaa7280b087974fce4297608442d1a0976 days 16 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.01056756
0x5474b6462de4f303347e9f008145ef381ce733819adf26dbee626591c9b993256 days 16 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.003695958
0xfb117727412f03a6eb2c9ef5526a2ae7600a949bd8023d7d0d1934eb0d6ae1007 days 4 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.001673742
0x8053c9171681089ae03e94ff5ec773c022d828c47f006329567ccb3399cb40cc7 days 4 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.001139817
0x7f47102f3d6fed72a935a8fa78806bb77927a577dbf09398a9b2005e517519477 days 4 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.00779514
0xe54d6b4aa88c6e924070a5f1bd1456f68046a3c08aa6874e4557148cd6551f137 days 5 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.00478212
0xbfaa7e9be72d2055eab962c419567ea3c32ad41ee0b7ff610eccef11590d6c387 days 5 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.001139817
0xfe2eab01a6d0534aa4fcc19d15a49f29a8164d3115823fc629673c5b5359ee4a7 days 5 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.00839196
0x2a26f65dc14280f336a8c816ba62b288203e76b8f35bd8ec5595097258c880f818 days 13 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.00087924
0x36414f847d88bf474a005d6f6eb2b86130d40172354a4cb46de1aab94d73ed3018 days 13 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.001120182
0x37602681aec53e1bde470fc0b178cfea7cd8be314c06150b6f3886d448c0f6ec18 days 14 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.004841705
0x06ccf550b964b99b646a5f8f8e31a1a8cfea6b066fba6f1a950e34a517b2492518 days 14 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.00040942
0x8cb24e0c80113248c64dce27e7eb0052c157c7f59533b8321cb914c5b7f1cb2b18 days 14 hrs ago0xd0643bc0d0c879f175556509dbcee9373379d5c3  IN   KyberMultiSigWallet0 Ether0.0020430616
0x43edc0c435724511d45aabfd87a5ce20097f5d582430ea4372d5ee040d16324f21 days 12 hrs ago0x8180a5ca4e3b94045e05a9313777955f7518d757  IN   KyberMultiSigWallet0 Ether0.001673742
0x2e7aa40f224492004275af65f6371c0c225c4e498dbdabfae6d7fbb2467ff32821 days 14 hrs ago0x449baf9413c60cd24a8c1c6010729c84b9d5139b  IN   KyberMultiSigWallet0 Ether0.000217108
[ 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
0x8c3ba7977b02a33417ae7f8057f514d9f3d58be8ca661c8016a280dc50e523da47295334 days 14 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500x942ee4ebaad8a041547afbeb62b006345655e98d134.13276461 Ether
0x096c8d358ad6dfd346b1dcfd3d9a82360da943685dc3c6588b3c0aaf12fe73fb47263735 days 4 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500x20ec5db1cc00cad822eb86f816a101018f1a09f481.638 Ether
0xfb117727412f03a6eb2c9ef5526a2ae7600a949bd8023d7d0d1934eb0d6ae10047148087 days 4 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500x29420cf6666ebeb355505f7f7135745099bca7af336.078 Ether
0xe54d6b4aa88c6e924070a5f1bd1456f68046a3c08aa6874e4557148cd6551f1347147547 days 5 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500x29420cf6666ebeb355505f7f7135745099bca7af1 Ether
0x43edc0c435724511d45aabfd87a5ce20097f5d582430ea4372d5ee040d16324f463050621 days 12 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500x2c840d94dcf091b87fd63db7eb0885d9ca4b5f79127.66 Ether
0x0d4cec282942fc989cc4698d8083e5b53b79ffdc0b2b3e90d9d03df7a06db19c458938028 days 3 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500xe2bb2a43fccfdc868e82a304e28660a022ea5078281.135788586 Ether
0x0bbca7a95ecb92155d69f48cab15874463b48df037245b0d3bf32effac9edc1f455737633 days 7 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500xec9eee3664a20bab4c07c07c327bf5ac2493d63b200 Ether
0x9c1c8430b2f4f3547e85318f124a8572812d6b96884d80f4224365516f05c8e7454546435 days 5 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500xf6efbb53ce2a8c493c3d651b61c413bc52dc87f3327.2104 Ether
0x9b82f880a1d2b2cc9362cdd12d3b755c481425b7111eec1b8b15326ef7f29d83431091784 days 3 hrs ago0x94133870506af5d0644f41a2ee62cc387b81135e0x3eb01b3391ea15ce752d01cf3d3f09dec596f65014.9991868 Ether
0x8583075c4e15eee6660e8eeb66cf9cb1cf3601d52708f8d83bc89ec678f36c22431089884 days 3 hrs ago0x3eb01b3391ea15ce752d01cf3d3f09dec596f6500xbf6ac42a910327f8734297240c8be6c85893c46f14.9991868 Ether
0xc4b7ef4810885b68d6f7bc484545f3b7b01acedd3817b5e6ad2be45c164a16c2427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f650298 Ether
0xe278758d6ea02f881fd976d236d0078f972783c8f69f38c495ec506b52176377427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f650500 Ether
0xa374b0be32d23ff7c408f70d716ddf246e2a973cdadb584dc628b767fa368a2b427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65019 Ether
0xa47654ff5aac3fb49a6fa724c95d9210374bd74355b1f1b51886cf0174bed480427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f650500 Ether
0x2a66732c21c76483d90d9b30db0d9005cd61ca3e4fd332cdd21a582995c412d0427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65030 Ether
0x02622042dfa45d4d136f1bff623adb184b313764def051bb5a12c44a90a4813d427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f6500.5 Ether
0xef7ea61103804ec33a20ac55e329665f737a06997fe5a5f1e937af359780ec34427941093 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f6501 Ether
0x4623f77e5538a1a25db5c27d6207623ef10f1531741b062bd87d8924675a2bdc427940993 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f6503 Ether
0x478242c93c28cda12c227fdb9a5a0d13bdb41ac79be96779cca909125722f747427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65023 Ether
0x16b15f7c625a15f6e7fbf637cfdab7c62729ae26827462faee7bef49581c2e8e427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65029.78 Ether
0x79d0d3c3c7eeeee7ea03a143cc0ea6943644086d7313460cd94275a6f5d7a892427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65015 Ether
0x4de981293aeb2929bced95a472815113f05e41c68f827404fe63561bb23530c6427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65051.388649399999 Ether
0xcb3383656859972eca9f1102e9979b19d3438f524161202cd4509d54ee9fce41427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f650202 Ether
0x28fc87455d493f5bec18b4cb009f357b558d05c3c306af2c741f9b6cce690ab8427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f6509 Ether
0x6aaa89d6d24adfa229c8910c8ea82d839da632c46ab3980c137cc82faf55603a427940793 days 13 hrs ago0xd6cd31f283d24cfb442cba1bcf42290c07c157920x3eb01b3391ea15ce752d01cf3d3f09dec596f65010 Ether
[ Download CSV Export  ] 
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 - <[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 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.