ETH Price: $3,106.78 (+1.85%)
Gas: 15 Gwei

Contract

0x012233B3C8177F0778d910ED88170b82DE3bfe57
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Start Auctions A...37549262017-05-23 15:16:322522 days ago1495552592IN
0x012233B3...2DE3bfe57
0.013 ETH0.01320
Unseal Bid37081672017-05-15 0:32:542531 days ago1494808374IN
0x012233B3...2DE3bfe57
0 ETH0.0005620
Unseal Bid35068232017-04-09 20:08:282566 days ago1491768508IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35068232017-04-09 20:08:282566 days ago1491768508IN
0x012233B3...2DE3bfe57
0 ETH0.0016201220
Unseal Bid35068162017-04-09 20:07:102566 days ago1491768430IN
0x012233B3...2DE3bfe57
0 ETH0.0023118620
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.0016201220
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056492017-04-09 15:19:162566 days ago1491751156IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.001621420
Unseal Bid35056172017-04-09 15:11:422566 days ago1491750702IN
0x012233B3...2DE3bfe57
0 ETH0.0016201220
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
1 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
2 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
0.012 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
0.012 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
0.012 ETH
33498612017-03-14 11:20:482593 days ago1489490448
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
0.012 ETH
33498602017-03-14 11:20:442593 days ago1489490444
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498572017-03-14 11:20:072593 days ago1489490407
0x012233B3...2DE3bfe57
0.012 ETH
33498572017-03-14 11:20:072593 days ago1489490407
0x012233B3...2DE3bfe57
 Contract Creation0 ETH
33498572017-03-14 11:20:072593 days ago1489490407
0x012233B3...2DE3bfe57
0.012 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Registrar

Compiler Version
v0.4.9+commit.364da425

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-03-11
*/

pragma solidity ^0.4.0;


/*

Temporary Hash Registrar 
========================

This is a simplified version of a hash registrar. It is purporsefully limited:
names cannot be six letters or shorter, new auctions will stop after 4 years
and all ether still locked after 8 years will become unreachable.

The plan is to test the basic features and then move to a new contract in at most
2 years, when some sort of renewal mechanism will be enabled.
*/


contract AbstractENS {
    function owner(bytes32 node) constant returns(address);
    function resolver(bytes32 node) constant returns(address);
    function ttl(bytes32 node) constant returns(uint64);
    function setOwner(bytes32 node, address owner);
    function setSubnodeOwner(bytes32 node, bytes32 label, address owner);
    function setResolver(bytes32 node, address resolver);
    function setTTL(bytes32 node, uint64 ttl);

    event Transfer(bytes32 indexed node, address owner);
    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);
    event NewResolver(bytes32 indexed node, address resolver);
    event NewTTL(bytes32 indexed node, uint64 ttl);
}

/**
 * @title Deed to hold ether in exchange for ownership of a node
 * @dev The deed can be controlled only by the registrar and can only send ether back to the owner.
 */
contract Deed {
    address public registrar;
    address constant burn = 0xdead;
    uint public creationDate;
    address public owner;
    address public previousOwner;
    uint public value;
    event OwnerChanged(address newOwner);
    event DeedClosed();
    bool active;


    modifier onlyRegistrar {
        if (msg.sender != registrar) throw;
        _;
    }

    modifier onlyActive {
        if (!active) throw;
        _;
    }

    function Deed(uint _value) {
        registrar = msg.sender;
        creationDate = now;
        active = true;
        value = _value;
    }
        
    function setOwner(address newOwner) onlyRegistrar {
        // so contracts can check who sent them the ownership
        previousOwner = owner;
        owner = newOwner;
        OwnerChanged(newOwner);
    }

    function setRegistrar(address newRegistrar) onlyRegistrar {
        registrar = newRegistrar;
    }
    
    function setBalance(uint newValue) onlyRegistrar onlyActive payable {
        // Check if it has enough balance to set the value
        if (value < newValue) throw;
        value = newValue;
        // Send the difference to the owner
        if (!owner.send(this.balance - newValue)) throw;
    }

    /**
     * @dev Close a deed and refund a specified fraction of the bid value
     * @param refundRatio The amount*1/1000 to refund
     */
    function closeDeed(uint refundRatio) onlyRegistrar onlyActive {
        active = false;            
        if (! burn.send(((1000 - refundRatio) * this.balance)/1000)) throw;
        DeedClosed();
        destroyDeed();
    }    

    /**
     * @dev Close a deed and refund a specified fraction of the bid value
     */
    function destroyDeed() {
        if (active) throw;
        if(owner.send(this.balance))
            selfdestruct(burn);
    }

    // The default function just receives an amount
    function () payable {}
}

/**
 * @title Registrar
 * @dev The registrar handles the auction process for each subnode of the node it owns.
 */
