Sponsored Link:   Alt.Estate - ERC20 for Real Estate. Live Prototype in Japan, USA, EU.Buy ALT tokens. Endorsed by partners of PWC, Knight Frank.
 Latest 25 txns from a total Of 48 transactions
View All

TxHash Age From To Value [TxFee]
0x4a65aa33007b7bbf6746dd6fa274958dc56cb402c98be1a53dd5ff0efe48f35c16 days 14 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af7619.29595828 Ether0.00110593
0x54fb4a1d7c2045033a6cccaa77e22a446ea2353b84d5e152b152be72477c3a3917 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af72,581.75787728 Ether0.00110593
0x033600d791568c5ea6494eb349e19ddaee317898c9a25c6f201d8ea5ac622ead18 days 15 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af72,629.78142077 Ether0.00110593
0x99f531c45447d506ab75c7bd0f616968fc6c492f78d78e193234ecaf90fc34eb19 days 12 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,117.48356406 Ether0.00110593
0x091924d9031cca8a8ebdacff5a631c576aadc83766c1a96170ec5ce957235a2722 days 12 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af72,885.71428571 Ether0.00110593
0xa8d85d77a08a426647bd218a9a5754f69de75d2078260c30ec4c144069bb3de823 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,118.38047996 Ether0.00110593
0xa2ed5879f04eda6a97f56501fb8b5e26a85d07c36e53dd98268d143b79c35f4724 days 14 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,441.41488578 Ether0.00110593
0xbcd8c44ef9da691824f64e6bad76fcc70df449e83cdce788e95daa2f84ce383624 days 18 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,526.6551706 Ether0.00110593
0x4da08197203c49134025d52485f1015c6d1325ba8ad9848665a878b744aefd8f26 days 12 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af72,289.70588235 Ether0.0011285
0x87a7aea1ba5972f51191cb679c4dd3ccedec864019eec890c1cad1eaab4a9d7126 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af71,135.96491228 Ether0.0011285
0xee52b9e39758a26bf26b45ca68c0c0e5ff0444103a529a4797d08a05fc13553229 days 19 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,688.33308297 Ether0.0011285
0x1d960dbf3a81ec01b937cc3b04e4e5cd7236f38517826131b637be844fd04c7231 days 8 hrs ago0x70341461e043f4bf14c70018ff25efb0a7dfeb64  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.000996915
0x62a114c2ec429742b5e1ca06a387eb5f6c0ff5fa45fc4009b8828d5d3b92ef1f31 days 14 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,734.05211141 Ether0.0011285
0xe08427a5781a04d20061d2c6f5e2e434943b962b580a5269d26c1c7b222f226032 days 14 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af73,303.70266927 Ether0.0011285
0x91da2cb807be5ba66527e2f798ef9f70fe2ace01c3b910110cd740b44cef29a133 days 12 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af72,431.73617503 Ether0.0011285
0x3467c1bd56fafb45420ea00c3d09a168b2aa59995371413394fa7f7378550c6236 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af71,318.6440678 Ether0.0011285
0xcdff4f4d13e51aa33f01870acd93c4b24d8adb678c5536d9d96b210835178c9f36 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af71,344.68085106 Ether0.0011285
0xc22c2492280f141065626ac9db060f603ee644879bad8ff5bc995714f4b164a037 days 13 hrs ago0x435891f5515ba3a5fe0e3f048f769ab7a0d30ea4  IN   0x74fea5583d51dc763a303609f4164b929e454af71,420.10771993 Ether0.0011285
0x445504c2c3fca3d75788a9bd0a9868743113e1861c67310d46fddc1c6291e8e550 days 18 hrs ago0xa6e70441f56c8b042635a20126b3334ffc4d871d  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.00045182
0x6903c1a34d770e89a28c88c7fd76eabe25d623bfe23b6638271e8e73b9ca250350 days 18 hrs ago0xf8e255f2c9fa400ad2d31a23c22440edc618a97e  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.000121678
0x9ef24576d8563610b8e631d466ea72351ad98038e3add204330cf720a4de6a6e50 days 18 hrs ago0x84bf430d717a16796bdf044726130d45eb66f532  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.00012165
0xc61587a9ea9c7fa6043ddbece42ae5d5afd9201de79e10c1ea0698904877856650 days 18 hrs ago0xa6e70441f56c8b042635a20126b3334ffc4d871d  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.000113345
0xd2e7eaa7830a23fff65f981f5c74face60f4fe2c1415d8160fbc8995d7f5c67350 days 18 hrs ago0x95590c1209883843f86a11f2a06277cbbf4f77e7  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.001581086
0x02b358749d8a7185a9eaab0d26c4df0828441cb7e4a0de15dbd3d777de304c1750 days 18 hrs ago0x5f6e9998882e599b735aaad6f31d6fa0baf0dae2  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.000121594
0x51e1d5e7f542af22b9484799dc77d9b3aeb0a2f4dce8a81daa5bc85e5c24f05550 days 18 hrs ago0x4569b504a2aa81e4aaf1141192cb32a1f2e0dafa  IN   0x74fea5583d51dc763a303609f4164b929e454af70 Ether0.000272782
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0x445504c2c3fca3d75788a9bd0a9868743113e1861c67310d46fddc1c6291e8e5539176950 days 18 hrs ago0x74fea5583d51dc763a303609f4164b929e454af70x4569b504a2aa81e4aaf1141192cb32a1f2e0dafa0.01 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: MultiSigWallet
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.18;


