Sponsored:   Color - Revolutionizing the Dapp Ecosystem, Bounty & Airdrop, Get 240,000 COL NOW!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 527 txns
 Latest 25 txns from a total Of 527 transactions
(+2 PendingTxns)

TxHash Age From To Value [TxFee]
0x577686d61c202353f470aaa7ab90d61124750aa6b264ae3253a9f190e6391c28(pending)0x9045043808ad4aa8d137c3d46ed06bf7e81fe378  IN  0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether(pending)
0x5c06c6aa0cb613c45c42551ec5c4f706f60f735c7bce4f11a80747c07588eaf8(pending)0x081ff1d62dbc3f31d8a671a3da38c968905bb562  IN  0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether(pending)
0x676dd53643489f0424137be1ca1b6cd1e15aebfb15b3502ec8573a79a2e74f1a14 hrs 38 mins ago0x59d25b70317a875639068a0c0a469c603b050523  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.00005 Ether0.00013955675
0x7ae37158e806403f8c4b850c65ed980f8b1f22c188edc2931f4691fd13bea95319 hrs 32 mins ago0x20fc0d54ce82f614e7cf0bd8a74031061eaeb211  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000121982
0x68c1a7172540d4da38d9c385c152916b753e51e5a0df5403da114db72579a4171 day 5 hrs ago0x1bce75be344a713dbf1436a614ac630f109e423a  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.005 Ether0.002999982
0x9892f7113064e0ce99e235926c5602351639ca1f8e5aea76d20f485371f881432 days 15 hrs ago0x988db88a91134c1f0704e3cec110fe819f94cbe9  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000244348
0xbc2887768a0d6f339cd650cb228380e5470d76883102cd87375ec32e99634fa43 days 8 hrs ago0x440c3c989690979ce199eeba9e17ded55315107e  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.01 Ether0.000861
0x66c560fd5344dae9ba97a5769ea5d5226388ce7454a63abc9d6a95313497e8813 days 8 hrs ago0x45f01209caec54560687fd44190883f561d5f500  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.0024 Ether0.000861
0x0dbee0254aa4671d9f0f97469531985160a060ad56e7f519915cbbf1283c32bc3 days 8 hrs ago0x45f01209caec54560687fd44190883f561d5f500  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.00382944 Ether0.000861
0x5c0324fcce273b0afeef42a596330d2f88b3d05b406f973433b393fc1bc364053 days 9 hrs ago0x45f01209caec54560687fd44190883f561d5f500  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.004060227330273 Ether0.0000861
0xb51f09a7c14f5d0daa9735b934bcf970138f4856495c515dfe07e55cbd6f3ef73 days 10 hrs ago0xfbbd4f0b79cb9b5af19e19059896499412a14cca  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00036633
0x55e5431213d6b8e926ee8bd20e91f7f8221c3ab2f3f6e9079cb1711fea442f583 days 16 hrs ago0xd61d8dcd8132202e8f2f0f88b581c0e64d1736f7  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.005 Ether0.000391302
0x51a1f68b34cd207bb8701540e9037784ca24a6c0ea6b548cd0bdca15d3a2dda95 days 3 hrs ago0x5bb73e04b810527b14b87c37eff3d62481f2d416  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00036633
0x1d6c8169d154d620cfe4b140563675d224451261c71227834f228647bd2e7b795 days 4 hrs ago0x9488c652e2fc8f90f0c8af54cf7d44a3b4b6f07e  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.002568342
0x9cfbd884a9788093afb60116ba8b5b05eb415c293e59404135b4b108beb66f6d6 days 3 hrs ago0x47b6b6bfad9aae5cde3ad313ca77d7ef6a56ceaf  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000366138
0xeb8b5dbf4097afff0082e58c5a7653ca886d609dbf96b5670ca8f5c82c9bb15c6 days 7 hrs ago0xae60993a25484a5083b7be6b0ca57867b0974a06  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00048716
0x72e02db81a21a310155183aa43f706e2412f0238fc1c2a32889342ee4379ab038 days 4 hrs ago0xc7732644cf87e15755b65968ad555e4ae83381f9  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00415174
0x2b265f77212e5fffaf7c63addee615d4b33b22394327580b84d5f3a50b412a9b9 days 9 mins ago0x2ff4759453bd113978e47e9d5f08a1e85f854c5f  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.004998638
0x691252b251b4335e093f665cc8bf0afa0f57b0c7edcc79a6a699b93e3ef08a9311 days 12 mins ago0xd4f9a36d355e04980aa42f1ebdb9a3fd26acdbc6  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.005 Ether0.00782988
0x98c67adb76b25b4e6fdf4eabbce0c9c98e6aae23717025d97c0bee92e80ec78812 days 2 hrs ago0x0f01a0c3f5255745f31a7fbd555ec6461f405287  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000244348
0x6c40aeba04e3884a33b914c1c7700d520a64bfe19a67a8c0f2566db5596f966412 days 2 hrs ago0x0f01a0c3f5255745f31a7fbd555ec6461f405287  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00024358
0xa34324bb82beee4ac09d0343bae5d9e936d265e1b1446a73ff0612640a798c3012 days 3 hrs ago0xccadefdee167f68db8effd97b80445fc35739718  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000244732
0xd26685aef06663c39692391cd5034b47f7c8fa8f9ee0c7dc70e1f0d13a4b62e512 days 6 hrs ago0xaf8487980af6c604f42d2cb0b51966d936e5bac6  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000244476
0x92cbd8615abc493b9b5926919e50889118297b3e3fed55ef1414fceae6e452f712 days 16 hrs ago0x3fe7dfdb37eef3d250314b17cb74e702b8fa7d03  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.00005 Ether0.000137919
0x67021833274db50875ccc6f7cdfd6ea96f0493652b5ee29f979546c98dd3022012 days 17 hrs ago0x8a535dd4c7eceec49785a73429609a3c08c1afb9  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.00005 Ether0.000138559
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x676dd53643489f0424137be1ca1b6cd1e15aebfb15b3502ec8573a79a2e74f1a617218014 hrs 38 mins ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x676dd53643489f0424137be1ca1b6cd1e15aebfb15b3502ec8573a79a2e74f1a617218014 hrs 38 mins ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x68c1a7172540d4da38d9c385c152916b753e51e5a0df5403da114db72579a41761685841 day 5 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0x55e5431213d6b8e926ee8bd20e91f7f8221c3ab2f3f6e9079cb1711fea442f5861541063 days 16 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0x691252b251b4335e093f665cc8bf0afa0f57b0c7edcc79a6a699b93e3ef08a93611072411 days 12 mins ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0x92cbd8615abc493b9b5926919e50889118297b3e3fed55ef1414fceae6e452f7610066012 days 16 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x92cbd8615abc493b9b5926919e50889118297b3e3fed55ef1414fceae6e452f7610066012 days 16 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x67021833274db50875ccc6f7cdfd6ea96f0493652b5ee29f979546c98dd30220610063812 days 17 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x67021833274db50875ccc6f7cdfd6ea96f0493652b5ee29f979546c98dd30220610063812 days 17 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x0327cd48b534e4c5104073176eede1f7853df35c6c0226e146b5e19639c427cf609653513 days 9 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x9c78a2224b763ee6bb652de945e70d22561e8afd0.1485 Ether
0x0327cd48b534e4c5104073176eede1f7853df35c6c0226e146b5e19639c427cf609653513 days 9 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0015 Ether
0x157fd59b3da4c67cea31587aa22317baed79809cc5e935fffffcf6a404aadc7e608668815 days 1 hr ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0x157fd59b3da4c67cea31587aa22317baed79809cc5e935fffffcf6a404aadc7e608668815 days 1 hr ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.00004 Ether
0x0af5b54dadf78ef802aff65e6d490febd7910cacda174cda4304dc0633c2c9b6606178319 days 6 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x0af5b54dadf78ef802aff65e6d490febd7910cacda174cda4304dc0633c2c9b6606178319 days 6 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0xe532612d3c2c0f55429158e9808a0de33de1e2caf46b758f7226064d6ff69a06598060933 days 1 hr ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0xe532612d3c2c0f55429158e9808a0de33de1e2caf46b758f7226064d6ff69a06598060933 days 1 hr ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x00f5eb65c9b7c2a3863782e72cbe581fbc1c182e0b0be415c891697140c3f2fa595967536 days 13 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x00f5eb65c9b7c2a3863782e72cbe581fbc1c182e0b0be415c891697140c3f2fa595967536 days 13 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x7163f3d8f41cfb82fe3a86465d66ef62ea484a7d30b2628aad0258c345212186593660640 days 10 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x7163f3d8f41cfb82fe3a86465d66ef62ea484a7d30b2628aad0258c345212186593660640 days 10 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0xab29a6d0eaaf8e23e2e7648b7055faa2431c9d30b0f7f4a6989794390f6d9f8f593172841 days 6 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0xab29a6d0eaaf8e23e2e7648b7055faa2431c9d30b0f7f4a6989794390f6d9f8f593172841 days 6 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.00004 Ether
0xf1523d22ed39fd21a70391990c8f1503854a9441773261f41aaf3a6fad14a56b593070441 days 11 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0xf1523d22ed39fd21a70391990c8f1503854a9441773261f41aaf3a6fad14a56b593070441 days 11 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: SubdomainRegistrar
Compiler Version: v0.4.21-nightly.2018.3.6+commit.a9e02acc
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.17;

