deduct liquidity from profits

This commit is contained in:
mantikoros 2022-05-09 16:51:42 -04:00
parent cea957f1f9
commit 81179f91d2
2 changed files with 15 additions and 16 deletions

View File

@ -29,7 +29,5 @@ export const getNewLiquidityProvision = (
const newTotalLiquidity = (totalLiquidity ?? 0) + amount
const newBalance = user.balance - amount
return { newLiquidityProvision, newPool, newP, newBalance, newTotalLiquidity }
return { newLiquidityProvision, newPool, newP, newTotalLiquidity }
}

View File

@ -54,18 +54,13 @@ export const addLiquidity = functions.runWith({ minInstances: 1 }).https.onCall(
.collection(`contracts/${contractId}/liquidity`)
.doc()
const {
newLiquidityProvision,
newPool,
newP,
newBalance,
newTotalLiquidity,
} = getNewLiquidityProvision(
user,
amount,
contract,
newLiquidityProvisionDoc.id
)
const { newLiquidityProvision, newPool, newP, newTotalLiquidity } =
getNewLiquidityProvision(
user,
amount,
contract,
newLiquidityProvisionDoc.id
)
if (newP !== undefined && !isFinite(newP)) {
return {
@ -83,11 +78,17 @@ export const addLiquidity = functions.runWith({ minInstances: 1 }).https.onCall(
})
)
const newBalance = user.balance - amount
const newTotalDeposits = user.totalDeposits - amount
if (!isFinite(newBalance)) {
throw new Error('Invalid user balance for ' + user.username)
}
transaction.update(userDoc, { balance: newBalance })
transaction.update(userDoc, {
balance: newBalance,
totalDeposits: newTotalDeposits,
})
transaction.create(newLiquidityProvisionDoc, newLiquidityProvision)