/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
/// @author Stefan George - <[email protected]>
contract MultiSigWallet {

    /*
     *  Events
     */
    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);

    /*
     *  Constants
     */
    uint constant public MAX_OWNER_COUNT = 50;

    /*
     *  Storage
     */
    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;
    }

    /*
     *  Modifiers
     */
    modifier onlyWallet() {
        require(msg.sender == address(this));
        _;
    }

    modifier ownerDoesNotExist(address owner) {
        require(!isOwner[owner]);
        _;
    }

    modifier ownerExists(address owner) {
        require(isOwner[owner]);
        _;
    }

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

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

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

    modifier notExecuted(uint transactionId) {
        require(!transactions[transactionId].executed);
        _;
    }

    modifier notNull(address _address) {
        require(_address != 0);
        _;
    }

    modifier validRequirement(uint ownerCount, uint _required) {
        require(ownerCount <= MAX_OWNER_COUNT
            && _required <= ownerCount
            && _required != 0
            && ownerCount != 0);
        _;
    }

    /// @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++) {
            require(!isOwner[_owners[i]] && _owners[i] != 0);
            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 newOwner 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
        ownerExists(msg.sender)
        confirmed(transactionId, msg.sender)
        notExecuted(transactionId)
    {
        if (isConfirmed(transactionId)) {
            Transaction storage txn = transactions[transactionId];
            txn.executed = true;
            if (txn.destination.call.value(txn.value)(txn.data))
                Execution(transactionId);
            else {
                ExecutionFailure(transactionId);
                txn.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];
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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
606060405234156200001057600080fd5b604051620016ba380380620016ba83398101604052808051820191906020018051915060009050825182603282111580156200004c5750818111155b80156200005857508015155b80156200006457508115155b15156200007057600080fd5b600092505b84518310156200014157600260008685815181106200009057fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16158015620000e35750848381518110620000cd57fe5b90602001906020020151600160a060020a031615155b1515620000ef57600080fd5b6001600260008786815181106200010257fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001929092019162000075565b60038580516200015692916020019062000168565b50505060049190915550620001fe9050565b828054828255906000526020600020908101928215620001c2579160200282015b82811115620001c25782518254600160a060020a031916600160a060020a03919091161782556020929092019160019091019062000189565b50620001d0929150620001d4565b5090565b620001fb91905b80821115620001d0578054600160a060020a0319168155600101620001db565b90565b6114ac806200020e6000396000f30060606040526004361061011c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c278114610165578063173825d91461019757806320ea8d86146101b65780632f54bf6e146101cc5780633411c81c146101ff57806354741525146102215780637065cb4814610250578063784547a71461026f5780638b51d13f146102855780639ace38c21461029b578063a0e67e2b1461035a578063a8abe69a146103c0578063b5dc40c3146103e3578063b77bf600146103f9578063ba51a6df1461040c578063c01a8c8414610422578063c642747414610438578063d74f8edd1461049d578063dc8452cd146104b0578063e20056e6146104c3578063ee22610b146104e8575b60003411156101635733600160a060020a03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3460405190815260200160405180910390a25b005b341561017057600080fd5b61017b6004356104fe565b604051600160a060020a03909116815260200160405180910390f35b34156101a257600080fd5b610163600160a060020a0360043516610526565b34156101c157600080fd5b6101636004356106bb565b34156101d757600080fd5b6101eb600160a060020a0360043516610799565b604051901515815260200160405180910390f35b341561020a57600080fd5b6101eb600435600160a060020a03602435166107ae565b341561022c57600080fd5b61023e600435151560243515156107ce565b60405190815260200160405180910390f35b341561025b57600080fd5b610163600160a060020a036004351661083a565b341561027a57600080fd5b6101eb600435610976565b341561029057600080fd5b61023e6004356109fa565b34156102a657600080fd5b6102b1600435610a69565b604051600160a060020a03851681526020810184905281151560608201526080604082018181528454600260001961010060018416150201909116049183018290529060a0830190859080156103485780601f1061031d57610100808354040283529160200191610348565b820191906000526020600020905b81548152906001019060200180831161032b57829003601f168201915b50509550505050505060405180910390f35b341561036557600080fd5b61036d610a9d565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103ac578082015183820152602001610394565b505050509050019250505060405180910390f35b34156103cb57600080fd5b61036d60043560243560443515156064351515610b06565b34156103ee57600080fd5b61036d600435610c2e565b341561040457600080fd5b61023e610d92565b341561041757600080fd5b610163600435610d98565b341561042d57600080fd5b610163600435610e2b565b341561044357600080fd5b61023e60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f1995505050505050565b34156104a857600080fd5b61023e610f38565b34156104bb57600080fd5b61023e610f3d565b34156104ce57600080fd5b610163600160a060020a0360043581169060243516610f43565b34156104f357600080fd5b6101636004356110f1565b600380548290811061050c57fe5b600091825260209091200154600160a060020a0316905081565b600030600160a060020a031633600160a060020a031614151561054857600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561057157600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106545782600160a060020a03166003838154811015156105bb57fe5b600091825260209091200154600160a060020a03161415610649576003805460001981019081106105e857fe5b60009182526020909120015460038054600160a060020a03909216918490811061060e57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610654565b600190910190610594565b60038054600019019061066790826113ad565b5060035460045411156106805760035461068090610d98565b82600160a060020a03167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600160a060020a03811660009081526002602052604090205460ff1615156106e357600080fd5b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff16151561071857600080fd5b600084815260208190526040902060030154849060ff161561073957600080fd5b6000858152600160209081526040808320600160a060020a033316808552925291829020805460ff1916905586917ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9905160405180910390a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000805b600554811015610833578380156107fb575060008181526020819052604090206003015460ff16155b8061081f575082801561081f575060008181526020819052604090206003015460ff165b1561082b576001820191505b6001016107d2565b5092915050565b30600160a060020a031633600160a060020a031614151561085a57600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561088257600080fd5b81600160a060020a038116151561089857600080fd5b600380549050600101600454603282111580156108b55750818111155b80156108c057508015155b80156108cb57508115155b15156108d657600080fd5b600160a060020a0385166000908152600260205260409020805460ff19166001908117909155600380549091810161090e83826113ad565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0387169081179091557ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b600080805b6003548110156109f357600084815260016020526040812060038054919291849081106109a457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156109d8576001820191505b6004548214156109eb57600192506109f3565b60010161097b565b5050919050565b6000805b600354811015610a635760008381526001602052604081206003805491929184908110610a2757fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a5b576001820191505b6001016109fe565b50919050565b6000602081905290815260409020805460018201546003830154600160a060020a0390921692909160029091019060ff1684565b610aa56113d6565b6003805480602002602001604051908101604052809291908181526020018280548015610afb57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610add575b505050505090505b90565b610b0e6113d6565b610b166113d6565b600080600554604051805910610b295750595b9080825280602002602001820160405250925060009150600090505b600554811015610bbe57858015610b6e575060008181526020819052604090206003015460ff16155b80610b925750848015610b92575060008181526020819052604090206003015460ff165b15610bb65780838381518110610ba457fe5b60209081029091010152600191909101905b600101610b45565b878703604051805910610bce5750595b908082528060200260200182016040525093508790505b86811015610c2357828181518110610bf957fe5b906020019060200201518489830381518110610c1157fe5b60209081029091010152600101610be5565b505050949350505050565b610c366113d6565b610c3e6113d6565b6003546000908190604051805910610c535750595b9080825280602002602001820160405250925060009150600090505b600354811015610d1b5760008581526001602052604081206003805491929184908110610c9857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610d13576003805482908110610cd357fe5b600091825260209091200154600160a060020a0316838381518110610cf457fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610c6f565b81604051805910610d295750595b90808252806020026020018201604052509350600090505b81811015610d8a57828181518110610d5557fe5b90602001906020020151848281518110610d6b57fe5b600160a060020a03909216602092830290910190910152600101610d41565b505050919050565b60055481565b30600160a060020a031633600160a060020a0316141515610db857600080fd5b6003548160328211801590610dcd5750818111155b8015610dd857508015155b8015610de357508115155b1515610dee57600080fd5b60048390557fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a8360405190815260200160405180910390a1505050565b33600160a060020a03811660009081526002602052604090205460ff161515610e5357600080fd5b6000828152602081905260409020548290600160a060020a03161515610e7857600080fd5b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff1615610eac57600080fd5b6000858152600160208181526040808420600160a060020a033316808652925292839020805460ff191690921790915586917f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef905160405180910390a3610f12856110f1565b5050505050565b6000610f268484846112b0565b9050610f3181610e2b565b9392505050565b603281565b60045481565b600030600160a060020a031633600160a060020a0316141515610f6557600080fd5b600160a060020a038316600090815260026020526040902054839060ff161515610f8e57600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615610fb657600080fd5b600092505b60035483101561104f5784600160a060020a0316600384815481101515610fde57fe5b600091825260209091200154600160a060020a03161415611044578360038481548110151561100957fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905561104f565b600190920191610fbb565b600160a060020a03808616600081815260026020526040808220805460ff199081169091559388168252908190208054909316600117909255907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90905160405180910390a283600160a060020a03167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b33600160a060020a03811660009081526002602052604081205490919060ff16151561111c57600080fd5b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff16151561115157600080fd5b600085815260208190526040902060030154859060ff161561117257600080fd5b61117b86610976565b156112a8576000868152602081905260409081902060038101805460ff19166001908117909155815490820154919750600160a060020a031691600288019051808280546001816001161561010002031660029004801561121d5780601f106111f25761010080835404028352916020019161121d565b820191906000526020600020905b81548152906001019060200180831161120057829003601f168201915b505091505060006040518083038185876187965a03f1925050501561126e57857f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a26112a8565b857f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260038501805460ff191690555b505050505050565b600083600160a060020a03811615156112c857600080fd5b600554915060806040519081016040908152600160a060020a0387168252602080830187905281830186905260006060840181905285815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151816002019080516113539291602001906113e8565b506060820151600391909101805460ff191691151591909117905550600580546001019055817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b8154818355818115116113d1576000838152602090206113d1918101908301611466565b505050565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061142957805160ff1916838001178555611456565b82800160010185558215611456579182015b8281111561145657825182559160200191906001019061143b565b50611462929150611466565b5090565b610b0391905b80821115611462576000815560010161146c5600a165627a7a723058201b0b89db85e9e518b4595191c4f5b3d87dfa1b5b20a81bc60aa62308df9dd5780029000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dab957146f8f80ae82521a350d1c84b1ed47ed6f

    Constructor Arguments (ABI-encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dAb957146f8f80aE82521A350d1C84B1Ed47ED6f

-----Decoded View---------------
Found 4 constructor arguments :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [3] : 000000000000000000000000dAb957146f8f80aE82521A350d1C84B1Ed47ED6f


   Swarm Source:
bzzr://1b0b89db85e9e518b4595191c4f5b3d87dfa1b5b20a81bc60aa62308df9dd578

 

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.