Sponsored Link:   Trade.io - The Exchange You've Been Waiting For Has Arrived. Instant Verification, Fully Customizable. Pre-Register today
Contract Overview | ENS-ReverseRegistrar
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 1839 txns
  Latest 25 txns from a total Of 1839 transactions View All

TxHash Age From To Value [TxFee]
0xf76aa6ecf72e491a4dbb2481bc0bbbc33e74d7eac14bc2ed612c877c3af36ffe8 hrs 29 mins ago0x493bf3967b96174f63b50d19a23116f7d1d97b9b  IN   ENS-ReverseRegistrar0 Ether0.00010508
0xcbba6a81eb99295fb5571c016145717f95923f09806dd4cadf9ec60bd7f854421 day 8 hrs ago0x8c09900e303aa9c4aef2421df927190e366c4db3  IN   ENS-ReverseRegistrar0 Ether0.000090329
0xccfb721014734bde2b74a4b17a2f69742851ace97ddb5aeb55161cb018f9fe981 day 10 hrs ago0x809e081101ad32ed081cdc98825771f81e52cc70  IN   ENS-ReverseRegistrar0 Ether0.000105208
0x34f8b5a8a7c4aa03fda17750dc144b88fe7fbd9372ffbe4d1b0fb106bd9ff30e1 day 21 hrs ago0x524653e218899473921fc67b9e333a93a0da5554  IN   ENS-ReverseRegistrar0 Ether0.004640416
0xa63f7421982600ab54458f056714128bd56c1112a94c8fc50befb4dace4a7a342 days 14 hrs ago0x6624c9ae0bdd354975614bd2b370500f6027437f  IN   ENS-ReverseRegistrar0 Ether0.000451645
0x5c1ed3e6a59a6b78ae0b1119e94bdd2c914ceee0d5b3a0751fe5fe7a90e9bb563 days 15 hrs ago0xd1676b1517737252dd659d02117f9936f75f7ad7  IN   ENS-ReverseRegistrar0 Ether0.000180658
0x2c5ddd9d20b26e9a5797bb9309acbe050793499b88d9652e047a1017807dbb6f5 days 7 hrs ago0x85fb68c2fbc9ac6301934d16f33bed3b4f9c5c7f  IN   ENS-ReverseRegistrar0 Ether0.000052798
0x81d4dd9ae6a6beaa19453f2e2d9a399062ec1854a88ff64e3e1f027b84abac2c6 days 11 hrs ago0x64529cf8fb9b169b8610aaa4c3e8ee549468057a  IN   ENS-ReverseRegistrar0 Ether0.000091097
0x2293a88b92821c0bfc41117d196f90d889f8ee09b509298a4160e5a2c331232f6 days 15 hrs ago0xb8b70b2385e32343fed9d5bf953ba390a7414c3c  IN   ENS-ReverseRegistrar0 Ether0.004318776
0xe9c6e652f5903d4598966a37fa3186f3540fc41ab978ec9df72d0b00007984879 days 13 hrs ago0x8096cba4d2b102129cd551c1fde3cad087b60e90  IN   ENS-ReverseRegistrar0 Ether0.004300408
0x9d9f94b27d8cfd3440dc316faf57a84982afa0f0dc221890793564f65cb05b859 days 20 hrs ago0x2f35b00a45fa131de69675da8ce5c90e49272e66  IN   ENS-ReverseRegistrar0 Ether0.000451645
0xb74dccb5620b871167b34f7f7536609258d99472fa1706f30369c7633127d6469 days 21 hrs ago0x8f30e71db569658ff067d7a70c10491e22273fab  IN   ENS-ReverseRegistrar0 Ether0.000451645
0xa109030e9c48ffc6b8e06ea32c5b81bc34882930fd6f13c51a0047f3021d378810 days 7 hrs ago0x959c8d2624d6555bc487a80cbdd99f3823aa468a  IN   ENS-ReverseRegistrar0 Ether0.001107204
0xe73081443652790a8542857ee15f677be6456903dda11fed3a0fbf655644ca4911 days 19 hrs ago0x2074c8ce1c8391dfe60492854bf3ac80d66b2efc  IN   ENS-ReverseRegistrar0 Ether0.004316152
0xa2562127982150921f740a502679766a19bf2cba318a9615f9900b9697d0e64a12 days 3 hrs ago0xdb7658b36ccecbde0458df3adb27ce743ecf30a2  IN   ENS-ReverseRegistrar0 Ether0.000090329
0xb1bc1047c94e4a083d93fa8df12a51ba7ecf176985e45a59d3863d569f05006612 days 4 hrs ago0x008f82676a606a6783716037c256a7df23746145  IN   ENS-ReverseRegistrar0 Ether0.000420064
0xdf10848c2598435bcb8a6a4215d17be9091c8b7e5bf8fde4cb9902704dcdd4f612 days 4 hrs ago0xa37489e9ce98ad6972708df2a3854dd2bde9c5e8  IN   ENS-ReverseRegistrar0 Ether0.000210032
0x281782bdae576ea3739ab3a415e0e2b40049e62b0936fa6c3ad3941b4f28931812 days 5 hrs ago0x00aa972319ddf819140ffe2a991c49a1bff54bad  IN   ENS-ReverseRegistrar0 Ether0.000092234
0xfeb276bb74b67c353fe5aa7009f940ce107dc223e62f9b50071f939d82e26c7212 days 5 hrs ago0x00aa972319ddf819140ffe2a991c49a1bff54bad  IN   ENS-ReverseRegistrar0 Ether0.000211056
0xaca2710bdd6173a67654ab5abf7ab807fd0760d7427e30050bfd1a2d2d8a8c9512 days 11 hrs ago0x8b6623f069619a7b17a064973b835f201e90f831  IN   ENS-ReverseRegistrar0 Ether0.000052798
0x669770d9b7e348a6c0b014cce5b785b4218d77ae2b2c54427f5b287bb186babb13 days 12 hrs ago0x60d38778adbbeeac88f741b833cbb9877228eea0  IN   ENS-ReverseRegistrar0 Ether0.000031788
0xcbd8b49eb742fd1502fb4872e152c75f6e47bf11b5b85972e1d781bc4858c6c713 days 17 hrs ago0xb8579b19da2108249d4391d73430abba665515ca  IN   ENS-ReverseRegistrar0 Ether0.000722632
0xfecf77af1850607fd64b5f288950a636200abe64e9b3619e0dd5bbf52a81936814 days 19 hrs ago0x60d38778adbbeeac88f741b833cbb9877228eea0  IN   ENS-ReverseRegistrar0 Ether0.000090329
0x7fdf178d35fafcf6ee4f0592b4cf659be7e354cecc903f39a9d302031cb4c51c14 days 20 hrs ago0xf75b78571f6563e8acf1899f682fb10a9248cce8  IN   ENS-ReverseRegistrar0 Ether0.000090329
0x07f777931103ba24b54dd4a54e6642f992965b444d2aa300b33fbcce403d32d714 days 21 hrs ago0x0aebf1eeb6da88257dda008b6aec0e2ebd3aa429  IN   ENS-ReverseRegistrar0 Ether0.00018053
[ 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.