Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x5513770b7f41f8f339B7BE8e537d3E22f0efcE4b
Balance 0 ETH
Nonce 1
Code Size 7097 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

7097 bytes
0x608060405234801561000f575f5ffd5b506004361061012a575f3560e01c8063751fd179116100ab578063a9059cbb1161006f578063a9059cbb14610332578063b6b0b71214610362578063d469801614610380578063dd62ed3e1461039e578063f2fde38b146103ce5761012a565b8063751fd179146102a05780638da5cb5b146102bc57806395d89b41146102da57806398118cb4146102f8578063a85c3182146103165761012a565b806323b872dd116100f257806323b872dd146101e8578063313ce567146102185780635de6c42f146102365780636db794371461025457806370a08231146102705761012a565b80630184a8c31461012e57806306fdde031461015e578063095ea7b31461017c57806313114a9d146101ac57806318160ddd146101ca575b5f5ffd5b6101486004803603810190610143919061143b565b6103ea565b6040516101559190611480565b60405180910390f35b61016661043c565b6040516101739190611509565b60405180910390f35b6101966004803603810190610191919061155c565b6104c8565b6040516101a39190611480565b60405180910390f35b6101b46104e5565b6040516101c191906115a9565b60405180910390f35b6101d26104eb565b6040516101df91906115a9565b60405180910390f35b61020260048036038101906101fd91906115c2565b6104f4565b60405161020f9190611480565b60405180910390f35b6102206105ef565b60405161022d919061162d565b60405180910390f35b61023e610601565b60405161024b91906115a9565b60405180910390f35b61026e60048036038101906102699190611646565b610607565b005b61028a6004803603810190610285919061143b565b610733565b60405161029791906115a9565b60405180910390f35b6102ba60048036038101906102b591906116ae565b610778565b005b6102c4610885565b6040516102d191906116fb565b60405180910390f35b6102e26108ae565b6040516102ef9190611509565b60405180910390f35b61030061093a565b60405161030d91906115a9565b60405180910390f35b610330600480360381019061032b9190611714565b610940565b005b61034c6004803603810190610347919061155c565b610b62565b6040516103599190611480565b60405180910390f35b61036a610b7f565b60405161037791906116fb565b60405180910390f35b610388610ba4565b60405161039591906116fb565b60405180910390f35b6103b860048036038101906103b39190611714565b610bc9565b6040516103c591906115a9565b60405180910390f35b6103e860048036038101906103e3919061143b565b610c4b565b005b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600380546104499061177f565b80601f01602080910402602001604051908101604052809291908181526020018280546104759061177f565b80156104c05780601f10610497576101008083540402835291602001916104c0565b820191905f5260205f20905b8154815290600101906020018083116104a357829003601f168201915b505050505081565b5f6104db6104d4610df5565b8484610dfc565b6001905092915050565b60085481565b5f600254905090565b5f610500848484610f8a565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610547610df5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd9061181f565b60405180910390fd5b6105e3856105d2610df5565b85846105de919061186a565b610dfc565b60019150509392505050565b60055f9054906101000a900460ff1681565b60075481565b61060f610df5565b73ffffffffffffffffffffffffffffffffffffffff1661062d610885565b73ffffffffffffffffffffffffffffffffffffffff1614610683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067a906118e7565b60405180910390fd5b600a81836106919190611905565b11156106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c990611982565b60405180910390fd5b816006819055508060078190555080826106ec9190611905565b6008819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a16006546007546040516107279291906119a0565b60405180910390a15050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610780610df5565b73ffffffffffffffffffffffffffffffffffffffff1661079e610885565b73ffffffffffffffffffffffffffffffffffffffff16146107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb906118e7565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f69e34a174b4a0cce59950c4c852317e9797bdcae125fbf8b5dd8b4311384412f82826040516108799291906119c7565b60405180910390a15050565b5f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600480546108bb9061177f565b80601f01602080910402602001604051908101604052809291908181526020018280546108e79061177f565b80156109325780601f1061090957610100808354040283529160200191610932565b820191905f5260205f20905b81548152906001019060200180831161091557829003601f168201915b505050505081565b60065481565b610948610df5565b73ffffffffffffffffffffffffffffffffffffffff16610966610885565b73ffffffffffffffffffffffffffffffffffffffff16146109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906118e7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610a2457505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a90611a38565b60405180910390fd5b8160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f6f98d50521a00639207f151d26af510fb7d0925746673a5bf713d4a338a8900760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b56929190611a56565b60405180910390a15050565b5f610b75610b6e610df5565b8484610f8a565b6001905092915050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c53610df5565b73ffffffffffffffffffffffffffffffffffffffff16610c71610885565b73ffffffffffffffffffffffffffffffffffffffff1614610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe906118e7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2c90611a38565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e6457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9a90611a38565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7d91906115a9565b60405180910390a3505050565b5f819050600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561102c5750600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561103957505f600854115b15611198575f60646008548461104f9190611a7d565b6110599190611aeb565b9050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611101576110fc8560095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836111a9565b611188565b5f6064600654856111129190611a7d565b61111c9190611aeb565b90505f818361112b919061186a565b90506111598760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111a9565b61118587600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836111a9565b50505b8083611194919061186a565b9150505b6111a38484836111a9565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790611a38565b60405180910390fd5b805f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690611b65565b60405180910390fd5b805f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461131a919061186a565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461136c9190611905565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113d091906115a9565b60405180910390a3505050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61140a826113e1565b9050919050565b61141a81611400565b8114611424575f5ffd5b50565b5f8135905061143581611411565b92915050565b5f602082840312156114505761144f6113dd565b5b5f61145d84828501611427565b91505092915050565b5f8115159050919050565b61147a81611466565b82525050565b5f6020820190506114935f830184611471565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114db82611499565b6114e581856114a3565b93506114f58185602086016114b3565b6114fe816114c1565b840191505092915050565b5f6020820190508181035f83015261152181846114d1565b905092915050565b5f819050919050565b61153b81611529565b8114611545575f5ffd5b50565b5f8135905061155681611532565b92915050565b5f5f60408385031215611572576115716113dd565b5b5f61157f85828601611427565b925050602061159085828601611548565b9150509250929050565b6115a381611529565b82525050565b5f6020820190506115bc5f83018461159a565b92915050565b5f5f5f606084860312156115d9576115d86113dd565b5b5f6115e686828701611427565b93505060206115f786828701611427565b925050604061160886828701611548565b9150509250925092565b5f60ff82169050919050565b61162781611612565b82525050565b5f6020820190506116405f83018461161e565b92915050565b5f5f6040838503121561165c5761165b6113dd565b5b5f61166985828601611548565b925050602061167a85828601611548565b9150509250929050565b61168d81611466565b8114611697575f5ffd5b50565b5f813590506116a881611684565b92915050565b5f5f604083850312156116c4576116c36113dd565b5b5f6116d185828601611427565b92505060206116e28582860161169a565b9150509250929050565b6116f581611400565b82525050565b5f60208201905061170e5f8301846116ec565b92915050565b5f5f6040838503121561172a576117296113dd565b5b5f61173785828601611427565b925050602061174885828601611427565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061179657607f821691505b6020821081036117a9576117a8611752565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6118096028836114a3565b9150611814826117af565b604082019050919050565b5f6020820190508181035f830152611836816117fd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61187482611529565b915061187f83611529565b92508282039050818111156118975761189661183d565b5b92915050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6118d16009836114a3565b91506118dc8261189d565b602082019050919050565b5f6020820190508181035f8301526118fe816118c5565b9050919050565b5f61190f82611529565b915061191a83611529565b92508282019050808211156119325761193161183d565b5b92915050565b7f546f74616c2066656573203c3d203130250000000000000000000000000000005f82015250565b5f61196c6011836114a3565b915061197782611938565b602082019050919050565b5f6020820190508181035f83015261199981611960565b9050919050565b5f6040820190506119b35f83018561159a565b6119c0602083018461159a565b9392505050565b5f6040820190506119da5f8301856116ec565b6119e76020830184611471565b9392505050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f611a22600c836114a3565b9150611a2d826119ee565b602082019050919050565b5f6020820190508181035f830152611a4f81611a16565b9050919050565b5f604082019050611a695f8301856116ec565b611a7660208301846116ec565b9392505050565b5f611a8782611529565b9150611a9283611529565b9250828202611aa081611529565b91508282048414831517611ab757611ab661183d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611af582611529565b9150611b0083611529565b925082611b1057611b0f611abe565b5b828204905092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f611b4f6014836114a3565b9150611b5a82611b1b565b602082019050919050565b5f6020820190508181035f830152611b7c81611b43565b905091905056fea2646970667358221220751baab7efbc854d80b9f78c99c310955e785f9ec50fdc04fa40ce02d4404c9664736f6c634300081c0033

