LFG.CLUB
  • Hello there
  • Bonding Curve
    • How it works
    • Displayed Token
    • Create Token
    • Metadata
    • Buy and Sell
    • Bonding Curve Math
    • Migration
    • Slightly Deflationary
    • Locks
  • Deposit Contract
    • Deposit, Claim, and Withdraw
  • LFG Token
    • Tokenomics
  • Deployments and liquidity lock
  • Locks
  • Deployment Addresses
    • Testnet
    • All Chains
  • Links
    • Links
Powered by GitBook
On this page
  • Target
  • Liquidity lock
  • Where is the rest going?
  • Why is there no V4 on BSC?
  1. Bonding Curve

Migration

Before the actual migration happens the smart contract checks if the target pool has not been tempered with. So, what does this even mean?

As everybody on Uniswap can initialize a pool with tokens they hold, and as it is not in the spirit of DeFi to restrict token transfers in our opinion, we made sure that when migration is triggered that we migrate to a pool that has not been initialized yet.

This means: The migration process checks in a certain order if the pool it wants to migrate to has not been initialized, if it is initialzied the migrate process will proceed to the next pool and check it until it finds one. If no Uniswap V4 or V3 pools have been found that are unitinizialied, then a migrate to V2 is triggered. If this also fails the pool is marked as manipulated. In this case the feeOwner Contract can withdraw the whole pool in order to start refunding the ETH/BNB in the pool.

When a buy triggers the migration, following migration event in emitted:

event Migrate(
        uint256 indexed tokenID,
        address indexed token0,
        address indexed token1,
        uint256 amount0,
        uint256 amount1,
        uint256 movedTo,
        uint256 movedFee
    );

Where token0 and amount0 always correspond to the token, and token1 and amount1 always to native ETH (represented as zero address). movedTo, and movedFee correspond to the Uniswap/Pancakeswap version it migrated to.

For example 4 and 3000 mean that the liquidity migrated to Uniswap V4 with fee level 0.3%.

Migrating to Uniswap V2 means that movedFee will be 0, and in a manipulation case movedTo and movedFee will both be 0.

Target

Migration is automatically triggered when a pool hits the threshold of 798,000,000 tokens sold. We made 3 price levels to be future proof to how many ETH this more or less corresponds. The price level can be changed every 2 weeks and will not affect tokens that are already on the bonding curve in any way.

When the ETH price is under 3,450 USD/ETH, 7.1 ETH (where 6.9 ETH are send to Uniswap/Pancakeswap with 200,000,000 remaining tokens in total) are needed to complete the curve.

Between 3,450 and 6,900 USD/ETH, 4.32 ETH (where 4.2 are send to to Uniswap/Pancakeswap with 200,000,000 tokens) are needed.

Above 6,900 USD/ETH, 2.16 ETH (where 2.1 are send to to Uniswap/Pancakeswap with 200,000,000 tokens) are needed.

Liquidity lock

All minted liquidity positions like a v4 NFT, a v3 NFT, or the v2 LP tokens are received by the pool contract. Liquidity is permanently locked as no NFT or ERC20 token transfer mechanics are implemented on the pool (bonding curve) contract. Only claim fees is implemented.

Where is the rest going?

50% of the difference between migrated ETH/BNB to Uniswap/Pancakeswap and max. ETH/BNB in bonding curve is sent to the token creator, or 100% in case that on this chain there are no depositors. In case there are depositors, 50% is going to them.

Of the 1,000,000,000 total supply, 798,000,000 can be sold, while 200,000,000 migrate to Uniswap. The remaining 2,000,000 are sent to the feeOwner Contract and 50% is locked for 6 months and 50% for 1 year, automatically.

Why is there no V4 on BSC?

First of all: We are using Pancakeswap instead of Uniswap on BSC as it is the DEX to go on BSC. No questions asked. Secondly, we are aware that Pancakeswap Infinity launched recently and we could have implemented it but we decided against it for the following reason:

Why take an elegant solution like Uniswap V4 and make it unnecessarily more complicated? For the end user aswell as for developers. Because of that we will only support migrating to Pancakeswap V3 or V2 (on V3 manipulation).

PreviousBonding Curve MathNextSlightly Deflationary

Last updated 23 days ago