Sponsored Link:   Qravity - the only blockchain entertainment production studio and distributor. Learn more.
Contract Overview | ENS-ReverseRegistrar
Balance: 0 Ether
Ether Value: $0
Transactions: 1966 txns
 Latest 25 txns from a total Of 1966 transactions
View All

TxHash Age From To Value [TxFee]
0x22c908aa59d59f41247b2a082610a51b6270dff9399c190d455a388dbe283ffc1 day 14 hrs ago0x00c2658e83ef885c73ce94ca4af70b81ebdddd62  IN   ENS-ReverseRegistrar0 Ether0.00063048
0xd6b10fd5d36b21d12835074a0c66ebc7e497ebc88399361c7ce5d0ce8b833e2d5 days 44 mins ago0x7b534c2d0f9ee973e0b6fe8d4000ca711a20f22e  IN   ENS-ReverseRegistrar0 Ether0.000270795
0xabab3e1b8f901e4fe709c44cdfb3fcc41f4116f9b8c2311f64d3d547f3e52df56 days 3 hrs ago0xbe1fd06fb637370b7b3364df1560d517f053cb7d  IN   ENS-ReverseRegistrar0 Ether0.000210416
0xb6c88216a8d59b96eb1e045a5525c35fcbad6ce1cf0df057bf6e6493cc91455c6 days 7 hrs ago0x1f1fc2e83d2ec8eb3a9cb7f39ef1ad09edd201d9  IN   ENS-ReverseRegistrar0 Ether0.000451645
0xd4583f62005bc07c64028c73f403822ad08e40b9cdfc7c9506b1574b5499a1ec7 days 1 hr ago0x49f415f87aaa04c968af7e832c3a0761d8b5d6a8  IN   ENS-ReverseRegistrar0 Ether0.000092874
0x2128301556bb289739faf6e16311e0048ebe3b2da79bd16451a296cd0a506f577 days 6 hrs ago0xd9bd84c1848ea4ad22ed15e68cb9ffd45accfa1d  IN   ENS-ReverseRegistrar0 Ether0.00015894
0x90c579e1be8889d49b86397279faace428696a63bebae8effd1334eb540898237 days 6 hrs ago0x34dd2e1b5068b7be548d5e0f8f5b5a354cca3df6  IN   ENS-ReverseRegistrar0 Ether0.00063048
0x88470bf601f5b1d51cab1eb48d6e09acf236dfd650ced93dea8239dc177041987 days 6 hrs ago0xd9bd84c1848ea4ad22ed15e68cb9ffd45accfa1d  IN   ENS-ReverseRegistrar0 Ether0.000206905
0x2b2f8e7da184f6e6de00f2a14b56c4e2da617d161751281f5230e7d3303e955d7 days 6 hrs ago0xd9bd84c1848ea4ad22ed15e68cb9ffd45accfa1d  IN   ENS-ReverseRegistrar0 Ether0.000451645
0xd8dbc27d173603e6e724e2540ec183a9320aa7a877be6d2fcf07df7b254b1f1210 days 7 hrs ago0x757f5d61a47de5f05a25b5a786997db59838b0c1  IN   ENS-ReverseRegistrar0 Ether0.00105016
0xae9613fba97410c1f0d06a7fc3ae24206814074adb7cecc275cb911d3bc75cbd10 days 7 hrs ago0x6a3cec6a61ee107126f88f015e10d8d7a9c8b0b3  IN   ENS-ReverseRegistrar0 Ether0.00105208
0xb5762ab1d7b4894addb593ed047222d9a3370be87200faeea9e7fe5979b3416111 days 1 hr ago0xac4abc591883f8d2795be5a104a02dedff3382d3  IN   ENS-ReverseRegistrar0 Ether0.000840128
0x3ccede2464359cd9eb8fb9abcba528dc2328cbe88ac7baf999fcfdee9c80ff7611 days 5 hrs ago0x54e9a1aa8bc314ed3109c5915d2dc388b1d594ba  IN   ENS-ReverseRegistrar0 Ether0.00090329
0x06c9df7f1ccd7032bc991550ff5dfa080222d1e442dd79ad0b6994b0df0781be11 days 21 hrs ago0xe569fb7b17ecfcf041f1e8ed740a32208d038060  IN   ENS-ReverseRegistrar0 Ether0.00220668
0x9b5d688a199b63b10291d0a0dd6cb898756fa64694b6a8cb6408188185de347f11 days 23 hrs ago0xa3564677fc4907a15c9a7eae1dbc1ae9ac57b8e1  IN   ENS-ReverseRegistrar0 Ether0.000451645
0xce06db5d61ce2ad88b4b4757490eb1c1a18866e5316f133f19556da419e18c5312 days 7 hrs ago0x89dfccfbf3325a6a6cea9a2197f057c7ba6f5c55  IN   ENS-ReverseRegistrar0 Ether0.004310904
0xf20273182247cd0f9c79c4776713e1496cd3808df9f3168802510a6e58226a9812 days 11 hrs ago0x12014c475642273134172e8fac70724092ce8b2d  IN   ENS-ReverseRegistrar0 Ether0.000722632
0xf24af5f2f774e2e7dcfc072085775eeb369730f69e480b9f53dfbdf5f69ea8a713 days 17 hrs ago0xa8c7372dc993d7510c9c45425807d463967cbb12  IN   ENS-ReverseRegistrar0 Ether0.000812961
0x747cf6de1290b45dc04cbb4826e9f49940be363272095c063cba91e004a2c06f15 days 8 hrs ago0x1365941efa2e05571186cc451c1e0a6f0fe5bde6  IN   ENS-ReverseRegistrar0 Ether0.00052508
0xbf9c59815858c1d3ab8428d972d4cfe02bf1b97d05f2c83a1d786c42ff7f45ff15 days 19 hrs ago0xb6f6dce6000ca88cc936b450cedb16a5c15f157f  IN   ENS-ReverseRegistrar0 Ether0.00054610325
0xfd398cb7ab1280864c46af83a0704cbb740dc3131237ad626c400a56c020e40517 days 1 hr ago0x75e2bda728806d82b3a80eabb85827dc88d53889  IN   ENS-ReverseRegistrar0 Ether0.001476805
0x98f8aab1932122b91e17fd8dd4b805009c86661b0addbfc95e398a8f4d72fce317 days 12 hrs ago0xb4ec750ce036f3cf872ffd3d9e7bd9a474e04729  IN   ENS-ReverseRegistrar0 Ether0.004305656
0x3dcd4a4d3f09b5b5a169a39511eebf9e04f7bea3b2b97d0b0da7df2631d323a918 days 4 hrs ago0x4133c79e575591b6c380c233fffb47a13348de86  IN   ENS-ReverseRegistrar0 Ether0.001470224
0x322ca09ed8bb5fd98cf2a431059804a5c9a1fb1db4a0f2e1c039749f018ef48118 days 16 hrs ago0xd479ebd919ed955f81211df55aac9245069a6311  IN   ENS-ReverseRegistrar0 Ether0.000517143
0xcebb8795fecb0b441c58c07d6b70b9dbea77242ab56c3225f556139fa187ae8818 days 16 hrs ago0xd479ebd919ed955f81211df55aac9245069a6311  IN   ENS-ReverseRegistrar0 Ether0.001165032
[ 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.