@dynamic-labs/sdk-react-core 4.18.5 → 4.18.7
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 +34 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -12
- package/src/index.cjs +2 -1
- package/src/index.js +2 -1
- package/src/lib/components/Button/Button.d.ts +1 -1
- package/src/lib/components/ModalHeader/ModalHeader.cjs +2 -1
- package/src/lib/components/ModalHeader/ModalHeader.js +2 -1
- package/src/lib/components/ModalHeader/ModalHeader.types.d.ts +3 -1
- package/src/lib/components/TypographyButton/TypographyButton.cjs +2 -0
- package/src/lib/components/TypographyButton/TypographyButton.js +2 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +7 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +8 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +1 -0
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +2 -1
- package/src/lib/context/OnrampContext/OnrampContext.cjs +30 -24
- package/src/lib/context/OnrampContext/OnrampContext.d.ts +1 -1
- package/src/lib/context/OnrampContext/OnrampContext.js +30 -24
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +8 -0
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +9 -1
- package/src/lib/locale/en/translation.cjs +54 -1
- package/src/lib/locale/en/translation.d.ts +53 -0
- package/src/lib/locale/en/translation.js +54 -1
- package/src/lib/shared/assets/index.d.ts +1 -0
- package/src/lib/shared/assets/session.cjs +54 -0
- package/src/lib/shared/assets/session.js +30 -0
- package/src/lib/store/state/user/user.cjs +0 -7
- package/src/lib/store/state/user/user.js +0 -7
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.cjs +3 -0
- package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.js +3 -0
- package/src/lib/utils/functions/index.d.ts +1 -0
- package/src/lib/utils/functions/isZKSyncEnabled/index.d.ts +1 -0
- package/src/lib/utils/functions/isZKSyncEnabled/isZKSyncEnabled.cjs +11 -0
- package/src/lib/utils/functions/isZKSyncEnabled/isZKSyncEnabled.d.ts +2 -0
- package/src/lib/utils/functions/isZKSyncEnabled/isZKSyncEnabled.js +7 -0
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +30 -3
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +31 -4
- package/src/lib/utils/hooks/useGlobalLoading/useGlobalLoading.cjs +7 -0
- package/src/lib/utils/hooks/useGlobalLoading/useGlobalLoading.js +7 -0
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +8 -0
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +9 -1
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +98 -14
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +98 -14
- package/src/lib/views/EmbeddedReveal/utils/waasExport/index.d.ts +1 -0
- package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.cjs +53 -0
- package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.d.ts +11 -0
- package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.js +48 -0
- package/src/lib/views/UserDeleteAccountView/UserDeleteAccountView.cjs +1 -3
- package/src/lib/views/UserDeleteAccountView/UserDeleteAccountView.js +1 -3
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +4 -0
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +4 -0
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +3 -1
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/AccountAndSecuritySettingsView.cjs +7 -2
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/AccountAndSecuritySettingsView.js +8 -3
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/EmptySessionsView/EmptySessionsView.cjs +15 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/EmptySessionsView/EmptySessionsView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/EmptySessionsView/EmptySessionsView.js +11 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/EmptySessionsView/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementInfoView/SessionManagementInfoView.cjs +28 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementInfoView/SessionManagementInfoView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementInfoView/SessionManagementInfoView.js +24 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementInfoView/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.cjs +33 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.js +29 -0
- package/src/lib/widgets/DynamicWidget/views/SessionManagementView/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.cjs +9 -2
- package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.js +9 -2
- package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.18.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.6...v4.18.7) (2025-05-21)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add zero dev kernel migration to v3.3 ([#8747](https://github.com/dynamic-labs/dynamic-auth/issues/8747)) ([ce10ef8](https://github.com/dynamic-labs/dynamic-auth/commit/ce10ef85d12452c2c21758c909f1e28f9fa5fbae))
|
|
8
|
+
* bump [@dynamic-labs-wallet](https://github.com/dynamic-labs-wallet) to v0.0.74 ([#8746](https://github.com/dynamic-labs/dynamic-auth/issues/8746)) ([98e3a0b](https://github.com/dynamic-labs/dynamic-auth/commit/98e3a0b845e7d6c34a2c748597198825713f4bcf))
|
|
9
|
+
* support kernel versio 0.3.2 and 0.3.3 ([#8738](https://github.com/dynamic-labs/dynamic-auth/issues/8738)) ([1115830](https://github.com/dynamic-labs/dynamic-auth/commit/1115830966318960d39a497c8b29188d9d9a447f))
|
|
10
|
+
* v3 solana confirmation ui ([#8731](https://github.com/dynamic-labs/dynamic-auth/issues/8731)) ([cfa5ba0](https://github.com/dynamic-labs/dynamic-auth/commit/cfa5ba07a946b847e60388c80afbd8aa233e9ebf))
|
|
11
|
+
* v3 svm send balance ([#8726](https://github.com/dynamic-labs/dynamic-auth/issues/8726)) ([236ec48](https://github.com/dynamic-labs/dynamic-auth/commit/236ec4843152f4b720aa7332e650db68c2d111b2))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **alex/qntm-3201:** send empty data field when using zksync sendbalance ([#8733](https://github.com/dynamic-labs/dynamic-auth/issues/8733)) ([4c42035](https://github.com/dynamic-labs/dynamic-auth/commit/4c420350cf7404ac80db8b552594233a3de9fb57))
|
|
17
|
+
* allow for continuing signing if zksync account exists while attempting to deploy ([#8736](https://github.com/dynamic-labs/dynamic-auth/issues/8736)) ([1ff82e4](https://github.com/dynamic-labs/dynamic-auth/commit/1ff82e418e14300b9dec662fba517c5533c1caac))
|
|
18
|
+
* api kernel version on react native extension ([#8754](https://github.com/dynamic-labs/dynamic-auth/issues/8754)) ([c2f0bb4](https://github.com/dynamic-labs/dynamic-auth/commit/c2f0bb4ac86214f4e3bbdac5cf4b481a7a304449))
|
|
19
|
+
* CTRL wallet eip6963 detection ([#8727](https://github.com/dynamic-labs/dynamic-auth/issues/8727)) ([194334f](https://github.com/dynamic-labs/dynamic-auth/commit/194334f7fd541917d9a7f6b452145a47cf7ae853))
|
|
20
|
+
* **QNTM-3249:** fix mobile layout alignment in send view ([#8740](https://github.com/dynamic-labs/dynamic-auth/issues/8740)) ([7d8e02c](https://github.com/dynamic-labs/dynamic-auth/commit/7d8e02c11830f547b6fcfbc7b518ee3f045df41a))
|
|
21
|
+
|
|
22
|
+
### [4.18.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.5...v4.18.6) (2025-05-16)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* remove alert on wallet icon fail errors ([#8719](https://github.com/dynamic-labs/dynamic-auth/issues/8719)) ([3257160](https://github.com/dynamic-labs/dynamic-auth/commit/3257160ec2ce422e76ccf5e5adc10f92e73c3c61))
|
|
28
|
+
* evm export waas ([#8669](https://github.com/dynamic-labs/dynamic-auth/issues/8669)) ([c8f6199](https://github.com/dynamic-labs/dynamic-auth/commit/c8f6199914c5c0791996e0dfad1ac5642c327bea))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* onramps hook ([#8700](https://github.com/dynamic-labs/dynamic-auth/issues/8700)) ([33d0fb5](https://github.com/dynamic-labs/dynamic-auth/commit/33d0fb5e83db627aeea5ce2f07871cd4029c118a))
|
|
34
|
+
* use mainnet as default SVM cluster ([#8721](https://github.com/dynamic-labs/dynamic-auth/issues/8721)) ([5408f9a](https://github.com/dynamic-labs/dynamic-auth/commit/5408f9afbd2b4c6dfaf041c661cc3fb4802b6c05))
|
|
35
|
+
|
|
2
36
|
### [4.18.5](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.4...v4.18.5) (2025-05-15)
|
|
3
37
|
|
|
4
38
|
|
package/package.cjs
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var version = "4.18.
|
|
6
|
+
var version = "4.18.7";
|
|
7
7
|
var dependencies = {
|
|
8
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
8
|
+
"@dynamic-labs/sdk-api-core": "0.0.672",
|
|
9
9
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
10
10
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
11
11
|
"country-list": "2.3.0",
|
package/package.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
var version = "4.18.
|
|
2
|
+
var version = "4.18.7";
|
|
3
3
|
var dependencies = {
|
|
4
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
4
|
+
"@dynamic-labs/sdk-api-core": "0.0.672",
|
|
5
5
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
6
6
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
7
7
|
"country-list": "2.3.0",
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "4.18.
|
|
3
|
+
"version": "4.18.7",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
5
|
+
"@dynamic-labs/sdk-api-core": "0.0.672",
|
|
6
6
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
7
7
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
8
8
|
"country-list": "2.3.0",
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
"yup": "0.32.11",
|
|
15
15
|
"react-international-phone": "4.2.5",
|
|
16
16
|
"bs58": "5.0.0",
|
|
17
|
-
"@dynamic-labs/assert-package-version": "4.18.
|
|
18
|
-
"@dynamic-labs/iconic": "4.18.
|
|
19
|
-
"@dynamic-labs/logger": "4.18.
|
|
20
|
-
"@dynamic-labs/multi-wallet": "4.18.
|
|
21
|
-
"@dynamic-labs/rpc-providers": "4.18.
|
|
22
|
-
"@dynamic-labs/store": "4.18.
|
|
23
|
-
"@dynamic-labs/types": "4.18.
|
|
24
|
-
"@dynamic-labs/utils": "4.18.
|
|
25
|
-
"@dynamic-labs/wallet-book": "4.18.
|
|
26
|
-
"@dynamic-labs/wallet-connector-core": "4.18.
|
|
17
|
+
"@dynamic-labs/assert-package-version": "4.18.7",
|
|
18
|
+
"@dynamic-labs/iconic": "4.18.7",
|
|
19
|
+
"@dynamic-labs/logger": "4.18.7",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "4.18.7",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "4.18.7",
|
|
22
|
+
"@dynamic-labs/store": "4.18.7",
|
|
23
|
+
"@dynamic-labs/types": "4.18.7",
|
|
24
|
+
"@dynamic-labs/utils": "4.18.7",
|
|
25
|
+
"@dynamic-labs/wallet-book": "4.18.7",
|
|
26
|
+
"@dynamic-labs/wallet-connector-core": "4.18.7",
|
|
27
27
|
"eventemitter3": "5.0.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
package/src/index.cjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var assertPackageVersion = require('@dynamic-labs/assert-package-version');
|
|
7
|
+
var utils = require('@dynamic-labs/utils');
|
|
7
8
|
var _package = require('../package.cjs');
|
|
8
9
|
require('./lib/shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
|
|
9
10
|
var version = require('./version.cjs');
|
|
@@ -31,7 +32,6 @@ var getChainIcon = require('./lib/shared/utils/functions/chain/getChainIcon.cjs'
|
|
|
31
32
|
var getChainDisplayName = require('./lib/shared/utils/functions/chain/getChainDisplayName.cjs');
|
|
32
33
|
var createWallet = require('./lib/shared/utils/functions/wallet/createWallet.cjs');
|
|
33
34
|
var index = require('./lib/shared/utils/functions/getValueByKey/index.cjs');
|
|
34
|
-
require('@dynamic-labs/utils');
|
|
35
35
|
require('./lib/utils/constants/colors.cjs');
|
|
36
36
|
require('./lib/utils/constants/values.cjs');
|
|
37
37
|
require('@dynamic-labs/wallet-connector-core');
|
|
@@ -186,6 +186,7 @@ var useSwitchNetwork = require('./lib/utils/hooks/useSwitchNetwork/useSwitchNetw
|
|
|
186
186
|
var ReinitializeContextProvider = require('./lib/context/ReinitializeContext/ReinitializeContextProvider.cjs');
|
|
187
187
|
|
|
188
188
|
assertPackageVersion.assertPackageVersion('@dynamic-labs/sdk-react-core', _package.version);
|
|
189
|
+
utils.tracing.logEvent('sdk-react-core.initialization', 'script-loaded');
|
|
189
190
|
|
|
190
191
|
exports.VERSION = version.VERSION;
|
|
191
192
|
exports.getWallets = data.getWallets;
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
|
|
3
|
+
import { tracing } from '@dynamic-labs/utils';
|
|
3
4
|
import { version } from '../package.js';
|
|
4
5
|
import './lib/shared/utils/functions/getInitialUrl/getInitialUrl.js';
|
|
5
6
|
export { VERSION } from './version.js';
|
|
@@ -27,7 +28,6 @@ export { getChainIcon } from './lib/shared/utils/functions/chain/getChainIcon.js
|
|
|
27
28
|
export { getChainDisplayName } from './lib/shared/utils/functions/chain/getChainDisplayName.js';
|
|
28
29
|
export { createWallet } from './lib/shared/utils/functions/wallet/createWallet.js';
|
|
29
30
|
export { getValueByKey } from './lib/shared/utils/functions/getValueByKey/index.js';
|
|
30
|
-
import '@dynamic-labs/utils';
|
|
31
31
|
import './lib/utils/constants/colors.js';
|
|
32
32
|
import './lib/utils/constants/values.js';
|
|
33
33
|
import '@dynamic-labs/wallet-connector-core';
|
|
@@ -182,3 +182,4 @@ export { useSwitchNetwork } from './lib/utils/hooks/useSwitchNetwork/useSwitchNe
|
|
|
182
182
|
export { useReinitialize } from './lib/context/ReinitializeContext/ReinitializeContextProvider.js';
|
|
183
183
|
|
|
184
184
|
assertPackageVersion('@dynamic-labs/sdk-react-core', version);
|
|
185
|
+
tracing.logEvent('sdk-react-core.initialization', 'script-loaded');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FC, MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
import { BaseButtonProps } from '../BaseButton';
|
|
3
|
-
type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'brand-primary' | 'card';
|
|
3
|
+
type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'brand-primary' | 'card' | 'danger';
|
|
4
4
|
type ButtonPadding = 'small' | 'medium' | 'large' | 'none' | 'default' | 'login-screen-height';
|
|
5
5
|
export declare const defaultButtonVariant: ButtonVariant;
|
|
6
6
|
export type ButtonProps = BaseButtonProps & {
|
|
@@ -8,7 +8,7 @@ var React = require('react');
|
|
|
8
8
|
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
9
9
|
var isGlobalWalletPopup = require('../../shared/utils/functions/isGlobalWalletPopup/isGlobalWalletPopup.cjs');
|
|
10
10
|
|
|
11
|
-
const ModalHeader = ({ alignContent, children, leading, displayLeading = true, trailing, displayTrailing = true, style, displayBorder, description, }) => {
|
|
11
|
+
const ModalHeader = ({ alignContent, children, leading, displayLeading = true, trailing, displayTrailing = true, style, displayBorder, description, variant = 'default', }) => {
|
|
12
12
|
const hasLeading = displayLeading && leading && React.Children.count(leading);
|
|
13
13
|
const hasTrailing = displayTrailing && trailing && React.Children.count(trailing);
|
|
14
14
|
const trailingClassName = classNames.classNames('modal-header__content__trailing', {
|
|
@@ -17,6 +17,7 @@ const ModalHeader = ({ alignContent, children, leading, displayLeading = true, t
|
|
|
17
17
|
return (jsxRuntime.jsxs("div", { className: classNames.classNames('modal-header', {
|
|
18
18
|
'modal-header--border': displayBorder,
|
|
19
19
|
'modal-header--empty': !hasLeading && !children && !hasTrailing,
|
|
20
|
+
'modal-header--filled': variant === 'filled',
|
|
20
21
|
}), style: style, children: [jsxRuntime.jsxs("div", { className: classNames.classNames('modal-header__content', alignContent &&
|
|
21
22
|
`modal-header__content--align-content-${alignContent}`), children: [displayLeading && (jsxRuntime.jsx("div", { className: classNames.classNames('modal-header__content__leading', {
|
|
22
23
|
'modal-header__content__leading--empty': !hasLeading,
|
|
@@ -4,7 +4,7 @@ import { Children } from 'react';
|
|
|
4
4
|
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
5
5
|
import { isGlobalWalletPopup } from '../../shared/utils/functions/isGlobalWalletPopup/isGlobalWalletPopup.js';
|
|
6
6
|
|
|
7
|
-
const ModalHeader = ({ alignContent, children, leading, displayLeading = true, trailing, displayTrailing = true, style, displayBorder, description, }) => {
|
|
7
|
+
const ModalHeader = ({ alignContent, children, leading, displayLeading = true, trailing, displayTrailing = true, style, displayBorder, description, variant = 'default', }) => {
|
|
8
8
|
const hasLeading = displayLeading && leading && Children.count(leading);
|
|
9
9
|
const hasTrailing = displayTrailing && trailing && Children.count(trailing);
|
|
10
10
|
const trailingClassName = classNames('modal-header__content__trailing', {
|
|
@@ -13,6 +13,7 @@ const ModalHeader = ({ alignContent, children, leading, displayLeading = true, t
|
|
|
13
13
|
return (jsxs("div", { className: classNames('modal-header', {
|
|
14
14
|
'modal-header--border': displayBorder,
|
|
15
15
|
'modal-header--empty': !hasLeading && !children && !hasTrailing,
|
|
16
|
+
'modal-header--filled': variant === 'filled',
|
|
16
17
|
}), style: style, children: [jsxs("div", { className: classNames('modal-header__content', alignContent &&
|
|
17
18
|
`modal-header__content--align-content-${alignContent}`), children: [displayLeading && (jsx("div", { className: classNames('modal-header__content__leading', {
|
|
18
19
|
'modal-header__content__leading--empty': !hasLeading,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { CSSProperties, ReactElement, ReactNode } from 'react';
|
|
2
|
+
export type ModalHeaderVariant = 'default' | 'filled';
|
|
2
3
|
export type ModalHeaderProps = {
|
|
3
4
|
alignContent?: 'bottom';
|
|
4
5
|
children?: ReactNode;
|
|
5
|
-
leading?:
|
|
6
|
+
leading?: ReactNode;
|
|
6
7
|
displayLeading?: boolean;
|
|
7
8
|
positionAbsolute?: boolean;
|
|
8
9
|
trailing?: ReactNode;
|
|
@@ -10,5 +11,6 @@ export type ModalHeaderProps = {
|
|
|
10
11
|
style?: CSSProperties;
|
|
11
12
|
displayBorder?: boolean;
|
|
12
13
|
description?: ReactNode;
|
|
14
|
+
variant?: ModalHeaderVariant;
|
|
13
15
|
};
|
|
14
16
|
export type ModalHeaderComponent = (props: ModalHeaderProps) => ReactElement;
|
|
@@ -12,6 +12,7 @@ var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
|
12
12
|
const defaultTypographyVariantMap = {
|
|
13
13
|
'brand-primary': 'button_primary',
|
|
14
14
|
card: 'body_normal',
|
|
15
|
+
danger: 'button_primary',
|
|
15
16
|
primary: 'button_primary',
|
|
16
17
|
secondary: 'button_secondary',
|
|
17
18
|
tertiary: 'button_tertiary',
|
|
@@ -19,6 +20,7 @@ const defaultTypographyVariantMap = {
|
|
|
19
20
|
const defaultTypographyColorMap = {
|
|
20
21
|
'brand-primary': 'primary',
|
|
21
22
|
card: 'primary',
|
|
23
|
+
danger: 'white',
|
|
22
24
|
primary: 'primary',
|
|
23
25
|
secondary: 'primary',
|
|
24
26
|
tertiary: 'secondary',
|
|
@@ -8,6 +8,7 @@ import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
|
8
8
|
const defaultTypographyVariantMap = {
|
|
9
9
|
'brand-primary': 'button_primary',
|
|
10
10
|
card: 'body_normal',
|
|
11
|
+
danger: 'button_primary',
|
|
11
12
|
primary: 'button_primary',
|
|
12
13
|
secondary: 'button_secondary',
|
|
13
14
|
tertiary: 'button_tertiary',
|
|
@@ -15,6 +16,7 @@ const defaultTypographyVariantMap = {
|
|
|
15
16
|
const defaultTypographyColorMap = {
|
|
16
17
|
'brand-primary': 'primary',
|
|
17
18
|
card: 'primary',
|
|
19
|
+
danger: 'white',
|
|
18
20
|
primary: 'primary',
|
|
19
21
|
secondary: 'primary',
|
|
20
22
|
tertiary: 'secondary',
|
|
@@ -212,6 +212,12 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
212
212
|
const [showBridgeWidget, setShowBridgeWidget] = React.useState(false);
|
|
213
213
|
const [isSingleWalletAccount, setIsSingleWalletAccount] = React.useState(false);
|
|
214
214
|
const { user: user$1, userWithMissingInfo } = user.useUser();
|
|
215
|
+
if (user$1) {
|
|
216
|
+
logger.Logger.globalMetaData.set('user', user$1);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
logger.Logger.globalMetaData.set('user', undefined);
|
|
220
|
+
}
|
|
215
221
|
// Calculates and stores a device fingerprint
|
|
216
222
|
useDeviceFingerprint.useDeviceFingerprint();
|
|
217
223
|
const isAuthenticated = Boolean(user$1);
|
|
@@ -334,6 +340,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
334
340
|
connectors: walletConnectors,
|
|
335
341
|
});
|
|
336
342
|
const removeSessionStorageSessionKeys = () => {
|
|
343
|
+
utils.tracing.logEvent('session-key', 'removeSessionStorageSessionKeys');
|
|
337
344
|
utils.StorageService.removeItem(localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS, localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
338
345
|
walletConnectors.forEach((connector) => {
|
|
339
346
|
if (walletConnectorCore.isSessionKeyCompatibleWalletConnector(connector) &&
|
|
@@ -5,7 +5,7 @@ import { createContext, useEffect, useState, useMemo, useCallback } from 'react'
|
|
|
5
5
|
import { I18nextProvider } from 'react-i18next';
|
|
6
6
|
import { getIconicSpriteUrl } from '@dynamic-labs/iconic';
|
|
7
7
|
import { Logger } from '@dynamic-labs/logger';
|
|
8
|
-
import { MissingEnvironmentIdError, getEnvVarWithFallback, StorageService } from '@dynamic-labs/utils';
|
|
8
|
+
import { MissingEnvironmentIdError, getEnvVarWithFallback, StorageService, tracing } from '@dynamic-labs/utils';
|
|
9
9
|
import { useWalletBookCdn, getWalletBookCdnUrl, WalletBookContextProvider } from '@dynamic-labs/wallet-book';
|
|
10
10
|
import { setChainInfoOverrides, logger as logger$1, isSessionKeyCompatibleWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
11
11
|
import { VERSION } from '../../../version.js';
|
|
@@ -208,6 +208,12 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
208
208
|
const [showBridgeWidget, setShowBridgeWidget] = useState(false);
|
|
209
209
|
const [isSingleWalletAccount, setIsSingleWalletAccount] = useState(false);
|
|
210
210
|
const { user, userWithMissingInfo } = useUser();
|
|
211
|
+
if (user) {
|
|
212
|
+
Logger.globalMetaData.set('user', user);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
Logger.globalMetaData.set('user', undefined);
|
|
216
|
+
}
|
|
211
217
|
// Calculates and stores a device fingerprint
|
|
212
218
|
useDeviceFingerprint();
|
|
213
219
|
const isAuthenticated = Boolean(user);
|
|
@@ -330,6 +336,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
330
336
|
connectors: walletConnectors,
|
|
331
337
|
});
|
|
332
338
|
const removeSessionStorageSessionKeys = () => {
|
|
339
|
+
tracing.logEvent('session-key', 'removeSessionStorageSessionKeys');
|
|
333
340
|
StorageService.removeItem(SECURE_ENCLAVE_WALLET_SESSION_KEYS, SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
334
341
|
walletConnectors.forEach((connector) => {
|
|
335
342
|
if (isSessionKeyCompatibleWalletConnector(connector) &&
|
|
@@ -105,6 +105,7 @@ const useHandleLogout = (params) => {
|
|
|
105
105
|
logger.logger.logVerboseTroubleshootingMessage('useHandleLogout called', {
|
|
106
106
|
params: paramsRef.current,
|
|
107
107
|
});
|
|
108
|
+
utils.tracing.logEvent('logout', 'useHandleLogout called');
|
|
108
109
|
const p = paramsRef.current;
|
|
109
110
|
p.setSelectedWalletConnectorKey(null);
|
|
110
111
|
p.clearAllWalletConnectSessions();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { useRef, useCallback, useEffect } from 'react';
|
|
4
|
-
import { StorageService } from '@dynamic-labs/utils';
|
|
4
|
+
import { tracing, StorageService } from '@dynamic-labs/utils';
|
|
5
5
|
import '@dynamic-labs/sdk-api-core';
|
|
6
6
|
import '../../../../config/ApiEndpoint.js';
|
|
7
7
|
import '../../../../store/state/projectSettings/projectSettings.js';
|
|
@@ -101,6 +101,7 @@ const useHandleLogout = (params) => {
|
|
|
101
101
|
logger.logVerboseTroubleshootingMessage('useHandleLogout called', {
|
|
102
102
|
params: paramsRef.current,
|
|
103
103
|
});
|
|
104
|
+
tracing.logEvent('logout', 'useHandleLogout called');
|
|
104
105
|
const p = paramsRef.current;
|
|
105
106
|
p.setSelectedWalletConnectorKey(null);
|
|
106
107
|
p.clearAllWalletConnectSessions();
|
|
@@ -150,20 +150,19 @@ const OnrampContextProvider = ({ children, }) => {
|
|
|
150
150
|
onrampOverrides.length,
|
|
151
151
|
overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions,
|
|
152
152
|
]);
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return promiseRef.current.promise;
|
|
153
|
+
const hasPrimaryWallet = React.useMemo(() => Boolean(primaryWallet), [primaryWallet]);
|
|
154
|
+
const setSelectedAndShowOnramp = React.useCallback((provider, wallet) => {
|
|
155
|
+
var _a;
|
|
156
|
+
if (hasPrimaryWallet) {
|
|
157
|
+
setSelectedOnrampProvider(provider.id);
|
|
159
158
|
}
|
|
160
|
-
promiseRef.current = new utils.DeferredPromise();
|
|
161
|
-
if (address || token)
|
|
162
|
-
setEnabledOnrampProvidersTarget({ address, token });
|
|
163
|
-
setSelectedOnrampProvider(onrampProvider);
|
|
164
159
|
setShowOnramp(true);
|
|
165
|
-
|
|
166
|
-
|
|
160
|
+
const shouldOpenPopup = provider.openMode === 'popup' && provider.url && setShowOnramp;
|
|
161
|
+
if (!shouldOpenPopup) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
return openOnrampPopup.openOnrampPopup((_a = provider.url) !== null && _a !== void 0 ? _a : '', wallet, setShowOnramp, provider.id);
|
|
165
|
+
}, [hasPrimaryWallet, setShowOnramp]);
|
|
167
166
|
const enabledOnrampProviders = React.useMemo(() => {
|
|
168
167
|
// If we have explicit overrides (even empty array), use them
|
|
169
168
|
if ((overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions) !== undefined) {
|
|
@@ -176,26 +175,33 @@ const OnrampContextProvider = ({ children, }) => {
|
|
|
176
175
|
onrampOverrides,
|
|
177
176
|
overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions,
|
|
178
177
|
]);
|
|
178
|
+
const openOnramp = React.useCallback((_f) => _tslib.__awaiter(void 0, [_f], void 0, function* ({ onrampProvider, address, token }) {
|
|
179
|
+
if (!onrampEnabled) {
|
|
180
|
+
throw new Error('Onramp is not enabled');
|
|
181
|
+
}
|
|
182
|
+
if (promiseRef.current) {
|
|
183
|
+
return promiseRef.current.promise;
|
|
184
|
+
}
|
|
185
|
+
promiseRef.current = new utils.DeferredPromise();
|
|
186
|
+
if (address || token)
|
|
187
|
+
setEnabledOnrampProvidersTarget({ address, token });
|
|
188
|
+
const onrampOption = enabledOnrampProviders.find((p) => p.id === onrampProvider);
|
|
189
|
+
if (!onrampOption) {
|
|
190
|
+
throw new Error('Onramp provider not found');
|
|
191
|
+
}
|
|
192
|
+
setSelectedAndShowOnramp(onrampOption);
|
|
193
|
+
return promiseRef.current.promise;
|
|
194
|
+
}), [enabledOnrampProviders, onrampEnabled, setSelectedAndShowOnramp]);
|
|
179
195
|
const selectedOnramp = React.useMemo(() => enabledOnrampProviders.length
|
|
180
196
|
? enabledOnrampProviders.find((p) => p.id === selectedOnrampProvider)
|
|
181
197
|
: undefined, [enabledOnrampProviders, selectedOnrampProvider]);
|
|
182
|
-
const hasPrimaryWallet = React.useMemo(() => Boolean(primaryWallet), [primaryWallet]);
|
|
183
198
|
const selectOnrampProvider = React.useCallback(({ provider, wallet }) => {
|
|
184
|
-
var _a;
|
|
185
199
|
if (provider.onClick) {
|
|
186
200
|
provider.onClick({ wallet });
|
|
187
201
|
return;
|
|
188
202
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
setShowOnramp(true);
|
|
193
|
-
const shouldOpenPopup = provider.openMode === 'popup' && provider.url && setShowOnramp;
|
|
194
|
-
if (!shouldOpenPopup) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
return openOnrampPopup.openOnrampPopup((_a = provider.url) !== null && _a !== void 0 ? _a : '', wallet, setShowOnramp, provider.id);
|
|
198
|
-
}, [hasPrimaryWallet, setShowOnramp]);
|
|
203
|
+
setSelectedAndShowOnramp(provider, wallet);
|
|
204
|
+
}, [setSelectedAndShowOnramp]);
|
|
199
205
|
const value = React.useMemo(() => ({
|
|
200
206
|
enabledOnrampProviders,
|
|
201
207
|
onrampEnabled,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import type { OnrampProviders } from '@dynamic-labs/sdk-api-core';
|
|
3
|
-
import { Wallet } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import type { Wallet } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import type { OnrampOption } from '../DynamicContext';
|
|
5
5
|
type OpenOnrampProps = {
|
|
6
6
|
address?: string;
|
|
@@ -146,20 +146,19 @@ const OnrampContextProvider = ({ children, }) => {
|
|
|
146
146
|
onrampOverrides.length,
|
|
147
147
|
overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions,
|
|
148
148
|
]);
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
return promiseRef.current.promise;
|
|
149
|
+
const hasPrimaryWallet = useMemo(() => Boolean(primaryWallet), [primaryWallet]);
|
|
150
|
+
const setSelectedAndShowOnramp = useCallback((provider, wallet) => {
|
|
151
|
+
var _a;
|
|
152
|
+
if (hasPrimaryWallet) {
|
|
153
|
+
setSelectedOnrampProvider(provider.id);
|
|
155
154
|
}
|
|
156
|
-
promiseRef.current = new DeferredPromise();
|
|
157
|
-
if (address || token)
|
|
158
|
-
setEnabledOnrampProvidersTarget({ address, token });
|
|
159
|
-
setSelectedOnrampProvider(onrampProvider);
|
|
160
155
|
setShowOnramp(true);
|
|
161
|
-
|
|
162
|
-
|
|
156
|
+
const shouldOpenPopup = provider.openMode === 'popup' && provider.url && setShowOnramp;
|
|
157
|
+
if (!shouldOpenPopup) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
return openOnrampPopup((_a = provider.url) !== null && _a !== void 0 ? _a : '', wallet, setShowOnramp, provider.id);
|
|
161
|
+
}, [hasPrimaryWallet, setShowOnramp]);
|
|
163
162
|
const enabledOnrampProviders = useMemo(() => {
|
|
164
163
|
// If we have explicit overrides (even empty array), use them
|
|
165
164
|
if ((overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions) !== undefined) {
|
|
@@ -172,26 +171,33 @@ const OnrampContextProvider = ({ children, }) => {
|
|
|
172
171
|
onrampOverrides,
|
|
173
172
|
overrides === null || overrides === void 0 ? void 0 : overrides.onrampOptions,
|
|
174
173
|
]);
|
|
174
|
+
const openOnramp = useCallback((_f) => __awaiter(void 0, [_f], void 0, function* ({ onrampProvider, address, token }) {
|
|
175
|
+
if (!onrampEnabled) {
|
|
176
|
+
throw new Error('Onramp is not enabled');
|
|
177
|
+
}
|
|
178
|
+
if (promiseRef.current) {
|
|
179
|
+
return promiseRef.current.promise;
|
|
180
|
+
}
|
|
181
|
+
promiseRef.current = new DeferredPromise();
|
|
182
|
+
if (address || token)
|
|
183
|
+
setEnabledOnrampProvidersTarget({ address, token });
|
|
184
|
+
const onrampOption = enabledOnrampProviders.find((p) => p.id === onrampProvider);
|
|
185
|
+
if (!onrampOption) {
|
|
186
|
+
throw new Error('Onramp provider not found');
|
|
187
|
+
}
|
|
188
|
+
setSelectedAndShowOnramp(onrampOption);
|
|
189
|
+
return promiseRef.current.promise;
|
|
190
|
+
}), [enabledOnrampProviders, onrampEnabled, setSelectedAndShowOnramp]);
|
|
175
191
|
const selectedOnramp = useMemo(() => enabledOnrampProviders.length
|
|
176
192
|
? enabledOnrampProviders.find((p) => p.id === selectedOnrampProvider)
|
|
177
193
|
: undefined, [enabledOnrampProviders, selectedOnrampProvider]);
|
|
178
|
-
const hasPrimaryWallet = useMemo(() => Boolean(primaryWallet), [primaryWallet]);
|
|
179
194
|
const selectOnrampProvider = useCallback(({ provider, wallet }) => {
|
|
180
|
-
var _a;
|
|
181
195
|
if (provider.onClick) {
|
|
182
196
|
provider.onClick({ wallet });
|
|
183
197
|
return;
|
|
184
198
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
setShowOnramp(true);
|
|
189
|
-
const shouldOpenPopup = provider.openMode === 'popup' && provider.url && setShowOnramp;
|
|
190
|
-
if (!shouldOpenPopup) {
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
return openOnrampPopup((_a = provider.url) !== null && _a !== void 0 ? _a : '', wallet, setShowOnramp, provider.id);
|
|
194
|
-
}, [hasPrimaryWallet, setShowOnramp]);
|
|
199
|
+
setSelectedAndShowOnramp(provider, wallet);
|
|
200
|
+
}, [setSelectedAndShowOnramp]);
|
|
195
201
|
const value = useMemo(() => ({
|
|
196
202
|
enabledOnrampProviders,
|
|
197
203
|
onrampEnabled,
|
|
@@ -162,6 +162,14 @@ const registerSessionKey = (_h) => _tslib.__awaiter(void 0, [_h], void 0, functi
|
|
|
162
162
|
message: 'Error register session key',
|
|
163
163
|
});
|
|
164
164
|
logger.logger.error(responseError, { prevSessionKeySignature, publicKey });
|
|
165
|
+
utils.tracing.logEvent('session-key', 'Error registering session key', utils.tracing.formatObject({
|
|
166
|
+
prevSessionKeySignature,
|
|
167
|
+
publicKey,
|
|
168
|
+
walletId,
|
|
169
|
+
}));
|
|
170
|
+
if (utils.PlatformService.isNativeMobile) {
|
|
171
|
+
logger.logger.instrument(utils.tracing.packScopes());
|
|
172
|
+
}
|
|
165
173
|
if (responseError.response.status === 422) {
|
|
166
174
|
if (responseError.json.code ===
|
|
167
175
|
sdkApiCore.UnprocessableEntityErrorCode.InvalidSessionPublicKey) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { UnprocessableEntityErrorCode, EmbeddedWalletProviderEnum, EmbeddedWalletChainEnum } from '@dynamic-labs/sdk-api-core';
|
|
4
|
-
import { DynamicError, ResponseError, InvalidEmbeddedWalletSessionKeyError } from '@dynamic-labs/utils';
|
|
4
|
+
import { DynamicError, ResponseError, tracing, PlatformService, InvalidEmbeddedWalletSessionKeyError } from '@dynamic-labs/utils';
|
|
5
5
|
import { storeAuthTokenAndUser } from '../../../store/state/user/storeAuthTokenAndUser/storeAuthTokenAndUser.js';
|
|
6
6
|
import '../../../store/state/user/user.js';
|
|
7
7
|
import { sdkApi } from '../api.js';
|
|
@@ -158,6 +158,14 @@ const registerSessionKey = (_h) => __awaiter(void 0, [_h], void 0, function* ({
|
|
|
158
158
|
message: 'Error register session key',
|
|
159
159
|
});
|
|
160
160
|
logger.error(responseError, { prevSessionKeySignature, publicKey });
|
|
161
|
+
tracing.logEvent('session-key', 'Error registering session key', tracing.formatObject({
|
|
162
|
+
prevSessionKeySignature,
|
|
163
|
+
publicKey,
|
|
164
|
+
walletId,
|
|
165
|
+
}));
|
|
166
|
+
if (PlatformService.isNativeMobile) {
|
|
167
|
+
logger.instrument(tracing.packScopes());
|
|
168
|
+
}
|
|
161
169
|
if (responseError.response.status === 422) {
|
|
162
170
|
if (responseError.json.code ===
|
|
163
171
|
UnprocessableEntityErrorCode.InvalidSessionPublicKey) {
|
|
@@ -892,7 +892,7 @@ const translation = {
|
|
|
892
892
|
title: 'Export wallet',
|
|
893
893
|
agreement_title: 'Agree to continue',
|
|
894
894
|
prompt_for_export_title: 'Back up wallet key',
|
|
895
|
-
private_key_title: '
|
|
895
|
+
private_key_title: 'Export Key',
|
|
896
896
|
recovery_phrase_title: 'Secret recovery phrase',
|
|
897
897
|
badge_label: 'Sensitive information',
|
|
898
898
|
prompt_for_export_description: 'Your wallet is ready. Back up your key to protect your assets.',
|
|
@@ -960,6 +960,24 @@ const translation = {
|
|
|
960
960
|
empty_screen: {
|
|
961
961
|
title: 'Nothing to see here yet!',
|
|
962
962
|
},
|
|
963
|
+
delete_account: {
|
|
964
|
+
title: 'Delete My Account',
|
|
965
|
+
description:
|
|
966
|
+
'Deleting your account will permanently remove all data, including wallet details and linked smart contract wallets. This action cannot be undone.',
|
|
967
|
+
backup_confirmation_embedded:
|
|
968
|
+
"I confirm I've backed up my wallet keys. If I proceed, a new wallet will be created. Any wallets or assets not backed up will be lost permanently.",
|
|
969
|
+
backup_confirmation_no_embedded:
|
|
970
|
+
'I confirm that all of my information will be deleted. If I return, a new user profile will be created. These changes cannot be undone.',
|
|
971
|
+
type_delete: 'Enter DELETE in the box below to confirm this action.',
|
|
972
|
+
cancel: 'Cancel',
|
|
973
|
+
confirm: 'Delete Account',
|
|
974
|
+
deleting: 'Deleting...',
|
|
975
|
+
type_delete_label: 'Type to confirm',
|
|
976
|
+
},
|
|
977
|
+
session_management: {
|
|
978
|
+
title: 'Security Settings',
|
|
979
|
+
session_management_button: 'Session Management',
|
|
980
|
+
},
|
|
963
981
|
}
|
|
964
982
|
*/
|
|
965
983
|
dyn_settings: {
|
|
@@ -1003,6 +1021,10 @@ const translation = {
|
|
|
1003
1021
|
deleting: 'Deleting...',
|
|
1004
1022
|
type_delete_label: 'Type to confirm',
|
|
1005
1023
|
},
|
|
1024
|
+
session_management: {
|
|
1025
|
+
title: 'Security Settings',
|
|
1026
|
+
session_management_button: 'Session Management',
|
|
1027
|
+
},
|
|
1006
1028
|
},
|
|
1007
1029
|
/**
|
|
1008
1030
|
* @description copy keys for global wallet view
|
|
@@ -1984,6 +2006,37 @@ const translation = {
|
|
|
1984
2006
|
using_hardware_wallet_toggle_label: 'Using Ledger with {{chainName}}',
|
|
1985
2007
|
button: 'Connect',
|
|
1986
2008
|
},
|
|
2009
|
+
/**
|
|
2010
|
+
* @description copy keys for session management view
|
|
2011
|
+
* @default
|
|
2012
|
+
* {
|
|
2013
|
+
aria: {
|
|
2014
|
+
back_button_label: 'Back',
|
|
2015
|
+
info_button_label: 'Info',
|
|
2016
|
+
},
|
|
2017
|
+
title: 'Session Management',
|
|
2018
|
+
empty_sessions_view: {
|
|
2019
|
+
title: 'No active sessions found',
|
|
2020
|
+
},
|
|
2021
|
+
}
|
|
2022
|
+
*/
|
|
2023
|
+
dyn_session_management: {
|
|
2024
|
+
aria: {
|
|
2025
|
+
back_button_label: 'Back',
|
|
2026
|
+
info_button_label: 'Info',
|
|
2027
|
+
},
|
|
2028
|
+
title: 'Session Management',
|
|
2029
|
+
empty_sessions_view: {
|
|
2030
|
+
title: 'No active sessions found',
|
|
2031
|
+
},
|
|
2032
|
+
info_view: {
|
|
2033
|
+
title: 'Connected App Sessions',
|
|
2034
|
+
description_bold: 'Easily manage which apps have access to your wallet. ',
|
|
2035
|
+
description_2: "Each session represents a connection you've made with a site or app.",
|
|
2036
|
+
description_3: 'You can revoke access anytime to stay in control of where and how your wallet is used.',
|
|
2037
|
+
continue_button: 'Continue',
|
|
2038
|
+
},
|
|
2039
|
+
},
|
|
1987
2040
|
/**
|
|
1988
2041
|
* @description copy keys for sign message flow views
|
|
1989
2042
|
* @default
|