Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x6B4D67b49B1780892A7Db184Ae0C0d330b910e6a
Balance 0 ETH
Nonce 1
Code Size 6658 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

6658 bytes
0x608060405234801561000f575f80fd5b5060043610610109575f3560e01c806341275358116100a05780638da5cb5b1161006f5780638da5cb5b1461029357806395d89b41146102b15780639ed3edf0146102cf578063a9059cbb146102ed578063dd62ed3e1461031d57610109565b8063412753581461021f57806370a082311461023d578063715018a61461026d5780638705fcd41461027757610109565b806323b872dd116100dc57806323b872dd146101955780632ff2e9dc146101c5578063313ce567146101e35780633c3dbbc71461020157610109565b806306fdde031461010d578063095ea7b31461012b5780630ee976961461015b57806318160ddd14610177575b5f80fd5b61011561034d565b6040516101229190611074565b60405180910390f35b61014560048036038101906101409190611125565b6103dd565b604051610152919061117d565b60405180910390f35b61017560048036038101906101709190611196565b6103fa565b005b61017f6104de565b60405161018c91906111d0565b60405180910390f35b6101af60048036038101906101aa91906111e9565b6104e7565b6040516101bc919061117d565b60405180910390f35b6101cd6105a1565b6040516101da91906111d0565b60405180910390f35b6101eb6105b1565b6040516101f89190611254565b60405180910390f35b6102096105b9565b60405161021691906111d0565b60405180910390f35b6102276105be565b604051610234919061127c565b60405180910390f35b61025760048036038101906102529190611295565b6105e3565b60405161026491906111d0565b60405180910390f35b610275610628565b005b610291600480360381019061028c9190611295565b61077b565b005b61029b610854565b6040516102a8919061127c565b60405180910390f35b6102b961087c565b6040516102c69190611074565b60405180910390f35b6102d761090c565b6040516102e491906111d0565b60405180910390f35b61030760048036038101906103029190611125565b610912565b604051610314919061117d565b60405180910390f35b610337600480360381019061033291906112c0565b610a81565b60405161034491906111d0565b60405180910390f35b60606003805461035c9061132b565b80601f01602080910402602001604051908101604052809291908181526020018280546103889061132b565b80156103d35780601f106103aa576101008083540402835291602001916103d3565b820191905f5260205f20905b8154815290600101906020018083116103b657829003601f168201915b5050505050905090565b5f6103f06103e9610b03565b8484610b0a565b6001905092915050565b610402610b03565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610487906113a5565b60405180910390fd5b60968111156104d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cb90611433565b60405180910390fd5b8060088190555050565b5f600254905090565b5f6104f3848484610ccd565b610596846104ff610b03565b6105918560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610549610b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fb090919063ffffffff16565b610b0a565b600190509392505050565b6b50c783eb9b5c85f2a800000081565b5f6012905090565b600a81565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610630610b03565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b5906113a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610783610b03565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610808906113a5565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461088b9061132b565b80601f01602080910402602001604051908101604052809291908181526020018280546108b79061132b565b80156109025780601f106108d957610100808354040283529160200191610902565b820191905f5260205f20905b8154815290600101906020018083116108e557829003601f168201915b5050505050905090565b60085481565b5f600160065414610958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094f9061149b565b60405180910390fd5b6002600681905550600a8210156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90611529565b60405180910390fd5b5f6109ce6103e86109c060085486610fc590919063ffffffff16565b610fda90919063ffffffff16565b9050808311610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a09906115b7565b60405180910390fd5b5f610a268285610fb090919063ffffffff16565b9050610a5b610a33610b03565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ccd565b610a6d610a66610b03565b8683610ccd565b600192505050600160068190555092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611645565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd906116d3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cc091906111d0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290611761565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da0906117ef565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f9061187d565b60405180910390fd5b610e77815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fb090919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610f06815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fef90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fa391906111d0565b60405180910390a3505050565b5f8183610fbd91906118c8565b905092915050565b5f8183610fd291906118fb565b905092915050565b5f8183610fe79190611969565b905092915050565b5f8183610ffc9190611999565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61104682611004565b611050818561100e565b935061106081856020860161101e565b6110698161102c565b840191505092915050565b5f6020820190508181035f83015261108c818461103c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110c182611098565b9050919050565b6110d1816110b7565b81146110db575f80fd5b50565b5f813590506110ec816110c8565b92915050565b5f819050919050565b611104816110f2565b811461110e575f80fd5b50565b5f8135905061111f816110fb565b92915050565b5f806040838503121561113b5761113a611094565b5b5f611148858286016110de565b925050602061115985828601611111565b9150509250929050565b5f8115159050919050565b61117781611163565b82525050565b5f6020820190506111905f83018461116e565b92915050565b5f602082840312156111ab576111aa611094565b5b5f6111b884828501611111565b91505092915050565b6111ca816110f2565b82525050565b5f6020820190506111e35f8301846111c1565b92915050565b5f805f60608486031215611200576111ff611094565b5b5f61120d868287016110de565b935050602061121e868287016110de565b925050604061122f86828701611111565b9150509250925092565b5f60ff82169050919050565b61124e81611239565b82525050565b5f6020820190506112675f830184611245565b92915050565b611276816110b7565b82525050565b5f60208201905061128f5f83018461126d565b92915050565b5f602082840312156112aa576112a9611094565b5b5f6112b7848285016110de565b91505092915050565b5f80604083850312156112d6576112d5611094565b5b5f6112e3858286016110de565b92505060206112f4858286016110de565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061134257607f821691505b602082108103611355576113546112fe565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61138f60208361100e565b915061139a8261135b565b602082019050919050565b5f6020820190508181035f8301526113bc81611383565b9050919050565b7f4269746c617374726f3a206665652063616e6e6f7420626520696e63726561735f8201527f65642061626f766520312e352500000000000000000000000000000000000000602082015250565b5f61141d602d8361100e565b9150611428826113c3565b604082019050919050565b5f6020820190508181035f83015261144a81611411565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611485601f8361100e565b915061149082611451565b602082019050919050565b5f6020820190508181035f8301526114b281611479565b9050919050565b7f4269746c617374726f3a207472616e7366657220616d6f756e7420746f6f20735f8201527f6d616c6c00000000000000000000000000000000000000000000000000000000602082015250565b5f61151360248361100e565b915061151e826114b9565b604082019050919050565b5f6020820190508181035f83015261154081611507565b9050919050565b7f4269746c617374726f3a207472616e7366657220616d6f756e7420746f6f20735f8201527f6d616c6c20616674657220666565000000000000000000000000000000000000602082015250565b5f6115a1602e8361100e565b91506115ac82611547565b604082019050919050565b5f6020820190508181035f8301526115ce81611595565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61162f60248361100e565b915061163a826115d5565b604082019050919050565b5f6020820190508181035f83015261165c81611623565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116bd60228361100e565b91506116c882611663565b604082019050919050565b5f6020820190508181035f8301526116ea816116b1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61174b60258361100e565b9150611756826116f1565b604082019050919050565b5f6020820190508181035f8301526117788161173f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6117d960238361100e565b91506117e48261177f565b604082019050919050565b5f6020820190508181035f830152611806816117cd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61186760268361100e565b91506118728261180d565b604082019050919050565b5f6020820190508181035f8301526118948161185b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118d2826110f2565b91506118dd836110f2565b92508282039050818111156118f5576118f461189b565b5b92915050565b5f611905826110f2565b9150611910836110f2565b925082820261191e816110f2565b915082820484148315176119355761193461189b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611973826110f2565b915061197e836110f2565b92508261198e5761198d61193c565b5b828204905092915050565b5f6119a3826110f2565b91506119ae836110f2565b92508282019050808211156119c6576119c561189b565b5b9291505056fea26469706673582212206a007adba813e376d2431fecb66172cce93e31d6501f3f701904e026fa9ddd3e64736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
Bitlastro.sol 262 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;

