// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
interface IERC20 {
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
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 ISwapRouter {
function factory() external pure returns (address);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
}
interface ISwapFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
abstract contract Ownable {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "!owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "new 0");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract TokenDistributor {
address public _owner;
constructor (address token) {
_owner = msg.sender;
IERC20(token).approve(msg.sender, ~uint256(0));
}
function claimToken(address token, address to, uint256 amount) external {
require(msg.sender == _owner, "!owner");
IERC20(token).transfer(to, amount);
}
}
abstract contract AbsToken is IERC20, Ownable {
uint256 public _buyLPFee = wsdgj;
uint256 public _sellLPFee = wsdgj;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
address public fundAddress1;
address public fundAddress;
string private _name;
string private _symbol;
uint8 private _decimals;
mapping(address => bool) public _feeWhiteList;
mapping(address => bool) public _blackList;
address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
uint256 private _tTotal;
ISwapRouter public _swapRouter;
address private _usdt;
mapping(address => bool) public _swapPairList;
bool private inSwap;
uint256 private constant MAX = ~uint256(0);
TokenDistributor public _tokenDistributor;
uint256 public _buyFundFee = 500;
uint256 public _buyFundFee1 = 0;
uint256 public _buyHoldDividendFee = 0;
uint256 public _buyburn = 100;
uint256 public _sellFundFee = 500;
uint256 public _sellFundFee1 = 0;
uint256 public _sellHoldDividendFee = 0;
uint256 public _sellburn = 100;
uint256 public _transferBurnFee = 1000;
uint256 public startTradeBlock;
address public _mainPair;
uint256 public _limitAmount;
modifier lockTheSwap {
完整源码:持币分u、营销、转账通缩、交易销毁、限购、杀区块
最新推荐文章于 2024-04-18 14:20:34 发布