Sponsored Link:   Revain - How to find moon tokens to invest? See what crypto experts are saying. Read reviews!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 478 txns
 Latest 25 txns from a total Of 478 transactions (+1 PendingTxn)
View All

TxHash Age From To Value [TxFee]
0xb97a5e63a928960f306a9b27f1d98ab7569e5eeb4905bc8b69354a7b49fd6973(pending)0x63e412701c548f59366ec87a178d9e35dd4dd869  IN  0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether(pending)
0x4cf9a7d6ef4377516398ddbb8a7443bbcb786fd118788e6c8b08055ce601d83c21 hrs 30 mins ago0xe79151556e22bbca4293db2823cb93fe5784ac84  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0009748
0x7535fc29aa938ba05fbeec8b2e8c5b0c98a35e167a729b7cdebafc3e88a9dd2b21 hrs 37 mins ago0xe79151556e22bbca4293db2823cb93fe5784ac84  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001461432
0x3bdb5510fbaff458215a51dc07feba909ac925b41f8ded8cca83c71f8700765c22 hrs 27 mins ago0x5d089c87efe44bb2a5d3b99b85be9f208c3034aa  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0014622
0x358f96ddb2f23cbb7bc3ba2b44271a21d12a80456707784ee3d64436967a4e731 day 17 hrs ago0x23ba4a50e31d7251c872e1a9919e16af82aaa345  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061107
0xd0b36a53d7a5a5e152e5323418892b3d1feab1f851c9066e086c748dad721dc31 day 17 hrs ago0x23ba4a50e31d7251c872e1a9919e16af82aaa345  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061075
0xb24db2394330e5604869601b974872ac9b0e20c6f1ff48aaa22d70fde32fa3de2 days 22 hrs ago0x1e402aa87615e6af8fa49e454b81a263def84c69  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0019708596
0x77a94cce8cb45b67fe2ffb74b89f2be9ee70dae77eacb3bc35c12252b1885f323 days 12 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0013260722
0x8c8600c501748c7617df4333e382543294c48be7d7bf6a56307b61b18bc88b033 days 12 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001474385
0x5b5ffb80a1940c7efb214efc5636007d5b0b25c9f48fabeb4099e8414f2b1bdc3 days 12 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001338238
0x999eb144c09d0d0b05b400c9e42309e8738235cb9aeabbdddf39a7cf1c04e8453 days 12 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001338942
0xb5c09dbaa59b065d2967ec8ceb274d8caf062a212003870824be4098cd2f94963 days 12 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001338942
0xe78d467d4f3c0219bcb4a671569b3c7a6c863d0a16b50b0adcef710ee0bba1873 days 13 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0013260722
0xf3501eb472e451a546888fcc19c3d5a0bc0e45ec478379c6d34bc21384fa699f3 days 13 hrs ago0x35ee6c0de7ee25a7e4ccfb1cf810bce5943a80f4  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00121658
0x35e0861a3da0798d284135d095460b34ac07aaf2b2e11fe76bcefa94ec9792b35 days 15 hrs ago0x8238ad83f2428821641334f17997c07005b73b48  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061085
0x99c524c8067ff4fc8263b7aeedce4683767af95321926a9d0e8e10e5d0bf92c37 days 23 hrs ago0x8b9cc3b15fe072a306b16dedaf10a0af3885b95b  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.000853398
0x316fab7d67b6a92c4c68ea1491396cbd8b04cbcb76d2bc7d6e5be7960fbd7d5510 days 2 hrs ago0x1241eab0e3da36793257d26764286983bb973a96  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.001099926
0xfc51b66e7cb2d10631123f45bb2dc47516a7267186aa82e0e5db34f08c7683a010 days 21 hrs ago0xcf102c91f313d65b1b5707e9ae956a5d837a9069  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00122278
0x40f055b2cf54505841abe51ab711d11cab95ac738f9ee69e32a4bddbef36132111 days 11 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.000734052
0x61100c0f208ce1552c70763dd5e56eb685f8d0be39d96109ab6a486b524e1a7c11 days 12 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00060979
0xe756c96e2682fa2dcd83ba52a86084a5d1c6e176075a793c6e86d4c6ce39f7fc11 days 12 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061427
0xcefd651b38fe017bc76602f3c22c82e924b06474f9408ae0d735a9bddf0a0ee711 days 12 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061235
0xcc991149372ffcc6296c8e66dece3f6d9ed5ac273cedb16f721441cf34c2010b11 days 12 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061235
0x2a388ae952898cf4a2101defe6e9d86bdaec0af9b67e4bf223aead874d24b3ea11 days 12 hrs ago0xdbad5986862403df5e1109595359814f1b560004  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.00061107
0x6f0c1e6b164be473dcd5e6f1ac61c76c7646074cbab8d52ec37fee7eba459d5611 days 20 hrs ago0xc92782b482a4f80e7c85cf1b844d5e032d06bcba  IN   0xfa6512358d241b636edf5f8ccaaf86676dec21a70 Ether0.0004874
[ 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
0xa84d047ae5eb14f36d4430840131b131e51c648029e30c979393d066e1d28c20557837613 days 33 mins ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xcbf177a8487b4fcdb9014c64b9b51a1af83cc05d0.00475 Ether
0xa84d047ae5eb14f36d4430840131b131e51c648029e30c979393d066e1d28c20557837613 days 33 mins ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x052cd8f0423759e025e1a77e244e87f62eab9b320.00025 Ether
0x3aa3553ee65c57875bdd33f1098def4f1f79f13fd7f238b67748a72b94f64277554058719 days 14 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.0027 Ether
0x3aa3553ee65c57875bdd33f1098def4f1f79f13fd7f238b67748a72b94f64277554058719 days 14 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0003 Ether
0x231c4f2dbb9d81f2f15c36c098449b324ee938a2035e952f3407e2e63b2c8c30545290734 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xcbf177a8487b4fcdb9014c64b9b51a1af83cc05d0.00475 Ether
0x231c4f2dbb9d81f2f15c36c098449b324ee938a2035e952f3407e2e63b2c8c30545290734 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.00025 Ether
0xdd9cca6ffcfa9fc64aa3bb90d82151ae05bd23517fdeadf6a1d9d16f5be2a909545163034 days 23 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xf83defe97102b583671377cc444c92c32bcbc59b0.0095 Ether
0xdd9cca6ffcfa9fc64aa3bb90d82151ae05bd23517fdeadf6a1d9d16f5be2a909545163034 days 23 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0005 Ether
0x16d4eb75cce5a688d72942eefeade130c2ebc56de1b1c48a4a961353833196c6542326539 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xcbf177a8487b4fcdb9014c64b9b51a1af83cc05d0.00475 Ether
0x16d4eb75cce5a688d72942eefeade130c2ebc56de1b1c48a4a961353833196c6542326539 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.00025 Ether
0x83387d75034832413e8c1e1f8c534a234654f0d40a515d6b15c540a132143ba3539748744 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.0027 Ether
0x83387d75034832413e8c1e1f8c534a234654f0d40a515d6b15c540a132143ba3539748744 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0003 Ether
0x0d1ec7949c28f9d4723f68bb6e006ab71b918f316ccf48c1d86da58562737933539747944 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.002565 Ether
0x0d1ec7949c28f9d4723f68bb6e006ab71b918f316ccf48c1d86da58562737933539747944 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.000135 Ether
0x055cf732eedff2eacb8485a292caf71441e2d6f9761dbe5834a4eb2ef293c29e539742244 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.0027 Ether
0x055cf732eedff2eacb8485a292caf71441e2d6f9761dbe5834a4eb2ef293c29e539742244 days 1 hr ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0003 Ether
0xdcc4cf1869e579e196634b1091baef08e5571afca2481d379b605fb52953ec88536649149 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xf83defe97102b583671377cc444c92c32bcbc59b0.0095 Ether
0xdcc4cf1869e579e196634b1091baef08e5571afca2481d379b605fb52953ec88536649149 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0005 Ether
0x8453161025dedac7fd4e9b13d6b3259b60cccaa5dd338bd736b88e5942abf9fb536648349 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xcbf177a8487b4fcdb9014c64b9b51a1af83cc05d0.00475 Ether
0x8453161025dedac7fd4e9b13d6b3259b60cccaa5dd338bd736b88e5942abf9fb536648349 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.00025 Ether
0x31f152049cd117d4418fe25134ea3d4ac56ca4f05033c67aa93e47a08461acfa536647849 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xcbf177a8487b4fcdb9014c64b9b51a1af83cc05d0.00475 Ether
0x31f152049cd117d4418fe25134ea3d4ac56ca4f05033c67aa93e47a08461acfa536647849 days 4 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.00025 Ether
0x848ed14b914f48b142a9abd39e30609a47916dfa0f7af196ccc5eafe8c77f7cf535082951 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.0027 Ether
0x848ed14b914f48b142a9abd39e30609a47916dfa0f7af196ccc5eafe8c77f7cf535082951 days 18 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70x0904dac3347ea47d208f3fd67402d039a3b998590.0003 Ether
0x90457de915c845fe4c5ca04b9cd3d4761ebe36cdd719ff4656b1eb67aabf48c1532821955 days 14 hrs ago0xfa6512358d241b636edf5f8ccaaf86676dec21a70xe08c5c6d17be3ab837b421723e9215bb9902c9f10.0027 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: SubdomainRegistrar
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.4;

/**
 * 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() {
        records[0].owner = msg.sender;
    }

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

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

    /**
     * Returns the TTL of a node, and any records associated with it.
     */
    function ttl(bytes32 node) 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) 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) 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) 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) only_owner(node) {
        NewTTL(node, ttl);
        records[node].ttl = ttl;
    }
}

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

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) 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;
}
/**
 * @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 two key properties of a listed domain:
 *
 * - Is the name UTS46 normalised?
 * - Is the Deed held by an appropriate custodian contract?
 *
 * 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;

  ENS public ens;

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

  mapping(bytes32=>Domain) domains;

  function SubdomainRegistrar(ENS _ens) public {
    ens = _ens;
  }

  /**
   * @dev owner returns the address of the account that controls a domain.
   *      Initially this is the owner of the name in ENS. If the name has been
   *      transferred to this contract, then the internal mapping is consulted
   *      to determine who controls it.
   * @param label The label hash of the deed to check.
   * @return The address owning the deed.
   */
  function owner(bytes32 label) public view returns(address ret) {
      ret = ens.owner(keccak256(TLD_NODE, label));
      if(ret == address(this)) {
        ret = domains[label].owner;
      }
  }

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

  /**
   * @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)) {
    var 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)) {
    var label = keccak256(name);
    var 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 owner_only(keccak256(name)) {
    var label = keccak256(name);
    var domain = domains[label];

    if(keccak256(domain.name) != label) {
      // New listing
      domain.name = name;
    }
    if(domain.owner != msg.sender) {
      domain.owner = msg.sender;
    }
    domain.price = price;
    domain.referralFeePPM = referralFeePPM;
    DomainConfigured(label);
  }

  /**
   * @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)) {
    var label = keccak256(name);
    var 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) view returns(string domain, uint price, uint rent, uint referralFeePPM) {
    var node = keccak256(TLD_NODE, label);
    var subnode = keccak256(node, keccak256(subdomain));

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

    var 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 resolver, address referrer) public payable {
    var domainNode = keccak256(TLD_NODE, label);
    var subdomainLabel = keccak256(subdomain);

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

    var 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
    var total = domain.price;
    if(domain.referralFeePPM * domain.price > 0 && referrer != 0 && referrer != domain.owner) {
      var 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);

    var 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) constant returns (bool) {
    return (
         (interfaceID == 0x01ffc9a7) // supportsInterface(bytes4)
      || (interfaceID == 0xc1b15f5a) // RegistrarInterface
    );
  }

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

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

    Contract ABI  
[{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"label","type":"bytes32"}],"name":"owner","outputs":[{"name":"ret","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":"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":"resolver","type":"address"},{"name":"referrer","type":"address"}],"name":"register","outputs":[],"payable":true,"stateMutability":"payable","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":"TLD_NODE","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","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":"configureDomain","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":"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":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
6060604052341561000f57600080fd5b604051602080611f8883398101604052808051906020019091905050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611f0d8061007b6000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100bf57806302571be3146101195780632eef3d65146101805780633f15457f146102785780634254b155146102cd578063660b7ad514610389578063733ccaba1461040757806396df354014610483578063cb01a9bf146104b4578063da1fe7d514610513578063e34e788914610582578063fbf58b3e146105df575b600080fd5b34156100ca57600080fd5b6100ff60048080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909190505061065b565b604051808215151515815260200191505060405180910390f35b341561012457600080fd5b61013e6004808035600019169060200190919050506106f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561018b57600080fd5b6101e860048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061087f565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561023a57808201518184015260208101905061021f565b50505050905090810190601f1680156102675780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561028357600080fd5b61028b610b5f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61038760048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b84565b005b341561039457600080fd5b6103f160048080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506110e8565b6040518082815260200191505060405180910390f35b341561041257600080fd5b610481600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611113565b005b341561048e57600080fd5b610496611359565b60405180826000191660001916815260200191505060405180910390f35b61051160048080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611380565b005b341561051e57600080fd5b610580600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091905050611385565b005b341561058d57600080fd5b6105dd600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061162d565b005b34156105ea57600080fd5b610659600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611816565b005b60006301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106ee575063c1b15f5a7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001028460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15156107e757600080fd5b6102c65a03f115156107f857600080fd5b5050506040518051905090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561087a5760016000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b610887611e28565b6000806000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae600102896040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925082886040518082805190602001908083835b60208310151561091a57805182526020820191506020810190506020830392506108f5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020915060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1515610a1757600080fd5b6102c65a03f11515610a2857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff16141515610a7e57600080600060206040519081016040528060008152509291908292508191508090509650965096509650610b53565b600160008a60001916600019168152602001908152602001600020905080600001816002015460008360030154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b405780601f10610b1557610100808354040283529160200191610b40565b820191906000526020600020905b815481529060010190602001808311610b2357829003601f168201915b5050505050935081915096509650965096505b50505092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6001028a60405180836000191660001916815260200182600019166000191681526020019250505060405180910390209450886040518082805190602001908083835b602083101515610c155780518252602082019150602081019050602083039250610bf0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3878760405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1515610d2957600080fd5b6102c65a03f11515610d3a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff16141515610d6657600080fd5b600160008b6000191660001916815260200190815260200160002092508960001916836000016040518082805460018160011615610100020316600290048015610de75780601f10610dc5576101008083540402835291820191610de7565b820191906000526020600020905b815481529060010190602001808311610dd3575b5050915050604051809103902060001916141515610e0457600080fd5b82600201543410151515610e1757600080fd5b8260020154341115610e6a573373ffffffffffffffffffffffffffffffffffffffff166108fc846002015434039081150290604051600060405180830381858888f193505050501515610e6957600080fd5b5b8260020154915060008360020154846003015402118015610ea2575060008673ffffffffffffffffffffffffffffffffffffffff1614155b8015610efe57508260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15610f6457620f42408360030154846002015402811515610f1b57fe5b0490508573ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610f5e57600080fd5b80820391505b6000821115610fd2578260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610fd157600080fd5b5b60008873ffffffffffffffffffffffffffffffffffffffff161415610ff5573397505b61100185858a8a611a84565b8573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168b600019167ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588c87600201546040518080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156110a1578082015181840152602081019050611086565b50505050905090810190601f1680156110ce5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a450505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905092915050565b600080836040518082805190602001908083835b60208310151561114c5780518252602082019150602081019050602083039250611127565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff16611199826106f5565b73ffffffffffffffffffffffffffffffffffffffff161415156111bb57600080fd5b846040518082805190602001908083835b6020831015156111f157805182526020820191506020810190506020830392506111cc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092507f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60010283604051808360001916600019168152602001826000191660001916815260200192505050604051809103902091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b151561133e57600080fd5b6102c65a03f1151561134f57600080fd5b5050505050505050565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60010281565b600080fd5b600080846040518082805190602001908083835b6020831015156113be5780518252602082019150602081019050602083039250611399565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff1661140b826106f5565b73ffffffffffffffffffffffffffffffffffffffff1614151561142d57600080fd5b856040518082805190602001908083835b602083101515611463578051825260208201915060208101905060208303925061143e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600160008460001916600019168152602001908152602001600020915082600019168260000160405180828054600181600116156101000203166002900480156115135780601f106114f1576101008083540402835291820191611513565b820191906000526020600020905b8154815290600101906020018083116114ff575b50509150506040518091039020600019161415156115455785826000019080519060200190611543929190611e3c565b505b3373ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156115e257338260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b84826002018190555083826003018190555082600019167f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a2505050505050565b600080826040518082805190602001908083835b6020831015156116665780518252602082019150602081019050602083039250611641565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff166116b3826106f5565b73ffffffffffffffffffffffffffffffffffffffff161415156116d557600080fd5b836040518082805190602001908083835b60208310151561170b57805182526020820191506020810190506020830392506116e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600160008460001916600019168152602001908152602001600020915082600019167f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a260206040519081016040528060008152508260000190805190602001906117b0929190611e3c565b506117ba836106f5565b8260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082600201819055506000826003018190555050505050565b6000826040518082805190602001908083835b60208310151561184e5780518252602082019150602081019050602083039250611829565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390203373ffffffffffffffffffffffffffffffffffffffff1661189b826106f5565b73ffffffffffffffffffffffffffffffffffffffff161415156118bd57600080fd5b836040518082805190602001908083835b6020831015156118f357805182526020820191506020810190506020830392506118ce565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091508273ffffffffffffffffffffffffffffffffffffffff1660016000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831015156119c4578051825260208201915060208101905060208303925061199f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019167f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a48260016000846000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238686306040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b1515611b6157600080fd5b6102c65a03f11515611b7257600080fd5b5050508484604051808360001916600019168152602001826000191660001916815260200192505050604051809103902090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1515611c7057600080fd5b6102c65a03f11515611c8157600080fd5b5050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1515611d2e57600080fd5b6102c65a03f11515611d3f57600080fd5b5050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1515611e0d57600080fd5b6102c65a03f11515611e1e57600080fd5b5050505050505050565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e7d57805160ff1916838001178555611eab565b82800160010185558215611eab579182015b82811115611eaa578251825591602001919060010190611e8f565b5b509050611eb89190611ebc565b5090565b611ede91905b80821115611eda576000816000905550600101611ec2565b5090565b905600a165627a7a7230582041a6435dd93573935c3578cc0f72e50c975bca17258053e2ace2e23c9954730d0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b

    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://41a6435dd93573935c3578cc0f72e50c975bca17258053e2ace2e23c9954730d

 

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.