@dynamic-labs/sdk-react-core 0.18.0-RC.13 → 0.18.0-RC.14
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 +21 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/Main.cjs +2 -2
- package/src/lib/Main.js +2 -2
- package/src/lib/context/DynamicContext/DynamicContext.cjs +9 -11
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +1 -2
- package/src/lib/context/DynamicContext/DynamicContext.js +9 -11
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -2
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +2 -2
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/NewToWeb3WalletItem/NewToWeb3WalletItem.cjs +1 -1
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/NewToWeb3WalletItem/NewToWeb3WalletItem.js +1 -1
- package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs +2 -2
- package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.d.ts +1 -1
- package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js +2 -2
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +3 -3
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +3 -3
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.cjs +2 -2
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.js +2 -2
- package/src/lib/views/WalletList/WalletList.cjs +2 -2
- package/src/lib/views/WalletList/WalletList.js +2 -2
- package/src/lib/views/WalletList/WalletListItem/WalletListItem.types.d.ts +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.18.0-RC.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.13...v0.18.0-RC.14) (2023-07-11)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* **QNTM-68:** we currently expose concatenated primary and secondary
|
|
8
|
+
wallets array as connectedWallets, this is wrong and may cause issues with
|
|
9
|
+
understanding our architecture as well as issues for customers that want
|
|
10
|
+
to have access to connectedWallets array.
|
|
11
|
+
|
|
12
|
+
* chore(QNTM-68): expose connectedWallets from DynamicContext
|
|
13
|
+
|
|
14
|
+
since, we renamed connectedWallets to linkedWallets, we now want to expose correct value
|
|
15
|
+
for connectedWallets.
|
|
16
|
+
|
|
17
|
+
* chore(QNTM-68)!: remove connectedWalletsInfo from useDynamicContext
|
|
18
|
+
* **QNTM-68:** since we're exposing connectedWallets and this variable
|
|
19
|
+
has less information there is no need in exposing it from DynamicContext
|
|
20
|
+
|
|
21
|
+
* **QNTM-68:** update connectedWallets property and expose linkedWallets ([#2644](https://github.com/dynamic-labs/DynamicAuth/issues/2644)) ([8b707c3](https://github.com/dynamic-labs/DynamicAuth/commit/8b707c3fb2e14aa25385b35768ffa355ef7117e5))
|
|
22
|
+
|
|
2
23
|
## [0.18.0-RC.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.12...v0.18.0-RC.13) (2023-07-11)
|
|
3
24
|
|
|
4
25
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "0.18.0-RC.
|
|
3
|
+
"version": "0.18.0-RC.14",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"formik": "2.2.9",
|
|
17
17
|
"qrcode": "1.5.1",
|
|
18
18
|
"ethers": "5.7.2",
|
|
19
|
-
"@dynamic-labs/logger": "0.18.0-RC.
|
|
20
|
-
"@dynamic-labs/multi-wallet": "0.18.0-RC.
|
|
21
|
-
"@dynamic-labs/rpc-providers": "0.18.0-RC.
|
|
22
|
-
"@dynamic-labs/types": "0.18.0-RC.
|
|
23
|
-
"@dynamic-labs/utils": "0.18.0-RC.
|
|
24
|
-
"@dynamic-labs/wallet-book": "0.18.0-RC.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "0.18.0-RC.
|
|
19
|
+
"@dynamic-labs/logger": "0.18.0-RC.14",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.18.0-RC.14",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.18.0-RC.14",
|
|
22
|
+
"@dynamic-labs/types": "0.18.0-RC.14",
|
|
23
|
+
"@dynamic-labs/utils": "0.18.0-RC.14",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.18.0-RC.14",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.18.0-RC.14"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "7.3.8"
|
package/src/lib/Main.cjs
CHANGED
|
@@ -51,7 +51,7 @@ var viewToComponentMap = require('./views/viewToComponentMap.cjs');
|
|
|
51
51
|
require('./main.global.cjs');
|
|
52
52
|
|
|
53
53
|
const Main = () => {
|
|
54
|
-
const { selectedWalletConnector,
|
|
54
|
+
const { selectedWalletConnector, linkedWallets, isProjectSettingsLoading, projectSettings, setShowAuthFlow, showAuthFlow, wallets, clearStatesOnBackClick, user, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
55
55
|
const { view, goToInitialView } = ViewContext.useViewContext();
|
|
56
56
|
const { setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
|
|
57
57
|
usePreventPageScroll.usePreventPageScroll(showAuthFlow);
|
|
@@ -72,7 +72,7 @@ const Main = () => {
|
|
|
72
72
|
/* istanbul ignore next */
|
|
73
73
|
const handleNewToWeb3WalletIntent = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
74
74
|
setShowAuthFlow(true);
|
|
75
|
-
if (isSelectedWalletAlreadyConnected.isSelectedWalletAlreadyConnected(
|
|
75
|
+
if (isSelectedWalletAlreadyConnected.isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user)) {
|
|
76
76
|
// wallet is already connected
|
|
77
77
|
handleAlreadyConnectedWallet(walletConnector);
|
|
78
78
|
}
|
package/src/lib/Main.js
CHANGED
|
@@ -47,7 +47,7 @@ import { viewToComponentMap } from './views/viewToComponentMap.js';
|
|
|
47
47
|
import './main.global.js';
|
|
48
48
|
|
|
49
49
|
const Main = () => {
|
|
50
|
-
const { selectedWalletConnector,
|
|
50
|
+
const { selectedWalletConnector, linkedWallets, isProjectSettingsLoading, projectSettings, setShowAuthFlow, showAuthFlow, wallets, clearStatesOnBackClick, user, } = useInternalDynamicContext();
|
|
51
51
|
const { view, goToInitialView } = useViewContext();
|
|
52
52
|
const { setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
|
|
53
53
|
usePreventPageScroll(showAuthFlow);
|
|
@@ -68,7 +68,7 @@ const Main = () => {
|
|
|
68
68
|
/* istanbul ignore next */
|
|
69
69
|
const handleNewToWeb3WalletIntent = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
70
|
setShowAuthFlow(true);
|
|
71
|
-
if (isSelectedWalletAlreadyConnected(
|
|
71
|
+
if (isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user)) {
|
|
72
72
|
// wallet is already connected
|
|
73
73
|
handleAlreadyConnectedWallet(walletConnector);
|
|
74
74
|
}
|
|
@@ -360,10 +360,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
360
360
|
computeConnectedStateForWallets,
|
|
361
361
|
connectWallet,
|
|
362
362
|
connectedWallet,
|
|
363
|
-
connectedWallets
|
|
364
|
-
? [primaryWallet, ...secondaryWallets]
|
|
365
|
-
: [],
|
|
366
|
-
connectedWalletsInfo,
|
|
363
|
+
connectedWallets,
|
|
367
364
|
consumeNonce,
|
|
368
365
|
cssOverrides,
|
|
369
366
|
customPrivacyPolicy,
|
|
@@ -388,6 +385,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
388
385
|
isSingleWalletAccount,
|
|
389
386
|
isUserConnected,
|
|
390
387
|
isVerifying,
|
|
388
|
+
linkedWallets: primaryWallet ? [primaryWallet, ...secondaryWallets] : [],
|
|
391
389
|
loadingNetwork,
|
|
392
390
|
loginWithEmail,
|
|
393
391
|
multiWallet,
|
|
@@ -460,7 +458,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
460
458
|
walletsToConnectByChain,
|
|
461
459
|
});
|
|
462
460
|
}, [
|
|
463
|
-
socialProvidersFilter,
|
|
464
461
|
accessDeniedButton,
|
|
465
462
|
accessDeniedMessagePrimary,
|
|
466
463
|
accessDeniedMessageSecondary,
|
|
@@ -475,13 +472,11 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
475
472
|
computeConnectedStateForWallets,
|
|
476
473
|
connectWallet,
|
|
477
474
|
connectedWallet,
|
|
478
|
-
|
|
479
|
-
customTermsOfServices,
|
|
480
|
-
primaryWallet,
|
|
481
|
-
secondaryWallets,
|
|
482
|
-
connectedWalletsInfo,
|
|
475
|
+
connectedWallets,
|
|
483
476
|
consumeNonce,
|
|
484
477
|
cssOverrides,
|
|
478
|
+
customPrivacyPolicy,
|
|
479
|
+
customTermsOfServices,
|
|
485
480
|
debugError,
|
|
486
481
|
onboardingOnlyJwt,
|
|
487
482
|
defaultNumberOfWalletsToShow,
|
|
@@ -492,6 +487,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
492
487
|
getConnectedWalletById,
|
|
493
488
|
getNameService,
|
|
494
489
|
handleLogOut,
|
|
490
|
+
unlinkConnectedWallet,
|
|
495
491
|
handleUnlinkWallet,
|
|
496
492
|
isAuthenticated,
|
|
497
493
|
isBridgeFlow,
|
|
@@ -499,6 +495,8 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
499
495
|
isSingleWalletAccount,
|
|
500
496
|
isUserConnected,
|
|
501
497
|
isVerifying,
|
|
498
|
+
primaryWallet,
|
|
499
|
+
secondaryWallets,
|
|
502
500
|
loadingNetwork,
|
|
503
501
|
loginWithEmail,
|
|
504
502
|
multiWallet,
|
|
@@ -544,10 +542,10 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
544
542
|
socialMediaIconUrl,
|
|
545
543
|
socialMediaLinkText,
|
|
546
544
|
socialMediaUrl,
|
|
545
|
+
socialProvidersFilter,
|
|
547
546
|
termsOfServiceUrl,
|
|
548
547
|
theme,
|
|
549
548
|
toolkitEnabled,
|
|
550
|
-
unlinkConnectedWallet,
|
|
551
549
|
user,
|
|
552
550
|
walletUiUtils,
|
|
553
551
|
wallets,
|
|
@@ -7,7 +7,6 @@ import { WalletOption, UserProfile, Wallet, MultiWalletWidgetState, AccountSwitc
|
|
|
7
7
|
import { ThemeData, ThemeSetting } from '../ThemeContext';
|
|
8
8
|
import { MultiWalletWidgetStateSetter } from '../../utils/hooks/multiWallet';
|
|
9
9
|
import { SocialNetworkIconType } from '../../utils/functions/getSocialNetworkIcon';
|
|
10
|
-
import { ConnectedWalletConnectorType } from '../../utils/hooks/useConnectWallet/useConnectWallet';
|
|
11
10
|
import { Callback } from './useCustomerCallbacks';
|
|
12
11
|
import { DisplayOrder, SetDisplayOrderPriority } from './hooks';
|
|
13
12
|
export type ChainsToConnect = {
|
|
@@ -34,9 +33,9 @@ export interface IDynamicContext {
|
|
|
34
33
|
connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts) => Promise<string>;
|
|
35
34
|
connectedWallet: Wallet | null;
|
|
36
35
|
connectedWallets: Wallet[];
|
|
36
|
+
linkedWallets: Wallet[];
|
|
37
37
|
isUserConnected: boolean;
|
|
38
38
|
setConnectedUser: (value: boolean | ((val: boolean) => boolean)) => void;
|
|
39
|
-
connectedWalletsInfo: ConnectedWalletConnectorType[] | [];
|
|
40
39
|
consumeNonce: () => string | undefined;
|
|
41
40
|
cssOverrides?: string | JSX.Element;
|
|
42
41
|
customPrivacyPolicy?: ReactNode;
|
|
@@ -356,10 +356,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
356
356
|
computeConnectedStateForWallets,
|
|
357
357
|
connectWallet,
|
|
358
358
|
connectedWallet,
|
|
359
|
-
connectedWallets
|
|
360
|
-
? [primaryWallet, ...secondaryWallets]
|
|
361
|
-
: [],
|
|
362
|
-
connectedWalletsInfo,
|
|
359
|
+
connectedWallets,
|
|
363
360
|
consumeNonce,
|
|
364
361
|
cssOverrides,
|
|
365
362
|
customPrivacyPolicy,
|
|
@@ -384,6 +381,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
384
381
|
isSingleWalletAccount,
|
|
385
382
|
isUserConnected,
|
|
386
383
|
isVerifying,
|
|
384
|
+
linkedWallets: primaryWallet ? [primaryWallet, ...secondaryWallets] : [],
|
|
387
385
|
loadingNetwork,
|
|
388
386
|
loginWithEmail,
|
|
389
387
|
multiWallet,
|
|
@@ -456,7 +454,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
456
454
|
walletsToConnectByChain,
|
|
457
455
|
});
|
|
458
456
|
}, [
|
|
459
|
-
socialProvidersFilter,
|
|
460
457
|
accessDeniedButton,
|
|
461
458
|
accessDeniedMessagePrimary,
|
|
462
459
|
accessDeniedMessageSecondary,
|
|
@@ -471,13 +468,11 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
471
468
|
computeConnectedStateForWallets,
|
|
472
469
|
connectWallet,
|
|
473
470
|
connectedWallet,
|
|
474
|
-
|
|
475
|
-
customTermsOfServices,
|
|
476
|
-
primaryWallet,
|
|
477
|
-
secondaryWallets,
|
|
478
|
-
connectedWalletsInfo,
|
|
471
|
+
connectedWallets,
|
|
479
472
|
consumeNonce,
|
|
480
473
|
cssOverrides,
|
|
474
|
+
customPrivacyPolicy,
|
|
475
|
+
customTermsOfServices,
|
|
481
476
|
debugError,
|
|
482
477
|
onboardingOnlyJwt,
|
|
483
478
|
defaultNumberOfWalletsToShow,
|
|
@@ -488,6 +483,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
488
483
|
getConnectedWalletById,
|
|
489
484
|
getNameService,
|
|
490
485
|
handleLogOut,
|
|
486
|
+
unlinkConnectedWallet,
|
|
491
487
|
handleUnlinkWallet,
|
|
492
488
|
isAuthenticated,
|
|
493
489
|
isBridgeFlow,
|
|
@@ -495,6 +491,8 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
495
491
|
isSingleWalletAccount,
|
|
496
492
|
isUserConnected,
|
|
497
493
|
isVerifying,
|
|
494
|
+
primaryWallet,
|
|
495
|
+
secondaryWallets,
|
|
498
496
|
loadingNetwork,
|
|
499
497
|
loginWithEmail,
|
|
500
498
|
multiWallet,
|
|
@@ -540,10 +538,10 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
540
538
|
socialMediaIconUrl,
|
|
541
539
|
socialMediaLinkText,
|
|
542
540
|
socialMediaUrl,
|
|
541
|
+
socialProvidersFilter,
|
|
543
542
|
termsOfServiceUrl,
|
|
544
543
|
theme,
|
|
545
544
|
toolkitEnabled,
|
|
546
|
-
unlinkConnectedWallet,
|
|
547
545
|
user,
|
|
548
546
|
walletUiUtils,
|
|
549
547
|
wallets,
|
|
@@ -11,19 +11,19 @@ const useDynamicContext = () => {
|
|
|
11
11
|
if (context === undefined) {
|
|
12
12
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
13
13
|
}
|
|
14
|
-
const { accountSwitchState,
|
|
14
|
+
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isUserConnected, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, } = context;
|
|
15
15
|
return {
|
|
16
16
|
accountSwitchState,
|
|
17
17
|
authMode,
|
|
18
18
|
authToken,
|
|
19
19
|
awaitingSignatureState,
|
|
20
20
|
connectedWallets,
|
|
21
|
-
connectedWalletsInfo,
|
|
22
21
|
getNameService,
|
|
23
22
|
handleLogOut,
|
|
24
23
|
handleUnlinkWallet,
|
|
25
24
|
isAuthenticated,
|
|
26
25
|
isUserConnected,
|
|
26
|
+
linkedWallets,
|
|
27
27
|
loadingNetwork,
|
|
28
28
|
loginWithEmail,
|
|
29
29
|
multiWalletWidgetState,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IDynamicContext } from './DynamicContext';
|
|
2
|
-
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | '
|
|
2
|
+
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isUserConnected' | 'linkedWallets' | 'loadingNetwork' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'secondaryWallets' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'wallets' | 'walletsByChain' | 'walletsToConnectByChain'>;
|
|
3
3
|
export declare const useDynamicContext: () => UseDynamicContext;
|
|
@@ -7,19 +7,19 @@ const useDynamicContext = () => {
|
|
|
7
7
|
if (context === undefined) {
|
|
8
8
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
9
9
|
}
|
|
10
|
-
const { accountSwitchState,
|
|
10
|
+
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isUserConnected, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, } = context;
|
|
11
11
|
return {
|
|
12
12
|
accountSwitchState,
|
|
13
13
|
authMode,
|
|
14
14
|
authToken,
|
|
15
15
|
awaitingSignatureState,
|
|
16
16
|
connectedWallets,
|
|
17
|
-
connectedWalletsInfo,
|
|
18
17
|
getNameService,
|
|
19
18
|
handleLogOut,
|
|
20
19
|
handleUnlinkWallet,
|
|
21
20
|
isAuthenticated,
|
|
22
21
|
isUserConnected,
|
|
22
|
+
linkedWallets,
|
|
23
23
|
loadingNetwork,
|
|
24
24
|
loginWithEmail,
|
|
25
25
|
multiWalletWidgetState,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var WalletListItem = require('../../../../../views/WalletList/WalletListItem/WalletListItem.cjs');
|
|
7
7
|
|
|
8
|
-
const NewToWeb3WalletItem = ({ children, style, wallet, }) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet,
|
|
8
|
+
const NewToWeb3WalletItem = ({ children, style, wallet, }) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet, usingMultiWallet: false, tile: children
|
|
9
9
|
? ({ onClick }) => (jsxRuntime.jsx("button", Object.assign({ className: 'new-to-web3--button', style: style, onClick: onClick }, { children: children })))
|
|
10
10
|
: undefined }));
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { WalletListItem } from '../../../../../views/WalletList/WalletListItem/WalletListItem.js';
|
|
3
3
|
|
|
4
|
-
const NewToWeb3WalletItem = ({ children, style, wallet, }) => (jsx(WalletListItem, { wallet: wallet,
|
|
4
|
+
const NewToWeb3WalletItem = ({ children, style, wallet, }) => (jsx(WalletListItem, { wallet: wallet, usingMultiWallet: false, tile: children
|
|
5
5
|
? ({ onClick }) => (jsx("button", Object.assign({ className: 'new-to-web3--button', style: style, onClick: onClick }, { children: children })))
|
|
6
6
|
: undefined }));
|
|
7
7
|
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
6
6
|
|
|
7
|
-
const isSelectedWalletAlreadyConnected = (
|
|
7
|
+
const isSelectedWalletAlreadyConnected = (linkedWallets, selectedWallet, user) => {
|
|
8
8
|
if (!user)
|
|
9
9
|
return false;
|
|
10
|
-
return
|
|
10
|
+
return linkedWallets
|
|
11
11
|
.map(({ connector }) => walletConnectorCore.normalizeWalletName(connector.name))
|
|
12
12
|
.includes(walletConnectorCore.normalizeWalletName(selectedWallet.name));
|
|
13
13
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
2
|
import { UserProfile, Wallet } from '../../../shared/types';
|
|
3
|
-
export declare const isSelectedWalletAlreadyConnected: (
|
|
3
|
+
export declare const isSelectedWalletAlreadyConnected: (linkedWallets: Wallet[], selectedWallet: WalletConnector, user?: UserProfile | undefined) => boolean;
|
package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { normalizeWalletName } from '@dynamic-labs/wallet-connector-core';
|
|
2
2
|
|
|
3
|
-
const isSelectedWalletAlreadyConnected = (
|
|
3
|
+
const isSelectedWalletAlreadyConnected = (linkedWallets, selectedWallet, user) => {
|
|
4
4
|
if (!user)
|
|
5
5
|
return false;
|
|
6
|
-
return
|
|
6
|
+
return linkedWallets
|
|
7
7
|
.map(({ connector }) => normalizeWalletName(connector.name))
|
|
8
8
|
.includes(normalizeWalletName(selectedWallet.name));
|
|
9
9
|
};
|
|
@@ -28,7 +28,7 @@ var useConnectAndSignSplitSteps = require('../authenticationHooks/useConnectAndS
|
|
|
28
28
|
var isSelectedWalletAlreadyConnected = require('../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs');
|
|
29
29
|
|
|
30
30
|
const useWalletItemActions = () => {
|
|
31
|
-
const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user,
|
|
31
|
+
const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, setIsVerifying, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
32
32
|
const { mockedSDK } = MockContext.useMockContext();
|
|
33
33
|
const { setError } = ErrorContext.useErrorContext();
|
|
34
34
|
const { setView } = ViewContext.useViewContext();
|
|
@@ -79,7 +79,7 @@ const useWalletItemActions = () => {
|
|
|
79
79
|
});
|
|
80
80
|
const handleAlreadyConnectedWallet = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
81
81
|
const connectedAccounts = yield walletConnector.getConnectedAccounts();
|
|
82
|
-
const activeAccountAlreadyLinked =
|
|
82
|
+
const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
83
83
|
if (activeAccountAlreadyLinked) {
|
|
84
84
|
setMultiWalletWidgetState('awaiting_account_switch', 'linking_new_wallet');
|
|
85
85
|
}
|
|
@@ -112,7 +112,7 @@ const useWalletItemActions = () => {
|
|
|
112
112
|
yield walletConnector.endSession();
|
|
113
113
|
}
|
|
114
114
|
setIsVerifying(false);
|
|
115
|
-
if (isSelectedWalletAlreadyConnected.isSelectedWalletAlreadyConnected(
|
|
115
|
+
if (isSelectedWalletAlreadyConnected.isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user) &&
|
|
116
116
|
walletConnector.connectedChain !== 'FLOW') {
|
|
117
117
|
// wallet is already connected
|
|
118
118
|
handleAlreadyConnectedWallet(walletConnector);
|
|
@@ -24,7 +24,7 @@ import { useConnectAndSignSplitSteps } from '../authenticationHooks/useConnectAn
|
|
|
24
24
|
import { isSelectedWalletAlreadyConnected } from '../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js';
|
|
25
25
|
|
|
26
26
|
const useWalletItemActions = () => {
|
|
27
|
-
const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user,
|
|
27
|
+
const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, setIsVerifying, } = useInternalDynamicContext();
|
|
28
28
|
const { mockedSDK } = useMockContext();
|
|
29
29
|
const { setError } = useErrorContext();
|
|
30
30
|
const { setView } = useViewContext();
|
|
@@ -75,7 +75,7 @@ const useWalletItemActions = () => {
|
|
|
75
75
|
});
|
|
76
76
|
const handleAlreadyConnectedWallet = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
77
|
const connectedAccounts = yield walletConnector.getConnectedAccounts();
|
|
78
|
-
const activeAccountAlreadyLinked =
|
|
78
|
+
const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
79
79
|
if (activeAccountAlreadyLinked) {
|
|
80
80
|
setMultiWalletWidgetState('awaiting_account_switch', 'linking_new_wallet');
|
|
81
81
|
}
|
|
@@ -108,7 +108,7 @@ const useWalletItemActions = () => {
|
|
|
108
108
|
yield walletConnector.endSession();
|
|
109
109
|
}
|
|
110
110
|
setIsVerifying(false);
|
|
111
|
-
if (isSelectedWalletAlreadyConnected(
|
|
111
|
+
if (isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user) &&
|
|
112
112
|
walletConnector.connectedChain !== 'FLOW') {
|
|
113
113
|
// wallet is already connected
|
|
114
114
|
handleAlreadyConnectedWallet(walletConnector);
|
|
@@ -24,9 +24,9 @@ var ListItemButton = require('../ListItemButton/ListItemButton.cjs');
|
|
|
24
24
|
const NUMBER_OF_WALLETS = 3;
|
|
25
25
|
const LoginWithEmailWalletList = ({ walletsList, numberOfWallets, }) => {
|
|
26
26
|
const { setView } = ViewContext.useViewContext();
|
|
27
|
-
const { projectSettings
|
|
27
|
+
const { projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
|
|
28
28
|
const isUsingMultiWallet = Boolean(localStorage.LocalStorage.getFromLS(localStorage$1.AUTH_USER));
|
|
29
|
-
return !projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { count: NUMBER_OF_WALLETS + 1, className: 'login-with-email-wallet-list__skeleton' })) : (jsxRuntime.jsxs("div", Object.assign({ className: 'login-with-email-wallet-list__container' }, { children: [walletsList.map((wallet) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet,
|
|
29
|
+
return !projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { count: NUMBER_OF_WALLETS + 1, className: 'login-with-email-wallet-list__skeleton' })) : (jsxRuntime.jsxs("div", Object.assign({ className: 'login-with-email-wallet-list__container' }, { children: [walletsList.map((wallet) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet, usingMultiWallet: isUsingMultiWallet }, wallet.key))), jsxRuntime.jsx(ListItemButton.ListItemButton, { text: 'View all wallets', onClick: () => setView('login-with-email-or-wallet-full-wallet-list'), numberOfWallets: numberOfWallets })] })));
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
exports.LoginWithEmailWalletList = LoginWithEmailWalletList;
|
|
@@ -20,9 +20,9 @@ import { ListItemButton } from '../ListItemButton/ListItemButton.js';
|
|
|
20
20
|
const NUMBER_OF_WALLETS = 3;
|
|
21
21
|
const LoginWithEmailWalletList = ({ walletsList, numberOfWallets, }) => {
|
|
22
22
|
const { setView } = useViewContext();
|
|
23
|
-
const { projectSettings
|
|
23
|
+
const { projectSettings } = useInternalDynamicContext();
|
|
24
24
|
const isUsingMultiWallet = Boolean(LocalStorage.getFromLS(AUTH_USER));
|
|
25
|
-
return !projectSettings ? (jsx(Skeleton, { count: NUMBER_OF_WALLETS + 1, className: 'login-with-email-wallet-list__skeleton' })) : (jsxs("div", Object.assign({ className: 'login-with-email-wallet-list__container' }, { children: [walletsList.map((wallet) => (jsx(WalletListItem, { wallet: wallet,
|
|
25
|
+
return !projectSettings ? (jsx(Skeleton, { count: NUMBER_OF_WALLETS + 1, className: 'login-with-email-wallet-list__skeleton' })) : (jsxs("div", Object.assign({ className: 'login-with-email-wallet-list__container' }, { children: [walletsList.map((wallet) => (jsx(WalletListItem, { wallet: wallet, usingMultiWallet: isUsingMultiWallet }, wallet.key))), jsx(ListItemButton, { text: 'View all wallets', onClick: () => setView('login-with-email-or-wallet-full-wallet-list'), numberOfWallets: numberOfWallets })] })));
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { LoginWithEmailWalletList, NUMBER_OF_WALLETS };
|
|
@@ -33,7 +33,7 @@ var WalletListItem = require('./WalletListItem/WalletListItem.cjs');
|
|
|
33
33
|
localStorage.LocalStorage.setToLS(localStorage$1.WALLET_PICKER_SEARCH_KEY, '');
|
|
34
34
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
35
35
|
var _a;
|
|
36
|
-
const { walletsFilter, signWithEmailWalletName, user, wallets, projectSettings,
|
|
36
|
+
const { walletsFilter, signWithEmailWalletName, user, wallets, projectSettings, defaultNumberOfWalletsToShow, walletsToConnectByChain, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
37
37
|
const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
|
|
38
38
|
const { error } = ErrorContext.useErrorContext();
|
|
39
39
|
const { view } = ViewContext.useViewContext();
|
|
@@ -78,7 +78,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
78
78
|
};
|
|
79
79
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'wallet-list__container' }, { children: [error && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: error }), !projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { className: 'wallet-list__search-skeleton' })) : (isSearchEnabled && (jsxRuntime.jsx(Search.Search, { label: `Search through ${numberOfWallets} wallets...`, value: filterValue, onChange: ({ target: { value } }) => handleFilterValueChange(value), onClickClear: () => handleFilterValueChange('') }))), jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('wallet-list__scroll-container', {
|
|
80
80
|
'wallet-list__scroll-container--full-height': isSearchEnabled,
|
|
81
|
-
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll }, { children: [!projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [wallets.length === 0 && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: "Oops, no login methods have been configured." })), wallets.length && walletsList.length === 0 ? (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, { title: 'No wallet found.', subtitle: 'Try seaching for a different wallet', image: jsxRuntime.jsx(noWalletFound.ReactComponent, {}) })) : (walletsList.map((wallet) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet,
|
|
81
|
+
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll }, { children: [!projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [wallets.length === 0 && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: "Oops, no login methods have been configured." })), wallets.length && walletsList.length === 0 ? (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, { title: 'No wallet found.', subtitle: 'Try seaching for a different wallet', image: jsxRuntime.jsx(noWalletFound.ReactComponent, {}) })) : (walletsList.map((wallet) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet, usingMultiWallet: isUsingMultiWallet, onResetSearchValue: () => handleFilterValueChange('') }, wallet.key))))] })), isSearchEnabled && !filterValue && projectSettings && (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, {}))] }))] })), noDefaultFooter && (jsxRuntime.jsx("div", { className: classNames.classNames('wallet-list__tiny-footer', {
|
|
82
82
|
'wallet-list__tiny-footer--hidden': footerIsVisible,
|
|
83
83
|
}), "data-testid": 'wallet-list-tiny-footer' }))] }));
|
|
84
84
|
};
|
|
@@ -29,7 +29,7 @@ import { WalletListItem } from './WalletListItem/WalletListItem.js';
|
|
|
29
29
|
LocalStorage.setToLS(WALLET_PICKER_SEARCH_KEY, '');
|
|
30
30
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
31
31
|
var _a;
|
|
32
|
-
const { walletsFilter, signWithEmailWalletName, user, wallets, projectSettings,
|
|
32
|
+
const { walletsFilter, signWithEmailWalletName, user, wallets, projectSettings, defaultNumberOfWalletsToShow, walletsToConnectByChain, } = useInternalDynamicContext();
|
|
33
33
|
const { walletBook } = useWalletBookContext();
|
|
34
34
|
const { error } = useErrorContext();
|
|
35
35
|
const { view } = useViewContext();
|
|
@@ -74,7 +74,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
74
74
|
};
|
|
75
75
|
return (jsxs(Fragment, { children: [jsxs("div", Object.assign({ className: 'wallet-list__container' }, { children: [error && jsx(ErrorContainer, { children: error }), !projectSettings ? (jsx(Skeleton, { className: 'wallet-list__search-skeleton' })) : (isSearchEnabled && (jsx(Search, { label: `Search through ${numberOfWallets} wallets...`, value: filterValue, onChange: ({ target: { value } }) => handleFilterValueChange(value), onClickClear: () => handleFilterValueChange('') }))), jsxs("div", Object.assign({ className: classNames('wallet-list__scroll-container', {
|
|
76
76
|
'wallet-list__scroll-container--full-height': isSearchEnabled,
|
|
77
|
-
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll }, { children: [!projectSettings ? (jsx(Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxs(Fragment, { children: [wallets.length === 0 && (jsx(ErrorContainer, { children: "Oops, no login methods have been configured." })), wallets.length && walletsList.length === 0 ? (jsx(SearchNotFoundMessage, { title: 'No wallet found.', subtitle: 'Try seaching for a different wallet', image: jsx(SvgNoWalletFound, {}) })) : (walletsList.map((wallet) => (jsx(WalletListItem, { wallet: wallet,
|
|
77
|
+
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll }, { children: [!projectSettings ? (jsx(Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxs(Fragment, { children: [wallets.length === 0 && (jsx(ErrorContainer, { children: "Oops, no login methods have been configured." })), wallets.length && walletsList.length === 0 ? (jsx(SearchNotFoundMessage, { title: 'No wallet found.', subtitle: 'Try seaching for a different wallet', image: jsx(SvgNoWalletFound, {}) })) : (walletsList.map((wallet) => (jsx(WalletListItem, { wallet: wallet, usingMultiWallet: isUsingMultiWallet, onResetSearchValue: () => handleFilterValueChange('') }, wallet.key))))] })), isSearchEnabled && !filterValue && projectSettings && (jsx(SearchNotFoundMessage, {}))] }))] })), noDefaultFooter && (jsx("div", { className: classNames('wallet-list__tiny-footer', {
|
|
78
78
|
'wallet-list__tiny-footer--hidden': footerIsVisible,
|
|
79
79
|
}), "data-testid": 'wallet-list-tiny-footer' }))] }));
|
|
80
80
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { WalletOption } from '../../../shared';
|
|
3
3
|
export type WalletListItemProps = {
|
|
4
|
-
connectedWallets: Wallet[];
|
|
5
4
|
onResetSearchValue?: (newSearchValue: string) => void;
|
|
6
5
|
tile?: WalletListItemTile;
|
|
7
6
|
usingMultiWallet: boolean;
|