From d7d28533b6ba267d2e7143642afa113b9b0b2cfc Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Fri, 6 Nov 2020 21:47:14 +0100 Subject: [PATCH] Check refcount on max transfer (#3990) --- packages/page-accounts/src/modals/Transfer.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/page-accounts/src/modals/Transfer.tsx b/packages/page-accounts/src/modals/Transfer.tsx index 3fe669c605..8766bfe749 100644 --- a/packages/page-accounts/src/modals/Transfer.tsx +++ b/packages/page-accounts/src/modals/Transfer.tsx @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import { DeriveBalancesAll } from '@polkadot/api-derive/types'; +import { AccountInfo } from '@polkadot/types/interfaces'; import BN from 'bn.js'; import React, { useEffect, useState } from 'react'; @@ -31,6 +32,7 @@ function Transfer ({ className = '', onClose, recipientId: propRecipientId, send const [recipientId, setRecipientId] = useState(propRecipientId || null); const [senderId, setSenderId] = useState(propSenderId || null); const balances = useCall(api.derive.balances.all, [senderId]); + const accountInfo = useCall(api.query.system.account, [senderId]); useEffect((): void => { if (balances && balances.accountId.eq(senderId) && recipientId && senderId && isFunction(api.rpc.payment?.queryInfo)) { @@ -59,7 +61,7 @@ function Transfer ({ className = '', onClose, recipientId: propRecipientId, send }, [api, balances, recipientId, senderId]); const transferrable = {t('transferrable')}; - const canToggleAll = !isProtected && balances && balances.accountId.eq(senderId) && maxTransfer; + const canToggleAll = !isProtected && balances && balances.accountId.eq(senderId) && maxTransfer && (!accountInfo || !accountInfo.refcount || accountInfo.refcount.isZero()); return (