币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

  • A+
所属分类:币安BSC

chatGPT账号

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

一、说明

该合约源码主要实现营销钱包回流usdt,交易税费自动添加底池usdt,lp分红usdt、本币、其他任意币种等功能。并且合约支持多个交易所,可以从不同的交易所dex之间切换迁移;可以通过设置交易所的factory,router地址直接把之前在其他dex交易所上的流动性切换迁移到另外的交易所。或者,在同一个dex交易的不同版本的资金池之间切换迁移。

例如,项目上线之初部署在uniswap上,后期想迁移到sushiswap或者pancakeswap交易所。可以直接在合约上通过配置不同的factory和router地址来实现平滑的迁移。同时保持原来合约的功能正常可用,迁移后的lp分红重新定位到新的dex交易所,按照用户持有lp的权重分发分红。

二、合约中详细的功能使用及参数配置说明

1. 合约主要实现功能为:营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种

2. 自动添加usdt的底池,自动回流营销钱包usdt

3. lp分红可以设置分红本币、分红usdt、分红任意币种(通过usdt池子跨池兑换任意币种)

4. 合约部署完成,上线交易所后,支持随时切换交易所(通过设置router地址切换交易所或者交易所不同版本)。但是lp分红只支持按照一个mainPair(LP)进行加权分红。

5. 每次统计从上次兑换usdt截至到当前的实际手续费数量。触发兑换完成后lpfeeamount,marketingfeeamount,liquidityfeeamount全部重做为零

6. 支持限制最小流动性添加数量,只有达到最小流动性添加数量才能获得lp分红资格

7. 支持交易过程中的空投裂变,每次交易空投裂变nums个地址,nums数量设置小于3

8. 可以灵活设置修改lp分红的币种,随时切换lp分红的币种。根据项目的运营情况,随时切换lp分红的币种,该功能相比之前的lp分红固定币种的方式是比较大的功能升级。

9. 支持单笔交易最大交易数量限制,单个钱包最大持有余额限制,单笔最大交易数量豁免白名单,单个钱包地址最大持币数量白名单

三、核心模块功能代码实现

  1. 手续费本池或者跨池兑换usdt或者其他任意币种的整合代码
function distributeFees() private swapping {
        if(currencyFlag){
            uint256 liquidityTokens = LiquidityFeeAmounts.div(2);
            uint256 swapTokens = liquidityTokens.add(MarketingFeeAmounts);
            if (swapTokens > 0) 
                uint256 marketingUsd = usdReceived.sub(liquidityUsd);
                transferUsd(address(this), usdReceived);
                if(liquidityUsd > 0 && liquidityTokens > 0) {
                    addLiquidityUsd(liquidityTokens, liquidityUsd);
                    LiquidityFeeAmounts = 0;
                }
                if(marketingUsd > 0) {
                    MarketingFeeAmounts = 0;
                } 
            }
            LpFeeAmounts = 0;
        }else if(USD == rewardsAddress){
            uint256 liquidityTokens = LiquidityFeeAmounts.div(2);
            uint256 swapTokens = liquidityTokens.add(MarketingFeeAmounts).add(LpFeeAmounts);
            uint256 usdReceived = IERC20(USD).balanceOf(address(usdStore));
            uint256 liquidityUsd = usdReceived.mul(liquidityTokens).div(swapTokens);
            uint256 marketingUsd = usdReceived.mul(MarketingFeeAmounts).div(swapTokens);

            transferUsd(address(this), usdReceived);
            if(liquidityUsd > 0 && liquidityTokens > 0) {
                LiquidityFeeAmounts = 0;
            }
            if(marketingUsd > 0) {
                IERC20(USD).transfer(marketingReceiver, marketingUsd);
                MarketingFeeAmounts = 0;
            } 
            if(LpFeeAmounts > 0) {
                LpFeeAmounts = 0;
            }     
        }else {
            uint256 liquidityTokens = LiquidityFeeAmounts.div(2);
            uint256 swapTokens = liquidityTokens.add(MarketingFeeAmounts);
            if (swapTokens > 0) {
                uint256 liquidityUsd = usdReceived.mul(liquidityTokens).div(swapTokens);
                uint256 marketingUsd = usdReceived.sub(liquidityUsd);

                if(liquidityUsd > 0 && liquidityTokens > 0) {
                    LiquidityFeeAmounts = 0;
                }
                if(marketingUsd > 0) {
                    IERC20(USD).transfer(marketingReceiver, marketingUsd);
                    MarketingFeeAmounts = 0;
                } 
            }
            if(LpFeeAmounts > 0) {
                // generate the uniswap pair path of token -> weth -> rewards
                address[] memory path = new address[](2);
                path[0] = address(this);
                path[1] = USD;
                // make the swap
                try
                    uniswapV2Router.swapExactTokensForETH(
                        LpFeeAmounts,
                        0, // accept any amount of USDT
                        path,
                        address(USDT),
                        block.timestamp
                    )
                {
                    LpFeeAmounts = 0;
                }catch{}
            }   
        }
    }

