@dynamic-labs/sdk-react-core 4.18.7 → 4.19.0

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +7 -1
  6. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +8 -2
  7. package/src/lib/context/UserWalletsContext/UserWalletsContext.cjs +26 -3
  8. package/src/lib/context/UserWalletsContext/UserWalletsContext.js +27 -4
  9. package/src/lib/locale/en/translation.cjs +39 -0
  10. package/src/lib/locale/en/translation.d.ts +39 -0
  11. package/src/lib/locale/en/translation.js +39 -0
  12. package/src/lib/styles/index.shadow.cjs +1 -1
  13. package/src/lib/styles/index.shadow.js +1 -1
  14. package/src/lib/utils/functions/getSessionInformationName/getSessionInformationName.cjs +10 -0
  15. package/src/lib/utils/functions/getSessionInformationName/getSessionInformationName.d.ts +2 -0
  16. package/src/lib/utils/functions/getSessionInformationName/getSessionInformationName.js +6 -0
  17. package/src/lib/utils/functions/getSessionInformationName/index.d.ts +1 -0
  18. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -0
  19. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -0
  20. package/src/lib/utils/hooks/useAuthLayoutChecks/useAllowClose/useAllowClose.cjs +92 -4
  21. package/src/lib/utils/hooks/useAuthLayoutChecks/useAllowClose/useAllowClose.js +92 -4
  22. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +2 -3
  23. package/src/lib/utils/hooks/useSessionKeys/index.d.ts +1 -0
  24. package/src/lib/utils/hooks/useSessionKeys/useSessionKeys.cjs +140 -0
  25. package/src/lib/utils/hooks/useSessionKeys/useSessionKeys.d.ts +5 -0
  26. package/src/lib/utils/hooks/useSessionKeys/useSessionKeys.js +136 -0
  27. package/src/lib/utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs +3 -90
  28. package/src/lib/utils/hooks/useSubdomainCheck/useSubdomainCheck.js +3 -90
  29. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.cjs +5 -1
  30. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.js +5 -1
  31. package/src/lib/utils/types/SessionInformation.d.ts +25 -0
  32. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +2 -0
  33. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.d.ts +2 -1
  34. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +2 -0
  35. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +1 -1
  36. package/src/lib/widgets/DynamicWidget/views/ConnectedAppsView/ConnectedAppsView.cjs +1 -1
  37. package/src/lib/widgets/DynamicWidget/views/ConnectedAppsView/ConnectedAppsView.js +1 -1
  38. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.cjs +1 -1
  39. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.js +1 -1
  40. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/RevokeAccessView.cjs +51 -0
  41. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/RevokeAccessView.d.ts +6 -0
  42. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/RevokeAccessView.js +47 -0
  43. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/RevokeAccessView/index.d.ts +1 -0
  44. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionListItem/SessionListItem.cjs +31 -0
  45. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionListItem/SessionListItem.d.ts +8 -0
  46. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionListItem/SessionListItem.js +27 -0
  47. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionListItem/index.d.ts +1 -0
  48. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.cjs +15 -2
  49. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.d.ts +7 -1
  50. package/src/lib/widgets/DynamicWidget/views/SessionManagementView/SessionManagementView.js +16 -3
package/CHANGELOG.md CHANGED
@@ -1,4 +1,27 @@
1
1
 
