随着合约样式的多样化,现在出现了一种全新的合约机制——自动加池,所谓自动加(筑)池就是在每笔交易种扣除部分手续费暂时存放到中转合约地址,当合约地址中的通证数量达到一定的累加量后,会触发自动加池。
【附注20221207】
自动添加流动性即自动加池是合约中常见的一种模式机制,相比原来直接把代币回流到资金池来了说,自动加池在此基础上做了进一步的优化,避免了出现直接砸到资金池的情况。基本的原理如下:
1、当触发自动加池条件后会先卖出一半的代币进入资金池,从资金池获取对应数量的BNB或者USDT
2、用剩余的一半代币和卖出获得的BNB或者USDT组成符合当前市价的对添加到流动性
3、完成流动性的添加后返回对应的LP,可以自定义LP返回的owner
自动加池的具体步骤如下:
1、从每笔交易中扣除部分手续费回流到中转合约地址。
2、当中转合约地址中的通证数量达到累积设定值时,触发自动交易
3、自动交易过程先锁住流动性,避免价格波动
4、交易掉一半的通证,获得对应的WETH
5、用获得的WETH和剩余的另外一半通证组成当前价格下交易对,添加到流动池
6、流动池添加完成后,释放流动性锁,完成自动加池的过程。
自动加池的核心代码如下:
function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { uint256 addNumber = contractTokenBalance; uint256 half = addNumber.div(2); uint256 otherHalf = addNumber.sub(half); uint256 initialBalance = address(this).balance; // swap tokens for ETH swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered // how much ETH did we just swap into? uint256 newBalance = address(this).balance.sub(initialBalance); // add liquidity to uniswap if (liquifyEnabled) { addLiquidity(otherHalf, newBalance); } emit SwapAndLiquify(half, newBalance, otherHalf); }
在博饼pancakeswap上看到的交易记录如下:
至此,完成币安BSC智能链合约实现自动加池(自动筑池)功能
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册