Sponsored Link:   SocialMedia.Market - The most cost effective advertising platform with 1069% ROI. Join ICO Now!
Contract Overview | ENS-ReverseRegistrar
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 1692 txns
Misc  
   
Address Watch Add To Watch List
Contract Creator 0xfdb33f8ac7ce72d7d4795dd8610e323b4c122fbbat txn 0x0c4bb1d89d06fed54f923a6b4b67c85000af887b64b1e2c02fb6680d2843c238
Token Tracker
  Latest 25 txns from a total Of 1692 transactions View All

TxHash Age From To Value [TxFee]
0x6ead2ea2985e8b68645258f7d3afacad6ce0112ba53ecb7001c9b4b7e55832e026 mins ago0xb78f3052e5e0d204efce8dd7e66628f10feecb8a  IN   ENS-ReverseRegistrar0 Ether0.00009313
0x1355ef8cf9b165c5345ade05c67d27378242c43495762643be68421a1257316340 mins ago0xb78f3052e5e0d204efce8dd7e66628f10feecb8a  IN   ENS-ReverseRegistrar0 Ether0.000210928
0x6d0b573f0e6922b321ac1b2402e34b68a6be1b5fbf12ccacec2b899a9a5a13422 hrs 26 mins ago0xcc3713509f49df3a4e1844c4edad3719db3dc15e  IN   ENS-ReverseRegistrar0 Ether0.000421344
0x33bda50ea91fbf315185e2cd24b1b0e92429aa109785168a9e6c56851dd2d4ef2 hrs 58 mins ago0xf649daf015156d7306cf8b23b12f9aafbba6b0f6  IN   ENS-ReverseRegistrar0 Ether0.0003162
0x471004bb84b8d1a91eb008e34466044bfefb7d525dc1a3912edb1a21c82af51c1 day 8 hrs ago0xd01ffec05835d2f6b7c34df470d045ce0c58433d  IN   ENS-ReverseRegistrar0 Ether0.000370984
0xb0e422c786ac693da7f97f336f2dc2ab429ace1a455854e86d3c506d6248bba21 day 8 hrs ago0xd01ffec05835d2f6b7c34df470d045ce0c58433d  IN   ENS-ReverseRegistrar0 Ether0.000842176
0xfed73d3a8ba6042bd187e6699537bad2385e77b7f62cb68c04f0c255c5c6ea5b1 day 13 hrs ago0x137a283c517927ffcf0270ac5ba378a42b89ee95  IN   ENS-ReverseRegistrar0 Ether0.002273368
0x69e658a8f11ca9b8e009e265d597655cd6f4ef1758bb92c1ebaa47e29ee4614a1 day 15 hrs ago0xcef7b05112463b473e206da04a04612a74b187a3  IN   ENS-ReverseRegistrar0 Ether0.000180658
0x858a7a9a2a884931c37857e91c065eb76a68f21ef068b25b443891842bd6f7bb1 day 23 hrs ago0x9f87db60ada8779d2d710e4e13a5a111bbbee79d  IN   ENS-ReverseRegistrar0 Ether0.000210544
0x5f4b4a9c10e34ff8a2f706a1791a3d3ca99d629b872ffecb08b895fcd0079ae91 day 23 hrs ago0x137a283c517927ffcf0270ac5ba378a42b89ee95  IN   ENS-ReverseRegistrar0 Ether0.001546684
0xdc3fec50292ae24878e59497df496895be9c16fe6981c992cbd9b16906a4904f2 days 22 hrs ago0x3b33e94a77a1958f7431b3136b1fc772402b78fc  IN   ENS-ReverseRegistrar0 Ether0.001911789
0x067d8dc942d2b80e334bd2e5e16112678c3a7e03befec12905696b4fd611ed762 days 22 hrs ago0x3b33e94a77a1958f7431b3136b1fc772402b78fc  IN   ENS-ReverseRegistrar0 Ether0.004313528
0x99bde94d45c800df5a0c765e3221719623ce03d14cd88c2e7ddb28f14fa54ea73 days 2 hrs ago0xa89817ddca970571b6abd92d913fe4fcee34da2d  IN   ENS-ReverseRegistrar0 Ether0.0001054
0xa0c42a07fc693174416618cf678239953dad9f37245a6dd2a7469f49f4d4abad3 days 8 hrs ago0xadfcc9f9ec7940c3fb0614a325916ce71dc4da9f  IN   ENS-ReverseRegistrar0 Ether0.000105208
0xcbe28cf3c2d668a9c49ed5338969a4df8f9969a3d2618b2f5611adee7745693b3 days 20 hrs ago0xa4ba72c49f876869b87d2936f624b5e7eff77266  IN   ENS-ReverseRegistrar0 Ether0.002161684
0x43409220cebbde15c7376bc2feddae2bbb10a0bc84d3b0b876478569c621f4b64 days 11 hrs ago0xd3d8014d3fe22000ec30cef249037ce3b3243ff1  IN   ENS-ReverseRegistrar0 Ether0.004316152
0xdb8f9fb1a4a6d5d2c4061e53a55e488cb83920c3987f0fd66d1b04616c0cbd834 days 22 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046693
0xe8f56e70f9bf0b21d57e963458e7f216106a574c39bf55146ed398f11e33f42e4 days 22 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046373
0xd179d23ec4039be41e3139c8e5dca03201fbfa2377c9a4bc434916c3d77a84874 days 22 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046693
0xaadacc45b7d62d2f814fad8be20bd827ec48e3de1732765eed98dc6260602c6f4 days 22 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046373
0x46c1e1204f68ae35b13c08bcd4649ae577a827cc990bbe627545b793b7d7585d4 days 22 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046373
0x6a11a7157f2116942f1db6f165ea484e4f0d612dfdd28e3f6df8e24a0611f37d4 days 23 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046437
0x14f82fba127cd4216f74c6f038f4fcc279d5fd76fd6c8bd2e5b6b066b6b961fa4 days 23 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046437
0xb066ba15483c28c38888557c145d9d8fe83df631cfd03565af0cb259c9975fdc4 days 23 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046373
0x514dba757abd30785bfafa52689a294d02171fca27e54dbdedf84a4b74d777184 days 23 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000046373
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: ReverseRegistrar
Compiler Version: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.10;

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

