@dynamic-labs/sdk-react-core 0.17.0-RC.15 → 0.17.0-RC.17
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 +32 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +8 -8
- package/src/lib/components/Divider/Divider.cjs +4 -1
- package/src/lib/components/Divider/Divider.d.ts +6 -2
- package/src/lib/components/Divider/Divider.js +4 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +40 -0
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.d.ts +17 -0
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +36 -0
- package/src/lib/components/TransactionConfirmationPageLayout/components/TransactionRow/TransactionRow.cjs +11 -0
- package/src/lib/components/TransactionConfirmationPageLayout/components/TransactionRow/TransactionRow.d.ts +12 -0
- package/src/lib/components/TransactionConfirmationPageLayout/components/TransactionRow/TransactionRow.js +7 -0
- package/src/lib/components/TransactionConfirmationPageLayout/components/TransactionRow/index.d.ts +1 -0
- package/src/lib/components/TransactionConfirmationPageLayout/components/index.d.ts +1 -0
- package/src/lib/components/TransactionConfirmationPageLayout/index.d.ts +2 -0
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +19 -7
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +2 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +19 -7
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +6 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +6 -1
- package/src/lib/data/api.cjs +2 -1
- package/src/lib/data/api.d.ts +1 -1
- package/src/lib/data/api.js +2 -1
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +18 -25
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +18 -25
- package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +0 -1
- package/src/lib/shared/types/index.d.ts +4 -2
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/isWalletLinked/index.d.ts +1 -0
- package/src/lib/utils/functions/isWalletLinked/isWalletLinked.cjs +15 -0
- package/src/lib/utils/functions/isWalletLinked/isWalletLinked.d.ts +2 -0
- package/src/lib/utils/functions/isWalletLinked/isWalletLinked.js +11 -0
- package/src/lib/utils/hooks/multiWallet/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs +0 -2
- package/src/lib/utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js +0 -2
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +53 -6
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +8 -1
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +54 -7
- package/src/lib/utils/hooks/useConnectedAccountWallet/index.d.ts +1 -0
- package/src/lib/utils/hooks/useConnectedAccountWallet/useConnectedAccountWallet.cjs +30 -0
- package/src/lib/utils/hooks/useConnectedAccountWallet/useConnectedAccountWallet.d.ts +2 -0
- package/src/lib/utils/hooks/useConnectedAccountWallet/useConnectedAccountWallet.js +26 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -4
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +5 -4
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +18 -6
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +18 -6
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +4 -5
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +4 -5
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +2 -1
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +2 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetPrompts/DynamicWidgetPrompts.cjs +15 -5
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetPrompts/DynamicWidgetPrompts.js +15 -5
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +2 -1
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +2 -1
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +38 -6
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.d.ts +2 -1
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +39 -7
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +2 -2
- package/src/lib/widgets/DynamicWidget/{components/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs → prompts/DefaultPromptModal/DefaultPromptModal.cjs} +6 -13
- package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.d.ts +13 -0
- package/src/lib/widgets/DynamicWidget/{components/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js → prompts/DefaultPromptModal/DefaultPromptModal.js} +6 -13
- package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.cjs +17 -42
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.js +18 -43
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +40 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.d.ts +7 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +36 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +67 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.d.ts +8 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +63 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +57 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +53 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +44 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +40 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +64 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +60 -0
- package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/PendingSignModal.cjs +2 -33
- package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/PendingSignModal.js +2 -33
- package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +4 -6
- package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +5 -7
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DefaultPendingSignModalContent/DefaultPendingSignModalContent.d.ts +0 -2
- package/src/lib/widgets/DynamicWidget/components/DefaultPendingSignModalContent/DefaultPendingSignModalContent.types.d.ts +0 -7
- package/src/lib/widgets/DynamicWidget/prompts/DetectedKnownSecondaryWalletModal/DetectedKnownSecondaryWalletModal.cjs +0 -61
- package/src/lib/widgets/DynamicWidget/prompts/DetectedKnownSecondaryWalletModal/DetectedKnownSecondaryWalletModal.d.ts +0 -7
- package/src/lib/widgets/DynamicWidget/prompts/DetectedKnownSecondaryWalletModal/DetectedKnownSecondaryWalletModal.js +0 -57
- package/src/lib/widgets/DynamicWidget/prompts/DetectedKnownSecondaryWalletModal/index.d.ts +0 -1
- /package/src/lib/widgets/DynamicWidget/{components → prompts/PendingSignModal}/DefaultPendingSignModalContent/index.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.17.0-RC.17](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.0-RC.16...v0.17.0-RC.17) (2023-05-17)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* distinguish walletconnect deeplink types ([#2093](https://github.com/dynamic-labs/DynamicAuth/issues/2093)) ([dcd29f7](https://github.com/dynamic-labs/DynamicAuth/commit/dcd29f7cfc5e6481aaaae502b3fc4e4d225f1fc1))
|
|
8
|
+
* **social:** pass did token to verify request ([#2124](https://github.com/dynamic-labs/DynamicAuth/issues/2124)) ([60d73a5](https://github.com/dynamic-labs/DynamicAuth/commit/60d73a5f432d488979f33fe29666d1afa8fc0e8e))
|
|
9
|
+
* support optional priority and stalltimeout for customer provided rpc urls ([#2091](https://github.com/dynamic-labs/DynamicAuth/issues/2091)) ([eebacda](https://github.com/dynamic-labs/DynamicAuth/commit/eebacda6a9d6ba583eff4e4e5a38eb9945c4825e))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* add and remove event listeners for Solflare ([#2127](https://github.com/dynamic-labs/DynamicAuth/issues/2127)) ([978c7ba](https://github.com/dynamic-labs/DynamicAuth/commit/978c7ba0e3745e26d9dfc9b7c46a24adc913f02f))
|
|
15
|
+
* get publicKey from provider if no address and publicKey are returned on connect ([#2126](https://github.com/dynamic-labs/DynamicAuth/issues/2126)) ([c9c9b2a](https://github.com/dynamic-labs/DynamicAuth/commit/c9c9b2af81f660aa651fc4b0e01cd3c823bb0229))
|
|
16
|
+
* remove detect known secondary wallet modal ([#2117](https://github.com/dynamic-labs/DynamicAuth/issues/2117)) ([0e8bbd8](https://github.com/dynamic-labs/DynamicAuth/commit/0e8bbd8c385fe528a7af3ccc037812df9d6e0c84))
|
|
17
|
+
* revert changes for select wallet to work with solflare ([#2120](https://github.com/dynamic-labs/DynamicAuth/issues/2120)) ([76cf228](https://github.com/dynamic-labs/DynamicAuth/commit/76cf228c495d6592da4c88b8a0d5a5fc480861ae))
|
|
18
|
+
* setIsVerifying to false when selecting a connector ([#2133](https://github.com/dynamic-labs/DynamicAuth/issues/2133)) ([8ddeba3](https://github.com/dynamic-labs/DynamicAuth/commit/8ddeba377f35dfb4a104cd6bd7ee6315d574710f))
|
|
19
|
+
* setPrimaryWallet and useSyncPrimaryWallet updates ([#2128](https://github.com/dynamic-labs/DynamicAuth/issues/2128)) ([fb47b17](https://github.com/dynamic-labs/DynamicAuth/commit/fb47b17ddc7f41c29f140a1a85a1e47dbf017fff))
|
|
20
|
+
* update text color and add close button on extension not installed prompt ([#2122](https://github.com/dynamic-labs/DynamicAuth/issues/2122)) ([b4848a0](https://github.com/dynamic-labs/DynamicAuth/commit/b4848a0a8094b4ceac67e2667d277a9aa5e2e137))
|
|
21
|
+
|
|
22
|
+
## [0.17.0-RC.16](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.0-RC.15...v0.17.0-RC.16) (2023-05-15)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* add social oauth result to verify request ([#2081](https://github.com/dynamic-labs/DynamicAuth/issues/2081)) ([4da650a](https://github.com/dynamic-labs/DynamicAuth/commit/4da650affe9c96e0ab9e446f58c91b9b13db3651))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Bug Fixes
|
|
31
|
+
|
|
32
|
+
* **DYN-2327:** user profile is not loaded properly on the first load ([#2113](https://github.com/dynamic-labs/DynamicAuth/issues/2113)) ([c05834e](https://github.com/dynamic-labs/DynamicAuth/commit/c05834ed89ecc12d586baa97bcaf2bd3c1919f59))
|
|
33
|
+
|
|
2
34
|
## [0.17.0-RC.15](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.0-RC.14...v0.17.0-RC.15) (2023-05-15)
|
|
3
35
|
|
|
4
36
|
|
package/package.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var version = "0.17.0-RC.
|
|
5
|
+
var version = "0.17.0-RC.17";
|
|
6
6
|
var dependencies = {
|
|
7
7
|
"react-focus-lock": "^2.9.2",
|
|
8
8
|
"@dynamic-labs/iconic": "^0.1.19",
|
|
9
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
9
|
+
"@dynamic-labs/sdk-api": "0.0.195",
|
|
10
10
|
"@dynamic-labs/wallet-book": "^0.0.15",
|
|
11
11
|
"@hcaptcha/react-hcaptcha": "~1.4.4",
|
|
12
12
|
"country-list": "^2.3.0",
|
package/package.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var version = "0.17.0-RC.
|
|
1
|
+
var version = "0.17.0-RC.17";
|
|
2
2
|
var dependencies = {
|
|
3
3
|
"react-focus-lock": "^2.9.2",
|
|
4
4
|
"@dynamic-labs/iconic": "^0.1.19",
|
|
5
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
5
|
+
"@dynamic-labs/sdk-api": "0.0.195",
|
|
6
6
|
"@dynamic-labs/wallet-book": "^0.0.15",
|
|
7
7
|
"@hcaptcha/react-hcaptcha": "~1.4.4",
|
|
8
8
|
"country-list": "^2.3.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "0.17.0-RC.
|
|
3
|
+
"version": "0.17.0-RC.17",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"react-focus-lock": "^2.9.2",
|
|
11
11
|
"@dynamic-labs/iconic": "^0.1.19",
|
|
12
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
12
|
+
"@dynamic-labs/sdk-api": "0.0.195",
|
|
13
13
|
"@dynamic-labs/wallet-book": "^0.0.15",
|
|
14
14
|
"@hcaptcha/react-hcaptcha": "~1.4.4",
|
|
15
15
|
"country-list": "^2.3.0",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"formik": "^2.2.9",
|
|
18
18
|
"qrcode": "1.5.1",
|
|
19
19
|
"ethers": "^5.7.2",
|
|
20
|
-
"@dynamic-labs/logger": "0.17.0-RC.
|
|
21
|
-
"@dynamic-labs/multi-wallet": "0.17.0-RC.
|
|
22
|
-
"@dynamic-labs/rpc-providers": "0.17.0-RC.
|
|
23
|
-
"@dynamic-labs/types": "0.17.0-RC.
|
|
24
|
-
"@dynamic-labs/utils": "0.17.0-RC.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "0.17.0-RC.
|
|
20
|
+
"@dynamic-labs/logger": "0.17.0-RC.17",
|
|
21
|
+
"@dynamic-labs/multi-wallet": "0.17.0-RC.17",
|
|
22
|
+
"@dynamic-labs/rpc-providers": "0.17.0-RC.17",
|
|
23
|
+
"@dynamic-labs/types": "0.17.0-RC.17",
|
|
24
|
+
"@dynamic-labs/utils": "0.17.0-RC.17",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.17.0-RC.17"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "^7.3.8"
|
|
@@ -18,6 +18,7 @@ require('../../context/DynamicContext/DynamicContext.cjs');
|
|
|
18
18
|
require('@dynamic-labs/multi-wallet');
|
|
19
19
|
require('../ShadowDOM/ShadowDOM.cjs');
|
|
20
20
|
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
21
|
+
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
21
22
|
require('react-dom');
|
|
22
23
|
require('react-focus-lock');
|
|
23
24
|
require('../Transition/ZoomTransition/ZoomTransition.cjs');
|
|
@@ -34,6 +35,8 @@ require('../Alert/Alert.cjs');
|
|
|
34
35
|
require('../Popper/Popper/Popper.cjs');
|
|
35
36
|
require('../Popper/PopperContext/PopperContext.cjs');
|
|
36
37
|
|
|
37
|
-
const Divider = ({ text }) => (jsxRuntime.jsxs("div", Object.assign({ className:
|
|
38
|
+
const Divider = ({ text, className = '', fullWidth = false }) => (jsxRuntime.jsxs("div", Object.assign({ className: classNames.classNames('divider', className, {
|
|
39
|
+
'divider__full-width': fullWidth,
|
|
40
|
+
}) }, { children: [jsxRuntime.jsx("div", { className: 'divider__dash' }), jsxRuntime.jsx(Typography.Typography, Object.assign({ className: 'divider__text', variant: 'body_small', color: 'secondary' }, { children: text })), jsxRuntime.jsx("div", { className: 'divider__dash' })] })));
|
|
38
41
|
|
|
39
42
|
exports.Divider = Divider;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
type Props = {
|
|
3
|
+
className?: string;
|
|
4
|
+
fullWidth?: boolean;
|
|
3
5
|
text: string;
|
|
4
|
-
}
|
|
6
|
+
};
|
|
7
|
+
export declare const Divider: ({ text, className, fullWidth }: Props) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -14,6 +14,7 @@ import '../../context/DynamicContext/DynamicContext.js';
|
|
|
14
14
|
import '@dynamic-labs/multi-wallet';
|
|
15
15
|
import '../ShadowDOM/ShadowDOM.js';
|
|
16
16
|
import '../../context/ThemeContext/ThemeContext.js';
|
|
17
|
+
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
17
18
|
import 'react-dom';
|
|
18
19
|
import 'react-focus-lock';
|
|
19
20
|
import '../Transition/ZoomTransition/ZoomTransition.js';
|
|
@@ -30,6 +31,8 @@ import '../Alert/Alert.js';
|
|
|
30
31
|
import '../Popper/Popper/Popper.js';
|
|
31
32
|
import '../Popper/PopperContext/PopperContext.js';
|
|
32
33
|
|
|
33
|
-
const Divider = ({ text
|
|
34
|
+
const Divider = ({ text, className = '', fullWidth = false }) => (jsxs("div", Object.assign({ className: classNames('divider', className, {
|
|
35
|
+
'divider__full-width': fullWidth,
|
|
36
|
+
}) }, { children: [jsx("div", { className: 'divider__dash' }), jsx(Typography, Object.assign({ className: 'divider__text', variant: 'body_small', color: 'secondary' }, { children: text })), jsx("div", { className: 'divider__dash' })] })));
|
|
34
37
|
|
|
35
38
|
export { Divider };
|
package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var ModalHeader = require('../ModalHeader/ModalHeader.cjs');
|
|
7
|
+
var IconWithSpinner = require('../IconWithSpinner/IconWithSpinner.cjs');
|
|
8
|
+
var Icon = require('../Icon/Icon.cjs');
|
|
9
|
+
require('@dynamic-labs/sdk-api');
|
|
10
|
+
require('../../shared/logger.cjs');
|
|
11
|
+
require('@dynamic-labs/iconic');
|
|
12
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
13
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
14
|
+
require('react');
|
|
15
|
+
var close = require('../../shared/assets/close.cjs');
|
|
16
|
+
var chevronLeft = require('../../shared/assets/chevron-left.cjs');
|
|
17
|
+
var signCircle = require('../../shared/assets/sign-circle.cjs');
|
|
18
|
+
require('@dynamic-labs/utils');
|
|
19
|
+
require('../../utils/constants/colors.cjs');
|
|
20
|
+
require('ethers');
|
|
21
|
+
require('../../shared/consts/index.cjs');
|
|
22
|
+
var IconButton = require('../IconButton/IconButton.cjs');
|
|
23
|
+
var Typography = require('../Typography/Typography.cjs');
|
|
24
|
+
var AnimatePresence = require('../AnimatePresence/AnimatePresence.cjs');
|
|
25
|
+
require('../Transition/ZoomTransition/ZoomTransition.cjs');
|
|
26
|
+
require('../Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
27
|
+
require('../Transition/OpacityTransition/OpacityTransition.cjs');
|
|
28
|
+
var VerticalDrawerTransition = require('../Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs');
|
|
29
|
+
var Alert = require('../Alert/Alert.cjs');
|
|
30
|
+
var AppOriginTile = require('../AppOriginTile/AppOriginTile.cjs');
|
|
31
|
+
var Button = require('../Button/Button.cjs');
|
|
32
|
+
var PoweredByDynamic = require('../PoweredByDynamic/PoweredByDynamic.cjs');
|
|
33
|
+
|
|
34
|
+
const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBack, title, error, appOrigin, appLogoUrl, appName, onClickSend, disableSendButton, displayPoweredByDynamicFooter = false, warningMessage, children, }) => {
|
|
35
|
+
const closeButton = onClickClose && (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading }, { children: jsxRuntime.jsx(close.ReactComponent, {}) })));
|
|
36
|
+
const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ type: 'button', onClick: onClickBack, "data-testid": 'back-button' }, { children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) })));
|
|
37
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ trailing: closeButton, leading: backButton, alignContent: 'bottom' }, { children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: (props) => (jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'brand-primary' }, { children: jsxRuntime.jsx(signCircle.ReactComponent, Object.assign({}, props)) }))), iconSize: 64, isSpinning: true }) })), jsxRuntime.jsxs("div", Object.assign({ className: 'transaction-confirmation__body' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'title', color: 'primary', className: 'transaction-confirmation__title' }, { children: title })), jsxRuntime.jsx(AnimatePresence.AnimatePresence, Object.assign({ animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}) }, { children: error && (jsxRuntime.jsx("div", Object.assign({ className: 'transaction-confirmation__error' }, { children: jsxRuntime.jsx(Alert.Alert, Object.assign({ icon: 'error', variant: 'error' }, { children: error })) }))) })), jsxRuntime.jsxs("div", Object.assign({ className: 'transaction-confirmation__content' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'transaction-confirmation__app-origin-tile' }, { children: jsxRuntime.jsx(AppOriginTile.AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) })), jsxRuntime.jsx("div", Object.assign({ className: 'transaction-confirmation__rows' }, { children: children }))] })), jsxRuntime.jsx(AnimatePresence.AnimatePresence, Object.assign({ animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}) }, { children: warningMessage && (jsxRuntime.jsx("div", Object.assign({ className: 'transaction-confirmation__warning' }, { children: jsxRuntime.jsx(Alert.Alert, Object.assign({ icon: 'error', variant: 'warning', contentDataTestId: 'warning_content' }, { children: warningMessage })) }))) })), jsxRuntime.jsxs("div", Object.assign({ className: 'transaction-confirmation__actions' }, { children: [onClickClose && (jsxRuntime.jsx(Button.Button, Object.assign({ buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', buttonRounded: 'default', disabled: isLoading }, { children: "Cancel" }))), jsxRuntime.jsx(Button.Button, Object.assign({ buttonVariant: 'primary', buttonPadding: 'large', onClick: onClickSend, expanded: true, buttonRounded: 'default', loading: isLoading, disabled: disableSendButton }, { children: "Send" }))] })), displayPoweredByDynamicFooter && (jsxRuntime.jsx("div", Object.assign({ className: 'transaction-confirmation__footer' }, { children: jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) })))] }))] }));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.TransactionConfirmationPageLayout = TransactionConfirmationPageLayout;
|
package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC, MouseEventHandler, PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
type TransactionConfirmationPageLayoutProps = {
|
|
3
|
+
appLogoUrl?: string;
|
|
4
|
+
appName?: string;
|
|
5
|
+
appOrigin: string;
|
|
6
|
+
disableSendButton?: boolean;
|
|
7
|
+
displayPoweredByDynamicFooter?: boolean;
|
|
8
|
+
error?: string;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
onClickBack?: MouseEventHandler<HTMLButtonElement>;
|
|
11
|
+
onClickClose?: MouseEventHandler<HTMLButtonElement>;
|
|
12
|
+
onClickSend: MouseEventHandler<HTMLButtonElement>;
|
|
13
|
+
title?: ReactNode;
|
|
14
|
+
warningMessage?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const TransactionConfirmationPageLayout: FC<PropsWithChildren<TransactionConfirmationPageLayoutProps>>;
|
|
17
|
+
export {};
|
package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { ModalHeader } from '../ModalHeader/ModalHeader.js';
|
|
3
|
+
import { IconWithSpinner } from '../IconWithSpinner/IconWithSpinner.js';
|
|
4
|
+
import { Icon } from '../Icon/Icon.js';
|
|
5
|
+
import '@dynamic-labs/sdk-api';
|
|
6
|
+
import '../../shared/logger.js';
|
|
7
|
+
import '@dynamic-labs/iconic';
|
|
8
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
9
|
+
import '../../context/ViewContext/ViewContext.js';
|
|
10
|
+
import 'react';
|
|
11
|
+
import { ReactComponent as SvgClose } from '../../shared/assets/close.js';
|
|
12
|
+
import { ReactComponent as SvgChevronLeft } from '../../shared/assets/chevron-left.js';
|
|
13
|
+
import { ReactComponent as SvgSignCircle } from '../../shared/assets/sign-circle.js';
|
|
14
|
+
import '@dynamic-labs/utils';
|
|
15
|
+
import '../../utils/constants/colors.js';
|
|
16
|
+
import 'ethers';
|
|
17
|
+
import '../../shared/consts/index.js';
|
|
18
|
+
import { IconButton } from '../IconButton/IconButton.js';
|
|
19
|
+
import { Typography } from '../Typography/Typography.js';
|
|
20
|
+
import { AnimatePresence } from '../AnimatePresence/AnimatePresence.js';
|
|
21
|
+
import '../Transition/ZoomTransition/ZoomTransition.js';
|
|
22
|
+
import '../Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
23
|
+
import '../Transition/OpacityTransition/OpacityTransition.js';
|
|
24
|
+
import { VerticalDrawerTransition } from '../Transition/VerticalDrawerTransition/VerticalDrawerTransition.js';
|
|
25
|
+
import { Alert } from '../Alert/Alert.js';
|
|
26
|
+
import { AppOriginTile } from '../AppOriginTile/AppOriginTile.js';
|
|
27
|
+
import { Button } from '../Button/Button.js';
|
|
28
|
+
import { PoweredByDynamic } from '../PoweredByDynamic/PoweredByDynamic.js';
|
|
29
|
+
|
|
30
|
+
const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBack, title, error, appOrigin, appLogoUrl, appName, onClickSend, disableSendButton, displayPoweredByDynamicFooter = false, warningMessage, children, }) => {
|
|
31
|
+
const closeButton = onClickClose && (jsx(IconButton, Object.assign({ type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading }, { children: jsx(SvgClose, {}) })));
|
|
32
|
+
const backButton = onClickBack && (jsx(IconButton, Object.assign({ type: 'button', onClick: onClickBack, "data-testid": 'back-button' }, { children: jsx(SvgChevronLeft, {}) })));
|
|
33
|
+
return (jsxs(Fragment, { children: [jsx(ModalHeader, Object.assign({ trailing: closeButton, leading: backButton, alignContent: 'bottom' }, { children: jsx(IconWithSpinner, { Icon: (props) => (jsx(Icon, Object.assign({ color: 'brand-primary' }, { children: jsx(SvgSignCircle, Object.assign({}, props)) }))), iconSize: 64, isSpinning: true }) })), jsxs("div", Object.assign({ className: 'transaction-confirmation__body' }, { children: [jsx(Typography, Object.assign({ variant: 'title', color: 'primary', className: 'transaction-confirmation__title' }, { children: title })), jsx(AnimatePresence, Object.assign({ animationComponent: jsx(VerticalDrawerTransition, {}) }, { children: error && (jsx("div", Object.assign({ className: 'transaction-confirmation__error' }, { children: jsx(Alert, Object.assign({ icon: 'error', variant: 'error' }, { children: error })) }))) })), jsxs("div", Object.assign({ className: 'transaction-confirmation__content' }, { children: [jsx("div", Object.assign({ className: 'transaction-confirmation__app-origin-tile' }, { children: jsx(AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) })), jsx("div", Object.assign({ className: 'transaction-confirmation__rows' }, { children: children }))] })), jsx(AnimatePresence, Object.assign({ animationComponent: jsx(VerticalDrawerTransition, {}) }, { children: warningMessage && (jsx("div", Object.assign({ className: 'transaction-confirmation__warning' }, { children: jsx(Alert, Object.assign({ icon: 'error', variant: 'warning', contentDataTestId: 'warning_content' }, { children: warningMessage })) }))) })), jsxs("div", Object.assign({ className: 'transaction-confirmation__actions' }, { children: [onClickClose && (jsx(Button, Object.assign({ buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', buttonRounded: 'default', disabled: isLoading }, { children: "Cancel" }))), jsx(Button, Object.assign({ buttonVariant: 'primary', buttonPadding: 'large', onClick: onClickSend, expanded: true, buttonRounded: 'default', loading: isLoading, disabled: disableSendButton }, { children: "Send" }))] })), displayPoweredByDynamicFooter && (jsx("div", Object.assign({ className: 'transaction-confirmation__footer' }, { children: jsx(PoweredByDynamic, {}) })))] }))] }));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { TransactionConfirmationPageLayout };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var Typography = require('../../../Typography/Typography.cjs');
|
|
7
|
+
var Skeleton = require('../../../Skeleton/Skeleton.cjs');
|
|
8
|
+
|
|
9
|
+
const TransactionRow = ({ label, title, children, isEmpty = false, isLoading = false, suffix, dataTestId, icon, }) => (jsxRuntime.jsxs("div", Object.assign({ className: 'transaction-row' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ color: 'secondary', variant: 'body_normal', weight: 'regular', className: 'transaction-row__label' }, { children: label })), jsxRuntime.jsxs("div", Object.assign({ className: 'transaction-row__content', "data-testid": dataTestId }, { children: [isLoading && (jsxRuntime.jsx(Skeleton.Skeleton, { count: 1, className: 'transaction-row__skeleton' })), isLoading === false && children !== undefined && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ title: title, color: isEmpty ? 'secondary' : 'primary', variant: 'body_normal', weight: isEmpty ? 'regular' : 'medium', truncate: true }, { children: children })), suffix && (jsxRuntime.jsx(Typography.Typography, Object.assign({ as: 'span', color: 'secondary', weight: 'regular' }, { children: suffix }))), icon] }))] }))] })));
|
|
10
|
+
|
|
11
|
+
exports.TransactionRow = TransactionRow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC, PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
type TransactionRowProps = {
|
|
3
|
+
dataTestId?: string;
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
isEmpty?: boolean;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
label: ReactNode;
|
|
8
|
+
suffix?: ReactNode;
|
|
9
|
+
title?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const TransactionRow: FC<PropsWithChildren<TransactionRowProps>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Typography } from '../../../Typography/Typography.js';
|
|
3
|
+
import { Skeleton } from '../../../Skeleton/Skeleton.js';
|
|
4
|
+
|
|
5
|
+
const TransactionRow = ({ label, title, children, isEmpty = false, isLoading = false, suffix, dataTestId, icon, }) => (jsxs("div", Object.assign({ className: 'transaction-row' }, { children: [jsx(Typography, Object.assign({ color: 'secondary', variant: 'body_normal', weight: 'regular', className: 'transaction-row__label' }, { children: label })), jsxs("div", Object.assign({ className: 'transaction-row__content', "data-testid": dataTestId }, { children: [isLoading && (jsx(Skeleton, { count: 1, className: 'transaction-row__skeleton' })), isLoading === false && children !== undefined && (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ title: title, color: isEmpty ? 'secondary' : 'primary', variant: 'body_normal', weight: isEmpty ? 'regular' : 'medium', truncate: true }, { children: children })), suffix && (jsx(Typography, Object.assign({ as: 'span', color: 'secondary', weight: 'regular' }, { children: suffix }))), icon] }))] }))] })));
|
|
6
|
+
|
|
7
|
+
export { TransactionRow };
|
package/src/lib/components/TransactionConfirmationPageLayout/components/TransactionRow/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TransactionRow } from './TransactionRow';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TransactionRow';
|
|
@@ -35,9 +35,9 @@ var ApiEndpoint = require('../../config/ApiEndpoint.cjs');
|
|
|
35
35
|
var ThemeContext = require('../ThemeContext/ThemeContext.cjs');
|
|
36
36
|
var useFetchNetworkConfigurations = require('../../utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs');
|
|
37
37
|
var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs');
|
|
38
|
+
var useSyncPrimaryWallet = require('../../utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs');
|
|
38
39
|
var useWalletEventListeners = require('../../utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs');
|
|
39
40
|
var LoadingContext = require('../LoadingContext/LoadingContext.cjs');
|
|
40
|
-
var useSyncPrimaryWallet = require('../../utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs');
|
|
41
41
|
var useFetchWalletsForChainsMap = require('../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.cjs');
|
|
42
42
|
var useHandleUnlinkWallet = require('../../utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs');
|
|
43
43
|
var app = require('../../app.cjs');
|
|
@@ -98,6 +98,8 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
98
98
|
const [isVerifying, setIsVerifying] = React.useState(false);
|
|
99
99
|
const { projectSettings, isLoading: isProjectSettingsLoading } = useFetchProjectSettings.useFetchProjectSettings({ authToken: getAuthToken.getAuthToken(), environmentId });
|
|
100
100
|
const multiWallet = (_c = deprecatedMultiWallet !== null && deprecatedMultiWallet !== void 0 ? deprecatedMultiWallet : (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet) !== null && _c !== void 0 ? _c : false;
|
|
101
|
+
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
102
|
+
const [showWidgetStatePopup, setShowWidgetStatePopup] = React.useState(!multiWallet);
|
|
101
103
|
const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useFetchNetworkConfigurations.useFetchNetworkConfigurations({
|
|
102
104
|
authToken: getAuthToken.getAuthToken(),
|
|
103
105
|
environmentId,
|
|
@@ -152,11 +154,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
152
154
|
currentWallet: primaryWallet !== null && primaryWallet !== void 0 ? primaryWallet : connectedWallet,
|
|
153
155
|
});
|
|
154
156
|
const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
|
|
155
|
-
useSyncPrimaryWallet.useSyncPrimaryWallet({
|
|
156
|
-
multiWalletWidgetState,
|
|
157
|
-
primaryWallet,
|
|
158
|
-
setMultiWalletWidgetState,
|
|
159
|
-
});
|
|
160
157
|
const { clearAllWalletConnectSessions, clearOphanedWalletConnectSessions } = useClearWalletConnectSessions.useClearWalletConnectSessions({
|
|
161
158
|
connectors: walletConnectors,
|
|
162
159
|
});
|
|
@@ -200,6 +197,17 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
200
197
|
environmentId,
|
|
201
198
|
walletConnectors,
|
|
202
199
|
]);
|
|
200
|
+
useSyncPrimaryWallet.useSyncPrimaryWallet({
|
|
201
|
+
computeConnectedStateForWallets,
|
|
202
|
+
handleLogOut,
|
|
203
|
+
multiWalletWidgetState,
|
|
204
|
+
primaryWallet,
|
|
205
|
+
secondaryWallets,
|
|
206
|
+
setMultiWalletWidgetState,
|
|
207
|
+
setPrimaryWallet,
|
|
208
|
+
setShowWidgetStatePopup,
|
|
209
|
+
showWidgetStatePopup,
|
|
210
|
+
});
|
|
203
211
|
const handleUnlinkWallet = useHandleUnlinkWallet.useHandleUnlinkWallet({
|
|
204
212
|
environmentId,
|
|
205
213
|
primaryWalletId,
|
|
@@ -350,11 +358,13 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
350
358
|
setShowAuthFlow,
|
|
351
359
|
setShowDynamicUserProfile,
|
|
352
360
|
setShowQrcodeModal,
|
|
361
|
+
setShowWidgetStatePopup,
|
|
353
362
|
setUser,
|
|
354
363
|
shadowDOMEnabled,
|
|
355
364
|
showAuthFlow,
|
|
356
365
|
showDynamicUserProfile,
|
|
357
366
|
showQrcodeModal,
|
|
367
|
+
showWidgetStatePopup,
|
|
358
368
|
signWithEmailWalletName,
|
|
359
369
|
siweStatement,
|
|
360
370
|
socialMediaIconUrl: ((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportUrls) || socialMediaIconUrl,
|
|
@@ -437,6 +447,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
437
447
|
showAuthFlow,
|
|
438
448
|
showDynamicUserProfile,
|
|
439
449
|
showQrcodeModal,
|
|
450
|
+
showWidgetStatePopup,
|
|
440
451
|
signWithEmailWalletName,
|
|
441
452
|
siweStatement,
|
|
442
453
|
socialMediaIconUrl,
|
|
@@ -470,8 +481,9 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
470
481
|
// DYN-1140 - Opens Widget when multiWalletWidgetState changes
|
|
471
482
|
React.useEffect(() => {
|
|
472
483
|
// If statement to secure SingleWallet widget
|
|
473
|
-
if (!multiWallet)
|
|
484
|
+
if (!multiWallet && multiWalletWidgetState !== 'awaiting_account_switch') {
|
|
474
485
|
return;
|
|
486
|
+
}
|
|
475
487
|
// We need to make sure that the user is logged in so that we do not try to display the widget before authorization
|
|
476
488
|
if (user && multiWalletWidgetState !== 'idle' && !showDynamicUserProfile) {
|
|
477
489
|
setShowDynamicUserProfile(true);
|
|
@@ -79,11 +79,13 @@ export interface IDynamicContext {
|
|
|
79
79
|
setShowAuthFlow: Dispatch<SetStateAction<boolean>>;
|
|
80
80
|
setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
|
|
81
81
|
setShowQrcodeModal: Dispatch<SetStateAction<boolean>>;
|
|
82
|
+
setShowWidgetStatePopup: Dispatch<SetStateAction<boolean>>;
|
|
82
83
|
setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
|
|
83
84
|
shadowDOMEnabled: boolean;
|
|
84
85
|
showAuthFlow: boolean;
|
|
85
86
|
showDynamicUserProfile: boolean;
|
|
86
87
|
showQrcodeModal: boolean;
|
|
88
|
+
showWidgetStatePopup: boolean;
|
|
87
89
|
signWithEmailWalletName?: string;
|
|
88
90
|
siweStatement?: string;
|
|
89
91
|
socialMediaIconUrl?: Record<string, string> | Record<SocialNetworkIconType, string>;
|
|
@@ -31,9 +31,9 @@ import ApiEndpoint from '../../config/ApiEndpoint.js';
|
|
|
31
31
|
import { ThemeContextProvider } from '../ThemeContext/ThemeContext.js';
|
|
32
32
|
import { useFetchNetworkConfigurations } from '../../utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js';
|
|
33
33
|
import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js';
|
|
34
|
+
import { useSyncPrimaryWallet } from '../../utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js';
|
|
34
35
|
import { useWalletEventListeners } from '../../utils/hooks/useWalletEventListeners/useWalletEventListeners.js';
|
|
35
36
|
import { LoadingContextProvider } from '../LoadingContext/LoadingContext.js';
|
|
36
|
-
import { useSyncPrimaryWallet } from '../../utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js';
|
|
37
37
|
import { useFetchWalletsForChainsMap } from '../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.js';
|
|
38
38
|
import { useHandleUnlinkWallet } from '../../utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js';
|
|
39
39
|
import { DynamicAuthFlow } from '../../app.js';
|
|
@@ -94,6 +94,8 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
94
94
|
const [isVerifying, setIsVerifying] = useState(false);
|
|
95
95
|
const { projectSettings, isLoading: isProjectSettingsLoading } = useFetchProjectSettings({ authToken: getAuthToken(), environmentId });
|
|
96
96
|
const multiWallet = (_c = deprecatedMultiWallet !== null && deprecatedMultiWallet !== void 0 ? deprecatedMultiWallet : (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet) !== null && _c !== void 0 ? _c : false;
|
|
97
|
+
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
98
|
+
const [showWidgetStatePopup, setShowWidgetStatePopup] = useState(!multiWallet);
|
|
97
99
|
const { configurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useFetchNetworkConfigurations({
|
|
98
100
|
authToken: getAuthToken(),
|
|
99
101
|
environmentId,
|
|
@@ -148,11 +150,6 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
148
150
|
currentWallet: primaryWallet !== null && primaryWallet !== void 0 ? primaryWallet : connectedWallet,
|
|
149
151
|
});
|
|
150
152
|
const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
|
|
151
|
-
useSyncPrimaryWallet({
|
|
152
|
-
multiWalletWidgetState,
|
|
153
|
-
primaryWallet,
|
|
154
|
-
setMultiWalletWidgetState,
|
|
155
|
-
});
|
|
156
153
|
const { clearAllWalletConnectSessions, clearOphanedWalletConnectSessions } = useClearWalletConnectSessions({
|
|
157
154
|
connectors: walletConnectors,
|
|
158
155
|
});
|
|
@@ -196,6 +193,17 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
196
193
|
environmentId,
|
|
197
194
|
walletConnectors,
|
|
198
195
|
]);
|
|
196
|
+
useSyncPrimaryWallet({
|
|
197
|
+
computeConnectedStateForWallets,
|
|
198
|
+
handleLogOut,
|
|
199
|
+
multiWalletWidgetState,
|
|
200
|
+
primaryWallet,
|
|
201
|
+
secondaryWallets,
|
|
202
|
+
setMultiWalletWidgetState,
|
|
203
|
+
setPrimaryWallet,
|
|
204
|
+
setShowWidgetStatePopup,
|
|
205
|
+
showWidgetStatePopup,
|
|
206
|
+
});
|
|
199
207
|
const handleUnlinkWallet = useHandleUnlinkWallet({
|
|
200
208
|
environmentId,
|
|
201
209
|
primaryWalletId,
|
|
@@ -346,11 +354,13 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
346
354
|
setShowAuthFlow,
|
|
347
355
|
setShowDynamicUserProfile,
|
|
348
356
|
setShowQrcodeModal,
|
|
357
|
+
setShowWidgetStatePopup,
|
|
349
358
|
setUser,
|
|
350
359
|
shadowDOMEnabled,
|
|
351
360
|
showAuthFlow,
|
|
352
361
|
showDynamicUserProfile,
|
|
353
362
|
showQrcodeModal,
|
|
363
|
+
showWidgetStatePopup,
|
|
354
364
|
signWithEmailWalletName,
|
|
355
365
|
siweStatement,
|
|
356
366
|
socialMediaIconUrl: ((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportUrls) || socialMediaIconUrl,
|
|
@@ -433,6 +443,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
433
443
|
showAuthFlow,
|
|
434
444
|
showDynamicUserProfile,
|
|
435
445
|
showQrcodeModal,
|
|
446
|
+
showWidgetStatePopup,
|
|
436
447
|
signWithEmailWalletName,
|
|
437
448
|
siweStatement,
|
|
438
449
|
socialMediaIconUrl,
|
|
@@ -466,8 +477,9 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
|
|
|
466
477
|
// DYN-1140 - Opens Widget when multiWalletWidgetState changes
|
|
467
478
|
useEffect(() => {
|
|
468
479
|
// If statement to secure SingleWallet widget
|
|
469
|
-
if (!multiWallet)
|
|
480
|
+
if (!multiWallet && multiWalletWidgetState !== 'awaiting_account_switch') {
|
|
470
481
|
return;
|
|
482
|
+
}
|
|
471
483
|
// We need to make sure that the user is logged in so that we do not try to display the widget before authorization
|
|
472
484
|
if (user && multiWalletWidgetState !== 'idle' && !showDynamicUserProfile) {
|
|
473
485
|
setShowDynamicUserProfile(true);
|
|
@@ -73,13 +73,18 @@ const SocialRedirectContextProvider = ({ children, }) => {
|
|
|
73
73
|
setShowAuthFlow(true);
|
|
74
74
|
setSelectedWalletConnector(socialWalletConnector);
|
|
75
75
|
(_a = socialWalletConnector
|
|
76
|
-
.getSession) === null || _a === void 0 ? void 0 : _a.call(socialWalletConnector).then(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
76
|
+
.getSession) === null || _a === void 0 ? void 0 : _a.call(socialWalletConnector).then((session) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
77
77
|
const address = yield socialWalletConnector.fetchPublicAddress();
|
|
78
78
|
if (!address) {
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
walletUiUtils.enableInternalSign();
|
|
82
82
|
yield verifyWallet({
|
|
83
|
+
oauth: {
|
|
84
|
+
accessToken: session.accessToken,
|
|
85
|
+
didToken: session.didToken,
|
|
86
|
+
provider: providerFromParams,
|
|
87
|
+
},
|
|
83
88
|
publicWalletAddress: address,
|
|
84
89
|
walletConnector: socialWalletConnector,
|
|
85
90
|
});
|
|
@@ -69,13 +69,18 @@ const SocialRedirectContextProvider = ({ children, }) => {
|
|
|
69
69
|
setShowAuthFlow(true);
|
|
70
70
|
setSelectedWalletConnector(socialWalletConnector);
|
|
71
71
|
(_a = socialWalletConnector
|
|
72
|
-
.getSession) === null || _a === void 0 ? void 0 : _a.call(socialWalletConnector).then(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
.getSession) === null || _a === void 0 ? void 0 : _a.call(socialWalletConnector).then((session) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
73
|
const address = yield socialWalletConnector.fetchPublicAddress();
|
|
74
74
|
if (!address) {
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
77
|
walletUiUtils.enableInternalSign();
|
|
78
78
|
yield verifyWallet({
|
|
79
|
+
oauth: {
|
|
80
|
+
accessToken: session.accessToken,
|
|
81
|
+
didToken: session.didToken,
|
|
82
|
+
provider: providerFromParams,
|
|
83
|
+
},
|
|
79
84
|
publicWalletAddress: address,
|
|
80
85
|
walletConnector: socialWalletConnector,
|
|
81
86
|
});
|
package/src/lib/data/api.cjs
CHANGED
|
@@ -227,12 +227,13 @@ const createVisit = ({ authMode, chain, environmentId, walletProvider, publicWal
|
|
|
227
227
|
logger.logger.error(error);
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
|
-
const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
230
|
+
const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
231
231
|
const verifyRequest = sdkApi$1.VerifyRequestFromJSON({
|
|
232
232
|
captchaToken,
|
|
233
233
|
chain,
|
|
234
234
|
messageToSign,
|
|
235
235
|
network,
|
|
236
|
+
oauth,
|
|
236
237
|
publicWalletAddress,
|
|
237
238
|
signedMessage,
|
|
238
239
|
walletName,
|
package/src/lib/data/api.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export declare const createVisit: ({ authMode, chain, environmentId, walletProvi
|
|
|
42
42
|
walletName: string;
|
|
43
43
|
walletProvider: string;
|
|
44
44
|
}) => Promise<void | undefined>;
|
|
45
|
-
export declare const verifyWallet: (environmentId: string, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, }: VerifyWallet) => Promise<string | undefined>;
|
|
45
|
+
export declare const verifyWallet: (environmentId: string, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, }: VerifyWallet) => Promise<string | undefined>;
|
|
46
46
|
export declare const fetchNetworkSettings: (environmentId: string) => Promise<NetworkConfigurationResponse[] | undefined>;
|
|
47
47
|
export declare const fetchProjectSettings: (environmentId: string) => Promise<ProjectSettings | undefined>;
|
|
48
48
|
export declare const updateUserProfileFields: (jwt: string | undefined, environmentId: string, fields: UserFields) => Promise<UpdateSelfResponse>;
|
package/src/lib/data/api.js
CHANGED
|
@@ -223,12 +223,13 @@ const createVisit = ({ authMode, chain, environmentId, walletProvider, publicWal
|
|
|
223
223
|
logger.error(error);
|
|
224
224
|
}
|
|
225
225
|
});
|
|
226
|
-
const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
226
|
+
const verifyWallet = (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
227
227
|
const verifyRequest = VerifyRequestFromJSON({
|
|
228
228
|
captchaToken,
|
|
229
229
|
chain,
|
|
230
230
|
messageToSign,
|
|
231
231
|
network,
|
|
232
|
+
oauth,
|
|
232
233
|
publicWalletAddress,
|
|
233
234
|
signedMessage,
|
|
234
235
|
walletName,
|