Skip to content

Commit

Permalink
chore: revert confirmed callout, improved hook
Browse files Browse the repository at this point in the history
  • Loading branch information
abdulhaseeb4239 committed Dec 18, 2023
1 parent 104b028 commit 7e1da7a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 35 deletions.
16 changes: 1 addition & 15 deletions src/app/components/confirmBtcTransactionComponent/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import ActionButton from '@components/button';
import RecipientComponent from '@components/recipientComponent';
import TransactionSettingAlert from '@components/transactionSetting';
import TransferFeeView from '@components/transferFeeView';
import useConfirmBtcBalance from '@hooks/queries/useConfirmedBtcBalance';
import useNftDataSelector from '@hooks/stores/useNftDataSelector';
import useBtcClient from '@hooks/useBtcClient';
import useOrdinalsByAddress from '@hooks/useOrdinalsByAddress';
Expand Down Expand Up @@ -149,9 +148,7 @@ function ConfirmBtcTransactionComponent({
const [signedTx, setSignedTx] = useState(signedTxHex);
const [total, setTotal] = useState<BigNumber>(new BigNumber(0));
const [showFeeWarning, setShowFeeWarning] = useState(false);
const [showUnconfirmedWarning, setShowUnconfirmedWarning] = useState(false);
const btcClient = useBtcClient();
const { confirmedBalance } = useConfirmBtcBalance();

const bundle = selectedSatBundle ?? ordinalBundle ?? undefined;
const {
Expand Down Expand Up @@ -275,10 +272,7 @@ function ConfirmBtcTransactionComponent({
feeMultipliers &&
currentFee.isGreaterThan(new BigNumber(feeMultipliers.thresholdHighSatsFee));
setShowFeeWarning(!!isFeeHigh);

const shouldShowUnconfirmedWarning = currentFee.isGreaterThan(confirmedBalance);
setShowUnconfirmedWarning(shouldShowUnconfirmedWarning);
}, [currentFee, feeMultipliers, confirmedBalance]);
}, [currentFee, feeMultipliers]);

const onAdvancedSettingClick = () => {
setShowFeeSettings(true);
Expand Down Expand Up @@ -363,14 +357,6 @@ function ConfirmBtcTransactionComponent({
<Callout bodyText={t('CONFIRM_TRANSACTION.HIGH_FEE_WARNING_TEXT')} variant="warning" />
</CalloutContainer>
)}
{showUnconfirmedWarning && (
<CalloutContainer>
<Callout
bodyText={t('CONFIRM_TRANSACTION.UNCONFIRMED_BALANCE_WARNING')}
variant="warning"
/>
</CalloutContainer>
)}
{/* TODO tim: refactor this not to use children. it should be just another prop */}
{children}
<ReviewTransactionText centerAligned={currencyType === 'Ordinal'}>
Expand Down
24 changes: 15 additions & 9 deletions src/app/hooks/queries/useConfirmedBtcBalance.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import useBtcClient from '@hooks/useBtcClient';
import { useQuery } from '@tanstack/react-query';
import { useMemo } from 'react';
import useWalletSelector from '../useWalletSelector';

const useConfirmBtcBalance = () => {
Expand All @@ -8,22 +9,27 @@ const useConfirmBtcBalance = () => {

const fetchBtcAddressData = async () => btcClient.getAddressData(btcAddress);

let confirmedBalance = 0;

const response = useQuery({
const { data, isLoading, isError, error } = useQuery({
queryKey: ['btc-address-data'],
queryFn: fetchBtcAddressData,
});

const chainStats = response.data?.chain_stats;
const mempoolStats = response.data?.mempool_stats;
if (chainStats && mempoolStats) {
confirmedBalance =
chainStats.funded_txo_sum - chainStats.spent_txo_sum - mempoolStats.spent_txo_sum;
}
const confirmedBalance = useMemo(() => {
if (!isLoading && !isError && data) {
const chainStats = data.chain_stats;
const mempoolStats = data.mempool_stats;

if (chainStats && mempoolStats) {
return chainStats.funded_txo_sum - chainStats.spent_txo_sum - mempoolStats.spent_txo_sum;
}
}
return undefined;
}, [data, isLoading, isError]);

return {
confirmedBalance,
isLoading,
error,
};
};

Expand Down
17 changes: 6 additions & 11 deletions src/app/screens/createInscription/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -274,15 +274,8 @@ function CreateInscription() {
const { getSeed } = useSeedVault();
const btcClient = useBtcClient();

const {
ordinalsAddress,
network,
btcAddress,
selectedAccount,
btcFiatRate,
fiatCurrency,
btcBalance,
} = useWalletSelector();
const { ordinalsAddress, network, btcAddress, selectedAccount, btcFiatRate, fiatCurrency } =
useWalletSelector();

useEffect(() => {
getNonOrdinalUtxo(btcAddress, btcClient, requestedNetwork.type).then(setUtxos);
Expand Down Expand Up @@ -392,7 +385,7 @@ function CreateInscription() {
inscriptionValue,
} = commitValueBreakdown ?? {};

const { confirmedBalance } = useConfirmedBtcBalance();
const { confirmedBalance, isLoading: confirmedBalanceLoading } = useConfirmedBtcBalance();

const chainFee = (revealChainFee ?? 0) + (commitChainFee ?? 0);
const totalFee = (revealServiceFee ?? 0) + (externalServiceFee ?? 0) + chainFee;
Expand All @@ -413,10 +406,12 @@ function CreateInscription() {
useEffect(() => {
const showConfirmError =
!isLoading &&
!confirmedBalanceLoading &&
errorCode !== InscriptionErrorCode.INSUFFICIENT_FUNDS &&
confirmedBalance !== undefined &&
Number(bundlePlusFees) > confirmedBalance;
setShowConfirmedBalanceError(!!showConfirmError);
}, [confirmedBalance, errorCode, bundlePlusFees, isLoading]);
}, [confirmedBalance, errorCode, bundlePlusFees, isLoading, confirmedBalanceLoading]);

if (complete && revealTransactionId) {
const onClose = () => {
Expand Down

0 comments on commit 7e1da7a

Please sign in to comment.