Verified Source Code Partial Match

Compiler: v0.8.28+commit.7893614a EVM: cancun Optimization: No
ZuroToken.sol 230 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;

/*
    ZuroToken - ERC20 مع رسوم السيولة والمشتري
    جاهز للنشر على BSC/WBNB أو Ethereum
*/

// نسخة مبسطة من ERC20 و Ownable داخل نفس الملف لتعمل على Remix بدون استيراد خارجي
contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Context {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;

    string public name;
    string public symbol;
    uint8 public decimals = 10;

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

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(
            sender != address(0) && recipient != address(0),
            "Zero address"
        );
        require(_balances[sender] >= amount, "Insufficient balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "Zero address");

        _totalSupply += amount;
        _balances[account] += amount;

        emit Transfer(address(0), account, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0) && spender != address(0), "Zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

contract ZuroToken is ERC20, Ownable {
    uint256 public liquidityFee = 2; // 2%
    uint256 public buyerFee = 3; // 3%
    uint256 public totalFees = liquidityFee + buyerFee;

    address public liquidityWallet;
    address public buyerWallet;

    mapping(address => bool) private isFeeExempt;

    event FeeWalletsUpdated(address liquidityWallet, address buyerWallet);
    event FeesUpdated(uint256 liquidityFee, uint256 buyerFee);
    event FeeExemptionUpdated(address account, bool isExempt);

    constructor() ERC20("ZURO", "ZURO") {
        uint256 initialSupply = 69_000_000_000 * 10 ** decimals;
        _mint(msg.sender, initialSupply);

        liquidityWallet = 0x2D914e6feDa29d3B9a2073cD22e2d40Ac905B650;
        buyerWallet = 0x2D914e6feDa29d3B9a2073cD22e2d40Ac905B650;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[liquidityWallet] = true;
        isFeeExempt[buyerWallet] = true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        uint256 transferAmount = amount;

        if (!isFeeExempt[sender] && !isFeeExempt[recipient] && totalFees > 0) {
            uint256 totalFeeAmount = (amount * totalFees) / 100;

            if (liquidityWallet == buyerWallet) {
                super._transfer(sender, liquidityWallet, totalFeeAmount);
            } else {
                uint256 liquidityAmount = (amount * liquidityFee) / 100;
                uint256 buyerAmount = totalFeeAmount - liquidityAmount;

                super._transfer(sender, liquidityWallet, liquidityAmount);
                super._transfer(sender, buyerWallet, buyerAmount);
            }

            transferAmount = amount - totalFeeAmount;
        }

        super._transfer(sender, recipient, transferAmount);
    }

    function updateFeeWallets(
        address _liquidityWallet,
        address _buyerWallet
    ) external onlyOwner {
        require(
            _liquidityWallet != address(0) && _buyerWallet != address(0),
            "Zero address"
        );
        liquidityWallet = _liquidityWallet;
        buyerWallet = _buyerWallet;
        emit FeeWalletsUpdated(liquidityWallet, buyerWallet);
    }

    function updateFees(
        uint256 _liquidityFee,
        uint256 _buyerFee
    ) external onlyOwner {
        require(_liquidityFee + _buyerFee <= 10, "Total fees <= 10%");
        liquidityFee = _liquidityFee;
        buyerFee = _buyerFee;
        totalFees = _liquidityFee + _buyerFee;
        emit FeesUpdated(liquidityFee, buyerFee);
    }

    function setFeeExemption(address account, bool exempt) external onlyOwner {
        isFeeExempt[account] = exempt;
        emit FeeExemptionUpdated(account, exempt);
    }

    function isExemptFromFee(address account) external view returns (bool) {
        return isFeeExempt[account];
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyerFee 0x5de6c42f → uint256
buyerWallet 0xb6b0b712 → address
decimals 0x313ce567 → uint8
isExemptFromFee 0x0184a8c3 → bool
liquidityFee 0x98118cb4 → uint256
liquidityWallet 0xd4698016 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalFees 0x13114a9d → uint256
totalSupply 0x18160ddd → uint256

Write Contract 7 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
setFeeExemption 0x751fd179
address account
bool exempt
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateFeeWallets 0xa85c3182
address _liquidityWallet
address _buyerWallet
updateFees 0x6db79437
uint256 _liquidityFee
uint256 _buyerFee

Recent Transactions

No transactions found for this address