@dynamic-labs/sdk-react-core 1.1.0-alpha.2 → 1.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +11 -11
- package/src/index.cjs +2 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +3 -2
- package/src/lib/context/DynamicContext/DynamicContext.js +3 -2
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
- package/src/lib/data/api.cjs +0 -13
- package/src/lib/data/api.d.ts +1 -2
- package/src/lib/data/api.js +2 -14
- package/src/lib/shared/consts/index.cjs +1 -0
- package/src/lib/shared/consts/index.js +1 -0
- package/src/lib/shared/types/index.d.ts +2 -1
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.d.ts +1 -1
- package/src/lib/utils/functions/index.d.ts +1 -0
- package/src/lib/utils/functions/isEmailValid/index.d.ts +1 -0
- package/src/lib/utils/functions/isEmailValid/isEmailValid.cjs +8 -0
- package/src/lib/utils/functions/isEmailValid/isEmailValid.d.ts +1 -0
- package/src/lib/utils/functions/isEmailValid/isEmailValid.js +4 -0
- package/src/lib/utils/functions/isProviderEnabled/isProviderEnabled.cjs +9 -1
- package/src/lib/utils/functions/isProviderEnabled/isProviderEnabled.js +9 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -0
- package/src/lib/utils/hooks/useConnectWithEmailOtp/index.d.ts +1 -0
- package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.cjs +150 -0
- package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.d.ts +32 -0
- package/src/lib/utils/hooks/useConnectWithEmailOtp/useConnectWithEmailOtp.js +146 -0
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +3 -3
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +3 -3
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/index.d.ts +1 -0
- package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs → useProcessNetworkConfigurations/useProcessNetworkConfigurations.cjs} +53 -67
- package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.d.ts → useProcessNetworkConfigurations/useProcessNetworkConfigurations.d.ts} +3 -2
- package/src/lib/utils/hooks/{useFetchNetworkConfigurations/useFetchNetworkConfigurations.js → useProcessNetworkConfigurations/useProcessNetworkConfigurations.js} +53 -67
- package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +2 -3
- package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.d.ts +0 -1
- package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +3 -3
- package/src/lib/views/WalletList/WalletList.cjs +5 -8
- package/src/lib/views/WalletList/WalletList.js +5 -8
- package/src/lib/views/WalletList/data.d.ts +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +4 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +4 -1
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/index.d.ts +0 -1
- /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +0 -0
- /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +0 -0
- /package/src/lib/utils/hooks/{useFetchNetworkConfigurations → useProcessNetworkConfigurations}/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +0 -0
|
@@ -15,30 +15,27 @@ require('../../utils/constants/colors.cjs');
|
|
|
15
15
|
var walletListBuilder = require('../../utils/functions/walletListBuilder/walletListBuilder.cjs');
|
|
16
16
|
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
17
17
|
var useInternalDynamicContext = require('../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
18
|
-
var MockContext = require('../../context/MockContext/MockContext.cjs');
|
|
19
|
-
var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
|
|
20
|
-
var isUserLinkingWallet = require('../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.cjs');
|
|
21
18
|
var index = require('../../utils/functions/walletFilters/index.cjs');
|
|
22
19
|
require('@dynamic-labs/sdk-api');
|
|
23
20
|
require('../../shared/logger.cjs');
|
|
24
21
|
require('@dynamic-labs/iconic');
|
|
25
22
|
require('@dynamic-labs/wallet-connector-core');
|
|
23
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
26
24
|
var localStorage = require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
27
25
|
require('viem');
|
|
28
26
|
require('@dynamic-labs/utils');
|
|
29
27
|
require('../../shared/consts/index.cjs');
|
|
30
28
|
var noWalletFound = require('../../assets/no-wallet-found.cjs');
|
|
29
|
+
var useAuthLayoutChecks = require('../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs');
|
|
31
30
|
var SearchNotFoundMessage = require('./SearchNotFoundMessage/SearchNotFoundMessage.cjs');
|
|
32
31
|
var WalletListItem = require('./WalletListItem/WalletListItem.cjs');
|
|
33
32
|
|
|
34
33
|
localStorage.LocalStorage.setToLS(localStorage$1.WALLET_PICKER_SEARCH_KEY, '');
|
|
35
34
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
36
35
|
var _a;
|
|
37
|
-
const { walletsFilter, signWithEmailWalletName,
|
|
36
|
+
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, walletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
38
37
|
const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
|
|
39
38
|
const { error } = ErrorContext.useErrorContext();
|
|
40
|
-
const { view } = ViewContext.useViewContext();
|
|
41
|
-
const { mockedSDK } = MockContext.useMockContext();
|
|
42
39
|
const { t } = reactI18next.useTranslation();
|
|
43
40
|
const [filterValue, setFilterValue] = React.useState((_a = localStorage.LocalStorage.getFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY)) !== null && _a !== void 0 ? _a : '');
|
|
44
41
|
const [footerIsVisible, setFooterIsVisibile] = React.useState(false);
|
|
@@ -62,7 +59,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
62
59
|
});
|
|
63
60
|
const isSearchEnabled = numberOfWallets > defaultNumberOfWalletsToShow &&
|
|
64
61
|
walletsList.length !== numberOfWallets;
|
|
65
|
-
const
|
|
62
|
+
const { showDefaultFooter } = useAuthLayoutChecks.useAuthLayoutChecks(walletConnector);
|
|
66
63
|
const walletListScrollRef = React.useRef(null);
|
|
67
64
|
/* istanbul ignore next */
|
|
68
65
|
const handleScroll = () => {
|
|
@@ -87,7 +84,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
87
84
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [searchContainer, Boolean(error) && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { className: 'wallet-list__error-container', withIcon: false, children: error })), jsxRuntime.jsx("div", { className: 'wallet-list__container', children: jsxRuntime.jsxs("div", { className: classNames.classNames('wallet-list__scroll-container', {
|
|
88
85
|
'wallet-list__scroll-container--error': Boolean(error),
|
|
89
86
|
'wallet-list__scroll-container--full-height': isSearchEnabled,
|
|
90
|
-
}), "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: [walletConnectorOptions.length === 0 && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { copykey: 'dyn_wallet_list.configuration_mismatch', children: t('dyn_wallet_list.configuration_mismatch') })), walletConnectorOptions.length && walletsList.length === 0 ? (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, { title: t('dyn_wallet_list.search.not_found.title'), subtitle: t('dyn_wallet_list.search.not_found.description'), image: jsxRuntime.jsx(noWalletFound.ReactComponent, {}) })) : (walletsList.map((wallet, index) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet, usingMultiWallet: multiWallet, onResetSearchValue: () => handleFilterValueChange('') }, `${wallet.key}_${index}`))))] })), isSearchEnabled && !filterValue && projectSettings && (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, {}))] }) }),
|
|
87
|
+
}), "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: [walletConnectorOptions.length === 0 && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { copykey: 'dyn_wallet_list.configuration_mismatch', children: t('dyn_wallet_list.configuration_mismatch') })), walletConnectorOptions.length && walletsList.length === 0 ? (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, { title: t('dyn_wallet_list.search.not_found.title'), subtitle: t('dyn_wallet_list.search.not_found.description'), image: jsxRuntime.jsx(noWalletFound.ReactComponent, {}) })) : (walletsList.map((wallet, index) => (jsxRuntime.jsx(WalletListItem.WalletListItem, { wallet: wallet, usingMultiWallet: multiWallet, onResetSearchValue: () => handleFilterValueChange('') }, `${wallet.key}_${index}`))))] })), isSearchEnabled && !filterValue && projectSettings && (jsxRuntime.jsx(SearchNotFoundMessage.SearchNotFoundMessage, {}))] }) }), showDefaultFooter && (jsxRuntime.jsx("div", { className: classNames.classNames('wallet-list__tiny-footer', {
|
|
91
88
|
'wallet-list__tiny-footer--hidden': footerIsVisible,
|
|
92
89
|
}), "data-testid": 'wallet-list-tiny-footer' }))] }));
|
|
93
90
|
};
|
|
@@ -11,30 +11,27 @@ import '../../utils/constants/colors.js';
|
|
|
11
11
|
import { walletListBuilder } from '../../utils/functions/walletListBuilder/walletListBuilder.js';
|
|
12
12
|
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
13
13
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useInternalDynamicContext.js';
|
|
14
|
-
import { useMockContext } from '../../context/MockContext/MockContext.js';
|
|
15
|
-
import { useViewContext } from '../../context/ViewContext/ViewContext.js';
|
|
16
|
-
import { isUserLinkingWallet } from '../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.js';
|
|
17
14
|
import { FilterBridgeChainsName } from '../../utils/functions/walletFilters/index.js';
|
|
18
15
|
import '@dynamic-labs/sdk-api';
|
|
19
16
|
import '../../shared/logger.js';
|
|
20
17
|
import '@dynamic-labs/iconic';
|
|
21
18
|
import '@dynamic-labs/wallet-connector-core';
|
|
19
|
+
import '../../context/ViewContext/ViewContext.js';
|
|
22
20
|
import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
|
|
23
21
|
import 'viem';
|
|
24
22
|
import '@dynamic-labs/utils';
|
|
25
23
|
import '../../shared/consts/index.js';
|
|
26
24
|
import { ReactComponent as SvgNoWalletFound } from '../../assets/no-wallet-found.js';
|
|
25
|
+
import { useAuthLayoutChecks } from '../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js';
|
|
27
26
|
import { SearchNotFoundMessage } from './SearchNotFoundMessage/SearchNotFoundMessage.js';
|
|
28
27
|
import { WalletListItem } from './WalletListItem/WalletListItem.js';
|
|
29
28
|
|
|
30
29
|
LocalStorage.setToLS(WALLET_PICKER_SEARCH_KEY, '');
|
|
31
30
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
32
31
|
var _a;
|
|
33
|
-
const { walletsFilter, signWithEmailWalletName,
|
|
32
|
+
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, walletConnector, } = useInternalDynamicContext();
|
|
34
33
|
const { walletBook } = useWalletBookContext();
|
|
35
34
|
const { error } = useErrorContext();
|
|
36
|
-
const { view } = useViewContext();
|
|
37
|
-
const { mockedSDK } = useMockContext();
|
|
38
35
|
const { t } = useTranslation();
|
|
39
36
|
const [filterValue, setFilterValue] = useState((_a = LocalStorage.getFromLS(WALLET_PICKER_SEARCH_KEY)) !== null && _a !== void 0 ? _a : '');
|
|
40
37
|
const [footerIsVisible, setFooterIsVisibile] = useState(false);
|
|
@@ -58,7 +55,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
58
55
|
});
|
|
59
56
|
const isSearchEnabled = numberOfWallets > defaultNumberOfWalletsToShow &&
|
|
60
57
|
walletsList.length !== numberOfWallets;
|
|
61
|
-
const
|
|
58
|
+
const { showDefaultFooter } = useAuthLayoutChecks(walletConnector);
|
|
62
59
|
const walletListScrollRef = useRef(null);
|
|
63
60
|
/* istanbul ignore next */
|
|
64
61
|
const handleScroll = () => {
|
|
@@ -83,7 +80,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
83
80
|
return (jsxs(Fragment, { children: [searchContainer, Boolean(error) && (jsx(ErrorContainer, { className: 'wallet-list__error-container', withIcon: false, children: error })), jsx("div", { className: 'wallet-list__container', children: jsxs("div", { className: classNames('wallet-list__scroll-container', {
|
|
84
81
|
'wallet-list__scroll-container--error': Boolean(error),
|
|
85
82
|
'wallet-list__scroll-container--full-height': isSearchEnabled,
|
|
86
|
-
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll, children: [!projectSettings ? (jsx(Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxs(Fragment, { children: [walletConnectorOptions.length === 0 && (jsx(ErrorContainer, { copykey: 'dyn_wallet_list.configuration_mismatch', children: t('dyn_wallet_list.configuration_mismatch') })), walletConnectorOptions.length && walletsList.length === 0 ? (jsx(SearchNotFoundMessage, { title: t('dyn_wallet_list.search.not_found.title'), subtitle: t('dyn_wallet_list.search.not_found.description'), image: jsx(SvgNoWalletFound, {}) })) : (walletsList.map((wallet, index) => (jsx(WalletListItem, { wallet: wallet, usingMultiWallet: multiWallet, onResetSearchValue: () => handleFilterValueChange('') }, `${wallet.key}_${index}`))))] })), isSearchEnabled && !filterValue && projectSettings && (jsx(SearchNotFoundMessage, {}))] }) }),
|
|
83
|
+
}), "data-testid": 'wallet-list-scroll-container', ref: walletListScrollRef, onScroll: handleScroll, children: [!projectSettings ? (jsx(Skeleton, { count: 10, className: 'wallet-list__tile-skeleton' })) : (jsxs(Fragment, { children: [walletConnectorOptions.length === 0 && (jsx(ErrorContainer, { copykey: 'dyn_wallet_list.configuration_mismatch', children: t('dyn_wallet_list.configuration_mismatch') })), walletConnectorOptions.length && walletsList.length === 0 ? (jsx(SearchNotFoundMessage, { title: t('dyn_wallet_list.search.not_found.title'), subtitle: t('dyn_wallet_list.search.not_found.description'), image: jsx(SvgNoWalletFound, {}) })) : (walletsList.map((wallet, index) => (jsx(WalletListItem, { wallet: wallet, usingMultiWallet: multiWallet, onResetSearchValue: () => handleFilterValueChange('') }, `${wallet.key}_${index}`))))] })), isSearchEnabled && !filterValue && projectSettings && (jsx(SearchNotFoundMessage, {}))] }) }), showDefaultFooter && (jsx("div", { className: classNames('wallet-list__tiny-footer', {
|
|
87
84
|
'wallet-list__tiny-footer--hidden': footerIsVisible,
|
|
88
85
|
}), "data-testid": 'wallet-list-tiny-footer' }))] }));
|
|
89
86
|
};
|
|
@@ -4,7 +4,7 @@ interface IChain {
|
|
|
4
4
|
enabled: boolean;
|
|
5
5
|
name: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const getEnabledChains: (chains: IChain[]) => ("STARK" | "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "ATOM" | "COSMOS")[];
|
|
7
|
+
export declare const getEnabledChains: (chains: IChain[]) => ("STARK" | "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "ATOM" | "COSMOS" | "BTC")[];
|
|
8
8
|
type BaseGetSupportedWalletOpts = Omit<GetSupportedWalletsOpts, 'isWalletConnectV2Enabled' | 'walletConnectProjectId' | 'chainRpcProviders'>;
|
|
9
9
|
export declare const getWallets: (props: {
|
|
10
10
|
getSupportedWalletOpts: BaseGetSupportedWalletOpts;
|
|
@@ -84,10 +84,13 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
|
84
84
|
const { supportsFunding, setShowFunding, fundingEnabled } = FundingContext.useFundingContext();
|
|
85
85
|
const { setDynamicWidgetView, setIsOpen } = DynamicWidgetContext.useWidgetContext();
|
|
86
86
|
const isSendBalanceEnabled = React.useMemo(() => {
|
|
87
|
+
var _a;
|
|
87
88
|
const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
88
89
|
if (!connector)
|
|
89
90
|
return false;
|
|
90
|
-
|
|
91
|
+
// @todo: QNTM-804 Remove supported chains check to support other chains
|
|
92
|
+
return (((_a = connector.supportedChains) === null || _a === void 0 ? void 0 : _a.includes('EVM')) &&
|
|
93
|
+
walletConnectorCore.isEmbeddedConnector(connector));
|
|
91
94
|
}, [primaryWallet]);
|
|
92
95
|
const handleOnClickSend = () => {
|
|
93
96
|
if (variant === 'dropdown') {
|
|
@@ -76,10 +76,13 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
|
76
76
|
const { supportsFunding, setShowFunding, fundingEnabled } = useFundingContext();
|
|
77
77
|
const { setDynamicWidgetView, setIsOpen } = useWidgetContext();
|
|
78
78
|
const isSendBalanceEnabled = useMemo(() => {
|
|
79
|
+
var _a;
|
|
79
80
|
const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
80
81
|
if (!connector)
|
|
81
82
|
return false;
|
|
82
|
-
|
|
83
|
+
// @todo: QNTM-804 Remove supported chains check to support other chains
|
|
84
|
+
return (((_a = connector.supportedChains) === null || _a === void 0 ? void 0 : _a.includes('EVM')) &&
|
|
85
|
+
isEmbeddedConnector(connector));
|
|
83
86
|
}, [primaryWallet]);
|
|
84
87
|
const handleOnClickSend = () => {
|
|
85
88
|
if (variant === 'dropdown') {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useFetchNetworkConfigurations } from './useFetchNetworkConfigurations';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|