@dynamic-labs/sdk-react-core 4.19.4 → 4.19.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -12
- package/src/lib/components/AppOriginTile/AppOriginTile.cjs +8 -5
- package/src/lib/components/AppOriginTile/AppOriginTile.d.ts +4 -1
- package/src/lib/components/AppOriginTile/AppOriginTile.js +8 -5
- package/src/lib/components/Chip/Chip.cjs +2 -3
- package/src/lib/components/Chip/Chip.d.ts +5 -4
- package/src/lib/components/Chip/Chip.js +2 -3
- package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +3 -2
- package/src/lib/components/NeedHelpSection/NeedHelpSection.js +3 -2
- package/src/lib/context/OnrampContext/useEnabledOnrampProviders/useEnabledOnrampProviders.d.ts +2 -2
- package/src/lib/context/ViewContext/types/index.d.ts +1 -1
- package/src/lib/data/api/exchangeAccounts/exchangeAccounts.d.ts +45 -0
- package/src/lib/data/api/exchangeAccounts/index.d.ts +1 -0
- package/src/lib/data/api/index.d.ts +1 -0
- package/src/lib/data/api/onramp/onramp.d.ts +2 -2
- package/src/lib/locale/en/translation.cjs +39 -0
- package/src/lib/locale/en/translation.d.ts +39 -0
- package/src/lib/locale/en/translation.js +39 -0
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +1 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +1 -1
- package/src/lib/modals/ZkSyncApprovalModal/ZkSyncApprovalModal.cjs +22 -0
- package/src/lib/modals/ZkSyncApprovalModal/ZkSyncApprovalModal.d.ts +8 -0
- package/src/lib/modals/ZkSyncApprovalModal/ZkSyncApprovalModal.js +18 -0
- package/src/lib/modals/ZkSyncApprovalModal/index.d.ts +1 -0
- package/src/lib/modals/index.d.ts +1 -0
- package/src/lib/shared/assets/backup.cjs +52 -0
- package/src/lib/shared/assets/backup.js +28 -0
- package/src/lib/shared/assets/clock.cjs +54 -0
- package/src/lib/shared/assets/clock.js +30 -0
- package/src/lib/shared/assets/index.d.ts +2 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/authViewLayoutChecks.cjs +1 -0
- package/src/lib/utils/constants/authViewLayoutChecks.js +1 -0
- package/src/lib/utils/functions/onrampConfigurationToOnrampOption/onrampConfigurationToOnrampOption.d.ts +2 -2
- package/src/lib/utils/functions/updatePrimaryWalletId/updatePrimaryWalletId.cjs +25 -18
- package/src/lib/utils/functions/updatePrimaryWalletId/updatePrimaryWalletId.js +25 -18
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +4 -0
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +4 -0
- package/src/lib/utils/hooks/useExchangeAccounts/index.d.ts +1 -0
- package/src/lib/utils/hooks/useExchangeAccounts/useExchangeAccounts.d.ts +13 -0
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +4 -2
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +4 -2
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +12 -1
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +12 -1
- package/src/lib/views/BackupUnsuccessfulView/BackupUnsuccessfulView.cjs +138 -0
- package/src/lib/views/BackupUnsuccessfulView/BackupUnsuccessfulView.d.ts +3 -0
- package/src/lib/views/BackupUnsuccessfulView/BackupUnsuccessfulView.js +133 -0
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.js +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
- package/src/lib/views/SessionKeyApprovalView/SessionKeyApprovalView.cjs +114 -0
- package/src/lib/views/SessionKeyApprovalView/SessionKeyApprovalView.d.ts +8 -0
- package/src/lib/views/SessionKeyApprovalView/SessionKeyApprovalView.js +110 -0
- package/src/lib/views/SessionKeyApprovalView/index.d.ts +1 -0
- package/src/lib/views/SessionPermissionsView/SessionPermissionsView.cjs +6 -6
- package/src/lib/views/SessionPermissionsView/SessionPermissionsView.js +2 -2
- package/src/lib/views/index.d.ts +1 -0
- package/src/lib/views/viewToComponentMap.cjs +2 -0
- package/src/lib/views/viewToComponentMap.d.ts +1 -0
- package/src/lib/views/viewToComponentMap.js +2 -0
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/RevokeAccessView.cjs +6 -4
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/RevokeAccessView.js +7 -5
|
@@ -118,6 +118,7 @@ const viewsThatHideCloseButton = [
|
|
|
118
118
|
'mfa-display-backup-codes',
|
|
119
119
|
'mfa-recovery',
|
|
120
120
|
'user-delete-account',
|
|
121
|
+
'backup-unsuccessful',
|
|
121
122
|
];
|
|
122
123
|
|
|
123
124
|
export { mfaViewsThatPreventModalClose, viewsThatHideCloseButton, viewsThatHideHeader, viewsThatHideHelpContent, viewsThatPreventBorderBelowHeader, viewsThatPreventModalClose, viewsThatShowConnectedWalletProgress, viewsThatShowDynamicFooter, viewsWithWalletListType };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RampConfiguration } from '@dynamic-labs/sdk-api-core';
|
|
2
2
|
import type { OnrampOption } from '../../../context/DynamicContext';
|
|
3
3
|
/**
|
|
4
4
|
* Converts an OnrampConfiguration to an OnrampOption based on the provider's display mode
|
|
5
5
|
*/
|
|
6
|
-
export declare const onrampConfigurationToOnrampOption: (provider:
|
|
6
|
+
export declare const onrampConfigurationToOnrampOption: (provider: RampConfiguration) => OnrampOption;
|
|
@@ -29,29 +29,36 @@ require('../../../locale/locale.cjs');
|
|
|
29
29
|
var wallets = require('../../../data/api/wallets/wallets.cjs');
|
|
30
30
|
|
|
31
31
|
const updatePrimaryWalletId = (walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
var _a;
|
|
32
33
|
primaryWalletId.setPrimaryWalletId(walletId);
|
|
33
34
|
const user$1 = user.getUser();
|
|
34
35
|
if (user$1) {
|
|
35
36
|
const environmentId = dynamicContextProps.getEnvironmentId();
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
// We will compare the value of this wallet's lastSelectedAt to the latest
|
|
38
|
+
// selected credential's lastSelectedAt. If it's the same, we can skip the
|
|
39
|
+
// /select endpoint. This is to avoid unnecessary calls to the /select
|
|
40
|
+
// endpoint, which causes an update to the user's JWT.
|
|
41
|
+
const currentWalletLastSelectedAt = (_a = user$1.verifiedCredentials.find((credential) => credential.id === walletId)) === null || _a === void 0 ? void 0 : _a.lastSelectedAt;
|
|
42
|
+
if (currentWalletLastSelectedAt) {
|
|
43
|
+
const lastSelectedWalletCredential = user$1.verifiedCredentials.reduce((mostRecentSelectedCredential, credentialToCheck) => {
|
|
44
|
+
if (credentialToCheck.format !== 'blockchain' ||
|
|
45
|
+
!credentialToCheck.lastSelectedAt) {
|
|
46
|
+
return mostRecentSelectedCredential;
|
|
47
|
+
}
|
|
48
|
+
if (!mostRecentSelectedCredential ||
|
|
49
|
+
!mostRecentSelectedCredential.lastSelectedAt) {
|
|
50
|
+
return credentialToCheck;
|
|
51
|
+
}
|
|
52
|
+
return credentialToCheck.lastSelectedAt >
|
|
53
|
+
mostRecentSelectedCredential.lastSelectedAt
|
|
54
|
+
? credentialToCheck
|
|
55
|
+
: mostRecentSelectedCredential;
|
|
56
|
+
}, null);
|
|
57
|
+
if ((lastSelectedWalletCredential === null || lastSelectedWalletCredential === void 0 ? void 0 : lastSelectedWalletCredential.lastSelectedAt) &&
|
|
58
|
+
lastSelectedWalletCredential.lastSelectedAt.getTime() ===
|
|
59
|
+
currentWalletLastSelectedAt.getTime()) {
|
|
60
|
+
return;
|
|
41
61
|
}
|
|
42
|
-
if (!mostRecentSelectedCredential ||
|
|
43
|
-
!mostRecentSelectedCredential.lastSelectedAt) {
|
|
44
|
-
return credentialToCheck;
|
|
45
|
-
}
|
|
46
|
-
return credentialToCheck.lastSelectedAt >
|
|
47
|
-
mostRecentSelectedCredential.lastSelectedAt
|
|
48
|
-
? credentialToCheck
|
|
49
|
-
: mostRecentSelectedCredential;
|
|
50
|
-
}, null);
|
|
51
|
-
// No need to select the primary if it's already the last selected wallet
|
|
52
|
-
if (lastSelectedWalletCredential &&
|
|
53
|
-
lastSelectedWalletCredential.id === walletId) {
|
|
54
|
-
return;
|
|
55
62
|
}
|
|
56
63
|
yield wallets.storeSelectedWallet({ environmentId, walletId });
|
|
57
64
|
}
|
|
@@ -25,29 +25,36 @@ import '../../../locale/locale.js';
|
|
|
25
25
|
import { storeSelectedWallet } from '../../../data/api/wallets/wallets.js';
|
|
26
26
|
|
|
27
27
|
const updatePrimaryWalletId = (walletId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
var _a;
|
|
28
29
|
setPrimaryWalletId(walletId);
|
|
29
30
|
const user = getUser();
|
|
30
31
|
if (user) {
|
|
31
32
|
const environmentId = getEnvironmentId();
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
// We will compare the value of this wallet's lastSelectedAt to the latest
|
|
34
|
+
// selected credential's lastSelectedAt. If it's the same, we can skip the
|
|
35
|
+
// /select endpoint. This is to avoid unnecessary calls to the /select
|
|
36
|
+
// endpoint, which causes an update to the user's JWT.
|
|
37
|
+
const currentWalletLastSelectedAt = (_a = user.verifiedCredentials.find((credential) => credential.id === walletId)) === null || _a === void 0 ? void 0 : _a.lastSelectedAt;
|
|
38
|
+
if (currentWalletLastSelectedAt) {
|
|
39
|
+
const lastSelectedWalletCredential = user.verifiedCredentials.reduce((mostRecentSelectedCredential, credentialToCheck) => {
|
|
40
|
+
if (credentialToCheck.format !== 'blockchain' ||
|
|
41
|
+
!credentialToCheck.lastSelectedAt) {
|
|
42
|
+
return mostRecentSelectedCredential;
|
|
43
|
+
}
|
|
44
|
+
if (!mostRecentSelectedCredential ||
|
|
45
|
+
!mostRecentSelectedCredential.lastSelectedAt) {
|
|
46
|
+
return credentialToCheck;
|
|
47
|
+
}
|
|
48
|
+
return credentialToCheck.lastSelectedAt >
|
|
49
|
+
mostRecentSelectedCredential.lastSelectedAt
|
|
50
|
+
? credentialToCheck
|
|
51
|
+
: mostRecentSelectedCredential;
|
|
52
|
+
}, null);
|
|
53
|
+
if ((lastSelectedWalletCredential === null || lastSelectedWalletCredential === void 0 ? void 0 : lastSelectedWalletCredential.lastSelectedAt) &&
|
|
54
|
+
lastSelectedWalletCredential.lastSelectedAt.getTime() ===
|
|
55
|
+
currentWalletLastSelectedAt.getTime()) {
|
|
56
|
+
return;
|
|
37
57
|
}
|
|
38
|
-
if (!mostRecentSelectedCredential ||
|
|
39
|
-
!mostRecentSelectedCredential.lastSelectedAt) {
|
|
40
|
-
return credentialToCheck;
|
|
41
|
-
}
|
|
42
|
-
return credentialToCheck.lastSelectedAt >
|
|
43
|
-
mostRecentSelectedCredential.lastSelectedAt
|
|
44
|
-
? credentialToCheck
|
|
45
|
-
: mostRecentSelectedCredential;
|
|
46
|
-
}, null);
|
|
47
|
-
// No need to select the primary if it's already the last selected wallet
|
|
48
|
-
if (lastSelectedWalletCredential &&
|
|
49
|
-
lastSelectedWalletCredential.id === walletId) {
|
|
50
|
-
return;
|
|
51
58
|
}
|
|
52
59
|
yield storeSelectedWallet({ environmentId, walletId });
|
|
53
60
|
}
|
|
@@ -76,3 +76,4 @@ export { useAggregateWalletEvents } from './useAggregateWalletEvents';
|
|
|
76
76
|
export { useDeleteUserAccount } from './useDeleteUserAccount';
|
|
77
77
|
export { useDynamicWaas } from './useDynamicWaas';
|
|
78
78
|
export { useSyncDynamicWaas } from './useSyncDynamicWaas';
|
|
79
|
+
export { useExchangeAccounts } from './useExchangeAccounts';
|
|
@@ -147,6 +147,10 @@ const useDynamicLayoutData = ({ view }) => {
|
|
|
147
147
|
copykey: 'dyn_account_exists.title',
|
|
148
148
|
heading: t('dyn_account_exists.title'),
|
|
149
149
|
},
|
|
150
|
+
'backup-unsuccessful': {
|
|
151
|
+
copykey: 'dyn_waas.backup_unsuccessful.title',
|
|
152
|
+
heading: t('dyn_waas.backup_unsuccessful.title'),
|
|
153
|
+
},
|
|
150
154
|
'chainalysis-blocked-wallet': {
|
|
151
155
|
copykey: 'dyn_chainalysis_blocked_wallet.title',
|
|
152
156
|
heading: t('dyn_chainalysis_blocked_wallet.title'),
|
|
@@ -143,6 +143,10 @@ const useDynamicLayoutData = ({ view }) => {
|
|
|
143
143
|
copykey: 'dyn_account_exists.title',
|
|
144
144
|
heading: t('dyn_account_exists.title'),
|
|
145
145
|
},
|
|
146
|
+
'backup-unsuccessful': {
|
|
147
|
+
copykey: 'dyn_waas.backup_unsuccessful.title',
|
|
148
|
+
heading: t('dyn_waas.backup_unsuccessful.title'),
|
|
149
|
+
},
|
|
146
150
|
'chainalysis-blocked-wallet': {
|
|
147
151
|
copykey: 'dyn_chainalysis_blocked_wallet.title',
|
|
148
152
|
heading: t('dyn_chainalysis_blocked_wallet.title'),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useExchangeAccounts';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Account, CreateExchangeTransferRequest, ExchangeKeyEnum, ExchangeTransferResponse } from '@dynamic-labs/sdk-api-core';
|
|
2
|
+
type Props = {
|
|
3
|
+
exchange: ExchangeKeyEnum;
|
|
4
|
+
};
|
|
5
|
+
type TransferProps = {
|
|
6
|
+
exchange: ExchangeKeyEnum;
|
|
7
|
+
transferRequest: CreateExchangeTransferRequest;
|
|
8
|
+
};
|
|
9
|
+
export declare const useExchangeAccounts: () => {
|
|
10
|
+
exchangeTransfer: ({ exchange, transferRequest, }: TransferProps) => Promise<ExchangeTransferResponse>;
|
|
11
|
+
getExchangeUserAccounts: ({ exchange, }: Props) => Promise<Account[]>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -10,7 +10,7 @@ var logger = require('../../../shared/logger.cjs');
|
|
|
10
10
|
require('@dynamic-labs/iconic');
|
|
11
11
|
require('@dynamic-labs/wallet-connector-core');
|
|
12
12
|
require('react/jsx-runtime');
|
|
13
|
-
require('../../../context/ViewContext/ViewContext.cjs');
|
|
13
|
+
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
14
14
|
require('@dynamic-labs/wallet-book');
|
|
15
15
|
require('@dynamic-labs/utils');
|
|
16
16
|
require('../../constants/colors.cjs');
|
|
@@ -101,6 +101,7 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
|
|
|
101
101
|
const useSyncDynamicWaas = () => {
|
|
102
102
|
const { primaryWallet, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
103
103
|
const { loading: globalLoading } = LoadingContext.useLoadingContext();
|
|
104
|
+
const { clearStackAndPush } = ViewContext.useViewContext();
|
|
104
105
|
const { user: user$1 } = user.useUser();
|
|
105
106
|
const projectSettings$1 = projectSettings.useProjectSettings();
|
|
106
107
|
const walletConnectorOptions = walletOptions.useWalletConnectorOptions();
|
|
@@ -119,7 +120,8 @@ const useSyncDynamicWaas = () => {
|
|
|
119
120
|
}
|
|
120
121
|
catch (error) {
|
|
121
122
|
logger.logger.error('Error creating dynamic waas wallet', error);
|
|
122
|
-
setShowAuthFlow(
|
|
123
|
+
setShowAuthFlow(true);
|
|
124
|
+
clearStackAndPush('backup-unsuccessful');
|
|
123
125
|
}
|
|
124
126
|
});
|
|
125
127
|
const shouldSyncCreateWallet = shouldAutoCreateDynamicWaasWallet && !triggeredCreate.current;
|
|
@@ -6,7 +6,7 @@ import { logger } from '../../../shared/logger.js';
|
|
|
6
6
|
import '@dynamic-labs/iconic';
|
|
7
7
|
import '@dynamic-labs/wallet-connector-core';
|
|
8
8
|
import 'react/jsx-runtime';
|
|
9
|
-
import '../../../context/ViewContext/ViewContext.js';
|
|
9
|
+
import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
10
10
|
import '@dynamic-labs/wallet-book';
|
|
11
11
|
import '@dynamic-labs/utils';
|
|
12
12
|
import '../../constants/colors.js';
|
|
@@ -97,6 +97,7 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
|
|
|
97
97
|
const useSyncDynamicWaas = () => {
|
|
98
98
|
const { primaryWallet, setShowAuthFlow } = useInternalDynamicContext();
|
|
99
99
|
const { loading: globalLoading } = useLoadingContext();
|
|
100
|
+
const { clearStackAndPush } = useViewContext();
|
|
100
101
|
const { user } = useUser();
|
|
101
102
|
const projectSettings = useProjectSettings();
|
|
102
103
|
const walletConnectorOptions = useWalletConnectorOptions();
|
|
@@ -115,7 +116,8 @@ const useSyncDynamicWaas = () => {
|
|
|
115
116
|
}
|
|
116
117
|
catch (error) {
|
|
117
118
|
logger.error('Error creating dynamic waas wallet', error);
|
|
118
|
-
setShowAuthFlow(
|
|
119
|
+
setShowAuthFlow(true);
|
|
120
|
+
clearStackAndPush('backup-unsuccessful');
|
|
119
121
|
}
|
|
120
122
|
});
|
|
121
123
|
const shouldSyncCreateWallet = shouldAutoCreateDynamicWaasWallet && !triggeredCreate.current;
|
|
@@ -98,6 +98,7 @@ var SignMessageConfirmationModal = require('../../../modals/SignMessageConfirmat
|
|
|
98
98
|
var SyncWalletPromptModal = require('../../../modals/SyncWalletPromptModal/SyncWalletPromptModal.cjs');
|
|
99
99
|
var TransactionConfirmationModal = require('../../../modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs');
|
|
100
100
|
var AddNetworkModal = require('../../../modals/AddNetworkModal/AddNetworkModal.cjs');
|
|
101
|
+
var ZkSyncApprovalModal = require('../../../modals/ZkSyncApprovalModal/ZkSyncApprovalModal.cjs');
|
|
101
102
|
|
|
102
103
|
const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
103
104
|
const confirmationStateRef = React.useRef('enabled');
|
|
@@ -114,6 +115,9 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
114
115
|
const { modal: addNetworkModal, open: openAddNetwork } = useConfirmationModal.useConfirmationModal({
|
|
115
116
|
elementId: 'dynamic-prompt-to-add-network',
|
|
116
117
|
});
|
|
118
|
+
const { modal: zkSyncCreateSessionModal, open: openZkSyncCreateSession } = useConfirmationModal.useConfirmationModal({
|
|
119
|
+
elementId: 'dynamic-zksync-approval',
|
|
120
|
+
});
|
|
117
121
|
const shouldConfirmAction = React.useCallback(() => {
|
|
118
122
|
if (confirmationStateRef.current === 'disabled') {
|
|
119
123
|
confirmationStateRef.current = 'enabled';
|
|
@@ -174,6 +178,9 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
174
178
|
const addNetwork = React.useCallback((_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ handler, network, walletConnector }) {
|
|
175
179
|
yield openAddNetwork((resolve) => (jsxRuntime.jsx(AddNetworkModal.AddNetworkModal, { network: network, walletConnector: walletConnector, onCancel: resolve, onNetworkAdded: resolve, addNetworkMutation: handler })));
|
|
176
180
|
}), [openAddNetwork]);
|
|
181
|
+
const zkSyncCreateSession = React.useCallback((_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ session: sessionConfig }) {
|
|
182
|
+
return yield openZkSyncCreateSession((resolve, reject) => (jsxRuntime.jsx(ZkSyncApprovalModal.ZkSyncApprovalModal, { session: sessionConfig, onCancel: reject, onApproved: () => resolve(true) })));
|
|
183
|
+
}), [openZkSyncCreateSession]);
|
|
177
184
|
const disabledConfirmationOnce = React.useCallback(() => {
|
|
178
185
|
confirmationStateRef.current = 'disabled';
|
|
179
186
|
}, []);
|
|
@@ -184,6 +191,7 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
184
191
|
signMessage,
|
|
185
192
|
signTransaction,
|
|
186
193
|
syncWallet,
|
|
194
|
+
zkSyncCreateSession,
|
|
187
195
|
}), [
|
|
188
196
|
signMessage,
|
|
189
197
|
signTransaction,
|
|
@@ -191,18 +199,21 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
191
199
|
sendTransaction,
|
|
192
200
|
syncWallet,
|
|
193
201
|
addNetwork,
|
|
202
|
+
zkSyncCreateSession,
|
|
194
203
|
]);
|
|
195
204
|
return React.useMemo(() => [
|
|
196
205
|
signMessageModal ||
|
|
197
206
|
sendTransactionModal ||
|
|
198
207
|
syncWalletPromptModal ||
|
|
199
|
-
addNetworkModal
|
|
208
|
+
addNetworkModal ||
|
|
209
|
+
zkSyncCreateSessionModal,
|
|
200
210
|
walletUiUtils,
|
|
201
211
|
], [
|
|
202
212
|
signMessageModal,
|
|
203
213
|
sendTransactionModal,
|
|
204
214
|
syncWalletPromptModal,
|
|
205
215
|
addNetworkModal,
|
|
216
|
+
zkSyncCreateSessionModal,
|
|
206
217
|
walletUiUtils,
|
|
207
218
|
]);
|
|
208
219
|
};
|
|
@@ -94,6 +94,7 @@ import { SignMessageConfirmationModal } from '../../../modals/SignMessageConfirm
|
|
|
94
94
|
import { SyncWalletPromptModal } from '../../../modals/SyncWalletPromptModal/SyncWalletPromptModal.js';
|
|
95
95
|
import { TransactionConfirmationModal } from '../../../modals/TransactionConfirmationModal/TransactionConfirmationModal.js';
|
|
96
96
|
import { AddNetworkModal } from '../../../modals/AddNetworkModal/AddNetworkModal.js';
|
|
97
|
+
import { ZkSyncApprovalModal } from '../../../modals/ZkSyncApprovalModal/ZkSyncApprovalModal.js';
|
|
97
98
|
|
|
98
99
|
const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
99
100
|
const confirmationStateRef = useRef('enabled');
|
|
@@ -110,6 +111,9 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
110
111
|
const { modal: addNetworkModal, open: openAddNetwork } = useConfirmationModal({
|
|
111
112
|
elementId: 'dynamic-prompt-to-add-network',
|
|
112
113
|
});
|
|
114
|
+
const { modal: zkSyncCreateSessionModal, open: openZkSyncCreateSession } = useConfirmationModal({
|
|
115
|
+
elementId: 'dynamic-zksync-approval',
|
|
116
|
+
});
|
|
113
117
|
const shouldConfirmAction = useCallback(() => {
|
|
114
118
|
if (confirmationStateRef.current === 'disabled') {
|
|
115
119
|
confirmationStateRef.current = 'enabled';
|
|
@@ -170,6 +174,9 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
170
174
|
const addNetwork = useCallback((_c) => __awaiter(void 0, [_c], void 0, function* ({ handler, network, walletConnector }) {
|
|
171
175
|
yield openAddNetwork((resolve) => (jsx(AddNetworkModal, { network: network, walletConnector: walletConnector, onCancel: resolve, onNetworkAdded: resolve, addNetworkMutation: handler })));
|
|
172
176
|
}), [openAddNetwork]);
|
|
177
|
+
const zkSyncCreateSession = useCallback((_d) => __awaiter(void 0, [_d], void 0, function* ({ session: sessionConfig }) {
|
|
178
|
+
return yield openZkSyncCreateSession((resolve, reject) => (jsx(ZkSyncApprovalModal, { session: sessionConfig, onCancel: reject, onApproved: () => resolve(true) })));
|
|
179
|
+
}), [openZkSyncCreateSession]);
|
|
173
180
|
const disabledConfirmationOnce = useCallback(() => {
|
|
174
181
|
confirmationStateRef.current = 'disabled';
|
|
175
182
|
}, []);
|
|
@@ -180,6 +187,7 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
180
187
|
signMessage,
|
|
181
188
|
signTransaction,
|
|
182
189
|
syncWallet,
|
|
190
|
+
zkSyncCreateSession,
|
|
183
191
|
}), [
|
|
184
192
|
signMessage,
|
|
185
193
|
signTransaction,
|
|
@@ -187,18 +195,21 @@ const useWalletUiUtils = ({ hideEmbeddedWalletTransactionUIs = false, }) => {
|
|
|
187
195
|
sendTransaction,
|
|
188
196
|
syncWallet,
|
|
189
197
|
addNetwork,
|
|
198
|
+
zkSyncCreateSession,
|
|
190
199
|
]);
|
|
191
200
|
return useMemo(() => [
|
|
192
201
|
signMessageModal ||
|
|
193
202
|
sendTransactionModal ||
|
|
194
203
|
syncWalletPromptModal ||
|
|
195
|
-
addNetworkModal
|
|
204
|
+
addNetworkModal ||
|
|
205
|
+
zkSyncCreateSessionModal,
|
|
196
206
|
walletUiUtils,
|
|
197
207
|
], [
|
|
198
208
|
signMessageModal,
|
|
199
209
|
sendTransactionModal,
|
|
200
210
|
syncWalletPromptModal,
|
|
201
211
|
addNetworkModal,
|
|
212
|
+
zkSyncCreateSessionModal,
|
|
202
213
|
walletUiUtils,
|
|
203
214
|
]);
|
|
204
215
|
};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
require('@dynamic-labs/utils');
|
|
10
|
+
require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
|
|
11
|
+
var exclamation = require('../../shared/assets/exclamation.cjs');
|
|
12
|
+
require('@dynamic-labs/iconic');
|
|
13
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
14
|
+
var warningRed = require('../../shared/assets/warning-red.cjs');
|
|
15
|
+
var backup = require('../../shared/assets/backup.cjs');
|
|
16
|
+
require('../../../../_virtual/_tslib.cjs');
|
|
17
|
+
require('@dynamic-labs/sdk-api-core');
|
|
18
|
+
require('../../shared/logger.cjs');
|
|
19
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
20
|
+
require('@dynamic-labs/wallet-book');
|
|
21
|
+
require('../../utils/constants/colors.cjs');
|
|
22
|
+
require('../../utils/constants/values.cjs');
|
|
23
|
+
require('../../shared/consts/index.cjs');
|
|
24
|
+
require('../../components/Alert/Alert.cjs');
|
|
25
|
+
require('../../events/dynamicEvents.cjs');
|
|
26
|
+
require('../../context/DynamicContext/DynamicContext.cjs');
|
|
27
|
+
require('../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
|
|
28
|
+
require('../../store/state/authMode/authMode.cjs');
|
|
29
|
+
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
30
|
+
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
31
|
+
require('@dynamic-labs/multi-wallet');
|
|
32
|
+
require('react-international-phone');
|
|
33
|
+
require('../../store/state/nonce/nonce.cjs');
|
|
34
|
+
require('../../store/state/projectSettings/projectSettings.cjs');
|
|
35
|
+
require('../../config/ApiEndpoint.cjs');
|
|
36
|
+
require('../../store/state/user/user.cjs');
|
|
37
|
+
require('../../locale/locale.cjs');
|
|
38
|
+
require('../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
39
|
+
require('../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
40
|
+
require('../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
41
|
+
require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
42
|
+
require('../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
43
|
+
require('../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
44
|
+
require('../../context/VerificationContext/VerificationContext.cjs');
|
|
45
|
+
require('react-dom');
|
|
46
|
+
require('../../utils/functions/compareChains/compareChains.cjs');
|
|
47
|
+
require('../Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
|
|
48
|
+
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
49
|
+
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
50
|
+
require('bs58');
|
|
51
|
+
require('@dynamic-labs/types');
|
|
52
|
+
require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
53
|
+
require('../../context/LoadingContext/LoadingContext.cjs');
|
|
54
|
+
require('../../context/WalletContext/WalletContext.cjs');
|
|
55
|
+
require('../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
56
|
+
require('yup');
|
|
57
|
+
require('../../context/MockContext/MockContext.cjs');
|
|
58
|
+
require('../CollectUserDataView/useFields.cjs');
|
|
59
|
+
require('../../context/FieldsStateContext/FieldsStateContext.cjs');
|
|
60
|
+
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
61
|
+
require('@dynamic-labs/rpc-providers');
|
|
62
|
+
require('../../store/state/walletOptions/walletOptions.cjs');
|
|
63
|
+
var PoweredByDynamic = require('../../components/PoweredByDynamic/PoweredByDynamic.cjs');
|
|
64
|
+
require('../../context/FooterAnimationContext/index.cjs');
|
|
65
|
+
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
66
|
+
require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
67
|
+
require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
68
|
+
require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
69
|
+
require('../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
70
|
+
require('../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
71
|
+
require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
72
|
+
require('react-focus-lock');
|
|
73
|
+
var Icon = require('../../components/Icon/Icon.cjs');
|
|
74
|
+
var Typography = require('../../components/Typography/Typography.cjs');
|
|
75
|
+
require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
76
|
+
require('../../components/IconButton/IconButton.cjs');
|
|
77
|
+
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
78
|
+
var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
|
|
79
|
+
require('formik');
|
|
80
|
+
require('../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
|
|
81
|
+
require('../../store/state/sendBalances.cjs');
|
|
82
|
+
require('../../components/Input/Input.cjs');
|
|
83
|
+
require('../../components/OverlayCard/OverlayCard.cjs');
|
|
84
|
+
require('../TransactionConfirmationView/TransactionConfirmationView.cjs');
|
|
85
|
+
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
86
|
+
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
87
|
+
require('../../context/OnrampContext/OnrampContext.cjs');
|
|
88
|
+
require('qrcode');
|
|
89
|
+
require('../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
|
|
90
|
+
require('../../../index.cjs');
|
|
91
|
+
var NeedHelpSection = require('../../components/NeedHelpSection/NeedHelpSection.cjs');
|
|
92
|
+
require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
93
|
+
require('../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
|
|
94
|
+
require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
95
|
+
require('@hcaptcha/react-hcaptcha');
|
|
96
|
+
require('../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
|
|
97
|
+
require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
98
|
+
require('../../store/state/connectorsInitializing/connectorsInitializing.cjs');
|
|
99
|
+
require('../../store/state/tokenBalances.cjs');
|
|
100
|
+
require('../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
|
|
101
|
+
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
102
|
+
require('../../components/IsBrowser/IsBrowser.cjs');
|
|
103
|
+
require('../../components/Popper/Popper/Popper.cjs');
|
|
104
|
+
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
105
|
+
|
|
106
|
+
const BackupUnsuccessfulView = () => {
|
|
107
|
+
const { t } = reactI18next.useTranslation();
|
|
108
|
+
const isProperlyMounted = React.useRef(false);
|
|
109
|
+
const refreshPage = () => {
|
|
110
|
+
window.location.reload();
|
|
111
|
+
};
|
|
112
|
+
// force refresh on component unmount
|
|
113
|
+
React.useEffect(() => {
|
|
114
|
+
const timer = setTimeout(() => {
|
|
115
|
+
isProperlyMounted.current = true;
|
|
116
|
+
}, 100);
|
|
117
|
+
return () => {
|
|
118
|
+
clearTimeout(timer);
|
|
119
|
+
// Only refresh if component was properly mounted and is now being unmounted
|
|
120
|
+
if (isProperlyMounted.current) {
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
refreshPage();
|
|
123
|
+
}, 0);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}, []);
|
|
127
|
+
return (jsxRuntime.jsxs("div", { className: 'backup-unsuccessful-view', children: [jsxRuntime.jsxs("div", { className: 'backup-unsuccessful-view__content', children: [jsxRuntime.jsxs("div", { className: 'backup-icon-container', children: [jsxRuntime.jsx(Icon.Icon, { color: 'brand-primary', children: jsxRuntime.jsx(backup.ReactComponent, { className: 'backup-icon', width: 64, height: 64 }) }), jsxRuntime.jsxs("div", { className: 'warning-icon-container', children: [jsxRuntime.jsx(warningRed.ReactComponent, { className: 'combined-icon', width: 40, height: 40 }), jsxRuntime.jsx(exclamation.ReactComponent, { className: 'exclamation-icon', width: 20, height: 20, style: {
|
|
128
|
+
left: '50%',
|
|
129
|
+
position: 'absolute',
|
|
130
|
+
top: '50%',
|
|
131
|
+
transform: 'translate(-50%, -50%)',
|
|
132
|
+
} })] })] }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', className: 'backup-message', color: 'primary', children: t('dyn_waas.backup_unsuccessful.description') }), jsxRuntime.jsx("div", { className: 'need-help-section', children: jsxRuntime.jsx(NeedHelpSection.NeedHelpSection, {}) }), jsxRuntime.jsx("div", { className: 'button-group', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonClassName: 'retry-button', buttonVariant: 'brand-primary', type: 'submit', onClick: () => refreshPage(), copykey: 'dyn_waas.backup_unsuccessful.try_again', typographyProps: {
|
|
133
|
+
color: 'inherit',
|
|
134
|
+
}, children: t('dyn_waas.backup_unsuccessful.try_again') }) })] }), jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { asFooter: true })] }));
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
exports.BackupUnsuccessfulView = BackupUnsuccessfulView;
|
|
138
|
+
exports["default"] = BackupUnsuccessfulView;
|