contract Resolver {
    function setName(bytes32 node, string name) public;
}

/**
 * @dev Provides a default implementation of a resolver for reverse records,
 * which permits only the owner to update it.
 */
contract DefaultReverseResolver is Resolver {
    // namehash('addr.reverse')
    bytes32 constant ADDR_REVERSE_NODE = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2;

    AbstractENS public ens;
    mapping(bytes32=>string) public name;
    
    /**
     * @dev Constructor
     * @param ensAddr The address of the ENS registry.
     */
    function DefaultReverseResolver(AbstractENS ensAddr) {
        ens = ensAddr;

        // Assign ownership of the reverse record to our deployer
        var registrar = ReverseRegistrar(ens.owner(ADDR_REVERSE_NODE));
        if(address(registrar) != 0) {
            registrar.claim(msg.sender);
        }
    }

    /**
     * @dev Only permits calls by the reverse registrar.
     * @param node The node permission is required for.
     */
    modifier owner_only(bytes32 node) {
        require(msg.sender == ens.owner(node));
        _;
    }

    /**
     * @dev Sets the name for a node.
     * @param node The node to update.
     * @param _name The name to set.
     */
    function setName(bytes32 node, string _name) public owner_only(node) {
        name[node] = _name;
    }
}

contract ReverseRegistrar {
    // namehash('addr.reverse')
    bytes32 constant ADDR_REVERSE_NODE = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2;

    AbstractENS public ens;
    Resolver public defaultResolver;

    /**
     * @dev Constructor
     * @param ensAddr The address of the ENS registry.
     * @param resolverAddr The address of the default reverse resolver.
     */
    function ReverseRegistrar(AbstractENS ensAddr, Resolver resolverAddr) {
        ens = ensAddr;
        defaultResolver = resolverAddr;

        // Assign ownership of the reverse record to our deployer
        var oldRegistrar = ReverseRegistrar(ens.owner(ADDR_REVERSE_NODE));
        if(address(oldRegistrar) != 0) {
            oldRegistrar.claim(msg.sender);
        }
    }
    
    /**
     * @dev Transfers ownership of the reverse ENS record associated with the
     *      calling account.
     * @param owner The address to set as the owner of the reverse record in ENS.
     * @return The ENS node hash of the reverse record.
     */
    function claim(address owner) returns (bytes32 node) {
        return claimWithResolver(owner, 0);
    }

    /**
     * @dev Transfers ownership of the reverse ENS record associated with the
     *      calling account.
     * @param owner The address to set as the owner of the reverse record in ENS.
     * @param resolver The address of the resolver to set; 0 to leave unchanged.
     * @return The ENS node hash of the reverse record.
     */
    function claimWithResolver(address owner, address resolver) returns (bytes32 node) {
        var label = sha3HexAddress(msg.sender);
        node = sha3(ADDR_REVERSE_NODE, label);
        var currentOwner = ens.owner(node);

        // Update the resolver if required
        if(resolver != 0 && resolver != ens.resolver(node)) {
            // Transfer the name to us first if it's not already
            if(currentOwner != address(this)) {
                ens.setSubnodeOwner(ADDR_REVERSE_NODE, label, this);
                currentOwner = address(this);
            }
            ens.setResolver(node, resolver);
        }

        // Update the owner if required
        if(currentOwner != owner) {
            ens.setSubnodeOwner(ADDR_REVERSE_NODE, label, owner);
        }

        return node;
    }

    /**
     * @dev Sets the `name()` record for the reverse ENS record associated with
     * the calling account. First updates the resolver to the default reverse
     * resolver if necessary.
     * @param name The name to set for this address.
     * @return The ENS node hash of the reverse record.
     */
    function setName(string name) returns (bytes32 node) {
        node = claimWithResolver(this, defaultResolver);
        defaultResolver.setName(node, name);
        return node;
    }

    /**
     * @dev Returns the node hash for a given account's reverse records.
     * @param addr The address to hash
     * @return The ENS node hash.
     */
    function node(address addr) constant returns (bytes32 ret) {
        return sha3(ADDR_REVERSE_NODE, sha3HexAddress(addr));
    }

    /**
     * @dev An optimised function to compute the sha3 of the lower-case
     *      hexadecimal representation of an Ethereum address.
     * @param addr The address to hash
     * @return The SHA3 hash of the lower-case hexadecimal encoding of the
     *         input address.
     */
    function sha3HexAddress(address addr) private returns (bytes32 ret) {
        addr; ret; // Stop warning us about unused variables
        assembly {
            let lookup := 0x3031323334353637383961626364656600000000000000000000000000000000
            let i := 40
        loop:
            i := sub(i, 1)
            mstore8(i, byte(and(addr, 0xf), lookup))
            addr := div(addr, 0x10)
            i := sub(i, 1)
            mstore8(i, byte(and(addr, 0xf), lookup))
            addr := div(addr, 0x10)
            jumpi(loop, i)
            ret := sha3(0, 40)
        }
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"resolver","type":"address"}],"name":"claimWithResolver","outputs":[{"name":"node","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"claim","outputs":[{"name":"node","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ens","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"defaultResolver","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"node","outputs":[{"name":"ret","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"}],"name":"setName","outputs":[{"name":"node","type":"bytes32"}],"payable":false,"type":"function"},{"inputs":[{"name":"ensAddr","type":"address"},{"name":"resolverAddr","type":"address"}],"payable":false,"type":"constructor"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000c57fe5b6040516040806108ae8339810160405280516020909101515b60008054600160a060020a03808516600160a060020a0319928316178084556001805486841694169390931790925560408051602090810185905281517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152915193909216926302571be39260248084019391929182900301818787803b15156100d257fe5b6102c65a03f115156100e057fe5b505060405151915050600160a060020a038116156101835780600160a060020a0316631e83409a336000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b151561017157fe5b6102c65a03f1151561017f57fe5b5050505b5b5050505b610717806101976000396000f300606060405236156100755763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f5a546681146100775780631e83409a146100ab5780633f15457f146100d9578063828eab0e14610105578063bffbe61c14610131578063c47f00271461015f575bfe5b341561007f57fe5b610099600160a060020a03600435811690602435166101c7565b60408051918252519081900360200190f35b34156100b357fe5b610099600160a060020a03600435166104f4565b60408051918252519081900360200190f35b34156100e157fe5b6100e9610509565b60408051600160a060020a039092168252519081900360200190f35b341561010d57fe5b6100e9610518565b60408051600160a060020a039092168252519081900360200190f35b341561013957fe5b610099600160a060020a0360043516610527565b60408051918252519081900360200190f35b341561016757fe5b610099600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061056195505050505050565b60408051918252519081900360200190f35b6000600060006101d63361066b565b604080516000805160206106cc83398151915281526020808201849052825191829003830182206000805493830181905284517f02571be3000000000000000000000000000000000000000000000000000000008152600481018390529451919850949650600160a060020a03909216936302571be39360248082019492918390030190829087803b151561026757fe5b6102c65a03f1151561027557fe5b505060405151915050600160a060020a0384161580159061032257506000805460408051602090810184905281517f0178b8bf000000000000000000000000000000000000000000000000000000008152600481018890529151600160a060020a0390931693630178b8bf936024808501949192918390030190829087803b15156102fc57fe5b6102c65a03f1151561030a57fe5b505060405151600160a060020a038681169116141590505b1561044b5730600160a060020a031681600160a060020a03161415156103d25760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a033081166044830152915191909216926306ab5923926064808201939182900301818387803b15156103bd57fe5b6102c65a03f115156103cb57fe5b5050503090505b60008054604080517f1896f70a00000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a03888116602483015291519190921692631896f70a926044808201939182900301818387803b151561043957fe5b6102c65a03f1151561044757fe5b5050505b600160a060020a03818116908616146104eb5760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a038981166044830152915191909216926306ab5923926064808201939182900301818387803b15156104d957fe5b6102c65a03f115156104e757fe5b5050505b5b505092915050565b60006105018260006101c7565b90505b919050565b600054600160a060020a031681565b600154600160a060020a031681565b60006000805160206106cc8339815191526105418361066b565b60408051928352602083019190915280519182900301902090505b919050565b60015460009061057b903090600160a060020a03166101c7565b600154604080517f773722130000000000000000000000000000000000000000000000000000000081526004810184815260248201928352865160448301528651949550600160a060020a03909316936377372213938693889391929091606401906020850190808383821561060c575b80518252602083111561060c57601f1990920191602091820191016105ec565b505050905090810190601f1680156106385780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b151561065457fe5b6102c65a03f1151561066257fe5b5050505b919050565b60007f303132333435363738396162636465660000000000000000000000000000000060285b60001901600f841682901a815360109093049260001901600f841682901a815360108404935080610691576028600020925050505b919050560091d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2a165627a7a72305820b5a0fc071ea98f50e75fb7b3a50f25e129679487596a27697ba42f422dc0d6dc0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b0000000000000000000000005fbb459c49bb06083c33109fa4f14810ec2cf358

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

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


   Swarm Source:
bzzr://b5a0fc071ea98f50e75fb7b3a50f25e129679487596a27697ba42f422dc0d6dc

 

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.