ETH Price: $3,576.77 (-0.97%)

Token

ERC-20: HAM (HAM)
 

Overview

Max Total Supply

1,000,000,000 HAM

Holders

132

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
13,643,289.934691675729383605 HAM

Value
$0.00
0x098d0c51c92fdad713e7953ab7a88cd4564cbd62
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Erc20

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-07
*/

//SPDX-License-Identifier: UNLICENSED

/*
Created on Ape.Store
*/

pragma solidity 0.8.24;

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        if (returndata.length > 0) {
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address _owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    error OwnableUnauthorizedAccount(address account);
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract Erc20 is IERC20, Ownable {
    using Address for address;
    mapping (address => uint256) internal _balances;
    mapping (address => mapping (address => uint256)) internal _allowed;

    uint256 immutable public totalSupply;
    string public symbol;
    string public name;
    uint8 immutable public decimals;
    bool public launched;
    
    mapping (address => bool) internal exchanges;
    
    constructor(string memory _symbol, string memory _name, uint8 _decimals, uint256 _totalSupply) Ownable(msg.sender)   {
        symbol = _symbol;
        name = _name;
        decimals = _decimals;
        totalSupply = _totalSupply;
        _balances[owner()] += _totalSupply;
        emit Transfer(address(0), owner(), _totalSupply);
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) external override view returns (uint256) {
        return _balances[_owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address spender) external override view returns (uint256) {
        return _allowed[_owner][spender];
    }

    /**
    * @dev Transfer token for a specified address
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function transfer(address to, uint256 value) external override returns (bool) {
        // check for SC
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) external override returns (bool) {
        require(spender != address(0), "cannot approve the 0 address");

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) external override returns (bool) {
        if (launched == false && to == owner() && msg.sender == owner()) {
            _transfer(from, to, value);
            return true;
        } else {    
            _allowed[from][msg.sender] = _allowed[from][msg.sender] - value;
            _transfer(from, to, value);
            emit Approval(from, msg.sender, _allowed[from][msg.sender]);
            return true;
        }
    }

    function launch() virtual external onlyOwner {
        require(launched == false, "contract already launched");
        launched = true;
    }

    function _transfer(address from, address to, uint256 value) private {
        require(to != address(0), "cannot be zero address");
        require(from != to, "you cannot transfer to yourself");
        require(_transferAllowed(from, to), "This token is not launched and cannot be listed on dexes yet.");
        _balances[from] -= value;
        _balances[to] += value;
        emit Transfer(from, to, value);
    }

    function _transferAllowed(address from, address to) private view returns (bool) {
      if (launched) return true;
      if (from == owner() || to == owner()) return true;
      if (from.isContract() || to.isContract()) return false;
      return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"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":"","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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405234801562000010575f80fd5b5060405162000e8438038062000e84833981016040819052620000339162000236565b33806200005957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b620000648162000126565b50600362000073858262000345565b50600462000082848262000345565b5060ff821660a05260808190528060015f620000a55f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f828254620000d4919062000411565b90915550505f80546040518381526001600160a01b0390911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505062000437565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000199575f80fd5b81516001600160401b0380821115620001b657620001b662000175565b604051601f8301601f19908116603f01168101908282118183101715620001e157620001e162000175565b8160405283815260209250866020858801011115620001fe575f80fd5b5f91505b8382101562000221578582018301518183018401529082019062000202565b5f602085830101528094505050505092915050565b5f805f80608085870312156200024a575f80fd5b84516001600160401b038082111562000261575f80fd5b6200026f8883890162000189565b9550602087015191508082111562000285575f80fd5b50620002948782880162000189565b935050604085015160ff81168114620002ab575f80fd5b6060959095015193969295505050565b600181811c90821680620002d057607f821691505b602082108103620002ef57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200034057805f5260205f20601f840160051c810160208510156200031c5750805b601f840160051c820191505b818110156200033d575f815560010162000328565b50505b505050565b81516001600160401b0381111562000361576200036162000175565b6200037981620003728454620002bb565b84620002f5565b602080601f831160018114620003af575f8415620003975750858301515b5f19600386901b1c1916600185901b17855562000409565b5f85815260208120601f198616915b82811015620003df57888601518255948401946001909101908401620003be565b5085821015620003fd57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156200043157634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a051610a2b620004595f395f61018101525f6101390152610a2b5ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063715018a61161008857806395d89b411161006357806395d89b411461020c578063a9059cbb14610214578063dd62ed3e14610227578063f2fde38b1461025f575f80fd5b8063715018a6146101dd5780638091f3bf146101e55780638da5cb5b146101f2575f80fd5b806318160ddd116100c357806318160ddd1461013457806323b872dd14610169578063313ce5671461017c57806370a08231146101b5575f80fd5b806301339c21146100e957806306fdde03146100f3578063095ea7b314610111575b5f80fd5b6100f1610272565b005b6100fb6102e1565b6040516101089190610871565b60405180910390f35b61012461011f3660046108d8565b61036d565b6040519015158152602001610108565b61015b7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610108565b610124610177366004610900565b610428565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610108565b61015b6101c3366004610939565b6001600160a01b03165f9081526001602052604090205490565b6100f1610536565b6005546101249060ff1681565b5f546040516001600160a01b039091168152602001610108565b6100fb610549565b6101246102223660046108d8565b610556565b61015b610235366004610952565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6100f161026d366004610939565b61056b565b61027a6105a8565b60055460ff16156102d25760405162461bcd60e51b815260206004820152601960248201527f636f6e747261637420616c7265616479206c61756e636865640000000000000060448201526064015b60405180910390fd5b6005805460ff19166001179055565b600480546102ee90610983565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610983565b80156103655780601f1061033c57610100808354040283529160200191610365565b820191905f5260205f20905b81548152906001019060200180831161034857829003601f168201915b505050505081565b5f6001600160a01b0383166103c45760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064016102c9565b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b6005545f9060ff1615801561044957505f546001600160a01b038481169116145b801561045e57505f546001600160a01b031633145b156104765761046e8484846105d4565b50600161052f565b6001600160a01b0384165f9081526002602090815260408083203384529091529020546104a49083906109cf565b6001600160a01b0385165f9081526002602090815260408083203384529091529020556104d28484846105d4565b6001600160a01b0384165f81815260026020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b9392505050565b61053e6105a8565b6105475f6107ac565b565b600380546102ee90610983565b5f6105623384846105d4565b50600192915050565b6105736105a8565b6001600160a01b03811661059c57604051631e4fbdf760e01b81525f60048201526024016102c9565b6105a5816107ac565b50565b5f546001600160a01b031633146105475760405163118cdaa760e01b81523360048201526024016102c9565b6001600160a01b0382166106235760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b60448201526064016102c9565b816001600160a01b0316836001600160a01b0316036106845760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c660060448201526064016102c9565b61068e83836107fb565b6107005760405162461bcd60e51b815260206004820152603d60248201527f5468697320746f6b656e206973206e6f74206c61756e6368656420616e64206360448201527f616e6e6f74206265206c6973746564206f6e206465786573207965742e00000060648201526084016102c9565b6001600160a01b0383165f90815260016020526040812080548392906107279084906109cf565b90915550506001600160a01b0382165f90815260016020526040812080548392906107539084906109e2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161079f91815260200190565b60405180910390a3505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6005545f9060ff161561081057506001610422565b5f546001600160a01b038481169116148061083757505f546001600160a01b038381169116145b1561084457506001610422565b6001600160a01b0383163b15158061086557506001600160a01b0382163b15155b1561056257505f610422565b5f602080835283518060208501525f5b8181101561089d57858101830151858201604001528201610881565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108d3575f80fd5b919050565b5f80604083850312156108e9575f80fd5b6108f2836108bd565b946020939093013593505050565b5f805f60608486031215610912575f80fd5b61091b846108bd565b9250610929602085016108bd565b9150604084013590509250925092565b5f60208284031215610949575f80fd5b61052f826108bd565b5f8060408385031215610963575f80fd5b61096c836108bd565b915061097a602084016108bd565b90509250929050565b600181811c9082168061099757607f821691505b6020821081036109b557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610422576104226109bb565b80820180821115610422576104226109bb56fea2646970667358221220de8c776e8bc793d624127089e9af67afd84ce964f8223f623b5a9a20b61f472b64736f6c63430008180033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000000000000000000000000000000000000000000348414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348414d0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063715018a61161008857806395d89b411161006357806395d89b411461020c578063a9059cbb14610214578063dd62ed3e14610227578063f2fde38b1461025f575f80fd5b8063715018a6146101dd5780638091f3bf146101e55780638da5cb5b146101f2575f80fd5b806318160ddd116100c357806318160ddd1461013457806323b872dd14610169578063313ce5671461017c57806370a08231146101b5575f80fd5b806301339c21146100e957806306fdde03146100f3578063095ea7b314610111575b5f80fd5b6100f1610272565b005b6100fb6102e1565b6040516101089190610871565b60405180910390f35b61012461011f3660046108d8565b61036d565b6040519015158152602001610108565b61015b7f0000000000000000000000000000000000000000033b2e3c9fd0803ce800000081565b604051908152602001610108565b610124610177366004610900565b610428565b6101a37f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610108565b61015b6101c3366004610939565b6001600160a01b03165f9081526001602052604090205490565b6100f1610536565b6005546101249060ff1681565b5f546040516001600160a01b039091168152602001610108565b6100fb610549565b6101246102223660046108d8565b610556565b61015b610235366004610952565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6100f161026d366004610939565b61056b565b61027a6105a8565b60055460ff16156102d25760405162461bcd60e51b815260206004820152601960248201527f636f6e747261637420616c7265616479206c61756e636865640000000000000060448201526064015b60405180910390fd5b6005805460ff19166001179055565b600480546102ee90610983565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610983565b80156103655780601f1061033c57610100808354040283529160200191610365565b820191905f5260205f20905b81548152906001019060200180831161034857829003601f168201915b505050505081565b5f6001600160a01b0383166103c45760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064016102c9565b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b6005545f9060ff1615801561044957505f546001600160a01b038481169116145b801561045e57505f546001600160a01b031633145b156104765761046e8484846105d4565b50600161052f565b6001600160a01b0384165f9081526002602090815260408083203384529091529020546104a49083906109cf565b6001600160a01b0385165f9081526002602090815260408083203384529091529020556104d28484846105d4565b6001600160a01b0384165f81815260026020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b9392505050565b61053e6105a8565b6105475f6107ac565b565b600380546102ee90610983565b5f6105623384846105d4565b50600192915050565b6105736105a8565b6001600160a01b03811661059c57604051631e4fbdf760e01b81525f60048201526024016102c9565b6105a5816107ac565b50565b5f546001600160a01b031633146105475760405163118cdaa760e01b81523360048201526024016102c9565b6001600160a01b0382166106235760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b60448201526064016102c9565b816001600160a01b0316836001600160a01b0316036106845760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c660060448201526064016102c9565b61068e83836107fb565b6107005760405162461bcd60e51b815260206004820152603d60248201527f5468697320746f6b656e206973206e6f74206c61756e6368656420616e64206360448201527f616e6e6f74206265206c6973746564206f6e206465786573207965742e00000060648201526084016102c9565b6001600160a01b0383165f90815260016020526040812080548392906107279084906109cf565b90915550506001600160a01b0382165f90815260016020526040812080548392906107539084906109e2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161079f91815260200190565b60405180910390a3505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6005545f9060ff161561081057506001610422565b5f546001600160a01b038481169116148061083757505f546001600160a01b038381169116145b1561084457506001610422565b6001600160a01b0383163b15158061086557506001600160a01b0382163b15155b1561056257505f610422565b5f602080835283518060208501525f5b8181101561089d57858101830151858201604001528201610881565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108d3575f80fd5b919050565b5f80604083850312156108e9575f80fd5b6108f2836108bd565b946020939093013593505050565b5f805f60608486031215610912575f80fd5b61091b846108bd565b9250610929602085016108bd565b9150604084013590509250925092565b5f60208284031215610949575f80fd5b61052f826108bd565b5f8060408385031215610963575f80fd5b61096c836108bd565b915061097a602084016108bd565b90509250929050565b600181811c9082168061099757607f821691505b6020821081036109b557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610422576104226109bb565b80820180821115610422576104226109bb56fea2646970667358221220de8c776e8bc793d624127089e9af67afd84ce964f8223f623b5a9a20b61f472b64736f6c63430008180033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000000000000000000000000000000000000000000348414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348414d0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _symbol (string): HAM
Arg [1] : _name (string): HAM
Arg [2] : _decimals (uint8): 18
Arg [3] : _totalSupply (uint256): 1000000000000000000000000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 48414d0000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 48414d0000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

6208:4239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9597:145;;;:::i;:::-;;6481:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8795:287;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;8795:287:0;1004:187:1;6411:36:0;;;;;;;;1342:25:1;;;1330:2;1315:18;6411:36:0;1196:177:1;9090:499:0;;;;;;:::i;:::-;;:::i;6506:31::-;;;;;;;;1883:4:1;1871:17;;;1853:36;;1841:2;1826:18;6506:31:0;1711:184:1;7198:119:0;;;;;;:::i;:::-;-1:-1:-1;;;;;7292:17:0;7265:7;7292:17;;;:9;:17;;;;;;;7198:119;5671:103;;;:::i;6544:20::-;;;;;;;;;5402:87;5448:7;5475:6;5402:87;;-1:-1:-1;;;;;5475:6:0;;;2237:51:1;;2225:2;2210:18;5402:87:0;2091:203:1;6454:20:0;;;:::i;7972:176::-;;;;;;:::i;:::-;;:::i;7657:144::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7768:16:0;;;7741:7;7768:16;;;:8;:16;;;;;;;;:25;;;;;;;;;;;;;7657:144;5782:220;;;;;;:::i;:::-;;:::i;9597:145::-;5361:13;:11;:13::i;:::-;9661:8:::1;::::0;::::1;;:17;9653:55;;;::::0;-1:-1:-1;;;9653:55:0;;2766:2:1;9653:55:0::1;::::0;::::1;2748:21:1::0;2805:2;2785:18;;;2778:30;2844:27;2824:18;;;2817:55;2889:18;;9653:55:0::1;;;;;;;;;9719:8;:15:::0;;-1:-1:-1;;9719:15:0::1;9730:4;9719:15;::::0;;9597:145::o;6481:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8795:287::-;8871:4;-1:-1:-1;;;;;8896:21:0;;8888:62;;;;-1:-1:-1;;;8888:62:0;;3505:2:1;8888:62:0;;;3487:21:1;3544:2;3524:18;;;3517:30;3583;3563:18;;;3556:58;3631:18;;8888:62:0;3303:352:1;8888:62:0;8972:10;8963:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;8963:29:0;;;;;;;;;;;;:37;;;9016:36;1342:25:1;;;8963:29:0;;8972:10;9016:36;;1315:18:1;9016:36:0;;;;;;;-1:-1:-1;9070:4:0;8795:287;;;;;:::o;9090:499::-;9201:8;;9180:4;;9201:8;;:17;;;:34;;-1:-1:-1;5448:7:0;5475:6;-1:-1:-1;;;;;9222:13:0;;;5475:6;;9222:13;9201:34;:59;;;;-1:-1:-1;5448:7:0;5475:6;-1:-1:-1;;;;;5475:6:0;9239:10;:21;9201:59;9197:385;;;9277:26;9287:4;9293:2;9297:5;9277:9;:26::i;:::-;-1:-1:-1;9325:4:0;9318:11;;9197:385;-1:-1:-1;;;;;9395:14:0;;;;;;:8;:14;;;;;;;;9410:10;9395:26;;;;;;;;:34;;9424:5;;9395:34;:::i;:::-;-1:-1:-1;;;;;9366:14:0;;;;;;:8;:14;;;;;;;;9381:10;9366:26;;;;;;;:63;9444:26;9375:4;9460:2;9464:5;9444:9;:26::i;:::-;-1:-1:-1;;;;;9490:54:0;;9517:14;;;;:8;:14;;;;;;;;9505:10;9517:26;;;;;;;;;;;9490:54;;1342:25:1;;;9505:10:0;;9490:54;;;1315:18:1;9490:54:0;;;;;;;-1:-1:-1;9566:4:0;9197:385;9090:499;;;;;:::o;5671:103::-;5361:13;:11;:13::i;:::-;5736:30:::1;5763:1;5736:18;:30::i;:::-;5671:103::o:0;6454:20::-;;;;;;;:::i;7972:176::-;8044:4;8086:32;8096:10;8108:2;8112:5;8086:9;:32::i;:::-;-1:-1:-1;8136:4:0;7972:176;;;;:::o;5782:220::-;5361:13;:11;:13::i;:::-;-1:-1:-1;;;;;5867:22:0;::::1;5863:93;;5913:31;::::0;-1:-1:-1;;;5913:31:0;;5941:1:::1;5913:31;::::0;::::1;2237:51:1::0;2210:18;;5913:31:0::1;2091:203:1::0;5863:93:0::1;5966:28;5985:8;5966:18;:28::i;:::-;5782:220:::0;:::o;5497:166::-;5448:7;5475:6;-1:-1:-1;;;;;5475:6:0;4723:10;5557:23;5553:103;;5604:40;;-1:-1:-1;;;5604:40:0;;4723:10;5604:40;;;2237:51:1;2210:18;;5604:40:0;2091:203:1;9750:423:0;-1:-1:-1;;;;;9837:16:0;;9829:51;;;;-1:-1:-1;;;9829:51:0;;4127:2:1;9829:51:0;;;4109:21:1;4166:2;4146:18;;;4139:30;-1:-1:-1;;;4185:18:1;;;4178:52;4247:18;;9829:51:0;3925:346:1;9829:51:0;9907:2;-1:-1:-1;;;;;9899:10:0;:4;-1:-1:-1;;;;;9899:10:0;;9891:54;;;;-1:-1:-1;;;9891:54:0;;4478:2:1;9891:54:0;;;4460:21:1;4517:2;4497:18;;;4490:30;4556:33;4536:18;;;4529:61;4607:18;;9891:54:0;4276:355:1;9891:54:0;9964:26;9981:4;9987:2;9964:16;:26::i;:::-;9956:100;;;;-1:-1:-1;;;9956:100:0;;4838:2:1;9956:100:0;;;4820:21:1;4877:2;4857:18;;;4850:30;4916:34;4896:18;;;4889:62;4987:31;4967:18;;;4960:59;5036:19;;9956:100:0;4636:425:1;9956:100:0;-1:-1:-1;;;;;10067:15:0;;;;;;:9;:15;;;;;:24;;10086:5;;10067:15;:24;;10086:5;;10067:24;:::i;:::-;;;;-1:-1:-1;;;;;;;10102:13:0;;;;;;:9;:13;;;;;:22;;10119:5;;10102:13;:22;;10119:5;;10102:22;:::i;:::-;;;;;;;;10155:2;-1:-1:-1;;;;;10140:25:0;10149:4;-1:-1:-1;;;;;10140:25:0;;10159:5;10140:25;;;;1342::1;;1330:2;1315:18;;1196:177;10140:25:0;;;;;;;;9750:423;;;:::o;6010:191::-;6084:16;6103:6;;-1:-1:-1;;;;;6120:17:0;;;-1:-1:-1;;;;;;6120:17:0;;;;;;6153:40;;6103:6;;;;;;;6153:40;;6084:16;6153:40;6073:128;6010:191;:::o;10181:263::-;10274:8;;10255:4;;10274:8;;10270:25;;;-1:-1:-1;10291:4:0;10284:11;;10270:25;5448:7;5475:6;-1:-1:-1;;;;;10308:15:0;;;5475:6;;10308:15;;:32;;-1:-1:-1;5448:7:0;5475:6;-1:-1:-1;;;;;10327:13:0;;;5475:6;;10327:13;10308:32;10304:49;;;-1:-1:-1;10349:4:0;10342:11;;10304:49;-1:-1:-1;;;;;10366:15:0;;207:19;:23;;10366:36;;;-1:-1:-1;;;;;;10387:13:0;;207:19;:23;;10387:15;10362:54;;;-1:-1:-1;10411:5:0;10404:12;;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;2299:260::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;2467:29;2486:9;2467:29;:::i;:::-;2457:39;;2515:38;2549:2;2538:9;2534:18;2515:38;:::i;:::-;2505:48;;2299:260;;;;;:::o;2918:380::-;2997:1;2993:12;;;;3040;;;3061:61;;3115:4;3107:6;3103:17;3093:27;;3061:61;3168:2;3160:6;3157:14;3137:18;3134:38;3131:161;;3214:10;3209:3;3205:20;3202:1;3195:31;3249:4;3246:1;3239:15;3277:4;3274:1;3267:15;3131:161;;2918:380;;;:::o;3660:127::-;3721:10;3716:3;3712:20;3709:1;3702:31;3752:4;3749:1;3742:15;3776:4;3773:1;3766:15;3792:128;3859:9;;;3880:11;;;3877:37;;;3894:18;;:::i;5066:125::-;5131:9;;;5152:10;;;5149:36;;;5165:18;;:::i

Swarm Source

ipfs://de8c776e8bc793d624127089e9af67afd84ce964f8223f623b5a9a20b61f472b
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.