mango-v4-ui/hooks/useMangoAccount.ts

33 lines
915 B
TypeScript
Raw Normal View History

import { MangoAccount } from '@blockworks-foundation/mango-v4'
import { PublicKey } from '@solana/web3.js'
2022-09-12 08:53:57 -07:00
import mangoStore from '@store/mangoStore'
import { useMemo } from 'react'
export default function useMangoAccount(): {
mangoAccount: MangoAccount | undefined
initialLoad: boolean
mangoAccountPk: PublicKey | undefined
mangoAccountAddress: string
2023-11-15 07:48:57 -08:00
lastSlot: number
} {
2022-11-19 17:40:06 -08:00
const mangoAccount = mangoStore((s) => s.mangoAccount.current)
2023-11-15 07:48:57 -08:00
const lastSlot = mangoStore((s) => s.mangoAccount.lastSlot)
2022-11-19 17:40:06 -08:00
const initialLoad = mangoStore((s) => s.mangoAccount.initialLoad)
const mangoAccountPk = useMemo(() => {
return mangoAccount?.publicKey
}, [mangoAccount?.publicKey])
const mangoAccountAddress = useMemo(() => {
return mangoAccountPk?.toString() || ''
}, [mangoAccountPk])
2023-03-04 10:42:46 -08:00
return {
mangoAccount,
2023-11-15 07:48:57 -08:00
lastSlot,
2023-03-04 10:42:46 -08:00
initialLoad,
mangoAccountAddress,
mangoAccountPk,
}
}