ERC-20
Overview
Max Total Supply
1,000,000,000 HBX
Holders
1,133
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
This contract contains unverified libraries: TokenLib
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
TokenDelegate
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-10 */ pragma solidity ^0.4.24; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * @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 owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } contract Administratable is Ownable { using SafeMath for uint256; address[] public adminsForIndex; address[] public superAdminsForIndex; mapping (address => bool) public admins; mapping (address => bool) public superAdmins; mapping (address => bool) private processedAdmin; mapping (address => bool) private processedSuperAdmin; event AddAdmin(address indexed admin); event RemoveAdmin(address indexed admin); event AddSuperAdmin(address indexed admin); event RemoveSuperAdmin(address indexed admin); modifier onlyAdmins { require (msg.sender == owner || superAdmins[msg.sender] || admins[msg.sender]); _; } modifier onlySuperAdmins { require (msg.sender == owner || superAdmins[msg.sender]); _; } function totalSuperAdminsMapping() public view returns (uint256) { return superAdminsForIndex.length; } function addSuperAdmin(address admin) public onlySuperAdmins { require(admin != address(0)); superAdmins[admin] = true; if (!processedSuperAdmin[admin]) { superAdminsForIndex.push(admin); processedSuperAdmin[admin] = true; } emit AddSuperAdmin(admin); } function removeSuperAdmin(address admin) public onlySuperAdmins { require(admin != address(0)); superAdmins[admin] = false; emit RemoveSuperAdmin(admin); } function totalAdminsMapping() public view returns (uint256) { return adminsForIndex.length; } function addAdmin(address admin) public onlySuperAdmins { require(admin != address(0)); admins[admin] = true; if (!processedAdmin[admin]) { adminsForIndex.push(admin); processedAdmin[admin] = true; } emit AddAdmin(admin); } function removeAdmin(address admin) public onlySuperAdmins { require(admin != address(0)); admins[admin] = false; emit RemoveAdmin(admin); } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } /** * @title EternalStorage * @dev An Administratable contract that can be used as a storage where the variables * are stored in a set of mappings indexed by hash names. */ contract EternalStorage is Administratable { struct Storage { mapping(bytes32 => bool) _bool; mapping(bytes32 => int) _int; mapping(bytes32 => uint256) _uint; mapping(bytes32 => string) _string; mapping(bytes32 => address) _address; mapping(bytes32 => bytes) _bytes; } Storage internal s; /** * @dev Allows admins to set a value for a boolean variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setBoolean(bytes32 h, bool v) public onlyAdmins { s._bool[h] = v; } /** * @dev Allows admins to set a value for a int variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setInt(bytes32 h, int v) public onlyAdmins { s._int[h] = v; } /** * @dev Allows admins to set a value for a boolean variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setUint(bytes32 h, uint256 v) public onlyAdmins { s._uint[h] = v; } /** * @dev Allows admins to set a value for a address variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setAddress(bytes32 h, address v) public onlyAdmins { s._address[h] = v; } /** * @dev Allows admins to set a value for a string variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setString(bytes32 h, string v) public onlyAdmins { s._string[h] = v; } /** * @dev Allows the owner to set a value for a bytes variable. * @param h The keccak256 hash of the variable name * @param v The value to be stored */ function setBytes(bytes32 h, bytes v) public onlyAdmins { s._bytes[h] = v; } /** * @dev Get the value stored of a boolean variable by the hash name * @param h The keccak256 hash of the variable name */ function getBoolean(bytes32 h) public view returns (bool){ return s._bool[h]; } /** * @dev Get the value stored of a int variable by the hash name * @param h The keccak256 hash of the variable name */ function getInt(bytes32 h) public view returns (int){ return s._int[h]; } /** * @dev Get the value stored of a uint variable by the hash name * @param h The keccak256 hash of the variable name */ function getUint(bytes32 h) public view returns (uint256){ return s._uint[h]; } /** * @dev Get the value stored of a address variable by the hash name * @param h The keccak256 hash of the variable name */ function getAddress(bytes32 h) public view returns (address){ return s._address[h]; } /** * @dev Get the value stored of a string variable by the hash name * @param h The keccak256 hash of the variable name */ function getString(bytes32 h) public view returns (string){ return s._string[h]; } /** * @dev Get the value stored of a bytes variable by the hash name * @param h The keccak256 hash of the variable name */ function getBytes(bytes32 h) public view returns (bytes){ return s._bytes[h]; } } library TokenLib { using SafeMath for uint256; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); /* struct TokenStorage { address storage} */ function transfer(address _storage, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); uint256 senderBalance = EternalStorage(_storage).getUint(keccak256(abi.encodePacked('balance', msg.sender))); require(_value <= senderBalance); uint256 receiverBalance = balanceOf(_storage, _to); EternalStorage(_storage).setUint(keccak256(abi.encodePacked('balance', msg.sender)), senderBalance.sub(_value)); EternalStorage(_storage).setUint(keccak256(abi.encodePacked('balance', _to)), receiverBalance.add(_value)); emit Transfer(msg.sender, _to, _value); return true; } function mint(address _storage, address _to, uint256 _value) public { EternalStorage(_storage).setUint(keccak256(abi.encodePacked('balance', _to)), _value); EternalStorage(_storage).setUint(keccak256(abi.encodePacked('totalSupply')), _value); } function setTotalSupply(address _storage, uint256 _totalSupply) public { EternalStorage(_storage).setUint(keccak256(abi.encodePacked('totalSupply')), _totalSupply); } function totalSupply(address _storage) public view returns (uint256) { return EternalStorage(_storage).getUint(keccak256(abi.encodePacked('totalSupply'))); } function balanceOf(address _storage, address _owner) public view returns (uint256 balance) { return EternalStorage(_storage).getUint(keccak256(abi.encodePacked('balance', _owner))); } function getAllowance(address _storage, address _owner, address _spender) public view returns (uint256) { return EternalStorage(_storage).getUint(keccak256(abi.encodePacked('allowance', _owner, _spender))); } function setAllowance(address _storage, address _owner, address _spender, uint256 _allowance) public { EternalStorage(_storage).setUint(keccak256(abi.encodePacked('allowance', _owner, _spender)), _allowance); } function allowance(address _storage, address _owner, address _spender) public view returns (uint256) { return getAllowance(_storage, _owner, _spender); } function transferFrom(address _storage, address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_from != msg.sender); require(_value > 0); uint256 senderBalance = balanceOf(_storage, _from); require(senderBalance >= _value); uint256 allowanceValue = allowance(_storage, _from, msg.sender); require(allowanceValue >= _value); uint256 receiverBalance = balanceOf(_storage, _to); EternalStorage(_storage).setUint(keccak256(abi.encodePacked('balance', _from)), senderBalance.sub(_value)); EternalStorage(_storage).setUint(keccak256(abi.encodePacked('balance', _to)), receiverBalance.add(_value)); setAllowance(_storage, _from, msg.sender, allowanceValue.sub(_value)); emit Transfer(_from, _to, _value); return true; } function approve(address _storage, address _spender, uint256 _value) public returns (bool) { require(_spender != address(0)); require(msg.sender != _spender); setAllowance(_storage, msg.sender, _spender, _value); emit Approval(msg.sender, _spender, _value); return true; } function increaseApproval(address _storage, address _spender, uint256 _addedValue) public returns (bool) { return approve(_storage, _spender, getAllowance(_storage, msg.sender, _spender).add(_addedValue)); } function decreaseApproval(address _storage, address _spender, uint256 _subtractedValue) public returns (bool) { uint256 oldValue = getAllowance(_storage, msg.sender, _spender); if (_subtractedValue > oldValue) { return approve(_storage, _spender, 0); } else { return approve(_storage, _spender, oldValue.sub(_subtractedValue)); } } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract UpgradableToken is ERC20, Ownable { address public predecessor; address public successor; string public version; event UpgradedTo(address indexed successor); event UpgradedFrom(address indexed predecessor); modifier unlessUpgraded() { require (msg.sender == successor || successor == address(0)); _; } modifier isUpgraded() { require (successor != address(0)); _; } modifier hasPredecessor() { require (predecessor != address(0)); _; } function isDeprecated() public view returns (bool) { return successor != address(0); } constructor(string _version) public { version = _version; } function upgradeTo(address _successor) public onlyOwner unlessUpgraded returns (bool){ require(_successor != address(0)); uint remainingContractBalance = balanceOf(this); if (remainingContractBalance > 0) { this.transfer(_successor, remainingContractBalance); } successor = _successor; emit UpgradedTo(_successor); return true; } function upgradedFrom(address _predecessor) public onlyOwner returns (bool) { require(_predecessor != address(0)); predecessor = _predecessor; emit UpgradedFrom(_predecessor); return true; } } contract Token is Ownable { event UpgradedTo(address indexed implementation); address internal _implementation; function implementation() public view returns (address) { return _implementation; } function upgradeTo(address impl) public onlyOwner { require(_implementation != impl); _implementation = impl; emit UpgradedTo(impl); } 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 DetailedERC20 token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract DetailedERC20 is ERC20 { string public name; string public symbol; uint8 public decimals; constructor(string _name, string _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; } } contract TokenDelegate is UpgradableToken, DetailedERC20, Pausable { using TokenLib for address; address tokenStorage; constructor(string _name, string _symbol, uint8 _decimals, address _storage, string _version) DetailedERC20(_name, _symbol, _decimals) UpgradableToken(_version) public { setStorage(_storage); } function setTotalSupply(uint256 _totalSupply) public onlyOwner { tokenStorage.setTotalSupply(_totalSupply); } function setStorage(address _storage) public onlyOwner unlessUpgraded whenNotPaused { tokenStorage = _storage; } function totalSupply() public view returns (uint){ return tokenStorage.totalSupply(); } function mint(address _to, uint _value) public onlyOwner unlessUpgraded whenNotPaused { tokenStorage.mint(_to, _value); } function balanceOf(address _owner) public view returns (uint256) { return tokenStorage.balanceOf(_owner); } function transfer(address _to, uint _value) public unlessUpgraded whenNotPaused returns(bool) { return tokenStorage.transfer(_to, _value); } function approve(address _to, uint _value) public unlessUpgraded whenNotPaused returns(bool) { return tokenStorage.approve(_to, _value); } function allowance(address _owner, address _spender) public view returns (uint256) { return tokenStorage.allowance(_owner, _spender); } function transferFrom(address _from, address _to, uint256 _value) public unlessUpgraded whenNotPaused returns (bool) { return tokenStorage.transferFrom(_from, _to, _value); } function increaseApproval(address _spender, uint256 _addedValue) public unlessUpgraded whenNotPaused returns (bool) { return tokenStorage.increaseApproval(_spender, _addedValue); } function decreaseApproval(address _spender, uint256 _subtractedValue) public unlessUpgraded whenNotPaused returns (bool) { return tokenStorage.decreaseApproval(_spender, _subtractedValue); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_successor","type":"address"}],"name":"upgradeTo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_predecessor","type":"address"}],"name":"upgradedFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"successor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_storage","type":"address"}],"name":"setStorage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"predecessor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isDeprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_totalSupply","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_storage","type":"address"},{"name":"_version","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"successor","type":"address"}],"name":"UpgradedTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"predecessor","type":"address"}],"name":"UpgradedFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526006805461ff00191690553480156200001c57600080fd5b5060405162001562380380620015628339810160409081528151602080840151928401516060850151608086015160008054600160a060020a0319163317905586018051948701969590950194919390928691869186918591620000869160039184019062000171565b505082516200009d90600490602086019062000171565b508151620000b390600590602085019062000171565b506006805460ff191660ff9290921691909117905550620000df905082640100000000620000ea810204565b505050505062000216565b600054600160a060020a031633146200010257600080fd5b600254600160a060020a0316331480620001255750600254600160a060020a0316155b15156200013157600080fd5b600654610100900460ff16156200014757600080fd5b60068054600160a060020a0390921662010000026201000060b060020a0319909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001b457805160ff1916838001178555620001e4565b82800160010185558215620001e4579182015b82811115620001e4578251825591602001919060010190620001c7565b50620001f2929150620001f6565b5090565b6200021391905b80821115620001f25760008155600101620001fd565b90565b61133c80620002266000396000f3006080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e257806318160ddd1461021a57806323b872dd14610241578063313ce5671461026b5780633659cfe6146102965780633f4ba83a146102b757806340c10f19146102ce57806354fd4d50146102f25780635c975abb14610307578063661884631461031c57806366e3cb68146103405780636ff968c31461036157806370a0823114610392578063715018a6146103b35780638456cb59146103c85780638da5cb5b146103dd5780639137c1a7146103f257806395d89b4114610413578063a9059cbb14610428578063b719d0321461044c578063c717823014610461578063d73dd62314610476578063dd62ed3e1461049a578063f2fde38b146104c1578063f7ea7a3d146104e2575b600080fd5b34801561016457600080fd5b5061016d6104fa565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a0360043516602435610588565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061022f61068b565b60408051918252519081900360200190f35b34801561024d57600080fd5b50610206600160a060020a036004358116906024351660443561073b565b34801561027757600080fd5b50610280610847565b6040805160ff9092168252519081900360200190f35b3480156102a257600080fd5b50610206600160a060020a0360043516610850565b3480156102c357600080fd5b506102cc6109b2565b005b3480156102da57600080fd5b506102cc600160a060020a0360043516602435610a15565b3480156102fe57600080fd5b5061016d610b15565b34801561031357600080fd5b50610206610b70565b34801561032857600080fd5b50610206600160a060020a0360043516602435610b7e565b34801561034c57600080fd5b50610206600160a060020a0360043516610c4e565b34801561036d57600080fd5b50610376610cd7565b60408051600160a060020a039092168252519081900360200190f35b34801561039e57600080fd5b5061022f600160a060020a0360043516610ce6565b3480156103bf57600080fd5b506102cc610da0565b3480156103d457600080fd5b506102cc610e0c565b3480156103e957600080fd5b50610376610e72565b3480156103fe57600080fd5b506102cc600160a060020a0360043516610e81565b34801561041f57600080fd5b5061016d610f11565b34801561043457600080fd5b50610206600160a060020a0360043516602435610f6c565b34801561045857600080fd5b5061037661103c565b34801561046d57600080fd5b5061020661104b565b34801561048257600080fd5b50610206600160a060020a036004351660243561105c565b3480156104a657600080fd5b5061022f600160a060020a036004358116906024351661112c565b3480156104cd57600080fd5b506102cc600160a060020a03600435166111bc565b3480156104ee57600080fd5b506102cc6004356111df565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b820191906000526020600020905b81548152906001019060200180831161056357829003601f168201915b505050505081565b600254600090600160a060020a03163314806105ad5750600254600160a060020a0316155b15156105b857600080fd5b600654610100900460ff16156105cd57600080fd5b600654604080517fe1f21c67000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163e1f21c67916064808301926020929190829003018186803b15801561065857600080fd5b505af415801561066c573d6000803e3d6000fd5b505050506040513d602081101561068257600080fd5b50519392505050565b600654604080517fe4dc2aa400000000000000000000000000000000000000000000000000000000815262010000909204600160a060020a0316600483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163e4dc2aa491602480820192602092909190829003018186803b15801561070a57600080fd5b505af415801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b5051905090565b600254600090600160a060020a03163314806107605750600254600160a060020a0316155b151561076b57600080fd5b600654610100900460ff161561078057600080fd5b600654604080517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090930483166004820152868316602482015291851660448301526064820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a27916315dacbea916084808301926020929190829003018186803b15801561081357600080fd5b505af4158015610827573d6000803e3d6000fd5b505050506040513d602081101561083d57600080fd5b5051949350505050565b60065460ff1681565b600080548190600160a060020a0316331461086a57600080fd5b600254600160a060020a031633148061088c5750600254600160a060020a0316155b151561089757600080fd5b600160a060020a03831615156108ac57600080fd5b6108b530610ce6565b9050600081111561095557604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385166004820152602481018390529051309163a9059cbb9160448083019260209291908290030181600087803b15801561092857600080fd5b505af115801561093c573d6000803e3d6000fd5b505050506040513d602081101561095257600080fd5b50505b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385169081179091556040517f1466d4e2c17718222b4ada7f7cbc8907912d6083fdaf34382703d6a9602eef5590600090a250600192915050565b600054600160a060020a031633146109c957600080fd5b600654610100900460ff1615156109df57600080fd5b6006805461ff00191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600054600160a060020a03163314610a2c57600080fd5b600254600160a060020a0316331480610a4e5750600254600160a060020a0316155b1515610a5957600080fd5b600654610100900460ff1615610a6e57600080fd5b600654604080517fc6c3bbe6000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291841660248301526044820183905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163c6c3bbe6916064808301926000929190829003018186803b158015610af957600080fd5b505af4158015610b0d573d6000803e3d6000fd5b505050505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b600654610100900460ff1681565b600254600090600160a060020a0316331480610ba35750600254600160a060020a0316155b1515610bae57600080fd5b600654610100900460ff1615610bc357600080fd5b600654604080517ff019c267000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163f019c267916064808301926020929190829003018186803b15801561065857600080fd5b60008054600160a060020a03163314610c6657600080fd5b600160a060020a0382161515610c7b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091556040517f75c09cedaf6c35dc577b0fd0a8c77c569c84be03eae895084c7c60788eac7d6490600090a2506001919050565b600254600160a060020a031681565b600654604080517ff7888aec000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090930483166004820152918316602483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163f7888aec91604480820192602092909190829003018186803b158015610d6e57600080fd5b505af4158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b505192915050565b600054600160a060020a03163314610db757600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610e2357600080fd5b600654610100900460ff1615610e3857600080fd5b6006805461ff0019166101001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b600054600160a060020a03163314610e9857600080fd5b600254600160a060020a0316331480610eba5750600254600160a060020a0316155b1515610ec557600080fd5b600654610100900460ff1615610eda57600080fd5b60068054600160a060020a03909216620100000275ffffffffffffffffffffffffffffffffffffffff000019909216919091179055565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b600254600090600160a060020a0316331480610f915750600254600160a060020a0316155b1515610f9c57600080fd5b600654610100900460ff1615610fb157600080fd5b600654604080517fbeabacc8000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163beabacc8916064808301926020929190829003018186803b15801561065857600080fd5b600154600160a060020a031681565b600254600160a060020a0316151590565b600254600090600160a060020a03163314806110815750600254600160a060020a0316155b151561108c57600080fd5b600654610100900460ff16156110a157600080fd5b600654604080517fbcdd6121000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163bcdd6121916064808301926020929190829003018186803b15801561065857600080fd5b600654604080517f927da105000000000000000000000000000000000000000000000000000000008152600160a060020a0362010000909304831660048201528483166024820152918316604483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163927da10591606480820192602092909190829003018186803b15801561065857600080fd5b600054600160a060020a031633146111d357600080fd5b6111dc81611293565b50565b600054600160a060020a031633146111f657600080fd5b600654604080517f79ba7f3900000000000000000000000000000000000000000000000000000000815262010000909204600160a060020a031660048301526024820183905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a27916379ba7f39916044808301926000929190829003018186803b15801561127857600080fd5b505af415801561128c573d6000803e3d6000fd5b5050505050565b600160a060020a03811615156112a857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820680ecf2bbd309216d7921b24b986df9892af14fcc74bc5541cbc5ef524100e89002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000306b5cf6f9ee067b676a3a6be0dff0b5df2f629f0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000b4879706572627269646765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348425800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003312e300000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e257806318160ddd1461021a57806323b872dd14610241578063313ce5671461026b5780633659cfe6146102965780633f4ba83a146102b757806340c10f19146102ce57806354fd4d50146102f25780635c975abb14610307578063661884631461031c57806366e3cb68146103405780636ff968c31461036157806370a0823114610392578063715018a6146103b35780638456cb59146103c85780638da5cb5b146103dd5780639137c1a7146103f257806395d89b4114610413578063a9059cbb14610428578063b719d0321461044c578063c717823014610461578063d73dd62314610476578063dd62ed3e1461049a578063f2fde38b146104c1578063f7ea7a3d146104e2575b600080fd5b34801561016457600080fd5b5061016d6104fa565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a0360043516602435610588565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061022f61068b565b60408051918252519081900360200190f35b34801561024d57600080fd5b50610206600160a060020a036004358116906024351660443561073b565b34801561027757600080fd5b50610280610847565b6040805160ff9092168252519081900360200190f35b3480156102a257600080fd5b50610206600160a060020a0360043516610850565b3480156102c357600080fd5b506102cc6109b2565b005b3480156102da57600080fd5b506102cc600160a060020a0360043516602435610a15565b3480156102fe57600080fd5b5061016d610b15565b34801561031357600080fd5b50610206610b70565b34801561032857600080fd5b50610206600160a060020a0360043516602435610b7e565b34801561034c57600080fd5b50610206600160a060020a0360043516610c4e565b34801561036d57600080fd5b50610376610cd7565b60408051600160a060020a039092168252519081900360200190f35b34801561039e57600080fd5b5061022f600160a060020a0360043516610ce6565b3480156103bf57600080fd5b506102cc610da0565b3480156103d457600080fd5b506102cc610e0c565b3480156103e957600080fd5b50610376610e72565b3480156103fe57600080fd5b506102cc600160a060020a0360043516610e81565b34801561041f57600080fd5b5061016d610f11565b34801561043457600080fd5b50610206600160a060020a0360043516602435610f6c565b34801561045857600080fd5b5061037661103c565b34801561046d57600080fd5b5061020661104b565b34801561048257600080fd5b50610206600160a060020a036004351660243561105c565b3480156104a657600080fd5b5061022f600160a060020a036004358116906024351661112c565b3480156104cd57600080fd5b506102cc600160a060020a03600435166111bc565b3480156104ee57600080fd5b506102cc6004356111df565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b820191906000526020600020905b81548152906001019060200180831161056357829003601f168201915b505050505081565b600254600090600160a060020a03163314806105ad5750600254600160a060020a0316155b15156105b857600080fd5b600654610100900460ff16156105cd57600080fd5b600654604080517fe1f21c67000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163e1f21c67916064808301926020929190829003018186803b15801561065857600080fd5b505af415801561066c573d6000803e3d6000fd5b505050506040513d602081101561068257600080fd5b50519392505050565b600654604080517fe4dc2aa400000000000000000000000000000000000000000000000000000000815262010000909204600160a060020a0316600483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163e4dc2aa491602480820192602092909190829003018186803b15801561070a57600080fd5b505af415801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b5051905090565b600254600090600160a060020a03163314806107605750600254600160a060020a0316155b151561076b57600080fd5b600654610100900460ff161561078057600080fd5b600654604080517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090930483166004820152868316602482015291851660448301526064820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a27916315dacbea916084808301926020929190829003018186803b15801561081357600080fd5b505af4158015610827573d6000803e3d6000fd5b505050506040513d602081101561083d57600080fd5b5051949350505050565b60065460ff1681565b600080548190600160a060020a0316331461086a57600080fd5b600254600160a060020a031633148061088c5750600254600160a060020a0316155b151561089757600080fd5b600160a060020a03831615156108ac57600080fd5b6108b530610ce6565b9050600081111561095557604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385166004820152602481018390529051309163a9059cbb9160448083019260209291908290030181600087803b15801561092857600080fd5b505af115801561093c573d6000803e3d6000fd5b505050506040513d602081101561095257600080fd5b50505b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385169081179091556040517f1466d4e2c17718222b4ada7f7cbc8907912d6083fdaf34382703d6a9602eef5590600090a250600192915050565b600054600160a060020a031633146109c957600080fd5b600654610100900460ff1615156109df57600080fd5b6006805461ff00191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600054600160a060020a03163314610a2c57600080fd5b600254600160a060020a0316331480610a4e5750600254600160a060020a0316155b1515610a5957600080fd5b600654610100900460ff1615610a6e57600080fd5b600654604080517fc6c3bbe6000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291841660248301526044820183905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163c6c3bbe6916064808301926000929190829003018186803b158015610af957600080fd5b505af4158015610b0d573d6000803e3d6000fd5b505050505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b600654610100900460ff1681565b600254600090600160a060020a0316331480610ba35750600254600160a060020a0316155b1515610bae57600080fd5b600654610100900460ff1615610bc357600080fd5b600654604080517ff019c267000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163f019c267916064808301926020929190829003018186803b15801561065857600080fd5b60008054600160a060020a03163314610c6657600080fd5b600160a060020a0382161515610c7b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091556040517f75c09cedaf6c35dc577b0fd0a8c77c569c84be03eae895084c7c60788eac7d6490600090a2506001919050565b600254600160a060020a031681565b600654604080517ff7888aec000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090930483166004820152918316602483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163f7888aec91604480820192602092909190829003018186803b158015610d6e57600080fd5b505af4158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b505192915050565b600054600160a060020a03163314610db757600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610e2357600080fd5b600654610100900460ff1615610e3857600080fd5b6006805461ff0019166101001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b600054600160a060020a03163314610e9857600080fd5b600254600160a060020a0316331480610eba5750600254600160a060020a0316155b1515610ec557600080fd5b600654610100900460ff1615610eda57600080fd5b60068054600160a060020a03909216620100000275ffffffffffffffffffffffffffffffffffffffff000019909216919091179055565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105805780601f1061055557610100808354040283529160200191610580565b600254600090600160a060020a0316331480610f915750600254600160a060020a0316155b1515610f9c57600080fd5b600654610100900460ff1615610fb157600080fd5b600654604080517fbeabacc8000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163beabacc8916064808301926020929190829003018186803b15801561065857600080fd5b600154600160a060020a031681565b600254600160a060020a0316151590565b600254600090600160a060020a03163314806110815750600254600160a060020a0316155b151561108c57600080fd5b600654610100900460ff16156110a157600080fd5b600654604080517fbcdd6121000000000000000000000000000000000000000000000000000000008152600160a060020a03620100009093048316600482015291851660248301526044820184905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163bcdd6121916064808301926020929190829003018186803b15801561065857600080fd5b600654604080517f927da105000000000000000000000000000000000000000000000000000000008152600160a060020a0362010000909304831660048201528483166024820152918316604483015251600091731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a279163927da10591606480820192602092909190829003018186803b15801561065857600080fd5b600054600160a060020a031633146111d357600080fd5b6111dc81611293565b50565b600054600160a060020a031633146111f657600080fd5b600654604080517f79ba7f3900000000000000000000000000000000000000000000000000000000815262010000909204600160a060020a031660048301526024820183905251731ee9faa44d313a1d2e4bfa135ffb15c6f0da8a27916379ba7f39916044808301926000929190829003018186803b15801561127857600080fd5b505af415801561128c573d6000803e3d6000fd5b5050505050565b600160a060020a03811615156112a857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820680ecf2bbd309216d7921b24b986df9892af14fcc74bc5541cbc5ef524100e890029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000306b5cf6f9ee067b676a3a6be0dff0b5df2f629f0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000b4879706572627269646765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348425800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003312e300000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Hyperbridge
Arg [1] : _symbol (string): HBX
Arg [2] : _decimals (uint8): 18
Arg [3] : _storage (address): 0x306B5Cf6f9Ee067B676A3a6Be0dfF0b5DF2F629F
Arg [4] : _version (string): 1.0
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000306b5cf6f9ee067b676a3a6be0dff0b5df2f629f
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [6] : 4879706572627269646765000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 4842580000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [10] : 312e300000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://680ecf2bbd309216d7921b24b986df9892af14fcc74bc5541cbc5ef524100e89
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.