Sponsored Link:    Chronologic - Self-Mining Ethereum token based on Proof of Time. Join the Contribution.
Contract Overview | ENS-ReverseRegistrar
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 829 txns
  Latest 25 txns from a total Of 829 transactions View All

TxHash Age From To Value [TxFee]
0x178958c9a31515c4be91bcb79b337f39d21e76524561fcfe332bcdfb21869a999 hrs 23 mins ago0xd72f6ba425c7c4291e4f40c18ff5b5b22b9f7070  IN   ENS-ReverseRegistrar0 Ether0.002209368
0xa06c3618b0a779f35312fd893c6cacfe1928ff70feed4e0cf7459e63a7f7e56a13 hrs 27 mins ago0xfc84df846f2c3a0d83706eab5d21e73363c65127  IN   ENS-ReverseRegistrar0 Ether0.001896909
0xc5ac6ea1c374502ce0cecdfe6db91c02e731095ff71f3c0fb9045712fc1e172a16 hrs 1 min ago0x8bde12ec34c552098ecb93eb85f5dd8599789f14  IN   ENS-ReverseRegistrar0 Ether0.00220668
0x7ebb33b0c105fbd9cc1dd54efb028409cc210ff20524b19e57cd641d264191091 day 22 mins ago0x1ce55e526fa981dd27fdcbfa3443dafe4208ab88  IN   ENS-ReverseRegistrar0 Ether0.002674618423
0xf6c5357ab7896e552a0e673c2766bc42c9062d98b590fa8c9551e4c8b258b53e1 day 8 hrs ago0xbfd4e429fc64d6d456498e6df4952a26d78f8ca8  IN   ENS-ReverseRegistrar0 Ether0.00220668
0x2b287d3595b01187fa470cf117587aef4c9dbd79353a39134d975e6f37c1d9211 day 8 hrs ago0x92be9a3f9f5b3ba7d8d18430723d3c4f82539e74  IN   ENS-ReverseRegistrar0 Ether0.002209368
0xd0be44e683701fcf94ee4c0d1f7f0e115c222afba7fb9a091382a70f540ab6ff1 day 10 hrs ago0xf0aebbed0eb54a9b6c276a26ecb1fc922490efbe  IN   ENS-ReverseRegistrar0 Ether0.000975177
0x5c232d578d0bcc8361e198d048381b6720fe8a28b31690d1327fcaa355cac9a81 day 10 hrs ago0xf0aebbed0eb54a9b6c276a26ecb1fc922490efbe  IN   ENS-ReverseRegistrar0 Ether0.002212056
0x4cfb1fd87bafff3d77ccf1a0baabfc49640f86505bb866731f31b2f4cc4433961 day 14 hrs ago0xa31fce7a9729fc6248b3f5a22f16c8222cb5526a  IN   ENS-ReverseRegistrar0 Ether0.002205336
0x3da301cc0024ba5bf8d1f8ff4b9c30be929e77379ab8aca82d2ff1a257af425c1 day 15 hrs ago0x042304ce1aaa5ba7ce867c4888a8203e346130b0  IN   ENS-ReverseRegistrar0 Ether0.00105
0xd9c7552fb587bcfd57b2c0714b3c00f5b6ec87e021bac20d103897b46763e0bb1 day 21 hrs ago0x425bc1f1709c5fcaa9ff00bf0e8f7080d646abd6  IN   ENS-ReverseRegistrar0 Ether0.0022158376
0x2759b8eaec31b88aafe841b6b09eb5c7a10446a2f54e16fa2df80e372934cabc2 days 4 hrs ago0xc4a6117ff30e00bc0bfb6e6808d8800658a8bca0  IN   ENS-ReverseRegistrar0 Ether0.00210416
0xd7da7c109953e52638e324657fda31caaf4082b61e24a3a3217b693a99ad20b12 days 9 hrs ago0xe5ed3fd82786f1a6a2c39f57b5857621873551cb  IN   ENS-ReverseRegistrar0 Ether0.00222394
0xc0600cec9c9069e14cb147a086166af70582c6d5a1d86422d93b70dc3ed6af802 days 9 hrs ago0xed96dd3be847b387217ef9de5b20d8392a6cdf40  IN   ENS-ReverseRegistrar0 Ether0.0022225896
0xd630c49f4bb6670cdeb7c32667fc962673588de156807af039c7fb15c27e61642 days 9 hrs ago0xcb06571c20b05afd5e107986fe1e539dfb4c9b1b  IN   ENS-ReverseRegistrar0 Ether0.000420576
0xddc381373657eb8e6677121b5acc67d00d46d3204a22c00b2c34755277e4e72d2 days 9 hrs ago0xf15456c07f390315b9a25d246a764f6a67e0ade7  IN   ENS-ReverseRegistrar0 Ether0.000423136
0x0d539cf91727d23d9a701f15f0e924423ace423a76a9d3cc4783cd50d35139b62 days 12 hrs ago0x302cd1eb9ae8d567fa4ebf6c2337e56870719b42  IN   ENS-ReverseRegistrar0 Ether0.002310352
0xaf9ec224eeb52d8a67c91a8f950d2a869d3d32a1ac77b2dd2a0544bce5fe75dc2 days 17 hrs ago0x2b58b597694cd028c593bbd71d571d9390978551  IN   ENS-ReverseRegistrar0 Ether0.002217432
0x4baedbee2e99c5eb34f018ca501d4b3788902034d9c012f685d5584c5434587a2 days 18 hrs ago0x2e69fe7621346fdf1f28422d91b29c6eca072399  IN   ENS-ReverseRegistrar0 Ether0.000316392
0xfc3f12079cf3fc3b40a3f3794db33fa58e7f7a532585813e87325a09945d3ad53 days 3 hrs ago0x600c9250dd0d41bf658ead8b0bcfd8e7b9484b2c  IN   ENS-ReverseRegistrar0 Ether0.002208024
0x0616fef110d1842ae2379c12e171702433c3aae0cfb43e52229d0a0261c68a9c3 days 14 hrs ago0xf68b1948b3637903cb43cf9807d4ca11b48d1845  IN   ENS-ReverseRegistrar0 Ether0.00630096
0x73b0d03bcfda8eef914ba9849c7c4817190f9603e2f62bfaec514bf9cdeeed863 days 17 hrs ago0x664f8a6bdfc6addf289cea5489049db573eed49f  IN   ENS-ReverseRegistrar0 Ether0.002208024
0x3c242ff2d564ea954459fb3678b0c2078a39ab770194ef8272b184375cbf543b4 days 23 mins ago0x63ed9066802675985eedb41609374f2329773c89  IN   ENS-ReverseRegistrar0 Ether0.002716751526
0xc6e5f37c9441e55ebd503b722908018b2215837ff75f3f043b23b1da9c557a214 days 5 hrs ago0x7612c7731255a5002a414bb8c8f57c60e568c51d  IN   ENS-ReverseRegistrar0 Ether0.002205336
0x59d967faaec69ff9798ca602fcc96037c8e0d1c1f0d8e35dc67cfb8322381a094 days 6 hrs ago0xb2ae7fc6c617d65525008ed2161adb5264c6fb91  IN   ENS-ReverseRegistrar0 Ether0.000971145
[ 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 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 appended to the ByteCode 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.