一、准备
本案例合约代码主要实现的是合约代币通缩燃烧、基金会地址回流、LP加池分红、持币分红、动态推广收益合约代码的实现逻辑。其中LP加池分红是分红比例的份额重新回流到资金池中,而不就是分红本币或者其他币种到添加流动性的钱包地址中。持币分红是以总额均摊的算法加权分红到所有的持币地址,不产生交易手续费。
合约主要实现的模式如下:
1、交易中扣除一定比例的代币燃烧到黑洞地址 ,同时代币总量通缩减少。
2、回流部分比例的代币到基金会地址。
3、以份额的形式实现LP加池分红重回流动性,实现流动性分红。
4、持币分红,按照权重的形式将交易部分手续费分红给所有持币用户。
5、三代推广动态收益,按照比例递归方式分红给相关地址。
二、功能实现
1、燃烧功能代码实现
function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); Tranfee memory tranFee = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(tranFee.rAmount); _rTotal = _rTotal.sub(tranFee.rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); }
2、LP份额加池分红代码实现
if( !_isExcludedFromFee[sender] && !_isExcludedFromFee[recipient] && (sender == _exchangePool || recipient == _exchangePool) ) { _reflectFee(tranFee.rFee, tranFee.tBurn.mul(currentRate), tranFee.tFee, tranFee.tBurn); _rOwned[_fundAddress] = _rOwned[_fundAddress].add(tranFee.tFund.mul(currentRate)); _tFundTotal = _tFundTotal.add(tranFee.tFund); _takeInviterFee(sender, recipient, tAmount); emit Transfer(sender, _burnPool, tranFee.tBurn); emit Transfer(sender, _fundAddress, tranFee.tFund); }
3、按照权重持币分红代码
function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private { _rTotal = _rTotal.sub(rFee).sub(rBurn); _tFeeTotal = _tFeeTotal.add(tFee); _tBurnTotal = _tBurnTotal.add(tBurn); _tTotal = _tTotal.sub(tBurn); }
function _takeInviterFee( address sender, address recipient, uint256 tAmount ) private { if (_inviterFee == 0) return; uint256 currentRate = _getRate(); address cur = sender; if (sender == _exchangePool) { cur = recipient; } else if (recipient == _exchangePool) { cur = sender; } if (cur == address(0)) { return; } for (int256 i = 0; i < 3; i++) { uint256 rate; if (i == 0) { rate = 20; } else if (i == 1) { rate = 15; } else { rate = 5; } cur = inviter[cur]; if (cur == address(0)) { cur = _inviterDefault; } uint256 curTAmount = tAmount.mul(rate).div(1000); uint256 curRAmount = curTAmount.mul(currentRate); _rOwned[cur] = _rOwned[cur].add(curRAmount); _tInviterTotal = _tInviterTotal.add(curTAmount); emit Transfer(sender, cur, curTAmount); } }
其中,一代收益2%,二代收益1.5%,三代收益0.5%,如果没有通过空投锁定上线级关系,即没有推荐者,则相关比例的手续费归集到默认地址。
详细合约代码如下:
至此,完成通缩燃烧+基金会地址回流+LP加池分红+持币分红+三代推广收益合约代码实现。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册