Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
150,000,000 KNW
Holders
3,897
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
KnowledgeProxy
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-28 */ pragma solidity ^0.4.18; /** * @title Proxy * @dev Gives the possibility to delegate any call to a foreign implementation. */ contract Proxy { function implementation() public view returns (address); /** * @dev Fallback function allowing to perform a delegatecall to the given implementation. * This function will return whatever the implementation call returns */ function () payable public { address impl = implementation(); require(impl != address(0)); bytes memory data = msg.data; assembly { let result := delegatecall(gas, impl, add(data, 0x20), mload(data), 0, 0) let size := returndatasize let ptr := mload(0x40) returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address[] public owners; event OwnerAdded(address indexed authorizer, address indexed newOwner, uint256 index); event OwnerRemoved(address indexed authorizer, address indexed oldOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owners.push(msg.sender); OwnerAdded(0x0, msg.sender, 0); } /** * @dev Throws if called by any account other than one owner. */ modifier onlyOwner() { bool isOwner = false; for (uint256 i = 0; i < owners.length; i++) { if (msg.sender == owners[i]) { isOwner = true; break; } } require(isOwner); _; } /** * @dev Allows one of the current owners to add a new owner * @param newOwner The address give ownership to. */ function addOwner(address newOwner) onlyOwner public { require(newOwner != address(0)); uint256 i = owners.push(newOwner) - 1; OwnerAdded(msg.sender, newOwner, i); } /** * @dev Allows one of the owners to remove other owner */ function removeOwner(uint256 index) onlyOwner public { address owner = owners[index]; owners[index] = owners[owners.length - 1]; delete owners[owners.length - 1]; OwnerRemoved(msg.sender, owner); } function ownersCount() constant public returns (uint256) { return owners.length; } } contract UpgradableStorage is Ownable { // Address of the current implementation address internal _implementation; event NewImplementation(address implementation); /** * @dev Tells the address of the current implementation * @return address of the current implementation */ function implementation() public view returns (address) { return _implementation; } } /** * @title Upgradable * @dev This contract represents an upgradable contract */ contract Upgradable is UpgradableStorage { function initialize() public payable { } } contract KnowledgeProxy is Proxy, UpgradableStorage { /** * @dev Upgrades the implementation to the requested version */ function upgradeTo(address imp) onlyOwner public payable { _implementation = imp; Upgradable(this).initialize.value(msg.value)(); NewImplementation(imp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"imp","type":"address"}],"name":"upgradeTo","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"implementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authorizer","type":"address"},{"indexed":true,"name":"newOwner","type":"address"},{"indexed":false,"name":"index","type":"uint256"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authorizer","type":"address"},{"indexed":true,"name":"oldOwner","type":"address"}],"name":"OwnerRemoved","type":"event"}]
Contract Creation Code
606060405260008054600181016100168382610076565b50600091825260208220018054600160a060020a03191633600160a060020a0316908117909155907fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848160405190815260200160405180910390a36100c0565b81548183558181151161009a5760008381526020902061009a91810190830161009f565b505050565b6100bd91905b808211156100b957600081556001016100a5565b5090565b90565b6105f7806100cf6000396000f3006060604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100f95780633659cfe61461012b5780635c60da1b146101415780636b919488146101545780637065cb481461016a578063b948854614610189575b6000610081610572565b6100896101ae565b9150600160a060020a03821615156100a057600080fd5b6000368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509050600080825160208401855af43d604051816000823e8280156100f5578282f35b8282fd5b341561010457600080fd5b61010f6004356101be565b604051600160a060020a03909116815260200160405180910390f35b61013f600160a060020a03600435166101e6565b005b341561014c57600080fd5b61010f6101ae565b341561015f57600080fd5b61013f600435610311565b341561017557600080fd5b61013f600160a060020a0360043516610471565b341561019457600080fd5b61019c61056c565b60405190815260200160405180910390f35b600154600160a060020a03165b90565b60008054829081106101cc57fe5b600091825260209091200154600160a060020a0316905081565b6000805b60005481101561023357600080548290811061020257fe5b60009182526020909120015433600160a060020a039081169116141561022b5760019150610233565b6001016101ea565b81151561023f57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091553016638129fc1c346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b15156102ba57600080fd5b6125ee5a03f115156102cb57600080fd5b505050507f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c40983604051600160a060020a03909116815260200160405180910390a1505050565b600080805b60005481101561035f57600080548290811061032e57fe5b60009182526020909120015433600160a060020a0390811691161415610357576001915061035f565b600101610316565b81151561036b57600080fd5b600080548590811061037957fe5b60009182526020822001548154600160a060020a03909116945060001981019081106103a157fe5b60009182526020822001548154600160a060020a039091169190869081106103c557fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091558054600019810190811061040b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600160a060020a038381169033167fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367960405160405180910390a350505050565b600080805b6000548110156104bf57600080548290811061048e57fe5b60009182526020909120015433600160a060020a03908116911614156104b757600191506104bf565b600101610476565b8115156104cb57600080fd5b600160a060020a03841615156104e057600080fd5b6001600080548060010182816104f69190610584565b6000928352602090922001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388811691821790925592909103945033167fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848560405190815260200160405180910390a350505050565b60005490565b60206040519081016040526000815290565b8154818355818115116105a8576000838152602090206105a89181019083016105ad565b505050565b6101bb91905b808211156105c757600081556001016105b3565b50905600a165627a7a7230582018603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f0029
Deployed Bytecode
0x6060604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100f95780633659cfe61461012b5780635c60da1b146101415780636b919488146101545780637065cb481461016a578063b948854614610189575b6000610081610572565b6100896101ae565b9150600160a060020a03821615156100a057600080fd5b6000368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509050600080825160208401855af43d604051816000823e8280156100f5578282f35b8282fd5b341561010457600080fd5b61010f6004356101be565b604051600160a060020a03909116815260200160405180910390f35b61013f600160a060020a03600435166101e6565b005b341561014c57600080fd5b61010f6101ae565b341561015f57600080fd5b61013f600435610311565b341561017557600080fd5b61013f600160a060020a0360043516610471565b341561019457600080fd5b61019c61056c565b60405190815260200160405180910390f35b600154600160a060020a03165b90565b60008054829081106101cc57fe5b600091825260209091200154600160a060020a0316905081565b6000805b60005481101561023357600080548290811061020257fe5b60009182526020909120015433600160a060020a039081169116141561022b5760019150610233565b6001016101ea565b81151561023f57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091553016638129fc1c346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b15156102ba57600080fd5b6125ee5a03f115156102cb57600080fd5b505050507f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c40983604051600160a060020a03909116815260200160405180910390a1505050565b600080805b60005481101561035f57600080548290811061032e57fe5b60009182526020909120015433600160a060020a0390811691161415610357576001915061035f565b600101610316565b81151561036b57600080fd5b600080548590811061037957fe5b60009182526020822001548154600160a060020a03909116945060001981019081106103a157fe5b60009182526020822001548154600160a060020a039091169190869081106103c557fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091558054600019810190811061040b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600160a060020a038381169033167fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367960405160405180910390a350505050565b600080805b6000548110156104bf57600080548290811061048e57fe5b60009182526020909120015433600160a060020a03908116911614156104b757600191506104bf565b600101610476565b8115156104cb57600080fd5b600160a060020a03841615156104e057600080fd5b6001600080548060010182816104f69190610584565b6000928352602090922001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388811691821790925592909103945033167fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848560405190815260200160405180910390a350505050565b60005490565b60206040519081016040526000815290565b8154818355818115116105a8576000838152602090206105a89181019083016105ad565b505050565b6101bb91905b808211156105c757600081556001016105b3565b50905600a165627a7a7230582018603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f0029
Swarm Source
bzzr://18603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.