Sponsored:   Color - Revolutionizing the Dapp Ecosystem, Bounty & Airdrop, Get 240,000 COL NOW!
Contract Overview | ENS-ReverseRegistrar
Balance: 0 Ether
Ether Value: $0
Transactions: 2071 txns
Misc
Address Watch: Add To Watch List
Contract Creator: 0xfdb33f8ac7ce72d7d4795dd8610e323b4c122fbbat txn 0x0c4bb1d89d06fed54f923a6b4b67c85000af887b64b1e2c02fb6680d2843c238
Token Balances:
 Latest 25 txns from a total Of 2071 transactions

TxHash Age From To Value [TxFee]
0xe9797ce1f04b8bd22e02d8bd4eb0f8eb97a73bfa46b0ea698f2dec5c420088701 day 17 hrs ago0x750a31fa07184caf87b6cce251d2f0d7928badde  IN   ENS-ReverseRegistrar0 Ether0.000225987
0xac12d16393d3ec723516c60e1bcb1d33ae99eb156cc4216e03b9e70e06eb49e71 day 17 hrs ago0x750a31fa07184caf87b6cce251d2f0d7928badde  IN   ENS-ReverseRegistrar0 Ether0.000158394
0x786deb92f292b6fb52820bd23b08b993317d0375227dc954624139dc1a0e31282 days 2 hrs ago0x006f7da5fe8b1a45d364a677499333099cdb4b75  IN   ENS-ReverseRegistrar0 Ether0.00430828
0xd30ad65cb75a56d092a65cee3505c1e31087f4c5ce571086bffb4968c582b4712 days 5 hrs ago0x876201ba57123cec8858409c9011499a4ed44a27  IN   ENS-ReverseRegistrar0 Ether0.00105528
0xfa80b5c39022661a38be9c6fb3f0fa051b5337920054a3e3ab9ac243ee4c2e472 days 6 hrs ago0x4c9b399dd732c1ce97912c4612000556bd303b11  IN   ENS-ReverseRegistrar0 Ether0.0010508
0xf2af496debb4075d1b6c523eab22c98026e416ae7ba9b441f0b9ea9de76a64653 days 3 hrs ago0x978452c747ee0b617285caf3c50cae0103af5656  IN   ENS-ReverseRegistrar0 Ether0.000361316
0x9a60bb753d8decff499c0db7d0d03b6087a4a64d8f738c4eb82ab07880fc89623 days 21 hrs ago0xe8052dce282c6cd401652d443fa9dfd8aa17274a  IN   ENS-ReverseRegistrar0 Ether0.00316008
0xe4c61b47e23fae3e432189d28af2cd25e95e67efa5cc4acabbf2411dbfcb80194 days 15 hrs ago0x0ed111c9da64dc1642039eaeda392181ac0ac1af  IN   ENS-ReverseRegistrar0 Ether0.0006774675
0xf264c8c57a07158e7cc7975e662efd0146e0fd5ab774c553d7263b809a0f04e25 days 7 hrs ago0x4e8c30b2b0b4b72f19cff2e6aa8b26c4a8ee1c0f  IN   ENS-ReverseRegistrar0 Ether0.005329411
0xa67e97f45717cd3a6cc7d009520a4c1a982e014efcc1fd07ecf741e6d5c352515 days 13 hrs ago0xcabc8aa7bacd40e87dac92a763d0171e193b74e8  IN   ENS-ReverseRegistrar0 Ether0.000381456
0xb1267db9e3606e22a46c259b1520ba070e43bc53a74b093dfb15296bb44c823e5 days 13 hrs ago0xcabc8aa7bacd40e87dac92a763d0171e193b74e8  IN   ENS-ReverseRegistrar0 Ether0.0005641
0x1de7e3db4a21ec7588cd8325815ff4babf7a68f8b4d7c08e3b14eca856e7e9717 days 3 hrs ago0x5a384227b65fa093dec03ec34e111db80a040615  IN   ENS-ReverseRegistrar0 Ether0.000101472
0x721b2f630f56c5af9b09154fcb0d4b53002839ec9ca78b893fba579c57252b377 days 6 hrs ago0xf1b902d5efaf3a1604eb0b60db524783583dafba  IN   ENS-ReverseRegistrar0 Ether0.0005254
0xda165eb2bec4ff7f7803f2b7011ba05d4d6b2e730acf8c4e0976e600585ddaa17 days 12 hrs ago0xb2ac59ae04d0f7310dc3519573bf70387b3b6e3a  IN   ENS-ReverseRegistrar0 Ether0.00304416
0xd8c19cbfe3b2fc11da73d881de127f7208a748acbf6a056a07e7e26eaf66c0237 days 13 hrs ago0xd797d5784f43de300ec0d6bc34fc86023c5d71ce  IN   ENS-ReverseRegistrar0 Ether0.000052798
0xaaf1004edcad41d69becf13d3cc6b96e1f453cede507aad1d43b5433a34dfc607 days 14 hrs ago0xf33628a7f423457f31c08e78bed7d404f41192db  IN   ENS-ReverseRegistrar0 Ether0.000510103
0x27c6c382129e6b35aacff56f8ea8775dfcfd6480453b0753fa8412ee210329b47 days 14 hrs ago0xfb5136361ab5fab28e602ea868909828d2ce23ca  IN   ENS-ReverseRegistrar0 Ether0.001909165
0xef736dda6840c98871a3e37daf17748f60ba01932ae6b62b697e6c1fc796500a7 days 14 hrs ago0xfb5136361ab5fab28e602ea868909828d2ce23ca  IN   ENS-ReverseRegistrar0 Ether0.004337144
0xa92335f5ee7bfa6d0efba2e4ecdb8fc510e880125fbc84172ee65da2a6d2d1f27 days 18 hrs ago0x5dc0aa3e4c014b39c7f30cadd6a945cac59176e5  IN   ENS-ReverseRegistrar0 Ether0.000210032
0x9745a9748789fe15f6ff2cf5965e8809c40b04bb40434e99fc77c628836d06cc7 days 23 hrs ago0x9b7b2b4f7a391b6f14a81221ae0920a9735b67fb  IN   ENS-ReverseRegistrar0 Ether0.000180658
0x1e467efb5219e1efadb9790fbaeb842ea12e6e3ce00526dc0b25a67732e433208 days 2 hrs ago0x85a363699c6864248a6ffca66e4a1a5ccf9f5567  IN   ENS-ReverseRegistrar0 Ether0.000220668
0x68162396797384e73c073e4c279da8a7b50ae2b97aa38c3e2d98f4e5b94591cf8 days 2 hrs ago0xf33628a7f423457f31c08e78bed7d404f41192db  IN   ENS-ReverseRegistrar0 Ether0.00105272
0xfaa358bbc93760ea0a9054a32b8cf1e7c6149386a17a92ad380f13fbfd9d93978 days 3 hrs ago0xa0400ba66b4fe0b13bb909abfd377596c02b6733  IN   ENS-ReverseRegistrar0 Ether0.0043214
0xb480ff87c2e01b8e2010b497980ce3901726559629ce4c3ca80e24ca82c81f5b8 days 9 hrs ago0xf3860788d1597cecf938424baabe976fac87dc26  IN   ENS-ReverseRegistrar0 Ether0.000180658
0x89bbe0527e4102c708639573f74fef40594a23bb3d626958d67b58e6ba9808ff8 days 15 hrs ago0xe49d249c1db1bb53dd1fe7a043a9e5be7d338ea7  IN   ENS-ReverseRegistrar0 Ether0.000090329
[ 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 (Exact match)
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.