This is the heart of Azuro Protocol. Liquidity Pool accept bet's and Liquidity from providers.
Liquidity Pool is ERC721- non-fungible token which broadens the standard specification by including bet and provide liquidity features, based on the Core contract.
Every liquidity token LPNFT represent liquidity part added by the user.
LPNFT can be withdrawn by user at any time with getting its part of common liquidity including profit/loss from adding liquidity moment. Liquiity can be withdrawn partially (set by percent parameter) or completely.
User’s liquidity used in protocol only from moment it was added.
function addLiquidity(uint128 amount) external
Function to provide liquidity into pool to earn margin. Liquidity Provider receives a LPNFT - token reflecting its share in the pool.
function withdrawLiquidity(uint48 depNum, uint40 percent) external
Function to remove liquidity from pool. In parameters:
function bet(
uint256 conditionId,
uint128 amount,
uint64 outcomeId,
uint64 deadline,
uint64 minOdds
) external returns (uint256)
Function to put bet
function betFor(
address bettor,
uint256 conditionId,
uint128 amount,
uint64 outcomeId,
uint64 deadline,
uint64 minOdds
) external returns (uint256) {
Function to put bet for bettor
function withdrawPayout(uint256 tokenId) external