fix market price
This commit is contained in:
parent
332dacbad3
commit
8bd4d2e976
|
@ -207,11 +207,15 @@ const Balance = ({ bank }: { bank: Bank }) => {
|
|||
const set = mangoStore.getState().set
|
||||
const tradeForm = mangoStore.getState().tradeForm
|
||||
|
||||
let price = new Decimal(tradeForm.price).toNumber()
|
||||
let price: number
|
||||
if (tradeForm.tradeType === 'Market') {
|
||||
const orderbook = mangoStore.getState().selectedMarket.orderbook
|
||||
price = calculateMarketPrice(orderbook, balance, tradeForm.side, type)
|
||||
}
|
||||
const side =
|
||||
(balance > 0 && type === 'quote') || (balance < 0 && type === 'base')
|
||||
? 'buy'
|
||||
: 'sell'
|
||||
price = calculateMarketPrice(orderbook, balance, side, type)
|
||||
} else price = new Decimal(tradeForm.price).toNumber()
|
||||
|
||||
if (balance > 0) {
|
||||
if (type === 'quote') {
|
||||
|
|
|
@ -192,6 +192,7 @@ const AdvancedTradeForm = () => {
|
|||
const group = mangoStore.getState().group
|
||||
if (!group || !selectedMarket) return
|
||||
if (selectedMarket instanceof Serum3Market) {
|
||||
if (tradeForm.tradeType === 'Limit') {
|
||||
const baseBank = group?.getFirstBankByTokenIndex(
|
||||
selectedMarket.baseTokenIndex
|
||||
)
|
||||
|
@ -201,12 +202,17 @@ const AdvancedTradeForm = () => {
|
|||
s.tradeForm.price = price
|
||||
})
|
||||
}
|
||||
} else {
|
||||
set((s) => {
|
||||
s.tradeForm.price = ''
|
||||
})
|
||||
}
|
||||
} else {
|
||||
set((s) => {
|
||||
s.tradeForm.price = selectedMarket._uiPrice.toString()
|
||||
})
|
||||
}
|
||||
}, [set, selectedMarket])
|
||||
}, [set, selectedMarket, tradeForm])
|
||||
|
||||
const handlePlaceOrder = useCallback(async () => {
|
||||
const client = mangoStore.getState().client
|
||||
|
|
Loading…
Reference in New Issue