@dynamic-labs/sdk-react-core 0.18.100-viem.0 → 0.18.100-viem.1

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.
Files changed (150) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +9 -9
  5. package/src/index.cjs +2 -0
  6. package/src/index.js +1 -0
  7. package/src/lib/Main.cjs +5 -0
  8. package/src/lib/Main.js +5 -0
  9. package/src/lib/components/Button/Button.cjs +10 -7
  10. package/src/lib/components/Button/Button.js +10 -7
  11. package/src/lib/components/DynamicConnectButton/components/ConnectButton.cjs +1 -1
  12. package/src/lib/components/DynamicConnectButton/components/ConnectButton.js +1 -1
  13. package/src/lib/components/ErrorContainer/ErrorContainer.d.ts +1 -1
  14. package/src/lib/components/ListTile/ListTile.cjs +1 -1
  15. package/src/lib/components/ListTile/ListTile.js +1 -1
  16. package/src/lib/components/ListTile/ListTile.types.d.ts +1 -0
  17. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +5 -3
  18. package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +1 -0
  19. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +5 -3
  20. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +3 -1
  21. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +3 -1
  22. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +2 -2
  23. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +2 -2
  24. package/src/lib/context/DynamicContext/DynamicContext.cjs +7 -2
  25. package/src/lib/context/DynamicContext/DynamicContext.js +8 -3
  26. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.cjs +13 -3
  27. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.js +13 -3
  28. package/src/lib/context/DynamicContext/types/index.d.ts +2 -2
  29. package/src/lib/context/SendBalanceContext/SendBalanceContext.types.d.ts +2 -2
  30. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  31. package/src/lib/data/api.cjs +16 -0
  32. package/src/lib/data/api.d.ts +1 -0
  33. package/src/lib/data/api.js +18 -3
  34. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +10 -2
  35. package/src/lib/layout/DynamicAuthLayout/Header/header.js +10 -2
  36. package/src/lib/modals/SendBalanceModal/SendBalanceModal.d.ts +2 -2
  37. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +10 -2
  38. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +10 -2
  39. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +6 -3
  40. package/src/lib/shared/assets/double-arrow-right.cjs +53 -0
  41. package/src/lib/shared/assets/double-arrow-right.js +29 -0
  42. package/src/lib/shared/assets/index.d.ts +1 -0
  43. package/src/lib/styles/index.shadow.cjs +1 -1
  44. package/src/lib/styles/index.shadow.js +1 -1
  45. package/src/lib/utils/constants/errors.cjs +7 -0
  46. package/src/lib/utils/constants/errors.d.ts +1 -0
  47. package/src/lib/utils/constants/errors.js +3 -0
  48. package/src/lib/utils/constants/index.d.ts +1 -1
  49. package/src/lib/utils/constants/localStorage.cjs +2 -0
  50. package/src/lib/utils/constants/localStorage.d.ts +1 -0
  51. package/src/lib/utils/constants/localStorage.js +2 -1
  52. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.cjs +14 -2
  53. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.d.ts +3 -2
  54. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.js +14 -2
  55. package/src/lib/utils/functions/index.d.ts +1 -0
  56. package/src/lib/utils/functions/isMagicConnector/index.d.ts +1 -0
  57. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.cjs +10 -0
  58. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.d.ts +2 -0
  59. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.js +6 -0
  60. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -2
  61. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.d.ts +2 -1
  62. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -2
  63. package/src/lib/utils/hooks/index.d.ts +2 -0
  64. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +19 -3
  65. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +1 -2
  66. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +20 -4
  67. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +11 -9
  68. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +1 -1
  69. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +11 -9
  70. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
  71. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
  72. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +2 -2
  73. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -1
  74. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +2 -2
  75. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +2 -7
  76. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +2 -7
  77. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/index.d.ts +1 -0
  78. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +1 -0
  79. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +16 -0
  80. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +2 -0
  81. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +12 -0
  82. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +22 -4
  83. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +22 -4
  84. package/src/lib/utils/hooks/useTransactionEstimatedGas/index.d.ts +1 -0
  85. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.cjs +31 -0
  86. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.d.ts +20 -0
  87. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.js +27 -0
  88. package/src/lib/utils/hooks/useTransactionWithGasPrice/index.d.ts +1 -0
  89. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.cjs +56 -0
  90. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.d.ts +32 -0
  91. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.js +52 -0
  92. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +1 -0
  93. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +1 -0
  94. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -1
  95. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +2 -2
  96. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +5 -1
  97. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +2 -2
  98. package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -2
  99. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +4 -0
  100. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +4 -0
  101. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +13 -4
  102. package/src/lib/views/EmailUpdate/EmailUpdate.js +13 -4
  103. package/src/lib/views/EmailVerification/EmailVerification.cjs +12 -1
  104. package/src/lib/views/EmailVerification/EmailVerification.js +14 -3
  105. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +3 -2
  106. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +3 -2
  107. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.cjs +4 -1
  108. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.js +4 -1
  109. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -1
  110. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -1
  111. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +111 -0
  112. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +2 -0
  113. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +107 -0
  114. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  115. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +1 -0
  116. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +1 -0
  117. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +1 -0
  118. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +1 -0
  119. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +14 -35
  120. package/src/lib/views/SendBalanceView/SendBalanceView.d.ts +2 -2
  121. package/src/lib/views/SendBalanceView/SendBalanceView.js +15 -36
  122. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +73 -0
  123. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.d.ts +8 -0
  124. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +69 -0
  125. package/src/lib/views/SendBalanceView/components/TransactionStage/index.d.ts +1 -0
  126. package/src/lib/views/SendBalanceView/components/index.d.ts +1 -0
  127. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -2
  128. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -2
  129. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +31 -8
  130. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.d.ts +4 -3
  131. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +32 -9
  132. package/src/lib/views/TransactionConfirmationView/hooks/index.d.ts +2 -1
  133. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/index.d.ts +1 -0
  134. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.cjs +69 -0
  135. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.d.ts +11 -0
  136. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.js +65 -0
  137. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/index.d.ts +1 -0
  138. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.cjs +14 -0
  139. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.d.ts +6 -0
  140. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.js +10 -0
  141. package/src/lib/views/WalletList/WalletList.cjs +4 -1
  142. package/src/lib/views/WalletList/WalletList.js +4 -1
  143. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +20 -4
  144. package/src/lib/views/WalletLockedView/WalletLockedView.js +20 -4
  145. package/src/lib/views/viewToComponentMap.cjs +2 -0
  146. package/src/lib/views/viewToComponentMap.js +2 -0
  147. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/index.d.ts +0 -1
  148. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +0 -104
  149. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts +0 -17
  150. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +0 -100
