Bug fix and new feautres update. ENS: Reverse Registrar will migrated to a new address.
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 7,680 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Set Name | 18941667 | 121 days ago | IN | 0 ETH | 0.0031722 | ||||
Set Name | 18205447 | 224 days ago | IN | 0 ETH | 0.00097029 | ||||
Set Name | 18157118 | 230 days ago | IN | 0 ETH | 0.00179845 | ||||
Set Name | 18019555 | 250 days ago | IN | 0 ETH | 0.00108026 | ||||
Set Name | 17958386 | 258 days ago | IN | 0 ETH | 0.00167904 | ||||
Set Name | 17958154 | 258 days ago | IN | 0 ETH | 0.00085159 | ||||
Set Name | 17957838 | 258 days ago | IN | 0 ETH | 0.00144976 | ||||
Set Name | 17957682 | 258 days ago | IN | 0 ETH | 0.00106325 | ||||
Set Name | 17956376 | 259 days ago | IN | 0 ETH | 0.0017276 | ||||
Set Name | 17955939 | 259 days ago | IN | 0 ETH | 0.00067454 | ||||
Set Name | 17955873 | 259 days ago | IN | 0 ETH | 0.00077467 | ||||
Set Name | 17955750 | 259 days ago | IN | 0 ETH | 0.00064224 | ||||
Set Name | 17955542 | 259 days ago | IN | 0 ETH | 0.00062553 | ||||
Set Name | 17955494 | 259 days ago | IN | 0 ETH | 0.00178459 | ||||
Set Name | 17903531 | 266 days ago | IN | 0 ETH | 0.00131509 | ||||
Set Name | 17878329 | 269 days ago | IN | 0 ETH | 0.00435228 | ||||
Set Name | 17743377 | 288 days ago | IN | 0 ETH | 0.00512878 | ||||
Set Name | 17729215 | 290 days ago | IN | 0 ETH | 0.00274893 | ||||
Claim With Resol... | 17699392 | 295 days ago | IN | 0 ETH | 0.00051611 | ||||
Claim With Resol... | 17699381 | 295 days ago | IN | 0 ETH | 0.00129726 | ||||
Set Name | 17544254 | 316 days ago | IN | 0 ETH | 0.00180056 | ||||
Set Name | 17512624 | 321 days ago | IN | 0 ETH | 0.00185436 | ||||
Set Name | 17404633 | 336 days ago | IN | 0 ETH | 0.00221894 | ||||
Set Name | 17243479 | 359 days ago | IN | 0 ETH | 0.00586783 | ||||
Set Name | 17049332 | 386 days ago | IN | 0 ETH | 0.00118928 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
18941667 | 121 days ago | 0 ETH | |||||
18941667 | 121 days ago | 0 ETH | |||||
18941667 | 121 days ago | 0 ETH | |||||
18941667 | 121 days ago | 0 ETH | |||||
18941667 | 121 days ago | 0 ETH | |||||
18205447 | 224 days ago | 0 ETH | |||||
18205447 | 224 days ago | 0 ETH | |||||
18205447 | 224 days ago | 0 ETH | |||||
18205447 | 224 days ago | 0 ETH | |||||
18205447 | 224 days ago | 0 ETH | |||||
18157118 | 230 days ago | 0 ETH | |||||
18157118 | 230 days ago | 0 ETH | |||||
18157118 | 230 days ago | 0 ETH | |||||
18157118 | 230 days ago | 0 ETH | |||||
18157118 | 230 days ago | 0 ETH | |||||
18019555 | 250 days ago | 0 ETH | |||||
18019555 | 250 days ago | 0 ETH | |||||
18019555 | 250 days ago | 0 ETH | |||||
17958386 | 258 days ago | 0 ETH | |||||
17958386 | 258 days ago | 0 ETH | |||||
17958386 | 258 days ago | 0 ETH | |||||
17958154 | 258 days ago | 0 ETH | |||||
17958154 | 258 days ago | 0 ETH | |||||
17958154 | 258 days ago | 0 ETH | |||||
17957838 | 258 days ago | 0 ETH |
Loading...
Loading
Contract Name:
ReverseRegistrar
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-05-29 */ 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 Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
6060604052341561000c57fe5b6040516040806108ae8339810160405280516020909101515b60008054600160a060020a03808516600160a060020a0319928316178084556001805486841694169390931790925560408051602090810185905281517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152915193909216926302571be39260248084019391929182900301818787803b15156100d257fe5b6102c65a03f115156100e057fe5b505060405151915050600160a060020a038116156101835780600160a060020a0316631e83409a336000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b151561017157fe5b6102c65a03f1151561017f57fe5b5050505b5b5050505b610717806101976000396000f300606060405236156100755763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f5a546681146100775780631e83409a146100ab5780633f15457f146100d9578063828eab0e14610105578063bffbe61c14610131578063c47f00271461015f575bfe5b341561007f57fe5b610099600160a060020a03600435811690602435166101c7565b60408051918252519081900360200190f35b34156100b357fe5b610099600160a060020a03600435166104f4565b60408051918252519081900360200190f35b34156100e157fe5b6100e9610509565b60408051600160a060020a039092168252519081900360200190f35b341561010d57fe5b6100e9610518565b60408051600160a060020a039092168252519081900360200190f35b341561013957fe5b610099600160a060020a0360043516610527565b60408051918252519081900360200190f35b341561016757fe5b610099600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061056195505050505050565b60408051918252519081900360200190f35b6000600060006101d63361066b565b604080516000805160206106cc83398151915281526020808201849052825191829003830182206000805493830181905284517f02571be3000000000000000000000000000000000000000000000000000000008152600481018390529451919850949650600160a060020a03909216936302571be39360248082019492918390030190829087803b151561026757fe5b6102c65a03f1151561027557fe5b505060405151915050600160a060020a0384161580159061032257506000805460408051602090810184905281517f0178b8bf000000000000000000000000000000000000000000000000000000008152600481018890529151600160a060020a0390931693630178b8bf936024808501949192918390030190829087803b15156102fc57fe5b6102c65a03f1151561030a57fe5b505060405151600160a060020a038681169116141590505b1561044b5730600160a060020a031681600160a060020a03161415156103d25760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a033081166044830152915191909216926306ab5923926064808201939182900301818387803b15156103bd57fe5b6102c65a03f115156103cb57fe5b5050503090505b60008054604080517f1896f70a00000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a03888116602483015291519190921692631896f70a926044808201939182900301818387803b151561043957fe5b6102c65a03f1151561044757fe5b5050505b600160a060020a03818116908616146104eb5760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a038981166044830152915191909216926306ab5923926064808201939182900301818387803b15156104d957fe5b6102c65a03f115156104e757fe5b5050505b5b505092915050565b60006105018260006101c7565b90505b919050565b600054600160a060020a031681565b600154600160a060020a031681565b60006000805160206106cc8339815191526105418361066b565b60408051928352602083019190915280519182900301902090505b919050565b60015460009061057b903090600160a060020a03166101c7565b600154604080517f773722130000000000000000000000000000000000000000000000000000000081526004810184815260248201928352865160448301528651949550600160a060020a03909316936377372213938693889391929091606401906020850190808383821561060c575b80518252602083111561060c57601f1990920191602091820191016105ec565b505050905090810190601f1680156106385780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b151561065457fe5b6102c65a03f1151561066257fe5b5050505b919050565b60007f303132333435363738396162636465660000000000000000000000000000000060285b60001901600f841682901a815360109093049260001901600f841682901a815360108404935080610691576028600020925050505b919050560091d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2a165627a7a72305820b5a0fc071ea98f50e75fb7b3a50f25e129679487596a27697ba42f422dc0d6dc0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b0000000000000000000000005fbb459c49bb06083c33109fa4f14810ec2cf358
Deployed Bytecode
0x606060405236156100755763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f5a546681146100775780631e83409a146100ab5780633f15457f146100d9578063828eab0e14610105578063bffbe61c14610131578063c47f00271461015f575bfe5b341561007f57fe5b610099600160a060020a03600435811690602435166101c7565b60408051918252519081900360200190f35b34156100b357fe5b610099600160a060020a03600435166104f4565b60408051918252519081900360200190f35b34156100e157fe5b6100e9610509565b60408051600160a060020a039092168252519081900360200190f35b341561010d57fe5b6100e9610518565b60408051600160a060020a039092168252519081900360200190f35b341561013957fe5b610099600160a060020a0360043516610527565b60408051918252519081900360200190f35b341561016757fe5b610099600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061056195505050505050565b60408051918252519081900360200190f35b6000600060006101d63361066b565b604080516000805160206106cc83398151915281526020808201849052825191829003830182206000805493830181905284517f02571be3000000000000000000000000000000000000000000000000000000008152600481018390529451919850949650600160a060020a03909216936302571be39360248082019492918390030190829087803b151561026757fe5b6102c65a03f1151561027557fe5b505060405151915050600160a060020a0384161580159061032257506000805460408051602090810184905281517f0178b8bf000000000000000000000000000000000000000000000000000000008152600481018890529151600160a060020a0390931693630178b8bf936024808501949192918390030190829087803b15156102fc57fe5b6102c65a03f1151561030a57fe5b505060405151600160a060020a038681169116141590505b1561044b5730600160a060020a031681600160a060020a03161415156103d25760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a033081166044830152915191909216926306ab5923926064808201939182900301818387803b15156103bd57fe5b6102c65a03f115156103cb57fe5b5050503090505b60008054604080517f1896f70a00000000000000000000000000000000000000000000000000000000815260048101879052600160a060020a03888116602483015291519190921692631896f70a926044808201939182900301818387803b151561043957fe5b6102c65a03f1151561044757fe5b5050505b600160a060020a03818116908616146104eb5760008054604080517f06ab59230000000000000000000000000000000000000000000000000000000081526000805160206106cc833981519152600482015260248101869052600160a060020a038981166044830152915191909216926306ab5923926064808201939182900301818387803b15156104d957fe5b6102c65a03f115156104e757fe5b5050505b5b505092915050565b60006105018260006101c7565b90505b919050565b600054600160a060020a031681565b600154600160a060020a031681565b60006000805160206106cc8339815191526105418361066b565b60408051928352602083019190915280519182900301902090505b919050565b60015460009061057b903090600160a060020a03166101c7565b600154604080517f773722130000000000000000000000000000000000000000000000000000000081526004810184815260248201928352865160448301528651949550600160a060020a03909316936377372213938693889391929091606401906020850190808383821561060c575b80518252602083111561060c57601f1990920191602091820191016105ec565b505050905090810190601f1680156106385780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b151561065457fe5b6102c65a03f1151561066257fe5b5050505b919050565b60007f303132333435363738396162636465660000000000000000000000000000000060285b60001901600f841682901a815360109093049260001901600f841682901a815360108404935080610691576028600020925050505b919050560091d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2a165627a7a72305820b5a0fc071ea98f50e75fb7b3a50f25e129679487596a27697ba42f422dc0d6dc0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b0000000000000000000000005fbb459c49bb06083c33109fa4f14810ec2cf358
-----Decoded View---------------
Arg [0] : ensAddr (address): 0x314159265dD8dbb310642f98f50C066173C1259b
Arg [1] : resolverAddr (address): 0x5fBb459C49BB06083C33109fA4f14810eC2Cf358
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b
Arg [1] : 0000000000000000000000005fbb459c49bb06083c33109fa4f14810ec2cf358
Swarm Source
bzzr://b5a0fc071ea98f50e75fb7b3a50f25e129679487596a27697ba42f422dc0d6dc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 25 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.