@dynamic-labs/sdk-react-core 2.2.7 → 2.2.8

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 (51) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +13 -13
  5. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +4 -5
  6. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +4 -5
  7. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.cjs +1 -1
  8. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.js +1 -1
  9. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -1
  10. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -1
  11. package/src/lib/context/DynamicContext/types/index.d.ts +1 -0
  12. package/src/lib/shared/utils/functions/shortenEmail/shortenEmail.d.ts +0 -6
  13. package/src/lib/styles/index.shadow.cjs +1 -1
  14. package/src/lib/styles/index.shadow.js +1 -1
  15. package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.cjs +43 -42
  16. package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.js +43 -42
  17. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs +14 -7
  18. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.d.ts +6 -1
  19. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js +14 -7
  20. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +1 -1
  21. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +1 -1
  22. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -1
  23. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -1
  24. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +1 -1
  25. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +1 -1
  26. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -1
  27. package/src/lib/views/EmailVerification/EmailVerification.js +1 -1
  28. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +1 -1
  29. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +1 -1
  30. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +1 -1
  31. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +1 -1
  32. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.cjs +1 -1
  33. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.js +1 -1
  34. package/src/lib/views/SelectWalletInWalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +1 -1
  35. package/src/lib/views/SelectWalletInWalletGroupView/components/WalletGroupItem/WalletGroupItem.js +1 -1
  36. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -1
  37. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -1
  38. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +1 -1
  39. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +1 -1
  40. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +1 -1
  41. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +1 -1
  42. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +1 -1
  43. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +1 -1
  44. package/src/lib/views/WalletRedirectView/WalletRedirectView.cjs +1 -1
  45. package/src/lib/views/WalletRedirectView/WalletRedirectView.js +1 -1
  46. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +1 -1
  47. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +1 -1
  48. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +10 -7
  49. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +10 -7
  50. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -1
  51. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -1
