# LP.sol

DAO can deploy LP token with special contract (Shop). Shop can mint LP. Anyone can burn owned LP and get all the share from DAO.

```javascript
function burn(
        uint256 _amount,
        address[] memory _tokens,
        address[] memory _adapters,
        address[] memory _pools
    ) external nonReentrant returns (bool) {
        require(burnable, "LP: burning is disabled");
        require(msg.sender != dao, "LP: DAO can't burn LP");
        require(_amount <= balanceOf(msg.sender), "LP: insufficient balance");
        require(totalSupply() > 0, "LP: Zero share");

        uint256 _share = (1e18 * _amount) / (totalSupply());

        _burn(msg.sender, _amount);

        bool b = IDao(dao).burnLp(
            msg.sender,
            _share,
            _tokens,
            _adapters,
            _pools
        );

        require(b, "LP: burning error");

        return true;
    }
```
