Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xa6a68Be253a1B725EeA5De74812A6Bf2c2d57e68
Balance 0 ETH
Nonce 1
Code Size 6341 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

6341 bytes
0x608060405234801561000f575f5ffd5b50600436106100e8575f3560e01c806342966c681161008a57806395d89b411161006457806395d89b411461024a578063a9059cbb14610268578063d89135cd14610298578063dd62ed3e146102b6576100e8565b806342966c68146101e057806370a08231146101fc578063874b3cfb1461022c576100e8565b806323b872dd116100c657806323b872dd14610158578063313ce5671461018857806332cb6b0c146101a657806340c10f19146101c4576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f5ffd5b6100f46102e6565b6040516101019190610fcf565b60405180910390f35b610124600480360381019061011f9190611080565b610376565b60405161013191906110d8565b60405180910390f35b610142610393565b60405161014f9190611100565b60405180910390f35b610172600480360381019061016d9190611119565b61039c565b60405161017f91906110d8565b60405180910390f35b61019061044f565b60405161019d9190611184565b60405180910390f35b6101ae610464565b6040516101bb9190611100565b60405180910390f35b6101de60048036038101906101d99190611080565b610474565b005b6101fa60048036038101906101f5919061119d565b610593565b005b610216600480360381019061021191906111c8565b6106a1565b6040516102239190611100565b60405180910390f35b6102346106e6565b6040516102419190611100565b60405180910390f35b6102526106f6565b60405161025f9190610fcf565b60405180910390f35b610282600480360381019061027d9190611080565b610786565b60405161028f91906110d8565b60405180910390f35b6102a06107a3565b6040516102ad9190611100565b60405180910390f35b6102d060048036038101906102cb91906111f3565b6107a9565b6040516102dd9190611100565b60405180910390f35b6060600380546102f59061125e565b80601f01602080910402602001604051908101604052809291908181526020018280546103219061125e565b801561036c5780601f106103435761010080835404028352916020019161036c565b820191905f5260205f20905b81548152906001019060200180831161034f57829003601f168201915b5050505050905090565b5f61038961038261082b565b8484610832565b6001905092915050565b5f600254905090565b5f6103a88484846109f5565b610444846103b461082b565b8460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6103fb61082b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461043f91906112bb565b610832565b600190509392505050565b5f60055f9054906101000a900460ff16905090565b6b033b2e3c9fd0803ce800000081565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d990611338565b60405180910390fd5b6b033b2e3c9fd0803ce8000000816104f8610393565b6105029190611356565b1115610543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053a906113d3565b60405180910390fd5b5f8111610585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057c9061143b565b60405180910390fd5b61058f8282610c5e565b5050565b5f81116105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc906114a3565b60405180910390fd5b806105df336106a1565b1015610620576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106179061150b565b60405180910390fd5b6b019d971e4fe8401e740000008160065461063b9190611356565b111561067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067390611573565b60405180910390fd5b8060065f82825461068d9190611356565b9250508190555061069e3382610d9f565b50565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6b019d971e4fe8401e7400000081565b6060600480546107059061125e565b80601f01602080910402602001604051908101604052809291908181526020018280546107319061125e565b801561077c5780601f106107535761010080835404028352916020019161077c565b820191905f5260205f20905b81548152906001019060200180831161075f57829003601f168201915b5050505050905090565b5f61079961079261082b565b84846109f5565b6001905092915050565b60065481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906115db565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590611643565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109e89190611100565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a906116d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890611739565b60405180910390fd5b805f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b47906117a1565b60405180910390fd5b805f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b9b91906112bb565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610bed9190611356565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c519190611100565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc390611809565b60405180910390fd5b8060025f828254610cdd9190611356565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610d2f9190611356565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d939190611100565b60405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490611871565b60405180910390fd5b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906117a1565b60405180910390fd5b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ed791906112bb565b925050819055508060025f828254610eef91906112bb565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f539190611100565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610fa182610f5f565b610fab8185610f69565b9350610fbb818560208601610f79565b610fc481610f87565b840191505092915050565b5f6020820190508181035f830152610fe78184610f97565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61101c82610ff3565b9050919050565b61102c81611012565b8114611036575f5ffd5b50565b5f8135905061104781611023565b92915050565b5f819050919050565b61105f8161104d565b8114611069575f5ffd5b50565b5f8135905061107a81611056565b92915050565b5f5f6040838503121561109657611095610fef565b5b5f6110a385828601611039565b92505060206110b48582860161106c565b9150509250929050565b5f8115159050919050565b6110d2816110be565b82525050565b5f6020820190506110eb5f8301846110c9565b92915050565b6110fa8161104d565b82525050565b5f6020820190506111135f8301846110f1565b92915050565b5f5f5f606084860312156111305761112f610fef565b5b5f61113d86828701611039565b935050602061114e86828701611039565b925050604061115f8682870161106c565b9150509250925092565b5f60ff82169050919050565b61117e81611169565b82525050565b5f6020820190506111975f830184611175565b92915050565b5f602082840312156111b2576111b1610fef565b5b5f6111bf8482850161106c565b91505092915050565b5f602082840312156111dd576111dc610fef565b5b5f6111ea84828501611039565b91505092915050565b5f5f6040838503121561120957611208610fef565b5b5f61121685828601611039565b925050602061122785828601611039565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061127557607f821691505b60208210810361128857611287611231565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112c58261104d565b91506112d08361104d565b92508282039050818111156112e8576112e761128e565b5b92915050565b7f496e76616c6964206164647200000000000000000000000000000000000000005f82015250565b5f611322600c83610f69565b915061132d826112ee565b602082019050919050565b5f6020820190508181035f83015261134f81611316565b9050919050565b5f6113608261104d565b915061136b8361104d565b92508282019050808211156113835761138261128e565b5b92915050565b7f537570706c7920636170000000000000000000000000000000000000000000005f82015250565b5f6113bd600a83610f69565b91506113c882611389565b602082019050919050565b5f6020820190508181035f8301526113ea816113b1565b9050919050565b7f4d696e74203e20300000000000000000000000000000000000000000000000005f82015250565b5f611425600883610f69565b9150611430826113f1565b602082019050919050565b5f6020820190508181035f83015261145281611419565b9050919050565b7f4275726e203e20300000000000000000000000000000000000000000000000005f82015250565b5f61148d600883610f69565b915061149882611459565b602082019050919050565b5f6020820190508181035f8301526114ba81611481565b9050919050565b7f4c6f772062616c616e63650000000000000000000000000000000000000000005f82015250565b5f6114f5600b83610f69565b9150611500826114c1565b602082019050919050565b5f6020820190508181035f830152611522816114e9565b9050919050565b7f4275726e206361700000000000000000000000000000000000000000000000005f82015250565b5f61155d600883610f69565b915061156882611529565b602082019050919050565b5f6020820190508181035f83015261158a81611551565b9050919050565b7f45524332303a20617070726f76652066726f6d207a65726f20616464726573735f82015250565b5f6115c5602083610f69565b91506115d082611591565b602082019050919050565b5f6020820190508181035f8301526115f2816115b9565b9050919050565b7f45524332303a20617070726f766520746f207a65726f206164647265737300005f82015250565b5f61162d601e83610f69565b9150611638826115f9565b602082019050919050565b5f6020820190508181035f83015261165a81611621565b9050919050565b7f45524332303a207472616e736665722066726f6d207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116bb602183610f69565b91506116c682611661565b604082019050919050565b5f6020820190508181035f8301526116e8816116af565b9050919050565b7f45524332303a207472616e7366657220746f207a65726f2061646472657373005f82015250565b5f611723601f83610f69565b915061172e826116ef565b602082019050919050565b5f6020820190508181035f83015261175081611717565b9050919050565b7f45524332303a20696e73756666696369656e742062616c616e636500000000005f82015250565b5f61178b601b83610f69565b915061179682611757565b602082019050919050565b5f6020820190508181035f8301526117b88161177f565b9050919050565b7f45524332303a206d696e7420746f207a65726f206164647265737300000000005f82015250565b5f6117f3601b83610f69565b91506117fe826117bf565b602082019050919050565b5f6020820190508181035f830152611820816117e7565b9050919050565b7f45524332303a206275726e2066726f6d207a65726f20616464726573730000005f82015250565b5f61185b601d83610f69565b915061186682611827565b602082019050919050565b5f6020820190508181035f8301526118888161184f565b905091905056fea26469706673582212200403468a79b67a2821cb5f48a2e9f0632f997fd8cefb9e6b82a78b5c16eab5e264736f6c634300081c0033

