@@ -37,6 +37,7 @@ func EstimateBuyInUsdc(args *EstimateBuyInUsdcArgs) (uint64, uint64) {
3737 scaledTokens := DefaultExponentialCurve ().ValueToTokens (scaledCurrentSupply , scaledBuyAmount )
3838 unscaledTokens := new (big.Float ).Mul (scaledTokens , scale )
3939
40+ scale = big .NewFloat (math .Pow10 (int (DefaultMintDecimals ))).SetPrec (defaultCurvePrec )
4041 feePctValue := new (big.Float ).SetPrec (defaultCurvePrec ).Quo (big .NewFloat (float64 (args .BuyFeeBps )), big .NewFloat (10000 ))
4142 scaledFees := new (big.Float ).Mul (scaledTokens , feePctValue )
4243 unscaledFees := new (big.Float ).Mul (scaledFees , scale )
@@ -57,14 +58,15 @@ func EstimateSellInUsdc(args *EstimateSellInUsdcArgs) (uint64, uint64) {
5758 unscaledSellAmount := big .NewFloat (float64 (args .SellAmountInQuarks )).SetPrec (defaultCurvePrec )
5859 scaledSellAmount := new (big.Float ).Quo (unscaledSellAmount , scale )
5960
60- scale = big .NewFloat (math .Pow10 (int (DefaultMintDecimals ))).SetPrec (defaultCurvePrec )
61+ scale = big .NewFloat (math .Pow10 (int (usdc . Decimals ))).SetPrec (defaultCurvePrec )
6162 unscaledCurrentValue := big .NewFloat (float64 (args .CurrentValueInQuarks )).SetPrec (defaultCurvePrec )
6263 scaledCurrentValue := new (big.Float ).Quo (unscaledCurrentValue , scale )
6364
6465 scale = big .NewFloat (math .Pow10 (int (usdc .Decimals ))).SetPrec (defaultCurvePrec )
6566 scaledValue := DefaultExponentialCurve ().TokensToValueFromCurrentValue (scaledCurrentValue , scaledSellAmount )
6667 unscaledValue := new (big.Float ).Mul (scaledValue , scale )
6768
69+ scale = big .NewFloat (math .Pow10 (int (usdc .Decimals ))).SetPrec (defaultCurvePrec )
6870 feePctValue := new (big.Float ).SetPrec (defaultCurvePrec ).Quo (big .NewFloat (float64 (args .SellFeeBps )), big .NewFloat (10000 ))
6971 scaledFees := new (big.Float ).Mul (scaledValue , feePctValue )
7072 unscaledFees := new (big.Float ).Mul (scaledFees , scale )
0 commit comments