@@ -3,48 +3,48 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var React = require('react');
7
- var useWalletConnectorNetwork = require('../useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
8
- require('@dynamic-labs/wallet-connector-core');
6
+ require('react');
7
+ require('../../../context/DynamicContext/DynamicContext.cjs');
9
8
  require('@dynamic-labs/sdk-api-core');
10
- require('../../constants/values.cjs');
11
- require('@dynamic-labs/utils');
12
- require('../../../../../_virtual/_tslib.cjs');
13
- require('@dynamic-labs/multi-wallet');
14
9
  require('../../../shared/logger.cjs');
15
10
  require('@dynamic-labs/iconic');
11
+ require('@dynamic-labs/wallet-connector-core');
16
12
  require('react/jsx-runtime');
17
13
  require('../../../context/ViewContext/ViewContext.cjs');
18
14
  require('@dynamic-labs/wallet-book');
19
15
  require('../../constants/colors.cjs');
16
+ require('../../constants/values.cjs');
20
17
  require('../../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('@dynamic-labs/utils');
21
19
  require('../../../shared/consts/index.cjs');
20
+ require('../../../events/dynamicEvents.cjs');
21
+ require('../../../../../_virtual/_tslib.cjs');
22
+ var useConnectAndSign = require('../authenticationHooks/useConnectAndSign/useConnectAndSign.cjs');
23
+ require('../../../context/ErrorContext/ErrorContext.cjs');
24
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
25
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
26
+ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
27
+ require('../../../config/ApiEndpoint.cjs');
28
+ require('@dynamic-labs/multi-wallet');
22
29
  require('react-international-phone');
23
30
  var isSupportedNetwork = require('../../functions/isSupportedNetwork/isSupportedNetwork.cjs');
24
31
  require('viem');
25
32
  require('viem/chains');
26
- require('../../../config/ApiEndpoint.cjs');
27
33
  require('@dynamic-labs/store');
28
34
  require('../../../locale/locale.cjs');
29
- var useConnectAndSign = require('../authenticationHooks/useConnectAndSign/useConnectAndSign.cjs');
30
- require('../../../context/DynamicContext/DynamicContext.cjs');
31
- require('../../../events/dynamicEvents.cjs');
35
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
36
+ require('../../../context/VerificationContext/VerificationContext.cjs');
32
37
  require('react-dom');
33
38
  require('../../../context/WalletContext/WalletContext.cjs');
34
- require('../../../context/ErrorContext/ErrorContext.cjs');
35
39
  require('../../../context/ThemeContext/ThemeContext.cjs');
36
- require('../../../context/VerificationContext/VerificationContext.cjs');
37
40
  require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
38
41
  require('@dynamic-labs/types');
39
- require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
40
42
  require('../../../context/LoadingContext/LoadingContext.cjs');
41
43
  require('yup');
42
44
  require('../../../context/MockContext/MockContext.cjs');
43
45
  require('../../../views/CollectUserDataView/useFields.cjs');
44
46
  require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
45
47
  require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
46
- require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
47
- require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
48
48
  require('@dynamic-labs/rpc-providers');
49
49
  require('react-i18next');
50
50
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
@@ -67,7 +67,6 @@ require('qrcode');
67
67
  require('formik');
68
68
  require('../../../views/WalletList/WalletList.cjs');
69
69
  require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
70
- require('../../../context/CaptchaContext/CaptchaContext.cjs');
71
70
  require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
72
71
  require('@hcaptcha/react-hcaptcha');
73
72
  require('../../../context/FooterAnimationContext/index.cjs');
@@ -79,38 +78,40 @@ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWi
79
78
  require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
80
79
  require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
81
80
  require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
81
+ var useWalletConnectorNetwork = require('../useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
82
82
  var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
83
83
 
84
84
  const useNetworkNotSupported = () => {
85
- const { selectedWalletConnector: walletConnector, setShowAuthFlow, bridgeChainsToConnect, bridgeOnboardingCompleted, isBridgeFlow, } = useInternalDynamicContext.useInternalDynamicContext();
86
- const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector);
85
+ const { selectedWalletConnector: walletConnector, setShowAuthFlow, bridgeChainsToConnect, bridgeOnboardingCompleted, isBridgeFlow, user, authMode, } = useInternalDynamicContext.useInternalDynamicContext();
87
86
  const finishConnectAndSign = useConnectAndSign.useConnectAndSign({
88
87
  shouldCallCallback: false,
89
88
  shouldUpdateWallets: Boolean(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length),
90
89
  });
91
- // Finishes auth flow when wallet switches to proper network
92
- React.useEffect(() => {
93
- if (!isSupportedNetwork.isSupportedNetwork({ network: walletConnectorNetwork, walletConnector })) {
94
- return;
95
- }
96
- finishConnectAndSign({
97
- walletConnector: walletConnector,
98
- });
99
- // we're checking for bridgeChainsToConnect because in some scenarios,
100
- // bridgeOnboardingCompleted might have not been set yet
101
- if (!isBridgeFlow ||
102
- bridgeOnboardingCompleted ||
103
- !(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
104
- setShowAuthFlow(false);
105
- }
106
- }, [
107
- isBridgeFlow,
108
- walletConnectorNetwork,
109
- setShowAuthFlow,
110
- bridgeOnboardingCompleted,
111
- finishConnectAndSign,
112
- bridgeChainsToConnect,
113
- ]);
90
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector, {
91
+ onChange: (walletConnectorNetwork) => {
92
+ if (!isSupportedNetwork.isSupportedNetwork({
93
+ network: walletConnectorNetwork,
94
+ walletConnector,
95
+ })) {
96
+ return;
97
+ }
98
+ finishConnectAndSign({
99
+ walletConnector: walletConnector,
100
+ }).then(() => {
101
+ // if user still has to do onboarding, we should not hide the auth flow
102
+ if (!user && authMode === 'connect-and-sign') {
103
+ return;
104
+ }
105
+ // we're checking for bridgeChainsToConnect because in some scenarios,
106
+ // bridgeOnboardingCompleted might have not been set yet
107
+ if (!isBridgeFlow ||
108
+ bridgeOnboardingCompleted ||
109
+ !(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
110
+ setShowAuthFlow(false);
111
+ }
112
+ });
113
+ },
114
+ });
114
115
  return { currentNetwork: walletConnectorNetwork };
115
116
  };
116
117
 
@@ -1,46 +1,46 @@
1
1
  'use client'
2
- import { useEffect } from 'react';
3
- import { useWalletConnectorNetwork } from '../useWalletConnectorNetwork/useWalletConnectorNetwork.js';
4
- import '@dynamic-labs/wallet-connector-core';
2
+ import 'react';
3
+ import '../../../context/DynamicContext/DynamicContext.js';
5
4
  import '@dynamic-labs/sdk-api-core';
6
- import '../../constants/values.js';
7
- import '@dynamic-labs/utils';
8
- import '../../../../../_virtual/_tslib.js';
9
- import '@dynamic-labs/multi-wallet';
10
5
  import '../../../shared/logger.js';
11
6
  import '@dynamic-labs/iconic';
7
+ import '@dynamic-labs/wallet-connector-core';
12
8
  import 'react/jsx-runtime';
13
9
  import '../../../context/ViewContext/ViewContext.js';
14
10
  import '@dynamic-labs/wallet-book';
15
11
  import '../../constants/colors.js';
12
+ import '../../constants/values.js';
16
13
  import '../../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
17
15
  import '../../../shared/consts/index.js';
16
+ import '../../../events/dynamicEvents.js';
17
+ import '../../../../../_virtual/_tslib.js';
18
+ import { useConnectAndSign } from '../authenticationHooks/useConnectAndSign/useConnectAndSign.js';
19
+ import '../../../context/ErrorContext/ErrorContext.js';
20
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
21
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
22
+ import '../../../context/UserWalletsContext/UserWalletsContext.js';
23
+ import '../../../config/ApiEndpoint.js';
24
+ import '@dynamic-labs/multi-wallet';
18
25
  import 'react-international-phone';
19
26
  import { isSupportedNetwork } from '../../functions/isSupportedNetwork/isSupportedNetwork.js';
20
27
  import 'viem';
21
28
  import 'viem/chains';
22
- import '../../../config/ApiEndpoint.js';
23
29
  import '@dynamic-labs/store';
24
30
  import '../../../locale/locale.js';
25
- import { useConnectAndSign } from '../authenticationHooks/useConnectAndSign/useConnectAndSign.js';
26
- import '../../../context/DynamicContext/DynamicContext.js';
27
- import '../../../events/dynamicEvents.js';
31
+ import '../../../context/CaptchaContext/CaptchaContext.js';
32
+ import '../../../context/VerificationContext/VerificationContext.js';
28
33
  import 'react-dom';
29
34
  import '../../../context/WalletContext/WalletContext.js';
30
- import '../../../context/ErrorContext/ErrorContext.js';
31
35
  import '../../../context/ThemeContext/ThemeContext.js';
32
- import '../../../context/VerificationContext/VerificationContext.js';
33
36
  import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
34
37
  import '@dynamic-labs/types';
35
- import '../../../context/AccountExistsContext/AccountExistsContext.js';
36
38
  import '../../../context/LoadingContext/LoadingContext.js';
37
39
  import 'yup';
38
40
  import '../../../context/MockContext/MockContext.js';
39
41
  import '../../../views/CollectUserDataView/useFields.js';
40
42
  import '../../../context/FieldsStateContext/FieldsStateContext.js';
41
43
  import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
42
- import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
43
- import '../../../context/UserWalletsContext/UserWalletsContext.js';
44
44
  import '@dynamic-labs/rpc-providers';
45
45
  import 'react-i18next';
46
46
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
@@ -63,7 +63,6 @@ import 'qrcode';
63
63
  import 'formik';
64
64
  import '../../../views/WalletList/WalletList.js';
65
65
  import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
66
- import '../../../context/CaptchaContext/CaptchaContext.js';
67
66
  import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
68
67
  import '@hcaptcha/react-hcaptcha';
69
68
  import '../../../context/FooterAnimationContext/index.js';
@@ -75,38 +74,40 @@ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWid
75
74
  import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
76
75
  import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
77
76
  import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
77
+ import { useWalletConnectorNetwork } from '../useWalletConnectorNetwork/useWalletConnectorNetwork.js';
78
78
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
79
79
 
80
80
  const useNetworkNotSupported = () => {
81
- const { selectedWalletConnector: walletConnector, setShowAuthFlow, bridgeChainsToConnect, bridgeOnboardingCompleted, isBridgeFlow, } = useInternalDynamicContext();
82
- const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector);
81
+ const { selectedWalletConnector: walletConnector, setShowAuthFlow, bridgeChainsToConnect, bridgeOnboardingCompleted, isBridgeFlow, user, authMode, } = useInternalDynamicContext();
83
82
  const finishConnectAndSign = useConnectAndSign({
84
83
  shouldCallCallback: false,
85
84
  shouldUpdateWallets: Boolean(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length),
86
85
  });
87
- // Finishes auth flow when wallet switches to proper network
88
- useEffect(() => {
89
- if (!isSupportedNetwork({ network: walletConnectorNetwork, walletConnector })) {
90
- return;
91
- }
92
- finishConnectAndSign({
93
- walletConnector: walletConnector,
94
- });
95
- // we're checking for bridgeChainsToConnect because in some scenarios,
96
- // bridgeOnboardingCompleted might have not been set yet
97
- if (!isBridgeFlow ||
98
- bridgeOnboardingCompleted ||
99
- !(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
100
- setShowAuthFlow(false);
101
- }
102
- }, [
103
- isBridgeFlow,
104
- walletConnectorNetwork,
105
- setShowAuthFlow,
106
- bridgeOnboardingCompleted,
107
- finishConnectAndSign,
108
- bridgeChainsToConnect,
109
- ]);
86
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector, {
87
+ onChange: (walletConnectorNetwork) => {
88
+ if (!isSupportedNetwork({
89
+ network: walletConnectorNetwork,
90
+ walletConnector,
91
+ })) {
92
+ return;
93
+ }
94
+ finishConnectAndSign({
95
+ walletConnector: walletConnector,
96
+ }).then(() => {
97
+ // if user still has to do onboarding, we should not hide the auth flow
98
+ if (!user && authMode === 'connect-and-sign') {
99
+ return;
100
+ }
101
+ // we're checking for bridgeChainsToConnect because in some scenarios,
102
+ // bridgeOnboardingCompleted might have not been set yet
103
+ if (!isBridgeFlow ||
104
+ bridgeOnboardingCompleted ||
105
+ !(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
106
+ setShowAuthFlow(false);
107
+ }
108
+ });
109
+ },
110
+ });
110
111
  return { currentNetwork: walletConnectorNetwork };
111
112
  };
112
113
 
@@ -3,6 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
7
  var React = require('react');
7
8
  var usePromise = require('../usePromise/usePromise.cjs');
8
9
  require('../../../events/dynamicEvents.cjs');
@@ -22,7 +23,7 @@ var useWalletConnectorEvent = require('../events/useWalletConnectorEvent/useWall
22
23
  * // You can then use the 'network' state in your component
23
24
  * return <div>Current Network: {network}</div>;
24
25
  */
25
- const useWalletConnectorNetwork = (walletConnector) => {
26
+ const useWalletConnectorNetwork = (walletConnector, { onChange } = { onChange: () => { } }) => {
26
27
  const [network, setNetwork] = React.useState();
27
28
  const { isLoading } = usePromise.usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
28
29
  deps: [walletConnector],
@@ -30,16 +31,22 @@ const useWalletConnectorNetwork = (walletConnector) => {
30
31
  setNetwork(network);
31
32
  },
32
33
  });
33
- useWalletConnectorEvent.useWalletConnectorEvent(walletConnector || undefined, 'chainChange', ({ chain }) => setNetwork((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === 'STARK' ? chain : parseInt(chain)));
34
+ useWalletConnectorEvent.useWalletConnectorEvent(walletConnector || undefined, 'chainChange', ({ chain }) => {
35
+ const parsedChain = (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === 'STARK' ? chain : parseInt(chain);
36
+ setNetwork(parsedChain);
37
+ onChange === null || onChange === void 0 ? void 0 : onChange(parsedChain);
38
+ });
34
39
  /**
35
40
  * Listen to disconnect event and update the network because ArgentX
36
41
  * emits a disconnect event when the user switches network.
37
42
  */
38
- useWalletConnectorEvent.useWalletConnectorEvent(walletConnector || undefined, 'disconnect', () => {
39
- if ((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.key) === 'argentx') {
40
- walletConnector.getNetwork().then(setNetwork);
41
- }
42
- });
43
+ useWalletConnectorEvent.useWalletConnectorEvent(walletConnector || undefined, 'disconnect', () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
44
+ if ((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.key) !== 'argentx')
45
+ return;
46
+ const chain = yield walletConnector.getNetwork();
47
+ setNetwork(chain);
48
+ onChange === null || onChange === void 0 ? void 0 : onChange(chain);
49
+ }));
43
50
  return { isLoading, network };
44
51
  };
45
52
 
@@ -1,4 +1,8 @@
1
1
  import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ type UseWalletConnectorNetworkOptions = {
3
+ /** Triggered whenever the network changes */
4
+ onChange?: (network: string | number | undefined) => void;
5
+ };
2
6
  /**
3
7
  * Sync wallet connector network.
4
8
  *
@@ -13,7 +17,8 @@ import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
13
17
  * // You can then use the 'network' state in your component
14
18
  * return <div>Current Network: {network}</div>;
15
19
  */
16
- export declare const useWalletConnectorNetwork: (walletConnector: WalletConnector | null | undefined) => {
20
+ export declare const useWalletConnectorNetwork: (walletConnector: WalletConnector | null | undefined, { onChange }?: UseWalletConnectorNetworkOptions) => {
17
21
  isLoading: boolean;
18
22
  network: string | number | undefined;
19
23
  };
24
+ export {};
@@ -1,4 +1,5 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
3
  import { useState } from 'react';
3
4
  import { usePromise } from '../usePromise/usePromise.js';
4
5
  import '../../../events/dynamicEvents.js';
@@ -18,7 +19,7 @@ import { useWalletConnectorEvent } from '../events/useWalletConnectorEvent/useWa
18
19
  * // You can then use the 'network' state in your component
19
20
  * return <div>Current Network: {network}</div>;
20
21
  */
21
- const useWalletConnectorNetwork = (walletConnector) => {
22
+ const useWalletConnectorNetwork = (walletConnector, { onChange } = { onChange: () => { } }) => {
22
23
  const [network, setNetwork] = useState();
23
24
  const { isLoading } = usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
24
25
  deps: [walletConnector],
@@ -26,16 +27,22 @@ const useWalletConnectorNetwork = (walletConnector) => {
26
27
  setNetwork(network);
27
28
  },
28
29
  });
29
- useWalletConnectorEvent(walletConnector || undefined, 'chainChange', ({ chain }) => setNetwork((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === 'STARK' ? chain : parseInt(chain)));
30
+ useWalletConnectorEvent(walletConnector || undefined, 'chainChange', ({ chain }) => {
31
+ const parsedChain = (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === 'STARK' ? chain : parseInt(chain);
32
+ setNetwork(parsedChain);
33
+ onChange === null || onChange === void 0 ? void 0 : onChange(parsedChain);
34
+ });
30
35
  /**
31
36
  * Listen to disconnect event and update the network because ArgentX
32
37
  * emits a disconnect event when the user switches network.
33
38
  */
34
- useWalletConnectorEvent(walletConnector || undefined, 'disconnect', () => {
35
- if ((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.key) === 'argentx') {
36
- walletConnector.getNetwork().then(setNetwork);
37
- }
38
- });
39
+ useWalletConnectorEvent(walletConnector || undefined, 'disconnect', () => __awaiter(void 0, void 0, void 0, function* () {
40
+ if ((walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.key) !== 'argentx')
41
+ return;
42
+ const chain = yield walletConnector.getNetwork();
43
+ setNetwork(chain);
44
+ onChange === null || onChange === void 0 ? void 0 : onChange(chain);
45
+ }));
39
46
  return { isLoading, network };
40
47
  };
41
48
 
@@ -59,10 +59,10 @@ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
59
59
  require('../../context/MfaSettingsContext/MfaSettingsContext.cjs');
60
60
  require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
61
61
  require('react-focus-lock');
62
+ var Typography = require('../../components/Typography/Typography.cjs');
62
63
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
63
64
  require('../../components/IconButton/IconButton.cjs');
64
65
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
65
- var Typography = require('../../components/Typography/Typography.cjs');
66
66
  require('formik');
67
67
  require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
68
68
  require('../../components/Input/Input.cjs');
@@ -55,10 +55,10 @@ import '../../context/WalletGroupContext/WalletGroupContext.js';
55
55
  import '../../context/MfaSettingsContext/MfaSettingsContext.js';
56
56
  import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
57
57
  import 'react-focus-lock';
58
+ import { Typography } from '../../components/Typography/Typography.js';
58
59
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
59
60
  import '../../components/IconButton/IconButton.js';
60
61
  import '../../components/MenuList/Dropdown/Dropdown.js';
61
- import { Typography } from '../../components/Typography/Typography.js';
62
62
  import 'formik';
63
63
  import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
64
64
  import '../../components/Input/Input.js';
@@ -64,9 +64,9 @@ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
64
64
  require('../../context/MfaSettingsContext/MfaSettingsContext.cjs');
65
65
  require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
66
66
  require('react-focus-lock');
67
+ var Icon = require('../../components/Icon/Icon.cjs');
67
68
  var AuthProviderIcon = require('../../components/AuthProviderIcon/AuthProviderIcon.cjs');
68
69
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
69
- var Icon = require('../../components/Icon/Icon.cjs');
70
70
  require('../../components/IconButton/IconButton.cjs');
71
71
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
72
72
  var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
@@ -60,9 +60,9 @@ import '../../context/WalletGroupContext/WalletGroupContext.js';
60
60
  import '../../context/MfaSettingsContext/MfaSettingsContext.js';
61
61
  import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
62
62
  import 'react-focus-lock';
63
+ import { Icon } from '../../components/Icon/Icon.js';
63
64
  import { AuthProviderIcon } from '../../components/AuthProviderIcon/AuthProviderIcon.js';
64
65
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
65
- import { Icon } from '../../components/Icon/Icon.js';
66
66
  import '../../components/IconButton/IconButton.js';
67
67
  import '../../components/MenuList/Dropdown/Dropdown.js';
68
68
  import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
@@ -63,10 +63,10 @@ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidge
63
63
  require('react-focus-lock');
64
64
  var IconWithSpinner = require('../../components/IconWithSpinner/IconWithSpinner.cjs');
65
65
  var Icon = require('../../components/Icon/Icon.cjs');
66
+ var Typography = require('../../components/Typography/Typography.cjs');
66
67
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
67
68
  var IconButton = require('../../components/IconButton/IconButton.cjs');
68
69
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
69
- var Typography = require('../../components/Typography/Typography.cjs');
70
70
  require('formik');
71
71
  require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
72
72
  require('../../components/Input/Input.cjs');
@@ -59,10 +59,10 @@ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidget
59
59
  import 'react-focus-lock';
60
60
  import { IconWithSpinner } from '../../components/IconWithSpinner/IconWithSpinner.js';
61
61
  import { Icon } from '../../components/Icon/Icon.js';
62
+ import { Typography } from '../../components/Typography/Typography.js';
62
63
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
63
64
  import { IconButton } from '../../components/IconButton/IconButton.js';
64
65
  import '../../components/MenuList/Dropdown/Dropdown.js';
65
- import { Typography } from '../../components/Typography/Typography.js';
66
66
  import 'formik';
67
67
  import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
68
68
  import '../../components/Input/Input.js';
@@ -74,10 +74,10 @@ require('../../context/MfaSettingsContext/MfaSettingsContext.cjs');
74
74
  require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
75
75
  require('react-focus-lock');
76
76
  var IconWithSpinner = require('../../components/IconWithSpinner/IconWithSpinner.cjs');
77
+ var Icon = require('../../components/Icon/Icon.cjs');
77
78
  var LoadingContext = require('../../context/LoadingContext/LoadingContext.cjs');
78
79
  var IconWithStatus = require('../../components/IconWithStatus/IconWithStatus.cjs');
79
80
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
80
- var Icon = require('../../components/Icon/Icon.cjs');
81
81
  require('../../components/IconButton/IconButton.cjs');
82
82
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
83
83
  var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
@@ -70,10 +70,10 @@ import '../../context/MfaSettingsContext/MfaSettingsContext.js';
70
70
  import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
71
71
  import 'react-focus-lock';
72
72
  import { IconWithSpinner } from '../../components/IconWithSpinner/IconWithSpinner.js';
73
+ import { Icon } from '../../components/Icon/Icon.js';
73
74
  import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.js';
74
75
  import { IconWithStatus } from '../../components/IconWithStatus/IconWithStatus.js';
75
76
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
76
- import { Icon } from '../../components/Icon/Icon.js';
77
77
  import '../../components/IconButton/IconButton.js';
78
78
  import '../../components/MenuList/Dropdown/Dropdown.js';
79
79
  import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
@@ -61,6 +61,7 @@ require('../../../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
61
61
  require('../../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
62
62
  require('react-focus-lock');
63
63
  var Icon = require('../../../../../components/Icon/Icon.cjs');
64
+ var ListTile = require('../../../../../components/ListTile/ListTile.cjs');
64
65
  require('../../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
65
66
  require('../../../../../components/IconButton/IconButton.cjs');
66
67
  require('../../../../../components/MenuList/Dropdown/Dropdown.cjs');
@@ -71,7 +72,6 @@ require('../../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuc
71
72
  require('../../../../../context/PasskeyContext/PasskeyContext.cjs');
72
73
  require('../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
73
74
  var Badge = require('../../../../../components/Badge/Badge.cjs');
74
- var ListTile = require('../../../../../components/ListTile/ListTile.cjs');
75
75
  require('../../../../../components/InlineWidget/InlineWidget.cjs');
76
76
  require('../../../../../components/IsBrowser/IsBrowser.cjs');
77
77
  require('../../../../../components/Popper/Popper/Popper.cjs');
@@ -57,6 +57,7 @@ import '../../../../../context/MfaSettingsContext/MfaSettingsContext.js';
57
57
  import '../../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
58
58
  import 'react-focus-lock';
59
59
  import { Icon } from '../../../../../components/Icon/Icon.js';
60
+ import { ListTile } from '../../../../../components/ListTile/ListTile.js';
60
61
  import '../../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
61
62
  import '../../../../../components/IconButton/IconButton.js';
62
63
  import '../../../../../components/MenuList/Dropdown/Dropdown.js';
@@ -67,7 +68,6 @@ import '../../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSucc
67
68
  import '../../../../../context/PasskeyContext/PasskeyContext.js';
68
69
  import '../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
69
70
  import { Badge } from '../../../../../components/Badge/Badge.js';
70
- import { ListTile } from '../../../../../components/ListTile/ListTile.js';
71
71
  import '../../../../../components/InlineWidget/InlineWidget.js';
72
72
  import '../../../../../components/IsBrowser/IsBrowser.js';
73
73
  import '../../../../../components/Popper/Popper/Popper.js';
@@ -68,9 +68,9 @@ require('../../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
68
68
  require('../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
69
69
  require('react-focus-lock');
70
70
  var IconWithSpinner = require('../../../../components/IconWithSpinner/IconWithSpinner.cjs');
71
+ var Icon = require('../../../../components/Icon/Icon.cjs');
71
72
  var IconWithStatus = require('../../../../components/IconWithStatus/IconWithStatus.cjs');
72
73
  require('../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
73
- var Icon = require('../../../../components/Icon/Icon.cjs');
74
74
  var IconButton = require('../../../../components/IconButton/IconButton.cjs');
75
75
  require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
76
76
  require('formik');
@@ -64,9 +64,9 @@ import '../../../../context/MfaSettingsContext/MfaSettingsContext.js';
64
64
  import '../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
65
65
  import 'react-focus-lock';
66
66
  import { IconWithSpinner } from '../../../../components/IconWithSpinner/IconWithSpinner.js';
67
+ import { Icon } from '../../../../components/Icon/Icon.js';
67
68
  import { IconWithStatus } from '../../../../components/IconWithStatus/IconWithStatus.js';
68
69
  import '../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
69
- import { Icon } from '../../../../components/Icon/Icon.js';
70
70
  import { IconButton } from '../../../../components/IconButton/IconButton.js';
71
71
  import '../../../../components/MenuList/Dropdown/Dropdown.js';
72
72
  import 'formik';
@@ -59,6 +59,7 @@ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
59
59
  require('../../context/MfaSettingsContext/MfaSettingsContext.cjs');
60
60
  require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
61
61
  require('react-focus-lock');
62
+ var HardwareWalletToggle = require('../../components/HardwareWalletToggle/HardwareWalletToggle.cjs');
62
63
  var Divider = require('../../components/Divider/Divider.cjs');
63
64
  var Icon = require('../../components/Icon/Icon.cjs');
64
65
  require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
@@ -80,7 +81,6 @@ require('../WalletList/WalletList.cjs');
80
81
  require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
81
82
  require('@hcaptcha/react-hcaptcha');
82
83
  require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
83
- var HardwareWalletToggle = require('../../components/HardwareWalletToggle/HardwareWalletToggle.cjs');
84
84
 
85
85
  const SelectHardwareWalletView = ({ wallet, onSelectWallet, }) => {
86
86
  const { t } = reactI18next.useTranslation();
@@ -55,6 +55,7 @@ import '../../context/WalletGroupContext/WalletGroupContext.js';
55
55
  import '../../context/MfaSettingsContext/MfaSettingsContext.js';
56
56
  import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
57
57
  import 'react-focus-lock';
58
+ import { HardwareWalletToggle } from '../../components/HardwareWalletToggle/HardwareWalletToggle.js';
58
59
  import { Divider } from '../../components/Divider/Divider.js';
59
60
  import { Icon } from '../../components/Icon/Icon.js';
60
61
  import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
@@ -76,7 +77,6 @@ import '../WalletList/WalletList.js';
76
77
  import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
77
78
  import '@hcaptcha/react-hcaptcha';
78
79
  import '../../context/IpConfigurationContext/IpConfigurationContext.js';
79
- import { HardwareWalletToggle } from '../../components/HardwareWalletToggle/HardwareWalletToggle.js';
80
80
 
81
81
  const SelectHardwareWalletView = ({ wallet, onSelectWallet, }) => {
82
82
  const { t } = useTranslation();
@@ -65,6 +65,7 @@ require('../../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
65
65
  require('../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
66
66
  require('react-focus-lock');
67
67
  var Icon = require('../../../../components/Icon/Icon.cjs');
68
+ var ListTile = require('../../../../components/ListTile/ListTile.cjs');
68
69
  require('../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
69
70
  require('../../../../components/IconButton/IconButton.cjs');
70
71
  require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
@@ -75,7 +76,6 @@ require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSucces
75
76
  require('../../../../context/PasskeyContext/PasskeyContext.cjs');
76
77
  require('../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
77
78
  var Badge = require('../../../../components/Badge/Badge.cjs');
78
- var ListTile = require('../../../../components/ListTile/ListTile.cjs');
79
79
  require('../../../../components/InlineWidget/InlineWidget.cjs');
80
80
  require('../../../../components/IsBrowser/IsBrowser.cjs');
81
81
  require('../../../../components/Popper/Popper/Popper.cjs');