contract Registrar {
    AbstractENS public ens;
    bytes32 public rootNode;

    mapping (bytes32 => entry) _entries;
    mapping (address => mapping(bytes32 => Deed)) public sealedBids;
    
    enum Mode { Open, Auction, Owned, Forbidden, Reveal }
    uint32 constant auctionLength = 5 days;
    uint32 constant revealPeriod = 48 hours;
    uint32 constant initialAuctionPeriod = 4 weeks;
    uint constant minPrice = 0.01 ether;
    uint public registryStarted;

    event AuctionStarted(bytes32 indexed hash, uint registrationDate);
    event NewBid(bytes32 indexed hash, address indexed bidder, uint deposit);
    event BidRevealed(bytes32 indexed hash, address indexed owner, uint value, uint8 status);
    event HashRegistered(bytes32 indexed hash, address indexed owner, uint value, uint registrationDate);
    event HashReleased(bytes32 indexed hash, uint value);
    event HashInvalidated(bytes32 indexed hash, string indexed name, uint value, uint registrationDate);

    struct entry {
        Deed deed;
        uint registrationDate;
        uint value;
        uint highestBid;
    }

    // State transitions for names:
    //   Open -> Auction (startAuction)
    //   Auction -> Reveal
    //   Reveal -> Owned
    //   Reveal -> Open (if nobody bid)
    //   Owned -> Forbidden (invalidateName)
    //   Owned -> Open (releaseDeed)
    function state(bytes32 _hash) constant returns (Mode) {
        var entry = _entries[_hash];
        if(now < entry.registrationDate) {
            if(now < entry.registrationDate - revealPeriod) {
                return Mode.Auction;
            } else {
                return Mode.Reveal;
            }
        } else {
            if(entry.highestBid == 0) {
                return Mode.Open;
            } else if(entry.deed == Deed(0)) {
                return Mode.Forbidden;
            } else {
                return Mode.Owned;
            }
        }
    }
    
    modifier inState(bytes32 _hash, Mode _state) {
        if(state(_hash) != _state) throw;
        _;
    }

    modifier onlyOwner(bytes32 _hash) {
        if (state(_hash) != Mode.Owned || msg.sender != _entries[_hash].deed.owner()) throw;
        _;
    }
    
    modifier registryOpen() {
        if(now < registryStarted  || now > registryStarted + 4 years) throw;
        _;
    }
    
    function entries(bytes32 _hash) constant returns (Mode, address, uint, uint, uint) {
        entry h = _entries[_hash];
        return (state(_hash), h.deed, h.registrationDate, h.value, h.highestBid);
    }
    
    /**
     * @dev Constructs a new Registrar, with the provided address as the owner of the root node.
     * @param _ens The address of the ENS
     * @param _rootNode The hash of the rootnode.
     */
    function Registrar(address _ens, bytes32 _rootNode, uint _startDate) {
        ens = AbstractENS(_ens);
        rootNode = _rootNode;
        registryStarted = _startDate > 0 ? _startDate : now;
    }

    /**
     * @dev Returns the maximum of two unsigned integers
     * @param a A number to compare
     * @param b A number to compare
     * @return The maximum of two unsigned integers
     */
    function max(uint a, uint b) internal constant returns (uint max) {
        if (a > b)
            return a;
        else
            return b;
    }

    /**
     * @dev Returns the minimum of two unsigned integers
     * @param a A number to compare
     * @param b A number to compare
     * @return The minimum of two unsigned integers
     */
    function min(uint a, uint b) internal constant returns (uint min) {
        if (a < b)
            return a;
        else
            return b;
    }

    /**
     * @dev Returns the length of a given string
     * @param s The string to measure the length of
     * @return The length of the input string
     */
    function strlen(string s) internal constant returns (uint) {
        // Starting here means the LSB will be the byte we care about
        uint ptr;
        uint end;
        assembly {
            ptr := add(s, 1)
            end := add(mload(s), ptr)
        }
        for (uint len = 0; ptr < end; len++) {
            uint8 b;
            assembly { b := and(mload(ptr), 0xFF) }
            if (b < 0x80) {
                ptr += 1;
            } else if(b < 0xE0) {
                ptr += 2;
            } else if(b < 0xF0) {
                ptr += 3;
            } else if(b < 0xF8) {
                ptr += 4;
            } else if(b < 0xFC) {
                ptr += 5;
            } else {
                ptr += 6;
            }
        }
        return len;
    }

    /**
     * @dev Start an auction for an available hash
     * 
     * Anyone can start an auction by sending an array of hashes that they want to bid for. 
     * Arrays are sent so that someone can open up an auction for X dummy hashes when they 
     * are only really interested in bidding for one. This will increase the cost for an 
     * attacker to simply bid blindly on all new auctions. Dummy auctions that are 
     * open but not bid on are closed after a week. 
     *
     * @param _hash The hash to start an auction on
     */    
    function startAuction(bytes32 _hash) inState(_hash, Mode.Open) registryOpen() {
        entry newAuction = _entries[_hash];

        // for the first month of the registry, make longer auctions
        newAuction.registrationDate = max(now + auctionLength, registryStarted + initialAuctionPeriod);
        newAuction.value = 0;
        newAuction.highestBid = 0;
        AuctionStarted(_hash, newAuction.registrationDate);      
    }

    /**
     * @dev Start multiple auctions for better anonymity
     * @param _hashes An array of hashes, at least one of which you presumably want to bid on
     */
    function startAuctions(bytes32[] _hashes)  {
        for (uint i = 0; i < _hashes.length; i ++ ) {
            startAuction(_hashes[i]);
        }
    }
    
    /**
     * @dev Hash the values required for a secret bid
     * @param hash The node corresponding to the desired namehash
     * @param owner The address which will own the 
     * @param value The bid amount
     * @param salt A random value to ensure secrecy of the bid
     * @return The hash of the bid values
     */
    function shaBid(bytes32 hash, address owner, uint value, bytes32 salt) constant returns (bytes32 sealedBid) {
        return sha3(hash, owner, value, salt);
    }
    
    /**
     * @dev Submit a new sealed bid on a desired hash in a blind auction
     * 
     * Bids are sent by sending a message to the main contract with a hash and an amount. The hash 
     * contains information about the bid, including the bidded hash, the bid amount, and a random 
     * salt. Bids are not tied to any one auction until they are revealed. The value of the bid 
     * itself can be masqueraded by sending more than the value of your actual bid. This is 
     * followed by a 24h reveal period. Bids revealed after this period will be burned and the ether unrecoverable. 
     * Since this is an auction, it is expected that most public hashes, like known domains and common dictionary 
     * words, will have multiple bidders pushing the price up. 
     *
     * @param sealedBid A sealedBid, created by the shaBid function
     */
    function newBid(bytes32 sealedBid) payable {
        if (address(sealedBids[msg.sender][sealedBid]) > 0 ) throw;
        if (msg.value < minPrice) throw;
        // creates a new hash contract with the owner
        Deed newBid = new Deed(msg.value);
        sealedBids[msg.sender][sealedBid] = newBid;
        NewBid(sealedBid, msg.sender, msg.value);

        if (!newBid.send(msg.value)) throw;
    } 

    /**
     * @dev Submit the properties of a bid to reveal them
     * @param _hash The node in the sealedBid
     * @param _owner The address in the sealedBid
     * @param _value The bid amount in the sealedBid
     * @param _salt The sale in the sealedBid
     */ 
    function unsealBid(bytes32 _hash, address _owner, uint _value, bytes32 _salt) {
        bytes32 seal = shaBid(_hash, _owner, _value, _salt);
        Deed bid = sealedBids[msg.sender][seal];
        if (address(bid) == 0 ) throw;
        sealedBids[msg.sender][seal] = Deed(0);
        bid.setOwner(_owner);
        entry h = _entries[_hash];
        uint actualValue = min(_value, bid.value());
        bid.setBalance(actualValue);

        var auctionState = state(_hash);
        if(auctionState == Mode.Owned) {
            // Too late! Bidder loses their bid. Get's 0.5% back.
            bid.closeDeed(5);
            BidRevealed(_hash, _owner, actualValue, 1);
        } else if(auctionState != Mode.Reveal) {
            // Invalid phase
            throw;
        } else if (_value < minPrice) {
            // Bid too low, refund 99.5%
            bid.closeDeed(995);
            BidRevealed(_hash, _owner, actualValue, 0);
        } else if (_value > h.highestBid) {
            // new winner
            // cancel the other bid, refund 99.5%
            if(address(h.deed) != 0) {
                Deed previousWinner = h.deed;
                previousWinner.closeDeed(995);
            }
            
            // set new winner
            // per the rules of a vickery auction, the value becomes the previous highestBid
            h.value = h.highestBid;
            h.highestBid = actualValue;
            h.deed = bid;
            BidRevealed(_hash, _owner, actualValue, 2);
        } else if (_value > h.value) {
            // not winner, but affects second place
            h.value = actualValue;
            bid.closeDeed(995);
            BidRevealed(_hash, _owner, actualValue, 3);
        } else {
            // bid doesn't affect auction
            bid.closeDeed(995);
            BidRevealed(_hash, _owner, actualValue, 4);
        }
    }
    
    /**
     * @dev Cancel a bid
     * @param seal The value returned by the shaBid function
     */ 
    function cancelBid(address bidder, bytes32 seal) {
        Deed bid = sealedBids[bidder][seal];
        // If the bid hasn't been revealed after any possible auction date, then close it
        if (address(bid) == 0 
            || now < bid.creationDate() + initialAuctionPeriod 
            || bid.owner() > 0) throw;

        // Send the canceller 0.5% of the bid, and burn the rest.
        bid.setOwner(msg.sender);
        bid.closeDeed(5);
        sealedBids[bidder][seal] = Deed(0);
        BidRevealed(seal, bidder, 0, 5);
    }

    /**
     * @dev Finalize an auction after the registration date has passed
     * @param _hash The hash of the name the auction is for
     */ 
    function finalizeAuction(bytes32 _hash) onlyOwner(_hash) {
        entry h = _entries[_hash];

        h.value =  max(h.value, minPrice);

        // Assign the owner in ENS
        ens.setSubnodeOwner(rootNode, _hash, h.deed.owner());

        Deed deedContract = h.deed;
        deedContract.setBalance(h.value);
        HashRegistered(_hash, deedContract.owner(), h.value, h.registrationDate);
    }

    /**
     * @dev The owner of a domain may transfer it to someone else at any time.
     * @param _hash The node to transfer
     * @param newOwner The address to transfer ownership to
     */
    function transfer(bytes32 _hash, address newOwner) onlyOwner(_hash) {
        entry h = _entries[_hash];
        h.deed.setOwner(newOwner);
        ens.setSubnodeOwner(rootNode, _hash, newOwner);
    }

    /**
     * @dev After some time, the owner can release the property and get their ether back
     * @param _hash The node to release
     */
    function releaseDeed(bytes32 _hash) onlyOwner(_hash) {
        entry h = _entries[_hash];
        Deed deedContract = h.deed;
        if (now < h.registrationDate + 1 years 
            || now > registryStarted + 8 years) throw;

        HashReleased(_hash, h.value);
        
        h.value = 0;
        h.highestBid = 0;
        h.deed = Deed(0);

        ens.setSubnodeOwner(rootNode, _hash, 0);
        deedContract.closeDeed(1000);
    }  

    /**
     * @dev Submit a name 6 characters long or less. If it has been registered, 
     * the submitter will earn 50% of the deed value. We are purposefully
     * handicapping the simplified registrar as a way to force it into being restructured
     * in a few years.
     * @param unhashedName An invalid name to search for in the registry.
     * 
     */
    function invalidateName(string unhashedName) inState(sha3(unhashedName), Mode.Owned) {
        if (strlen(unhashedName) > 6 ) throw;
        bytes32 hash = sha3(unhashedName);
        
        entry h = _entries[hash];
        ens.setSubnodeOwner(rootNode, hash, 0);
        if(address(h.deed) != 0) {
            // Reward the discoverer with 50% of the deed
            // The previous owner gets nothing
            h.deed.setBalance(h.deed.value()/2);
            h.deed.setOwner(msg.sender);
            h.deed.closeDeed(1000);
        }
        HashInvalidated(hash, unhashedName, h.value, h.registrationDate);
        h.deed = Deed(0);
    }

    /**
     * @dev Transfers the deed to the current registrar, if different from this one.
     * Used during the upgrade process to a permanent registrar.
     * @param _hash The name hash to transfer.
     */
    function transferRegistrars(bytes32 _hash) onlyOwner(_hash) {
        var registrar = ens.owner(rootNode);
        if(registrar == address(this))
            throw;

        entry h = _entries[_hash];
        h.deed.setRegistrar(registrar);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"releaseDeed","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"unhashedName","type":"string"}],"name":"invalidateName","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"hash","type":"bytes32"},{"name":"owner","type":"address"},{"name":"value","type":"uint256"},{"name":"salt","type":"bytes32"}],"name":"shaBid","outputs":[{"name":"sealedBid","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"bidder","type":"address"},{"name":"seal","type":"bytes32"}],"name":"cancelBid","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"entries","outputs":[{"name":"","type":"uint8"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ens","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"transferRegistrars","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"sealedBids","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"},{"name":"newOwner","type":"address"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"finalizeAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"registryStarted","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"},{"name":"_owner","type":"address"},{"name":"_value","type":"uint256"},{"name":"_salt","type":"bytes32"}],"name":"unsealBid","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sealedBid","type":"bytes32"}],"name":"newBid","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_hashes","type":"bytes32[]"}],"name":"startAuctions","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"startAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rootNode","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"inputs":[{"name":"_ens","type":"address"},{"name":"_rootNode","type":"bytes32"},{"name":"_startDate","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":false,"name":"registrationDate","type":"uint256"}],"name":"AuctionStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":true,"name":"bidder","type":"address"},{"indexed":false,"name":"deposit","type":"uint256"}],"name":"NewBid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"status","type":"uint8"}],"name":"BidRevealed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"registrationDate","type":"uint256"}],"name":"HashRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":false,"name":"value","type":"uint256"}],"name":"HashReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":true,"name":"name","type":"string"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"registrationDate","type":"uint256"}],"name":"HashInvalidated","type":"event"}]

