@dynamic-labs/sdk-react-core 4.20.6 → 4.20.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 (64) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -2
  6. package/src/lib/context/DynamicContext/DynamicContext.js +2 -3
  7. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  8. package/src/lib/data/api/exchangeAccounts/exchangeAccounts.cjs +75 -0
  9. package/src/lib/data/api/exchangeAccounts/exchangeAccounts.js +70 -0
  10. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.cjs +4 -0
  11. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.js +4 -0
  12. package/src/lib/locale/en/translation.cjs +24 -1
  13. package/src/lib/locale/en/translation.d.ts +23 -0
  14. package/src/lib/locale/en/translation.js +24 -1
  15. package/src/lib/shared/assets/index.d.ts +2 -0
  16. package/src/lib/shared/assets/locked.cjs +52 -0
  17. package/src/lib/shared/assets/locked.js +28 -0
  18. package/src/lib/shared/assets/white-check-black-circle.cjs +61 -0
  19. package/src/lib/shared/assets/white-check-black-circle.js +37 -0
  20. package/src/lib/store/state/dynamicContextProps/dynamicContextProps.cjs +2 -3
  21. package/src/lib/store/state/dynamicContextProps/dynamicContextProps.js +2 -3
  22. package/src/lib/styles/index.shadow.cjs +1 -1
  23. package/src/lib/styles/index.shadow.js +1 -1
  24. package/src/lib/utils/constants/authViewLayoutChecks.cjs +1 -0
  25. package/src/lib/utils/constants/authViewLayoutChecks.js +1 -0
  26. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.cjs +3 -0
  27. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.d.ts +1 -1
  28. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.js +3 -0
  29. package/src/lib/utils/hooks/index.d.ts +2 -0
  30. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +8 -5
  31. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +8 -5
  32. package/src/lib/utils/hooks/useExchangeAccounts/useExchangeAccounts.cjs +57 -0
  33. package/src/lib/utils/hooks/useExchangeAccounts/useExchangeAccounts.js +53 -0
  34. package/src/lib/utils/hooks/usePromptAndFundWithExchange/index.d.ts +1 -0
  35. package/src/lib/utils/hooks/usePromptAndFundWithExchange/usePromptAndFundWithExchange.d.ts +4 -0
  36. package/src/lib/utils/hooks/useSubmitExchangeFunding/index.d.ts +1 -0
  37. package/src/lib/utils/hooks/useSubmitExchangeFunding/useSubmitExchangeFunding.cjs +199 -0
  38. package/src/lib/utils/hooks/useSubmitExchangeFunding/useSubmitExchangeFunding.d.ts +11 -0
  39. package/src/lib/utils/hooks/useSubmitExchangeFunding/useSubmitExchangeFunding.js +195 -0
  40. package/src/lib/views/BackupUnsuccessfulView/BackupUnsuccessfulView.cjs +14 -4
  41. package/src/lib/views/BackupUnsuccessfulView/BackupUnsuccessfulView.js +14 -4
  42. package/src/lib/views/MfaExchangeView/MfaExchangeView.cjs +127 -0
  43. package/src/lib/views/MfaExchangeView/MfaExchangeView.d.ts +7 -0
  44. package/src/lib/views/MfaExchangeView/MfaExchangeView.js +123 -0
  45. package/src/lib/views/MfaExchangeView/index.d.ts +1 -0
  46. package/src/lib/views/viewToComponentMap.cjs +2 -0
  47. package/src/lib/views/viewToComponentMap.d.ts +4 -0
  48. package/src/lib/views/viewToComponentMap.js +2 -0
  49. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +3 -0
  50. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.d.ts +9 -13
  51. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +3 -0
  52. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +1 -1
  53. package/src/lib/widgets/DynamicWidget/views/ConfirmExchangeTransferView/ConfirmExchangeTransferView.cjs +3 -3
  54. package/src/lib/widgets/DynamicWidget/views/ConfirmExchangeTransferView/ConfirmExchangeTransferView.d.ts +1 -2
  55. package/src/lib/widgets/DynamicWidget/views/ConfirmExchangeTransferView/ConfirmExchangeTransferView.js +3 -3
  56. package/src/lib/widgets/DynamicWidget/views/DepositedExchangeView/DepositedExchangeView.cjs +121 -0
  57. package/src/lib/widgets/DynamicWidget/views/DepositedExchangeView/DepositedExchangeView.d.ts +11 -0
  58. package/src/lib/widgets/DynamicWidget/views/DepositedExchangeView/DepositedExchangeView.js +117 -0
  59. package/src/lib/widgets/DynamicWidget/views/DepositedExchangeView/index.d.ts +1 -0
  60. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs +85 -15
  61. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js +85 -15
  62. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/types.d.ts +14 -1
  63. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useExchangeTokensForFunding/useExchangeTokensForFunding.cjs +131 -0
  64. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useExchangeTokensForFunding/useExchangeTokensForFunding.js +127 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ### [4.20.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.7...v4.20.8) (2025-06-23)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * add log level to react-native ([#8993](https://github.com/dynamic-labs/dynamic-auth/issues/8993)) ([261e5d7](https://github.com/dynamic-labs/dynamic-auth/commit/261e5d74e66c3cf7b0dff75cd2a838a521888dd3))
