fix spot max

This commit is contained in:
saml33 2023-12-11 23:34:59 +11:00
parent dcf7a709fa
commit e05b41627f
3 changed files with 12 additions and 20 deletions

View File

@ -368,11 +368,11 @@ const AdvancedTradeForm = () => {
],
)
const [tickDecimals, tickSize] = useMemo(() => {
if (!serumOrPerpMarket) return [1, 0.1]
const tickDecimals = useMemo(() => {
if (!serumOrPerpMarket) return 1
const tickSize = serumOrPerpMarket.tickSize
const tickDecimals = getDecimalCount(tickSize)
return [tickDecimals, tickSize]
return tickDecimals
}, [serumOrPerpMarket])
const [minOrderDecimals, minOrderSize] = useMemo(() => {
@ -984,7 +984,7 @@ const AdvancedTradeForm = () => {
<SpotSlider
minOrderDecimals={minOrderDecimals}
tickDecimals={tickDecimals}
step={tickSize}
step={spotMax / 100}
useMargin={savedCheckboxSettings.margin}
isTriggerOrder={isTriggerOrder}
/>

View File

@ -39,11 +39,8 @@ export const useSpotMarketMax = (
)
const balance = mangoAccount.getTokenBalanceUi(bank)
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
const minOrderDecimals = getDecimalCount(market.minOrderSize)
spotMax = floorToDecimal(
balance + unsettled,
minOrderDecimals,
).toNumber()
const tickDecimals = getDecimalCount(market.tickSize)
spotMax = floorToDecimal(balance + unsettled, tickDecimals).toNumber()
} else {
leverageMax = mangoAccount.getMaxBaseForSerum3AskUi(
group,
@ -54,8 +51,11 @@ export const useSpotMarketMax = (
)
const balance = mangoAccount.getTokenBalanceUi(bank)
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
const tickDecimals = getDecimalCount(market.tickSize)
spotMax = floorToDecimal(balance + unsettled, tickDecimals).toNumber()
const minOrderDecimals = getDecimalCount(market.minOrderSize)
spotMax = floorToDecimal(
balance + unsettled,
minOrderDecimals,
).toNumber()
}
return useMargin ? leverageMax : Math.max(spotMax, 0)
} catch (e) {

View File

@ -42,7 +42,7 @@
keccak256 "^1.0.6"
merkletreejs "^0.3.11"
"@blockworks-foundation/mango-v4-settings@0.2.26":
"@blockworks-foundation/mango-v4-settings@0.2.26", "@blockworks-foundation/mango-v4-settings@^0.2.16":
version "0.2.26"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.26.tgz#9e03599fc838d31c2b1dad6cf86e912ab77462ab"
integrity sha512-xOcLGGpcZYF5D7Gn+0Q4fsYq3G5BHbl9f9PFo2MzIKat0bOtelnxlovx5Gf8sggy5KzESrQRf8tmvnHV0QsgZQ==
@ -50,14 +50,6 @@
bn.js "^5.2.1"
eslint-config-prettier "^9.0.0"
"@blockworks-foundation/mango-v4-settings@^0.2.16":
version "0.2.25"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.25.tgz#4c64122db0a8d959d6c51f0b558a46b9f06a11a4"
integrity sha512-dp9DSELiILG6dd0DLyt+1pxSbQVB6s7ylmS8J0iPV/PxjiFU5i+VA0shnJ25UoB4oY27emvdtYz/kXlEcgghbQ==
dependencies:
bn.js "^5.2.1"
eslint-config-prettier "^9.0.0"
"@blockworks-foundation/mango-v4@0.20.10":
version "0.20.10"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.20.10.tgz#cf2505d4eab3914adfbcc926cfbf60f5f5b66dad"