6060604052341561000c57fe5b6040516060806121068339810160409081528151602083015191909201515b60008054600160a060020a031916600160a060020a038516178155600183905581116100575742610059565b805b6004555b5050505b612096806100706000396000f300606060405236156100d55763ffffffff60e060020a6000350416630230a07c81146100d757806315f73331146100ec57806322ec1244146101445780632525f5c11461017b578063267b69221461019c5780633f15457f146101f75780635ddae283146102235780635e4317091461023857806361d585da1461027357806379ce9fac146102aa578063983b94fb146102cb5780639c67f06f146102e0578063aefc8c7214610302578063ce92dced14610329578063e27fe50f14610336578063ede8acdb1461038b578063faff50a8146103a0575bfe5b34156100df57fe5b6100ea6004356103c2565b005b34156100f457fe5b6100ea600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496506105d895505050505050565b005b341561014c57fe5b610169600435600160a060020a0360243516604435606435610980565b60408051918252519081900360200190f35b341561018357fe5b6100ea600160a060020a03600435166024356109c7565b005b34156101a457fe5b6101af600435610bf7565b604051808660048111156101bf57fe5b60ff168152600160a060020a0390951660208601525060408085019390935260608401919091526080830152519081900360a0019150f35b34156101ff57fe5b610207610c48565b60408051600160a060020a039092168252519081900360200190f35b341561022b57fe5b6100ea600435610c57565b005b341561024057fe5b610207600160a060020a0360043516602435610e34565b60408051600160a060020a039092168252519081900360200190f35b341561027b57fe5b610286600435610e5a565b6040518082600481111561029657fe5b60ff16815260200191505060405180910390f35b34156102b257fe5b6100ea600435600160a060020a0360243516610ed9565b005b34156102d357fe5b6100ea600435611063565b005b34156102e857fe5b61016961133a565b60408051918252519081900360200190f35b341561030a57fe5b6100ea600435600160a060020a0360243516604435606435611340565b005b6100ea600435611861565b005b341561033e57fe5b6100ea60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061197395505050505050565b005b341561039357fe5b6100ea6004356119ad565b005b34156103a857fe5b610169611a6e565b60408051918252519081900360200190f35b6000808260025b6103d282610e5a565b60048111156103dd57fe5b14158061046a575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b151561043d57fe5b60325a03f1151561044a57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b1561047457610000565b600084815260026020526040902080546001820154919450600160a060020a031692506301e13380014210806104b15750600454630f099c000142115b156104bb57610000565b6002830154604080519182525185917f292b79b9246fa2c8e77d3fe195b251f9cb839d7d038e667c069ee7708c631e16919081900360200190a2600060028401819055600384018190558354600160a060020a031916845580546001546040805160e060020a6306ab59230281526004810192909252602482018890526044820184905251600160a060020a03909216926306ab59239260648084019382900301818387803b151561056957fe5b60325a03f1151561057657fe5b50505081600160a060020a031663bbe427716103e86040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b60006000826040518082805190602001908083835b6020831061060c5780518252601f1990920191602091820191016105ed565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209250600291508190505b61064883610e5a565b600481111561065357fe5b1461065d57610000565b600661066886611a74565b111561067357610000565b846040518082805190602001908083835b602083106106a35780518252601f199092019160209182019101610684565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008181526002909252848220825460015460e060020a6306ab5923028652600486015260248501839052604485018490529551919b509950600160a060020a0390941695506306ab59239450606480830194919350909182900301818387803b151561073357fe5b60325a03f1151561074057fe5b50508354600160a060020a03161590506108ca5782546040805160006020918201819052825160e060020a633fa4f2450281529251600160a060020a039094169363fb1669ca936002938693633fa4f245936004808501949192918390030190829087803b15156107ad57fe5b60325a03f115156107ba57fe5b50506040515190508115156107cb57fe5b046040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561080157fe5b60325a03f1151561080e57fe5b505083546040805160e060020a6313af4035028152600160a060020a03338116600483015291519190921692506313af40359160248082019260009290919082900301818387803b151561085e57fe5b60325a03f1151561086b57fe5b505083546040805160e060020a63bbe427710281526103e860048201529051600160a060020a03909216925063bbe4277191602480830192600092919082900301818387803b15156108b957fe5b60325a03f115156108c657fe5b5050505b846040518082805190602001908083835b602083106108fa5780518252601f1990920191602091820191016108db565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060028a015460018b01549084529183019190915283519095508994507f1f9c649fe47e58bb60f4e52f0d90e4c47a526c9f90c5113df842c025970b66ad93918190039091019150a38254600160a060020a03191683555b5b5050505050565b604080518581526c01000000000000000000000000600160a060020a038616026020820152603481018490526054810183905290519081900360740190205b949350505050565b600160a060020a03808316600090815260036020908152604080832085845290915290205416801580610a6057506224ea0063ffffffff1681600160a060020a03166305b344106000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a4557fe5b60325a03f11515610a5257fe5b505050604051805190500142105b80610ad05750600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610aae57fe5b60325a03f11515610abb57fe5b50505060405180519050600160a060020a0316115b15610ada57610000565b80600160a060020a03166313af4035336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b1515610b3157fe5b60325a03f11515610b3e57fe5b50505080600160a060020a031663bbe4277160056040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b1515610b8757fe5b60325a03f11515610b9457fe5b505050600160a060020a038316600081815260036020908152604080832086845282528083208054600160a060020a031916905580519283526005918301919091528051859260008051602061204b83398151915292908290030190a35b505050565b60008181526002602052604081208190819081908190610c1687610e5a565b8154600183015460028401546003850154939950600160a060020a0390921697509550935091505b5091939590929450565b600054600160a060020a031681565b6000808260025b610c6782610e5a565b6004811115610c7257fe5b141580610cff575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b1515610cd257fe5b60325a03f11515610cdf57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b15610d0957610000565b6000805460015460408051602090810185905281517f02571be300000000000000000000000000000000000000000000000000000000815260048101939093529051600160a060020a03909316936302571be3936024808501949192918390030190829087803b1515610d7857fe5b60325a03f11515610d8557fe5b50505060405180519050925030600160a060020a031683600160a060020a03161415610db057610000565b600084815260026020526040808220805482517ffaab9d39000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152935192965092169263faab9d39926024808201939182900301818387803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b6003602090815260009283526040808420909152908252902054600160a060020a031681565b60008181526002602052604081206001810154421015610e9d5760018101546202a2ff1901421015610e8f5760019150610ed0565b60049150610ed0565b610ed0565b60038101541515610eb15760009150610ed0565b8054600160a060020a03161515610ecb5760039150610ed0565b600291505b5b5b5b50919050565b60008260025b610ee882610e5a565b6004811115610ef357fe5b141580610f80575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b1515610f5357fe5b60325a03f11515610f6057fe5b50505060405180519050600160a060020a031633600160a060020a031614155b15610f8a57610000565b6000848152600260205260408082208054825160e060020a6313af4035028152600160a060020a03888116600483015293519296509216926313af4035926024808201939182900301818387803b1515610fe057fe5b60325a03f11515610fed57fe5b5050600080546001546040805160e060020a6306ab5923028152600481019290925260248201899052600160a060020a0388811660448401529051921693506306ab592392606480830193919282900301818387803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b6000808260025b61107382610e5a565b600481111561107e57fe5b14158061110b575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b15156110de57fe5b60325a03f115156110eb57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b1561111557610000565b60008481526002602081905260409091209081015490935061113e90662386f26fc10000611b27565b6002840155600080546001548554604080516020908101869052815160e060020a638da5cb5b0281529151600160a060020a03958616966306ab5923968c951693638da5cb5b93600480830194919391928390030190829087803b15156111a157fe5b60325a03f115156111ae57fe5b505060408051805160e060020a63ffffffff881602825260048201959095526024810193909352600160a060020a039093166044830152509051606480830192600092919082900301818387803b151561120457fe5b60325a03f1151561121157fe5b505083546002850154604080517ffb1669ca000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a03909216945084925063fb1669ca91602480830192600092919082900301818387803b151561127c57fe5b60325a03f1151561128957fe5b50505081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b15156112d257fe5b60325a03f115156112df57fe5b50506040805180516002870154600188015490835260208301528251600160a060020a03909116935087927f0f0c27adfd84b60b6f456b0e87cdccb1e5fb9603991588d87fa99f5b6b61e670928290030190a35b5b50505050565b60045481565b6000600060006000600060006113588a8a8a8a610980565b600160a060020a03338116600090815260036020908152604080832085845290915290205491975016945084151561138f57610000565b600160a060020a0333811660009081526003602090815260408083208a84529091528082208054600160a060020a0319169055805160e060020a6313af40350281528c841660048201529051928816926313af40359260248084019391929182900301818387803b15156113ff57fe5b60325a03f1151561140c57fe5b50505060008a815260026020908152604080832081518301849052815160e060020a633fa4f2450281529151909750611486938c93600160a060020a038b1693633fa4f2459360048083019491928390030190829087803b151561146c57fe5b60325a03f1151561147957fe5b5050604051519050611b42565b925084600160a060020a031663fb1669ca846040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156114cd57fe5b60325a03f115156114da57fe5b5050506114e68a610e5a565b915060025b8260048111156114f757fe5b141561158b5784600160a060020a031663bbe4277160056040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561154357fe5b60325a03f1151561155057fe5b505060408051858152600160208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b60045b82600481111561159a57fe5b146115a457610000565b662386f26fc100008810156116425784600160a060020a031663bbe427716103e36040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156115fa57fe5b60325a03f1151561160757fe5b505060408051858152600060208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b8360030154881115611722578354600160a060020a0316156116bd575082546040805160e060020a63bbe427710281526103e360048201529051600160a060020a0390921691829163bbe4277191602480830192600092919082900301818387803b15156116ac57fe5b60325a03f115156116b957fe5b5050505b600384018054600280870191909155908490558454600160a060020a031916600160a060020a038781169190911786556040805186815260208101939093528051918c16928d9260008051602061204b833981519152929181900390910190a3611850565b83600201548811156117c557600284018390556040805160e060020a63bbe427710281526103e360048201529051600160a060020a0387169163bbe4277191602480830192600092919082900301818387803b151561177d57fe5b60325a03f1151561178a57fe5b505060408051858152600360208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b84600160a060020a031663bbe427716103e36040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561180c57fe5b60325a03f1151561181957fe5b505060408051858152600460208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a35b5b5b5b5b5b50505050505050505050565b600160a060020a0333811660009081526003602090815260408083208584529091528120549091168190111561189657610000565b662386f26fc100003410156118aa57610000565b346118b3611b61565b90815260405190819003602001906000f08015156118cd57fe5b33600160a060020a0390811660008181526003602090815260408083208884528252918290208054600160a060020a0319169486169490941790935580513481529051939450909285927fb556ff269c1b6714f432c36431e2041d28436a73b6c3f19c021827bbdc6bfc29928290030190a3604051600160a060020a038216903480156108fc02916000818181858888f19350505050151561196e57610000565b5b5050565b60005b815181101561196e5761199f828281518110151561199057fe5b906020019060200201516119ad565b5b600101611976565b5b5050565b60008181805b6119bc83610e5a565b60048111156119c757fe5b146119d157610000565b6004544210806119e85750600454630784ce000142115b156119f257610000565b6000848152600260205260409020600454909350611a1b90426206978001906224ea0001611b27565b600184018190556000600285018190556003850155604080519182525185917f87e97e825a1d1fa0c54e1d36c7506c1dea8b1efd451fe68b000cf96f7cf40003919081900360200190a25b5b5b50505050565b60015481565b805160009060018381019184010182805b82841015611b1a5750825160ff166080811015611aa757600184019350611b0a565b60e08160ff161015611abe57600284019350611b0a565b60f08160ff161015611ad557600384019350611b0a565b60f88160ff161015611aec57600484019350611b0a565b60fc8160ff161015611b0357600584019350611b0a565b6006840193505b5b5b5b5b5b600190910190611a85565b8194505b50505050919050565b600081831115611b38575081611b3b565b50805b5b92915050565b600081831015611b38575081611b3b565b5080611b3b565b5b92915050565b6040516104d980611b728339019056006060604052341561000c57fe5b6040516020806104d983398101604052515b60008054600160a060020a03191633600160a060020a03161790554260019081556005805460ff1916909117905560048190555b505b610476806100636000396000f300606060405236156100885763ffffffff60e060020a60003504166305b3441081146100915780630b5ab3d5146100b357806313af4035146100c55780632b20e397146100e35780633fa4f2451461010f578063674f220f146101315780638da5cb5b1461015d578063bbe4277114610189578063faab9d391461019e578063fb1669ca146101bc575b61008f5b5b565b005b341561009957fe5b6100a16101c9565b60408051918252519081900360200190f35b34156100bb57fe5b61008f6101cf565b005b34156100cd57fe5b61008f600160a060020a0360043516610216565b005b34156100eb57fe5b6100f36102a5565b60408051600160a060020a039092168252519081900360200190f35b341561011757fe5b6100a16102b4565b60408051918252519081900360200190f35b341561013957fe5b6100f36102ba565b60408051600160a060020a039092168252519081900360200190f35b341561016557fe5b6100f36102c9565b60408051600160a060020a039092168252519081900360200190f35b341561019157fe5b61008f6004356102d8565b005b34156101a657fe5b61008f600160a060020a0360043516610384565b005b61008f6004356103cc565b005b60015481565b60055460ff16156101df57610000565b600254604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501561008c5761deadff5b5b565b60005433600160a060020a0390811691161461023157610000565b600280546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03808516919091179092559084169116811790915560408051918252517fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf369181900360200190a15b5b50565b600054600160a060020a031681565b60045481565b600354600160a060020a031681565b600254600160a060020a031681565b60005433600160a060020a039081169116146102f357610000565b60055460ff16151561030457610000565b6005805460ff1916905561dead6108fc6103e883810330600160a060020a031631025b604051919004801590920291906000818181858888f19350505050151561034d57610000565b6040517fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1390600090a16102a16101cf565b5b5b5b50565b60005433600160a060020a0390811691161461039f57610000565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a039081169116146103e757610000565b60055460ff1615156103f857610000565b80600454101561040757610000565b6004819055600254604051600160a060020a039182169130163183900380156108fc02916000818181858888f1935050505015156102a157610000565b5b5b5b505600a165627a7a723058209afab719273ed90a981eeaea13431b069c4a445d10031bd67499e357ec5ebfc600297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a72305820a6c45a70255811264b60d9dcac32d40a5f82934a1a3214177e3e772103bc24950029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae0000000000000000000000000000000000000000000000000000000058c6eb77

