Skip to content

Commit 6601cfe

Browse files
authored
Merge pull request #444 from blockworks-foundation/pan/fix-self-delegated-account-settings
Fix self delegated account settings
2 parents 8a9efdf + ba2af55 commit 6601cfe

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

components/settings/AccountSettings.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ const AccountSettings = () => {
5757
const { t } = useTranslation(['common', 'settings', 'trade'])
5858
const { mangoAccount, mangoAccountAddress } = useMangoAccount()
5959
const { group } = useMangoGroup()
60-
const { isDelegatedAccount, isUnownedAccount } = useUnownedAccount()
60+
const { isDelegatedAccount, isUnownedAccount, isOwnedAccount } =
61+
useUnownedAccount()
6162
const { connected } = useWallet()
6263
const [showAccountSizeModal, setShowAccountSizeModal] = useState(false)
6364
const [showEditAccountModal, setShowEditAccountModal] = useState(false)
@@ -737,7 +738,7 @@ const AccountSettings = () => {
737738
<div className="rounded-lg border border-th-bkg-3 p-4 md:p-6">
738739
<p className="text-center">{t('settings:account-settings-unowned')}</p>
739740
</div>
740-
) : isDelegatedAccount ? (
741+
) : isDelegatedAccount && !isOwnedAccount ? (
741742
<div className="rounded-lg border border-th-bkg-3 p-4 md:p-6">
742743
<p className="text-center">{t('settings:account-settings-delegated')}</p>
743744
</div>

hooks/useUnownedAccount.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import useMangoAccount from './useMangoAccount'
55
const useUnownedAccount = (): {
66
isUnownedAccount: boolean
77
isDelegatedAccount: boolean
8+
isOwnedAccount: boolean
89
} => {
910
const { connected, publicKey } = useWallet()
1011
const { mangoAccountAddress, mangoAccount } = useMangoAccount()
@@ -21,7 +22,14 @@ const useUnownedAccount = (): {
2122
return false
2223
}, [publicKey, mangoAccount])
2324

24-
return { isUnownedAccount, isDelegatedAccount }
25+
const isOwnedAccount: boolean = useMemo(() => {
26+
if (publicKey && mangoAccount) {
27+
return mangoAccount?.owner.equals(publicKey)
28+
}
29+
return false
30+
}, [publicKey, mangoAccount])
31+
32+
return { isUnownedAccount, isDelegatedAccount, isOwnedAccount }
2533
}
2634

2735
export default useUnownedAccount

0 commit comments

Comments
 (0)