From ca692ee548fe99bd8f10b00b8f49692293a2719a Mon Sep 17 00:00:00 2001 From: owen05 Date: Wed, 9 Dec 2020 00:06:48 +0800 Subject: [PATCH] add minimum liquidity --- contracts/DODOVendingMachine/impl/DVMFunding.sol | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contracts/DODOVendingMachine/impl/DVMFunding.sol b/contracts/DODOVendingMachine/impl/DVMFunding.sol index 7e992f4..d94893f 100644 --- a/contracts/DODOVendingMachine/impl/DVMFunding.sol +++ b/contracts/DODOVendingMachine/impl/DVMFunding.sol @@ -50,7 +50,8 @@ contract DVMFunding is DVMVault { // 在提币的时候向下取整。因此永远不会出现,balance为0但totalsupply不为0的情况 // 但有可能出现,reserve>0但totalSupply=0的场景 if (totalSupply == 0) { - shares = baseBalance; // 以免出现balance很大但shares很小的情况 + shares = baseBalance.sub(10**3); // 以免出现balance很大但shares很小的情况 + _mint(address(0), 10**3); } else if (baseReserve > 0 && quoteReserve == 0) { // case 2. supply when quote reserve is 0 shares = baseInput.mul(totalSupply).div(baseReserve); @@ -61,6 +62,7 @@ contract DVMFunding is DVMVault { uint256 mintRatio = quoteInputRatio < baseInputRatio ? quoteInputRatio : baseInputRatio; shares = DecimalMath.mulFloor(totalSupply, mintRatio); } + require(shares > 0, 'INSUFFICIENT_LIQUIDITY_MINED'); _mint(to, shares); _sync(); emit BuyShares(to, shares, _SHARES_[to]);