Verified Source Code Partial Match

Compiler: v0.8.28+commit.7893614a EVM: cancun Optimization: No
GenghisKoin.sol 145 lines
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.28;

/**
 * @dev Interface of the ERC165 standard as defined in the Ethereum Improvement Proposals (EIP-165).
 */

// OpenZeppelin ERC20 Implementation (Flattened)
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is Context, IERC20 {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from zero address");
        require(recipient != address(0), "ERC20: transfer to zero address");
        require(_balances[sender] >= amount, "ERC20: insufficient balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from zero address");
        require(_balances[account] >= amount, "ERC20: insufficient balance");

        _balances[account] -= amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from zero address");
        require(spender != address(0), "ERC20: approve to zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

// GenghisKoin Token Contract
contract GenghisKoin is ERC20 {
    uint256 public constant MAX_SUPPLY = 1_000_000_000 * 10**18; // 1B Max Supply
    uint256 public constant BURN_CAP = 500_000_000 * 10**18; // 500M Max Burnable
    uint256 public totalBurned;

    constructor() ERC20("GenghisKoin", "GHK") {
        _mint(msg.sender, 100_000_000 * 10**18); // Initial Mint 100M
    }

    function mint(address to, uint256 amount) external {
        require(to != address(0), "Invalid addr");
        require(totalSupply() + amount <= MAX_SUPPLY, "Supply cap");
        require(amount > 0, "Mint > 0");
        _mint(to, amount);
    }

    function burn(uint256 amount) external {
        require(amount > 0, "Burn > 0");
        require(balanceOf(msg.sender) >= amount, "Low balance");
        require(totalBurned + amount <= BURN_CAP, "Burn cap");
        totalBurned += amount;
        _burn(msg.sender, amount);
    }
}

Read Contract

BURN_CAP 0x874b3cfb → uint256
MAX_SUPPLY 0x32cb6b0c → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalBurned 0xd89135cd → uint256
totalSupply 0x18160ddd → uint256

Write Contract 5 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burn 0x42966c68
uint256 amount
mint 0x40c10f19
address to
uint256 amount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address