Skip to content

Commit 359d842

Browse files
committed
Fix scale values for currency creator estimators
1 parent e136cc7 commit 359d842

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pkg/solana/currencycreator/estimate.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)