Deployed Bytecode

0x606060405236156100d55763ffffffff60e060020a6000350416630230a07c81146100d757806315f73331146100ec57806322ec1244146101445780632525f5c11461017b578063267b69221461019c5780633f15457f146101f75780635ddae283146102235780635e4317091461023857806361d585da1461027357806379ce9fac146102aa578063983b94fb146102cb5780639c67f06f146102e0578063aefc8c7214610302578063ce92dced14610329578063e27fe50f14610336578063ede8acdb1461038b578063faff50a8146103a0575bfe5b34156100df57fe5b6100ea6004356103c2565b005b34156100f457fe5b6100ea600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496506105d895505050505050565b005b341561014c57fe5b610169600435600160a060020a0360243516604435606435610980565b60408051918252519081900360200190f35b341561018357fe5b6100ea600160a060020a03600435166024356109c7565b005b34156101a457fe5b6101af600435610bf7565b604051808660048111156101bf57fe5b60ff168152600160a060020a0390951660208601525060408085019390935260608401919091526080830152519081900360a0019150f35b34156101ff57fe5b610207610c48565b60408051600160a060020a039092168252519081900360200190f35b341561022b57fe5b6100ea600435610c57565b005b341561024057fe5b610207600160a060020a0360043516602435610e34565b60408051600160a060020a039092168252519081900360200190f35b341561027b57fe5b610286600435610e5a565b6040518082600481111561029657fe5b60ff16815260200191505060405180910390f35b34156102b257fe5b6100ea600435600160a060020a0360243516610ed9565b005b34156102d357fe5b6100ea600435611063565b005b34156102e857fe5b61016961133a565b60408051918252519081900360200190f35b341561030a57fe5b6100ea600435600160a060020a0360243516604435606435611340565b005b6100ea600435611861565b005b341561033e57fe5b6100ea60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061197395505050505050565b005b341561039357fe5b6100ea6004356119ad565b005b34156103a857fe5b610169611a6e565b60408051918252519081900360200190f35b6000808260025b6103d282610e5a565b60048111156103dd57fe5b14158061046a575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b151561043d57fe5b60325a03f1151561044a57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b1561047457610000565b600084815260026020526040902080546001820154919450600160a060020a031692506301e13380014210806104b15750600454630f099c000142115b156104bb57610000565b6002830154604080519182525185917f292b79b9246fa2c8e77d3fe195b251f9cb839d7d038e667c069ee7708c631e16919081900360200190a2600060028401819055600384018190558354600160a060020a031916845580546001546040805160e060020a6306ab59230281526004810192909252602482018890526044820184905251600160a060020a03909216926306ab59239260648084019382900301818387803b151561056957fe5b60325a03f1151561057657fe5b50505081600160a060020a031663bbe427716103e86040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b60006000826040518082805190602001908083835b6020831061060c5780518252601f1990920191602091820191016105ed565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209250600291508190505b61064883610e5a565b600481111561065357fe5b1461065d57610000565b600661066886611a74565b111561067357610000565b846040518082805190602001908083835b602083106106a35780518252601f199092019160209182019101610684565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008181526002909252848220825460015460e060020a6306ab5923028652600486015260248501839052604485018490529551919b509950600160a060020a0390941695506306ab59239450606480830194919350909182900301818387803b151561073357fe5b60325a03f1151561074057fe5b50508354600160a060020a03161590506108ca5782546040805160006020918201819052825160e060020a633fa4f2450281529251600160a060020a039094169363fb1669ca936002938693633fa4f245936004808501949192918390030190829087803b15156107ad57fe5b60325a03f115156107ba57fe5b50506040515190508115156107cb57fe5b046040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561080157fe5b60325a03f1151561080e57fe5b505083546040805160e060020a6313af4035028152600160a060020a03338116600483015291519190921692506313af40359160248082019260009290919082900301818387803b151561085e57fe5b60325a03f1151561086b57fe5b505083546040805160e060020a63bbe427710281526103e860048201529051600160a060020a03909216925063bbe4277191602480830192600092919082900301818387803b15156108b957fe5b60325a03f115156108c657fe5b5050505b846040518082805190602001908083835b602083106108fa5780518252601f1990920191602091820191016108db565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060028a015460018b01549084529183019190915283519095508994507f1f9c649fe47e58bb60f4e52f0d90e4c47a526c9f90c5113df842c025970b66ad93918190039091019150a38254600160a060020a03191683555b5b5050505050565b604080518581526c01000000000000000000000000600160a060020a038616026020820152603481018490526054810183905290519081900360740190205b949350505050565b600160a060020a03808316600090815260036020908152604080832085845290915290205416801580610a6057506224ea0063ffffffff1681600160a060020a03166305b344106000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a4557fe5b60325a03f11515610a5257fe5b505050604051805190500142105b80610ad05750600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610aae57fe5b60325a03f11515610abb57fe5b50505060405180519050600160a060020a0316115b15610ada57610000565b80600160a060020a03166313af4035336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b1515610b3157fe5b60325a03f11515610b3e57fe5b50505080600160a060020a031663bbe4277160056040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b1515610b8757fe5b60325a03f11515610b9457fe5b505050600160a060020a038316600081815260036020908152604080832086845282528083208054600160a060020a031916905580519283526005918301919091528051859260008051602061204b83398151915292908290030190a35b505050565b60008181526002602052604081208190819081908190610c1687610e5a565b8154600183015460028401546003850154939950600160a060020a0390921697509550935091505b5091939590929450565b600054600160a060020a031681565b6000808260025b610c6782610e5a565b6004811115610c7257fe5b141580610cff575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b1515610cd257fe5b60325a03f11515610cdf57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b15610d0957610000565b6000805460015460408051602090810185905281517f02571be300000000000000000000000000000000000000000000000000000000815260048101939093529051600160a060020a03909316936302571be3936024808501949192918390030190829087803b1515610d7857fe5b60325a03f11515610d8557fe5b50505060405180519050925030600160a060020a031683600160a060020a03161415610db057610000565b600084815260026020526040808220805482517ffaab9d39000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152935192965092169263faab9d39926024808201939182900301818387803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b6003602090815260009283526040808420909152908252902054600160a060020a031681565b60008181526002602052604081206001810154421015610e9d5760018101546202a2ff1901421015610e8f5760019150610ed0565b60049150610ed0565b610ed0565b60038101541515610eb15760009150610ed0565b8054600160a060020a03161515610ecb5760039150610ed0565b600291505b5b5b5b50919050565b60008260025b610ee882610e5a565b6004811115610ef357fe5b141580610f80575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b1515610f5357fe5b60325a03f11515610f6057fe5b50505060405180519050600160a060020a031633600160a060020a031614155b15610f8a57610000565b6000848152600260205260408082208054825160e060020a6313af4035028152600160a060020a03888116600483015293519296509216926313af4035926024808201939182900301818387803b1515610fe057fe5b60325a03f11515610fed57fe5b5050600080546001546040805160e060020a6306ab5923028152600481019290925260248201899052600160a060020a0388811660448401529051921693506306ab592392606480830193919282900301818387803b15156105c057fe5b60325a03f115156105cd57fe5b5050505b5b50505050565b6000808260025b61107382610e5a565b600481111561107e57fe5b14158061110b575060008181526002602090815260408083205481518301849052815160e060020a638da5cb5b0281529151600160a060020a0390911693638da5cb5b93600480850194919392918390030190829087803b15156110de57fe5b60325a03f115156110eb57fe5b50505060405180519050600160a060020a031633600160a060020a031614155b1561111557610000565b60008481526002602081905260409091209081015490935061113e90662386f26fc10000611b27565b6002840155600080546001548554604080516020908101869052815160e060020a638da5cb5b0281529151600160a060020a03958616966306ab5923968c951693638da5cb5b93600480830194919391928390030190829087803b15156111a157fe5b60325a03f115156111ae57fe5b505060408051805160e060020a63ffffffff881602825260048201959095526024810193909352600160a060020a039093166044830152509051606480830192600092919082900301818387803b151561120457fe5b60325a03f1151561121157fe5b505083546002850154604080517ffb1669ca000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a03909216945084925063fb1669ca91602480830192600092919082900301818387803b151561127c57fe5b60325a03f1151561128957fe5b50505081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b15156112d257fe5b60325a03f115156112df57fe5b50506040805180516002870154600188015490835260208301528251600160a060020a03909116935087927f0f0c27adfd84b60b6f456b0e87cdccb1e5fb9603991588d87fa99f5b6b61e670928290030190a35b5b50505050565b60045481565b6000600060006000600060006113588a8a8a8a610980565b600160a060020a03338116600090815260036020908152604080832085845290915290205491975016945084151561138f57610000565b600160a060020a0333811660009081526003602090815260408083208a84529091528082208054600160a060020a0319169055805160e060020a6313af40350281528c841660048201529051928816926313af40359260248084019391929182900301818387803b15156113ff57fe5b60325a03f1151561140c57fe5b50505060008a815260026020908152604080832081518301849052815160e060020a633fa4f2450281529151909750611486938c93600160a060020a038b1693633fa4f2459360048083019491928390030190829087803b151561146c57fe5b60325a03f1151561147957fe5b5050604051519050611b42565b925084600160a060020a031663fb1669ca846040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156114cd57fe5b60325a03f115156114da57fe5b5050506114e68a610e5a565b915060025b8260048111156114f757fe5b141561158b5784600160a060020a031663bbe4277160056040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561154357fe5b60325a03f1151561155057fe5b505060408051858152600160208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b60045b82600481111561159a57fe5b146115a457610000565b662386f26fc100008810156116425784600160a060020a031663bbe427716103e36040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15156115fa57fe5b60325a03f1151561160757fe5b505060408051858152600060208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b8360030154881115611722578354600160a060020a0316156116bd575082546040805160e060020a63bbe427710281526103e360048201529051600160a060020a0390921691829163bbe4277191602480830192600092919082900301818387803b15156116ac57fe5b60325a03f115156116b957fe5b5050505b600384018054600280870191909155908490558454600160a060020a031916600160a060020a038781169190911786556040805186815260208101939093528051918c16928d9260008051602061204b833981519152929181900390910190a3611850565b83600201548811156117c557600284018390556040805160e060020a63bbe427710281526103e360048201529051600160a060020a0387169163bbe4277191602480830192600092919082900301818387803b151561177d57fe5b60325a03f1151561178a57fe5b505060408051858152600360208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a3611850565b84600160a060020a031663bbe427716103e36040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561180c57fe5b60325a03f1151561181957fe5b505060408051858152600460208201528151600160a060020a038d1693508d9260008051602061204b833981519152928290030190a35b5b5b5b5b5b50505050505050505050565b600160a060020a0333811660009081526003602090815260408083208584529091528120549091168190111561189657610000565b662386f26fc100003410156118aa57610000565b346118b3611b61565b90815260405190819003602001906000f08015156118cd57fe5b33600160a060020a0390811660008181526003602090815260408083208884528252918290208054600160a060020a0319169486169490941790935580513481529051939450909285927fb556ff269c1b6714f432c36431e2041d28436a73b6c3f19c021827bbdc6bfc29928290030190a3604051600160a060020a038216903480156108fc02916000818181858888f19350505050151561196e57610000565b5b5050565b60005b815181101561196e5761199f828281518110151561199057fe5b906020019060200201516119ad565b5b600101611976565b5b5050565b60008181805b6119bc83610e5a565b60048111156119c757fe5b146119d157610000565b6004544210806119e85750600454630784ce000142115b156119f257610000565b6000848152600260205260409020600454909350611a1b90426206978001906224ea0001611b27565b600184018190556000600285018190556003850155604080519182525185917f87e97e825a1d1fa0c54e1d36c7506c1dea8b1efd451fe68b000cf96f7cf40003919081900360200190a25b5b5b50505050565b60015481565b805160009060018381019184010182805b82841015611b1a5750825160ff166080811015611aa757600184019350611b0a565b60e08160ff161015611abe57600284019350611b0a565b60f08160ff161015611ad557600384019350611b0a565b60f88160ff161015611aec57600484019350611b0a565b60fc8160ff161015611b0357600584019350611b0a565b6006840193505b5b5b5b5b5b600190910190611a85565b8194505b50505050919050565b600081831115611b38575081611b3b565b50805b5b92915050565b600081831015611b38575081611b3b565b5080611b3b565b5b92915050565b6040516104d980611b728339019056006060604052341561000c57fe5b6040516020806104d983398101604052515b60008054600160a060020a03191633600160a060020a03161790554260019081556005805460ff1916909117905560048190555b505b610476806100636000396000f300606060405236156100885763ffffffff60e060020a60003504166305b3441081146100915780630b5ab3d5146100b357806313af4035146100c55780632b20e397146100e35780633fa4f2451461010f578063674f220f146101315780638da5cb5b1461015d578063bbe4277114610189578063faab9d391461019e578063fb1669ca146101bc575b61008f5b5b565b005b341561009957fe5b6100a16101c9565b60408051918252519081900360200190f35b34156100bb57fe5b61008f6101cf565b005b34156100cd57fe5b61008f600160a060020a0360043516610216565b005b34156100eb57fe5b6100f36102a5565b60408051600160a060020a039092168252519081900360200190f35b341561011757fe5b6100a16102b4565b60408051918252519081900360200190f35b341561013957fe5b6100f36102ba565b60408051600160a060020a039092168252519081900360200190f35b341561016557fe5b6100f36102c9565b60408051600160a060020a039092168252519081900360200190f35b341561019157fe5b61008f6004356102d8565b005b34156101a657fe5b61008f600160a060020a0360043516610384565b005b61008f6004356103cc565b005b60015481565b60055460ff16156101df57610000565b600254604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501561008c5761deadff5b5b565b60005433600160a060020a0390811691161461023157610000565b600280546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03808516919091179092559084169116811790915560408051918252517fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf369181900360200190a15b5b50565b600054600160a060020a031681565b60045481565b600354600160a060020a031681565b600254600160a060020a031681565b60005433600160a060020a039081169116146102f357610000565b60055460ff16151561030457610000565b6005805460ff1916905561dead6108fc6103e883810330600160a060020a031631025b604051919004801590920291906000818181858888f19350505050151561034d57610000565b6040517fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1390600090a16102a16101cf565b5b5b5b50565b60005433600160a060020a0390811691161461039f57610000565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a039081169116146103e757610000565b60055460ff1615156103f857610000565b80600454101561040757610000565b6004819055600254604051600160a060020a039182169130163183900380156108fc02916000818181858888f1935050505015156102a157610000565b5b5b5b505600a165627a7a723058209afab719273ed90a981eeaea13431b069c4a445d10031bd67499e357ec5ebfc600297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a72305820a6c45a70255811264b60d9dcac32d40a5f82934a1a3214177e3e772103bc24950029

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

000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae0000000000000000000000000000000000000000000000000000000058c6eb77

-----Decoded View---------------
Arg [0] : _ens (address): 0x314159265dD8dbb310642f98f50C066173C1259b
Arg [1] : _rootNode (bytes32): 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae
Arg [2] : _startDate (uint256): 1489431415

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b
Arg [1] : 93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae
Arg [2] : 0000000000000000000000000000000000000000000000000000000058c6eb77


Swarm Source

bzzr://a6c45a70255811264b60d9dcac32d40a5f82934a1a3214177e3e772103bc2495

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.