8
+ * sui connector types ([#8995](https://github.com/dynamic-labs/dynamic-auth/issues/8995)) ([d41ad4a](https://github.com/dynamic-labs/dynamic-auth/commit/d41ad4ad98f7dd6139fbace142ac8852484cf098))
9
+
10
+ ### [4.20.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.6...v4.20.7) (2025-06-20)
11
+
12
+ ### Bug Fixes
13
+
14
+ * re export sui-core exports from sui package ([#8989](https://github.com/dynamic-labs/dynamic-auth/issues/8989)) ([d0369df](https://github.com/dynamic-labs/dynamic-auth/commit/d0369dfda3cc5bb026222cf1524694a4ba817797))
15
+
2
16
  ### [4.20.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.5...v4.20.6) (2025-06-18)
3
17
 
4
18
 
package/package.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.20.6";
6
+ var version = "4.20.8";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.688",
9
9
  "@dynamic-labs-sdk/client": "0.0.1-alpha.5",
package/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- var version = "4.20.6";
2
+ var version = "4.20.8";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.688",
5
5
  "@dynamic-labs-sdk/client": "0.0.1-alpha.5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.20.6",
3
+ "version": "4.20.8",
4
4
  "dependencies": {
5
5
  "@dynamic-labs/sdk-api-core": "0.0.688",
6
6
  "@dynamic-labs-sdk/client": "0.0.1-alpha.5",
@@ -15,16 +15,16 @@
15
15
  "yup": "0.32.11",
16
16
  "react-international-phone": "4.2.5",
17
17
  "bs58": "5.0.0",
18
- "@dynamic-labs/assert-package-version": "4.20.6",
19
- "@dynamic-labs/iconic": "4.20.6",
20
- "@dynamic-labs/logger": "4.20.6",
21
- "@dynamic-labs/multi-wallet": "4.20.6",
22
- "@dynamic-labs/rpc-providers": "4.20.6",
23
- "@dynamic-labs/store": "4.20.6",
24
- "@dynamic-labs/types": "4.20.6",
25
- "@dynamic-labs/utils": "4.20.6",
26
- "@dynamic-labs/wallet-book": "4.20.6",
27
- "@dynamic-labs/wallet-connector-core": "4.20.6",
18
+ "@dynamic-labs/assert-package-version": "4.20.8",
19
+ "@dynamic-labs/iconic": "4.20.8",
20
+ "@dynamic-labs/logger": "4.20.8",
21
+ "@dynamic-labs/multi-wallet": "4.20.8",
22
+ "@dynamic-labs/rpc-providers": "4.20.8",
23
+ "@dynamic-labs/store": "4.20.8",
24
+ "@dynamic-labs/types": "4.20.8",
25
+ "@dynamic-labs/utils": "4.20.8",
26
+ "@dynamic-labs/wallet-book": "4.20.8",
27
+ "@dynamic-labs/wallet-connector-core": "4.20.8",
28
28
  "eventemitter3": "5.0.1"
29
29
  },
30
30
  "devDependencies": {
@@ -196,8 +196,7 @@ const InnerDynamicContextProvider = (props) => {
196
196
  if (!environmentId) {
197
197
  throw new utils.MissingEnvironmentIdError();
198
198
  }
199
- logger$1.logger.setLogLevel(logLevel);
200
- walletConnectorCore.logger.setLogLevel(logLevel);
199
+ logger.Logger.setLogLevel(logLevel);
201
200
  if (environmentId === PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID) {
202
201
  logger$1.logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
203
202
  }
@@ -7,7 +7,7 @@ import { getIconicSpriteUrl } from '@dynamic-labs/iconic';
7
7
  import { Logger } from '@dynamic-labs/logger';
8
8
  import { MissingEnvironmentIdError, getEnvVarWithFallback, StorageService, tracing } from '@dynamic-labs/utils';
9
9
  import { useWalletBookCdn, getWalletBookCdnUrl, WalletBookContextProvider } from '@dynamic-labs/wallet-book';
10
- import { setChainInfoOverrides, logger as logger$1, isSessionKeyCompatibleWalletConnector } from '@dynamic-labs/wallet-connector-core';
10
+ import { setChainInfoOverrides, isSessionKeyCompatibleWalletConnector } from '@dynamic-labs/wallet-connector-core';
11
11
  import { VERSION } from '../../../version.js';
12
12
  import { DynamicAuthFlow } from '../../app.js';
13
13
  import { useInitializeSdkClient } from '../../client/extension/useInitializeSdkClient/useInitializeSdkClient.js';
@@ -192,8 +192,7 @@ const InnerDynamicContextProvider = (props) => {
192
192
  if (!environmentId) {
193
193
  throw new MissingEnvironmentIdError();
194
194
  }
195
- logger.setLogLevel(logLevel);
196
- logger$1.setLogLevel(logLevel);
195
+ Logger.setLogLevel(logLevel);
197
196
  if (environmentId === PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID) {
198
197
  logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
199
198
  }
@@ -1,6 +1,6 @@
1
1
  import { ComponentProps, FC } from 'react';
2
2
  import { viewToComponentMap } from '../../../views/viewToComponentMap';
3
- export type ViewType = 'access-blocked' | 'backup-unsuccessful' | 'select-hardware-wallet' | 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-no-wallet' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-wallet-only' | 'login-with-email-verification' | 'login-with-sms-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'verify-email' | 'verify-sms' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'external-funding-exchange-list' | 'external-funding-wallet-list' | 'sandbox-maximum-threshold-reached' | 'multi-wallet-wallet-list' | 'duplicate-wallet' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'select-wallet-in-wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts' | 'merge-user-accounts-conflicts' | 'merge-user-accounts-with-same-email' | 'mfa-choose-device' | 'mfa-recovery' | 'mfa-secure-device' | 'mfa-secure-device-help' | 'mfa-verification' | 'mfa-display-backup-codes' | 'wallet-cannot-be-transferred' | 'passkey-intro' | 'passkey-recovery-add-email' | 'global-wallet-confirm' | 'global-wallet-malicious' | 'global-wallet-info' | 'passkey-recovery-start' | 'passkey-recovery-bundle' | 'passkey-recovery-complete' | 'passkey-new-domain-detected' | 'embedded-delete-view' | 'embedded-reveal-view' | 'embedded-reveal-account-view' | 'embedded-wallet-auth-choice' | 'rename-passkey' | 'wallet-redirect-view' | 'mobile-wallet-redirect-view' | 'farcaster-connect-view' | 'embedded-wallet-exists' | 'user-delete-account';
3
+ export type ViewType = 'access-blocked' | 'backup-unsuccessful' | 'select-hardware-wallet' | 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-no-wallet' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-wallet-only' | 'login-with-email-verification' | 'login-with-sms-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'verify-email' | 'verify-sms' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'external-funding-exchange-list' | 'external-funding-wallet-list' | 'mfa-exchange-view' | 'sandbox-maximum-threshold-reached' | 'multi-wallet-wallet-list' | 'duplicate-wallet' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'select-wallet-in-wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts' | 'merge-user-accounts-conflicts' | 'merge-user-accounts-with-same-email' | 'mfa-choose-device' | 'mfa-recovery' | 'mfa-secure-device' | 'mfa-secure-device-help' | 'mfa-verification' | 'mfa-display-backup-codes' | 'wallet-cannot-be-transferred' | 'passkey-intro' | 'passkey-recovery-add-email' | 'global-wallet-confirm' | 'global-wallet-malicious' | 'global-wallet-info' | 'passkey-recovery-start' | 'passkey-recovery-bundle' | 'passkey-recovery-complete' | 'passkey-new-domain-detected' | 'embedded-delete-view' | 'embedded-reveal-view' | 'embedded-reveal-account-view' | 'embedded-wallet-auth-choice' | 'rename-passkey' | 'wallet-redirect-view' | 'mobile-wallet-redirect-view' | 'farcaster-connect-view' | 'embedded-wallet-exists' | 'user-delete-account';
4
4
  export type ViewMapConstraint = Record<ViewType, FC<any>>;
5
5
  export type ViewMap = typeof viewToComponentMap;
6
6
  export type ViewState<T extends ViewType> = {
@@ -0,0 +1,75 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ var utils$1 = require('@dynamic-labs/utils');
8
+ var api = require('../api.cjs');
9
+ var utils = require('../utils.cjs');
10
+
11
+ /**
12
+ * Retrieve the list of exchange accounts linked to a user for a given exchange provider.
13
+ *
14
+ * @param environmentId – Dynamic environment ID
15
+ * @param exchangeKey – The key identifying the exchange provider (e.g., 'coinbase')
16
+ * @returns An array of `Account` objects representing the user's linked exchange accounts
17
+ */
18
+ const getUserExchangeAccounts = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ environmentId, exchangeKey, }) {
19
+ try {
20
+ const accounts = yield api.sdkApi().getUserAccounts({
21
+ environmentId,
22
+ exchangeKey,
23
+ });
24
+ return accounts;
25
+ }
26
+ catch (e) {
27
+ const data = yield utils.logResponseError(e, 'Error retrieving accounts');
28
+ throw new utils$1.DynamicError(data.error);
29
+ }
30
+ });
31
+ /**
32
+ * Transfer funds from a user-linked exchange account to an external address
33
+ * or another Coinbase account.
34
+ *
35
+ * @param environmentId – Dynamic environment ID
36
+ * @param exchangeKey – The key identifying the exchange provider (e.g., `'coinbase'`)
37
+ * @param accountId – The exchange-account ID to transfer funds **from**
38
+ * @param transfer – JSON body matching `CreateExchangeTransferRequest`
39
+ * @returns Details of the created transfer (`ExchangeTransferResponse`)
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * await createExchangeAccountTransfer({
44
+ * environmentId: 'env_123',
45
+ * exchangeKey: ExchangeKeyEnum.COINBASE,
46
+ * accountId: 'acc_456',
47
+ * transfer: {
48
+ * to: '0xRecipientAddress',
49
+ * amount: 0.25,
50
+ * currency: 'ETH',
51
+ * network: 'ethereum',
52
+ * description: 'Withdrawal to cold wallet',
53
+ * mfaCode: '123456',
54
+ * },
55
+ * });
56
+ * ```
57
+ */
58
+ const createExchangeAccountTransfer = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ environmentId, exchangeKey, accountId, transfer, }) {
59
+ try {
60
+ const response = yield api.sdkApi().postExchangeAccountTransfer({
61
+ accountId,
62
+ createExchangeTransferRequest: transfer,
63
+ environmentId,
64
+ exchangeKey,
65
+ });
66
+ return response;
67
+ }
68
+ catch (e) {
69
+ const data = yield utils.logResponseError(e, 'Error creating exchange-account transfer');
70
+ throw new utils$1.DynamicError(data.error, data.code);
71
+ }
72
+ });
73
+
74
+ exports.createExchangeAccountTransfer = createExchangeAccountTransfer;
75
+ exports.getUserExchangeAccounts = getUserExchangeAccounts;
@@ -0,0 +1,70 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { DynamicError } from '@dynamic-labs/utils';
4
+ import { sdkApi } from '../api.js';
5
+ import { logResponseError } from '../utils.js';
6
+
7
+ /**
8
+ * Retrieve the list of exchange accounts linked to a user for a given exchange provider.
9
+ *
10
+ * @param environmentId – Dynamic environment ID
11
+ * @param exchangeKey – The key identifying the exchange provider (e.g., 'coinbase')
12
+ * @returns An array of `Account` objects representing the user's linked exchange accounts
13
+ */
14
+ const getUserExchangeAccounts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ environmentId, exchangeKey, }) {
15
+ try {
16
+ const accounts = yield sdkApi().getUserAccounts({
17
+ environmentId,
18
+ exchangeKey,
19
+ });
20
+ return accounts;
21
+ }
22
+ catch (e) {
23
+ const data = yield logResponseError(e, 'Error retrieving accounts');
24
+ throw new DynamicError(data.error);
25
+ }
26
+ });
27
+ /**
28
+ * Transfer funds from a user-linked exchange account to an external address
29
+ * or another Coinbase account.
30
+ *
31
+ * @param environmentId – Dynamic environment ID
32
+ * @param exchangeKey – The key identifying the exchange provider (e.g., `'coinbase'`)
33
+ * @param accountId – The exchange-account ID to transfer funds **from**
34
+ * @param transfer – JSON body matching `CreateExchangeTransferRequest`
35
+ * @returns Details of the created transfer (`ExchangeTransferResponse`)
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * await createExchangeAccountTransfer({
40
+ * environmentId: 'env_123',
41
+ * exchangeKey: ExchangeKeyEnum.COINBASE,
42
+ * accountId: 'acc_456',
43
+ * transfer: {
44
+ * to: '0xRecipientAddress',
45
+ * amount: 0.25,
46
+ * currency: 'ETH',
47
+ * network: 'ethereum',
48
+ * description: 'Withdrawal to cold wallet',
49
+ * mfaCode: '123456',
50
+ * },
51
+ * });
52
+ * ```
53
+ */
54
+ const createExchangeAccountTransfer = (_b) => __awaiter(void 0, [_b], void 0, function* ({ environmentId, exchangeKey, accountId, transfer, }) {
55
+ try {
56
+ const response = yield sdkApi().postExchangeAccountTransfer({
57
+ accountId,
58
+ createExchangeTransferRequest: transfer,
59
+ environmentId,
60
+ exchangeKey,
61
+ });
62
+ return response;
63
+ }
64
+ catch (e) {
65
+ const data = yield logResponseError(e, 'Error creating exchange-account transfer');
66
+ throw new DynamicError(data.error, data.code);
67
+ }
68
+ });
69
+
70
+ export { createExchangeAccountTransfer, getUserExchangeAccounts };
@@ -110,6 +110,8 @@ const shouldNotRenderHeaderViews = [
110
110
  ...DynamicWidgetContext_types.DynamicSettingsViews,
111
111
  ...DynamicWidgetContext_types.DynamicGlobalWalletViews,
112
112
  'receive-wallet-funds',
113
+ 'deposited-exchange',
114
+ 'receive-exchange-funds',
113
115
  'choose-wallet-funding-method',
114
116
  'deposit-view',
115
117
  'choose-linked-wallet',
@@ -120,6 +122,8 @@ const shouldNotRenderHeaderViews = [
120
122
  */
121
123
  const shouldNotRenderBottomNavBarOptions = [
122
124
  'receive-wallet-funds',
125
+ 'deposited-exchange',
126
+ 'receive-exchange-funds',
123
127
  'choose-wallet-funding-method',
124
128
  'deposit-view',
125
129
  'confirm-exchange-transfer',
@@ -106,6 +106,8 @@ const shouldNotRenderHeaderViews = [
106
106
  ...DynamicSettingsViews,
107
107
  ...DynamicGlobalWalletViews,
108
108
  'receive-wallet-funds',
109
+ 'deposited-exchange',
110
+ 'receive-exchange-funds',
109
111
  'choose-wallet-funding-method',
110
112
  'deposit-view',
111
113
  'choose-linked-wallet',
@@ -116,6 +118,8 @@ const shouldNotRenderHeaderViews = [
116
118
  */
117
119
  const shouldNotRenderBottomNavBarOptions = [
118
120
  'receive-wallet-funds',
121
+ 'deposited-exchange',
122
+ 'receive-exchange-funds',
119
123
  'choose-wallet-funding-method',
120
124
  'deposit-view',
121
125
  'confirm-exchange-transfer',
@@ -518,11 +518,33 @@ const translation = {
518
518
  cost: 'Amount + Fees',
519
519
  cost_no_fee: 'Amount',
520
520
  terms: 'By confirming I agree to the Terms of Service and acknowledge this deposit is final.',
521
- send: 'Send {{fiatCurrencySymbol}}{{fiatCurrency}}',
521
+ send: 'Send {{fiatCurrency}} {{fiatCurrencySymbol}}',
522
522
  confirm: 'Confirm',
523
523
  cancel: 'Cancel',
524
524
  account: 'User {{exchange}}',
525
525
  },
526
+ dyn_deposited_exchange: {
527
+ title: 'Deposited',
528
+ description: ' was successfully deposited to {{address}}',
529
+ done: 'Done',
530
+ view: 'View Transaction',
531
+ },
532
+ dyn_exchange_mfa: {
533
+ title: 'Confirm Verification Code',
534
+ placeholder: 'Enter Verification Code Here',
535
+ description: 'Enter the code sent to you or generated by your authenticator app',
536
+ button: 'Confirm',
537
+ },
538
+ dyn_fund_from_exchange: {
539
+ title: 'Fund from Exchange',
540
+ },
541
+ dyn_exchange_transfer_errors: {
542
+ title: 'Unable to execute transfer.',
543
+ mfa_failed: 'Incorrect security code. Please double-check your MFA code and try again.',
544
+ invalid_currency_description: 'Please choose a supported currency and try again.',
545
+ invalid_balance: 'This transfer, including fees, exceeds your available balance. Transfer a smaller amount.',
546
+ unknown: 'An unknown error occurred.',
547
+ },
526
548
  /**
527
549
  * @description copy keys for embedded wallet authenticator choice view
528
550
  * @default
@@ -1196,6 +1218,7 @@ const translation = {
1196
1218
  title: "Let's try that again",
1197
1219
  description: "It looks like setup didn't finish all the way. Click below and we'll get you back on track.",
1198
1220
  try_again: 'Try Again',
1221
+ log_out: 'Log Out',
1199
1222
  },
1200
1223
  },
1201
1224
  /**
@@ -517,6 +517,28 @@ export declare const translation: {
517
517
  cancel: string;
518
518
  account: string;
519
519
  };
520
+ dyn_deposited_exchange: {
521
+ title: string;
522
+ description: string;
523
+ done: string;
524
+ view: string;
525
+ };
526
+ dyn_exchange_mfa: {
527
+ title: string;
528
+ placeholder: string;
529
+ description: string;
530
+ button: string;
531
+ };
532
+ dyn_fund_from_exchange: {
533
+ title: string;
534
+ };
535
+ dyn_exchange_transfer_errors: {
536
+ title: string;
537
+ mfa_failed: string;
538
+ invalid_currency_description: string;
539
+ invalid_balance: string;
540
+ unknown: string;
541
+ };
520
542
  /**
521
543
  * @description copy keys for embedded wallet authenticator choice view
522
544
  * @default
@@ -1192,6 +1214,7 @@ export declare const translation: {
1192
1214
  title: string;
1193
1215
  description: string;
1194
1216
  try_again: string;
1217
+ log_out: string;
1195
1218
  };
1196
1219
  };
1197
1220
  /**
@@ -514,11 +514,33 @@ const translation = {
514
514
  cost: 'Amount + Fees',
515
515
  cost_no_fee: 'Amount',
516
516
  terms: 'By confirming I agree to the Terms of Service and acknowledge this deposit is final.',
517
- send: 'Send {{fiatCurrencySymbol}}{{fiatCurrency}}',
517
+ send: 'Send {{fiatCurrency}} {{fiatCurrencySymbol}}',
518
518
  confirm: 'Confirm',
519
519
  cancel: 'Cancel',
520
520
  account: 'User {{exchange}}',
521
521
  },
522
+ dyn_deposited_exchange: {
523
+ title: 'Deposited',
524
+ description: ' was successfully deposited to {{address}}',
525
+ done: 'Done',
526
+ view: 'View Transaction',
527
+ },
528
+ dyn_exchange_mfa: {
529
+ title: 'Confirm Verification Code',
530
+ placeholder: 'Enter Verification Code Here',
531
+ description: 'Enter the code sent to you or generated by your authenticator app',
532
+ button: 'Confirm',
533
+ },
534
+ dyn_fund_from_exchange: {
535
+ title: 'Fund from Exchange',
536
+ },
537
+ dyn_exchange_transfer_errors: {
538
+ title: 'Unable to execute transfer.',
539
+ mfa_failed: 'Incorrect security code. Please double-check your MFA code and try again.',
540
+ invalid_currency_description: 'Please choose a supported currency and try again.',
541
+ invalid_balance: 'This transfer, including fees, exceeds your available balance. Transfer a smaller amount.',
542
+ unknown: 'An unknown error occurred.',
543
+ },
522
544
  /**
523
545
  * @description copy keys for embedded wallet authenticator choice view
524
546
  * @default
@@ -1192,6 +1214,7 @@ const translation = {
1192
1214
  title: "Let's try that again",
1193
1215
  description: "It looks like setup didn't finish all the way. Click below and we'll get you back on track.",
1194
1216
  try_again: 'Try Again',
1217
+ log_out: 'Log Out',
1195
1218
  },
1196
1219
  },
1197
1220
  /**
@@ -66,6 +66,7 @@ export { ReactComponent as LinkCircleIcon } from './link-circle.svg';
66
66
  export { ReactComponent as LinkIcon } from './link.svg';
67
67
  export { ReactComponent as LocationIcon } from './location.svg';
68
68
  export { ReactComponent as LockIcon } from './lock.svg';
69
+ export { ReactComponent as LockedIcon } from './locked.svg';
69
70
  export { ReactComponent as LogoutIcon } from './logout.svg';
70
71
  export { ReactComponent as MailIcon } from './mail.svg';
71
72
  export { ReactComponent as MfaRecoveryIcon } from './mfa-recovery-icon.svg';
@@ -121,3 +122,4 @@ export { ReactComponent as WarningOrangeIcon } from './warning-orange.svg';
121
122
  export { ReactComponent as WarningRedIcon } from './warning-red.svg';
122
123
  export { ReactComponent as WorkSuitcaseIcon } from './work-suitcase.svg';
123
124
  export { ReactComponent as BackupIcon } from './backup.svg';
125
+ export { ReactComponent as WhiteCheck } from './white-check-black-circle.svg';
@@ -0,0 +1,52 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var _path;
29
+ var _excluded = ["title", "titleId"];
30
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
31
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
32
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
33
+ var SvgLocked = function SvgLocked(_ref) {
34
+ var title = _ref.title,
35
+ titleId = _ref.titleId,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
38
+ width: 65,
39
+ height: 64,
40
+ viewBox: "0 0 65 64",
41
+ fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ "aria-labelledby": titleId
44
+ }, props), title ? /*#__PURE__*/React__namespace.createElement("title", {
45
+ id: titleId
46
+ }, title) : null, _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
47
+ d: "M32.5 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32Zm.455 13a8.074 8.074 0 0 0-8.073 8.073v4.037A13.435 13.435 0 0 0 19.5 35.875c0 7.431 6.025 13.456 13.456 13.456 7.431 0 13.455-6.025 13.455-13.456 0-4.403-2.114-8.312-5.383-10.767v-4.035a8.073 8.073 0 0 0-7.657-8.062L32.955 13ZM33 30a3.5 3.5 0 0 1 1.5 6.663V39.5a1.5 1.5 0 0 1-3 0v-2.837A3.5 3.5 0 0 1 33 30Zm-.045-14a5.073 5.073 0 0 1 5.073 5.073v2.335a13.418 13.418 0 0 0-5.072-.99c-1.795 0-3.508.353-5.074.991v-2.336A5.074 5.074 0 0 1 32.955 16Z",
48
+ fill: "#0A0B0C"
49
+ })));
50
+ };
51
+
52
+ exports.ReactComponent = SvgLocked;
@@ -0,0 +1,28 @@
1
+ 'use client'
2
+ import * as React from 'react';
3
+
4
+ var _path;
5
+ var _excluded = ["title", "titleId"];
6
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
9
+ var SvgLocked = function SvgLocked(_ref) {
10
+ var title = _ref.title,
11
+ titleId = _ref.titleId,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ return /*#__PURE__*/React.createElement("svg", _extends({
14
+ width: 65,
15
+ height: 64,
16
+ viewBox: "0 0 65 64",
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ "aria-labelledby": titleId
20
+ }, props), title ? /*#__PURE__*/React.createElement("title", {
21
+ id: titleId
22
+ }, title) : null, _path || (_path = /*#__PURE__*/React.createElement("path", {
23
+ d: "M32.5 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32Zm.455 13a8.074 8.074 0 0 0-8.073 8.073v4.037A13.435 13.435 0 0 0 19.5 35.875c0 7.431 6.025 13.456 13.456 13.456 7.431 0 13.455-6.025 13.455-13.456 0-4.403-2.114-8.312-5.383-10.767v-4.035a8.073 8.073 0 0 0-7.657-8.062L32.955 13ZM33 30a3.5 3.5 0 0 1 1.5 6.663V39.5a1.5 1.5 0 0 1-3 0v-2.837A3.5 3.5 0 0 1 33 30Zm-.045-14a5.073 5.073 0 0 1 5.073 5.073v2.335a13.418 13.418 0 0 0-5.072-.99c-1.795 0-3.508.353-5.074.991v-2.336A5.074 5.074 0 0 1 32.955 16Z",
24
+ fill: "#0A0B0C"
25
+ })));
26
+ };
27
+
28
+ export { SvgLocked as ReactComponent };
@@ -0,0 +1,61 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var _g, _defs;
29
+ var _excluded = ["title", "titleId"];
30
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
31
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
32
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
33
+ var SvgWhiteCheckBlackCircle = function SvgWhiteCheckBlackCircle(_ref) {
34
+ var title = _ref.title,
35
+ titleId = _ref.titleId,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
38
+ width: 80,
39
+ height: 80,
40
+ viewBox: "0 0 80 80",
41
+ fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ "aria-labelledby": titleId
44
+ }, props), title ? /*#__PURE__*/React__namespace.createElement("title", {
45
+ id: titleId
46
+ }, title) : null, _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
47
+ clipPath: "url(#white-check-black-circle_svg__a)"
48
+ }, /*#__PURE__*/React__namespace.createElement("path", {
49
+ d: "M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80 0 62.091 0 40 17.909 0 40 0Zm16.056 28.11a2.083 2.083 0 0 0-2.947 0L33.75 47.47l-6.86-6.86a2.083 2.083 0 1 0-2.947 2.947l8.333 8.333a2.083 2.083 0 0 0 2.947 0l20.833-20.833a2.083 2.083 0 0 0 0-2.947Z",
50
+ fill: "#0A0B0C"
51
+ }))), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
52
+ id: "white-check-black-circle_svg__a"
53
+ }, /*#__PURE__*/React__namespace.createElement("rect", {
54
+ width: 80,
55
+ height: 80,
56
+ rx: 40,
57
+ fill: "#fff"
58
+ })))));
59
+ };
60
+
61
+ exports.ReactComponent = SvgWhiteCheckBlackCircle;
@@ -0,0 +1,37 @@
1
+ 'use client'
2
+ import * as React from 'react';
3
+
4
+ var _g, _defs;
5
+ var _excluded = ["title", "titleId"];
6
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
9
+ var SvgWhiteCheckBlackCircle = function SvgWhiteCheckBlackCircle(_ref) {
10
+ var title = _ref.title,
11
+ titleId = _ref.titleId,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ return /*#__PURE__*/React.createElement("svg", _extends({
14
+ width: 80,
15
+ height: 80,
16
+ viewBox: "0 0 80 80",
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ "aria-labelledby": titleId
20
+ }, props), title ? /*#__PURE__*/React.createElement("title", {
21
+ id: titleId
22
+ }, title) : null, _g || (_g = /*#__PURE__*/React.createElement("g", {
23
+ clipPath: "url(#white-check-black-circle_svg__a)"
24
+ }, /*#__PURE__*/React.createElement("path", {
25
+ d: "M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80 0 62.091 0 40 17.909 0 40 0Zm16.056 28.11a2.083 2.083 0 0 0-2.947 0L33.75 47.47l-6.86-6.86a2.083 2.083 0 1 0-2.947 2.947l8.333 8.333a2.083 2.083 0 0 0 2.947 0l20.833-20.833a2.083 2.083 0 0 0 0-2.947Z",
26
+ fill: "#0A0B0C"
27
+ }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
28
+ id: "white-check-black-circle_svg__a"
29
+ }, /*#__PURE__*/React.createElement("rect", {
30
+ width: 80,
31
+ height: 80,
32
+ rx: 40,
33
+ fill: "#fff"
34
+ })))));
35
+ };
36
+
37
+ export { SvgWhiteCheckBlackCircle as ReactComponent };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var React = require('react');
7
7
  var utils = require('@dynamic-labs/utils');
8
- var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
+ var logger$1 = require('@dynamic-labs/logger');
9
9
  var ApiEndpoint = require('../../../config/ApiEndpoint.cjs');
10
10
  var logger = require('../../../shared/logger.cjs');
11
11
  var createStoreState = require('../../internalImplementation/utils/createStoreState/createStoreState.cjs');
@@ -46,8 +46,7 @@ const useSyncDynamicContextProps = ({ settings, emitErrors, enableInstrumentatio
46
46
  logger.logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
47
47
  }
48
48
  if (settings.logLevel) {
49
- logger.logger.setLogLevel(settings.logLevel);
50
- walletConnectorCore.logger.setLogLevel(settings.logLevel);
49
+ logger$1.Logger.setLogLevel(settings.logLevel);
51
50
  }
52
51
  const apiBaseUrl = utils.getEnvVarWithFallback('DYNAMIC_API_BASE_URL', settings.apiBaseUrl || '');
53
52
  ApiEndpoint.setBaseUrl(apiBaseUrl);