Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 27 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Set Name | 17516152 | 381 days ago | IN | 0 ETH | 0.00108918 | ||||
Set Name | 17515525 | 381 days ago | IN | 0 ETH | 0.001346 | ||||
Set Name | 17262791 | 417 days ago | IN | 0 ETH | 0.00220859 | ||||
Set Name | 17134439 | 435 days ago | IN | 0 ETH | 0.00176296 | ||||
Set Name | 17090324 | 441 days ago | IN | 0 ETH | 0.00342986 | ||||
Set Name | 17063446 | 445 days ago | IN | 0 ETH | 0.00136028 | ||||
Set Name | 17063401 | 445 days ago | IN | 0 ETH | 0.00135814 | ||||
Set Name | 16681711 | 499 days ago | IN | 0 ETH | 0.001034 | ||||
Set Name | 16027571 | 590 days ago | IN | 0 ETH | 0.00149514 | ||||
Set Name | 15795326 | 622 days ago | IN | 0 ETH | 0.00227862 | ||||
Set Name | 15625507 | 646 days ago | IN | 0 ETH | 0.00080438 | ||||
Set Name | 15625496 | 646 days ago | IN | 0 ETH | 0.00080438 | ||||
Set Name | 15101793 | 727 days ago | IN | 0 ETH | 0.00082734 | ||||
Set Name | 14330514 | 852 days ago | IN | 0 ETH | 0.00129596 | ||||
Transfer | 12781898 | 1093 days ago | IN | 0.00108633 ETH | 0.000735 | ||||
Set Name | 12746261 | 1098 days ago | IN | 0 ETH | 0.00075757 | ||||
Set Name | 12623845 | 1118 days ago | IN | 0 ETH | 0.00021438 | ||||
Set Name | 11262752 | 1327 days ago | IN | 0 ETH | 0.00285961 | ||||
Set Subnode Reco... | 11146943 | 1345 days ago | IN | 0 ETH | 0.000462 | ||||
Transfer | 11144341 | 1345 days ago | IN | 0.0050491 ETH | 0.000714 | ||||
Transfer | 11144292 | 1345 days ago | IN | 0.00251057 ETH | 0.000777 | ||||
Transfer | 11144283 | 1345 days ago | IN | 0.00251057 ETH | 0.000777 | ||||
Transfer | 11144063 | 1345 days ago | IN | 0.00253813 ETH | 0.000609 | ||||
Set Name | 11100598 | 1352 days ago | IN | 0 ETH | 0.00427434 | ||||
Transfer | 11036603 | 1362 days ago | IN | 0.00269 ETH | 0.000588 |
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 | |||
---|---|---|---|---|---|---|---|
20221518 | 2 days ago | 0 ETH | |||||
20221518 | 2 days ago | 0 ETH | |||||
20221340 | 2 days ago | 0 ETH | |||||
20221340 | 2 days ago | 0 ETH | |||||
20221317 | 2 days ago | 0 ETH | |||||
20221317 | 2 days ago | 0 ETH | |||||
20208401 | 4 days ago | 0 ETH | |||||
20208401 | 4 days ago | 0 ETH | |||||
20201986 | 5 days ago | 0 ETH | |||||
20201986 | 5 days ago | 0 ETH | |||||
20174637 | 8 days ago | 0 ETH | |||||
20174637 | 8 days ago | 0 ETH | |||||
20171407 | 9 days ago | 0 ETH | |||||
20171407 | 9 days ago | 0 ETH | |||||
20171407 | 9 days ago | 0 ETH | |||||
20171407 | 9 days ago | 0 ETH | |||||
20149621 | 12 days ago | 0 ETH | |||||
20149621 | 12 days ago | 0 ETH | |||||
20145020 | 13 days ago | 0 ETH | |||||
20145020 | 13 days ago | 0 ETH | |||||
20089479 | 20 days ago | 0 ETH | |||||
20089479 | 20 days ago | 0 ETH | |||||
20067100 | 23 days ago | 0 ETH | |||||
20067100 | 23 days ago | 0 ETH | |||||
20067034 | 23 days ago | 0 ETH |
Loading...
Loading
Contract Name:
DefaultReverseResolver
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-01-30 */ // File: @ensdomains/ens/contracts/ENS.sol pragma solidity >=0.4.24; interface ENS { // Logged when the owner of a node assigns a new owner to a subnode. event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner); // Logged when the owner of a node transfers ownership to a new account. event Transfer(bytes32 indexed node, address owner); // Logged when the resolver for a node changes. event NewResolver(bytes32 indexed node, address resolver); // Logged when the TTL of a node changes event NewTTL(bytes32 indexed node, uint64 ttl); // Logged when an operator is added or removed. event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external; function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external; function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external returns(bytes32); function setResolver(bytes32 node, address resolver) external; function setOwner(bytes32 node, address owner) external; function setTTL(bytes32 node, uint64 ttl) external; function setApprovalForAll(address operator, bool approved) external; function owner(bytes32 node) external view returns (address); function resolver(bytes32 node) external view returns (address); function ttl(bytes32 node) external view returns (uint64); function recordExists(bytes32 node) external view returns (bool); function isApprovedForAll(address owner, address operator) external view returns (bool); } // File: @ensdomains/ens/contracts/ReverseRegistrar.sol pragma solidity ^0.5.0; contract Resolver { function setName(bytes32 node, string memory name) public; } contract ReverseRegistrar { // namehash('addr.reverse') bytes32 public constant ADDR_REVERSE_NODE = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2; ENS public ens; Resolver public defaultResolver; /** * @dev Constructor * @param ensAddr The address of the ENS registry. * @param resolverAddr The address of the default reverse resolver. */ constructor(ENS ensAddr, Resolver resolverAddr) public { ens = ensAddr; defaultResolver = resolverAddr; // Assign ownership of the reverse record to our deployer ReverseRegistrar oldRegistrar = ReverseRegistrar(ens.owner(ADDR_REVERSE_NODE)); if (address(oldRegistrar) != address(0x0)) { 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) public returns (bytes32) { return claimWithResolver(owner, address(0x0)); } /** * @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) public returns (bytes32) { bytes32 label = sha3HexAddress(msg.sender); bytes32 node = keccak256(abi.encodePacked(ADDR_REVERSE_NODE, label)); address currentOwner = ens.owner(node); // Update the resolver if required if (resolver != address(0x0) && 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, address(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 memory name) public returns (bytes32) { bytes32 node = claimWithResolver(address(this), address(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) public pure returns (bytes32) { return keccak256(abi.encodePacked(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 pure returns (bytes32 ret) { addr; ret; // Stop warning us about unused variables assembly { let lookup := 0x3031323334353637383961626364656600000000000000000000000000000000 for { let i := 40 } gt(i, 0) { } { 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) } ret := keccak256(0, 40) } } } // File: @ensdomains/resolver/contracts/DefaultReverseResolver.sol pragma solidity >=0.4.25; /** * @dev Provides a default implementation of a resolver for reverse records, * which permits only the owner to update it. */ contract DefaultReverseResolver { // namehash('addr.reverse') bytes32 constant ADDR_REVERSE_NODE = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2; ENS public ens; mapping (bytes32 => string) public name; /** * @dev Only permits calls by the reverse registrar. * @param node The node permission is required for. */ modifier onlyOwner(bytes32 node) { require(msg.sender == ens.owner(node)); _; } /** * @dev Constructor * @param ensAddr The address of the ENS registry. */ constructor(ENS ensAddr) public { ens = ensAddr; // Assign ownership of the reverse record to our deployer ReverseRegistrar registrar = ReverseRegistrar(ens.owner(ADDR_REVERSE_NODE)); if (address(registrar) != address(0x0)) { registrar.claim(msg.sender); } } /** * @dev Sets the name for a node. * @param node The node to update. * @param _name The name to set. */ function setName(bytes32 node, string memory _name) public onlyOwner(node) { name[node] = _name; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract ENS","name":"ensAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"ens","outputs":[{"internalType":"contract ENS","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516107163803806107168339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561011b57600080fd5b505afa15801561012f573d6000803e3d6000fd5b505050506040513d602081101561014557600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610248578073ffffffffffffffffffffffffffffffffffffffff16631e83409a336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561020b57600080fd5b505af115801561021f573d6000803e3d6000fd5b505050506040513d602081101561023557600080fd5b8101908080519060200190929190505050505b50506104bd806102596000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633f15457f14610046578063691f3431146100905780637737221314610137575b600080fd5b61004e6101fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100bc600480360360208110156100a657600080fd5b8101908080359060200190929190505050610221565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100fc5780820151818401526020810190506100e1565b50505050905090810190601f1680156101295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa6004803603604081101561014d57600080fd5b81019080803590602001909291908035906020019064010000000081111561017457600080fd5b82018360208201111561018657600080fd5b803590602001918460018302840111640100000000831117156101a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102d1565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102c95780601f1061029e576101008083540402835291602001916102c9565b820191906000526020600020905b8154815290600101906020018083116102ac57829003601f168201915b505050505081565b816000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561034457600080fd5b505afa158015610358573d6000803e3d6000fd5b505050506040513d602081101561036e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b657600080fd5b816001600085815260200190815260200160002090805190602001906103dd9291906103e3565b50505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061042457805160ff1916838001178555610452565b82800160010185558215610452579182015b82811115610451578251825591602001919060010190610436565b5b50905061045f9190610463565b5090565b61048591905b80821115610481576000816000905550600101610469565b5090565b9056fea265627a7a72315820dc267d537b31c3538e97b089b0b2e4fc6ccf9312b39ce36194955127da2b50a664736f6c6343000510003200000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100415760003560e01c80633f15457f14610046578063691f3431146100905780637737221314610137575b600080fd5b61004e6101fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100bc600480360360208110156100a657600080fd5b8101908080359060200190929190505050610221565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100fc5780820151818401526020810190506100e1565b50505050905090810190601f1680156101295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa6004803603604081101561014d57600080fd5b81019080803590602001909291908035906020019064010000000081111561017457600080fd5b82018360208201111561018657600080fd5b803590602001918460018302840111640100000000831117156101a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102d1565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102c95780601f1061029e576101008083540402835291602001916102c9565b820191906000526020600020905b8154815290600101906020018083116102ac57829003601f168201915b505050505081565b816000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561034457600080fd5b505afa158015610358573d6000803e3d6000fd5b505050506040513d602081101561036e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b657600080fd5b816001600085815260200190815260200160002090805190602001906103dd9291906103e3565b50505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061042457805160ff1916838001178555610452565b82800160010185558215610452579182015b82811115610451578251825591602001919060010190610436565b5b50905061045f9190610463565b5090565b61048591905b80821115610481576000816000905550600101610469565b5090565b9056fea265627a7a72315820dc267d537b31c3538e97b089b0b2e4fc6ccf9312b39ce36194955127da2b50a664736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e
-----Decoded View---------------
Arg [0] : ensAddr (address): 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e
Deployed Bytecode Sourcemap
6411:1176:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6411:1176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6595:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6616:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6616:39:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6616:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7472:112:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7472:112:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7472:112:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7472:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7472:112:0;;;;;;;;;;;;;;;:::i;:::-;;6595:14;;;;;;;;;;;;;:::o;6616:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7472:112::-;7541:4;6863:3;;;;;;;;;;;:9;;;6873:4;6863:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6863:15:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6863:15:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6863:15:0;;;;;;;;;;;;;;;;6849:29;;:10;:29;;;6841:38;;;;;;7571:5;7558:4;:10;7563:4;7558:10;;;;;;;;;;;:18;;;;;;;;;;;;:::i;:::-;;7472:112;;;:::o;6411:1176::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://dc267d537b31c3538e97b089b0b2e4fc6ccf9312b39ce36194955127da2b50a6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.