币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】

  • A+
所属分类:币安BSC
摘要

fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现;加池分红是指添加流动性分红获得LP后,根据LP的持有权重分红主流币,比如BNB,usdt,fist等,或者分红其他ERC20代币。针对不同的分红币种,合约的部署方式的不同的。


chatGPT账号

币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】

一、准备

LP加池分红,即添加流动性后,合约交易的手续费其中扣除一部分作为LP加池奖励,分发给添加流动性的用户。可以把本币转换成任何类型的ERC20标准的代币,分发到添加LP的用户钱包地址。本案例是以fistswap上添加流动性获得LP加池分红FIST为例,通过代码实现上述功能。

1、合约交易时扣除部分手续费暂存到中转地址

2、当中转地址代币数量总额达到一定值触发swapandLiquidtiy后,执行LP分红奖励Fist操作

3、也可以通过每笔交易实时的触发lP加池分红fist

4、通过合约自动创建fist交易对作为LP的合约地址,同时为了支持多个交易对全部满足合约模式,又单独指定了mainpair

【附注20221216】

加池分红是指添加流动性分红获得LP后,根据LP的持有权重分红主流币,比如BNB,usdt,fist等,或者分红其他ERC20代币。针对不同的分红币种,合约的部署方式的不同的。以下是针对不同币种分红的注意事项:

a. 分红BNB,不能作为分红ERC20普通代币的方式,否则会出现有交易记录,但是无转账数量的情况。

b. 分红usdt,可以添加usdt的池子,也可以添加bnb的流动性资金池,但是分红usdt时需要指定分红时的不同代币对话资金池

c. 分红其他ERC20代币,需要根据分红其他币种的流动性资金池情况,选择分红的指定交易走向。

加池LP分红时重要的是代币首先要分红到派发器,然后才能通过中转地址分红到所有加池用户钱包地址中。

二、操作流程

1、实时奖励LP加池分红firs合约代码如下

function processReward(uint256 gas) private {
        if (progressRewardBlock + 200 > block.number) {
            return;
        }

        IERC20 FIST = IERC20(_fist);

        uint256 balance = FIST.balanceOf(address(this));
        if (balance < holderRewardCondition) {
            return;
        }
        address shareHolder;
        uint256 tokenBalance;
        uint256 amount;
        uint256 gasUsed = 0;
        uint256 iterations = 0;
        uint256 gasLeft = gasleft();

        while (gasUsed < gas && iterations < shareholderCount) {
            if (currentIndex >= shareholderCount) {
                currentIndex = 0;
            }
            if (tokenBalance > 0 && !excludeHolder[shareHolder]) {
                amount = balance / holdTokenTotal;
                if (amount > 0) {
                    FIST.transfer(shareHolder, amount);
                }
            }

            gasUsed = gasUsed + (gasLeft - gasleft());
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }

        progressRewardBlock = block.number;
    }

2、实时记录LP持币地址函数功能代码如下:

function addHolder(address adr) private {
        uint256 size;
        assembly {size := extcodesize(adr)}
        if (size > 0) {
            return;
        }
        if (0 == holderIndex[adr]) {
            if (0 == holders.length || holders[0] != adr) {
                holderIndex[adr] = holders.length;
                holders.push(adr);
            }
        }
    }

3、合约交易时暂存指定比例的代币到中转地址功能代码如下:

function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 swapFee;
            if (isSell) {
                swapFee = _sellFundFee + _sellLPDividendFee + _sellLPFee;
            } else {
                swapFee = _buyFundFee + _buyLPDividendFee;
            }
            uint256 swapAmount = tAmount * swapFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(
                    sender,
                    tempTranAddress,
                    swapAmount
                );
            }
        }
        _takeTransfer(sender, recipient, otherAmount);
    }

4、LP加池分红派发器代码如下:

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.14;

import "./IERC20.sol";

contract TokenDistributor {
    constructor (address token) {
        IERC20(token).approve(msg.sender, uint(~uint256(0)));
    }
}

至此,完成fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现。

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

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

币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】

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

币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】

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

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

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

币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】
免责声明

免责声明:

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

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

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

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

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

本文是全系列中第133 / 237篇:通证发行

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

发表评论

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