@dynamic-labs/sdk-react-core 0.17.27 → 0.17.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -1
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +4 -4
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +2 -2
- package/src/lib/context/DynamicContext/DynamicContext.js +4 -4
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +3 -3
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +3 -3
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +10 -2
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +10 -2
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +2 -0
- package/src/lib/utils/functions/index.d.ts +1 -0
- package/src/lib/utils/functions/isMagicConnector/index.d.ts +1 -0
- package/src/lib/utils/functions/isMagicConnector/isMagicConnector.cjs +10 -0
- package/src/lib/utils/functions/isMagicConnector/isMagicConnector.d.ts +2 -0
- package/src/lib/utils/functions/isMagicConnector/isMagicConnector.js +6 -0
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -2
- package/src/lib/utils/hooks/index.d.ts +2 -0
- package/src/lib/utils/hooks/useTransactionEstimatedGas/index.d.ts +1 -0
- package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.cjs +42 -0
- package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.d.ts +2 -0
- package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.js +38 -0
- package/src/lib/utils/hooks/useTransactionWithGasPrice/index.d.ts +1 -0
- package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.cjs +41 -0
- package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.d.ts +32 -0
- package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.js +37 -0
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +20 -19
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +4 -1
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +20 -19
- package/src/lib/utils/hooks/useWallets/useWallets.cjs +3 -3
- package/src/lib/utils/hooks/useWallets/useWallets.d.ts +3 -3
- package/src/lib/utils/hooks/useWallets/useWallets.js +3 -3
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +9 -16
- package/src/lib/views/SendBalanceView/SendBalanceView.js +9 -16
- package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +63 -0
- package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.d.ts +8 -0
- package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +59 -0
- package/src/lib/views/SendBalanceView/components/TransactionStage/index.d.ts +1 -0
- package/src/lib/views/SendBalanceView/components/index.d.ts +1 -0
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +2 -2
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +2 -2
- package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +24 -17
- package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts +4 -0
- package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +25 -18
package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs
CHANGED
|
@@ -40,33 +40,36 @@ require('../../../../context/MockContext/MockContext.cjs');
|
|
|
40
40
|
require('../../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
41
41
|
var usePromise = require('../../../../utils/hooks/usePromise/usePromise.cjs');
|
|
42
42
|
require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
|
|
43
|
+
var useTransactionEstimatedGas = require('../../../../utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.cjs');
|
|
43
44
|
|
|
44
45
|
const useTransactionData = ({ provider, transaction, }) => {
|
|
45
46
|
const { data: transactionValue, isLoading: isEffectiveValueLoading } = usePromise.usePromise(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
46
47
|
const val = yield transaction.value;
|
|
47
48
|
return val ? ethers.ethers.BigNumber.from(val) : undefined;
|
|
48
49
|
}));
|
|
49
|
-
const { data: estimatedGas, isLoading: isEstimatedGasLoading } =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
const { data: estimatedGas, isLoading: isEstimatedGasLoading } = useTransactionEstimatedGas.useTransactionEstimatedGas(provider, transaction);
|
|
51
|
+
const { data: providerGasPrice, isLoading: isProviderGasPrice } = usePromise.usePromise(() => provider.getGasPrice(), []);
|
|
52
|
+
const { data: transactionGasPrice, isLoading: isTransactionGasPriceLoading } = usePromise.usePromise(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
const gasPrice = yield transaction.gasPrice;
|
|
54
|
+
return gasPrice ? ethers.ethers.BigNumber.from(gasPrice) : undefined;
|
|
55
|
+
}), [transaction.gasPrice]);
|
|
56
|
+
const isGasPriceLoading = isEstimatedGasLoading || isProviderGasPrice || isTransactionGasPriceLoading;
|
|
57
|
+
const isGasLoading = isProviderGasPrice || isTransactionGasPriceLoading;
|
|
58
|
+
const transactionGas = React.useMemo(() => transactionGasPrice && estimatedGas
|
|
59
|
+
? ethers.ethers.BigNumber.from(transactionGasPrice).mul(estimatedGas)
|
|
60
|
+
: undefined, [estimatedGas, transactionGasPrice]);
|
|
61
|
+
const gasEstimate = React.useMemo(() => !transactionGasPrice && providerGasPrice && estimatedGas
|
|
62
|
+
? ethers.ethers.BigNumber.from(providerGasPrice).mul(estimatedGas)
|
|
63
|
+
: undefined, [transactionGasPrice, estimatedGas, providerGasPrice]);
|
|
62
64
|
const { data: transactionToAddress, isLoading: isTransactionToAddressLoading, } = usePromise.usePromise(() => transaction.to);
|
|
63
65
|
const { data: transactionFromAddress, isLoading: isTransactionFromAddressLoading, } = usePromise.usePromise(() => transaction.from);
|
|
64
66
|
const total = React.useMemo(() => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
const transactionGasFee = transactionGas || gasEstimate;
|
|
68
|
+
if (transactionGasFee !== undefined && transactionValue !== undefined) {
|
|
69
|
+
return transactionGasFee.add(transactionValue);
|
|
67
70
|
}
|
|
68
|
-
return transactionValue ||
|
|
69
|
-
}, [gasEstimate, transactionValue]);
|
|
71
|
+
return transactionValue || transactionGasFee;
|
|
72
|
+
}, [gasEstimate, transactionGas, transactionValue]);
|
|
70
73
|
const isLoading = React.useMemo(() => isEffectiveValueLoading ||
|
|
71
74
|
isGasPriceLoading ||
|
|
72
75
|
isTransactionToAddressLoading ||
|
|
@@ -79,12 +82,16 @@ const useTransactionData = ({ provider, transaction, }) => {
|
|
|
79
82
|
return {
|
|
80
83
|
gasEstimate,
|
|
81
84
|
isEffectiveValueLoading,
|
|
85
|
+
isGasLoading,
|
|
82
86
|
isGasPriceLoading,
|
|
83
87
|
isLoading,
|
|
84
88
|
isTransactionFromAddressLoading,
|
|
89
|
+
isTransactionGasPriceLoading,
|
|
85
90
|
isTransactionToAddressLoading,
|
|
86
91
|
total,
|
|
87
92
|
transactionFromAddress,
|
|
93
|
+
transactionGas,
|
|
94
|
+
transactionGasPrice,
|
|
88
95
|
transactionToAddress,
|
|
89
96
|
transactionValue,
|
|
90
97
|
};
|
package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts
CHANGED
|
@@ -6,12 +6,16 @@ type TransactionDataHookProps = {
|
|
|
6
6
|
export declare const useTransactionData: ({ provider, transaction, }: TransactionDataHookProps) => {
|
|
7
7
|
gasEstimate: ethers.BigNumber | undefined;
|
|
8
8
|
isEffectiveValueLoading: boolean;
|
|
9
|
+
isGasLoading: boolean;
|
|
9
10
|
isGasPriceLoading: boolean;
|
|
10
11
|
isLoading: boolean;
|
|
11
12
|
isTransactionFromAddressLoading: boolean;
|
|
13
|
+
isTransactionGasPriceLoading: boolean;
|
|
12
14
|
isTransactionToAddressLoading: boolean;
|
|
13
15
|
total: ethers.BigNumber | undefined;
|
|
14
16
|
transactionFromAddress: string | undefined;
|
|
17
|
+
transactionGas: ethers.BigNumber | undefined;
|
|
18
|
+
transactionGasPrice: ethers.BigNumber | undefined;
|
|
15
19
|
transactionToAddress: string | undefined;
|
|
16
20
|
transactionValue: ethers.BigNumber | undefined;
|
|
17
21
|
};
|
package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter
|
|
1
|
+
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { ethers } from 'ethers';
|
|
4
4
|
import '@dynamic-labs/utils';
|
|
@@ -36,33 +36,36 @@ import '../../../../context/MockContext/MockContext.js';
|
|
|
36
36
|
import '../../../../context/CaptchaContext/CaptchaContext.js';
|
|
37
37
|
import { usePromise } from '../../../../utils/hooks/usePromise/usePromise.js';
|
|
38
38
|
import '../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
|
|
39
|
+
import { useTransactionEstimatedGas } from '../../../../utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.js';
|
|
39
40
|
|
|
40
41
|
const useTransactionData = ({ provider, transaction, }) => {
|
|
41
42
|
const { data: transactionValue, isLoading: isEffectiveValueLoading } = usePromise(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
43
|
const val = yield transaction.value;
|
|
43
44
|
return val ? ethers.BigNumber.from(val) : undefined;
|
|
44
45
|
}));
|
|
45
|
-
const { data: estimatedGas, isLoading: isEstimatedGasLoading } =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
46
|
+
const { data: estimatedGas, isLoading: isEstimatedGasLoading } = useTransactionEstimatedGas(provider, transaction);
|
|
47
|
+
const { data: providerGasPrice, isLoading: isProviderGasPrice } = usePromise(() => provider.getGasPrice(), []);
|
|
48
|
+
const { data: transactionGasPrice, isLoading: isTransactionGasPriceLoading } = usePromise(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
const gasPrice = yield transaction.gasPrice;
|
|
50
|
+
return gasPrice ? ethers.BigNumber.from(gasPrice) : undefined;
|
|
51
|
+
}), [transaction.gasPrice]);
|
|
52
|
+
const isGasPriceLoading = isEstimatedGasLoading || isProviderGasPrice || isTransactionGasPriceLoading;
|
|
53
|
+
const isGasLoading = isProviderGasPrice || isTransactionGasPriceLoading;
|
|
54
|
+
const transactionGas = useMemo(() => transactionGasPrice && estimatedGas
|
|
55
|
+
? ethers.BigNumber.from(transactionGasPrice).mul(estimatedGas)
|
|
56
|
+
: undefined, [estimatedGas, transactionGasPrice]);
|
|
57
|
+
const gasEstimate = useMemo(() => !transactionGasPrice && providerGasPrice && estimatedGas
|
|
58
|
+
? ethers.BigNumber.from(providerGasPrice).mul(estimatedGas)
|
|
59
|
+
: undefined, [transactionGasPrice, estimatedGas, providerGasPrice]);
|
|
58
60
|
const { data: transactionToAddress, isLoading: isTransactionToAddressLoading, } = usePromise(() => transaction.to);
|
|
59
61
|
const { data: transactionFromAddress, isLoading: isTransactionFromAddressLoading, } = usePromise(() => transaction.from);
|
|
60
62
|
const total = useMemo(() => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
const transactionGasFee = transactionGas || gasEstimate;
|
|
64
|
+
if (transactionGasFee !== undefined && transactionValue !== undefined) {
|
|
65
|
+
return transactionGasFee.add(transactionValue);
|
|
63
66
|
}
|
|
64
|
-
return transactionValue ||
|
|
65
|
-
}, [gasEstimate, transactionValue]);
|
|
67
|
+
return transactionValue || transactionGasFee;
|
|
68
|
+
}, [gasEstimate, transactionGas, transactionValue]);
|
|
66
69
|
const isLoading = useMemo(() => isEffectiveValueLoading ||
|
|
67
70
|
isGasPriceLoading ||
|
|
68
71
|
isTransactionToAddressLoading ||
|
|
@@ -75,12 +78,16 @@ const useTransactionData = ({ provider, transaction, }) => {
|
|
|
75
78
|
return {
|
|
76
79
|
gasEstimate,
|
|
77
80
|
isEffectiveValueLoading,
|
|
81
|
+
isGasLoading,
|
|
78
82
|
isGasPriceLoading,
|
|
79
83
|
isLoading,
|
|
80
84
|
isTransactionFromAddressLoading,
|
|
85
|
+
isTransactionGasPriceLoading,
|
|
81
86
|
isTransactionToAddressLoading,
|
|
82
87
|
total,
|
|
83
88
|
transactionFromAddress,
|
|
89
|
+
transactionGas,
|
|
90
|
+
transactionGasPrice,
|
|
84
91
|
transactionToAddress,
|
|
85
92
|
transactionValue,
|
|
86
93
|
};
|