// SafeMath Library
library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

// Ownable.sol
abstract contract Ownable is Context {
    address private _owner;

    constructor(address initialOwner) {
        _owner = initialOwner;
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

// ReentrancyGuard.sol
abstract contract ReentrancyGuard {
    uint256 private _status;

    constructor() {
        _status = 1;
    }

    modifier nonReentrant() {
        require(_status == 1, "ReentrancyGuard: reentrant call");
        _status = 2;
        _;
        _status = 1;
    }
}

// IERC20.sol
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);
}

// ERC20 without external libraries
contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

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

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

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

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

    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);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
        return true;
    }

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

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

// Bitlastro.sol
contract Bitlastro is ERC20, Ownable, ReentrancyGuard {
    using SafeMath for uint256;

    address public feeAddress;
    uint256 public constant INITIAL_SUPPLY = 25 * 10**9 * 10**18;
    uint256 public transactionFee = 0; // Inicialmente 0% (0 base points)
    uint256 public constant MIN_TRANSFER_AMOUNT = 10;

    constructor() ERC20("BITLASTRO", "BITL") Ownable(0xC9cf90879398Ea05Bf7d1079c7abdb8708Ee8C34) {
        feeAddress = 0xC9cf90879398Ea05Bf7d1079c7abdb8708Ee8C34;
        _mint(0xC9cf90879398Ea05Bf7d1079c7abdb8708Ee8C34, INITIAL_SUPPLY);
    }

    function transfer(address recipient, uint256 amount) public override nonReentrant returns (bool) {
        require(amount >= MIN_TRANSFER_AMOUNT, "Bitlastro: transfer amount too small");

        uint256 fee = amount.mul(transactionFee).div(1000);
        require(amount > fee, "Bitlastro: transfer amount too small after fee");

        uint256 amountAfterFee = amount.sub(fee);
        _transfer(_msgSender(), feeAddress, fee);
        _transfer(_msgSender(), recipient, amountAfterFee);
        return true;
    }

    function updateTransactionFee(uint256 newFee) public onlyOwner {
        require(newFee <= 150, "Bitlastro: fee cannot be increased above 1.5%");
        transactionFee = newFee;
    }

    function setFeeAddress(address newFeeAddress) public onlyOwner {
        feeAddress = newFeeAddress;
    }
}

Read Contract

INITIAL_SUPPLY 0x2ff2e9dc → uint256
MIN_TRANSFER_AMOUNT 0x3c3dbbc7 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
feeAddress 0x41275358 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
transactionFee 0x9ed3edf0 → uint256

Write Contract 6 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
renounceOwnership 0x715018a6
No parameters
setFeeAddress 0x8705fcd4
address newFeeAddress
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
updateTransactionFee 0x0ee97696
uint256 newFee

Recent Transactions

No transactions found for this address