@dynamic-labs/sdk-react-core 1.1.0-alpha.2 → 1.1.0-alpha.4

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 (53) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +11 -11
  5. package/src/index.cjs +2 -0
  6. package/src/index.d.ts +1 -0
  7. package/src/index.js +1 -0
  8. package/src/lib/context/DynamicContext/DynamicContext.cjs +3 -2
  9. package/src/lib/context/DynamicContext/DynamicContext.js +3 -2
  10. package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
  11. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
  12. package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
  13. package/src/lib/data/api.cjs +0 -13
  14. package/src/lib/data/api.d.ts +1 -2
  15. package/src/lib/data/api.js +2 -14
  16. package/src/lib/shared/consts/index.cjs +1 -0
  17. package/src/lib/shared/consts/index.js +1 -0
  18. package/src/lib/shared/types/index.d.ts +2 -1
  19. package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.d.ts +1 -1
  20. package/src/lib/utils/functions/index.d.ts +1 -0
  21. package/src/lib/utils/functions/isEmailValid/index.d.ts +1 -0
  22. package/src/lib/utils/functions/isEmailValid/isEmailValid.cjs +8 -0
  23. package/src/lib/utils/functions/isEmailValid/isEmailValid.d.ts +1 -0
  24. package/src/lib/utils/functions/isEmailValid/isEmailValid.js +4 -0
  25. package/src/lib/utils/functions/isProviderEnabled/isProviderEnabled.cjs +9 -1
  26. package/src/lib/utils/functions/isProviderEnabled/isProviderEnabled.js +9 -1
  27. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -0
  28. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
  29. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -0
  30. package/src/lib/utils/hooks/useConnectWithEmailOtp/index.d.ts +1 -0
  31. package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.cjs +150 -0
  32. package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.d.ts +32 -0
  33. package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.js +146 -0
  34. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +3 -3
  35. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +3 -3
  36. package/src/lib/utils/hooks/useProcessNetworkConfigurations/index.d.ts +1 -0
  37. package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs → useProcessNetworkConfigurations/useProcessNetworkConfigurations.cjs} +53 -67
  38. package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.d.ts → useProcessNetworkConfigurations/useProcessNetworkConfigurations.d.ts} +3 -2
  39. package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.js → useProcessNetworkConfigurations/useProcessNetworkConfigurations.js} +53 -67
  40. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +2 -3
  41. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.d.ts +0 -1
  42. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +3 -3
  43. package/src/lib/views/WalletList/WalletList.cjs +5 -8
  44. package/src/lib/views/WalletList/WalletList.js +5 -8
  45. package/src/lib/views/WalletList/data.d.ts +1 -1
  46. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +4 -1
  47. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +4 -1
  48. package/src/lib/utils/hooks/useFetchNetworkConfigurations/index.d.ts +0 -1
  49. /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/index.d.ts +0 -0
  50. /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +0 -0
  51. /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +0 -0
  52. /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +0 -0
  53. /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,28 @@
1
1
 