// File: contracts/ENS.sol

/**
 * The ENS registry contract.
 */
contract ENS {
    // Logged when the owner of a node assigns a new owner to a subnode.
    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);

    // Logged when the owner of a node transfers ownership to a new account.
    event Transfer(bytes32 indexed node, address owner);

    // Logged when the resolver for a node changes.
    event NewResolver(bytes32 indexed node, address resolver);

    // Logged when the TTL of a node changes
    event NewTTL(bytes32 indexed node, uint64 ttl);

    struct Record {
        address owner;
        address resolver;
        uint64 ttl;
    }

    mapping (bytes32 => Record) records;

    // Permits modifications only by the owner of the specified node.
    modifier only_owner(bytes32 node) {
        if (records[node].owner != msg.sender) throw;
        _;
    }

    /**
     * Constructs a new ENS registrar.
     */
    function ENS() public {
        records[0].owner = msg.sender;
    }

    /**
     * Returns the address that owns the specified node.
     */
    function owner(bytes32 node) public constant returns (address) {
        return records[node].owner;
    }

    /**
     * Returns the address of the resolver for the specified node.
     */
    function resolver(bytes32 node) public constant returns (address) {
        return records[node].resolver;
    }

    /**
     * Returns the TTL of a node, and any records associated with it.
     */
    function ttl(bytes32 node) public constant returns (uint64) {
        return records[node].ttl;
    }

    /**
     * Transfers ownership of a node to a new address. May only be called by the current
     * owner of the node.
     * @param node The node to transfer ownership of.
     * @param owner The address of the new owner.
     */
    function setOwner(bytes32 node, address owner) public only_owner(node) {
        Transfer(node, owner);
        records[node].owner = owner;
    }

    /**
     * Transfers ownership of a subnode sha3(node, label) to a new address. May only be
     * called by the owner of the parent node.
     * @param node The parent node.
     * @param label The hash of the label specifying the subnode.
     * @param owner The address of the new owner.
     */
    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) public only_owner(node) {
        var subnode = sha3(node, label);
        NewOwner(node, label, owner);
        records[subnode].owner = owner;
    }

    /**
     * Sets the resolver address for the specified node.
     * @param node The node to update.
     * @param resolver The address of the resolver.
     */
    function setResolver(bytes32 node, address resolver) public only_owner(node) {
        NewResolver(node, resolver);
        records[node].resolver = resolver;
    }

    /**
     * Sets the TTL for the specified node.
     * @param node The node to update.
     * @param ttl The TTL in seconds.
     */
    function setTTL(bytes32 node, uint64 ttl) public only_owner(node) {
        NewTTL(node, ttl);
        records[node].ttl = ttl;
    }
}

