@dynamic-labs/sdk-react-core 0.18.0-RC.7 → 0.18.0-RC.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.
- package/CHANGELOG.md +23 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/index.cjs +2 -0
- package/src/index.js +1 -0
- package/src/lib/components/NetworkPicker/NetworkPicker.cjs +26 -1
- package/src/lib/components/NetworkPicker/NetworkPicker.js +26 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.cjs +3 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.d.ts +2 -1
- package/src/lib/components/NetworkPicker/components/Network/Network.js +3 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.cjs +6 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.d.ts +2 -1
- package/src/lib/components/NetworkPicker/components/NetworkAction/NetworkAction.js +6 -1
- package/src/lib/components/TosAndPp/TosAndPp.cjs +1 -1
- package/src/lib/components/TosAndPp/TosAndPp.js +1 -1
- package/src/lib/components/Transition/transition.type.d.ts +3 -3
- package/src/lib/context/DynamicContext/DynamicContext.cjs +20 -4
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +4 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +21 -5
- package/src/lib/context/ErrorContext/ErrorContext.cjs +6 -0
- package/src/lib/context/ErrorContext/ErrorContext.js +6 -0
- package/src/lib/shared/utils/hooks/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.cjs +31 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useMediaQuery/useMediaQuery.js +27 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +1 -1
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +3 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +3 -1
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +13 -0
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +13 -0
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.cjs +16 -18
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.js +16 -18
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +20 -6
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +14 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +20 -6
- package/src/lib/utils/hooks/useCountdown/useCountdown.cjs +39 -0
- package/src/lib/utils/hooks/useCountdown/useCountdown.d.ts +11 -0
- package/src/lib/utils/hooks/useCountdown/useCountdown.js +35 -0
- package/src/lib/utils/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +10 -0
- package/src/lib/utils/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +6 -0
- package/src/lib/utils/hooks/useKeyboardEventListener/useKeyboardEventListener.cjs +6 -8
- package/src/lib/utils/hooks/useKeyboardEventListener/useKeyboardEventListener.js +7 -9
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.cjs +6 -28
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.d.ts +0 -1
- package/src/lib/utils/hooks/useRpcProviders/useRpcProviders.js +7 -29
- package/src/lib/utils/hooks/useTimeout/useTimeout.cjs +27 -0
- package/src/lib/utils/hooks/useTimeout/useTimeout.js +23 -0
- package/src/lib/utils/hooks/useTransition/useTransition.cjs +16 -24
- package/src/lib/utils/hooks/useTransition/useTransition.d.ts +3 -3
- package/src/lib/utils/hooks/useTransition/useTransition.js +17 -25
- package/src/lib/utils/hooks/useTransitionEvents/useTransitionEvents.cjs +11 -9
- package/src/lib/utils/hooks/useTransitionEvents/useTransitionEvents.js +11 -9
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +3 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +3 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +1 -0
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +1 -0
- package/src/lib/utils/hooks/useWallets/useWallets.cjs +4 -1
- package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -1
- package/src/lib/utils/hooks/useWallets/useWallets.js +4 -1
- package/src/lib/views/EmailUpdate/EmailUpdate.cjs +2 -1
- package/src/lib/views/EmailUpdate/EmailUpdate.js +2 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +12 -21
- package/src/lib/views/EmailVerification/EmailVerification.js +13 -22
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +2 -1
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +2 -1
- package/src/lib/views/QrCodeView/QRCode.cjs +36 -4
- package/src/lib/views/QrCodeView/QRCode.js +37 -5
- package/src/lib/views/QrCodeView/QrCodeView.cjs +3 -6
- package/src/lib/views/QrCodeView/QrCodeView.js +3 -6
- package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +15 -0
- package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +15 -0
- package/src/lib/views/WalletList/data.cjs +2 -1
- package/src/lib/views/WalletList/data.js +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.18.0-RC.8](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.7...v0.18.0-RC.8) (2023-06-29)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add support for custom walletconnect v1 bridge ([#2487](https://github.com/dynamic-labs/DynamicAuth/issues/2487)) ([5b0ca2e](https://github.com/dynamic-labs/DynamicAuth/commit/5b0ca2e4e8aa241ed13e4f38346c31da8479a6c4))
|
|
8
|
+
* **DYN-2623:** improve error message on sign cancellation for wallets ([#2493](https://github.com/dynamic-labs/DynamicAuth/issues/2493)) ([081c515](https://github.com/dynamic-labs/DynamicAuth/commit/081c515c9d28d6fa4c0eaac388ee421a7b23144b))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* clearing the activeAccount value ([#2469](https://github.com/dynamic-labs/DynamicAuth/issues/2469)) ([ff75bde](https://github.com/dynamic-labs/DynamicAuth/commit/ff75bde938a4178541568b79754f773607b9d87f))
|
|
14
|
+
* don't initialize provider if it's already initialized ([#2490](https://github.com/dynamic-labs/DynamicAuth/issues/2490)) ([878d38f](https://github.com/dynamic-labs/DynamicAuth/commit/878d38f5c8d7d7448c65e58b25cefd9f3518217e))
|
|
15
|
+
* more wcv2 improvements ([#2475](https://github.com/dynamic-labs/DynamicAuth/issues/2475)) ([13baa84](https://github.com/dynamic-labs/DynamicAuth/commit/13baa84218d6259d02df7d8c387b40dc3cb11ce5)), closes [#2469](https://github.com/dynamic-labs/DynamicAuth/issues/2469) [#2470](https://github.com/dynamic-labs/DynamicAuth/issues/2470) [#2471](https://github.com/dynamic-labs/DynamicAuth/issues/2471) [#2477](https://github.com/dynamic-labs/DynamicAuth/issues/2477) [#2479](https://github.com/dynamic-labs/DynamicAuth/issues/2479) [#2471](https://github.com/dynamic-labs/DynamicAuth/issues/2471) [#2476](https://github.com/dynamic-labs/DynamicAuth/issues/2476)
|
|
16
|
+
* multiple improvements for WC2 ([#2458](https://github.com/dynamic-labs/DynamicAuth/issues/2458)) ([0813af2](https://github.com/dynamic-labs/DynamicAuth/commit/0813af2aafa8019868117084efe8ae147ac24581))
|
|
17
|
+
* revert changes since latest wcv2 improvements ([#2473](https://github.com/dynamic-labs/DynamicAuth/issues/2473)) ([3375371](https://github.com/dynamic-labs/DynamicAuth/commit/337537101a13d67b860748b62f172eba01d0b461)), closes [#2471](https://github.com/dynamic-labs/DynamicAuth/issues/2471) [#2470](https://github.com/dynamic-labs/DynamicAuth/issues/2470) [#2469](https://github.com/dynamic-labs/DynamicAuth/issues/2469)
|
|
18
|
+
* sync issue within connect-only mode ([#2496](https://github.com/dynamic-labs/DynamicAuth/issues/2496)) ([44af274](https://github.com/dynamic-labs/DynamicAuth/commit/44af274618c30fe65ec95739cd16a8ddde08e34e))
|
|
19
|
+
* typo in terms of service ([#2401](https://github.com/dynamic-labs/DynamicAuth/issues/2401)) ([5b195e5](https://github.com/dynamic-labs/DynamicAuth/commit/5b195e54479d9a88bd017fc45f2f2455d1caedc4))
|
|
20
|
+
* **wc_v1_bridget:** disable WC v2 when WC v1 bridge is set ([#2505](https://github.com/dynamic-labs/DynamicAuth/issues/2505)) ([b3f0a68](https://github.com/dynamic-labs/DynamicAuth/commit/b3f0a6895095bb37c635984fc970b52446e04f56))
|
|
21
|
+
* wc2 android improvements ([#2488](https://github.com/dynamic-labs/DynamicAuth/issues/2488)) ([f60ef9c](https://github.com/dynamic-labs/DynamicAuth/commit/f60ef9c1dd672f78199eee40edbe2707c043e1b5))
|
|
22
|
+
* **wcv2:** make sure to clear active account when ending session ([#2471](https://github.com/dynamic-labs/DynamicAuth/issues/2471)) ([b766df3](https://github.com/dynamic-labs/DynamicAuth/commit/b766df39a7e4dabc54fda9131b7bd9b53895cf2f))
|
|
23
|
+
* **wcv2:** use native or universal link when signing message ([#2502](https://github.com/dynamic-labs/DynamicAuth/issues/2502)) ([6e3e3fb](https://github.com/dynamic-labs/DynamicAuth/commit/6e3e3fbb58fb9e3eb314e6631ac2123237f41e8c))
|
|
24
|
+
|
|
2
25
|
## [0.18.0-RC.7](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.6...v0.18.0-RC.7) (2023-06-23)
|
|
3
26
|
|
|
4
27
|
|
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.8",
|
|
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.8",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.18.0-RC.8",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.18.0-RC.8",
|
|
22
|
+
"@dynamic-labs/types": "0.18.0-RC.8",
|
|
23
|
+
"@dynamic-labs/utils": "0.18.0-RC.8",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.18.0-RC.8",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.18.0-RC.8"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "7.3.8"
|
package/src/index.cjs
CHANGED
|
@@ -37,6 +37,7 @@ var useLocalStorage = require('./lib/shared/utils/hooks/useLocalStorage/useLocal
|
|
|
37
37
|
var index$1 = require('./lib/shared/utils/hooks/useOnClickOutside/index.cjs');
|
|
38
38
|
var usePreventPageScroll = require('./lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs');
|
|
39
39
|
var useGlobalLoading = require('./lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.cjs');
|
|
40
|
+
var useMediaQuery = require('./lib/shared/utils/hooks/useMediaQuery/useMediaQuery.cjs');
|
|
40
41
|
var localStorage = require('./lib/shared/utils/classes/storage/localStorage.cjs');
|
|
41
42
|
var PhantomLedgerIcon = require('./lib/shared/assets/wallets/PhantomLedgerIcon/PhantomLedgerIcon.cjs');
|
|
42
43
|
var stroke = require('./lib/shared/assets/stroke.cjs');
|
|
@@ -161,6 +162,7 @@ exports.useLocalStorage = useLocalStorage.useLocalStorage;
|
|
|
161
162
|
exports.useOnClickOutside = index$1.useOnClickOutside;
|
|
162
163
|
exports.usePreventPageScroll = usePreventPageScroll.usePreventPageScroll;
|
|
163
164
|
exports.useGlobalLoading = useGlobalLoading.useGlobalLoading;
|
|
165
|
+
exports.useMediaQuery = useMediaQuery.useMediaQuery;
|
|
164
166
|
exports.LocalStorage = localStorage.LocalStorage;
|
|
165
167
|
exports.PhantomLedgerIcon = PhantomLedgerIcon.PhantomLedgerIcon;
|
|
166
168
|
exports.ArrowIcon = stroke.ReactComponent;
|
package/src/index.js
CHANGED
|
@@ -33,6 +33,7 @@ export { useLocalStorage } from './lib/shared/utils/hooks/useLocalStorage/useLoc
|
|
|
33
33
|
export { useOnClickOutside } from './lib/shared/utils/hooks/useOnClickOutside/index.js';
|
|
34
34
|
export { usePreventPageScroll } from './lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js';
|
|
35
35
|
export { useGlobalLoading } from './lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.js';
|
|
36
|
+
export { useMediaQuery } from './lib/shared/utils/hooks/useMediaQuery/useMediaQuery.js';
|
|
36
37
|
export { LocalStorage } from './lib/shared/utils/classes/storage/localStorage.js';
|
|
37
38
|
export { PhantomLedgerIcon } from './lib/shared/assets/wallets/PhantomLedgerIcon/PhantomLedgerIcon.js';
|
|
38
39
|
export { ReactComponent as ArrowIcon } from './lib/shared/assets/stroke.js';
|
|
@@ -21,6 +21,29 @@ var useInternalDynamicContext = require('../../context/DynamicContext/useInterna
|
|
|
21
21
|
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
22
22
|
require('@dynamic-labs/multi-wallet');
|
|
23
23
|
var isNetworkUnsupported = require('../../utils/functions/isNetworkUnsupported/isNetworkUnsupported.cjs');
|
|
24
|
+
require('../../config/ApiEndpoint.cjs');
|
|
25
|
+
require('@dynamic-labs/rpc-providers');
|
|
26
|
+
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
27
|
+
require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
28
|
+
require('react-dom');
|
|
29
|
+
require('../ShadowDOM/ShadowDOM.cjs');
|
|
30
|
+
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
31
|
+
require('react-focus-lock');
|
|
32
|
+
require('../Transition/ZoomTransition/ZoomTransition.cjs');
|
|
33
|
+
require('../Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
34
|
+
require('../Transition/OpacityTransition/OpacityTransition.cjs');
|
|
35
|
+
require('../IconButton/IconButton.cjs');
|
|
36
|
+
require('../Alert/Alert.cjs');
|
|
37
|
+
require('../Popper/Popper/Popper.cjs');
|
|
38
|
+
require('../Popper/PopperContext/PopperContext.cjs');
|
|
39
|
+
require('formik');
|
|
40
|
+
require('yup');
|
|
41
|
+
require('../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
42
|
+
require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
43
|
+
require('../../context/MockContext/MockContext.cjs');
|
|
44
|
+
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
45
|
+
var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
|
|
46
|
+
require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
|
|
24
47
|
var NetworkControl = require('./components/NetworkControl/NetworkControl.cjs');
|
|
25
48
|
var ActionList = require('./components/ActionList/ActionList.cjs');
|
|
26
49
|
var NetworkAction = require('./components/NetworkAction/NetworkAction.cjs');
|
|
@@ -29,6 +52,7 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
|
|
|
29
52
|
const pickerRef = React.useRef(null);
|
|
30
53
|
const [newNetworkId, setNewNetworkId] = React.useState(undefined);
|
|
31
54
|
const { loadingNetwork, network, setNetwork } = useInternalDynamicContext.useInternalDynamicContext();
|
|
55
|
+
const { data: supportedWalletNetworks } = usePromise.usePromise(() => connector === null || connector === void 0 ? void 0 : connector.getSupportedNetworks(), [network]);
|
|
32
56
|
const shouldAllowOpenDropdown = isNetworkUnsupported.isNetworkUnsupported(network, evmNetworks) || (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
|
|
33
57
|
index.useOnClickOutside(pickerRef, () => {
|
|
34
58
|
if (isNetworkPickerOpen) {
|
|
@@ -54,7 +78,8 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
|
|
|
54
78
|
setIsNetworkPickerOpen(false);
|
|
55
79
|
}
|
|
56
80
|
});
|
|
57
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('non-widget-network-picker', mainClassName), ref: pickerRef }, { children: [jsxRuntime.jsx(NetworkControl.NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), shouldAllowOpenDropdown && (jsxRuntime.jsx(ActionList.ActionList, Object.assign({ className: listClassName, title: 'Select network', isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen }, { children: jsxRuntime.jsx("div", Object.assign({ className: 'network-picker__dropdown' }, { children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsxRuntime.jsx(NetworkAction.NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId
|
|
81
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('non-widget-network-picker', mainClassName), ref: pickerRef }, { children: [jsxRuntime.jsx(NetworkControl.NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), shouldAllowOpenDropdown && (jsxRuntime.jsx(ActionList.ActionList, Object.assign({ className: listClassName, title: 'Select network', isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen }, { children: jsxRuntime.jsx("div", Object.assign({ className: 'network-picker__dropdown' }, { children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsxRuntime.jsx(NetworkAction.NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
|
|
82
|
+
!supportedWalletNetworks.includes(`${networkId}`) }, networkId))) })) })))] })));
|
|
58
83
|
};
|
|
59
84
|
|
|
60
85
|
exports.NetworkPicker = NetworkPicker;
|
|
@@ -17,6 +17,29 @@ import { useInternalDynamicContext } from '../../context/DynamicContext/useInter
|
|
|
17
17
|
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
18
18
|
import '@dynamic-labs/multi-wallet';
|
|
19
19
|
import { isNetworkUnsupported } from '../../utils/functions/isNetworkUnsupported/isNetworkUnsupported.js';
|
|
20
|
+
import '../../config/ApiEndpoint.js';
|
|
21
|
+
import '@dynamic-labs/rpc-providers';
|
|
22
|
+
import '../../context/ErrorContext/ErrorContext.js';
|
|
23
|
+
import '../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
24
|
+
import 'react-dom';
|
|
25
|
+
import '../ShadowDOM/ShadowDOM.js';
|
|
26
|
+
import '../../context/ThemeContext/ThemeContext.js';
|
|
27
|
+
import 'react-focus-lock';
|
|
28
|
+
import '../Transition/ZoomTransition/ZoomTransition.js';
|
|
29
|
+
import '../Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
30
|
+
import '../Transition/OpacityTransition/OpacityTransition.js';
|
|
31
|
+
import '../IconButton/IconButton.js';
|
|
32
|
+
import '../Alert/Alert.js';
|
|
33
|
+
import '../Popper/Popper/Popper.js';
|
|
34
|
+
import '../Popper/PopperContext/PopperContext.js';
|
|
35
|
+
import 'formik';
|
|
36
|
+
import 'yup';
|
|
37
|
+
import '../../context/WalletGroupContext/WalletGroupContext.js';
|
|
38
|
+
import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
39
|
+
import '../../context/MockContext/MockContext.js';
|
|
40
|
+
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
41
|
+
import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
|
|
42
|
+
import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
|
|
20
43
|
import { NetworkControl } from './components/NetworkControl/NetworkControl.js';
|
|
21
44
|
import { ActionList } from './components/ActionList/ActionList.js';
|
|
22
45
|
import { NetworkAction } from './components/NetworkAction/NetworkAction.js';
|
|
@@ -25,6 +48,7 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
|
|
|
25
48
|
const pickerRef = useRef(null);
|
|
26
49
|
const [newNetworkId, setNewNetworkId] = useState(undefined);
|
|
27
50
|
const { loadingNetwork, network, setNetwork } = useInternalDynamicContext();
|
|
51
|
+
const { data: supportedWalletNetworks } = usePromise(() => connector === null || connector === void 0 ? void 0 : connector.getSupportedNetworks(), [network]);
|
|
28
52
|
const shouldAllowOpenDropdown = isNetworkUnsupported(network, evmNetworks) || (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
|
|
29
53
|
useOnClickOutside(pickerRef, () => {
|
|
30
54
|
if (isNetworkPickerOpen) {
|
|
@@ -50,7 +74,8 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
|
|
|
50
74
|
setIsNetworkPickerOpen(false);
|
|
51
75
|
}
|
|
52
76
|
});
|
|
53
|
-
return (jsxs("div", Object.assign({ className: classNames('non-widget-network-picker', mainClassName), ref: pickerRef }, { children: [jsx(NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), shouldAllowOpenDropdown && (jsx(ActionList, Object.assign({ className: listClassName, title: 'Select network', isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen }, { children: jsx("div", Object.assign({ className: 'network-picker__dropdown' }, { children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsx(NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId
|
|
77
|
+
return (jsxs("div", Object.assign({ className: classNames('non-widget-network-picker', mainClassName), ref: pickerRef }, { children: [jsx(NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), shouldAllowOpenDropdown && (jsx(ActionList, Object.assign({ className: listClassName, title: 'Select network', isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen }, { children: jsx("div", Object.assign({ className: 'network-picker__dropdown' }, { children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsx(NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
|
|
78
|
+
!supportedWalletNetworks.includes(`${networkId}`) }, networkId))) })) })))] })));
|
|
54
79
|
};
|
|
55
80
|
|
|
56
81
|
export { NetworkPicker };
|
|
@@ -45,7 +45,9 @@ require('../../../Popper/PopperContext/PopperContext.cjs');
|
|
|
45
45
|
require('formik');
|
|
46
46
|
require('yup');
|
|
47
47
|
|
|
48
|
-
const Network = ({ iconUrl, isActive, networkName, className, checkboxClassName = '', isChanging, }) => (jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('network', className
|
|
48
|
+
const Network = ({ iconUrl, isActive, networkName, className, checkboxClassName = '', isChanging, notSupported = false, }) => (jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('network', className, {
|
|
49
|
+
'network--not-supported': notSupported,
|
|
50
|
+
}) }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: 'network__container' }, { children: [iconUrl ? (jsxRuntime.jsx("img", { src: iconUrl, className: 'network__title-icon', alt: `${networkName} icon` })) : (jsxRuntime.jsx(error.ReactComponent, {})), jsxRuntime.jsxs("div", Object.assign({ className: 'network__title-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'button_primary', className: 'network__title-copy', as: 'span', weight: 'medium', color: notSupported ? 'secondary' : 'primary' }, { children: networkName })), notSupported && (jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_mini', className: 'network__title-copy', as: 'span', weight: 'medium', color: notSupported ? 'secondary' : 'primary', "data-testid": 'network-not-supported' }, { children: "Enable network in your wallet" })))] }))] })), jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('network__status-container', {
|
|
49
51
|
'network__status-container--active': isActive,
|
|
50
52
|
}, checkboxClassName), "data-testid": 'single-network-checkbox' }, { children: [isActive && jsxRuntime.jsx(check.ReactComponent, { className: 'network__status-icon' }), isChanging && (jsxRuntime.jsx(Spinner.Spinner, { className: 'network__status-spinner-icon', size: 12 }))] }))] })));
|
|
51
53
|
|
|
@@ -6,6 +6,7 @@ type Props = {
|
|
|
6
6
|
isActive: boolean;
|
|
7
7
|
isChanging: boolean;
|
|
8
8
|
networkName: string;
|
|
9
|
+
notSupported?: boolean;
|
|
9
10
|
};
|
|
10
|
-
export declare const Network: ({ iconUrl, isActive, networkName, className, checkboxClassName, isChanging, }: Props) => JSX.Element;
|
|
11
|
+
export declare const Network: ({ iconUrl, isActive, networkName, className, checkboxClassName, isChanging, notSupported, }: Props) => JSX.Element;
|
|
11
12
|
export {};
|
|
@@ -41,7 +41,9 @@ import '../../../Popper/PopperContext/PopperContext.js';
|
|
|
41
41
|
import 'formik';
|
|
42
42
|
import 'yup';
|
|
43
43
|
|
|
44
|
-
const Network = ({ iconUrl, isActive, networkName, className, checkboxClassName = '', isChanging, }) => (jsxs("div", Object.assign({ className: classNames('network', className
|
|
44
|
+
const Network = ({ iconUrl, isActive, networkName, className, checkboxClassName = '', isChanging, notSupported = false, }) => (jsxs("div", Object.assign({ className: classNames('network', className, {
|
|
45
|
+
'network--not-supported': notSupported,
|
|
46
|
+
}) }, { children: [jsxs("div", Object.assign({ className: 'network__container' }, { children: [iconUrl ? (jsx("img", { src: iconUrl, className: 'network__title-icon', alt: `${networkName} icon` })) : (jsx(SvgError, {})), jsxs("div", Object.assign({ className: 'network__title-container' }, { children: [jsx(Typography, Object.assign({ variant: 'button_primary', className: 'network__title-copy', as: 'span', weight: 'medium', color: notSupported ? 'secondary' : 'primary' }, { children: networkName })), notSupported && (jsx(Typography, Object.assign({ variant: 'body_mini', className: 'network__title-copy', as: 'span', weight: 'medium', color: notSupported ? 'secondary' : 'primary', "data-testid": 'network-not-supported' }, { children: "Enable network in your wallet" })))] }))] })), jsxs("div", Object.assign({ className: classNames('network__status-container', {
|
|
45
47
|
'network__status-container--active': isActive,
|
|
46
48
|
}, checkboxClassName), "data-testid": 'single-network-checkbox' }, { children: [isActive && jsx(SvgCheck, { className: 'network__status-icon' }), isChanging && (jsx(Spinner, { className: 'network__status-spinner-icon', size: 12 }))] }))] })));
|
|
47
49
|
|
|
@@ -3,8 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var classNames = require('../../../../utils/functions/classNames/classNames.cjs');
|
|
6
7
|
var Network = require('../Network/Network.cjs');
|
|
7
8
|
|
|
8
|
-
const NetworkAction = ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName = '', newNetworkId, }) => (jsxRuntime.jsx("div", Object.assign({ className:
|
|
9
|
+
const NetworkAction = ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName = '', newNetworkId, notSupported, }) => (jsxRuntime.jsx("div", Object.assign({ className: classNames.classNames('network-action', {
|
|
10
|
+
'network--not-supported': notSupported,
|
|
11
|
+
}), onClick: () => {
|
|
12
|
+
!notSupported && onClick(networkId);
|
|
13
|
+
}, "data-testid": 'network-action' }, { children: jsxRuntime.jsx(Network.Network, { iconUrl: iconUrl, isActive: networkId === network, networkName: networkName, checkboxClassName: checkboxClassName, isChanging: newNetworkId === networkId, notSupported: notSupported }) })));
|
|
9
14
|
|
|
10
15
|
exports.NetworkAction = NetworkAction;
|
|
@@ -7,6 +7,7 @@ type Props = {
|
|
|
7
7
|
networkName: string;
|
|
8
8
|
newNetworkId: number | string | undefined;
|
|
9
9
|
onClick: (networkId: number | string) => Promise<void>;
|
|
10
|
+
notSupported?: boolean;
|
|
10
11
|
};
|
|
11
|
-
export declare const NetworkAction: ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName, newNetworkId, }: Props) => JSX.Element;
|
|
12
|
+
export declare const NetworkAction: ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName, newNetworkId, notSupported, }: Props) => JSX.Element;
|
|
12
13
|
export {};
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { classNames } from '../../../../utils/functions/classNames/classNames.js';
|
|
2
3
|
import { Network } from '../Network/Network.js';
|
|
3
4
|
|
|
4
|
-
const NetworkAction = ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName = '', newNetworkId, }) => (jsx("div", Object.assign({ className:
|
|
5
|
+
const NetworkAction = ({ iconUrl, networkId, network, onClick, networkName, checkboxClassName = '', newNetworkId, notSupported, }) => (jsx("div", Object.assign({ className: classNames('network-action', {
|
|
6
|
+
'network--not-supported': notSupported,
|
|
7
|
+
}), onClick: () => {
|
|
8
|
+
!notSupported && onClick(networkId);
|
|
9
|
+
}, "data-testid": 'network-action' }, { children: jsx(Network, { iconUrl: iconUrl, isActive: networkId === network, networkName: networkName, checkboxClassName: checkboxClassName, isChanging: newNetworkId === networkId, notSupported: notSupported }) })));
|
|
5
10
|
|
|
6
11
|
export { NetworkAction };
|
|
@@ -10,7 +10,7 @@ var Typography = require('../Typography/Typography.cjs');
|
|
|
10
10
|
|
|
11
11
|
const TosAndPp = ({ privacyPolicyUrl, termsOfServiceUrl, }) => {
|
|
12
12
|
const { user, authMode } = useInternalDynamicContext.useInternalDynamicContext();
|
|
13
|
-
return (jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'regular', className: 'tos-and-pp__text' }, { children: ["By ", isConnectOnly.isConnectOnly(user, authMode) ? 'connecting' : 'logging in', ", you agree to", jsxRuntime.jsx("br", {}), "our\u00A0", jsxRuntime.jsx("a", Object.assign({ className: 'tos-and-pp__link', href: termsOfServiceUrl, target: '_blank', rel: 'noreferrer' }, { children: "Terms of
|
|
13
|
+
return (jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'regular', className: 'tos-and-pp__text' }, { children: ["By ", isConnectOnly.isConnectOnly(user, authMode) ? 'connecting' : 'logging in', ", you agree to", jsxRuntime.jsx("br", {}), "our\u00A0", jsxRuntime.jsx("a", Object.assign({ className: 'tos-and-pp__link', href: termsOfServiceUrl, target: '_blank', rel: 'noreferrer' }, { children: "Terms of Service" })), "\u00A0&\u00A0", jsxRuntime.jsx("a", Object.assign({ className: 'tos-and-pp__link', href: privacyPolicyUrl, target: '_blank', rel: 'noreferrer' }, { children: "Privacy Policy" })), "."] })));
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.TosAndPp = TosAndPp;
|
|
@@ -6,7 +6,7 @@ import { Typography } from '../Typography/Typography.js';
|
|
|
6
6
|
|
|
7
7
|
const TosAndPp = ({ privacyPolicyUrl, termsOfServiceUrl, }) => {
|
|
8
8
|
const { user, authMode } = useInternalDynamicContext();
|
|
9
|
-
return (jsxs(Typography, Object.assign({ variant: 'body_small', weight: 'regular', className: 'tos-and-pp__text' }, { children: ["By ", isConnectOnly(user, authMode) ? 'connecting' : 'logging in', ", you agree to", jsx("br", {}), "our\u00A0", jsx("a", Object.assign({ className: 'tos-and-pp__link', href: termsOfServiceUrl, target: '_blank', rel: 'noreferrer' }, { children: "Terms of
|
|
9
|
+
return (jsxs(Typography, Object.assign({ variant: 'body_small', weight: 'regular', className: 'tos-and-pp__text' }, { children: ["By ", isConnectOnly(user, authMode) ? 'connecting' : 'logging in', ", you agree to", jsx("br", {}), "our\u00A0", jsx("a", Object.assign({ className: 'tos-and-pp__link', href: termsOfServiceUrl, target: '_blank', rel: 'noreferrer' }, { children: "Terms of Service" })), "\u00A0&\u00A0", jsx("a", Object.assign({ className: 'tos-and-pp__link', href: privacyPolicyUrl, target: '_blank', rel: 'noreferrer' }, { children: "Privacy Policy" })), "."] })));
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { TosAndPp };
|
|
@@ -3,10 +3,10 @@ export interface ITransitionOptions {
|
|
|
3
3
|
className?: string;
|
|
4
4
|
duration?: number;
|
|
5
5
|
inDuration?: number;
|
|
6
|
-
|
|
6
|
+
inDelay?: number;
|
|
7
7
|
isShown?: boolean;
|
|
8
8
|
outDuration?: number;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
outDelay?: number;
|
|
10
|
+
delay?: number;
|
|
11
11
|
}
|
|
12
12
|
export type TransitionProps = ITransitionOptions & PropsWithChildren;
|
|
@@ -90,7 +90,7 @@ var useSetShowAuthFlowWithInit = require('./hooks/useSetShowAuthFlowWithInit/use
|
|
|
90
90
|
|
|
91
91
|
const EMPTY_INITIAL_USER = undefined;
|
|
92
92
|
const DynamicContext = React.createContext(undefined);
|
|
93
|
-
const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displayTermsOfService = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, }, children, theme, }) => {
|
|
93
|
+
const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displayTermsOfService = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectV1Bridge, walletConnectors: walletConnectorsProp, }, children, theme, }) => {
|
|
94
94
|
var _a, _b, _c, _d, _e;
|
|
95
95
|
logger.logger.setLogLevel(logLevel);
|
|
96
96
|
walletConnectorCore.logger.setLogLevel(logLevel);
|
|
@@ -144,12 +144,22 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
144
144
|
networkConfigurations: serverNetworkConfigurations,
|
|
145
145
|
projectSettings,
|
|
146
146
|
walletBook: walletBook$1,
|
|
147
|
+
walletConnectV1Bridge,
|
|
147
148
|
walletConnectorsProp,
|
|
148
149
|
walletUiUtils,
|
|
149
150
|
});
|
|
150
151
|
const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
|
|
151
152
|
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId();
|
|
152
|
-
const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, setConnectedWallet, setConnectedWallets, connectedWallets, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet(
|
|
153
|
+
const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, setConnectedWallet, setConnectedWallets, connectedWallets, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet({
|
|
154
|
+
authMode,
|
|
155
|
+
clearPrimaryWalletId,
|
|
156
|
+
enableVisitTrackingOnConnectOnly,
|
|
157
|
+
environmentId,
|
|
158
|
+
primaryWalletId,
|
|
159
|
+
setPrimaryWalletId,
|
|
160
|
+
user,
|
|
161
|
+
wallets,
|
|
162
|
+
});
|
|
153
163
|
const [selectedWalletConnector, setSelectedWalletConnector] = React.useState(null);
|
|
154
164
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
155
165
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = React.useState(null);
|
|
@@ -197,6 +207,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
197
207
|
clearAllWalletConnectSessions();
|
|
198
208
|
setWalletsToConnectByChain(walletsByChain);
|
|
199
209
|
setShowBridgeWidget(false);
|
|
210
|
+
localStorage.LocalStorage.removeFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY);
|
|
200
211
|
const jwt = getAuthToken.getAuthToken();
|
|
201
212
|
if (jwt && user) {
|
|
202
213
|
// do not await this async call - just fire and forget
|
|
@@ -261,7 +272,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
261
272
|
const { walletsForChainsMap } = useFetchWalletsForChainsMap.useFetchWalletsForChainsMap(newToWeb3WalletChainMap);
|
|
262
273
|
const rpcProviders = useRpcProviders.useRpcProviders({
|
|
263
274
|
networkConfigurations: serverNetworkConfigurations,
|
|
264
|
-
networkId: network,
|
|
265
275
|
});
|
|
266
276
|
React.useEffect(() => {
|
|
267
277
|
helpers.initExpirationTime(handleLogOut);
|
|
@@ -295,6 +305,9 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
295
305
|
if (!localStorage.LocalStorage.getFromLS(localStorage$1.AUTH_USER)) {
|
|
296
306
|
localStorage.LocalStorage.removeFromLS(localStorage$1.AUTH_TOKEN);
|
|
297
307
|
}
|
|
308
|
+
if (localStorage.LocalStorage.getFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY)) {
|
|
309
|
+
localStorage.LocalStorage.removeFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY);
|
|
310
|
+
}
|
|
298
311
|
if (selectedWalletConnector &&
|
|
299
312
|
(!primaryWallet ||
|
|
300
313
|
!isSameWalletName.isSameWalletName(primaryWallet.connector.name, selectedWalletConnector.name))) {
|
|
@@ -365,6 +378,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
365
378
|
privacyPolicyUrl,
|
|
366
379
|
projectSettings,
|
|
367
380
|
qrcodeUri,
|
|
381
|
+
removeConnectedWalletsInfo,
|
|
368
382
|
rpcProviders,
|
|
369
383
|
sdkHasLoaded,
|
|
370
384
|
secondaryWallets,
|
|
@@ -373,6 +387,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
373
387
|
setAuthMode,
|
|
374
388
|
setAuthorizationViewDisplayOrder,
|
|
375
389
|
setCallback,
|
|
390
|
+
setConnectedWallets,
|
|
376
391
|
setDesktopUri,
|
|
377
392
|
setIsSingleWalletAccount,
|
|
378
393
|
setIsVerifying,
|
|
@@ -466,6 +481,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
466
481
|
privacyPolicyUrl,
|
|
467
482
|
projectSettings,
|
|
468
483
|
qrcodeUri,
|
|
484
|
+
removeConnectedWalletsInfo,
|
|
469
485
|
rpcProviders,
|
|
470
486
|
sdkHasLoaded,
|
|
471
487
|
selectedWalletConnector,
|
|
@@ -480,7 +496,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
480
496
|
setPrimaryWalletId,
|
|
481
497
|
setSdkHasLoaded,
|
|
482
498
|
setShowAuthFlowWithInit,
|
|
483
|
-
setShowBridgeAuthFlow,
|
|
484
499
|
setShowQrcodeModal,
|
|
485
500
|
setUser,
|
|
486
501
|
shadowDOMEnabled,
|
|
@@ -504,6 +519,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
504
519
|
walletsByChain,
|
|
505
520
|
walletsFilter,
|
|
506
521
|
walletsToConnectByChain,
|
|
522
|
+
setConnectedWallets,
|
|
507
523
|
]);
|
|
508
524
|
React.useEffect(() => {
|
|
509
525
|
const addPrefetch = (attr) => {
|
|
@@ -120,6 +120,8 @@ export interface IDynamicContext {
|
|
|
120
120
|
walletUiUtils: WalletUiUtils;
|
|
121
121
|
wallets: WalletOption[];
|
|
122
122
|
walletsFilter?: (options: WalletOption[]) => WalletOption[];
|
|
123
|
+
removeConnectedWalletsInfo: () => void;
|
|
124
|
+
setConnectedWallets: Dispatch<SetStateAction<Wallet[] | []>>;
|
|
123
125
|
}
|
|
124
126
|
export interface DynamicContextProps {
|
|
125
127
|
children: ReactNode;
|
|
@@ -165,11 +167,12 @@ export interface DynamicContextProps {
|
|
|
165
167
|
socialMediaUrl?: string;
|
|
166
168
|
termsOfServiceUrl?: string;
|
|
167
169
|
toolkitEnabled?: boolean;
|
|
170
|
+
walletConnectV1Bridge?: string;
|
|
168
171
|
walletConnectors?: WalletConnectorsMethod[];
|
|
169
172
|
walletsFilter?: (options: WalletOption[]) => WalletOption[];
|
|
170
173
|
};
|
|
171
174
|
theme?: ThemeData | ThemeSetting;
|
|
172
175
|
}
|
|
173
176
|
export declare const DynamicContext: import("react").Context<IDynamicContext | undefined>;
|
|
174
|
-
export declare const DynamicContextProvider: ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl, appName, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow, flowNetwork, initialAuthenticationMode, debugError, displayTermsOfService, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel, multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled, walletConnectors: walletConnectorsProp, }, children, theme, }: DynamicContextProps) => JSX.Element;
|
|
177
|
+
export declare const DynamicContextProvider: ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl, appName, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow, flowNetwork, initialAuthenticationMode, debugError, displayTermsOfService, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel, multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled, walletConnectV1Bridge, walletConnectors: walletConnectorsProp, }, children, theme, }: DynamicContextProps) => JSX.Element;
|
|
175
178
|
export {};
|
|
@@ -4,7 +4,7 @@ import { createContext, useState, useCallback, useEffect, useMemo } from 'react'
|
|
|
4
4
|
import { useWalletBookCdn, getWalletBookCdnUrl, WalletBookContextProvider } from '@dynamic-labs/wallet-book';
|
|
5
5
|
import { logger as logger$1 } from '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import { ICONIC_SPRITE_URL } from '@dynamic-labs/iconic';
|
|
7
|
-
import { AUTH_USER, AUTH_TOKEN, AUTH_MODE } from '../../utils/constants/localStorage.js';
|
|
7
|
+
import { AUTH_USER, AUTH_TOKEN, AUTH_MODE, WALLET_PICKER_SEARCH_KEY } from '../../utils/constants/localStorage.js';
|
|
8
8
|
import '../../utils/constants/colors.js';
|
|
9
9
|
import { DEFAULT_NUMBER_OF_WALLETS_TO_SHOW } from '../../utils/constants/values.js';
|
|
10
10
|
import { decodeJwt } from '../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
@@ -86,7 +86,7 @@ import { useSetShowAuthFlowWithInit } from './hooks/useSetShowAuthFlowWithInit/u
|
|
|
86
86
|
|
|
87
87
|
const EMPTY_INITIAL_USER = undefined;
|
|
88
88
|
const DynamicContext = createContext(undefined);
|
|
89
|
-
const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displayTermsOfService = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, }, children, theme, }) => {
|
|
89
|
+
const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displayTermsOfService = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectV1Bridge, walletConnectors: walletConnectorsProp, }, children, theme, }) => {
|
|
90
90
|
var _a, _b, _c, _d, _e;
|
|
91
91
|
logger.setLogLevel(logLevel);
|
|
92
92
|
logger$1.setLogLevel(logLevel);
|
|
@@ -140,12 +140,22 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
140
140
|
networkConfigurations: serverNetworkConfigurations,
|
|
141
141
|
projectSettings,
|
|
142
142
|
walletBook,
|
|
143
|
+
walletConnectV1Bridge,
|
|
143
144
|
walletConnectorsProp,
|
|
144
145
|
walletUiUtils,
|
|
145
146
|
});
|
|
146
147
|
const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
|
|
147
148
|
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId();
|
|
148
|
-
const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, setConnectedWallet, setConnectedWallets, connectedWallets, connectWalletByAddressAndChain, } = useConnectWallet(
|
|
149
|
+
const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, setConnectedWallet, setConnectedWallets, connectedWallets, connectWalletByAddressAndChain, } = useConnectWallet({
|
|
150
|
+
authMode,
|
|
151
|
+
clearPrimaryWalletId,
|
|
152
|
+
enableVisitTrackingOnConnectOnly,
|
|
153
|
+
environmentId,
|
|
154
|
+
primaryWalletId,
|
|
155
|
+
setPrimaryWalletId,
|
|
156
|
+
user,
|
|
157
|
+
wallets,
|
|
158
|
+
});
|
|
149
159
|
const [selectedWalletConnector, setSelectedWalletConnector] = useState(null);
|
|
150
160
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
151
161
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = useState(null);
|
|
@@ -193,6 +203,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
193
203
|
clearAllWalletConnectSessions();
|
|
194
204
|
setWalletsToConnectByChain(walletsByChain);
|
|
195
205
|
setShowBridgeWidget(false);
|
|
206
|
+
LocalStorage.removeFromLS(WALLET_PICKER_SEARCH_KEY);
|
|
196
207
|
const jwt = getAuthToken();
|
|
197
208
|
if (jwt && user) {
|
|
198
209
|
// do not await this async call - just fire and forget
|
|
@@ -257,7 +268,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
257
268
|
const { walletsForChainsMap } = useFetchWalletsForChainsMap(newToWeb3WalletChainMap);
|
|
258
269
|
const rpcProviders = useRpcProviders({
|
|
259
270
|
networkConfigurations: serverNetworkConfigurations,
|
|
260
|
-
networkId: network,
|
|
261
271
|
});
|
|
262
272
|
useEffect(() => {
|
|
263
273
|
initExpirationTime(handleLogOut);
|
|
@@ -291,6 +301,9 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
291
301
|
if (!LocalStorage.getFromLS(AUTH_USER)) {
|
|
292
302
|
LocalStorage.removeFromLS(AUTH_TOKEN);
|
|
293
303
|
}
|
|
304
|
+
if (LocalStorage.getFromLS(WALLET_PICKER_SEARCH_KEY)) {
|
|
305
|
+
LocalStorage.removeFromLS(WALLET_PICKER_SEARCH_KEY);
|
|
306
|
+
}
|
|
294
307
|
if (selectedWalletConnector &&
|
|
295
308
|
(!primaryWallet ||
|
|
296
309
|
!isSameWalletName(primaryWallet.connector.name, selectedWalletConnector.name))) {
|
|
@@ -361,6 +374,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
361
374
|
privacyPolicyUrl,
|
|
362
375
|
projectSettings,
|
|
363
376
|
qrcodeUri,
|
|
377
|
+
removeConnectedWalletsInfo,
|
|
364
378
|
rpcProviders,
|
|
365
379
|
sdkHasLoaded,
|
|
366
380
|
secondaryWallets,
|
|
@@ -369,6 +383,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
369
383
|
setAuthMode,
|
|
370
384
|
setAuthorizationViewDisplayOrder,
|
|
371
385
|
setCallback,
|
|
386
|
+
setConnectedWallets,
|
|
372
387
|
setDesktopUri,
|
|
373
388
|
setIsSingleWalletAccount,
|
|
374
389
|
setIsVerifying,
|
|
@@ -462,6 +477,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
462
477
|
privacyPolicyUrl,
|
|
463
478
|
projectSettings,
|
|
464
479
|
qrcodeUri,
|
|
480
|
+
removeConnectedWalletsInfo,
|
|
465
481
|
rpcProviders,
|
|
466
482
|
sdkHasLoaded,
|
|
467
483
|
selectedWalletConnector,
|
|
@@ -476,7 +492,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
476
492
|
setPrimaryWalletId,
|
|
477
493
|
setSdkHasLoaded,
|
|
478
494
|
setShowAuthFlowWithInit,
|
|
479
|
-
setShowBridgeAuthFlow,
|
|
480
495
|
setShowQrcodeModal,
|
|
481
496
|
setUser,
|
|
482
497
|
shadowDOMEnabled,
|
|
@@ -500,6 +515,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
500
515
|
walletsByChain,
|
|
501
516
|
walletsFilter,
|
|
502
517
|
walletsToConnectByChain,
|
|
518
|
+
setConnectedWallets,
|
|
503
519
|
]);
|
|
504
520
|
useEffect(() => {
|
|
505
521
|
const addPrefetch = (attr) => {
|
|
@@ -7,10 +7,16 @@ var React = require('react');
|
|
|
7
7
|
var useInternalDynamicContext = require('../DynamicContext/useInternalDynamicContext.cjs');
|
|
8
8
|
|
|
9
9
|
const errorMessageMap = {
|
|
10
|
+
'-32000': 'Message signature denied',
|
|
10
11
|
'-32002': 'Please unlock your wallet extension and try again.',
|
|
11
12
|
'-32602': 'Invalid parameters. Please try again.',
|
|
12
13
|
'-32603': 'There was an internal error. Please try again.',
|
|
14
|
+
0: 'Message signature denied.',
|
|
13
15
|
4001: 'Message signature denied.',
|
|
16
|
+
5001: 'Message signature denied.',
|
|
17
|
+
5002: 'Message signature denied.',
|
|
18
|
+
connection_rejected: 'Connection rejected. Please try again.',
|
|
19
|
+
metamask_timeout: 'Please change your wallet chain to Ethereum Main Network and try again',
|
|
14
20
|
'missing-nonce': 'Something went wrong. Please try again.',
|
|
15
21
|
'missing-public-address': 'Connection cancelled. Please try again',
|
|
16
22
|
too_many_email_verification_attempts: 'Too many email verification attempts, please try again later',
|
|
@@ -3,10 +3,16 @@ import { createContext, useState, useCallback, useEffect, useMemo, useContext }
|
|
|
3
3
|
import { useInternalDynamicContext } from '../DynamicContext/useInternalDynamicContext.js';
|
|
4
4
|
|
|
5
5
|
const errorMessageMap = {
|
|
6
|
+
'-32000': 'Message signature denied',
|
|
6
7
|
'-32002': 'Please unlock your wallet extension and try again.',
|
|
7
8
|
'-32602': 'Invalid parameters. Please try again.',
|
|
8
9
|
'-32603': 'There was an internal error. Please try again.',
|
|
10
|
+
0: 'Message signature denied.',
|
|
9
11
|
4001: 'Message signature denied.',
|
|
12
|
+
5001: 'Message signature denied.',
|
|
13
|
+
5002: 'Message signature denied.',
|
|
14
|
+
connection_rejected: 'Connection rejected. Please try again.',
|
|
15
|
+
metamask_timeout: 'Please change your wallet chain to Ethereum Main Network and try again',
|
|
10
16
|
'missing-nonce': 'Something went wrong. Please try again.',
|
|
11
17
|
'missing-public-address': 'Connection cancelled. Please try again',
|
|
12
18
|
too_many_email_verification_attempts: 'Too many email verification attempts, please try again later',
|
|
@@ -2,3 +2,4 @@ export { useLocalStorage } from './useLocalStorage';
|
|
|
2
2
|
export { useOnClickOutside } from './useOnClickOutside';
|
|
3
3
|
export { usePreventPageScroll } from './usePreventPageScroll';
|
|
4
4
|
export { useGlobalLoading } from './useGlobalLoading';
|
|
5
|
+
export { useMediaQuery } from './useMediaQuery';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useMediaQuery } from './useMediaQuery';
|