2
+ ## [4.19.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.8...v4.19.0) (2025-05-23)
3
+
4
+
5
+ ### Features
6
+
7
+ * expose 7702 kernel and add viem controller ([#8786](https://github.com/dynamic-labs/dynamic-auth/issues/8786)) ([eea710e](https://github.com/dynamic-labs/dynamic-auth/commit/eea710e238ccbc36e6be37d8f7493954b99858ef))
8
+ * use browser wallet client & iframe for waas operations ([#8697](https://github.com/dynamic-labs/dynamic-auth/issues/8697)) ([13a47b1](https://github.com/dynamic-labs/dynamic-auth/commit/13a47b1c9a2984f08682e833ca8c87605a3a872f))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **global-wallet:** close popup when page unloads to prevent orphaned popup windows ([#8787](https://github.com/dynamic-labs/dynamic-auth/issues/8787)) ([441b04c](https://github.com/dynamic-labs/dynamic-auth/commit/441b04ca04a02feb37473e43bca0e66c5d772ce2))
14
+ * override network when requesting BTC networks in useTokenBalances ([#8773](https://github.com/dynamic-labs/dynamic-auth/issues/8773)) ([fd07d09](https://github.com/dynamic-labs/dynamic-auth/commit/fd07d09de970c7e6f85b251a88854e8eca57e249))
15
+ * remove libmpc executor dependency global wallet ([#8792](https://github.com/dynamic-labs/dynamic-auth/issues/8792)) ([7502585](https://github.com/dynamic-labs/dynamic-auth/commit/75025859d2f952915322cf65504117ec2506152b))
16
+ * standardize font on headers ([#8734](https://github.com/dynamic-labs/dynamic-auth/issues/8734)) ([9f0900c](https://github.com/dynamic-labs/dynamic-auth/commit/9f0900cb7c4294201cc952ae7538648bdea83ff5))
17
+
18
+ ### [4.18.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.7...v4.18.8) (2025-05-22)
19
+
20
+ ### Bug Fixes
21
+
22
+ * allow closing widget right after login ([#8760](https://github.com/dynamic-labs/dynamic-auth/issues/8760)) ([a9afff0](https://github.com/dynamic-labs/dynamic-auth/commit/a9afff0ab2a685853b39aed88e10bf1e700e4c8c))
23
+ * user wallets turning empty when linking new wallets ([#8775](https://github.com/dynamic-labs/dynamic-auth/issues/8775)) ([04215f5](https://github.com/dynamic-labs/dynamic-auth/commit/04215f5307e16ec4e1a7ff235a0d7df2340c3447))
24
+
2
25
  ### [4.18.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.6...v4.18.7) (2025-05-21)
3
26
 
4
27
 
package/package.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.18.7";
6
+ var version = "4.19.0";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.672",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- var version = "4.18.7";
2
+ var version = "4.19.0";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.672",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.18.7",
3
+ "version": "4.19.0",
4
4
  "dependencies": {
5
5
  "@dynamic-labs/sdk-api-core": "0.0.672",
6
6
  "@hcaptcha/react-hcaptcha": "1.4.4",
@@ -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.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",
17
+ "@dynamic-labs/assert-package-version": "4.19.0",
18
+ "@dynamic-labs/iconic": "4.19.0",
19
+ "@dynamic-labs/logger": "4.19.0",
20
+ "@dynamic-labs/multi-wallet": "4.19.0",
21
+ "@dynamic-labs/rpc-providers": "4.19.0",
22
+ "@dynamic-labs/store": "4.19.0",
23
+ "@dynamic-labs/types": "4.19.0",
24
+ "@dynamic-labs/utils": "4.19.0",
25
+ "@dynamic-labs/wallet-book": "4.19.0",
26
+ "@dynamic-labs/wallet-connector-core": "4.19.0",
27
27
  "eventemitter3": "5.0.1"
28
28
  },
29
29
  "devDependencies": {
@@ -26,6 +26,12 @@ const useDynamicContext = () => {
26
26
  });
27
27
  }, [setShowAuthFlow]);
28
28
  const { initialWalletVerificationInProgress } = loadingAndLifecycle.useLoadingAndLifecycle();
29
+ // This ref ensures we don't return a value for primary wallet until useConnectAndSign has completely finished running
30
+ // Read UserWalletsContext.tsx explanation for more context
31
+ const verifiedPrimaryWallet = React.useRef(null);
32
+ if (!initialWalletVerificationInProgress || !primaryWallet) {
33
+ verifiedPrimaryWallet.current = primaryWallet;
34
+ }
29
35
  return {
30
36
  accountSwitchState,
31
37
  authMode,
@@ -41,7 +47,7 @@ const useDynamicContext = () => {
41
47
  multiWalletWidgetState,
42
48
  network,
43
49
  networkConfigurations,
44
- primaryWallet: initialWalletVerificationInProgress ? null : primaryWallet,
50
+ primaryWallet: verifiedPrimaryWallet.current,
45
51
  qrcodeUri,
46
52
  refetchProjectSettings,
47
53
  removeWallet,
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- import { useContext, useCallback } from 'react';
2
+ import { useContext, useCallback, useRef } from 'react';
3
3
  import { DynamicContext } from '../DynamicContext.js';
4
4
  import { useLoadingAndLifecycle } from '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
5
5
  import { useOverrides } from './useOverrides/useOverrides.js';
@@ -22,6 +22,12 @@ const useDynamicContext = () => {
22
22
  });
23
23
  }, [setShowAuthFlow]);
24
24
  const { initialWalletVerificationInProgress } = useLoadingAndLifecycle();
25
+ // This ref ensures we don't return a value for primary wallet until useConnectAndSign has completely finished running
26
+ // Read UserWalletsContext.tsx explanation for more context
27
+ const verifiedPrimaryWallet = useRef(null);
28
+ if (!initialWalletVerificationInProgress || !primaryWallet) {
29
+ verifiedPrimaryWallet.current = primaryWallet;
30
+ }
25
31
  return {
26
32
  accountSwitchState,
27
33
  authMode,
@@ -37,7 +43,7 @@ const useDynamicContext = () => {
37
43
  multiWalletWidgetState,
38
44
  network,
39
45
  networkConfigurations,
40
- primaryWallet: initialWalletVerificationInProgress ? null : primaryWallet,
46
+ primaryWallet: verifiedPrimaryWallet.current,
41
47
  qrcodeUri,
42
48
  refetchProjectSettings,
43
49
  removeWallet,
@@ -65,13 +65,36 @@ const useInternalUserWallets = () => {
65
65
  };
66
66
  /** Provides access to the current user/session wallets */
67
67
  const useUserWallets = () => {
68
+ var _a;
68
69
  const context = React.useContext(UserWalletsContext);
70
+ // EXPLANATION:
71
+ //
72
+ // The problem:
73
+ // When we call useConnectAndSign, the wallet that is then added remains in an incomplete state until
74
+ // all tasks initiated by useConnectAndSign have completely finished running.
75
+ // If, say, a customer calls switchNetwork() on it in this meantime, the SDK will enter a broken state.
76
+ // Can be checked by attempting signMessage with wagmi after entering this broken state.
77
+ //
78
+ // The Solution:
79
+ // In order to prevent customers from accessing these wallets while they are incomplete,
80
+ // we return the old value of userWallets until useConnectAndSign has completely finished running.
81
+ //
82
+ // This is done by setting this "initialWalletVerificationInProgress" flag to true while it runs,
83
+ // and storing the previous value of userWallets in verifiedUserWallets.
84
+ // We then return this ref instead of the current userWallets.
85
+ //
86
+ // This ref is only updated when initialWalletVerificationInProgress is false, i.e. when
87
+ // there is no wallet being added at the moment.
88
+ //
89
+ // FYI this same logic is used in useDynamicContext for primaryWallet
90
+ const verifiedUserWallets = React.useRef([]);
69
91
  const { initialWalletVerificationInProgress } = loadingAndLifecycle.useLoadingAndLifecycle();
70
92
  if (!context)
71
93
  throw new Error('Can only call useUserWallets inside UserWalletsProvider');
72
- if (initialWalletVerificationInProgress)
73
- return [];
74
- return context.userWallets;
94
+ if (!initialWalletVerificationInProgress) {
95
+ verifiedUserWallets.current = (_a = context === null || context === void 0 ? void 0 : context.userWallets) !== null && _a !== void 0 ? _a : [];
96
+ }
97
+ return verifiedUserWallets.current;
75
98
  };
76
99
 
77
100
  exports.UserWalletsContext = UserWalletsContext;
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { createContext, useContext, useState, useRef, useCallback, useEffect } from 'react';
3
+ import { createContext, useContext, useRef, useState, useCallback, useEffect } from 'react';
4
4
  import { dynamicEvents } from '../../events/dynamicEvents.js';
5
5
  import { useLoadingAndLifecycle } from '../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
6
6
 
@@ -61,13 +61,36 @@ const useInternalUserWallets = () => {
61
61
  };
62
62
  /** Provides access to the current user/session wallets */
63
63
  const useUserWallets = () => {
64
+ var _a;
64
65
  const context = useContext(UserWalletsContext);
66
+ // EXPLANATION:
67
+ //
68
+ // The problem:
69
+ // When we call useConnectAndSign, the wallet that is then added remains in an incomplete state until
70
+ // all tasks initiated by useConnectAndSign have completely finished running.
71
+ // If, say, a customer calls switchNetwork() on it in this meantime, the SDK will enter a broken state.
72
+ // Can be checked by attempting signMessage with wagmi after entering this broken state.
73
+ //
74
+ // The Solution:
75
+ // In order to prevent customers from accessing these wallets while they are incomplete,
76
+ // we return the old value of userWallets until useConnectAndSign has completely finished running.
77
+ //
78
+ // This is done by setting this "initialWalletVerificationInProgress" flag to true while it runs,
79
+ // and storing the previous value of userWallets in verifiedUserWallets.
80
+ // We then return this ref instead of the current userWallets.
81
+ //
82
+ // This ref is only updated when initialWalletVerificationInProgress is false, i.e. when
83
+ // there is no wallet being added at the moment.
84
+ //
85
+ // FYI this same logic is used in useDynamicContext for primaryWallet
86
+ const verifiedUserWallets = useRef([]);
65
87
  const { initialWalletVerificationInProgress } = useLoadingAndLifecycle();
66
88
  if (!context)
67
89
  throw new Error('Can only call useUserWallets inside UserWalletsProvider');
68
- if (initialWalletVerificationInProgress)
69
- return [];
70
- return context.userWallets;
90
+ if (!initialWalletVerificationInProgress) {
91
+ verifiedUserWallets.current = (_a = context === null || context === void 0 ? void 0 : context.userWallets) !== null && _a !== void 0 ? _a : [];
92
+ }
93
+ return verifiedUserWallets.current;
71
94
  };
72
95
 
73
96
  export { UserWalletsContext, UserWalletsProvider, useInternalUserWallets, useUserWallets };
@@ -2018,12 +2018,37 @@ const translation = {
2018
2018
  empty_sessions_view: {
2019
2019
  title: 'No active sessions found',
2020
2020
  },
2021
+ info_view: {
2022
+ title: 'Connected App Sessions',
2023
+ description_bold: 'Easily manage which apps have access to your wallet. ',
2024
+ description_2:
2025
+ "Each session represents a connection you've made with a site or app.",
2026
+ description_3:
2027
+ 'You can revoke access anytime to stay in control of where and how your wallet is used.',
2028
+ continue_button: 'Continue',
2029
+ },
2030
+ revoke_access_view: {
2031
+ title: 'Revoke Access',
2032
+ description:
2033
+ "You're removing this site's permissions. Confirm to revoke access.",
2034
+ cancel_button: 'Cancel',
2035
+ revoke_button: 'Revoke',
2036
+ },
2037
+ session_component: {
2038
+ aria: {
2039
+ collapse_permissions: 'Collapse',
2040
+ expand_permissions: 'Expand',
2041
+ },
2042
+ permission_details: 'Permission details',
2043
+ revoke_button: 'Revoke',
2044
+ },
2021
2045
  }
2022
2046
  */
2023
2047
  dyn_session_management: {
2024
2048
  aria: {
2025
2049
  back_button_label: 'Back',
2026
2050
  info_button_label: 'Info',
2051
+ close_button_label: 'Close',
2027
2052
  },
2028
2053
  title: 'Session Management',
2029
2054
  empty_sessions_view: {
@@ -2036,6 +2061,20 @@ const translation = {
2036
2061
  description_3: 'You can revoke access anytime to stay in control of where and how your wallet is used.',
2037
2062
  continue_button: 'Continue',
2038
2063
  },
2064
+ revoke_access_view: {
2065
+ title: 'Revoke Access',
2066
+ description: "You're removing this site's permissions. Confirm to revoke access.",
2067
+ cancel_button: 'Cancel',
2068
+ revoke_button: 'Revoke',
2069
+ },
2070
+ session_component: {
2071
+ aria: {
2072
+ collapse_permissions: 'Collapse',
2073
+ expand_permissions: 'Expand',
2074
+ },
2075
+ permission_details: 'Permission details',
2076
+ revoke_button: 'Revoke',
2077
+ },
2039
2078
  },
2040
2079
  /**
2041
2080
  * @description copy keys for sign message flow views
@@ -2014,12 +2014,37 @@ export declare const translation: {
2014
2014
  empty_sessions_view: {
2015
2015
  title: 'No active sessions found',
2016
2016
  },
2017
+ info_view: {
2018
+ title: 'Connected App Sessions',
2019
+ description_bold: 'Easily manage which apps have access to your wallet. ',
2020
+ description_2:
2021
+ "Each session represents a connection you've made with a site or app.",
2022
+ description_3:
2023
+ 'You can revoke access anytime to stay in control of where and how your wallet is used.',
2024
+ continue_button: 'Continue',
2025
+ },
2026
+ revoke_access_view: {
2027
+ title: 'Revoke Access',
2028
+ description:
2029
+ "You're removing this site's permissions. Confirm to revoke access.",
2030
+ cancel_button: 'Cancel',
2031
+ revoke_button: 'Revoke',
2032
+ },
2033
+ session_component: {
2034
+ aria: {
2035
+ collapse_permissions: 'Collapse',
2036
+ expand_permissions: 'Expand',
2037
+ },
2038
+ permission_details: 'Permission details',
2039
+ revoke_button: 'Revoke',
2040
+ },
2017
2041
  }
2018
2042
  */
2019
2043
  dyn_session_management: {
2020
2044
  aria: {
2021
2045
  back_button_label: string;
2022
2046
  info_button_label: string;
2047
+ close_button_label: string;
2023
2048
  };
2024
2049
  title: string;
2025
2050
  empty_sessions_view: {
@@ -2032,6 +2057,20 @@ export declare const translation: {
2032
2057
  description_3: string;
2033
2058
  continue_button: string;
2034
2059
  };
2060
+ revoke_access_view: {
2061
+ title: string;
2062
+ description: string;
2063
+ cancel_button: string;
2064
+ revoke_button: string;
2065
+ };
2066
+ session_component: {
2067
+ aria: {
2068
+ collapse_permissions: string;
2069
+ expand_permissions: string;
2070
+ };
2071
+ permission_details: string;
2072
+ revoke_button: string;
2073
+ };
2035
2074
  };
2036
2075
  /**
2037
2076
  * @description copy keys for sign message flow views
@@ -2014,12 +2014,37 @@ const translation = {
2014
2014
  empty_sessions_view: {
2015
2015
  title: 'No active sessions found',
2016
2016
  },
2017
+ info_view: {
2018
+ title: 'Connected App Sessions',
2019
+ description_bold: 'Easily manage which apps have access to your wallet. ',
2020
+ description_2:
2021
+ "Each session represents a connection you've made with a site or app.",
2022
+ description_3:
2023
+ 'You can revoke access anytime to stay in control of where and how your wallet is used.',
2024
+ continue_button: 'Continue',
2025
+ },
2026
+ revoke_access_view: {
2027
+ title: 'Revoke Access',
2028
+ description:
2029
+ "You're removing this site's permissions. Confirm to revoke access.",
2030
+ cancel_button: 'Cancel',
2031
+ revoke_button: 'Revoke',
2032
+ },
2033
+ session_component: {
2034
+ aria: {
2035
+ collapse_permissions: 'Collapse',
2036
+ expand_permissions: 'Expand',
2037
+ },
2038
+ permission_details: 'Permission details',
2039
+ revoke_button: 'Revoke',
2040
+ },
2017
2041
  }
2018
2042
  */
2019
2043
  dyn_session_management: {
2020
2044
  aria: {
2021
2045
  back_button_label: 'Back',
2022
2046
  info_button_label: 'Info',
2047
+ close_button_label: 'Close',
2023
2048
  },
2024
2049
  title: 'Session Management',
2025
2050
  empty_sessions_view: {
@@ -2032,6 +2057,20 @@ const translation = {
2032
2057
  description_3: 'You can revoke access anytime to stay in control of where and how your wallet is used.',
2033
2058
  continue_button: 'Continue',
2034
2059
  },
2060
+ revoke_access_view: {
2061
+ title: 'Revoke Access',
2062
+ description: "You're removing this site's permissions. Confirm to revoke access.",
2063
+ cancel_button: 'Cancel',
2064
+ revoke_button: 'Revoke',
2065
+ },
2066
+ session_component: {
2067
+ aria: {
2068
+ collapse_permissions: 'Collapse',
2069
+ expand_permissions: 'Expand',
2070
+ },
2071
+ permission_details: 'Permission details',
2072
+ revoke_button: 'Revoke',
2073
+ },
2035
2074
  },
2036
2075
  /**
2037
2076
  * @description copy keys for sign message flow views