fix spot max
This commit is contained in:
parent
dcf7a709fa
commit
e05b41627f
|
@ -368,11 +368,11 @@ const AdvancedTradeForm = () => {
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
const [tickDecimals, tickSize] = useMemo(() => {
|
const tickDecimals = useMemo(() => {
|
||||||
if (!serumOrPerpMarket) return [1, 0.1]
|
if (!serumOrPerpMarket) return 1
|
||||||
const tickSize = serumOrPerpMarket.tickSize
|
const tickSize = serumOrPerpMarket.tickSize
|
||||||
const tickDecimals = getDecimalCount(tickSize)
|
const tickDecimals = getDecimalCount(tickSize)
|
||||||
return [tickDecimals, tickSize]
|
return tickDecimals
|
||||||
}, [serumOrPerpMarket])
|
}, [serumOrPerpMarket])
|
||||||
|
|
||||||
const [minOrderDecimals, minOrderSize] = useMemo(() => {
|
const [minOrderDecimals, minOrderSize] = useMemo(() => {
|
||||||
|
@ -984,7 +984,7 @@ const AdvancedTradeForm = () => {
|
||||||
<SpotSlider
|
<SpotSlider
|
||||||
minOrderDecimals={minOrderDecimals}
|
minOrderDecimals={minOrderDecimals}
|
||||||
tickDecimals={tickDecimals}
|
tickDecimals={tickDecimals}
|
||||||
step={tickSize}
|
step={spotMax / 100}
|
||||||
useMargin={savedCheckboxSettings.margin}
|
useMargin={savedCheckboxSettings.margin}
|
||||||
isTriggerOrder={isTriggerOrder}
|
isTriggerOrder={isTriggerOrder}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -39,11 +39,8 @@ export const useSpotMarketMax = (
|
||||||
)
|
)
|
||||||
const balance = mangoAccount.getTokenBalanceUi(bank)
|
const balance = mangoAccount.getTokenBalanceUi(bank)
|
||||||
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
|
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
|
||||||
const minOrderDecimals = getDecimalCount(market.minOrderSize)
|
const tickDecimals = getDecimalCount(market.tickSize)
|
||||||
spotMax = floorToDecimal(
|
spotMax = floorToDecimal(balance + unsettled, tickDecimals).toNumber()
|
||||||
balance + unsettled,
|
|
||||||
minOrderDecimals,
|
|
||||||
).toNumber()
|
|
||||||
} else {
|
} else {
|
||||||
leverageMax = mangoAccount.getMaxBaseForSerum3AskUi(
|
leverageMax = mangoAccount.getMaxBaseForSerum3AskUi(
|
||||||
group,
|
group,
|
||||||
|
@ -54,8 +51,11 @@ export const useSpotMarketMax = (
|
||||||
)
|
)
|
||||||
const balance = mangoAccount.getTokenBalanceUi(bank)
|
const balance = mangoAccount.getTokenBalanceUi(bank)
|
||||||
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
|
const unsettled = spotBalances[bank.mint.toString()]?.unsettled || 0
|
||||||
const tickDecimals = getDecimalCount(market.tickSize)
|
const minOrderDecimals = getDecimalCount(market.minOrderSize)
|
||||||
spotMax = floorToDecimal(balance + unsettled, tickDecimals).toNumber()
|
spotMax = floorToDecimal(
|
||||||
|
balance + unsettled,
|
||||||
|
minOrderDecimals,
|
||||||
|
).toNumber()
|
||||||
}
|
}
|
||||||
return useMargin ? leverageMax : Math.max(spotMax, 0)
|
return useMargin ? leverageMax : Math.max(spotMax, 0)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
10
yarn.lock
10
yarn.lock
|
@ -42,7 +42,7 @@
|
||||||
keccak256 "^1.0.6"
|
keccak256 "^1.0.6"
|
||||||
merkletreejs "^0.3.11"
|
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"
|
version "0.2.26"
|
||||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.26.tgz#9e03599fc838d31c2b1dad6cf86e912ab77462ab"
|
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.26.tgz#9e03599fc838d31c2b1dad6cf86e912ab77462ab"
|
||||||
integrity sha512-xOcLGGpcZYF5D7Gn+0Q4fsYq3G5BHbl9f9PFo2MzIKat0bOtelnxlovx5Gf8sggy5KzESrQRf8tmvnHV0QsgZQ==
|
integrity sha512-xOcLGGpcZYF5D7Gn+0Q4fsYq3G5BHbl9f9PFo2MzIKat0bOtelnxlovx5Gf8sggy5KzESrQRf8tmvnHV0QsgZQ==
|
||||||
|
@ -50,14 +50,6 @@
|
||||||
bn.js "^5.2.1"
|
bn.js "^5.2.1"
|
||||||
eslint-config-prettier "^9.0.0"
|
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":
|
"@blockworks-foundation/mango-v4@0.20.10":
|
||||||
version "0.20.10"
|
version "0.20.10"
|
||||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.20.10.tgz#cf2505d4eab3914adfbcc926cfbf60f5f5b66dad"
|
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.20.10.tgz#cf2505d4eab3914adfbcc926cfbf60f5f5b66dad"
|
||||||
|
|
Loading…
Reference in New Issue