Sponsored Link:   Qravity - the only blockchain entertainment production studio and distributor. Learn more.
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 467 txns
 Latest 25 txns from a total Of 467 transactions
View All

TxHash Age From To Value [TxFee]
0xa7c9b68b3c960e6f8cabe07ee1cf4718cc96eb6a7a9238e4c50d4d9b95ac2d144 hrs 37 mins ago0xfee3d02d88c1da0e17f77d119434c0a6f91a3f58  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000121982
0x0eeb4a4d97d80b3f4402040fde900d7ac4c3b5e5531e33e21e51c1b044d4ccf32 days 15 hrs ago0xf65ed47bb3240e110edd20b5e44aa4b7603bd28b  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.0049894
0x671f6abc4f7eb06c02bbd35022d4e65642e0398df1d31e9f482ad057d5a8f1c52 days 16 hrs ago0xf65ed47bb3240e110edd20b5e44aa4b7603bd28b  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.0024905
0x53334ea14b37b56df5b3acb829b424041661e77edf0981fc284d85b997e9c02e2 days 16 hrs ago0xf65ed47bb3240e110edd20b5e44aa4b7603bd28b  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00145
0x5f03001652e857715c4a6cbd7b4204d17cc0af61082ffc17a676da088e1457a02 days 22 hrs ago0xcf098551d9555f7d34466e5977452bf8c6f95e5a  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.001952736
0x22193cc498da889c1af34195229d0e90b10bf7b6bc5613605f2fdea1bec315e03 days 20 hrs ago0x526877bbff7b482b894a63e27cd7d4b76d83125b  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.005381288
0x4d94c1ca4119486e1728552415f15a2aa7ecd5ac9813ab3b40debade598b6ecf3 days 21 hrs ago0x526877bbff7b482b894a63e27cd7d4b76d83125b  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.005370024
0x4d650f77c000e26fd68c6b19810c07d26116aaf23cac7ed9ebd645183381cc594 days 23 hrs ago0xe7bbc8fea57a92fc307d650d78e5481b25ccedff  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.002110066
0x5a8da0231c31aca342664ae1c389a9ea6a06349171341fd0fb90d05366ab71785 days 10 hrs ago0xc00ee8b4976ed9958e9fa0f4611a5cf762ab1750  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00024653292
0xedaac5dc4ee7dc579aa554dffd1c8a9ca96b0c5ac57a276fc5740a6c1b8102f15 days 22 hrs ago0xe7bbc8fea57a92fc307d650d78e5481b25ccedff  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00723879
0x269d5fed410ea2fe41cbf10d07bdbc9afa62074f3116f99af79d7387cde176b16 days 3 hrs ago0x27fb5722b476b4de3853dd60935f859f79130b31  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000192966
0x91747b62bc439843e448d960ba5250b808cbed3c5beea617c7a72897c8e670ef6 days 3 hrs ago0x27fb5722b476b4de3853dd60935f859f79130b31  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00032161
0x4c67913b596e3b51fd0bdae019c703d1330eadeab8e0e25406905035bf2ea1c56 days 3 hrs ago0x27fb5722b476b4de3853dd60935f859f79130b31  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000121982
0xbbcc57ee74193403d5a2aabc527e5c2a94b94c132162879726e43a54df1bacbc6 days 6 hrs ago0x04b94f3f1d723eff7be6c94f2e3e7576ca818d26  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000122238
0x5c09083960e7a10e205d9bf13b93fc9c7a965da5f0e99a81e6a98011fd43c5297 days 14 hrs ago0xfaf95953a36ed1e8f8426ab5b7eb53da246e3476  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.0002454411
0xbbd5c349315a4bd48747373acb0badf1bf9cd4f7022d69e04c17861fd46b8a6c8 days 4 mins ago0x6622e301f757bbaec6cfb34c03338da4358d94da  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.000855666
0x7b2bf1bdc4c4f17d7d058183550d132bdd033533ac701718d34492e8ac79f9e29 days 18 hrs ago0xfec898b95380a4bbed43cec73d90c3efca5e09db  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.001326473
0x654bf51084d14b4e137952ddeaf0a92ea6191cfc6a25f563c8c1c359564659349 days 18 hrs ago0xfec898b95380a4bbed43cec73d90c3efca5e09db  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.005009134
0x72b63b93a841617925b4d798f88f720bf2e252d660bf35bf1329c2a7c384289110 days 22 hrs ago0xcf098551d9555f7d34466e5977452bf8c6f95e5a  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.005 Ether0.002217378
0x97fe180c53b81608c5bbc39669474f1cc7e4e14ec11b3e75a83d518636c227a111 days 19 hrs ago0xcf098551d9555f7d34466e5977452bf8c6f95e5a  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.004 Ether0.00303985
0x1ad1ea03555d992726576c2d1f2012d313b319c47f6e42943c53e9a0debd04e011 days 19 hrs ago0xcf098551d9555f7d34466e5977452bf8c6f95e5a  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.003 Ether0.00303985
0x5fe01f2485b7ba50c824b3ffa0e4a61d9bd370a005cfd22fb27f919d1038562f14 days 15 hrs ago0x7bbafe4c3c3cc17e9e6e65e4b62f557d0707d60e  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10 Ether0.00061119
0xa22e2e624df7898cedacf6288a39e5eff48a7c3c4582293f19f6bf1a07b24a3315 days 14 hrs ago0x8238ad83f2428821641334f17997c07005b73b48  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.004 Ether0.000690235
0x52a7136223103d1d1a7246cfb556d82b18594d3377f4b8231dc8e202f3ad06fd21 days 23 hrs ago0x8bed3df840c94865b76a8082b3b9f3dc550b8e77  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.00005 Ether0.000692475
0x6f892fd4d8d3360d77304ec76119ae69cd3a308aaf966956cee287f069bcfefa22 days 9 hrs ago0x9d3962333206322142ad39149c332321b2ecb4e2  IN   0x0b07463b30b302a98407d3e3df85ebc073b0dbd10.005 Ether0.000130436
[ 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
0x72b63b93a841617925b4d798f88f720bf2e252d660bf35bf1329c2a7c3842891574778610 days 22 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xdecaf9cd2367cdbb726e904cd6397edfcae6068d0.005 Ether
0x97fe180c53b81608c5bbc39669474f1cc7e4e14ec11b3e75a83d518636c227a1574291611 days 19 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0x97fe180c53b81608c5bbc39669474f1cc7e4e14ec11b3e75a83d518636c227a1574291611 days 19 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xdecaf9cd2367cdbb726e904cd6397edfcae6068d0.00004 Ether
0x1ad1ea03555d992726576c2d1f2012d313b319c47f6e42943c53e9a0debd04e0574290011 days 19 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0c0d60143c9168fdf88b307e3493b6caa71e9e6e0.0027 Ether
0x1ad1ea03555d992726576c2d1f2012d313b319c47f6e42943c53e9a0debd04e0574290011 days 19 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xdecaf9cd2367cdbb726e904cd6397edfcae6068d0.0003 Ether
0xa22e2e624df7898cedacf6288a39e5eff48a7c3c4582293f19f6bf1a07b24a33572156515 days 14 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0xa22e2e624df7898cedacf6288a39e5eff48a7c3c4582293f19f6bf1a07b24a33572156515 days 14 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.00004 Ether
0x52a7136223103d1d1a7246cfb556d82b18594d3377f4b8231dc8e202f3ad06fd568549921 days 23 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x52a7136223103d1d1a7246cfb556d82b18594d3377f4b8231dc8e202f3ad06fd568549921 days 23 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x3078f9d077cb93d0be4f0fd4045e93293ae722e1482b5707c73b4920c3905f4b566405825 days 18 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x3078f9d077cb93d0be4f0fd4045e93293ae722e1482b5707c73b4920c3905f4b566405825 days 18 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x2c66ae4c2d3bb52bc25efb6bfca5e31ef318cce2e766ff5dd2e7939b422c8770560547136 days 3 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x2c66ae4c2d3bb52bc25efb6bfca5e31ef318cce2e766ff5dd2e7939b422c8770560547136 days 3 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x8b99eb8aff6d1c5ebb7fb36fb3d65596a2f6da6473430e3e70dd71c128b29799559650837 days 16 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0x8b99eb8aff6d1c5ebb7fb36fb3d65596a2f6da6473430e3e70dd71c128b29799559650837 days 16 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0xbe4727db623c33c1a860d064cc6418f694eb83246f9ad9de32d768425896a4a5554710646 days 7 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0131fb81adc8501b989ca9aeb1a70b1f19f80c830.0000425 Ether
0xbe4727db623c33c1a860d064cc6418f694eb83246f9ad9de32d768425896a4a5554710646 days 7 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.0000075 Ether
0x47cbc5d047f1cc9a71c0a953981ba37c643d2854ad858bded5bc4fb8c12c9d0e551653751 days 15 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0x1a4b6be8b80e0df0079be7a03202952adb3406eaac0740e32486c17417b094ba546462160 days 14 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0x1a4b6be8b80e0df0079be7a03202952adb3406eaac0740e32486c17417b094ba546462160 days 14 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xdecaf9cd2367cdbb726e904cd6397edfcae6068d0.00004 Ether
0x6a0a13780682d355181cf07718291c6c59260b16afff7b5b5c7c975370ebc61f536645977 days 1 hr ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0x47163aec2d0e3b0d9e47060e2d87cf79cb821c7241b80be4dea1a9f016e2d4e6536283777 days 15 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10xe0a97c2634c0b1d2530b2f92e46697460692ca0c0.00396 Ether
0x47163aec2d0e3b0d9e47060e2d87cf79cb821c7241b80be4dea1a9f016e2d4e6536283777 days 15 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.00004 Ether
0x7957b9781e6fb426086451c250809035703e077065840bbfc35c23232f7382e6536280677 days 15 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0904dac3347ea47d208f3fd67402d039a3b998590.005 Ether
0xe1f035896eaf29f254024e695e7bb5202625e0b422df352a69aaa75288898711535082779 days 15 hrs ago0x0b07463b30b302a98407d3e3df85ebc073b0dbd10x0c0d60143c9168fdf88b307e3493b6caa71e9e6e0.0027 Ether
[ Download CSV Export  ] 
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.