For the complete documentation index, see llms.txt. This page is also available as Markdown.

PlusPool

This contract manages the leveraged assets of Meshswap's plus pool liquidity providers. Liquidity providers can maximize their returns with positive assets (deposited assets + utilized assets) by using positive deposits according to their deposited assets. However, a high asset utilization ratio can result in automatic returns, which can result in losses.

Code

Github Link: (Will be updated after official launch)

Address

  • Contract adress after production is deployed

Events, Read-Only Functions, and State-Changing Functions

Events

ChangeBorrowFactor

event ChangeBorrowFactor(uint newBorrowFactor);
  • Event log of borrow factor change

ChangeLiquidationFactor

event ChangeLiquidationFactor(uint newLiquidationFactor);
  • Event log of liquidation factor change

ChangeBorrowable

event ChangeBorrowable(address token, bool b);
  • Event that occurs when availability is changed

GiveReward

event GiveReward(address user, uint amount, uint lastIndex, uint rewardSum);
  • Event log of when mined MESH is claimed and distributed

  • Parameters

    • user : address of the user who claimed

    • amount : the amount of MESH claimed

    • lastIndex : index result of the pair of the wallet after claiming

    • rewardSum : The amount of MESH that has been accrued so far

GiveAirdropReward

  • Event log of when airdrop token is claimed and distributed

  • Parameters

    • user : address of the user who claimed

    • dist : Airdrop contract address

    • amount : the amount of token claimed

    • lastIndex : index result of the pair of the wallet after claiming

    • rewardSum : The amount of token that has been accrued so far

OpenPosition

  • Events that occur when depositing to PlusPool

  • If the token to deposit is MESH, msg.value is provided.

  • Parameters

    • user : address of the user

    • amount0 : The deposit amount of token0

    • amount1 : The deposit amount of token1

    • borrow0 : The utilization amount of token0

    • borrow1: The utilization amount of token1

    • amountLP: The amount of LP tokens minted due to additional liquidity

    • userLP : the total amount of LP tokens minted due to additional liquidity

ClosePosition

  • Events that occur when withdraw liquidity

  • Parameters

    • user : address of the user

    • amountLP: The amount of LP tokens burned due to liquidity removal

    • amount0 : The withdraw amount of token0

    • amount1 : The withdraw amount of token1

    • userLP : the total amount of LP tokens minted due to additional liquidity

Liquidate

  • Event that occur when the automatic return system activates

  • Parameters

    • user : address of the user

    • idx : Number of auto-return count

    • dept0 : Number of token0 returned automatically

    • dept1 : Number of token1 returned automatically

    • lp : the total amount of LP tokens

    • debtRatio : Asset utilization ratio in case of automatic return

    • time : Automatic return time

Read-Only Functions

totalLP

  • mint/burn depending on liquidity addition/removal

lpToken

  • target liquidity pool address

token0

  • The first token address composed of the pair

token1

  • The second token address composed of the pair

borrowable0

  • Whether token0 can be borrowable

borrowable1

  • Whether token1 can be borrowable

liquidationFactor

  • automatic return factor

  • It is a value between 1 and 1e18, in units of 1/1e16%

  • Default - 0.85e18

borrowFactor

  • Utilization cost interest rate of utilized assets

  • It is a value between 1 and 1e18, in units of 1/1e16%

  • Default - 0.67e18

userLP

  • Number of PlusPool tokens held by each address

liquidationBonusRate

  • Ratio of resources to be used for MESH buyback & incineration in case of automatic return

liquidationCount

  • Returns the user's cumulative automatic return count

State-Changing Functions

claimReward

  • Method that a user calls to claim the claimable MESH that has accumulated for the pair

  • When called, MESH is claimed from the Factory and paid to msg.sender

  • Even if the method is not called directly, it is automatically called when the LP token balance of the user’s wallet changes.

    • When liquidity is added

    • When liquidity is removed

openPositionETH

  • Method that depositing MATIC to PlusPool

  • After liquidity is provided, the LP token corresponding to the pool share is minted in the msg.sender wallet.

  • If there is claimable MESH when called, the claim proceeds to msg.sender.

  • Parameter

    • amount1 : The deposit amount of token1

    • borrow0 : The utilization amount of WMATIC

    • borrow1: The utilization amount of token1

    • minAmountLP : Minimum Guaranteed LP amount

openPositionToken

  • Method that depositing to PlusPool

  • After liquidity is provided, the LP token corresponding to the pool share is minted in the msg.sender wallet.

  • If there is claimable MESH when called, the claim proceeds to msg.sender.

  • Parameter

    • amount0 : The deposit amount of token0

    • amount1 : The deposit amount of token1

    • borrow0 : The utilization amount of token0

    • borrow1: The utilization amount of token1

    • minAmountLP : Minimum Guaranteed LP amount

closePositionETH

  • Returns the amount of LP tokens, and distributes the corresponding MATIC and token1 to the msg.sender wallet

  • The returned LP token amount is burned

  • If there is claimable MESH and Airdrop when called, the claim proceeds to msg.sender.

  • Parameters

    • amountLP: The amount of LP tokens burned due to liquidity removal

    • minAmount0 : The withdraw amount of token0

    • minAmount1 : The withdraw amount of token1

closePositionToken

  • Returns the amount of LP tokens, and distributes the corresponding token0 and token1 to the msg.sender wallet

  • The returned LP token amount is burned

  • If there is claimable MESH and Airdrop when called, the claim proceeds to msg.sender.

  • Parameters

    • amountLP: The amount of LP tokens burned due to liquidity removal

    • minAmount0 : The withdraw amount of token0

    • minAmount1 : The withdraw amount of token1

Last updated