0ec15ff2f8
* add subsidy * drizzle liquidity * update liquidity panel * remove addliquidity * update cloud functions index * remove json endpoints * imports * drizzle liquidity: add velocity; dev script; run every minute * adjust speed * logging * liquidity button, dialog * modal size * modal * info table * pay back excess liquidity * remove client withdrawal * house liquidity subsidy * disable liquidity button if market resolved or closed * format tip amount
31 lines
806 B
TypeScript
31 lines
806 B
TypeScript
import { getCpmmLiquidity } from './calculate-cpmm'
|
|
import { CPMMContract } from './contract'
|
|
import { LiquidityProvision } from './liquidity-provision'
|
|
|
|
export const getNewLiquidityProvision = (
|
|
userId: string,
|
|
amount: number,
|
|
contract: CPMMContract,
|
|
newLiquidityProvisionId: string
|
|
) => {
|
|
const { pool, p, totalLiquidity, subsidyPool } = contract
|
|
|
|
const liquidity = getCpmmLiquidity(pool, p)
|
|
|
|
const newLiquidityProvision: LiquidityProvision = {
|
|
id: newLiquidityProvisionId,
|
|
userId: userId,
|
|
contractId: contract.id,
|
|
amount,
|
|
pool,
|
|
p,
|
|
liquidity,
|
|
createdTime: Date.now(),
|
|
}
|
|
|
|
const newTotalLiquidity = (totalLiquidity ?? 0) + amount
|
|
const newSubsidyPool = (subsidyPool ?? 0) + amount
|
|
|
|
return { newLiquidityProvision, newTotalLiquidity, newSubsidyPool }
|
|
}
|