fix stable price line updates
This commit is contained in:
parent
5cae40d347
commit
1a763c8c9d
|
@ -93,11 +93,6 @@ const RecentTrades = () => {
|
|||
}
|
||||
)
|
||||
|
||||
console.log(
|
||||
'selectedMarket instanceof PerpMarket',
|
||||
selectedMarket instanceof PerpMarket
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
const actions = mangoStore.getState().actions
|
||||
if (selectedMarket) {
|
||||
|
|
|
@ -189,6 +189,10 @@ const TradingViewChart = () => {
|
|||
if (!tvWidgetRef?.current?.chart()) return
|
||||
const now = Date.now() / 1000
|
||||
try {
|
||||
const oldId = mangoStore.getState().tradingView.stablePriceLine
|
||||
if (oldId) {
|
||||
tvWidgetRef.current.chart().removeEntity(oldId)
|
||||
}
|
||||
const id = tvWidgetRef.current.chart().createShape(
|
||||
{ time: now, price: price },
|
||||
{
|
||||
|
@ -726,24 +730,26 @@ const TradingViewChart = () => {
|
|||
},
|
||||
}
|
||||
|
||||
console.log('creating new chart')
|
||||
|
||||
const tvWidget = new widget(widgetOptions)
|
||||
tvWidgetRef.current = tvWidget
|
||||
|
||||
tvWidgetRef.current.onChartReady(function () {
|
||||
createOLButton()
|
||||
createStablePriceButton()
|
||||
if (showOrderLines) {
|
||||
const openOrders = mangoStore.getState().mangoAccount.openOrders
|
||||
deleteLines()
|
||||
drawLinesForMarket(openOrders)
|
||||
}
|
||||
if (showStablePrice && stablePrice) {
|
||||
const set = mangoStore.getState().set
|
||||
const elementId = drawStablePriceLine(stablePrice)
|
||||
set((s) => {
|
||||
s.tradingView.stablePriceLine = elementId
|
||||
})
|
||||
}
|
||||
// if (showOrderLines) {
|
||||
// const openOrders = mangoStore.getState().mangoAccount.openOrders
|
||||
// deleteLines()
|
||||
// drawLinesForMarket(openOrders)
|
||||
// }
|
||||
// if (showStablePrice && stablePrice) {
|
||||
// const set = mangoStore.getState().set
|
||||
// const elementId = drawStablePriceLine(stablePrice)
|
||||
// set((s) => {
|
||||
// s.tradingView.stablePriceLine = elementId
|
||||
// })
|
||||
// }
|
||||
setChartReady(true)
|
||||
})
|
||||
//eslint-disable-next-line
|
||||
|
@ -759,7 +765,7 @@ const TradingViewChart = () => {
|
|||
drawLinesForMarket,
|
||||
showOrderLines,
|
||||
showStablePrice,
|
||||
stablePrice,
|
||||
// stablePrice,
|
||||
drawStablePriceLine,
|
||||
setChartReady,
|
||||
isMobile,
|
||||
|
|
|
@ -1,18 +1,16 @@
|
|||
import { I80F48, PerpMarket } from '@blockworks-foundation/mango-v4'
|
||||
import mangoStore from '@store/mangoStore'
|
||||
import { useMemo } from 'react'
|
||||
import useMangoGroup from './useMangoGroup'
|
||||
import useSelectedMarket from './useSelectedMarket'
|
||||
|
||||
const useStablePrice = () => {
|
||||
const { selectedMarket } = useSelectedMarket()
|
||||
const perpMarkets = mangoStore((s) => s.perpMarkets)
|
||||
const { group } = useMangoGroup()
|
||||
|
||||
const banks = useMemo(() => {
|
||||
if (!group) return []
|
||||
return Array.from(group.banksMapByMint)
|
||||
.map(([mintAddress, banks]) => banks)
|
||||
.map(([_mintAddress, banks]) => banks)
|
||||
.map((b) => b[0])
|
||||
}, [group])
|
||||
|
||||
|
@ -40,7 +38,7 @@ const useStablePrice = () => {
|
|||
stablePrice = baseStablePrice / quoteStablePrice
|
||||
}
|
||||
return stablePrice
|
||||
}, [banks, group, perpMarkets, selectedMarket])
|
||||
}, [banks, group, selectedMarket])
|
||||
|
||||
return stablePrice
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue