Pools
poolAssetValue=(assetTokenBalance∗tokenPrice)/(10∗∗decimals) poolValue=∑positionValue(i) A pool's USD value is calculated by taking the sum of position values for each position the pool has. The position can be either an ERC20 token or an LP token.
userPoolValue=userTokenBalance∗poolTokenPrice poolTokenPrice=poolValue/totalSupply A pool manager's available performance fee is calculated as follows:
profit=max(0,currentTokenPrice−tokenPriceAtLastFeeMint) feeRatio=performanceFee/10000 availableManagerFee=profit∗totalSupply∗feeRatio/currentTokenPrice Note that the performance fee is a percentage of the pool's profits, not the pool value.
NFT Pool Token Distribution
availableC1=max(supplyCap∗0.05,1) availableC2=max(supplyCap∗0.1,2) availableC3=max(supplyCap∗0.2,3) availableC4=supplyCap−availableC1−availableC2−availableC3 An NFT pool's supply cap is determined by the pool manager when the pool is created, and can't be changed.
Asset Prices
ERC20 asset price is calculated by getting the pre-determined optimal path for the asset and calling getAmountsOut() in Ubeswap's router.
The LP token price for a pair(token0, token1) is calculated as follows:
r=sqrt(reserve0,reserve1) p=sqrt(assetPrice0,assetPrice1) price=2∗r∗p/totalSupply The reserves for an LP pair are retrieved from the Ubeswap Factory contract.