2
+ ## [1.1.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.3...v1.1.0-alpha.4) (2023-12-21)
3
+
4
+
5
+ ### Features
6
+
7
+ * add bitcoin integration ([#4216](https://github.com/dynamic-labs/DynamicAuth/issues/4216)) ([9584f1c](https://github.com/dynamic-labs/DynamicAuth/commit/9584f1cc3133835049ad1c53da980192263b8f21))
8
+ * add default footer to wallet list when tos and pp not enabled ([#4224](https://github.com/dynamic-labs/DynamicAuth/issues/4224)) ([0ad81c4](https://github.com/dynamic-labs/DynamicAuth/commit/0ad81c409bcb4aafb0dc565685525d620a95efce))
9
+ * adds useConnectWithEmailOtp ([#4234](https://github.com/dynamic-labs/DynamicAuth/issues/4234)) ([4a4e50a](https://github.com/dynamic-labs/DynamicAuth/commit/4a4e50ac8651c2a249d5125ae6bcf49aaf49be8c))
10
+
11
+ ## [1.1.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.2...v1.1.0-alpha.3) (2023-12-19)
12
+
13
+
14
+ ### Features
15
+
16
+ * add Flow support in magic wallet connector ([#4158](https://github.com/dynamic-labs/DynamicAuth/issues/4158)) ([fbbaea7](https://github.com/dynamic-labs/DynamicAuth/commit/fbbaea76b36ceb693f6bd4f2404dfa1204e61492))
17
+ * add showDynamicUserProfile to DynamicContext ([#4214](https://github.com/dynamic-labs/DynamicAuth/issues/4214)) ([2aeb8e3](https://github.com/dynamic-labs/DynamicAuth/commit/2aeb8e3c45a3d9f87bd9196ea9b46927e02eb633))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * add shortname to braveevm to allow for lookups by name as well as key ([#4213](https://github.com/dynamic-labs/DynamicAuth/issues/4213)) ([969b089](https://github.com/dynamic-labs/DynamicAuth/commit/969b089be516fb57fcdc941f908c078998eb4ec0))
23
+ * solflare connect ([#4215](https://github.com/dynamic-labs/DynamicAuth/issues/4215)) ([9a4164e](https://github.com/dynamic-labs/DynamicAuth/commit/9a4164e53198f33ef7201cd4e1eff745a09e9701))
24
+ * wagmi attempt to connect to primary wallet first ([#4206](https://github.com/dynamic-labs/DynamicAuth/issues/4206)) ([9e5fc8e](https://github.com/dynamic-labs/DynamicAuth/commit/9e5fc8ef026628935ac32d3bb0c22bda35057e5d))
25
+
2
26
  ## [1.1.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.1...v1.1.0-alpha.2) (2023-12-18)
3
27
 
4
28
 
package/package.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "1.1.0-alpha.2";
5
+ var version = "1.1.0-alpha.4";
6
6
  var dependencies = {
7
7
  "@dynamic-labs/iconic": "0.1.47",
8
- "@dynamic-labs/sdk-api": "0.0.330",
8
+ "@dynamic-labs/sdk-api": "0.0.333",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
11
11
  formik: "2.2.9",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
- var version = "1.1.0-alpha.2";
1
+ var version = "1.1.0-alpha.4";
2
2
  var dependencies = {
3
3
  "@dynamic-labs/iconic": "0.1.47",
4
- "@dynamic-labs/sdk-api": "0.0.330",
4
+ "@dynamic-labs/sdk-api": "0.0.333",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
7
7
  formik: "2.2.9",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "1.1.0-alpha.2",
3
+ "version": "1.1.0-alpha.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@dynamic-labs/iconic": "0.1.47",
11
- "@dynamic-labs/sdk-api": "0.0.330",
11
+ "@dynamic-labs/sdk-api": "0.0.333",
12
12
  "@hcaptcha/react-hcaptcha": "1.4.4",
13
13
  "country-list": "2.3.0",
14
14
  "formik": "2.2.9",
@@ -17,15 +17,15 @@
17
17
  "react-focus-lock": "2.9.2",
18
18
  "react-i18next": "^13.2.0",
19
19
  "yup": "0.32.11",
20
- "@dynamic-labs/ethereum": "1.1.0-alpha.2",
21
- "@dynamic-labs/logger": "1.1.0-alpha.2",
22
- "@dynamic-labs/multi-wallet": "1.1.0-alpha.2",
23
- "@dynamic-labs/rpc-providers": "1.1.0-alpha.2",
24
- "@dynamic-labs/types": "1.1.0-alpha.2",
25
- "@dynamic-labs/utils": "1.1.0-alpha.2",
26
- "@dynamic-labs/viem-utils": "1.1.0-alpha.2",
27
- "@dynamic-labs/wallet-book": "1.1.0-alpha.2",
28
- "@dynamic-labs/wallet-connector-core": "1.1.0-alpha.2",
20
+ "@dynamic-labs/ethereum": "1.1.0-alpha.4",
21
+ "@dynamic-labs/logger": "1.1.0-alpha.4",
22
+ "@dynamic-labs/multi-wallet": "1.1.0-alpha.4",
23
+ "@dynamic-labs/rpc-providers": "1.1.0-alpha.4",
24
+ "@dynamic-labs/types": "1.1.0-alpha.4",
25
+ "@dynamic-labs/utils": "1.1.0-alpha.4",
26
+ "@dynamic-labs/viem-utils": "1.1.0-alpha.4",
27
+ "@dynamic-labs/wallet-book": "1.1.0-alpha.4",
28
+ "@dynamic-labs/wallet-connector-core": "1.1.0-alpha.4",
29
29
  "eventemitter3": "5.0.1"
30
30
  },
31
31
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -181,6 +181,7 @@ var index$3 = require('./lib/utils/functions/walletFilters/index.cjs');
181
181
  var SendBalanceContext = require('./lib/context/SendBalanceContext/SendBalanceContext.cjs');
182
182
  require('./lib/context/FundingContext/FundingContext.cjs');
183
183
  var useFunding = require('./lib/context/FundingContext/useFunding/useFunding.cjs');
184
+ var useConnectWithEmailOtp = require('./lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.cjs');
184
185
 
185
186
 
186
187
 
@@ -342,3 +343,4 @@ exports.SortWallets = index$3.SortWallets;
342
343
  exports.UniswapFilter = index$3.UniswapFilter;
343
344
  exports.useSendBalance = SendBalanceContext.useSendBalance;
344
345
  exports.useFunding = useFunding.useFunding;
346
+ exports.useConnectWithEmailOtp = useConnectWithEmailOtp.useConnectWithEmailOtp;
package/src/index.d.ts CHANGED
@@ -32,3 +32,4 @@ export { type DynamicJwt, DynamicJwtFromJSON } from '@dynamic-labs/sdk-api';
32
32
  export { useSendBalance } from './lib/context/SendBalanceContext';
33
33
  export type { LocaleResource } from './lib/locale';
34
34
  export { useFunding } from './lib/context/FundingContext';
35
+ export { useConnectWithEmailOtp } from './lib/utils/hooks/useConnectWithEmailOtp';
package/src/index.js CHANGED
@@ -177,3 +177,4 @@ export { FilterAndSortWallets, FilterBridgeChainsName, FilterWallets, RemoveWall
177
177
  export { useSendBalance } from './lib/context/SendBalanceContext/SendBalanceContext.js';
178
178
  import './lib/context/FundingContext/FundingContext.js';
179
179
  export { useFunding } from './lib/context/FundingContext/useFunding/useFunding.js';
180
+ export { useConnectWithEmailOtp } from './lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.js';
@@ -72,7 +72,7 @@ var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiW
72
72
  var useMultiWallet = require('../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs');
73
73
  var useClearWalletConnectSessions = require('../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs');
74
74
  var useConnectWallet = require('../../utils/hooks/useConnectWallet/useConnectWallet.cjs');
75
- var useFetchNetworkConfigurations = require('../../utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs');
75
+ var useProcessNetworkConfigurations = require('../../utils/hooks/useProcessNetworkConfigurations/useProcessNetworkConfigurations.cjs');
76
76
  var useFetchWalletsForChainsMap = require('../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.cjs');
77
77
  var useHandleUnlinkWallet = require('../../utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs');
78
78
  var usePrimaryWalletId = require('../../utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs');
@@ -178,10 +178,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
178
178
  // Set to true when a customer starts any auth verification process and set to false when it ends
179
179
  const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress.useVerificationInProgress();
180
180
  const walletBook$1 = walletBook.useWalletBookCdn();
181
- const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useFetchNetworkConfigurations.useFetchNetworkConfigurations({
181
+ const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations.useProcessNetworkConfigurations({
182
182
  authToken: getAuthToken.getAuthToken(),
183
183
  environmentId,
184
184
  evmNetworks,
185
+ projectSettings,
185
186
  });
186
187
  const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
187
188
  appLogoUrl = appLogo || appLogoUrl;
@@ -68,7 +68,7 @@ import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMult
68
68
  import { useMultiWallet } from '../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js';
69
69
  import { useClearWalletConnectSessions } from '../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js';
70
70
  import { useConnectWallet } from '../../utils/hooks/useConnectWallet/useConnectWallet.js';
71
- import { useFetchNetworkConfigurations } from '../../utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js';
71
+ import { useProcessNetworkConfigurations } from '../../utils/hooks/useProcessNetworkConfigurations/useProcessNetworkConfigurations.js';
72
72
  import { useFetchWalletsForChainsMap } from '../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.js';
73
73
  import { useHandleUnlinkWallet } from '../../utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js';
74
74
  import { usePrimaryWalletId } from '../../utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js';
@@ -174,10 +174,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
174
174
  // Set to true when a customer starts any auth verification process and set to false when it ends
175
175
  const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress();
176
176
  const walletBook = useWalletBookCdn();
177
- const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useFetchNetworkConfigurations({
177
+ const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations({
178
178
  authToken: getAuthToken(),
179
179
  environmentId,
180
180
  evmNetworks,
181
+ projectSettings,
181
182
  });
182
183
  const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
183
184
  appLogoUrl = appLogo || appLogoUrl;
@@ -11,7 +11,7 @@ const useDynamicContext = () => {
11
11
  if (context === undefined) {
12
12
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
13
13
  }
14
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
14
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, } = context;
15
15
  return {
16
16
  accountSwitchState,
17
17
  authMode,
@@ -46,6 +46,7 @@ const useDynamicContext = () => {
46
46
  setShowQrcodeModal,
47
47
  shadowDOMEnabled,
48
48
  showAuthFlow,
49
+ showDynamicUserProfile,
49
50
  showQrcodeModal,
50
51
  user,
51
52
  walletConnector,
@@ -1,3 +1,3 @@
1
1
  import { IDynamicContext } from './types';
2
- export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings'>;
2
+ export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'showDynamicUserProfile'>;
3
3
  export declare const useDynamicContext: () => UseDynamicContext;
@@ -7,7 +7,7 @@ const useDynamicContext = () => {
7
7
  if (context === undefined) {
8
8
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
9
9
  }
10
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
10
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, } = context;
11
11
  return {
12
12
  accountSwitchState,
13
13
  authMode,
@@ -42,6 +42,7 @@ const useDynamicContext = () => {
42
42
  setShowQrcodeModal,
43
43
  shadowDOMEnabled,
44
44
  showAuthFlow,
45
+ showDynamicUserProfile,
45
46
  showQrcodeModal,
46
47
  user,
47
48
  walletConnector,
@@ -295,18 +295,6 @@ const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalle
295
295
  return undefined;
296
296
  }
297
297
  });
298
- const fetchNetworkSettings = (environmentId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
299
- try {
300
- const res = yield sdkApi().getNetworksConfigurationByEnvId({
301
- environmentId,
302
- });
303
- return res;
304
- }
305
- catch (e) {
306
- logger.logger.error(e);
307
- return undefined;
308
- }
309
- });
310
298
  const fetchProjectSettings = (environmentId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
311
299
  try {
312
300
  const res = yield sdkApi().getEnvironmentSettings({
@@ -534,7 +522,6 @@ exports.completePasskeyRecovery = completePasskeyRecovery;
534
522
  exports.createEmailVerification = createEmailVerification;
535
523
  exports.createTurnkeyEvmEmbeddedWallet = createTurnkeyEvmEmbeddedWallet;
536
524
  exports.createVisit = createVisit;
537
- exports.fetchNetworkSettings = fetchNetworkSettings;
538
525
  exports.fetchNonce = fetchNonce;
539
526
  exports.fetchProjectSettings = fetchProjectSettings;
540
527
  exports.getEmailProvider = getEmailProvider;
@@ -1,4 +1,4 @@
1
- import { ProjectSettings, UserFields, NetworkConfigurationResponse, ChainEnum, UpdateSelfResponse, WalletProviderEnum, AuthModeEnum, EmailVerificationCreateResponse, VerifyResponse, OauthRequest, OauthResultRequest, ProviderEnum, OnrampConfiguration, EmailProviderResponse, OauthResultResponse, PasskeyRegistrationCredential } from '@dynamic-labs/sdk-api';
1
+ import { ProjectSettings, UserFields, ChainEnum, UpdateSelfResponse, WalletProviderEnum, AuthModeEnum, EmailVerificationCreateResponse, VerifyResponse, OauthRequest, OauthResultRequest, ProviderEnum, OnrampConfiguration, EmailProviderResponse, OauthResultResponse, PasskeyRegistrationCredential } from '@dynamic-labs/sdk-api';
2
2
  import { AuthModeType, VerifyWallet } from '../shared/types';
3
3
  export declare const fetchNonce: (environmentId: string) => Promise<string | undefined>;
4
4
  export declare const getEmailProvider: ({ email, environmentId, }: {
@@ -49,7 +49,6 @@ export declare const createVisit: ({ authMode, chain, environmentId, walletProvi
49
49
  walletProvider: string;
50
50
  }) => Promise<void | undefined>;
51
51
  export declare const verifyWallet: (environmentId: string, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, }: VerifyWallet) => Promise<string | undefined>;
52
- export declare const fetchNetworkSettings: (environmentId: string) => Promise<NetworkConfigurationResponse[] | undefined>;
53
52
  export declare const fetchProjectSettings: (environmentId: string) => Promise<ProjectSettings | undefined>;
54
53
  export declare const updateUserProfileFields: (jwt: string | undefined, environmentId: string, fields: UserFields) => Promise<UpdateSelfResponse>;
55
54
  export declare const getOauthLoginUrl: (environmentId: string, providerType: ProviderEnum, userJwt: string) => Promise<string | undefined>;
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from '../../../_virtual/_tslib.js';
2
- import { NoAccessError, AccountExistsError, EmailVerificationError, UserHasAccountWithEmailError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, EmailProviderError, WalletUsedError, WalletNotDeployedError, ChainalysisError, GateBlockedError, SocialAccountAlreadyExistsError } from '@dynamic-labs/utils';
2
+ import { EmailVerificationError, NoAccessError, AccountExistsError, UserHasAccountWithEmailError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, EmailProviderError, WalletUsedError, WalletNotDeployedError, ChainalysisError, GateBlockedError, SocialAccountAlreadyExistsError } from '@dynamic-labs/utils';
3
3
  import { UnprocessableEntityErrorCode, SDKApi, Configuration, VerifyRequestFromJSON, ChainEnum, WalletProviderEnum, AuthModeEnum, EmbeddedWalletProviderEnum } from '@dynamic-labs/sdk-api';
4
4
  import { VERSION, API_VERSION } from '../../version.js';
5
5
  import ApiEndpoint from '../config/ApiEndpoint.js';
@@ -291,18 +291,6 @@ const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalle
291
291
  return undefined;
292
292
  }
293
293
  });
294
- const fetchNetworkSettings = (environmentId) => __awaiter(void 0, void 0, void 0, function* () {
295
- try {
296
- const res = yield sdkApi().getNetworksConfigurationByEnvId({
297
- environmentId,
298
- });
299
- return res;
300
- }
301
- catch (e) {
302
- logger.error(e);
303
- return undefined;
304
- }
305
- });
306
294
  const fetchProjectSettings = (environmentId) => __awaiter(void 0, void 0, void 0, function* () {
307
295
  try {
308
296
  const res = yield sdkApi().getEnvironmentSettings({
@@ -526,4 +514,4 @@ const getUserPasskeys = ({ userJwt, environmentId, }) => __awaiter(void 0, void
526
514
  }
527
515
  });
528
516
 
529
- export { completePasskeyRecovery, createEmailVerification, createTurnkeyEvmEmbeddedWallet, createVisit, fetchNetworkSettings, fetchNonce, fetchProjectSettings, getEmailProvider, getOAuthResult, getOnrampProviders, getUserPasskeys, initPasskeyRecovery, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, mergeUserAccounts, retryEmailVerification, revokeSession, sendDynamicProps, signInOAuth, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };
517
+ export { completePasskeyRecovery, createEmailVerification, createTurnkeyEvmEmbeddedWallet, createVisit, fetchNonce, fetchProjectSettings, getEmailProvider, getOAuthResult, getOnrampProviders, getUserPasskeys, initPasskeyRecovery, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, mergeUserAccounts, retryEmailVerification, revokeSession, sendDynamicProps, signInOAuth, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };
@@ -26,6 +26,7 @@ const defaultWalletsForChains = {
26
26
  primary_chain: 'evm',
27
27
  wallets: {
28
28
  algorand: 'myalgo',
29
+ bitcoin: 'xverse',
29
30
  cosmos: 'keplr',
30
31
  evm: 'metamask',
31
32
  flow: 'blocto',
@@ -22,6 +22,7 @@ const defaultWalletsForChains = {
22
22
  primary_chain: 'evm',
23
23
  wallets: {
24
24
  algorand: 'myalgo',
25
+ bitcoin: 'xverse',
25
26
  cosmos: 'keplr',
26
27
  evm: 'metamask',
27
28
  flow: 'blocto',
@@ -44,7 +44,7 @@ export type Icon = React.FunctionComponent<React.SVGProps<SVGSVGElement> & {
44
44
  title?: string | undefined;
45
45
  }>;
46
46
  export type WalletNamesUnion = 'Coinbase Wallet' | 'Coinbase Wallet (Solana)' | 'MetaMask' | 'Phantom' | 'Phantom (EVM)' | 'Phantom (Ledger)' | 'Venly' | 'Rainbow' | 'Solflare' | 'Glow' | 'Slope' | 'Blocto (Flow)' | 'Blocto (EVM)' | 'Blocto (App)' | 'Brave Wallet (EVM)' | 'Brave Wallet (Solana)' | 'Braavos' | 'Argent X' | 'Dapper' | 'Opera Wallet' | 'Injected Wallet' | 'Exodus Wallet (EVM)' | 'Exodus Wallet (Solana)' | 'ZenGo' | 'Lilico';
47
- export type ChainNamesUnion = 'Solana' | 'Ethereum' | 'Flow' | 'EVM' | 'Algorand' | 'Starknet' | 'Cosmos' | 'Axelar' | 'Osmosis';
47
+ export type ChainNamesUnion = 'Solana' | 'Ethereum' | 'Flow' | 'EVM' | 'Algorand' | 'Starknet' | 'Cosmos' | 'Axelar' | 'Osmosis' | 'Bitcoin';
48
48
  export interface WalletOption {
49
49
  isInstalledOnBrowser: boolean;
50
50
  key: string;
@@ -157,6 +157,7 @@ export type ChainToWalletMap = {
157
157
  primary_chain: string;
158
158
  wallets: {
159
159
  algorand?: string;
160
+ bitcoin?: string;
160
161
  cosmos?: string;
161
162
  evm?: string;
162
163
  flow?: string;
@@ -13,7 +13,7 @@ type Props = {
13
13
  walletProvider: WalletProvider;
14
14
  };
15
15
  export declare const getVerifyArgs: ({ walletConnector, nonce, walletProvider, environmentId, displaySiweStatement, skipEmptyAccountCheck, siweStatement, publicWalletAddress, }: Props) => Promise<{
16
- chain: "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "STARK" | "ATOM" | "COSMOS" | undefined;
16
+ chain: "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "STARK" | "ATOM" | "COSMOS" | "BTC";
17
17
  messageToSign: string;
18
18
  network: string;
19
19
  publicWalletAddress: string;
@@ -46,3 +46,4 @@ export * from './stringifyURIQuery';
46
46
  export * from './removeElementById';
47
47
  export * from './isAccountAbstractionWallet';
48
48
  export * from './createOwnerWallet';
49
+ export * from './isEmailValid';
@@ -0,0 +1 @@
1
+ export { isEmailValid } from './isEmailValid';
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
6
+ const isEmailValid = (email) => EMAIL_REGEX.test(email);
7
+
8
+ exports.isEmailValid = isEmailValid;
@@ -0,0 +1 @@
1
+ export declare const isEmailValid: (email: string) => boolean;
@@ -0,0 +1,4 @@
1
+ const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
2
+ const isEmailValid = (email) => EMAIL_REGEX.test(email);
3
+
4
+ export { isEmailValid };
@@ -2,6 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const isProviderEnabled = (providers, provider) => providers.some((providerItem) => providerItem.provider === provider && Boolean(providerItem.enabledAt));
5
+ var sdkApi = require('@dynamic-labs/sdk-api');
6
+
7
+ const isProviderEnabled = (providers, provider) => providers.some((providerItem) => {
8
+ const providerEnabled = providerItem.provider === provider && Boolean(providerItem.enabledAt);
9
+ if (providerItem.provider === sdkApi.ProviderEnum.MagicLink) {
10
+ return providerEnabled && Boolean(providerItem.providerProjectId);
11
+ }
12
+ return providerEnabled;
13
+ });
6
14
 
7
15
  exports.isProviderEnabled = isProviderEnabled;
@@ -1,3 +1,11 @@
1
- const isProviderEnabled = (providers, provider) => providers.some((providerItem) => providerItem.provider === provider && Boolean(providerItem.enabledAt));
1
+ import { ProviderEnum } from '@dynamic-labs/sdk-api';
2
+
3
+ const isProviderEnabled = (providers, provider) => providers.some((providerItem) => {
4
+ const providerEnabled = providerItem.provider === provider && Boolean(providerItem.enabledAt);
5
+ if (providerItem.provider === ProviderEnum.MagicLink) {
6
+ return providerEnabled && Boolean(providerItem.providerProjectId);
7
+ }
8
+ return providerEnabled;
9
+ });
2
10
 
3
11
  export { isProviderEnabled };
@@ -94,12 +94,14 @@ const useAuthLayoutChecks = (walletConnector) => {
94
94
  view === 'passkey-intro' ||
95
95
  (view === 'merge-user-accounts' && !user);
96
96
  const showQrCodePreHeader = view === 'qr-code' && showQrCodeMessage && !showQrCodeImage;
97
+ const showDefaultFooter = !showDynamicFooter && !showToSFooter;
97
98
  return {
98
99
  displayBorderBelowHeader,
99
100
  isWalletListTypeView,
100
101
  showBackButton,
101
102
  showCloseButton,
102
103
  showConnectedWalletProgress,
104
+ showDefaultFooter,
103
105
  showDynamicFooter,
104
106
  showHeader,
105
107
  showHelpContent,
@@ -5,6 +5,7 @@ export declare const useAuthLayoutChecks: (walletConnector?: WalletConnector | n
5
5
  showBackButton: boolean;
6
6
  showCloseButton: boolean;
7
7
  showConnectedWalletProgress: boolean;
8
+ showDefaultFooter: boolean;
8
9
  showDynamicFooter: boolean;
9
10
  showHeader: boolean;
10
11
  showHelpContent: boolean;
@@ -90,12 +90,14 @@ const useAuthLayoutChecks = (walletConnector) => {
90
90
  view === 'passkey-intro' ||
91
91
  (view === 'merge-user-accounts' && !user);
92
92
  const showQrCodePreHeader = view === 'qr-code' && showQrCodeMessage && !showQrCodeImage;
93
+ const showDefaultFooter = !showDynamicFooter && !showToSFooter;
93
94
  return {
94
95
  displayBorderBelowHeader,
95
96
  isWalletListTypeView,
96
97
  showBackButton,
97
98
  showCloseButton,
98
99
  showConnectedWalletProgress,
100
+ showDefaultFooter,
99
101
  showDynamicFooter,
100
102
  showHeader,
101
103
  showHelpContent,
@@ -0,0 +1 @@
1
+ export { useConnectWithEmailOtp } from './useConnectWithEmailOtp';
@@ -0,0 +1,150 @@
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 walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
+ var sdkApi = require('@dynamic-labs/sdk-api');
9
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
10
+ var useWalletItemActions = require('../useWalletItemActions/useWalletItemActions.cjs');
11
+ var dynamicEvents = require('../../../events/dynamicEvents.cjs');
12
+ require('../../../shared/logger.cjs');
13
+ require('@dynamic-labs/iconic');
14
+ require('react/jsx-runtime');
15
+ require('../../../context/ViewContext/ViewContext.cjs');
16
+ require('@dynamic-labs/wallet-book');
17
+ require('../../constants/colors.cjs');
18
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
19
+ require('viem');
20
+ require('@dynamic-labs/utils');
21
+ require('../../../shared/consts/index.cjs');
22
+ require('@dynamic-labs/multi-wallet');
23
+ var isProviderEnabled = require('../../functions/isProviderEnabled/isProviderEnabled.cjs');
24
+ var isEmailValid = require('../../functions/isEmailValid/isEmailValid.cjs');
25
+ var api = require('../../../data/api.cjs');
26
+ var useCreateUserProfileByJWTCallback = require('../useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.cjs');
27
+
28
+ const mapEmailProviderToProviderEnum = {
29
+ dynamic: sdkApi.ProviderEnum.Dynamic,
30
+ emailOnly: sdkApi.ProviderEnum.EmailOnly,
31
+ magicLink: sdkApi.ProviderEnum.MagicLink,
32
+ };
33
+ const allSupportedProviders = Object.values(mapEmailProviderToProviderEnum);
34
+ /**
35
+ * Hook to connect and verify an email using a one-time password (OTP) with specified email providers.
36
+ *
37
+ * @param props - The properties for the hook. Includes an optional 'provider' to specify the email provider.
38
+ * @returns An object containing two functions:
39
+ * - connectWithEmail: A function to initiate the OTP process with the provided email.
40
+ * - verifyOneTimePassword: A function to verify the provided OTP.
41
+ *
42
+ * @example
43
+ * const { connectWithEmail, verifyOneTimePassword } = useConnectWithEmailOtp({ provider: ProviderEnum.MagicLink });
44
+ *
45
+ * // To initiate the OTP process
46
+ * connectWithEmail('user@example.com').then(() => {
47
+ * // OTP sent to the email
48
+ * });
49
+ *
50
+ * // To verify the OTP
51
+ * verifyOneTimePassword('123456').then(() => {
52
+ * // OTP verification successful
53
+ * }).catch((error) => {
54
+ * // Error handling
55
+ * });
56
+ */
57
+ const useConnectWithEmailOtp = ({ provider, } = {}) => {
58
+ const { walletConnectorOptions, environmentId, projectSettings, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
59
+ const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
60
+ const { handleInstalledExtensionClick } = useWalletItemActions.useWalletItemActions();
61
+ const lastVerificationHandlerRef = React.useRef(null);
62
+ const providers = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || [];
63
+ const emailOtpWalletConnector = walletConnectorOptions
64
+ .map(({ walletConnector }) => walletConnector)
65
+ .find(walletConnectorCore.isEmailOTPWalletConnector);
66
+ const mapProviderToEnabled = {
67
+ dynamic: isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.Dynamic),
68
+ emailOnly: isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.EmailOnly),
69
+ magicLink: isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.MagicLink),
70
+ };
71
+ const emailHandler = (email) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
72
+ const { verificationUUID } = yield api.createEmailVerification({
73
+ email,
74
+ environmentId,
75
+ });
76
+ return (oneTimePassword) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
77
+ const { jwt } = yield api.signInWithEmailVerification({
78
+ environmentId,
79
+ verificationToken: oneTimePassword,
80
+ verificationUUID,
81
+ });
82
+ yield createUserProfileByJWT(jwt);
83
+ return {
84
+ email,
85
+ verified: Boolean(jwt),
86
+ };
87
+ });
88
+ });
89
+ const magicHandler = (email) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
90
+ if (!emailOtpWalletConnector) {
91
+ throw new Error('OTP wallet connector was not found');
92
+ }
93
+ emailOtpWalletConnector.setEmail(email);
94
+ handleInstalledExtensionClick(emailOtpWalletConnector);
95
+ return (oneTimePassword) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
96
+ return ({
97
+ email,
98
+ verified: yield emailOtpWalletConnector.verifyOneTimePassword(oneTimePassword),
99
+ });
100
+ });
101
+ });
102
+ const mapProviderToHandler = {
103
+ [sdkApi.ProviderEnum.Dynamic]: emailHandler,
104
+ [sdkApi.ProviderEnum.EmailOnly]: emailHandler,
105
+ [sdkApi.ProviderEnum.MagicLink]: magicHandler,
106
+ };
107
+ const getEffectiveEmailProvider = (email) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
108
+ if (provider) {
109
+ return provider;
110
+ }
111
+ const { emailProvider } = yield api.getEmailProvider({
112
+ email,
113
+ environmentId,
114
+ });
115
+ if (!allSupportedProviders.includes(emailProvider)) {
116
+ throw new Error('Email provider is not supported');
117
+ }
118
+ return emailProvider;
119
+ });
120
+ const connectWithEmail = (email) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
121
+ if (!isEmailValid.isEmailValid(email)) {
122
+ throw new Error('Email is not valid');
123
+ }
124
+ const effectiveEmailProvider = yield getEffectiveEmailProvider(email);
125
+ if (!mapProviderToEnabled[effectiveEmailProvider]) {
126
+ throw new Error('Email provider is not enabled');
127
+ }
128
+ const verificationHandler = yield mapProviderToHandler[effectiveEmailProvider](email);
129
+ lastVerificationHandlerRef.current = verificationHandler;
130
+ });
131
+ const verifyOneTimePassword = (oneTimePassword) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
132
+ if (!lastVerificationHandlerRef.current) {
133
+ throw new Error('Verification have not started, use connectWithEmail before verifying');
134
+ }
135
+ const { email, verified } = yield lastVerificationHandlerRef.current(oneTimePassword);
136
+ dynamicEvents.dynamicEvents.emit('emailVerificationResult', verified, email);
137
+ if (verified) {
138
+ setCallback('authSuccess');
139
+ }
140
+ else {
141
+ throw new Error('Email verification failed');
142
+ }
143
+ });
144
+ return {
145
+ connectWithEmail,
146
+ verifyOneTimePassword,
147
+ };
148
+ };
149
+
150
+ exports.useConnectWithEmailOtp = useConnectWithEmailOtp;
@@ -0,0 +1,32 @@
1
+ type EmailProviders = 'magicLink' | 'dynamic' | 'emailOnly';
2
+ type UseConnectWithEmailOtpProps = {
3
+ provider?: EmailProviders;
4
+ };
5
+ /**
6
+ * Hook to connect and verify an email using a one-time password (OTP) with specified email providers.
7
+ *
8
+ * @param props - The properties for the hook. Includes an optional 'provider' to specify the email provider.
9
+ * @returns An object containing two functions:
10
+ * - connectWithEmail: A function to initiate the OTP process with the provided email.
11
+ * - verifyOneTimePassword: A function to verify the provided OTP.
12
+ *
13
+ * @example
14
+ * const { connectWithEmail, verifyOneTimePassword } = useConnectWithEmailOtp({ provider: ProviderEnum.MagicLink });
15
+ *
16
+ * // To initiate the OTP process
17
+ * connectWithEmail('user@example.com').then(() => {
18
+ * // OTP sent to the email
19
+ * });
20
+ *
21
+ * // To verify the OTP
22
+ * verifyOneTimePassword('123456').then(() => {
23
+ * // OTP verification successful
24
+ * }).catch((error) => {
25
+ * // Error handling
26
+ * });
27
+ */
28
+ export declare const useConnectWithEmailOtp: ({ provider, }?: UseConnectWithEmailOtpProps) => {
29
+ connectWithEmail: (email: string) => Promise<void>;
30
+ verifyOneTimePassword: (oneTimePassword: string) => Promise<void>;
31
+ };
32
+ export {};