@@ -1,9 +1,10 @@
1
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useEffect } from 'react';
2
4
  import { WalletIcon } from '@dynamic-labs/wallet-book';
3
- import 'react';
4
5
  import { Typography } from '../../components/Typography/Typography.js';
5
6
  import '@dynamic-labs/sdk-api';
6
- import '../../shared/logger.js';
7
+ import { logger } from '../../shared/logger.js';
7
8
  import '@dynamic-labs/iconic';
8
9
  import '@dynamic-labs/wallet-connector-core';
9
10
  import '../../context/ViewContext/ViewContext.js';
@@ -47,15 +48,30 @@ import '../../components/MenuList/Dropdown/Dropdown.js';
47
48
 
48
49
  const iconSize = 64;
49
50
  const WalletLockedView = () => {
50
- const { handleLogOut, primaryWallet, setShowAuthFlow } = useInternalDynamicContext();
51
+ const { handleLogOut, primaryWallet, setShowAuthFlow, appName, authToken } = useInternalDynamicContext();
52
+ useEffect(() => {
53
+ // when there is no valid session, we want to log user out
54
+ if (!authToken) {
55
+ handleLogOut();
56
+ }
57
+ }, [authToken, handleLogOut]);
51
58
  if (!primaryWallet) {
52
59
  return null;
53
60
  }
61
+ const handleConnectWallet = () => __awaiter(void 0, void 0, void 0, function* () {
62
+ try {
63
+ yield primaryWallet.connector.connect();
64
+ setShowAuthFlow(false);
65
+ }
66
+ catch (_a) {
67
+ logger.info('could not connect wallet');
68
+ }
69
+ });
54
70
  const icon = (jsx(WalletIcon, { walletName: primaryWallet.connector.name, style: {
55
71
  height: pixelToRem(iconSize * iconRatio),
56
72
  width: pixelToRem(iconSize * iconRatio),
57
73
  } }));
58
- return (jsxs("div", { "data-testid": 'wallet-locked-view', children: [jsx(ErrorContainer, { withIcon: false, className: 'wallet-locked-view__error-container', children: "We cannot connect to your wallet" }), jsxs("div", { className: 'wallet-locked-view__content', children: [jsx(IconWithSpinner, { Icon: icon, iconSize: iconSize, className: 'wallet-locked-view__icon', isSpinning: true }), jsx(Typography, { variant: 'title', color: 'primary', weight: 'medium', className: 'wallet-locked-view__title', children: "Unlock your Wallet extension" }), jsx(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', children: "Your wallet extension is locked. To continue, open your extension and unlock your wallet." }), jsx(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', className: 'wallet-locked-view__button-header', children: "Once unlocked, click here" }), jsx(Button, { buttonRounded: 'default', onClick: () => setShowAuthFlow(false), buttonClassName: 'wallet-locked-view__button', children: "I unlocked the wallet" }), jsx(Divider, { text: 'Or' }), jsx(TextButton, { className: 'wallet-locked-view__log-out', onClick: handleLogOut, children: "Log out" })] })] }));
74
+ return (jsxs("div", { "data-testid": 'wallet-locked-view', children: [jsx(ErrorContainer, { withIcon: false, variant: 'success', className: 'wallet-locked-view__error-container', children: "Connect your wallet to continue" }), jsxs("div", { className: 'wallet-locked-view__content', children: [jsx(IconWithSpinner, { Icon: icon, iconSize: iconSize, className: 'wallet-locked-view__icon', isSpinning: true }), jsx(Typography, { variant: 'title', color: 'primary', weight: 'medium', className: 'wallet-locked-view__title', children: "Welcome back." }), jsxs(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', children: ["We couldn't connect to your wallet. Click connect to retry the connection ", appName, "."] }), jsx(Button, { buttonRounded: 'default', onClick: () => handleConnectWallet(), buttonClassName: 'wallet-locked-view__button', children: "Connect wallet" }), jsx(Divider, { text: 'Or' }), jsx(TextButton, { className: 'wallet-locked-view__log-out', onClick: handleLogOut, children: "Log out" })] })] }));
59
75
  };
60
76
 
61
77
  export { WalletLockedView };
@@ -29,6 +29,7 @@ var BridgeWelcomeView = require('./BridgeWelcomeView/BridgeWelcomeView.cjs');
29
29
  var BridgeSummaryView = require('./BridgeSummaryView/BridgeSummaryView.cjs');
30
30
  var BridgeNextWalletConnectionView = require('./BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs');
31
31
  var AccountExistsView = require('./AccountExistsView/AccountExistsView.cjs');
32
+ var MergeUserAccountsView = require('./MergeUserAccountsView/MergeUserAccountsView.cjs');
32
33
 
33
34
  const viewToComponentMap = {
34
35
  'account-exists': jsxRuntime.jsx(AccountExistsView.AccountExistsView, {}),
@@ -44,6 +45,7 @@ const viewToComponentMap = {
44
45
  'login-with-email-or-wallet': jsxRuntime.jsx(LoginWithEmailView.LoginWithEmailView, {}),
45
46
  'login-with-email-or-wallet-full-wallet-list': jsxRuntime.jsx(WalletList.WalletList, {}),
46
47
  'login-with-email-verification': jsxRuntime.jsx(EmailVerification.EmailVerification, {}),
48
+ 'merge-user-accounts': jsxRuntime.jsx(MergeUserAccountsView.MergeUserAccountsView, {}),
47
49
  'network-not-supported': jsxRuntime.jsx(NetworkNotSupported.NetworkNotSupported, {}),
48
50
  'network-not-supported-manual': jsxRuntime.jsx(NetworkNotSupportedSwitchManual.NetworkNotSupportedSwitchManual, {}),
49
51
  'no-access': jsxRuntime.jsx(NoAccess.NoAccess, {}),
@@ -25,6 +25,7 @@ import { BridgeWelcomeView } from './BridgeWelcomeView/BridgeWelcomeView.js';
25
25
  import { BridgeSummaryView } from './BridgeSummaryView/BridgeSummaryView.js';
26
26
  import { BridgeNextWalletConnectionView } from './BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js';
27
27
  import { AccountExistsView } from './AccountExistsView/AccountExistsView.js';
28
+ import { MergeUserAccountsView } from './MergeUserAccountsView/MergeUserAccountsView.js';
28
29
 
29
30
  const viewToComponentMap = {
30
31
  'account-exists': jsx(AccountExistsView, {}),
@@ -40,6 +41,7 @@ const viewToComponentMap = {
40
41
  'login-with-email-or-wallet': jsx(LoginWithEmailView, {}),
41
42
  'login-with-email-or-wallet-full-wallet-list': jsx(WalletList, {}),
42
43
  'login-with-email-verification': jsx(EmailVerification, {}),
44
+ 'merge-user-accounts': jsx(MergeUserAccountsView, {}),
43
45
  'network-not-supported': jsx(NetworkNotSupported, {}),
44
46
  'network-not-supported-manual': jsx(NetworkNotSupportedSwitchManual, {}),
45
47
  'no-access': jsx(NoAccess, {}),
@@ -1 +0,0 @@
1
- export { useTransactionData } from './useTransactionData';
@@ -1,104 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _tslib = require('../../../../../../_virtual/_tslib.cjs');
6
- var React = require('react');
7
- var viem = require('viem');
8
- require('@dynamic-labs/utils');
9
- require('@dynamic-labs/sdk-api');
10
- require('../../../../config/ApiEndpoint.cjs');
11
- require('../../../../shared/logger.cjs');
12
- require('@dynamic-labs/iconic');
13
- require('@dynamic-labs/wallet-connector-core');
14
- require('react/jsx-runtime');
15
- require('../../../../context/ViewContext/ViewContext.cjs');
16
- require('@dynamic-labs/wallet-book');
17
- require('../../../../utils/constants/colors.cjs');
18
- require('../../../../shared/utils/classes/storage/localStorage.cjs');
19
- require('../../../../shared/consts/index.cjs');
20
- require('@dynamic-labs/multi-wallet');
21
- require('@dynamic-labs/rpc-providers');
22
- require('../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
23
- var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
24
- require('../../../../context/ErrorContext/ErrorContext.cjs');
25
- require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
26
- require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
27
- require('react-dom');
28
- require('../../../../components/ShadowDOM/ShadowDOM.cjs');
29
- require('../../../../context/ThemeContext/ThemeContext.cjs');
30
- require('react-focus-lock');
31
- require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
32
- require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
33
- require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
34
- require('../../../../components/IconButton/IconButton.cjs');
35
- require('../../../../components/Alert/Alert.cjs');
36
- require('../../../../components/Popper/Popper/Popper.cjs');
37
- require('../../../../components/Popper/PopperContext/PopperContext.cjs');
38
- require('formik');
39
- require('yup');
40
- require('../../../../components/InlineWidget/InlineWidget.cjs');
41
- require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
42
- require('../../../../context/MockContext/MockContext.cjs');
43
- require('../../../../context/CaptchaContext/CaptchaContext.cjs');
44
- var usePromise = require('../../../../utils/hooks/usePromise/usePromise.cjs');
45
- require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
46
-
47
- const useTransactionData = ({ transaction, }) => {
48
- const { primaryWallet } = useInternalDynamicContext.useInternalDynamicContext();
49
- const { data: transactionValue, isLoading: isEffectiveValueLoading } = usePromise.usePromise(() => {
50
- const { value } = transaction;
51
- if (value === undefined)
52
- return undefined;
53
- if (viem.isHex(value)) {
54
- return viem.fromHex(value, 'bigint');
55
- }
56
- return value;
57
- });
58
- const { data: estimatedGas, isLoading: isEstimatedGasLoading } = usePromise.usePromise(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
59
- const publicClient = yield (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.getRpcProvider());
60
- if (!publicClient)
61
- return;
62
- const { from } = transaction, transactionWithNoOrigin = _tslib.__rest(transaction, ["from"]);
63
- return publicClient.estimateGas(Object.assign({ account: from }, transactionWithNoOrigin));
64
- }));
65
- const { data: gasPrice, isLoading: isFeeDataLoading } = usePromise.usePromise(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
66
- const publicClient = yield (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.getRpcProvider());
67
- if (!publicClient)
68
- return;
69
- return publicClient.getGasPrice();
70
- }));
71
- const isGasPriceLoading = isEstimatedGasLoading || isFeeDataLoading;
72
- const gasEstimate = React.useMemo(() => (gasPrice && estimatedGas ? gasPrice * estimatedGas : undefined), [gasPrice, estimatedGas]);
73
- const { data: transactionToAddress, isLoading: isTransactionToAddressLoading, } = usePromise.usePromise(() => transaction.to);
74
- const { data: transactionFromAddress, isLoading: isTransactionFromAddressLoading, } = usePromise.usePromise(() => transaction.from);
75
- const total = React.useMemo(() => {
76
- if (gasEstimate !== undefined && transactionValue !== undefined) {
77
- return gasEstimate + transactionValue;
78
- }
79
- return transactionValue || gasEstimate;
80
- }, [gasEstimate, transactionValue]);
81
- const isLoading = React.useMemo(() => isEffectiveValueLoading ||
82
- isGasPriceLoading ||
83
- isTransactionToAddressLoading ||
84
- isTransactionFromAddressLoading, [
85
- isEffectiveValueLoading,
86
- isGasPriceLoading,
87
- isTransactionToAddressLoading,
88
- isTransactionFromAddressLoading,
89
- ]);
90
- return {
91
- gasEstimate,
92
- isEffectiveValueLoading,
93
- isGasPriceLoading,
94
- isLoading,
95
- isTransactionFromAddressLoading,
96
- isTransactionToAddressLoading,
97
- total,
98
- transactionFromAddress,
99
- transactionToAddress,
100
- transactionValue,
101
- };
102
- };
103
-
104
- exports.useTransactionData = useTransactionData;
@@ -1,17 +0,0 @@
1
- import { TransactionRequest } from 'viem';
2
- type TransactionDataHookProps = {
3
- transaction: TransactionRequest;
4
- };
5
- export declare const useTransactionData: ({ transaction, }: TransactionDataHookProps) => {
6
- gasEstimate: bigint | undefined;
7
- isEffectiveValueLoading: boolean;
8
- isGasPriceLoading: boolean;
9
- isLoading: boolean;
10
- isTransactionFromAddressLoading: boolean;
11
- isTransactionToAddressLoading: boolean;
12
- total: bigint | undefined;
13
- transactionFromAddress: `0x${string}` | undefined;
14
- transactionToAddress: `0x${string}` | undefined;
15
- transactionValue: bigint | undefined;
16
- };
17
- export {};
@@ -1,100 +0,0 @@
1
- import { __awaiter, __rest } from '../../../../../../_virtual/_tslib.js';
2
- import { useMemo } from 'react';
3
- import { isHex, fromHex } from 'viem';
4
- import '@dynamic-labs/utils';
5
- import '@dynamic-labs/sdk-api';
6
- import '../../../../config/ApiEndpoint.js';
7
- import '../../../../shared/logger.js';
8
- import '@dynamic-labs/iconic';
9
- import '@dynamic-labs/wallet-connector-core';
10
- import 'react/jsx-runtime';
11
- import '../../../../context/ViewContext/ViewContext.js';
12
- import '@dynamic-labs/wallet-book';
13
- import '../../../../utils/constants/colors.js';
14
- import '../../../../shared/utils/classes/storage/localStorage.js';
15
- import '../../../../shared/consts/index.js';
16
- import '@dynamic-labs/multi-wallet';
17
- import '@dynamic-labs/rpc-providers';
18
- import '../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
19
- import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
20
- import '../../../../context/ErrorContext/ErrorContext.js';
21
- import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
22
- import '../../../../context/AccountExistsContext/AccountExistsContext.js';
23
- import 'react-dom';
24
- import '../../../../components/ShadowDOM/ShadowDOM.js';
25
- import '../../../../context/ThemeContext/ThemeContext.js';
26
- import 'react-focus-lock';
27
- import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
28
- import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
29
- import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
30
- import '../../../../components/IconButton/IconButton.js';
31
- import '../../../../components/Alert/Alert.js';
32
- import '../../../../components/Popper/Popper/Popper.js';
33
- import '../../../../components/Popper/PopperContext/PopperContext.js';
34
- import 'formik';
35
- import 'yup';
36
- import '../../../../components/InlineWidget/InlineWidget.js';
37
- import '../../../../components/MenuList/Dropdown/Dropdown.js';
38
- import '../../../../context/MockContext/MockContext.js';
39
- import '../../../../context/CaptchaContext/CaptchaContext.js';
40
- import { usePromise } from '../../../../utils/hooks/usePromise/usePromise.js';
41
- import '../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
42
-
43
- const useTransactionData = ({ transaction, }) => {
44
- const { primaryWallet } = useInternalDynamicContext();
45
- const { data: transactionValue, isLoading: isEffectiveValueLoading } = usePromise(() => {
46
- const { value } = transaction;
47
- if (value === undefined)
48
- return undefined;
49
- if (isHex(value)) {
50
- return fromHex(value, 'bigint');
51
- }
52
- return value;
53
- });
54
- const { data: estimatedGas, isLoading: isEstimatedGasLoading } = usePromise(() => __awaiter(void 0, void 0, void 0, function* () {
55
- const publicClient = yield (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.getRpcProvider());
56
- if (!publicClient)
57
- return;
58
- const { from } = transaction, transactionWithNoOrigin = __rest(transaction, ["from"]);
59
- return publicClient.estimateGas(Object.assign({ account: from }, transactionWithNoOrigin));
60
- }));
61
- const { data: gasPrice, isLoading: isFeeDataLoading } = usePromise(() => __awaiter(void 0, void 0, void 0, function* () {
62
- const publicClient = yield (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.getRpcProvider());
63
- if (!publicClient)
64
- return;
65
- return publicClient.getGasPrice();
66
- }));
67
- const isGasPriceLoading = isEstimatedGasLoading || isFeeDataLoading;
68
- const gasEstimate = useMemo(() => (gasPrice && estimatedGas ? gasPrice * estimatedGas : undefined), [gasPrice, estimatedGas]);
69
- const { data: transactionToAddress, isLoading: isTransactionToAddressLoading, } = usePromise(() => transaction.to);
70
- const { data: transactionFromAddress, isLoading: isTransactionFromAddressLoading, } = usePromise(() => transaction.from);
71
- const total = useMemo(() => {
72
- if (gasEstimate !== undefined && transactionValue !== undefined) {
73
- return gasEstimate + transactionValue;
74
- }
75
- return transactionValue || gasEstimate;
76
- }, [gasEstimate, transactionValue]);
77
- const isLoading = useMemo(() => isEffectiveValueLoading ||
78
- isGasPriceLoading ||
79
- isTransactionToAddressLoading ||
80
- isTransactionFromAddressLoading, [
81
- isEffectiveValueLoading,
82
- isGasPriceLoading,
83
- isTransactionToAddressLoading,
84
- isTransactionFromAddressLoading,
85
- ]);
86
- return {
87
- gasEstimate,
88
- isEffectiveValueLoading,
89
- isGasPriceLoading,
90
- isLoading,
91
- isTransactionFromAddressLoading,
92
- isTransactionToAddressLoading,
93
- total,
94
- transactionFromAddress,
95
- transactionToAddress,
96
- transactionValue,
97
- };
98
- };
99
-
100
- export { useTransactionData };