Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 9417642 | 1753 days ago | IN | 0 ETH | 0.00061974 | ||||
Change Implement... | 9247115 | 1779 days ago | IN | 0 ETH | 0.00090616 | ||||
Change Implement... | 9247110 | 1779 days ago | IN | 0 ETH | 0.00091048 | ||||
Change Implement... | 9247106 | 1779 days ago | IN | 0 ETH | 0.00090688 | ||||
Change Implement... | 9247099 | 1779 days ago | IN | 0 ETH | 0.0009064 | ||||
0x60806040 | 9247083 | 1779 days ago | IN | 0 ETH | 0.01096896 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Finder
Compiler Version
v0.5.13+commit.5b0b510c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-01-13 */ pragma solidity ^0.5.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title Provides addresses of the live contracts implementing certain interfaces. * @dev Examples are the Oracle or Store interfaces. */ contract Finder is Ownable { mapping(bytes32 => address) public interfacesImplemented; event InterfaceImplementationChanged(bytes32 indexed interfaceName, address indexed newImplementationAddress); /** * @dev Updates the address of the contract that implements `interfaceName`. */ function changeImplementationAddress(bytes32 interfaceName, address implementationAddress) external onlyOwner { interfacesImplemented[interfaceName] = implementationAddress; emit InterfaceImplementationChanged(interfaceName, implementationAddress); } /** * @dev Gets the address of the contract that implements the given `interfaceName`. */ function getImplementationAddress(bytes32 interfaceName) external view returns (address implementationAddress) { implementationAddress = interfacesImplemented[interfaceName]; require(implementationAddress != address(0x0), "No implementation for interface found"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"interfaceName","type":"bytes32"},{"indexed":true,"internalType":"address","name":"newImplementationAddress","type":"address"}],"name":"InterfaceImplementationChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"interfaceName","type":"bytes32"},{"internalType":"address","name":"implementationAddress","type":"address"}],"name":"changeImplementationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"interfaceName","type":"bytes32"}],"name":"getImplementationAddress","outputs":[{"internalType":"address","name":"implementationAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"interfacesImplemented","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526100126100d260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36100da565b600033905090565b610882806100e96000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638f32d59b1161005b5780638f32d59b14610124578063aafd5e4014610146578063cc48f4db146101b4578063f2fde38b146102225761007d565b806331f9665e14610082578063715018a6146100d05780638da5cb5b146100da575b600080fd5b6100ce6004803603604081101561009857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610266565b005b6100d861037a565b005b6100e26104b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012c6104dc565b604051808215151515815260200191505060405180910390f35b6101726004803603602081101561015c57600080fd5b810190808035906020019092919050505061053a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e0600480360360208110156101ca57600080fd5b81019080803590602001909291905050506105fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102646004803603602081101561023857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610630565b005b61026e6104dc565b6102e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16827fb29aa13e555039289e0513962835b00fcc6e4a265ae8f99e68e5b90d5406fe4860405160405180910390a35050565b6103826104dc565b6103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661051e6106b6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806108296025913960400191505060405180910390fd5b919050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106386104dc565b6106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6106b3816106be565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610744576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108036026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734e6f20696d706c656d656e746174696f6e20666f7220696e7465726661636520666f756e64a265627a7a723158204845367e061246b7b1465752a3515af3941204f08260de16d21f46513a2c8ced64736f6c634300050d0032
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638f32d59b1161005b5780638f32d59b14610124578063aafd5e4014610146578063cc48f4db146101b4578063f2fde38b146102225761007d565b806331f9665e14610082578063715018a6146100d05780638da5cb5b146100da575b600080fd5b6100ce6004803603604081101561009857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610266565b005b6100d861037a565b005b6100e26104b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012c6104dc565b604051808215151515815260200191505060405180910390f35b6101726004803603602081101561015c57600080fd5b810190808035906020019092919050505061053a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e0600480360360208110156101ca57600080fd5b81019080803590602001909291905050506105fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102646004803603602081101561023857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610630565b005b61026e6104dc565b6102e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16827fb29aa13e555039289e0513962835b00fcc6e4a265ae8f99e68e5b90d5406fe4860405160405180910390a35050565b6103826104dc565b6103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661051e6106b6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806108296025913960400191505060405180910390fd5b919050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106386104dc565b6106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6106b3816106be565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610744576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108036026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734e6f20696d706c656d656e746174696f6e20666f7220696e7465726661636520666f756e64a265627a7a723158204845367e061246b7b1465752a3515af3941204f08260de16d21f46513a2c8ced64736f6c634300050d0032
Deployed Bytecode Sourcemap
3681:1057:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3681:1057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4000:296;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4000:296:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2785:140;;;:::i;:::-;;1974:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2340:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4415:320;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4415:320:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3717:56;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3717:56:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3080:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3080:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4000:296;2186:9;:7;:9::i;:::-;2178:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4183:21;4144;:36;4166:13;4144:36;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;4266:21;4220:68;;4251:13;4220:68;;;;;;;;;;4000:296;;:::o;2785:140::-;2186:9;:7;:9::i;:::-;2178:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:1;2847:40;;2868:6;;;;;;;;;;;2847:40;;;;;;;;;;;;2915:1;2898:6;;:19;;;;;;;;;;;;;;;;;;2785:140::o;1974:79::-;2012:7;2039:6;;;;;;;;;;;2032:13;;1974:79;:::o;2340:94::-;2380:4;2420:6;;;;;;;;;;;2404:22;;:12;:10;:12::i;:::-;:22;;;2397:29;;2340:94;:::o;4415:320::-;4522:29;4593:21;:36;4615:13;4593:36;;;;;;;;;;;;;;;;;;;;;4569:60;;4681:3;4648:37;;:21;:37;;;;4640:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4415:320;;;:::o;3717:56::-;;;;;;;;;;;;;;;;;;;;;;:::o;3080:109::-;2186:9;:7;:9::i;:::-;2178:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3153:28;3172:8;3153:18;:28::i;:::-;3080:109;:::o;806:98::-;851:15;886:10;879:17;;806:98;:::o;3295:229::-;3389:1;3369:22;;:8;:22;;;;3361:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3479:8;3450:38;;3471:6;;;;;;;;;;;3450:38;;;;;;;;;;;;3508:8;3499:6;;:17;;;;;;;;;;;;;;;;;;3295:229;:::o
Swarm Source
bzzr://4845367e061246b7b1465752a3515af3941204f08260de16d21f46513a2c8ced
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.