Source Code
Overview
POL Balance
0 POL
More Info
ContractCreator
TokenTracker
Multichain Info
N/A
Latest 25 from a total of 443 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15499423 | 31 hrs ago | IN | 0 POL | 0.00207256 | ||||
Transfer | 15408181 | 3 days ago | IN | 0 POL | 0.00207256 | ||||
Transfer | 15319181 | 6 days ago | IN | 0 POL | 0.00333369 | ||||
Transfer | 15314385 | 6 days ago | IN | 0 POL | 0.00302992 | ||||
Transfer | 15227953 | 8 days ago | IN | 0 POL | 0.00101017 | ||||
Transfer | 15227685 | 8 days ago | IN | 0 POL | 0.00129558 | ||||
Approve | 15217276 | 9 days ago | IN | 0 POL | 0.00190533 | ||||
Approve | 15216712 | 9 days ago | IN | 0 POL | 0.00136945 | ||||
Transfer | 15177841 | 9 days ago | IN | 0 POL | 0.0025919 | ||||
Approve | 15175712 | 10 days ago | IN | 0 POL | 0.0020089 | ||||
Approve | 15174266 | 10 days ago | IN | 0 POL | 0.00217752 | ||||
Transfer | 15119612 | 11 days ago | IN | 0 POL | 0.00155442 | ||||
Approve | 15017042 | 13 days ago | IN | 0 POL | 0.00182479 | ||||
Transfer | 15016205 | 13 days ago | IN | 0 POL | 0.00357623 | ||||
Transfer | 14975415 | 14 days ago | IN | 0 POL | 0.00319168 | ||||
Transfer | 14904658 | 16 days ago | IN | 0 POL | 0.00241256 | ||||
Transfer | 14899105 | 16 days ago | IN | 0 POL | 0.00332374 | ||||
Transfer | 14862886 | 17 days ago | IN | 0 POL | 0.00388604 | ||||
Approve | 14702898 | 21 days ago | IN | 0 POL | 0.00178569 | ||||
Transfer | 14696237 | 21 days ago | IN | 0 POL | 0.00541798 | ||||
Transfer | 14615926 | 23 days ago | IN | 0 POL | 0.00452485 | ||||
Transfer | 14612594 | 23 days ago | IN | 0 POL | 0.00373955 | ||||
Transfer | 14610215 | 24 days ago | IN | 0 POL | 0.00323912 | ||||
Transfer | 14610176 | 24 days ago | IN | 0 POL | 0.00210526 | ||||
Approve | 14579623 | 24 days ago | IN | 0 POL | 0.00156248 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
HMToken
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 10 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2; import '@openzeppelin/contracts/access/Ownable.sol'; import './interfaces/HMTokenInterface.sol'; import './utils/SafeMath.sol'; contract HMToken is HMTokenInterface, Ownable { using SafeMath for uint256; /* This is a slight change to the ERC20 base standard. function totalSupply() constant returns (uint256 supply); is replaced with: uint256 public totalSupply; This automatically creates a getter function for the totalSupply. This is moved to the base contract since public getter functions are not currently recognised as an implementation of the matching abstract function by the compiler. */ /// total amount of tokens uint256 public totalSupply; uint256 private constant MAX_UINT256 = ~uint256(0); uint256 private constant BULK_MAX_VALUE = (10 ** 9) * (10 ** 18); uint32 private constant BULK_MAX_COUNT = 100; event BulkTransfer(uint256 indexed _txId, uint256 _bulkCount); event BulkApproval(uint256 indexed _txId, uint256 _bulkCount); mapping(address => uint256) private balances; mapping(address => mapping(address => uint256)) private allowed; string public name; uint8 public decimals; string public symbol; constructor( uint256 _totalSupply, string memory _name, uint8 _decimals, string memory _symbol ) { totalSupply = _totalSupply * (10 ** uint256(_decimals)); name = _name; decimals = _decimals; symbol = _symbol; balances[msg.sender] = totalSupply; } function transfer( address _to, uint256 _value ) external override returns (bool success) { success = transferQuiet(_to, _value); require(success, "Transfer didn't succeed"); return success; } function transferFrom( address _spender, address _to, uint256 _value ) external override returns (bool success) { require( _spender != address(0), "Can't send tokens to uninitialized address" ); uint256 _allowance = allowed[_spender][msg.sender]; require(_allowance >= _value, 'Spender allowance too low'); require( _to != address(0), "Can't send tokens to uninitialized address" ); balances[_spender] = balances[_spender].sub( _value, 'Spender balance too low' ); balances[_to] = balances[_to].add(_value); if (_allowance != MAX_UINT256) { // Special case to approve unlimited transfers allowed[_spender][msg.sender] = allowed[_spender][msg.sender] - _value; } emit Transfer(_spender, _to, _value); return true; } function balanceOf( address _owner ) external view override returns (uint256 balance) { return balances[_owner]; } function approve( address _spender, uint256 _value ) external override returns (bool success) { require( _spender != address(0), 'Token spender is an uninitialized address' ); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); //solhint-disable-line indent, no-unused-vars return true; } function increaseApproval( address _spender, uint256 _delta ) public returns (bool success) { require( _spender != address(0), 'Token spender is an uninitialized address' ); uint256 _oldValue = allowed[msg.sender][_spender]; if ( _oldValue + _delta < _oldValue || _oldValue + _delta == MAX_UINT256 ) { // Truncate upon overflow. allowed[msg.sender][_spender] = MAX_UINT256 - 1; } else { allowed[msg.sender][_spender] = allowed[msg.sender][_spender] + _delta; } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval( address _spender, uint256 _delta ) external returns (bool success) { require( _spender != address(0), 'Token spender is an uninitialized address' ); uint256 _oldValue = allowed[msg.sender][_spender]; if (_delta > _oldValue) { // Truncate upon overflow. allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = allowed[msg.sender][_spender] - _delta; } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function allowance( address _owner, address _spender ) external view override returns (uint256 remaining) { return allowed[_owner][_spender]; } function transferBulk( address[] memory _tos, uint256[] memory _values, uint256 _txId ) external override returns (uint256 _bulkCount) { require( _tos.length == _values.length, "Amount of recipients and values don't match" ); require(_tos.length < BULK_MAX_COUNT, 'Too many recipients'); uint256 _bulkValue = 0; for (uint256 j = 0; j < _tos.length; ++j) { _bulkValue = _bulkValue.add(_values[j]); } require(_bulkValue < BULK_MAX_VALUE, 'Bulk value too high'); bool _success; for (uint256 i = 0; i < _tos.length; ++i) { _success = transferQuiet(_tos[i], _values[i]); if (_success) { _bulkCount = _bulkCount.add(1); } } emit BulkTransfer(_txId, _bulkCount); return _bulkCount; } function increaseApprovalBulk( address[] memory _spenders, uint256[] memory _values, uint256 _txId ) external returns (uint256 _bulkCount) { require( _spenders.length == _values.length, "Amount of spenders and values don't match" ); require(_spenders.length < BULK_MAX_COUNT, 'Too many spenders'); uint256 _bulkValue = 0; for (uint256 j = 0; j < _spenders.length; ++j) { _bulkValue = _bulkValue.add(_values[j]); } require(_bulkValue < BULK_MAX_VALUE, 'Bulk value too high'); bool _success; for (uint256 i = 0; i < _spenders.length; ++i) { _success = increaseApproval(_spenders[i], _values[i]); if (_success) { _bulkCount = _bulkCount.add(1); } } emit BulkApproval(_txId, _bulkCount); return _bulkCount; } // Like transfer, but fails quietly. function transferQuiet( address _to, uint256 _value ) internal returns (bool success) { if ( _to == address(0) || _to == address(this) || balances[msg.sender] < _value ) return false; // Preclude burning tokens to uninitialized address, or sending tokens to the contract. balances[msg.sender] = balances[msg.sender] - _value; balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * 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. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol) pragma solidity ^0.8.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 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. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2; interface HMTokenInterface { event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval( address indexed _owner, address indexed _spender, uint256 _value ); /// @param _owner The address from which the balance will be retrieved /// @return balance The balance function balanceOf(address _owner) external view returns (uint256 balance); /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return success Whether the transfer was successful or not function transfer( address _to, uint256 _value ) external returns (bool success); /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return success Whether the transfer was successful or not function transferFrom( address _from, address _to, uint256 _value ) external returns (bool success); function transferBulk( address[] calldata _tos, uint256[] calldata _values, uint256 _txId ) external returns (uint256 _bulkCount); /// @notice `msg.sender` approves `_spender` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of tokens to be approved for transfer /// @return success Whether the approval was successful or not function approve( address _spender, uint256 _value ) external returns (bool success); /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return remaining Amount of remaining tokens allowed to spent function allowance( address _owner, address _spender ) external view returns (uint256 remaining); }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, 'SafeMath: addition overflow'); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, 'SafeMath: subtraction overflow'); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, 'SafeMath: multiplication overflow'); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, 'SafeMath: division by zero'); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, 'SafeMath: modulo by zero'); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 10 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_txId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_bulkCount","type":"uint256"}],"name":"BulkApproval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_txId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_bulkCount","type":"uint256"}],"name":"BulkTransfer","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_delta","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_delta","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_spenders","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"},{"internalType":"uint256","name":"_txId","type":"uint256"}],"name":"increaseApprovalBulk","outputs":[{"internalType":"uint256","name":"_bulkCount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_tos","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"},{"internalType":"uint256","name":"_txId","type":"uint256"}],"name":"transferBulk","outputs":[{"internalType":"uint256","name":"_bulkCount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234620003d05762001594803803806200001d81620003d5565b928339810190608081830312620003d0578051602080830151909391906001600160401b0390818111620003d057836200005991860162000411565b9360408101519360ff8516809503620003d0576060820151838111620003d05762000085920162000411565b60008054336001600160a01b0319821681178355919591906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08780a3604d8111620003bc5780600a0a93848102948186041490151715620003bc576001938455855190838211620003a8576004918254978689811c991680156200039d575b8a8a10146200038a578190601f998a811162000337575b508a908a8311600114620002d2578992620002c6575b5050600019600383901b1c191690861b1782555b60ff1960055416176005558151928311620002b357600654908482811c92168015620002a8575b888310146200029557508581116200024c575b5085948211600114620001df579080604095600294938692620001d3575b5050600019600383901b1c191690821b176006555b54933383525220556040516111109081620004848239f35b015190503880620001a6565b600684528584209490601f198316855b888282106200023757505095849391926002959383604099106200021d575b505050811b01600655620001bb565b015160001960f88460031b161c191690553880806200020e565b838501518955978601979384019301620001ef565b600685528685208680850160051c8201928986106200028b575b0160051c019084905b8281106200027f57505062000188565b8681550184906200026f565b9250819262000266565b634e487b7160e01b865260229052602485fd5b91607f169162000175565b634e487b7160e01b855260419052602484fd5b0151905038806200013a565b858a528b8a208994509190601f1984168b8e5b8282106200031f575050841162000305575b505050811b0182556200014e565b015160001960f88460031b161c19169055388080620002f7565b8385015186558c979095019493840193018e620002e5565b9091508489528a89208a80850160051c8201928d861062000380575b918a91869594930160051c01915b8281106200037157505062000124565b8b81558594508a910162000361565b9250819262000353565b634e487b7160e01b885260228452602488fd5b98607f16986200010d565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526011600452602485fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003fb57604052565b634e487b7160e01b600052604160045260246000fd5b919080601f84011215620003d05782516001600160401b038111620003fb5760209062000447601f8201601f19168301620003d5565b92818452828287010111620003d05760005b8181106200046f57508260009394955001015290565b85810183015184820184015282016200045956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde0314610a3a57508063095ea7b3146109d157806318160ddd146109b257806323b872dd146107fd5780632776c64014610681578063313ce5671461065f578063661884631461058f57806370a0823114610557578063715018a61461050f5780638da5cb5b146104e757806395d89b4114610401578063a9059cbb1461038c578063d73dd6231461035a578063dd62ed3e14610311578063e816d8d8146101865763f2fde38b146100d357600080fd5b34610182576020366003190112610182576100ec610b95565b906100f5610f7c565b6001600160a01b0391821692831561013057505082546001600160a01b03198116831784551660008051602061107b8339815191528380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5091903461030d5761019736610bdd565b91849591959181518751036102b65760648251101561027d57508493845b82518610156101dd576101d56001916101ce888b610dba565b5190610f67565b9501946101b5565b87955086906101f890676765c793fa10079d601b1b11610de4565b825181101561024a576102296001600160a01b036102168386610dba565b51166102228389610dba565b5190610fd4565b610236575b6001016101f8565b92610242600191610f0f565b93905061022e565b60208483877f8ed71c3a6fb899bfe96968ade5a4119b380c0d642a775106eb80aa795450777e848351858152a251908152f35b606490602086519162461bcd60e51b83528201526013602482015272546f6f206d616e7920726563697069656e747360681b6044820152fd5b608490602086519162461bcd60e51b8352820152602b60248201527f416d6f756e74206f6620726563697069656e747320616e642076616c7565732060448201526a0c8dedc4ee840dac2e8c6d60ab1b6064820152fd5b5080fd5b50503461030d578060031936011261030d578060209261032f610b95565b610337610bb0565b6001600160a01b0391821683526003865283832091168252845220549051908152f35b50503461030d578060031936011261030d5760209061038361037a610b95565b60243590610e33565b90519015158152f35b5082346103fe57826003193601126103fe57506103b36103aa610b95565b60243590610fd4565b156103c2576020825160018152f35b6020606492519162461bcd60e51b83528201526017602482015276151c985b9cd9995c88191a591b89dd081cdd58d8d95959604a1b6044820152fd5b80fd5b50903461018257826003193601126101825780519183600654906001908260011c926001811680156104dd575b60209586861082146104ca57508488529081156104a8575060011461046d575b610469868661045f828b0383610b13565b5191829182610b4c565b0390f35b929550600683528583205b82841061049557505050826104699461045f92820101943861044e565b8054868501880152928601928101610478565b60ff191687860152505050151560051b830101925061045f826104693861044e565b634e487b7160e01b845260229052602483fd5b93607f169361042e565b50503461030d578160031936011261030d57905490516001600160a01b039091168152602090f35b83346103fe57806003193601126103fe57610528610f7c565b80546001600160a01b03198116825581906001600160a01b031660008051602061107b8339815191528280a380f35b50503461030d57602036600319011261030d5760209181906001600160a01b0361057f610b95565b1681526002845220549051908152f35b50503461030d578060031936011261030d576105a9610b95565b602435926001600160a01b039091169082906105c6831515610cda565b33815260209460038652828220848352865282822054811160001461062b575033815260038552818120838252855280828120555b338152600385528181208382528552205482519081526000805160206110bb833981519152843392a35160018152f35b6106479033835260038752838320858452875283832054610d97565b338252600386528282208483528652828220556105fb565b50503461030d578160031936011261030d5760209060ff600554169051908152f35b5091903461030d5761069236610bdd565b91849591959181518751036107a85760648251101561077157508493845b82518610156106d1576106c96001916101ce888b610dba565b9501946106b0565b87955086906106ec90676765c793fa10079d601b1b11610de4565b825181101561073e5761071d6001600160a01b0361070a8386610dba565b51166107168389610dba565b5190610e33565b61072a575b6001016106ec565b92610736600191610f0f565b939050610722565b60208483877fca78741c6b48402cfa7be577db6559c46abb0f8ba9ce1468cf71297349370d9c848351858152a251908152f35b606490602086519162461bcd60e51b83528201526011602482015270546f6f206d616e79207370656e6465727360781b6044820152fd5b608490602086519162461bcd60e51b8352820152602960248201527f416d6f756e74206f66207370656e6465727320616e642076616c75657320646f6044820152680dc4ee840dac2e8c6d60bb1b6064820152fd5b503461018257606036600319011261018257610817610b95565b92610820610bb0565b6001600160a01b03948516916044359161083b841515610d38565b8382526020966003885286832033845288528683205491848310610973571694610866861515610d38565b8483526002885286832054875190918189016001600160401b0381118382101761096057895260178252765370656e6465722062616c616e636520746f6f206c6f7760481b8a8301528286116109445750509183916108d560008051602061109b833981519152958a95610d97565b86835260028552888320558682526108f08389842054610f67565b87835260028552888320551961090f575b508551908152a35160018152f35b8481526003835286812033825283528661092c8382842054610d97565b91868152600385528181203382528552205538610901565b61095c895192839262461bcd60e51b84528301610b4c565b0390fd5b634e487b7160e01b865260418252602486fd5b875162461bcd60e51b81528088018a905260196024820152785370656e64657220616c6c6f77616e636520746f6f206c6f7760381b6044820152606490fd5b50503461030d578160031936011261030d576020906001549051908152f35b50503461030d578060031936011261030d57602091816109ef610b95565b6001600160a01b031691602435918291610a0a851515610cda565b338152600387528181208582528752205582519081526000805160206110bb833981519152843392a35160018152f35b90508284346103fe57806003193601126103fe5780938054916001908360011c9260018516948515610b09575b6020958686108114610af657858952908115610ad25750600114610a97575b610469878761045f828c0383610b13565b9080949750528583205b828410610abf57505050826104699461045f92820101948680610a86565b8054868501880152928601928101610aa1565b60ff19168887015250505050151560051b830101925061045f826104698680610a86565b634e487b7160e01b845260228352602484fd5b93607f1693610a67565b601f909101601f19168101906001600160401b03821190821017610b3657604052565b634e487b7160e01b600052604160045260246000fd5b6020808252825181830181905290939260005b828110610b8157505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610b5f565b600435906001600160a01b0382168203610bab57565b600080fd5b602435906001600160a01b0382168203610bab57565b6001600160401b038111610b365760051b60200190565b906060600319830112610bab576001600160401b03600435818111610bab5783602382011215610bab57806004013590610c1682610bc6565b90610c246040519283610b13565b82825260209260248484019160051b83010191878311610bab57602401905b828210610cbb5750505093602435928311610bab5780602384011215610bab578260040135610c7181610bc6565b93610c7f6040519586610b13565b81855260248486019260051b820101928311610bab57602401905b828210610cac57505050509060443590565b81358152908301908301610c9a565b81356001600160a01b0381168103610bab578152908401908401610c43565b15610ce157565b60405162461bcd60e51b815260206004820152602960248201527f546f6b656e207370656e64657220697320616e20756e696e697469616c697a6560448201526864206164647265737360b81b6064820152608490fd5b15610d3f57565b60405162461bcd60e51b815260206004820152602a60248201527f43616e27742073656e6420746f6b656e7320746f20756e696e697469616c697a6044820152696564206164647265737360b01b6064820152608490fd5b91908203918211610da457565b634e487b7160e01b600052601160045260246000fd5b8051821015610dce5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b15610deb57565b60405162461bcd60e51b8152602060048201526013602482015272084ead8d640ecc2d8eaca40e8dede40d0d2ced606b1b6044820152606490fd5b91908201809211610da457565b6001600160a01b031690610e48821515610cda565b6000805160206110bb83398151915260009133835260209060038252604093849182822087835284528282205480610e808382610e26565b10908115610ef9575b5015610ec55750338152600383528181208682528352600119828220555b338152600383528181208682528352205492519283523392a3600190565b610ee19033835260038552838320888452855283832054610e26565b33825260038452828220878352845282822055610ea7565b9050610f088260001992610e26565b1438610e89565b6001810190818111610da4578110610f245790565b60405162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b6044820152606490fd5b90610f729082610e26565b908110610f245790565b6000546001600160a01b03163303610f9057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03169081158015611071575b801561105a575b611053576000338152600260205261100a826040832054610d97565b3382526002602052604082205582815260406110298382842054610f67565b918481526002602052205560405190815260008051602061109b83398151915260203392a3600190565b5050600090565b503360005260026020528060406000205410610fee565b50308214610fe756fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212201f1518cfcbc5ed242eb7e944cf9e1167d40ea070a1e7c9ba1b7e656b52e58b0664736f6c63430008170033000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b48554d414e20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003484d540000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde0314610a3a57508063095ea7b3146109d157806318160ddd146109b257806323b872dd146107fd5780632776c64014610681578063313ce5671461065f578063661884631461058f57806370a0823114610557578063715018a61461050f5780638da5cb5b146104e757806395d89b4114610401578063a9059cbb1461038c578063d73dd6231461035a578063dd62ed3e14610311578063e816d8d8146101865763f2fde38b146100d357600080fd5b34610182576020366003190112610182576100ec610b95565b906100f5610f7c565b6001600160a01b0391821692831561013057505082546001600160a01b03198116831784551660008051602061107b8339815191528380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5091903461030d5761019736610bdd565b91849591959181518751036102b65760648251101561027d57508493845b82518610156101dd576101d56001916101ce888b610dba565b5190610f67565b9501946101b5565b87955086906101f890676765c793fa10079d601b1b11610de4565b825181101561024a576102296001600160a01b036102168386610dba565b51166102228389610dba565b5190610fd4565b610236575b6001016101f8565b92610242600191610f0f565b93905061022e565b60208483877f8ed71c3a6fb899bfe96968ade5a4119b380c0d642a775106eb80aa795450777e848351858152a251908152f35b606490602086519162461bcd60e51b83528201526013602482015272546f6f206d616e7920726563697069656e747360681b6044820152fd5b608490602086519162461bcd60e51b8352820152602b60248201527f416d6f756e74206f6620726563697069656e747320616e642076616c7565732060448201526a0c8dedc4ee840dac2e8c6d60ab1b6064820152fd5b5080fd5b50503461030d578060031936011261030d578060209261032f610b95565b610337610bb0565b6001600160a01b0391821683526003865283832091168252845220549051908152f35b50503461030d578060031936011261030d5760209061038361037a610b95565b60243590610e33565b90519015158152f35b5082346103fe57826003193601126103fe57506103b36103aa610b95565b60243590610fd4565b156103c2576020825160018152f35b6020606492519162461bcd60e51b83528201526017602482015276151c985b9cd9995c88191a591b89dd081cdd58d8d95959604a1b6044820152fd5b80fd5b50903461018257826003193601126101825780519183600654906001908260011c926001811680156104dd575b60209586861082146104ca57508488529081156104a8575060011461046d575b610469868661045f828b0383610b13565b5191829182610b4c565b0390f35b929550600683528583205b82841061049557505050826104699461045f92820101943861044e565b8054868501880152928601928101610478565b60ff191687860152505050151560051b830101925061045f826104693861044e565b634e487b7160e01b845260229052602483fd5b93607f169361042e565b50503461030d578160031936011261030d57905490516001600160a01b039091168152602090f35b83346103fe57806003193601126103fe57610528610f7c565b80546001600160a01b03198116825581906001600160a01b031660008051602061107b8339815191528280a380f35b50503461030d57602036600319011261030d5760209181906001600160a01b0361057f610b95565b1681526002845220549051908152f35b50503461030d578060031936011261030d576105a9610b95565b602435926001600160a01b039091169082906105c6831515610cda565b33815260209460038652828220848352865282822054811160001461062b575033815260038552818120838252855280828120555b338152600385528181208382528552205482519081526000805160206110bb833981519152843392a35160018152f35b6106479033835260038752838320858452875283832054610d97565b338252600386528282208483528652828220556105fb565b50503461030d578160031936011261030d5760209060ff600554169051908152f35b5091903461030d5761069236610bdd565b91849591959181518751036107a85760648251101561077157508493845b82518610156106d1576106c96001916101ce888b610dba565b9501946106b0565b87955086906106ec90676765c793fa10079d601b1b11610de4565b825181101561073e5761071d6001600160a01b0361070a8386610dba565b51166107168389610dba565b5190610e33565b61072a575b6001016106ec565b92610736600191610f0f565b939050610722565b60208483877fca78741c6b48402cfa7be577db6559c46abb0f8ba9ce1468cf71297349370d9c848351858152a251908152f35b606490602086519162461bcd60e51b83528201526011602482015270546f6f206d616e79207370656e6465727360781b6044820152fd5b608490602086519162461bcd60e51b8352820152602960248201527f416d6f756e74206f66207370656e6465727320616e642076616c75657320646f6044820152680dc4ee840dac2e8c6d60bb1b6064820152fd5b503461018257606036600319011261018257610817610b95565b92610820610bb0565b6001600160a01b03948516916044359161083b841515610d38565b8382526020966003885286832033845288528683205491848310610973571694610866861515610d38565b8483526002885286832054875190918189016001600160401b0381118382101761096057895260178252765370656e6465722062616c616e636520746f6f206c6f7760481b8a8301528286116109445750509183916108d560008051602061109b833981519152958a95610d97565b86835260028552888320558682526108f08389842054610f67565b87835260028552888320551961090f575b508551908152a35160018152f35b8481526003835286812033825283528661092c8382842054610d97565b91868152600385528181203382528552205538610901565b61095c895192839262461bcd60e51b84528301610b4c565b0390fd5b634e487b7160e01b865260418252602486fd5b875162461bcd60e51b81528088018a905260196024820152785370656e64657220616c6c6f77616e636520746f6f206c6f7760381b6044820152606490fd5b50503461030d578160031936011261030d576020906001549051908152f35b50503461030d578060031936011261030d57602091816109ef610b95565b6001600160a01b031691602435918291610a0a851515610cda565b338152600387528181208582528752205582519081526000805160206110bb833981519152843392a35160018152f35b90508284346103fe57806003193601126103fe5780938054916001908360011c9260018516948515610b09575b6020958686108114610af657858952908115610ad25750600114610a97575b610469878761045f828c0383610b13565b9080949750528583205b828410610abf57505050826104699461045f92820101948680610a86565b8054868501880152928601928101610aa1565b60ff19168887015250505050151560051b830101925061045f826104698680610a86565b634e487b7160e01b845260228352602484fd5b93607f1693610a67565b601f909101601f19168101906001600160401b03821190821017610b3657604052565b634e487b7160e01b600052604160045260246000fd5b6020808252825181830181905290939260005b828110610b8157505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610b5f565b600435906001600160a01b0382168203610bab57565b600080fd5b602435906001600160a01b0382168203610bab57565b6001600160401b038111610b365760051b60200190565b906060600319830112610bab576001600160401b03600435818111610bab5783602382011215610bab57806004013590610c1682610bc6565b90610c246040519283610b13565b82825260209260248484019160051b83010191878311610bab57602401905b828210610cbb5750505093602435928311610bab5780602384011215610bab578260040135610c7181610bc6565b93610c7f6040519586610b13565b81855260248486019260051b820101928311610bab57602401905b828210610cac57505050509060443590565b81358152908301908301610c9a565b81356001600160a01b0381168103610bab578152908401908401610c43565b15610ce157565b60405162461bcd60e51b815260206004820152602960248201527f546f6b656e207370656e64657220697320616e20756e696e697469616c697a6560448201526864206164647265737360b81b6064820152608490fd5b15610d3f57565b60405162461bcd60e51b815260206004820152602a60248201527f43616e27742073656e6420746f6b656e7320746f20756e696e697469616c697a6044820152696564206164647265737360b01b6064820152608490fd5b91908203918211610da457565b634e487b7160e01b600052601160045260246000fd5b8051821015610dce5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b15610deb57565b60405162461bcd60e51b8152602060048201526013602482015272084ead8d640ecc2d8eaca40e8dede40d0d2ced606b1b6044820152606490fd5b91908201809211610da457565b6001600160a01b031690610e48821515610cda565b6000805160206110bb83398151915260009133835260209060038252604093849182822087835284528282205480610e808382610e26565b10908115610ef9575b5015610ec55750338152600383528181208682528352600119828220555b338152600383528181208682528352205492519283523392a3600190565b610ee19033835260038552838320888452855283832054610e26565b33825260038452828220878352845282822055610ea7565b9050610f088260001992610e26565b1438610e89565b6001810190818111610da4578110610f245790565b60405162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b6044820152606490fd5b90610f729082610e26565b908110610f245790565b6000546001600160a01b03163303610f9057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03169081158015611071575b801561105a575b611053576000338152600260205261100a826040832054610d97565b3382526002602052604082205582815260406110298382842054610f67565b918481526002602052205560405190815260008051602061109b83398151915260203392a3600190565b5050600090565b503360005260026020528060406000205410610fee565b50308214610fe756fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212201f1518cfcbc5ed242eb7e944cf9e1167d40ea070a1e7c9ba1b7e656b52e58b0664736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b48554d414e20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003484d540000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 1000000000
Arg [1] : _name (string): HUMAN Token
Arg [2] : _decimals (uint8): 18
Arg [3] : _symbol (string): HMT
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [5] : 48554d414e20546f6b656e000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 484d540000000000000000000000000000000000000000000000000000000000
Loading...
Loading
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.