// File: contracts/HashRegistrarSimplified.sol

contract Deed {
    address public owner;
    address public previousOwner;
}

contract HashRegistrarSimplified {
    enum Mode { Open, Auction, Owned, Forbidden, Reveal, NotYetAvailable }

    bytes32 public rootNode;

    function entries(bytes32 _hash) public view returns (Mode, address, uint, uint, uint);
    function transfer(bytes32 _hash, address newOwner) public;
}

// File: contracts/RegistrarInterface.sol

contract RegistrarInterface {
    event OwnerChanged(bytes32 indexed label, address indexed oldOwner, address indexed newOwner);
    event DomainConfigured(bytes32 indexed label);
    event DomainUnlisted(bytes32 indexed label);
    event NewRegistration(bytes32 indexed label, string subdomain, address indexed owner, address indexed referrer, uint price);
    event RentPaid(bytes32 indexed label, string subdomain, uint amount, uint expirationDate);

    // InterfaceID of these four methods is 0xc1b15f5a
    function query(bytes32 label, string subdomain) public view returns (string domain, uint signupFee, uint rent, uint referralFeePPM);
    function register(bytes32 label, string subdomain, address owner, address referrer, address resolver) public payable;

    function rentDue(bytes32 label, string subdomain) public view returns (uint timestamp);
    function payRent(bytes32 label, string subdomain) public payable;
}

// File: contracts/Resolver.sol

/**
 * @dev A basic interface for ENS resolvers.
 */
contract Resolver {
    function supportsInterface(bytes4 interfaceID) public pure returns (bool);
    function addr(bytes32 node) public view returns (address);
    function setAddr(bytes32 node, address addr) public;
}

// File: contracts/SubdomainRegistrar.sol

