V1 liquidity

Providing liquidity with the wrapper has the benefit that RBTC is automatically wrapped to WRBTC and the pool tokens are automatically deposited at the liquidity mining contract.

Adding liquidity

addLiquidityToV1 accepts RBTC, wraps them to WRBTC, adds liquidity to the converter contract and transfers the pool tokens to the liquidity mining contract.

function addLiquidityToV1(
        address _liquidityPoolConverterAddress,
        IERC20Token[] memory _reserveTokens, 
        uint256[] memory _reserveAmounts, 
        uint256 _minReturn)  

Arguments

Name
Type
Description

_liquidityPoolConverterAddress

address

address of LiquidityPoolConverter contract

_reserveTokens

address[]

address of each reserve token

_reserveAmounts

uint256[]

amount of each reserve token

_minReturn

uint256

minimum return amount of liquidity pool tokens

Removing liquidity

removeLiquidityFromV1 withdraws the pool tokens from the liquidity mining contract, removes the liquidity from the converter contract, unwraps the WRBTC to RBTC and sends the reserve tokens to the user.

function removeLiquidityFromV1(
        address _liquidityPoolConverterAddress,
        uint256 _amount, 
        IERC20Token[] memory _reserveTokens, 
        uint256[] memory _reserveMinReturnAmounts)

Arguments

Name
Type
Description

_liquidityPoolConverterAddress

address

address of LiquidityPoolConverter contract

_amount

uint256

amount of liquidity pool tokens to burn in exchange for the underlying reserves.

_reserveTokens

IERC20Token[]

address of each reserve token

_reserveMinReturnAmounts

uint256[]

minimum return-amount of each reserve token

Last updated