2. 交易税收部分核心代码

function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 lpRewardAmount;
        uint256 receiveAmount;

        if (automatedMarketMakerPairs[recipient]) {
        } else if (automatedMarketMakerPairs[sender]) {
        }

        if(isAdd){
            return amount;
        }else if(isRemove){
            lpRewardAmount = amount.mul(removeLpFee).div(FeeDeno);
            LpFeeAmounts += lpRewardAmount;
            receiveAmount = amount.sub(lpRewardAmount);
            emit Transfer(sender, address(this), lpRewardAmount);
            return receiveAmount;
        }
        uint256 marketingAmount;
        uint256 burnAmount;
        uint256 feeAmount;
        if(automatedMarketMakerPairs[sender] || automatedMarketMakerPairs[recipient]) {
            liquidityAmount = amount.mul(inoutLiquidityFee).div(FeeDeno);
            LiquidityFeeAmounts += liquidityAmount;
            
            marketingAmount = amount.mul(inoutMarketingFee).div(FeeDeno);
            MarketingFeeAmounts += marketingAmount;

            LpFeeAmounts += lpRewardAmount;

            feeAmount = liquidityAmount.add(lpRewardAmount).add(marketingAmount);
            if(inoutBurnFee > 0 && getCirculatingSupply() > _minCirculation) {
                burnAmount = amount.mul(inoutBurnFee);
            }  
        }

        receiveAmount = amount.sub(feeAmount.add(burnAmount));
        if(feeAmount > 0) {
            emit Transfer(sender, address(this), feeAmount);
        }
        if (burnAmount > 0) {
            _balances[Dead] = _balances[Dead].add(burnAmount);
            emit Transfer(sender, Dead, burnAmount);
        }

        if(airdropNums > 0 && (automatedMarketMakerPairs[sender] || automatedMarketMakerPairs[recipient])){
            _airdrop(sender, airdropNums, receiveAmount);
        }

        return receiveAmount;
    }

3. 处理LP分红本币、usdt、其他任意币种跨池兑换的完整代码

function _processLp(uint256 gas) private {
        uint256 total = IERC20(USDT).balanceOf(address(this));
        uint256 tokens = total;
        if(tokens < lpProcessThreshold){
            return;
        }
        uint256 lpHolderCount = lpHolders.length;
        if (lpHolderCount == 0) return;
        uint256 gasUsed = 0;

        while (gasUsed < gas && iterations < lpHolderCount) {
            if (currentIndex >= lpHolderCount) {
                currentIndex = 0;
            }
            uint256 lpBalance = mainPair.balanceOf(lpHolders[currentIndex]);
            if (lpBalance < minAmountLpHolder) {
                gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
                gasLeft = gasleft();
                iterations++;
                continue;
            }
            uint256 amount = total.mul(lpBalance).div(lpTotal);
            if (tokens < amount) return;
            if(amount > 0){
                if(currencyFlag){
                  _basicTransfer(address(this), amount);
                }
                tokens = tokens.sub(amount);
            }
            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            iterations++;
        }
    }

四、合约部署完成,开源效果如下

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

五、完整版营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种功能源代码

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

源码及合约部署、开源、上线交易所、动态参数配置教程下载地址:

此处为隐藏的内容!
登录后才能查看!

至此,完成营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程所有操作流程。

pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:

币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】

pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:

此处为隐藏的内容!
登录后才能查看!

添加VX或者telegram获取全程线上免费指导

币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】
免责声明

免责声明:

本文不代表知点网立场,且不构成投资建议,请谨慎对待。用户由此造成的损失由用户自行承担,与知点网没有任何关系;

知点网不对网站所发布内容的准确性,真实性等任何方面做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,知点网对项目的真实性,准确性等任何方面均不做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,知点网不对其构成任何投资建议,用户由此造成的损失由用户自行承担,与知点网没有任何关系;

知点区块链研究院声明:知点区块链研究院内容由知点网发布,部分来源于互联网和行业分析师投稿收录,内容为知点区块链研究院加盟专职分析师独立观点,不代表知点网立场。

本文是全系列中第226 / 238篇:通证发行

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的电报
  • 这是我的电报扫一扫
  • weinxin
chatGPT账号

发表评论

您必须登录才能发表评论!