/**
 * @dev Implements an ENS registrar that sells subdomains on behalf of their owners.
 *
 * Users may register a subdomain by calling `register` with the name of the domain
 * they wish to register under, and the label hash of the subdomain they want to
 * register. They must also specify the new owner of the domain, and the referrer,
 * who is paid an optional finder's fee. The registrar then configures a simple
 * default resolver, which resolves `addr` lookups to the new owner, and sets
 * the `owner` account as the owner of the subdomain in ENS.
 *
 * New domains may be added by calling `configureDomain`, then transferring
 * ownership in the ENS registry to this contract. Ownership in the contract
 * may be transferred using `transfer`, and a domain may be unlisted for sale
 * using `unlistDomain`. There is (deliberately) no way to recover ownership
 * in ENS once the name is transferred to this registrar.
 *
 * Critically, this contract does not check one key property of a listed domain:
 *
 * - Is the name UTS46 normalised?
 *
 * User applications MUST check these two elements for each domain before
 * offering them to users for registration.
 *
 * Applications should additionally check that the domains they are offering to
 * register are controlled by this registrar, since calls to `register` will
 * fail if this is not the case.
 */
contract SubdomainRegistrar is RegistrarInterface {

    // namehash('eth')
    bytes32 constant public TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae;

    bool public stopped = false;
    address public registrarOwner;
    address public migration;

    ENS public ens;
    HashRegistrarSimplified public hashRegistrar;

    struct Domain {
        string name;
        address owner;
        address transferAddress;
        uint price;
        uint referralFeePPM;
    }

    mapping (bytes32 => Domain) domains;

    modifier new_registrar() {
        require(ens.owner(TLD_NODE) != address(hashRegistrar));
        _;
    }

    modifier owner_only(bytes32 label) {
        require(owner(label) == msg.sender);
        _;
    }

    modifier not_stopped() {
        require(!stopped);
        _;
    }

    modifier registrar_owner_only() {
        require(msg.sender == registrarOwner);
        _;
    }

    event TransferAddressSet(bytes32 indexed label, address addr);
    event DomainTransferred(bytes32 indexed label, string name);

    function SubdomainRegistrar(ENS _ens) public {
        ens = _ens;
        hashRegistrar = HashRegistrarSimplified(ens.owner(TLD_NODE));
        registrarOwner = msg.sender;
    }

    /**
     * @dev owner returns the address of the account that controls a domain.
     *      Initially this is a null address. If the name has been
     *      transferred to this contract, then the internal mapping is consulted
     *      to determine who controls it. If the owner is not set,
     *      the previous owner of the deed is returned.
     * @param label The label hash of the deed to check.
     * @return The address owning the deed.
     */
    function owner(bytes32 label) public view returns (address) {

        if (domains[label].owner != 0x0) {
            return domains[label].owner;
        }

        Deed domainDeed = deed(label);
        if (domainDeed.owner() != address(this)) {
            return 0x0;
        }

        return domainDeed.previousOwner();
    }

    /**
     * @dev Transfers internal control of a name to a new account. Does not update
     *      ENS.
     * @param name The name to transfer.
     * @param newOwner The address of the new owner.
     */
    function transfer(string name, address newOwner) public owner_only(keccak256(name)) {
        bytes32 label = keccak256(name);
        OwnerChanged(keccak256(name), domains[label].owner, newOwner);
        domains[label].owner = newOwner;
    }

    /**
     * @dev Sets the resolver record for a name in ENS.
     * @param name The name to set the resolver for.
     * @param resolver The address of the resolver
     */
    function setResolver(string name, address resolver) public owner_only(keccak256(name)) {
        bytes32 label = keccak256(name);
        bytes32 node = keccak256(TLD_NODE, label);
        ens.setResolver(node, resolver);
    }

    /**
     * @dev Configures a domain for sale.
     * @param name The name to configure.
     * @param price The price in wei to charge for subdomain registrations
     * @param referralFeePPM The referral fee to offer, in parts per million
     */
    function configureDomain(string name, uint price, uint referralFeePPM) public {
        configureDomainFor(name, price, referralFeePPM, msg.sender, 0x0);
    }

    /**
     * @dev Configures a domain, optionally transferring it to a new owner.
     * @param name The name to configure.
     * @param price The price in wei to charge for subdomain registrations.
     * @param referralFeePPM The referral fee to offer, in parts per million.
     * @param _owner The address to assign ownership of this domain to.
     * @param _transfer The address to set as the transfer address for the name
     *        when the permanent registrar is replaced. Can only be set to a non-zero
     *        value once.
     */
    function configureDomainFor(string name, uint price, uint referralFeePPM, address _owner, address _transfer) public owner_only(keccak256(name)) {
        bytes32 label = keccak256(name);
        Domain storage domain = domains[label];

        // Don't allow changing the transfer address once set. Treat 0 as "don't change" for convenience.
        require(domain.transferAddress == 0 || _transfer == 0 || domain.transferAddress == _transfer);

        if (domain.owner != _owner) {
            domain.owner = _owner;
        }

        if (keccak256(domain.name) != label) {
            // New listing
            domain.name = name;
        }

        domain.price = price;
        domain.referralFeePPM = referralFeePPM;

        if (domain.transferAddress != _transfer && _transfer != 0) {
            domain.transferAddress = _transfer;
            TransferAddressSet(label, _transfer);
        }

        DomainConfigured(label);
    }

    /**
     * @dev Sets the transfer address of a domain for after an ENS update.
     * @param name The name for which to set the transfer address.
     * @param transfer The address to transfer to.
     */
    function setTransferAddress(string name, address transfer) public owner_only(keccak256(name)) {
        bytes32 label = keccak256(name);
        Domain storage domain = domains[label];

        require(domain.transferAddress == 0x0);

        domain.transferAddress = transfer;
        TransferAddressSet(label, transfer);
    }

    /**
     * @dev Unlists a domain
     * May only be called by the owner.
     * @param name The name of the domain to unlist.
     */
    function unlistDomain(string name) public owner_only(keccak256(name)) {
        bytes32 label = keccak256(name);
        Domain storage domain = domains[label];
        DomainUnlisted(label);

        domain.name = '';
        domain.owner = owner(label);
        domain.price = 0;
        domain.referralFeePPM = 0;
    }

    /**
     * @dev Returns information about a subdomain.
     * @param label The label hash for the domain.
     * @param subdomain The label for the subdomain.
     * @return domain The name of the domain, or an empty string if the subdomain
     *                is unavailable.
     * @return price The price to register a subdomain, in wei.
     * @return rent The rent to retain a subdomain, in wei per second.
     * @return referralFeePPM The referral fee for the dapp, in ppm.
     */
    function query(bytes32 label, string subdomain) public view returns (string domain, uint price, uint rent, uint referralFeePPM) {
        bytes32 node = keccak256(TLD_NODE, label);
        bytes32 subnode = keccak256(node, keccak256(subdomain));

        if (ens.owner(subnode) != 0) {
            return ('', 0, 0, 0);
        }

        Domain data = domains[label];
        return (data.name, data.price, 0, data.referralFeePPM);
    }

    /**
     * @dev Registers a subdomain.
     * @param label The label hash of the domain to register a subdomain of.
     * @param subdomain The desired subdomain label.
     * @param subdomainOwner The account that should own the newly configured subdomain.
     * @param referrer The address of the account to receive the referral fee.
     */
    function register(bytes32 label, string subdomain, address subdomainOwner, address referrer, address resolver) public not_stopped payable {
        bytes32 domainNode = keccak256(TLD_NODE, label);
        bytes32 subdomainLabel = keccak256(subdomain);

        // Subdomain must not be registered already.
        require(ens.owner(keccak256(domainNode, subdomainLabel)) == address(0));

        Domain storage domain = domains[label];

        // Domain must be available for registration
        require(keccak256(domain.name) == label);

        // User must have paid enough
        require(msg.value >= domain.price);

        // Send any extra back
        if (msg.value > domain.price) {
            msg.sender.transfer(msg.value - domain.price);
        }

        // Send any referral fee
        uint256 total = domain.price;
        if (domain.referralFeePPM * domain.price > 0 && referrer != 0 && referrer != domain.owner) {
            uint256 referralFee = (domain.price * domain.referralFeePPM) / 1000000;
            referrer.transfer(referralFee);
            total -= referralFee;
        }

        // Send the registration fee
        if (total > 0) {
            domain.owner.transfer(total);
        }

        // Register the domain
        if (subdomainOwner == 0) {
            subdomainOwner = msg.sender;
        }
        doRegistration(domainNode, subdomainLabel, subdomainOwner, Resolver(resolver));

        NewRegistration(label, subdomain, subdomainOwner, referrer, domain.price);
    }

    function doRegistration(bytes32 node, bytes32 label, address subdomainOwner, Resolver resolver) internal {
        // Get the subdomain so we can configure it
        ens.setSubnodeOwner(node, label, this);

        bytes32 subnode = keccak256(node, label);
        // Set the subdomain's resolver
        ens.setResolver(subnode, resolver);

        // Set the address record on the resolver
        resolver.setAddr(subnode, subdomainOwner);

        // Pass ownership of the new subdomain to the registrant
        ens.setOwner(subnode, subdomainOwner);
    }

    function supportsInterface(bytes4 interfaceID) public pure returns (bool) {
        return (
            (interfaceID == 0x01ffc9a7) // supportsInterface(bytes4)
            || (interfaceID == 0xc1b15f5a) // RegistrarInterface
        );
    }

    function rentDue(bytes32 label, string subdomain) public view returns (uint timestamp) {
        return 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
    }

    /**
     * @dev Upgrades the domain to a new registrar.
     * @param name The name of the domain to transfer.
     */
    function upgrade(string name) public owner_only(keccak256(name)) new_registrar {
        bytes32 label = keccak256(name);
        address transfer = domains[label].transferAddress;

        require(transfer != 0x0);

        delete domains[label];

        hashRegistrar.transfer(label, transfer);
        DomainTransferred(label, name);
    }


    /**
     * @dev Stops the registrar, disabling configuring of new domains.
     */
    function stop() public not_stopped registrar_owner_only {
        stopped = true;
    }

    /**
     * @dev Sets the address where domains are migrated to.
     * @param _migration Address of the new registrar.
     */
    function setMigrationAddress(address _migration) public registrar_owner_only {
        require(stopped);
        migration = _migration;
    }

    /**
     * @dev Migrates the domain to a new registrar.
     * @param name The name of the domain to migrate.
     */
    function migrate(string name) public owner_only(keccak256(name)) {
        require(stopped);
        require(migration != 0x0);

        bytes32 label = keccak256(name);
        Domain storage domain = domains[label];

        hashRegistrar.transfer(label, migration);

        SubdomainRegistrar(migration).configureDomainFor(
            domain.name,
            domain.price,
            domain.referralFeePPM,
            domain.owner,
            domain.transferAddress
        );

        delete domains[label];

        DomainTransferred(label, name);
    }

    function transferOwnership(address newOwner) public registrar_owner_only {
        registrarOwner = newOwner;
    }

    function payRent(bytes32 label, string subdomain) public payable {
        revert();
    }

    function deed(bytes32 label) internal view returns (Deed) {
        var (,deedAddress,,,) = hashRegistrar.entries(label);
        return Deed(deedAddress);
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"label","type":"bytes32"}],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migration","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registrarOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"label","type":"bytes32"},{"name":"subdomain","type":"string"}],"name":"query","outputs":[{"name":"domain","type":"string"},{"name":"price","type":"uint256"},{"name":"rent","type":"uint256"},{"name":"referralFeePPM","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hashRegistrar","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ens","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"label","type":"bytes32"},{"name":"subdomain","type":"string"},{"name":"subdomainOwner","type":"address"},{"name":"referrer","type":"address"},{"name":"resolver","type":"address"}],"name":"register","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_migration","type":"address"}],"name":"setMigrationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"label","type":"bytes32"},{"name":"subdomain","type":"string"}],"name":"rentDue","outputs":[{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"resolver","type":"address"}],"name":"setResolver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TLD_NODE","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"}],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"label","type":"bytes32"},{"name":"subdomain","type":"string"}],"name":"payRent","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"referralFeePPM","type":"uint256"},{"name":"_owner","type":"address"},{"name":"_transfer","type":"address"}],"name":"configureDomainFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"referralFeePPM","type":"uint256"}],"name":"configureDomain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"transfer","type":"address"}],"name":"setTransferAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"}],"name":"unlistDomain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"newOwner","type":"address"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_ens","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"addr","type":"address"}],"name":"TransferAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"name","type":"string"}],"name":"DomainTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"},{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"}],"name":"DomainConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"}],"name":"DomainUnlisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"subdomain","type":"string"},{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"referrer","type":"address"},{"indexed":false,"name":"price","type":"uint256"}],"name":"NewRegistration","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"subdomain","type":"string"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"expirationDate","type":"uint256"}],"name":"RentPaid","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260008060006101000a81548160ff021916908315150217905550341561002957600080fd5b604051602080620037708339810160405280805190602001909190505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001026040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561014257600080fd5b5af1151561014f57600080fd5b50505060405180519050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061358580620001eb6000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461013857806302571be31461019257806307da68f5146101f95780630da957611461020e5780631705a3bd1461026b5780631cb82d79146102c05780632eef3d6514610315578063387c0cb41461040d5780633f15457f146104625780634254b155146104b75780634732a7dc14610573578063660b7ad5146105ac578063733ccaba1461062a57806375f12b21146106a657806396df3540146106d3578063c9c5b5b414610704578063cb01a9bf14610761578063cf775255146107c0578063da1fe7d51461086d578063dcccb41d146108dc578063e34e788914610958578063f2fde38b146109b5578063fbf58b3e146109ee575b600080fd5b341561014357600080fd5b61017860048080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019091905050610a6a565b604051808215151515815260200191505060405180910390f35b341561019d57600080fd5b6101b7600480803560001916906020019091905050610b04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561020457600080fd5b61020c610cf0565b005b341561021957600080fd5b610269600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d83565b005b341561027657600080fd5b61027e611234565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cb57600080fd5b6102d361125a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032057600080fd5b61037d60048080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611280565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156103cf5780820151818401526020810190506103b4565b50505050905090810190601f1680156103fc5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561041857600080fd5b610420611554565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561046d57600080fd5b61047561157a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61057160048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506115a0565b005b341561057e57600080fd5b6105aa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b13565b005b34156105b757600080fd5b61061460048080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611bcd565b6040518082815260200191505060405180910390f35b341561063557600080fd5b6106a4600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611bf8565b005b34156106b157600080fd5b6106b9611e3b565b604051808215151515815260200191505060405180910390f35b34156106de57600080fd5b6106e6611e4d565b60405180826000191660001916815260200191505060405180910390f35b341561070f57600080fd5b61075f600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611e74565b005b6107be60048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061241e565b005b34156107cb57600080fd5b61086b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612423565b005b341561087857600080fd5b6108da600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919080359060200190919050506128b9565b005b34156108e757600080fd5b610956600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506128cc565b005b341561096357600080fd5b6109b3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612af1565b005b34156109c057600080fd5b6109ec600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612cda565b005b34156109f957600080fd5b610a68600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612d7a565b005b60006301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610afd575063c1b15f5a7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080600060046000856000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610bab5760046000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150610cea565b610bb483612fe8565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610c3057600080fd5b5af11515610c3d57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff16141515610c6d5760009150610cea565b8073ffffffffffffffffffffffffffffffffffffffff1663674f220f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610cd057600080fd5b5af11515610cdd57600080fd5b5050506040518051905091505b50919050565b6000809054906101000a900460ff16151515610d0b57600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6757600080fd5b60016000806101000a81548160ff021916908315150217905550565b600080826040518082805190602001908083835b602083101515610dbc5780518252602082019150602081019050602083039250610d97565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16610e0982610b04565b73ffffffffffffffffffffffffffffffffffffffff16141515610e2b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001026040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1515610f1f57600080fd5b5af11515610f2c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1614151515610f5957600080fd5b836040518082805190602001908083835b602083101515610f8f5780518252602082019150602081019050602083039250610f6a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020925060046000846000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060008273ffffffffffffffffffffffffffffffffffffffff161415151561102557600080fd5b600460008460001916600019168152602001908152602001600020600080820160006110519190613458565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b151561117d57600080fd5b5af1151561118a57600080fd5b50505082600019167f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156111f45780820151818401526020810190506111d9565b50505050905090810190601f1680156112215780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112886134a0565b6000806000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae600102896040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925082886040518082805190602001908083835b60208310151561131b57805182526020820191506020810190506020830392506112f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902091506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561141057600080fd5b5af1151561141d57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1614151561147357600080600060206040519081016040528060008152509291908292508191508090509650965096509650611548565b600460008a60001916600019168152602001908152602001600020905080600001816003015460008360040154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115355780601f1061150a57610100808354040283529160200191611535565b820191906000526020600020905b81548152906001019060200180831161151857829003601f168201915b5050505050935081915096509650965096505b50505092959194509250565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060008060009054906101000a900460ff161515156115c357600080fd5b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001028a60405180836000191660001916815260200182600019166000191681526020019250505060405180910390209450886040518082805190602001908083835b60208310151561164c5780518252602082019150602081019050602083039250611627565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3878760405180836000191660001916815260200182600019166000191681526020019250505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b151561175857600080fd5b5af1151561176557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1614151561179157600080fd5b600460008b60001916600019168152602001908152602001600020925089600019168360000160405180828054600181600116156101000203166002900480156118125780601f106117f0576101008083540402835291820191611812565b820191906000526020600020905b8154815290600101906020018083116117fe575b505091505060405180910390206000191614151561182f57600080fd5b8260030154341015151561184257600080fd5b8260030154341115611895573373ffffffffffffffffffffffffffffffffffffffff166108fc846003015434039081150290604051600060405180830381858888f19350505050151561189457600080fd5b5b82600301549150600083600301548460040154021180156118cd575060008773ffffffffffffffffffffffffffffffffffffffff1614155b801561192957508260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561198f57620f4240836004015484600301540281151561194657fe5b0490508673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561198957600080fd5b80820391505b60008211156119fd578260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156119fc57600080fd5b5b60008873ffffffffffffffffffffffffffffffffffffffff161415611a20573397505b611a2c85858a896130c1565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168b600019167ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588c87600301546040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611acc578082015181840152602081019050611ab1565b50505050905090810190601f168015611af95780820380516001836020036101000a031916815260200191505b50935050505060405180910390a450505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6f57600080fd5b6000809054906101000a900460ff161515611b8957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905092915050565b600080836040518082805190602001908083835b602083101515611c315780518252602082019150602081019050602083039250611c0c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16611c7e82610b04565b73ffffffffffffffffffffffffffffffffffffffff16141515611ca057600080fd5b846040518082805190602001908083835b602083101515611cd65780518252602082019150602081019050602083039250611cb1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092507f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001028360405180836000191660001916815260200182600019166000191681526020019250505060405180910390209150600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1515611e2457600080fd5b5af11515611e3157600080fd5b5050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60010281565b600080826040518082805190602001908083835b602083101515611ead5780518252602082019150602081019050602083039250611e88565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16611efa82610b04565b73ffffffffffffffffffffffffffffffffffffffff16141515611f1c57600080fd5b6000809054906101000a900460ff161515611f3657600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611f7e57600080fd5b836040518082805190602001908083835b602083101515611fb45780518252602082019150602081019050602083039250611f8f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506004600084600019166000191681526020019081526020016000209150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac84600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15156120ee57600080fd5b5af115156120fb57600080fd5b505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525583600001846003015485600401548660010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168760020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156122b85780601f1061228d576101008083540402835291602001916122b8565b820191906000526020600020905b81548152906001019060200180831161229b57829003601f168201915b50509650505050505050600060405180830381600087803b15156122db57600080fd5b5af115156122e857600080fd5b505050600460008460001916600019168152602001908152602001600020600080820160006123179190613458565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560038201600090556004820160009055505082600019167f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156123de5780820151818401526020810190506123c3565b50505050905090810190601f16801561240b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b600080866040518082805190602001908083835b60208310151561245c5780518252602082019150602081019050602083039250612437565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff166124a982610b04565b73ffffffffffffffffffffffffffffffffffffffff161415156124cb57600080fd5b876040518082805190602001908083835b60208310151561250157805182526020820191506020810190506020830392506124dc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600460008460001916600019168152602001908152602001600020915060008260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806125ac575060008473ffffffffffffffffffffffffffffffffffffffff16145b8061260657508373ffffffffffffffffffffffffffffffffffffffff168260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b151561261157600080fd5b8473ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126ae57848260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600019168260000160405180828054600181600116156101000203166002900480156127125780601f106126f0576101008083540402835291820191612712565b820191906000526020600020905b8154815290600101906020018083116126fe575b505091505060405180910390206000191614151561274457878260000190805190602001906127429291906134b4565b505b8682600301819055508582600401819055508373ffffffffffffffffffffffffffffffffffffffff168260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156127cd575060008473ffffffffffffffffffffffffffffffffffffffff1614155b1561287e57838260020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600019167f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b82600019167f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b6128c7838383336000612423565b505050565b600080836040518082805190602001908083835b60208310151561290557805182526020820191506020810190506020830392506128e0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff1661295282610b04565b73ffffffffffffffffffffffffffffffffffffffff1614151561297457600080fd5b846040518082805190602001908083835b6020831015156129aa5780518252602082019150602081019050602083039250612985565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600460008460001916600019168152602001908152602001600020915060008260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612a3f57600080fd5b838260020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600019167f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050505050565b600080826040518082805190602001908083835b602083101515612b2a5780518252602082019150602081019050602083039250612b05565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16612b7782610b04565b73ffffffffffffffffffffffffffffffffffffffff16141515612b9957600080fd5b836040518082805190602001908083835b602083101515612bcf5780518252602082019150602081019050602083039250612baa565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600460008460001916600019168152602001908152602001600020915082600019167f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a26020604051908101604052806000815250826000019080519060200190612c749291906134b4565b50612c7e83610b04565b8260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082600301819055506000826004018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d3657600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000826040518082805190602001908083835b602083101515612db25780518252602082019150602081019050602083039250612d8d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16612dff82610b04565b73ffffffffffffffffffffffffffffffffffffffff16141515612e2157600080fd5b836040518082805190602001908083835b602083101515612e575780518252602082019150602081019050602083039250612e32565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091508273ffffffffffffffffffffffffffffffffffffffff1660046000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b602083101515612f285780518252602082019150602081019050602083039250612f03565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019167f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a48260046000846000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060a060405180830381600087803b151561308357600080fd5b5af1151561309057600080fd5b5050506040518051906020018051906020018051906020018051906020018051905050505091505080915050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238686306040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b151561319f57600080fd5b5af115156131ac57600080fd5b505050848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15156132ab57600080fd5b5af115156132b857600080fd5b5050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b151561336557600080fd5b5af1151561337257600080fd5b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b151561344157600080fd5b5af1151561344e57600080fd5b5050505050505050565b50805460018160011615610100020316600290046000825580601f1061347e575061349d565b601f01602090049060005260206000209081019061349c9190613534565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106134f557805160ff1916838001178555613523565b82800160010185558215613523579182015b82811115613522578251825591602001919060010190613507565b5b5090506135309190613534565b5090565b61355691905b8082111561355257600081600090555060010161353a565b5090565b905600a165627a7a723058204a2ec41a7a4ef565521711812f8252c0cb8a69f51a8ad8910d3f48acfdc3732d0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b

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

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b


   Swarm Source:
bzzr://4a2ec41a7a4ef565521711812f8252c0cb8a69f51a8ad8910d3f48acfdc3732d

 

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.