Sponsored Link:  NEVERDIE - Trillion Dollar Gaming Infrastructure - One Billion VR JobsICO LIVE
Contract Overview | ENS-ReverseRegistrar
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 363 txns
  Latest 25 txns from a total Of 363 transactions View All

TxHash Block Age From To Value [TxFee]
0xe849a0274e1394ca46f9b2707928bd4b58f5910eb1a8a4184997a54d8b43895840604232 hrs 1 min ago0x1b63142628311395ceafeea5667e7c9026c862ca  IN   ENS-ReverseRegistrar0 Ether0.00210032
0x4796d6d55266146619e0c1a806d508337e1b3b7f3d7f2c546e8340105821ad4840592248 hrs 10 mins ago0xbe1b723acd1f47c1aace1014d24f6e489d3bc47b  IN   ENS-ReverseRegistrar0 Ether0.00210416
0xb0d364aa134ecc87ca93b0d6b180b71b8d185ba962ad0c1d936e48662ec7fa7a405868910 hrs 58 mins ago0x522ba689313cd2efc4a85252a0180cf7ba6ca573  IN   ENS-ReverseRegistrar0 Ether0.00210416
0x407bf5411f795d9ef60ec78da3ad30b5b8dc5220f5baeca131567c7c5192e4dc405843212 hrs 17 mins ago0xbdff7f2f0b8380ae42c5211b9f895fe7e2877d4e  IN   ENS-ReverseRegistrar0 Ether0.00210032
0x6d5e2bc3f5c0816ef1c3b9dcd6b5a3cfa5c2a5fb3d72b89ef0fd9adc35bb2614405837712 hrs 32 mins ago0xf1c85a1535fe210e88c09488868728820b54bda9  IN   ENS-ReverseRegistrar0 Ether0.00052636
0xa09e21939c9efde2678712e2a94da06e8b05e3967e659d4a23c1265a5005715c405660821 hrs 29 mins ago0xf5df2738ec9fe489e19de639e25e0c0281afff00  IN   ENS-ReverseRegistrar0 Ether0.00092362
0x393642e21978972b8f5a831fa273a4c92fc29f01619a14e06be52d29ffde843a40545621 day 8 hrs ago0x1bd4d6e21a61ed9bc1196dca32cd5f75597df9fe  IN   ENS-ReverseRegistrar0 Ether0.00220533
0x71ccde4011866592011264234b09969073d5f4191e7dac5850fd9aa4636c86e740534211 day 14 hrs ago0xa34c6bcae6f46ac6470443ccea67d937f6060c7e  IN   ENS-ReverseRegistrar0 Ether0.00010501
0x33b89af9a0f6f0312ae608f958c4e65d3f8ca878f89265dd495c2972812538f940533661 day 14 hrs ago0xa34c6bcae6f46ac6470443ccea67d937f6060c7e  IN   ENS-ReverseRegistrar0 Ether0.00005
0xe5d93823aa094be7cb92b28b35930c27f6f7095e43c15c9fc68af40c96023f9b40512052 days 2 hrs ago0xf5df2738ec9fe489e19de639e25e0c0281afff00  IN   ENS-ReverseRegistrar0 Ether0.0009249
0xf82e38c6a175735f0af44ed4f4c0b74e938574762c28dee8bc9038fb43c5bb3840510842 days 2 hrs ago0x53eefd22d19a5e7a0c213c4441ce3b158040c98d  IN   ENS-ReverseRegistrar0 Ether0.0021016
0xab25bc11a28516116447ccad36c8911044269759bb47a3e835c41b5c6d2ecee940510642 days 2 hrs ago0xf5df2738ec9fe489e19de639e25e0c0281afff00  IN   ENS-ReverseRegistrar0 Ether0.0009249
0x6f7dd0bcba30538e996acada7b99fa4d85b0e4f42090b8546064f99d3000b7e440493972 days 11 hrs ago0x4565a8449be5d77fc32a15751e57b0d805292d0b  IN   ENS-ReverseRegistrar0 Ether0.00210928
0x7951175affbd9035f65b5bc0d38332cc92eb34a86f7e7b9df1474e8f9e0e21a840492732 days 11 hrs ago0xf35d25d42f30e6ac4f9cca44f5d4999fce3ccb83  IN   ENS-ReverseRegistrar0 Ether0.00210544
0x41b1fa9593801d7913f0c59be19db5d9eb40f2a4988b1d2f8afaa35cb712634640486352 days 15 hrs ago0x8010021eeeddcb99bb32e8efd9b0fdca0bd88ee3  IN   ENS-ReverseRegistrar0 Ether0.00023058
0x423cf69ff8dc15b1592e14519aacb4a126979a01556865f41f17ceddae80d6c940486342 days 15 hrs ago0xd847bf0b8ea04d89f67cd3944125c55740eeeab2  IN   ENS-ReverseRegistrar0 Ether0.00210032
0xf32dc9d5735a4e89c2415ee080c8513cf6b084a65dbf79dcca1ed8d155e2e0d240486082 days 15 hrs ago0x8010021eeeddcb99bb32e8efd9b0fdca0bd88ee3  IN   ENS-ReverseRegistrar0 Ether0.00210032
0x999da07e2fa5a888a67bf3cf729e8bc4748a5fc31dc11e6e4a1a2c9d4fb7182640484372 days 16 hrs ago0x25855bef9d3b7f1bdf577e9ddf5134225eaaf7e9  IN   ENS-ReverseRegistrar0 Ether0.00210416
0x910cbc02931fb4ca763b499772b63559bf85ba670f9abf687c417f83a66c299f40484132 days 16 hrs ago0x008e993f55a3fc99e4aebea1e964d37892f17f73  IN   ENS-ReverseRegistrar0 Ether0.0021016
0xd8a44a6da46de1b0f79d296bbedd8e4569623833ec8c7c5329efbea2646e7ae240484042 days 16 hrs ago0xb2c16ebfebe1aa9418250ffee1264bbcbf3ad48b  IN   ENS-ReverseRegistrar0 Ether0.0000463
0x25765e8b433d8e8125ec7c9123984165c9448ad71444bc9b0348ce04cb5a07f140474362 days 21 hrs ago0x4e3132ac76540721ece6d0a4916bff0e80b4432f  IN   ENS-ReverseRegistrar0 Ether0.0021016
0x7ee3dc11fc4167f1d40d8fabcd179d4e3215321c1017d21531d037f677227a1f40473182 days 22 hrs ago0xf5df2738ec9fe489e19de639e25e0c0281afff00  IN   ENS-ReverseRegistrar0 Ether0.00266583
0xca3423dcb17bb66af70db1f30005f350b4f92cd57c693dbdc15e6dcd69d49db440473062 days 22 hrs ago0xb1c9e62ba8f89c06298cf786b5b734372ba293b3  IN   ENS-ReverseRegistrar0 Ether0.00021016
0xbd5eb993355a26ee7496f829cbf1eb2bc7a7d61d0daac45d51a04a6c245acafd40463933 days 2 hrs ago0x760a735104348245b68d6c286ab85df1432b27c3  IN   ENS-ReverseRegistrar0 Ether0.0021016
0x979c5c5b2a1778df63aac10374e694bfcb9a1df9ece647d6a01098834b13178040463633 days 3 hrs ago0x002736d24d68589a8695705662c513a9c012dc56  IN   ENS-ReverseRegistrar0 Ether0.0000022
[ 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 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.