From 384ba3d9862e717a6a18bd3a341ef88e5119385f Mon Sep 17 00:00:00 2001
From: Nidhi Kumari
Date: Fri, 13 Oct 2023 20:14:12 +0530
Subject: [PATCH 010/121] UX Multichain: Added avatar group component (#21342)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR is to add a avatar group component required for the [avatars in
account-list-item](https://github.com/MetaMask/MetaMask-planning/issues/1425)
## **Manual testing steps**
_1. Step1:_ Go to Storybook build
_2. Step2:_ Look for AvatarGroup Component
_3. Step3:_ Check if components are in a stacked manner
_4. Step4:_ Change the limit and check extra appear in a text like +2
format
## **Screenshots/Recordings**
![Screenshot 2023-10-12 at 4 29 52
PM](https://github.com/MetaMask/metamask-extension/assets/39872794/031c01ea-8665-48bd-991d-61ba40fc2b75)
## **Related issues**
_Fixes #21323
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [x] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [x] I’ve properly set the pull request status:
- [x] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.../__snapshots__/avatar-group.test.tsx.snap | 80 +++++++++++++++++++
.../avatar-group/avatar-group.stories.tsx | 57 +++++++++++++
.../avatar-group/avatar-group.test.tsx | 34 ++++++++
.../multichain/avatar-group/avatar-group.tsx | 72 +++++++++++++++++
.../avatar-group/avatar-group.types.tsx | 21 +++++
.../multichain/avatar-group/index.ts | 1 +
ui/components/multichain/index.js | 1 +
7 files changed, 266 insertions(+)
create mode 100644 ui/components/multichain/avatar-group/__snapshots__/avatar-group.test.tsx.snap
create mode 100644 ui/components/multichain/avatar-group/avatar-group.stories.tsx
create mode 100644 ui/components/multichain/avatar-group/avatar-group.test.tsx
create mode 100644 ui/components/multichain/avatar-group/avatar-group.tsx
create mode 100644 ui/components/multichain/avatar-group/avatar-group.types.tsx
create mode 100644 ui/components/multichain/avatar-group/index.ts
diff --git a/ui/components/multichain/avatar-group/__snapshots__/avatar-group.test.tsx.snap b/ui/components/multichain/avatar-group/__snapshots__/avatar-group.test.tsx.snap
new file mode 100644
index 000000000000..3ef94f51374b
--- /dev/null
+++ b/ui/components/multichain/avatar-group/__snapshots__/avatar-group.test.tsx.snap
@@ -0,0 +1,80 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`AvatarGroup should render AvatarGroup component 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/ui/components/multichain/avatar-group/avatar-group.stories.tsx b/ui/components/multichain/avatar-group/avatar-group.stories.tsx
new file mode 100644
index 000000000000..e83a85f2b652
--- /dev/null
+++ b/ui/components/multichain/avatar-group/avatar-group.stories.tsx
@@ -0,0 +1,57 @@
+import React from 'react';
+import { StoryFn, Meta } from '@storybook/react';
+import { AvatarGroup } from '.';
+
+export default {
+ title: 'Components/Multichain/AvatarGroup',
+ component: AvatarGroup,
+ argTypes: {
+ limit: {
+ control: 'number',
+ },
+ members: {
+ control: 'object',
+ },
+ },
+ args: {
+ members: [
+ { symbol: 'ETH', image: './images/eth_logo.png' },
+ { symbol: 'MATIC', image: './images/matic-token.png' },
+ { symbol: 'OP', image: './images/optimism.svg' },
+ { symbol: 'AVAX', image: './images/avax-token.png' },
+ ],
+ limit: 4,
+ },
+} as Meta;
+
+const Template = (args) => ;
+
+export const DefaultStory = Template.bind({});
+DefaultStory.storyName = 'Default';
+
+export const WithTag: StoryFn = (args) => (
+
+);
+WithTag.args = {
+ members: [
+ { symbol: 'ETH', image: './images/eth_logo.png' },
+ { symbol: 'MATIC', image: './images/matic-token.png' },
+ { symbol: 'OP', image: './images/optimism.svg' },
+ { symbol: 'AVAX', image: './images/avax-token.png' },
+ { symbol: 'PALM', image: './images/palm.svg' },
+ ],
+ limit: 2,
+};
+
+export const TokenWithOutSrc: StoryFn = (args) => (
+
+);
+TokenWithOutSrc.args = {
+ members: [
+ { symbol: 'ETH', image: '' },
+ { symbol: 'MATIC', image: '' },
+ { symbol: 'OP', image: '' },
+ { symbol: 'AVAX', image: '' },
+ ],
+ limit: 2,
+};
diff --git a/ui/components/multichain/avatar-group/avatar-group.test.tsx b/ui/components/multichain/avatar-group/avatar-group.test.tsx
new file mode 100644
index 000000000000..a9a891468165
--- /dev/null
+++ b/ui/components/multichain/avatar-group/avatar-group.test.tsx
@@ -0,0 +1,34 @@
+/* eslint-disable jest/require-top-level-describe */
+import { render, screen } from '@testing-library/react';
+import React from 'react';
+
+import { AvatarGroup } from './avatar-group';
+
+const members = [
+ { symbol: 'ETH', image: './images/eth_logo.png' },
+ { symbol: 'MATIC', image: './images/matic-token.png' },
+ { symbol: 'OP', image: './images/optimism.svg' },
+ { symbol: 'AVAX', image: './images/avax-token.png' },
+ { symbol: 'PALM', image: './images/palm.svg' },
+];
+
+describe('AvatarGroup', () => {
+ it('should render AvatarGroup component', () => {
+ const { getByTestId, container } = render(
+ ,
+ );
+ expect(getByTestId('avatar-group')).toBeDefined();
+ expect(container).toMatchSnapshot();
+ });
+
+ it('should render the tag +1 if members has a length greater than limit', () => {
+ render( );
+
+ expect(screen.getByText('+1')).toBeDefined();
+ });
+
+ it('should not render the tag if members has a length less than or equal to limit', () => {
+ const { queryByText } = render( );
+ expect(queryByText('+1')).not.toBeInTheDocument();
+ });
+});
diff --git a/ui/components/multichain/avatar-group/avatar-group.tsx b/ui/components/multichain/avatar-group/avatar-group.tsx
new file mode 100644
index 000000000000..fcfbe19c0395
--- /dev/null
+++ b/ui/components/multichain/avatar-group/avatar-group.tsx
@@ -0,0 +1,72 @@
+import * as React from 'react';
+import classnames from 'classnames';
+import {
+ Text,
+ Box,
+ AvatarToken,
+ AvatarTokenSize,
+} from '../../component-library';
+import {
+ AlignItems,
+ BorderColor,
+ BorderRadius,
+ Display,
+ TextColor,
+ TextVariant,
+} from '../../../helpers/constants/design-system';
+import { AvatarGroupProps } from './avatar-group.types';
+
+export const AvatarGroup: React.FC = ({
+ className = '',
+ limit = 4,
+ members = [],
+ size = AvatarTokenSize.Xs,
+ borderColor = BorderColor.transparent,
+}): JSX.Element => {
+ const membersCount = members.length;
+ const visibleMembers = members.slice(0, limit).reverse();
+ const showTag = membersCount > limit;
+ let marginLeftValue = '';
+ if (AvatarTokenSize.Xs) {
+ marginLeftValue = '-8px';
+ } else if (AvatarTokenSize.Sm) {
+ marginLeftValue = '-12px';
+ } else {
+ marginLeftValue = '-16px';
+ }
+ const tagValue = `+${(membersCount - limit).toLocaleString()}`;
+ return (
+
+
+ {visibleMembers.map((member, i) => (
+
+
+
+ ))}
+
+ {showTag ? (
+
+
+ {tagValue}
+
+
+ ) : null}
+
+ );
+};
diff --git a/ui/components/multichain/avatar-group/avatar-group.types.tsx b/ui/components/multichain/avatar-group/avatar-group.types.tsx
new file mode 100644
index 000000000000..b5673692de50
--- /dev/null
+++ b/ui/components/multichain/avatar-group/avatar-group.types.tsx
@@ -0,0 +1,21 @@
+import { BorderColor } from '../../../helpers/constants/design-system';
+import { AvatarTokenSize } from '../../component-library';
+import type { StyleUtilityProps } from '../../component-library/box';
+
+export interface AvatarGroupProps extends StyleUtilityProps {
+ /** * Additional class name for the AvatarGroup component */
+ className?: string;
+ /** * Limit to show only a certain number of tokens and extras in Text */
+ limit: number;
+ /** * List of Avatar Tokens */
+ members: {
+ /** * Image of Avatar Token */
+ image: string;
+ /** * Symbol of Avatar Token */
+ symbol?: string;
+ }[];
+ /** * Size of Avatar Tokens. For AvatarGroup we are considering AvatarTokenSize.Xs, AvatarTokenSize.Sm, AvatarTokenSize.Md */
+ size?: AvatarTokenSize;
+ /** * Border Color of Avatar Tokens */
+ borderColor?: BorderColor;
+}
diff --git a/ui/components/multichain/avatar-group/index.ts b/ui/components/multichain/avatar-group/index.ts
new file mode 100644
index 000000000000..59d3238f30af
--- /dev/null
+++ b/ui/components/multichain/avatar-group/index.ts
@@ -0,0 +1 @@
+export { AvatarGroup } from './avatar-group';
diff --git a/ui/components/multichain/index.js b/ui/components/multichain/index.js
index a2d8c5d7db17..2151c989addf 100644
--- a/ui/components/multichain/index.js
+++ b/ui/components/multichain/index.js
@@ -24,3 +24,4 @@ export { ImportTokensModal } from './import-tokens-modal';
export { SelectActionModal } from './select-action-modal';
export { SelectActionModalItem } from './select-action-modal-item';
export { AssetListConversionButton } from './asset-list-conversion-button';
+export { AvatarGroup } from './avatar-group';
From 6e82ec22f319e11c063594341d6b697497653dfb Mon Sep 17 00:00:00 2001
From: David Walsh
Date: Fri, 13 Oct 2023 09:59:06 -0500
Subject: [PATCH 011/121] UX: Multichain: Fix useAccountTotalFiatBalance when
getWeiHexFromDecimalValue returns "NaN" (#21359)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
While onboarding with `MULTICHAIN` environment variable turned on, I
noticed a crash upon initial loading screen. The cause was
`getWeiHexFromDecimalValue` returning "NaN" in this block:
```
const totalWeiBalance = getWeiHexFromDecimalValue({
value: totalFiatBalance,
fromCurrency: currentCurrency,
conversionRate,
invertConversionRate: true,
});
```
with params:
* `value`: `"0"`
* `fromCurrency`: `"usd"`
* `conversionRate`: `0`
Checking for valid output and returning `0x0` prevents the balance error
## **Manual testing steps**
0. `MULTICHAIN=1 yarn start`
_1. Remove your local Metamask
_2. Re-install and go through onboarding
_3. Get to home wallet screen without crashing
## **Related issues**
_Fixes #???_
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
ui/hooks/useAccountTotalFiatBalance.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/ui/hooks/useAccountTotalFiatBalance.js b/ui/hooks/useAccountTotalFiatBalance.js
index ee0e8173a629..0d2a63d454c1 100644
--- a/ui/hooks/useAccountTotalFiatBalance.js
+++ b/ui/hooks/useAccountTotalFiatBalance.js
@@ -82,13 +82,19 @@ export const useAccountTotalFiatBalance = (
const formattedFiat = formatCurrency(totalFiatBalance, currentCurrency);
// WEI Number which can be used with UserPreferencedCurrencyDisplay component
- const totalWeiBalance = getWeiHexFromDecimalValue({
+ let totalWeiBalance = getWeiHexFromDecimalValue({
value: totalFiatBalance,
fromCurrency: currentCurrency,
conversionRate,
invertConversionRate: true,
});
+ // If we have a totalFiatBalance of "0" and conversionRate of "0",
+ // getWeiHexFromDecimalValue responds with "NaN"
+ if (totalWeiBalance === 'NaN') {
+ totalWeiBalance = '0x0';
+ }
+
return {
formattedFiat,
totalWeiBalance,
From 001c94bf9364d5e1d688d70cc5834779d797ec60 Mon Sep 17 00:00:00 2001
From: sahar-fehri
Date: Fri, 13 Oct 2023 17:10:22 +0200
Subject: [PATCH 012/121] fix: display conversion rate (#21185)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR solves one bug shown in this github issue:
https://github.com/MetaMask/metamask-extension/issues/20106
When you try to send a token, on Polygon, it does not show the
conversion of the amount, it just shows "ETH".
If you chose "FIAT" in the settings=>general, this issue does not occur.
This only happens when you choose crypto.
PS: I have also noticed this issue on BNB chain. On Ethereum network,
all works fine. If you try to send a token on other chains, you won't be
able to see the conversion correctly and it will always just show "ETH".
## **Manual testing steps**
_1. Chose polygon network
_2. Go to settings => General and choose "MATIC" as the primary
currency.
_3. Go back to the home screen and choose a token to send (exp USDC)
_4. Click on the "send" button and choose an account
_5. Notice that if you type "5" in the amount input, you will see "ETH"
as the conversion of that amount.
(The same steps are applicable on BNB chain)
## **Screenshots/Recordings**
_If applicable, add screenshots and/or recordings to visualize the
before and after of your change._
### **Before**
On Polygon
![image](https://github.com/MetaMask/metamask-extension/assets/10994169/56959e21-d14c-4cc4-a950-46ec240476dd)
On BNB
![image](https://github.com/MetaMask/metamask-extension/assets/10994169/de6aac12-b250-4b56-b1d2-4f38c21fd6c2)
### **After**
On Polygon:
![image](https://github.com/MetaMask/metamask-extension/assets/10994169/19ed9179-0f55-4f90-8c9b-4cc8ee49f1a1)
On BNB:
![image](https://github.com/MetaMask/metamask-extension/assets/10994169/8c5819f3-62e5-4156-9e76-406c760c8827)
## **Related issues**
(_Fixes
#MMASSETS-26)[https://consensyssoftware.atlassian.net/browse/MMASSETS-26]
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [x] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.../ui/token-input/token-input.component.js | 8 +++---
.../token-input/token-input.component.test.js | 27 +++++++++++++++++++
.../ui/token-input/token-input.container.js | 2 ++
3 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/ui/components/ui/token-input/token-input.component.js b/ui/components/ui/token-input/token-input.component.js
index 45eb8a8e14d8..8b79e7cdd4ae 100644
--- a/ui/components/ui/token-input/token-input.component.js
+++ b/ui/components/ui/token-input/token-input.component.js
@@ -33,6 +33,7 @@ export default class TokenInput extends PureComponent {
symbol: PropTypes.string,
}).isRequired,
tokenExchangeRates: PropTypes.object,
+ nativeCurrency: PropTypes.string,
tokens: PropTypes.array.isRequired,
};
@@ -104,7 +105,9 @@ export default class TokenInput extends PureComponent {
hideConversion,
token,
tokens,
+ nativeCurrency,
} = this.props;
+
const { decimalValue } = this.state;
const existingToken = tokens.find(({ address }) =>
@@ -127,8 +130,8 @@ export default class TokenInput extends PureComponent {
currency = currentCurrency;
numberOfDecimals = 2;
} else {
- // Display ETH
- currency = EtherDenomination.ETH;
+ // Display Native currency
+ currency = nativeCurrency;
numberOfDecimals = 6;
}
@@ -138,7 +141,6 @@ export default class TokenInput extends PureComponent {
fromCurrency: EtherDenomination.ETH,
fromDenomination: EtherDenomination.ETH,
});
-
return tokenExchangeRate ? (
{
@@ -55,6 +56,32 @@ describe('TokenInput Component', () => {
expect(queryByTitle('0 ETH')).toBeInTheDocument();
});
+ it('should render conversionRate on polygon', () => {
+ const showFiatState = {
+ ...mockState,
+ metamask: {
+ ...mockState.metamask,
+ nativeCurrency: 'MATIC',
+ preferences: {
+ ...mockState.metamask.preferences,
+ showFiatInTestnets: true,
+ },
+ providerConfig: {
+ chainId: CHAIN_IDS.POLYGON,
+ type: NETWORK_TYPES.MAINNET,
+ },
+ },
+ };
+ const mockStore = configureMockStore()(showFiatState);
+
+ const { queryByTitle } = renderWithProvider(
+ ,
+ mockStore,
+ );
+
+ expect(queryByTitle('0 MATIC')).toBeInTheDocument();
+ });
+
it('should render showFiat', () => {
const showFiatState = {
...mockState,
diff --git a/ui/components/ui/token-input/token-input.container.js b/ui/components/ui/token-input/token-input.container.js
index 98082a3db387..9778e068675b 100644
--- a/ui/components/ui/token-input/token-input.container.js
+++ b/ui/components/ui/token-input/token-input.container.js
@@ -1,6 +1,7 @@
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { getTokenExchangeRates, getShouldShowFiat } from '../../../selectors';
+import { getNativeCurrency } from '../../../ducks/metamask/metamask';
import TokenInput from './token-input.component';
const mapStateToProps = (state) => {
@@ -12,6 +13,7 @@ const mapStateToProps = (state) => {
currentCurrency,
tokenExchangeRates: getTokenExchangeRates(state),
hideConversion: !getShouldShowFiat(state),
+ nativeCurrency: getNativeCurrency(state),
tokens,
};
};
From 9d1bd4340463092c418f60cbef6b0c846b47f404 Mon Sep 17 00:00:00 2001
From: salimtb
Date: Fri, 13 Oct 2023 17:12:03 +0200
Subject: [PATCH 013/121] Token amount sent displays 0 when input contains no
decimals (#21338)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Description
Problem: After sending a token with an amount that doesn’t include
decimals (ie 3, 5, 2), the transaction history displays the actual
amount sent as 0. If the amount sent has a decimal (ie. 3.1, 0.2), this
bug does not exist.
Expected Behavior: The amount I send should be reflected in the
transaction history.
the problem is related to the fact that in Javascript , the boolean
expression of `0` return `false`
## **Manual testing steps**
1 - GIVEN I am on the "Activity" page
2 - AFTER I send a token with a decimal amount
3 - WHEN I view the previous transaction
4 - THEN I see the correct token amount sent
### **Before**
[_[screenshot]_
](https://user-images.githubusercontent.com/54408225/224984691-a046903b-681e-4414-a740-1d70ece3b7d3.mp4)
### **After**
https://user-images.githubusercontent.com/26223211/265502035-a4f4e162-3c58-48f0-9699-d2131b8de30d.mov
## **Related issues**
_Fixes #18139
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [x] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
ui/hooks/useTokenDisplayValue.js | 3 ++-
ui/hooks/useTokenDisplayValue.test.js | 11 +++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/ui/hooks/useTokenDisplayValue.js b/ui/hooks/useTokenDisplayValue.js
index bdeae9c0e210..eb9b7458ed2d 100644
--- a/ui/hooks/useTokenDisplayValue.js
+++ b/ui/hooks/useTokenDisplayValue.js
@@ -43,7 +43,8 @@ export function useTokenDisplayValue(
// and a token object has been provided
token &&
// and the provided token object contains a defined decimal value we need to calculate amount
- token.decimals &&
+ token.decimals !== null &&
+ token.decimals !== undefined &&
// and we are able to parse the token detail we to calculate amount from the raw data
tokenValue,
);
diff --git a/ui/hooks/useTokenDisplayValue.test.js b/ui/hooks/useTokenDisplayValue.test.js
index 76834c1ea65b..1b66f14ce666 100644
--- a/ui/hooks/useTokenDisplayValue.test.js
+++ b/ui/hooks/useTokenDisplayValue.test.js
@@ -115,6 +115,17 @@ const tests = [
tokenValue: '25500000',
displayValue: '25.5',
},
+ {
+ token: {
+ symbol: 'MTK',
+ decimals: 0,
+ },
+ tokenData: {
+ args: 'decoded-params11',
+ },
+ tokenValue: '25',
+ displayValue: '25',
+ },
];
describe('useTokenDisplayValue', () => {
From 0bec1df3baad422867eee93ed18f438e15d0e421 Mon Sep 17 00:00:00 2001
From: Brian Bergeron
Date: Fri, 13 Oct 2023 11:07:07 -0500
Subject: [PATCH 014/121] Fix gas calculation checking wrong account balance
(#21174)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Dapps can connect to / prompt transactions from a different account than
the one currently selected within the wallet itself.
When this occurs, `useGasFeeErrors` was doing a balance check against
the wrong account. It was using the current account within the wallet,
instead of the account issuing the transaction. This can cause balance
errors even when the account has sufficient funds.
This shows in 2 places in the UI, which are the only places checking
`balanceError`:
- Token approvals
- Customizing gas popup
Solution: Check balance of the account issuing the transaction.
## **Manual testing steps**
1. Within the wallet, select an empty account.
2. On the E2E Test Dapp, connect to a funded account.
3. Send ETH
4. Click "🌐 Site suggested" to customize gas
5. A balance error used to appear, but no longer should.
## **Screenshots/Recordings**
### **Before**
https://github.com/MetaMask/metamask-extension/assets/3500406/f48eff21-f2ff-4d96-ba4a-ab15427092ec
## **Related issues**
Fixes: https://github.com/MetaMask/metamask-extension/issues/20770
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [x] I’ve properly set the pull request status:
- [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.../edit-gas-fee-popover.test.js | 21 +++++++++++++--
ui/hooks/gasFeeInput/test-utils.js | 3 +--
ui/hooks/gasFeeInput/useGasFeeErrors.js | 20 +++++++++-----
ui/hooks/gasFeeInput/useGasFeeErrors.test.js | 25 ++++++++++++++++--
ui/hooks/gasFeeInput/useGasFeeInputs.test.js | 26 ++++++++++++++++---
5 files changed, 80 insertions(+), 15 deletions(-)
diff --git a/ui/components/app/edit-gas-fee-popover/edit-gas-fee-popover.test.js b/ui/components/app/edit-gas-fee-popover/edit-gas-fee-popover.test.js
index eb8287a2da99..94f0df605d36 100644
--- a/ui/components/app/edit-gas-fee-popover/edit-gas-fee-popover.test.js
+++ b/ui/components/app/edit-gas-fee-popover/edit-gas-fee-popover.test.js
@@ -6,6 +6,11 @@ import { renderWithProvider } from '../../../../test/lib/render-helpers';
import { ETH } from '../../../helpers/constants/common';
import configureStore from '../../../store/store';
import { GasFeeContextProvider } from '../../../contexts/gasFee';
+
+import {
+ TransactionStatus,
+ TransactionType,
+} from '../../../../shared/constants/transaction';
import {
NETWORK_TYPES,
CHAIN_IDS,
@@ -120,13 +125,25 @@ describe('EditGasFeePopover', () => {
});
it('should not show insufficient balance message if transaction value is less than balance', () => {
- render({ txProps: { userFeeLevel: 'high', txParams: { value: '0x64' } } });
+ render({
+ txProps: {
+ status: TransactionStatus.unapproved,
+ type: TransactionType.simpleSend,
+ userFeeLevel: 'high',
+ txParams: { value: '0x64', from: '0xAddress' },
+ },
+ });
expect(screen.queryByText('Insufficient funds.')).not.toBeInTheDocument();
});
it('should show insufficient balance message if transaction value is more than balance', () => {
render({
- txProps: { userFeeLevel: 'high', txParams: { value: '0x5208' } },
+ txProps: {
+ status: TransactionStatus.unapproved,
+ type: TransactionType.simpleSend,
+ userFeeLevel: 'high',
+ txParams: { value: '0x5208', from: '0xAddress' },
+ },
});
expect(screen.queryByText('Insufficient funds.')).toBeInTheDocument();
});
diff --git a/ui/hooks/gasFeeInput/test-utils.js b/ui/hooks/gasFeeInput/test-utils.js
index 86e00a822447..8d5225a12ccd 100644
--- a/ui/hooks/gasFeeInput/test-utils.js
+++ b/ui/hooks/gasFeeInput/test-utils.js
@@ -8,7 +8,6 @@ import {
import {
checkNetworkAndAccountSupports1559,
getCurrentCurrency,
- getSelectedAccount,
getShouldShowFiat,
getPreferences,
txDataSelector,
@@ -122,7 +121,7 @@ export const generateUseSelectorRouter =
},
};
}
- if (selector === getSelectedAccount) {
+ if (selector.toString().includes('getTargetAccount')) {
return {
balance: '0x440aa47cc2556',
};
diff --git a/ui/hooks/gasFeeInput/useGasFeeErrors.js b/ui/hooks/gasFeeInput/useGasFeeErrors.js
index b48f5cef0fcf..3fdedd035b2f 100644
--- a/ui/hooks/gasFeeInput/useGasFeeErrors.js
+++ b/ui/hooks/gasFeeInput/useGasFeeErrors.js
@@ -3,12 +3,14 @@ import { shallowEqual, useSelector } from 'react-redux';
import { GasEstimateTypes, GAS_LIMITS } from '../../../shared/constants/gas';
import {
checkNetworkAndAccountSupports1559,
- getSelectedAccount,
+ getTargetAccount,
} from '../../selectors';
import { isLegacyTransaction } from '../../helpers/utils/transactions.util';
import { bnGreaterThan, bnLessThan } from '../../helpers/utils/util';
import { GAS_FORM_ERRORS } from '../../helpers/constants/gas';
import { Numeric } from '../../../shared/modules/Numeric';
+import { PENDING_STATUS_HASH } from '../../helpers/constants/transactions';
+import { TransactionType } from '../../../shared/constants/transaction';
const HIGH_FEE_WARNING_MULTIPLIER = 1.5;
@@ -267,13 +269,19 @@ export function useGasFeeErrors({
[gasErrors, gasWarnings],
);
- const { balance: ethBalance } = useSelector(getSelectedAccount, shallowEqual);
- const balanceError = hasBalanceError(
- minimumCostInHexWei,
- transaction,
- ethBalance,
+ const account = useSelector(
+ (state) => getTargetAccount(state, transaction?.txParams?.from),
+ shallowEqual,
);
+ // Balance check is only relevant for outgoing + pending transactions
+ const balanceError =
+ account !== undefined &&
+ transaction?.type !== TransactionType.incoming &&
+ transaction?.status in PENDING_STATUS_HASH
+ ? hasBalanceError(minimumCostInHexWei, transaction, account.balance)
+ : false;
+
return {
gasErrors: errorsAndWarnings,
hasGasErrors,
diff --git a/ui/hooks/gasFeeInput/useGasFeeErrors.test.js b/ui/hooks/gasFeeInput/useGasFeeErrors.test.js
index 48cedcaada06..feb407b818a1 100644
--- a/ui/hooks/gasFeeInput/useGasFeeErrors.test.js
+++ b/ui/hooks/gasFeeInput/useGasFeeErrors.test.js
@@ -2,6 +2,11 @@ import { renderHook } from '@testing-library/react-hooks';
import { GAS_FORM_ERRORS } from '../../helpers/constants/gas';
+import {
+ TransactionStatus,
+ TransactionType,
+} from '../../../shared/constants/transaction';
+
import { useGasFeeErrors } from './useGasFeeErrors';
import {
@@ -24,10 +29,20 @@ jest.mock('react-redux', () => {
};
});
+const mockTransaction = {
+ status: TransactionStatus.unapproved,
+ type: TransactionType.simpleSend,
+ txParams: {
+ from: '0x000000000000000000000000000000000000dead',
+ type: '0x2',
+ value: '100',
+ },
+};
+
const renderUseGasFeeErrorsHook = (props) => {
return renderHook(() =>
useGasFeeErrors({
- transaction: { txParams: { type: '0x2', value: '100' } },
+ transaction: mockTransaction,
gasLimit: '21000',
gasPrice: '10',
maxPriorityFeePerGas: '10',
@@ -273,7 +288,13 @@ describe('useGasFeeErrors', () => {
it('is true if balance is less than transaction value', () => {
configureLegacy();
const { result } = renderUseGasFeeErrorsHook({
- transaction: { txParams: { type: '0x2', value: '0x440aa47cc2556' } },
+ transaction: {
+ ...mockTransaction,
+ txParams: {
+ ...mockTransaction.txParams,
+ value: '0x440aa47cc2556',
+ },
+ },
...LEGACY_GAS_ESTIMATE_RETURN_VALUE,
});
expect(result.current.balanceError).toBe(true);
diff --git a/ui/hooks/gasFeeInput/useGasFeeInputs.test.js b/ui/hooks/gasFeeInput/useGasFeeInputs.test.js
index 35205583ee8d..a6bbfd660d9a 100644
--- a/ui/hooks/gasFeeInput/useGasFeeInputs.test.js
+++ b/ui/hooks/gasFeeInput/useGasFeeInputs.test.js
@@ -1,6 +1,10 @@
import { act, renderHook } from '@testing-library/react-hooks';
import { useSelector } from 'react-redux';
-import { TransactionEnvelopeType } from '../../../shared/constants/transaction';
+import {
+ TransactionEnvelopeType,
+ TransactionStatus,
+ TransactionType,
+} from '../../../shared/constants/transaction';
import {
GasRecommendations,
EditGasModes,
@@ -39,6 +43,16 @@ jest.mock('react-redux', () => {
};
});
+const mockTransaction = {
+ status: TransactionStatus.unapproved,
+ type: TransactionType.simpleSend,
+ txParams: {
+ from: '0x000000000000000000000000000000000000dead',
+ type: '0x2',
+ value: '100',
+ },
+};
+
describe('useGasFeeInputs', () => {
beforeEach(() => {
jest.clearAllMocks();
@@ -141,7 +155,9 @@ describe('useGasFeeInputs', () => {
});
it('should return false', () => {
- const { result } = renderHook(() => useGasFeeInputs());
+ const { result } = renderHook(() =>
+ useGasFeeInputs(undefined, mockTransaction),
+ );
expect(result.current.balanceError).toBe(false);
});
});
@@ -157,8 +173,12 @@ describe('useGasFeeInputs', () => {
it('should return true', () => {
const { result } = renderHook(() =>
useGasFeeInputs(null, {
+ ...mockTransaction,
userFeeLevel: GasRecommendations.medium,
- txParams: { gas: '0x5208' },
+ txParams: {
+ ...mockTransaction.txParams,
+ gas: '0x5208',
+ },
}),
);
expect(result.current.balanceError).toBe(true);
From 0c3c3fce83620f2ae7a93e6c42ea49fe37bb57f9 Mon Sep 17 00:00:00 2001
From: David Walsh
Date: Fri, 13 Oct 2023 11:13:24 -0500
Subject: [PATCH 015/121] UX: Multichain: Send flow: Send page skeleton
(#21250)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR conditionally shows our new Send page based on `MULTICHAIN`
environment variable. No functional expectation here, simply basic
layout.
## **Manual testing steps**
1. Run `MULTICHAIN=1 yarn start`
2. Click into any token
3. Click the "Send" button
4. See this page.
## **Screenshots/Recordings**
## **Related issues**
Fixes https://github.com/MetaMask/MetaMask-planning/issues/1439
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
app/_locales/en/messages.json | 3 ++
.../multichain/multichain-components.scss | 2 +-
ui/components/multichain/pages/index.scss | 2 +
.../pages/page/components/index.scss | 1 +
.../multichain/pages/page/index.scss | 1 +
ui/components/multichain/pages/send/index.js | 1 +
.../multichain/pages/send/index.scss | 3 ++
ui/components/multichain/pages/send/send.js | 41 +++++++++++++++++++
.../multichain/pages/send/send.stories.js | 13 ++++++
ui/pages/routes/routes.component.js | 14 ++++++-
10 files changed, 79 insertions(+), 2 deletions(-)
create mode 100644 ui/components/multichain/pages/index.scss
create mode 100644 ui/components/multichain/pages/page/components/index.scss
create mode 100644 ui/components/multichain/pages/page/index.scss
create mode 100644 ui/components/multichain/pages/send/index.js
create mode 100644 ui/components/multichain/pages/send/index.scss
create mode 100644 ui/components/multichain/pages/send/send.js
create mode 100644 ui/components/multichain/pages/send/send.stories.js
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 6430aad110ae..425c8cbd2372 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -4023,6 +4023,9 @@
"send": {
"message": "Send"
},
+ "sendAToken": {
+ "message": "Send a token"
+ },
"sendBugReport": {
"message": "Send us a bug report."
},
diff --git a/ui/components/multichain/multichain-components.scss b/ui/components/multichain/multichain-components.scss
index 404ed4a2c4e7..8c9f6f9c6093 100644
--- a/ui/components/multichain/multichain-components.scss
+++ b/ui/components/multichain/multichain-components.scss
@@ -4,7 +4,7 @@
* This will help improve specificity and reduce the chance of
* unintended overrides.
**/
-@import 'pages/page/components/content/';
+@import 'pages';
@import 'address-copy-button/index';
@import 'import-nfts-modal/index';
@import 'account-list-item/index';
diff --git a/ui/components/multichain/pages/index.scss b/ui/components/multichain/pages/index.scss
new file mode 100644
index 000000000000..8bc8b58c1982
--- /dev/null
+++ b/ui/components/multichain/pages/index.scss
@@ -0,0 +1,2 @@
+@import 'page/';
+@import 'send/';
diff --git a/ui/components/multichain/pages/page/components/index.scss b/ui/components/multichain/pages/page/components/index.scss
new file mode 100644
index 000000000000..16ca4371b77f
--- /dev/null
+++ b/ui/components/multichain/pages/page/components/index.scss
@@ -0,0 +1 @@
+@import 'content/';
diff --git a/ui/components/multichain/pages/page/index.scss b/ui/components/multichain/pages/page/index.scss
new file mode 100644
index 000000000000..3b18ae578e7c
--- /dev/null
+++ b/ui/components/multichain/pages/page/index.scss
@@ -0,0 +1 @@
+@import 'components/';
diff --git a/ui/components/multichain/pages/send/index.js b/ui/components/multichain/pages/send/index.js
new file mode 100644
index 000000000000..e0718de39bdd
--- /dev/null
+++ b/ui/components/multichain/pages/send/index.js
@@ -0,0 +1 @@
+export { SendPage } from './send';
diff --git a/ui/components/multichain/pages/send/index.scss b/ui/components/multichain/pages/send/index.scss
new file mode 100644
index 000000000000..8dcb393dbc96
--- /dev/null
+++ b/ui/components/multichain/pages/send/index.scss
@@ -0,0 +1,3 @@
+.multichain-send-page {
+ width: 408px;
+}
diff --git a/ui/components/multichain/pages/send/send.js b/ui/components/multichain/pages/send/send.js
new file mode 100644
index 000000000000..34ce30a5a78c
--- /dev/null
+++ b/ui/components/multichain/pages/send/send.js
@@ -0,0 +1,41 @@
+import React, { useContext } from 'react';
+import { Content, Footer, Header, Page } from '../page';
+import { I18nContext } from '../../../../contexts/i18n';
+import {
+ ButtonIcon,
+ ButtonIconSize,
+ ButtonPrimary,
+ ButtonPrimarySize,
+ ButtonSecondary,
+ ButtonSecondarySize,
+ IconName,
+} from '../../../component-library';
+
+export const SendPage = () => {
+ const t = useContext(I18nContext);
+
+ return (
+
+
+ }
+ >
+ {t('sendAToken')}
+
+
+
+
+ {t('cancel')}
+
+
+ {t('confirm')}
+
+
+
+ );
+};
diff --git a/ui/components/multichain/pages/send/send.stories.js b/ui/components/multichain/pages/send/send.stories.js
new file mode 100644
index 000000000000..e50ccca010bd
--- /dev/null
+++ b/ui/components/multichain/pages/send/send.stories.js
@@ -0,0 +1,13 @@
+import React from 'react';
+import { SendPage } from '.';
+
+export default {
+ title: 'Components/Multichain/Send',
+ component: SendPage,
+ argTypes: {},
+ args: {},
+};
+
+export const DefaultStory = (args) => ;
+DefaultStory.storyName = 'Default';
+DefaultStory.args = {};
diff --git a/ui/pages/routes/routes.component.js b/ui/pages/routes/routes.component.js
index 1a5c525d5661..c5ad827a1ab2 100644
--- a/ui/pages/routes/routes.component.js
+++ b/ui/pages/routes/routes.component.js
@@ -124,6 +124,8 @@ import { ToggleIpfsModal } from '../../components/app/nft-default-image/toggle-i
import KeyringSnapRemovalResult from '../../components/app/modals/keyring-snap-removal-modal';
///: END:ONLY_INCLUDE_IN
+import { SendPage } from '../../components/multichain/pages/send';
+
export default class Routes extends Component {
static propTypes = {
currentCurrency: PropTypes.string,
@@ -283,7 +285,7 @@ export default class Routes extends Component {
/>
Date: Fri, 13 Oct 2023 17:56:05 +0100
Subject: [PATCH 016/121] fix(000): fix mv3 build (#21320)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Fix MV3 build
## **Manual testing steps**
1. `yarn && yarn start:mv3`
2. should have a success build
## **Screenshots/Recordings**
_If applicable, add screenshots and/or recordings to visualize the
before and after of your change._
### **Before**
_[screenshot]_
### **After**
_[screenshot]_
## **Related issues**
_Fixes #???_
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
---
app/scripts/controllers/metametrics.js | 2 +-
app/scripts/metamask-controller.test.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js
index a72e64219df4..2b65c48ae8ff 100644
--- a/app/scripts/controllers/metametrics.js
+++ b/app/scripts/controllers/metametrics.js
@@ -194,7 +194,7 @@ export default class MetaMetricsController {
// tracked if the event isn't progressed within that amount of time.
if (isManifestV3) {
/* eslint-disable no-undef */
- this.extension.alarms.getAll((alarms) => {
+ this.extension.alarms.getAll().then((alarms) => {
const hasAlarm = checkAlarmExists(
alarms,
METAMETRICS_FINALIZE_EVENT_FRAGMENT_ALARM,
diff --git a/app/scripts/metamask-controller.test.js b/app/scripts/metamask-controller.test.js
index 2a62d2097bb9..7c4d40cde4e1 100644
--- a/app/scripts/metamask-controller.test.js
+++ b/app/scripts/metamask-controller.test.js
@@ -49,7 +49,7 @@ const browserPolyfillMock = {
},
},
alarms: {
- getAll: jest.fn(),
+ getAll: jest.fn(() => Promise.resolve([])),
create: jest.fn(),
clear: jest.fn(),
onAlarm: {
From c23b1b50a3da4373b6e49bbf3cd4b099f0777ecc Mon Sep 17 00:00:00 2001
From: Ariella Vu <20778143+digiwand@users.noreply.github.com>
Date: Fri, 13 Oct 2023 23:50:25 +0200
Subject: [PATCH 017/121] Bump test-dapp to v7.2.0 (#21358)
## **Description**
Bump test-dapp to v7.2.0
See changes https://github.com/MetaMask/test-dapp/pull/261.
Relates to https://github.com/MetaMask/MetaMask-planning/issues/1264
## Manual Testing Steps
1. Check circle ci runs
2. Locally run tests in your environment yarn test:e2e:chrome
---------
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
Co-authored-by: Brad Decker
Co-authored-by: Thomas Huang
---
package.json | 2 +-
test/e2e/metamask-ui.spec.js | 2 +-
test/e2e/tests/provider-api.spec.js | 4 ++--
yarn.lock | 10 +++++-----
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/package.json b/package.json
index e3a0e3e1faa5..c6ab50aa73fc 100644
--- a/package.json
+++ b/package.json
@@ -391,7 +391,7 @@
"@metamask/eslint-config-typescript": "^9.0.1",
"@metamask/forwarder": "^1.1.0",
"@metamask/phishing-warning": "^2.1.0",
- "@metamask/test-dapp": "^7.1.0",
+ "@metamask/test-dapp": "^7.2.0",
"@sentry/cli": "^2.19.4",
"@storybook/addon-a11y": "^7.0.11",
"@storybook/addon-actions": "^7.0.11",
diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js
index a562fddf5bac..4abc5f24972c 100644
--- a/test/e2e/metamask-ui.spec.js
+++ b/test/e2e/metamask-ui.spec.js
@@ -232,7 +232,7 @@ describe('MetaMask @no-mmi', function () {
await driver.delay(tinyDelayMs);
const tokenContractAddress = await driver.waitForSelector({
- css: '#tokenAddress',
+ css: '#tokenAddresses',
text: '0x',
});
tokenAddress = await tokenContractAddress.getText();
diff --git a/test/e2e/tests/provider-api.spec.js b/test/e2e/tests/provider-api.spec.js
index 79ac8f9fe7f1..316017254449 100644
--- a/test/e2e/tests/provider-api.spec.js
+++ b/test/e2e/tests/provider-api.spec.js
@@ -52,7 +52,7 @@ describe('MetaMask', function () {
await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles);
const switchedNetworkDiv = await driver.waitForSelector({
css: '#network',
- text: '0x1',
+ text: '1',
});
const switchedChainIdDiv = await driver.waitForSelector({
css: '#chainId',
@@ -60,7 +60,7 @@ describe('MetaMask', function () {
});
const accountsDiv = await driver.findElement('#accounts');
- assert.equal(await switchedNetworkDiv.getText(), '0x1');
+ assert.equal(await switchedNetworkDiv.getText(), '1');
assert.equal(await switchedChainIdDiv.getText(), '0x1');
assert.equal(await accountsDiv.getText(), publicAddress);
},
diff --git a/yarn.lock b/yarn.lock
index 52086762da93..4c2bba41c885 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4866,10 +4866,10 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/test-dapp@npm:^7.1.0":
- version: 7.1.0
- resolution: "@metamask/test-dapp@npm:7.1.0"
- checksum: 94a01886a4254dafdf719086da6ded59fb1fef701d32d9c32673251fd0d664b133dd0c73664184f2b9c566caedcc9550d845cdfe7976cef993b6549c1d3b8881
+"@metamask/test-dapp@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "@metamask/test-dapp@npm:7.2.0"
+ checksum: 415ea793d2d75f51679d2944bd14412fa98cdb11022b127eb2bbb09b9f39204ad7ee61c7c63a29a8e6ce5605ead7471432c114c73bb1aaabe962f55a18cd9678
languageName: node
linkType: hard
@@ -23858,7 +23858,7 @@ __metadata:
"@metamask/snaps-controllers": "npm:^3.0.0"
"@metamask/snaps-ui": "npm:^3.0.0"
"@metamask/snaps-utils": "npm:^3.0.0"
- "@metamask/test-dapp": "npm:^7.1.0"
+ "@metamask/test-dapp": "npm:^7.2.0"
"@metamask/utils": "npm:^5.0.0"
"@ngraveio/bc-ur": "npm:^1.1.6"
"@popperjs/core": "npm:^2.4.0"
From e6144989ce0fb32d8ad0bc4b754446d6c91f4e21 Mon Sep 17 00:00:00 2001
From: Howard Braham
Date: Sat, 14 Oct 2023 00:36:22 -0700
Subject: [PATCH 018/121] fix: don't render attribute `aria-invalid="false"`
(#20939)
---
ui/components/component-library/input/input.tsx | 2 +-
ui/components/component-library/text-field/text-field.js | 2 +-
ui/pages/keychains/__snapshots__/reveal-seed.test.js.snap | 1 -
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/ui/components/component-library/input/input.tsx b/ui/components/component-library/input/input.tsx
index 5ff59c7a696b..7dc30ea4460d 100644
--- a/ui/components/component-library/input/input.tsx
+++ b/ui/components/component-library/input/input.tsx
@@ -47,7 +47,7 @@ export const Input: InputComponent = React.forwardRef(
},
className,
)}
- aria-invalid={error}
+ {...(error && { 'aria-invalid': error })}
as="input"
autoComplete={autoComplete ? 'on' : 'off'}
autoFocus={autoFocus}
diff --git a/ui/components/component-library/text-field/text-field.js b/ui/components/component-library/text-field/text-field.js
index 9cccd1bb7c6b..40564c9bfb1c 100644
--- a/ui/components/component-library/text-field/text-field.js
+++ b/ui/components/component-library/text-field/text-field.js
@@ -113,7 +113,7 @@ export const TextField = ({
>
{startAccessory}
Date: Mon, 16 Oct 2023 15:01:17 +0200
Subject: [PATCH 019/121] Adopt new version of `@metamask/signature-controller`
to add signature operation logs (#21207)
---
...ture-controller-npm-6.0.0-90e8e479a9.patch | 17 ------
...ture-controller-npm-6.1.2-f60d8a4960.patch | 23 +++++++
app/scripts/metamask-controller.js | 1 +
lavamoat/browserify/beta/policy.json | 33 +++++++++-
lavamoat/browserify/desktop/policy.json | 33 +++++++++-
lavamoat/browserify/flask/policy.json | 33 +++++++++-
lavamoat/browserify/main/policy.json | 33 +++++++++-
lavamoat/browserify/mmi/policy.json | 33 +++++++++-
package.json | 4 +-
yarn.lock | 60 ++++++++++---------
10 files changed, 218 insertions(+), 52 deletions(-)
delete mode 100644 .yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch
create mode 100644 .yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch
diff --git a/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch b/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch
deleted file mode 100644
index 128ad3f80189..000000000000
--- a/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/dist/SignatureController.js b/dist/SignatureController.js
-index 46d4b4d0553f86d368d30b7e90a9dc2e03d26ef9..e7063a3753bc3821e661c11132e33304b4fce416 100644
---- a/dist/SignatureController.js
-+++ b/dist/SignatureController.js
-@@ -280,8 +280,11 @@ _SignatureController_isEthSignEnabled = new WeakMap(), _SignatureController_getA
- resultCallbacks = acceptResult.resultCallbacks;
- }
- catch (_a) {
-+ signaturePromise.catch(() => {
-+ // Expecting reject error but throwing manually rather than waiting
-+ });
- __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_cancelAbstractMessage).call(this, messageManager, messageId);
-- throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest('User rejected the request.');
-+ throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest(`MetaMask ${messageName} Signature: User denied message signature.`);
- }
- yield signMessage(messageParamsWithId, signingOpts);
- const signatureResult = yield signaturePromise;
diff --git a/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch b/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch
new file mode 100644
index 000000000000..692db45490f5
--- /dev/null
+++ b/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch
@@ -0,0 +1,23 @@
+diff --git a/dist/SignatureController.js b/dist/SignatureController.js
+index 8ac1b2158ff4564fe2f942ca955bd337d78a94ef..c6552d874d830e610fcff791eb0f87f51fae1770 100644
+--- a/dist/SignatureController.js
++++ b/dist/SignatureController.js
+@@ -278,6 +278,9 @@ _SignatureController_isEthSignEnabled = new WeakMap(), _SignatureController_getA
+ const messageParamsWithId = Object.assign(Object.assign(Object.assign({}, messageParams), { metamaskId: messageId }), (version && { version }));
+ const signaturePromise = messageManager.waitForFinishStatus(messageParamsWithId, messageName);
+ try {
++ signaturePromise.catch(() => {
++ // Expecting reject error but throwing manually rather than waiting
++ });
+ // Signature request is proposed to the user
+ __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_addLog).call(this, signTypeForLogger, logging_controller_1.SigningStage.Proposed, messageParamsWithId);
+ const acceptResult = yield __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_requestApproval).call(this, messageParamsWithId, approvalType);
+@@ -287,7 +290,7 @@ _SignatureController_isEthSignEnabled = new WeakMap(), _SignatureController_getA
+ // User rejected the signature request
+ __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_addLog).call(this, signTypeForLogger, logging_controller_1.SigningStage.Rejected, messageParamsWithId);
+ __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_cancelAbstractMessage).call(this, messageManager, messageId);
+- throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest('User rejected the request.');
++ throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest(`MetaMask ${messageName} Signature: User denied message signature.`);
+ }
+ yield signMessage(messageParamsWithId, signingOpts);
+ const signatureResult = yield signaturePromise;
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 9f0b162b207c..74a514f2c267 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -1475,6 +1475,7 @@ export default class MetamaskController extends EventEmitter {
`${this.keyringController.name}:signMessage`,
`${this.keyringController.name}:signPersonalMessage`,
`${this.keyringController.name}:signTypedMessage`,
+ `${this.loggingController.name}:add`,
],
}),
isEthSignEnabled: () =>
diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json
index 768b9302b010..fab1506a3237 100644
--- a/lavamoat/browserify/beta/policy.json
+++ b/lavamoat/browserify/beta/policy.json
@@ -2053,8 +2053,9 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/logging-controller": true,
"@metamask/message-manager": true,
+ "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2062,6 +2063,36 @@
"webpack>events": true
}
},
+ "@metamask/signature-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/signature-controller>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/signature-controller>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/smart-transactions-controller": {
"globals": {
"URLSearchParams": true,
diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json
index 1d820ddb2f97..0dbd2fccd170 100644
--- a/lavamoat/browserify/desktop/policy.json
+++ b/lavamoat/browserify/desktop/policy.json
@@ -2219,8 +2219,9 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/logging-controller": true,
"@metamask/message-manager": true,
+ "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2228,6 +2229,36 @@
"webpack>events": true
}
},
+ "@metamask/signature-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/signature-controller>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/signature-controller>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/smart-transactions-controller": {
"globals": {
"URLSearchParams": true,
diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json
index 90a35505d7f2..5bef62470749 100644
--- a/lavamoat/browserify/flask/policy.json
+++ b/lavamoat/browserify/flask/policy.json
@@ -2235,8 +2235,9 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/logging-controller": true,
"@metamask/message-manager": true,
+ "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2244,6 +2245,36 @@
"webpack>events": true
}
},
+ "@metamask/signature-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/signature-controller>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/signature-controller>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/smart-transactions-controller": {
"globals": {
"URLSearchParams": true,
diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json
index d3f0a8815f8f..58b8ceeef10a 100644
--- a/lavamoat/browserify/main/policy.json
+++ b/lavamoat/browserify/main/policy.json
@@ -2148,8 +2148,9 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/logging-controller": true,
"@metamask/message-manager": true,
+ "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2157,6 +2158,36 @@
"webpack>events": true
}
},
+ "@metamask/signature-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/signature-controller>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/signature-controller>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/smart-transactions-controller": {
"globals": {
"URLSearchParams": true,
diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json
index a2388c37ae42..410e90ac3986 100644
--- a/lavamoat/browserify/mmi/policy.json
+++ b/lavamoat/browserify/mmi/policy.json
@@ -2219,8 +2219,9 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/logging-controller": true,
"@metamask/message-manager": true,
+ "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2228,6 +2229,36 @@
"webpack>events": true
}
},
+ "@metamask/signature-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/signature-controller>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/signature-controller>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/smart-transactions-controller": {
"globals": {
"URLSearchParams": true,
diff --git a/package.json b/package.json
index c6ab50aa73fc..2033eb419e97 100644
--- a/package.json
+++ b/package.json
@@ -205,7 +205,7 @@
"request@^2.88.2": "patch:request@npm%3A2.88.2#./.yarn/patches/request-npm-2.88.2-f4a57c72c4.patch",
"request@^2.85.0": "patch:request@npm%3A2.88.2#./.yarn/patches/request-npm-2.88.2-f4a57c72c4.patch",
"lavamoat-core@npm:^14.4.1": "patch:lavamoat-core@npm%3A14.4.1#~/.yarn/patches/lavamoat-core-npm-14.4.1-c4e8bbb016.patch",
- "@metamask/signature-controller@^6.0.0": "patch:@metamask/signature-controller@npm%3A6.0.0#~/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch",
+ "@metamask/signature-controller@^6.1.2": "patch:@metamask/signature-controller@npm%3A6.1.2#~/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch",
"semver@7.3.7": "^7.5.4",
"semver@7.3.8": "^7.5.4",
"@metamask/eth-keyring-controller@npm:^13.0.1": "patch:@metamask/eth-keyring-controller@npm%3A13.0.1#~/.yarn/patches/@metamask-eth-keyring-controller-npm-13.0.1-06ff83faad.patch"
@@ -276,7 +276,7 @@
"@metamask/safe-event-emitter": "^2.0.0",
"@metamask/scure-bip39": "^2.0.3",
"@metamask/selected-network-controller": "^1.0.0",
- "@metamask/signature-controller": "^6.0.0",
+ "@metamask/signature-controller": "^6.1.2",
"@metamask/slip44": "^3.1.0",
"@metamask/smart-transactions-controller": "^4.0.0",
"@metamask/snaps-controllers": "^3.0.0",
diff --git a/yarn.lock b/yarn.lock
index 4c2bba41c885..54202f2f5a26 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4307,14 +4307,14 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/logging-controller@npm:^1.0.1":
- version: 1.0.1
- resolution: "@metamask/logging-controller@npm:1.0.1"
+"@metamask/logging-controller@npm:^1.0.1, @metamask/logging-controller@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "@metamask/logging-controller@npm:1.0.3"
dependencies:
- "@metamask/base-controller": "npm:^3.2.1"
- "@metamask/controller-utils": "npm:^4.3.2"
+ "@metamask/base-controller": "npm:^3.2.2"
+ "@metamask/controller-utils": "npm:^5.0.1"
uuid: "npm:^8.3.2"
- checksum: ce70fab9e5345e08c5a361a6ee2ca4095a4ad25939728617b762d0465045f3efb3f87d5b98f2bebe504e2b7d5072b18a2164c90604ee5a00cf5bff51ac1ae205
+ checksum: acb1cfd4c5fd20fc858d90847328bd0bd07760fead6fcbc8557f69adfb38ba25b490aac98cc5e15a2d3dfc8692a56bbd947434008a6bd15dd2ae1802b78da84d
languageName: node
linkType: hard
@@ -4328,7 +4328,7 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/message-manager@npm:^7.3.0, @metamask/message-manager@npm:^7.3.2, @metamask/message-manager@npm:^7.3.5":
+"@metamask/message-manager@npm:^7.3.0, @metamask/message-manager@npm:^7.3.5":
version: 7.3.5
resolution: "@metamask/message-manager@npm:7.3.5"
dependencies:
@@ -4700,41 +4700,45 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/signature-controller@npm:6.0.0":
- version: 6.0.0
- resolution: "@metamask/signature-controller@npm:6.0.0"
+"@metamask/signature-controller@npm:6.1.2":
+ version: 6.1.2
+ resolution: "@metamask/signature-controller@npm:6.1.2"
dependencies:
- "@metamask/approval-controller": "npm:^3.5.1"
- "@metamask/base-controller": "npm:^3.2.1"
- "@metamask/controller-utils": "npm:^4.3.2"
- "@metamask/message-manager": "npm:^7.3.2"
- "@metamask/utils": "npm:^6.2.0"
+ "@metamask/approval-controller": "npm:^4.0.0"
+ "@metamask/base-controller": "npm:^3.2.3"
+ "@metamask/controller-utils": "npm:^5.0.2"
+ "@metamask/logging-controller": "npm:^1.0.3"
+ "@metamask/message-manager": "npm:^7.3.5"
+ "@metamask/utils": "npm:^8.1.0"
eth-rpc-errors: "npm:^4.0.2"
ethereumjs-util: "npm:^7.0.10"
immer: "npm:^9.0.6"
lodash: "npm:^4.17.21"
peerDependencies:
- "@metamask/approval-controller": ^3.5.1
- checksum: 4d2b6e47d721905e8e0fde981a492f3bcb498893b7892a0a649389ef957cbdcbe00238144c37dad189c5da4121606ffe0f1c061f8bc473c073ce84e4fbe24965
+ "@metamask/approval-controller": ^4.0.0
+ "@metamask/logging-controller": ^1.0.3
+ checksum: c90440b9926510db0b397761bb4bdd245c1f2d11719ace069abb1198a51ec56f211304f77a914a1478a71bf7311c06fe38ed7eb03ca48125d6ed7c79fe94fb23
languageName: node
linkType: hard
-"@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A6.0.0#~/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch":
- version: 6.0.0
- resolution: "@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A6.0.0#~/.yarn/patches/@metamask-signature-controller-npm-6.0.0-90e8e479a9.patch::version=6.0.0&hash=ae5433"
+"@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A6.1.2#~/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch":
+ version: 6.1.2
+ resolution: "@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A6.1.2#~/.yarn/patches/@metamask-signature-controller-npm-6.1.2-f60d8a4960.patch::version=6.1.2&hash=fd2be3"
dependencies:
- "@metamask/approval-controller": "npm:^3.5.1"
- "@metamask/base-controller": "npm:^3.2.1"
- "@metamask/controller-utils": "npm:^4.3.2"
- "@metamask/message-manager": "npm:^7.3.2"
- "@metamask/utils": "npm:^6.2.0"
+ "@metamask/approval-controller": "npm:^4.0.0"
+ "@metamask/base-controller": "npm:^3.2.3"
+ "@metamask/controller-utils": "npm:^5.0.2"
+ "@metamask/logging-controller": "npm:^1.0.3"
+ "@metamask/message-manager": "npm:^7.3.5"
+ "@metamask/utils": "npm:^8.1.0"
eth-rpc-errors: "npm:^4.0.2"
ethereumjs-util: "npm:^7.0.10"
immer: "npm:^9.0.6"
lodash: "npm:^4.17.21"
peerDependencies:
- "@metamask/approval-controller": ^3.5.1
- checksum: f178e2aacfe031930eb68018571e7531bb91b742a2d4beacb51d5ff8d35e609d0dd601c7cd8ae734c9f8a1f7c41d3ca4d59b3fd48261fb691223f0e6b85ba7d9
+ "@metamask/approval-controller": ^4.0.0
+ "@metamask/logging-controller": ^1.0.3
+ checksum: 0a8ca6302925fc235e274c4fda16c85d78362b3ae63ce30f10d64c3cfc5daa5b3532e05864e840f9b0d90c1c66b1b4f973f1b9202f13f511428d8ac8d2e23054
languageName: node
linkType: hard
@@ -23852,7 +23856,7 @@ __metadata:
"@metamask/safe-event-emitter": "npm:^2.0.0"
"@metamask/scure-bip39": "npm:^2.0.3"
"@metamask/selected-network-controller": "npm:^1.0.0"
- "@metamask/signature-controller": "npm:^6.0.0"
+ "@metamask/signature-controller": "npm:^6.1.2"
"@metamask/slip44": "npm:^3.1.0"
"@metamask/smart-transactions-controller": "npm:^4.0.0"
"@metamask/snaps-controllers": "npm:^3.0.0"
From c90c27463fc5e1ac11478f291532d41acbd352db Mon Sep 17 00:00:00 2001
From: salimtb
Date: Tue, 17 Oct 2023 10:26:11 +0200
Subject: [PATCH 020/121] fix: Hex data should be cleared out during ERC20 Send
(#21336)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
whenever I am performing an ERC20 Send, if I change the asset to ETH, I
can see how the Hex Data field is not empty, and it's displaying the
data for the previous ERC20 Send. This should not be the case, and Hex
Data should be cleared whenever the asset is changed to ETH.
Notice in practice, this hex data is not submited to the network (which
is good) but the UI displays it as if there were Hex Data on the Edit
screen.
solution: props are read-only , If you need to modify a value based on
the props, you should create and manage state within the component.
## **Manual testing steps**
1 - Enable Hex Data from Advanced Settings
2 - Import an ERC20 toekn
3 - Click Send ERC20 token
4 - Add recipient
5 - Add amount and click Next
6 - Click Edit
7 - Change asset for ETH
8 - See how Hex data is not empty - it should be
### **Before**
https://user-images.githubusercontent.com/54408225/238333724-3b0bba4f-3ee5-4609-a092-3a920fa4b10a.mp4
## **Related issues**
_Fixes #19140
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [x] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
test/jest/mocks.js | 1 +
ui/ducks/send/send.js | 1 +
ui/ducks/send/send.test.js | 27 +++++++++++++++++++++++++++
3 files changed, 29 insertions(+)
diff --git a/test/jest/mocks.js b/test/jest/mocks.js
index bec4b41556ea..b68e27685054 100644
--- a/test/jest/mocks.js
+++ b/test/jest/mocks.js
@@ -142,6 +142,7 @@ export const getInitialSendStateWithExistingTxState = (draftTxState) => ({
...draftTxState.recipient,
},
history: draftTxState.history ?? [],
+ userInputHexData: draftTxState.userInputHexData ?? null,
// Use this key if you want to console.log inside the send.js file.
test: draftTxState.test ?? 'yo',
},
diff --git a/ui/ducks/send/send.js b/ui/ducks/send/send.js
index 58d45c780367..2cf64fbfe326 100644
--- a/ui/ducks/send/send.js
+++ b/ui/ducks/send/send.js
@@ -964,6 +964,7 @@ const slice = createSlice({
slice.caseReducers.updateAmountToMax(state);
} else if (initialAssetSet === false) {
slice.caseReducers.updateSendAmount(state, { payload: '0x0' });
+ slice.caseReducers.updateUserInputHexData(state, { payload: '' });
}
// validate send state
slice.caseReducers.validateSendState(state);
diff --git a/ui/ducks/send/send.test.js b/ui/ducks/send/send.test.js
index a7cf6c22c6b6..5a571ce75525 100644
--- a/ui/ducks/send/send.test.js
+++ b/ui/ducks/send/send.test.js
@@ -481,6 +481,33 @@ describe('Send Slice', () => {
);
});
+ it('should update hex data if its not the initial asset set', () => {
+ const updateAssetState = getInitialSendStateWithExistingTxState({
+ asset: {
+ type: 'old type',
+ balance: 'old balance',
+ },
+ userInputHexData: '0xTestHexData',
+ });
+
+ const action = {
+ type: 'send/updateAsset',
+ payload: {
+ asset: {
+ type: 'new type',
+ balance: 'new balance',
+ },
+ initialAssetSet: false,
+ },
+ };
+
+ const result = sendReducer(updateAssetState, action);
+
+ const draftTransaction = getTestUUIDTx(result);
+
+ expect(draftTransaction.userInputHexData).toStrictEqual('');
+ });
+
it('should nullify old contract address error when asset types is not TOKEN', () => {
const recipientErrorState = getInitialSendStateWithExistingTxState({
recipient: {
From 4af7578030de03b9338bacf5b1f4ad211c9b46ca Mon Sep 17 00:00:00 2001
From: Ariella Vu <20778143+digiwand@users.noreply.github.com>
Date: Tue, 17 Oct 2023 11:07:43 +0200
Subject: [PATCH 021/121] chore: Blockaid remove unfair_trade reason type
(#21386)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Blockaid code updates:
- remove unused unfair_trade reason type (see [Internal
Thread](https://consensys.slack.com/archives/C04D224QTLM/p1696953183067779))
## **Manual testing steps**
1. go to test-dapp
2. test PPOM buttons
3. observe no changes
## **Screenshots/Recordings**
## **Related issues**
Fixes https://github.com/MetaMask/MetaMask-planning/issues/1484
Mobile update: https://github.com/MetaMask/metamask-mobile/pull/7505
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
shared/constants/security-provider.ts | 7 +++----
test/e2e/flask/ppom-blockaid-alert.spec.js | 2 +-
.../blockaid-banner-alert/blockaid-banner-alert.js | 1 -
.../blockaid-banner-alert/blockaid-banner-alert.test.js | 2 --
4 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/shared/constants/security-provider.ts b/shared/constants/security-provider.ts
index 3bb16f2f0b7e..d2d7373d24b2 100644
--- a/shared/constants/security-provider.ts
+++ b/shared/constants/security-provider.ts
@@ -43,12 +43,10 @@ export enum BlockaidReason {
transferFarming = 'transfer_farming',
/** Direct theft of assets using transferFrom */
transferFromFarming = 'transfer_from_farming',
- /** Malicious trade that results in the victim being drained */
- unfairTrade = 'unfair_trade',
other = 'other',
- // Locally defined
+ // MetaMask defined reasons
failed = 'Failed',
notApplicable = 'NotApplicable',
}
@@ -57,7 +55,8 @@ export enum BlockaidResultType {
Malicious = 'Malicious',
Warning = 'Warning',
Benign = 'Benign',
- // Locally defined
+
+ // MetaMask defined result types
Failed = 'Failed',
NotApplicable = 'NotApplicable',
}
diff --git a/test/e2e/flask/ppom-blockaid-alert.spec.js b/test/e2e/flask/ppom-blockaid-alert.spec.js
index 607e99816f47..239ed50de226 100644
--- a/test/e2e/flask/ppom-blockaid-alert.spec.js
+++ b/test/e2e/flask/ppom-blockaid-alert.spec.js
@@ -129,7 +129,7 @@ describe('Confirmation Security Alert - Blockaid', function () {
/**
* Disclaimer: This test does not test all reason types. e.g. 'blur_farming',
- * 'malicious_domain', 'unfair_trade'. Some other tests are found in other files:
+ * 'malicious_domain'. Some other tests are found in other files:
* e.g. test/e2e/flask/ppom-blockaid-alert-.spec.js
*/
it('should show security alerts for malicious requests', async function () {
diff --git a/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.js b/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.js
index f17d30222b71..9e58f3d9fca1 100644
--- a/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.js
+++ b/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.js
@@ -32,7 +32,6 @@ const REASON_TO_DESCRIPTION_TKEY = Object.freeze({
[BlockaidReason.rawSignatureFarming]: 'blockaidDescriptionMightLoseAssets',
[BlockaidReason.tradeOrderFarming]: 'blockaidDescriptionMightLoseAssets',
- [BlockaidReason.unfairTrade]: 'blockaidDescriptionMightLoseAssets',
[BlockaidReason.rawNativeTokenTransfer]: 'blockaidDescriptionTransferFarming',
[BlockaidReason.transferFarming]: 'blockaidDescriptionTransferFarming',
diff --git a/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.test.js b/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.test.js
index 9e9e3bd072f1..11ae6f72163a 100644
--- a/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.test.js
+++ b/ui/components/app/security-provider-banner-alert/blockaid-banner-alert/blockaid-banner-alert.test.js
@@ -170,8 +170,6 @@ describe('Blockaid Banner Alert', () => {
'If you approve this request, a third party known for scams will take all your assets.',
[BlockaidReason.transferFarming]:
'If you approve this request, a third party known for scams will take all your assets.',
- [BlockaidReason.unfairTrade]:
- 'If you approve this request, you might lose your assets.',
}).forEach(([reason, expectedDescription]) => {
it(`should render for '${reason}' correctly`, () => {
const { getByText } = renderWithLocalization(
From 957c8b96a4e047b7394159749d091317c9e7bc7f Mon Sep 17 00:00:00 2001
From: Ariella Vu <20778143+digiwand@users.noreply.github.com>
Date: Tue, 17 Oct 2023 14:04:15 +0200
Subject: [PATCH 022/121] test: Fix flaky e2e tests | Add retry logic to
switchToWindowWithTitle | Update retry helper fn (#21394)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
We've recently had a [spike in flaky e2e
tests](https://app.circleci.com/insights/github/MetaMask/metamask-extension/workflows/test_and_release/tests).
We observed these tests to have a common denominator:
`switchToWindowWithTitle`. This PR adds retry logic to
`switchToWindowWithTitle`.
After the first try, the logic will retry a max number of 8 times with
2500ms delay in-between. These numbers are arbitrary and generous just
in case.
This PR also updates the retry logic in `development/lib/retry.js` to
return the function value on success.
Links:
- [CircleCI Insights - Flaky
Tests](https://app.circleci.com/insights/github/MetaMask/metamask-extension/workflows/test_and_release/tests)
- [Internal
discussion](https://consensys.slack.com/archives/GTQAGKY5V/p1697150920731179)
## **Manual testing steps**
1. Run CI/CD to observe tests
## **Screenshots/Recordings**
### **Before**
Screenshot 2023-10-16 21:00:
Screenshot 2023-10-16 21:50:
### **After**
## **Related issues**
Fixes https://github.com/MetaMask/metamask-extension/issues/17047
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
development/lib/retry.js | 12 +++++++-----
test/e2e/webdriver/driver.js | 15 +++++++++++++--
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/development/lib/retry.js b/development/lib/retry.js
index ea469958b221..2b38aaf486a0 100644
--- a/development/lib/retry.js
+++ b/development/lib/retry.js
@@ -14,8 +14,10 @@
* @param {string} args.retryUntilFailure - Retries until the function fails.
* @param {Function} functionToRetry - The function that is run and tested for
* failure.
- * @returns {Promise} a promise that either resolves to null if
- * the function is successful or is rejected with rejectionMessage otherwise.
+ * @returns {Promise<* | null | Error>} a promise that either resolves with one of the following:
+ * - If successful, resolves with the return value of functionToRetry.
+ * - If functionToRetry fails while retryUntilFailure is true, resolves with null.
+ * - Otherwise it is rejected with rejectionMessage.
*/
async function retry(
{
@@ -33,14 +35,14 @@ async function retry(
}
try {
- await functionToRetry();
+ const result = await functionToRetry();
if (!retryUntilFailure) {
- return;
+ return result;
}
} catch (error) {
console.error(error);
if (retryUntilFailure) {
- return;
+ return null;
}
} finally {
attempts += 1;
diff --git a/test/e2e/webdriver/driver.js b/test/e2e/webdriver/driver.js
index 5dfaf22258b8..1061fe1b59bd 100644
--- a/test/e2e/webdriver/driver.js
+++ b/test/e2e/webdriver/driver.js
@@ -8,6 +8,7 @@ const {
until,
} = require('selenium-webdriver');
const cssToXPath = require('css-to-xpath');
+const { retry } = require('../../../development/lib/retry');
/**
* Temporary workaround to patch selenium's element handle API with methods
@@ -435,15 +436,25 @@ class Driver {
initialWindowHandles,
delayStep = 1000,
timeout = this.timeout,
+ { retries = 8, retryDelay = 2500 } = {},
) {
let windowHandles =
initialWindowHandles || (await this.driver.getAllWindowHandles());
let timeElapsed = 0;
+
while (timeElapsed <= timeout) {
for (const handle of windowHandles) {
- await this.driver.switchTo().window(handle);
+ const handleTitle = await retry(
+ {
+ retries,
+ delay: retryDelay,
+ },
+ async () => {
+ await this.driver.switchTo().window(handle);
+ return await this.driver.getTitle();
+ },
+ );
- const handleTitle = await this.driver.getTitle();
if (handleTitle === title) {
return handle;
}
From 98e77b8c864734796ef3fcedb7a6e5de5366e22c Mon Sep 17 00:00:00 2001
From: David Walsh
Date: Tue, 17 Oct 2023 09:57:18 -0500
Subject: [PATCH 023/121] Fix #21169 - Ensure Copy format is plain text
(#21387)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
After doing some research, our usage of `copy-to-clipboard` uses the
default options, one of which is `format` that defaults to `text/html`.
Since we only want the address copied, we should use the `text/plain`
format.
## **Manual testing steps**
1. Click any "copy to clipboard" button.
2. Ensure the output is plain text and not html
## **Related issues**
Fixes #21169
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
shared/constants/copy.ts | 3 +++
ui/components/app/nft-details/nft-details.test.js | 3 ++-
.../app/selected-account/selected-account-component.test.js | 2 ++
.../app/selected-account/selected-account.component.js | 3 ++-
.../components/decoding/address/address.component.js | 3 ++-
.../transaction-list-item-details.component.js | 3 ++-
.../ui/sender-to-recipient/sender-to-recipient.component.js | 5 +++--
ui/hooks/useCopyToClipboard.js | 5 +++--
ui/index.js | 3 ++-
.../confirm-approve-content.component.js | 5 +++--
.../confirm-decrypt-message.component.js | 3 ++-
11 files changed, 26 insertions(+), 12 deletions(-)
create mode 100644 shared/constants/copy.ts
diff --git a/shared/constants/copy.ts b/shared/constants/copy.ts
new file mode 100644
index 000000000000..3f997f4f9998
--- /dev/null
+++ b/shared/constants/copy.ts
@@ -0,0 +1,3 @@
+export const COPY_OPTIONS = {
+ format: 'text/plain',
+};
diff --git a/ui/components/app/nft-details/nft-details.test.js b/ui/components/app/nft-details/nft-details.test.js
index 7733e75aed3b..3a78c969285a 100644
--- a/ui/components/app/nft-details/nft-details.test.js
+++ b/ui/components/app/nft-details/nft-details.test.js
@@ -8,6 +8,7 @@ import { startNewDraftTransaction } from '../../../ducks/send';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
import mockState from '../../../../test/data/mock-state.json';
import { DEFAULT_ROUTE, SEND_ROUTE } from '../../../helpers/constants/routes';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
import { AssetType } from '../../../../shared/constants/transaction';
import {
removeAndIgnoreNft,
@@ -111,7 +112,7 @@ describe('NFT Details', () => {
const copyAddressButton = queryByTestId('nft-address-copy');
fireEvent.click(copyAddressButton);
- expect(copyToClipboard).toHaveBeenCalledWith(nfts[5].address);
+ expect(copyToClipboard).toHaveBeenCalledWith(nfts[5].address, COPY_OPTIONS);
});
it('should navigate to draft transaction send route with ERC721 data', async () => {
diff --git a/ui/components/app/selected-account/selected-account-component.test.js b/ui/components/app/selected-account/selected-account-component.test.js
index 61a6a833d8ed..5116c7155a78 100644
--- a/ui/components/app/selected-account/selected-account-component.test.js
+++ b/ui/components/app/selected-account/selected-account-component.test.js
@@ -4,6 +4,7 @@ import copyToClipboard from 'copy-to-clipboard';
import { fireEvent } from '@testing-library/react';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
import mockState from '../../../../test/data/mock-state.json';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
import {
getCustodyAccountDetails,
getIsCustodianSupportedChain,
@@ -68,6 +69,7 @@ describe('SelectedAccount Component', () => {
expect(copyToClipboard).toHaveBeenCalledWith(
'0x0DCD5D886577d5081B0c52e242Ef29E70Be3E7bc',
+ COPY_OPTIONS,
);
});
diff --git a/ui/components/app/selected-account/selected-account.component.js b/ui/components/app/selected-account/selected-account.component.js
index 271211f358bb..0245a35696b1 100644
--- a/ui/components/app/selected-account/selected-account.component.js
+++ b/ui/components/app/selected-account/selected-account.component.js
@@ -13,6 +13,7 @@ import CustodyLabels from '../../institutional/custody-labels/custody-labels';
///: END:ONLY_INCLUDE_IN
import { Icon, IconName, IconSize } from '../../component-library';
import { IconColor } from '../../../helpers/constants/design-system';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
class SelectedAccount extends Component {
state = {
@@ -104,7 +105,7 @@ class SelectedAccount extends Component {
() => this.setState({ copied: false }),
SECOND * 3,
);
- copyToClipboard(checksummedAddress);
+ copyToClipboard(checksummedAddress, COPY_OPTIONS);
}}
>
diff --git a/ui/components/app/transaction-decoding/components/decoding/address/address.component.js b/ui/components/app/transaction-decoding/components/decoding/address/address.component.js
index 21220448ab5c..5801ed5adac2 100644
--- a/ui/components/app/transaction-decoding/components/decoding/address/address.component.js
+++ b/ui/components/app/transaction-decoding/components/decoding/address/address.component.js
@@ -10,6 +10,7 @@ import {
getMemoizedAddressBook,
} from '../../../../../../selectors';
import NicknamePopovers from '../../../../modals/nickname-popovers';
+import { COPY_OPTIONS } from '../../../../../../../shared/constants/copy';
const Address = ({
checksummedRecipientAddress,
@@ -47,7 +48,7 @@ const Address = ({
{
- copyToClipboard(checksummedRecipientAddress);
+ copyToClipboard(checksummedRecipientAddress, COPY_OPTIONS);
if (onRecipientClick) {
onRecipientClick();
}
diff --git a/ui/components/app/transaction-list-item-details/transaction-list-item-details.component.js b/ui/components/app/transaction-list-item-details/transaction-list-item-details.component.js
index 1aa4cac6c109..6a47e40f8446 100644
--- a/ui/components/app/transaction-list-item-details/transaction-list-item-details.component.js
+++ b/ui/components/app/transaction-list-item-details/transaction-list-item-details.component.js
@@ -29,6 +29,7 @@ import { getURLHostName } from '../../../helpers/utils/util';
import TransactionDecoding from '../transaction-decoding';
import { NETWORKS_ROUTE } from '../../../helpers/constants/routes';
import TransactionInsightsDeprecationAlert from '../confirm-data/transaction-insights-deprecation-alert';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
export default class TransactionListItemDetails extends PureComponent {
static contextTypes = {
@@ -138,7 +139,7 @@ export default class TransactionListItemDetails extends PureComponent {
});
this.setState({ justCopied: true }, () => {
- copyToClipboard(hash);
+ copyToClipboard(hash, COPY_OPTIONS);
setTimeout(() => this.setState({ justCopied: false }), SECOND);
});
};
diff --git a/ui/components/ui/sender-to-recipient/sender-to-recipient.component.js b/ui/components/ui/sender-to-recipient/sender-to-recipient.component.js
index 49cdcc8e0e32..accb8595cfd9 100644
--- a/ui/components/ui/sender-to-recipient/sender-to-recipient.component.js
+++ b/ui/components/ui/sender-to-recipient/sender-to-recipient.component.js
@@ -8,6 +8,7 @@ import { shortenAddress } from '../../../helpers/utils/util';
import AccountMismatchWarning from '../account-mismatch-warning/account-mismatch-warning.component';
import { useI18nContext } from '../../../hooks/useI18nContext';
import { toChecksumHexAddress } from '../../../../shared/modules/hexstring-utils';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
import NicknamePopovers from '../../app/modals/nickname-popovers';
import { Icon, IconName } from '../../component-library';
import {
@@ -51,7 +52,7 @@ function SenderAddress({
)}
onClick={() => {
setAddressCopied(true);
- copyToClipboard(checksummedSenderAddress);
+ copyToClipboard(checksummedSenderAddress, COPY_OPTIONS);
if (onSenderClick) {
onSenderClick();
}
@@ -130,7 +131,7 @@ export function RecipientWithAddress({
onClick={() => {
if (recipientIsOwnedAccount) {
setAddressCopied(true);
- copyToClipboard(checksummedRecipientAddress);
+ copyToClipboard(checksummedRecipientAddress, COPY_OPTIONS);
} else {
setShowNicknamePopovers(true);
if (onRecipientClick) {
diff --git a/ui/hooks/useCopyToClipboard.js b/ui/hooks/useCopyToClipboard.js
index 2aead9976c06..d658189c726b 100644
--- a/ui/hooks/useCopyToClipboard.js
+++ b/ui/hooks/useCopyToClipboard.js
@@ -1,6 +1,7 @@
import { useState, useCallback } from 'react';
import copyToClipboard from 'copy-to-clipboard';
import { MINUTE } from '../../shared/constants/time';
+import { COPY_OPTIONS } from '../../shared/constants/copy';
import { useTimeout } from './useTimeout';
/**
@@ -15,7 +16,7 @@ export function useCopyToClipboard(delay = DEFAULT_DELAY) {
const [copied, setCopied] = useState(false);
const startTimeout = useTimeout(
() => {
- copyToClipboard(' ');
+ copyToClipboard(' ', COPY_OPTIONS);
setCopied(false);
},
delay,
@@ -26,7 +27,7 @@ export function useCopyToClipboard(delay = DEFAULT_DELAY) {
(text) => {
setCopied(true);
startTimeout();
- copyToClipboard(text);
+ copyToClipboard(text, COPY_OPTIONS);
},
[startTimeout],
);
diff --git a/ui/index.js b/ui/index.js
index aa3dea6f393c..b0ab2f28c0cf 100644
--- a/ui/index.js
+++ b/ui/index.js
@@ -10,6 +10,7 @@ import { AlertTypes } from '../shared/constants/alerts';
import { maskObject } from '../shared/modules/object.utils';
import { SENTRY_UI_STATE } from '../app/scripts/lib/setupSentry';
import { ENVIRONMENT_TYPE_POPUP } from '../shared/constants/app';
+import { COPY_OPTIONS } from '../shared/constants/copy';
import switchDirection from '../shared/lib/switch-direction';
import { setupLocale } from '../shared/lib/error-utils';
import * as actions from './store/actions';
@@ -274,7 +275,7 @@ window.logState = function (toClipboard) {
if (err) {
console.error(err.message);
} else if (toClipboard) {
- copyToClipboard(result);
+ copyToClipboard(result, COPY_OPTIONS);
console.log('State log copied');
} else {
console.log(result);
diff --git a/ui/pages/confirm-approve/confirm-approve-content/confirm-approve-content.component.js b/ui/pages/confirm-approve/confirm-approve-content/confirm-approve-content.component.js
index 39c10557317b..4ce205308f32 100644
--- a/ui/pages/confirm-approve/confirm-approve-content/confirm-approve-content.component.js
+++ b/ui/pages/confirm-approve/confirm-approve-content/confirm-approve-content.component.js
@@ -41,6 +41,7 @@ import UserPreferencedCurrencyDisplay from '../../../components/app/user-prefere
import { PRIMARY, SECONDARY } from '../../../helpers/constants/common';
import { ConfirmGasDisplay } from '../../../components/app/confirm-gas-display';
import CustomNonce from '../../../components/app/custom-nonce';
+import { COPY_OPTIONS } from '../../../../shared/constants/copy';
export default class ConfirmApproveContent extends Component {
static contextTypes = {
@@ -274,7 +275,7 @@ export default class ConfirmApproveContent extends Component {
copyToClipboard(toAddress)}
+ onClick={() => copyToClipboard(toAddress, COPY_OPTIONS)}
color={IconColor.iconDefault}
iconName={
this.state.copied ? IconName.CopySuccess : IconName.Copy
@@ -420,7 +421,7 @@ export default class ConfirmApproveContent extends Component {
{
- copyToClipboard(tokenAddress);
+ copyToClipboard(tokenAddress, COPY_OPTIONS);
}}
title={tokenAddress}
>
diff --git a/ui/pages/confirm-decrypt-message/confirm-decrypt-message.component.js b/ui/pages/confirm-decrypt-message/confirm-decrypt-message.component.js
index 620aa41fc9fa..99bcfaaf2042 100644
--- a/ui/pages/confirm-decrypt-message/confirm-decrypt-message.component.js
+++ b/ui/pages/confirm-decrypt-message/confirm-decrypt-message.component.js
@@ -17,6 +17,7 @@ import { Icon, IconName } from '../../components/component-library';
import { IconColor } from '../../helpers/constants/design-system';
import { formatCurrency } from '../../helpers/utils/confirm-tx.util';
import { getValueFromWeiHex } from '../../../shared/modules/conversion.utils';
+import { COPY_OPTIONS } from '../../../shared/constants/copy';
export default class ConfirmDecryptMessage extends Component {
static contextTypes = {
@@ -50,7 +51,7 @@ export default class ConfirmDecryptMessage extends Component {
};
copyMessage = () => {
- copyToClipboard(this.state.rawMessage);
+ copyToClipboard(this.state.rawMessage, COPY_OPTIONS);
this.context.trackEvent({
category: MetaMetricsEventCategory.Messages,
event: 'Copy',
From e8cd9c2589c497626c1ca0ff4c14d71428d0b3ec Mon Sep 17 00:00:00 2001
From: Jyoti Puri
Date: Tue, 17 Oct 2023 21:02:16 +0530
Subject: [PATCH 024/121] Security provider metrics fix (#21390)
---
app/scripts/controllers/metametrics.js | 12 ++++++++++--
app/scripts/controllers/metametrics.test.js | 3 ++-
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js
index 2b65c48ae8ff..64a3f927a1ff 100644
--- a/app/scripts/controllers/metametrics.js
+++ b/app/scripts/controllers/metametrics.js
@@ -756,6 +756,13 @@ export default class MetaMetricsController {
: null;
///: END:ONLY_INCLUDE_IN
const { traits, previousUserTraits } = this.store.getState();
+ let securityProvider;
+ if (metamaskState.securityAlertsEnabled) {
+ securityProvider = 'blockaid';
+ }
+ if (metamaskState.transactionSecurityCheckEnabled) {
+ securityProvider = 'opensea';
+ }
/** @type {MetaMetricsTraits} */
const currentTraits = {
[MetaMetricsUserTrait.AddressBookEntries]: sum(
@@ -799,8 +806,9 @@ export default class MetaMetricsController {
[MetaMetricsUserTrait.MmiAccountAddress]: mmiAccountAddress,
[MetaMetricsUserTrait.MmiIsCustodian]: Boolean(mmiAccountAddress),
///: END:ONLY_INCLUDE_IN
- [MetaMetricsUserTrait.SecurityProviders]:
- metamaskState.transactionSecurityCheckEnabled ? ['opensea'] : [],
+ [MetaMetricsUserTrait.SecurityProviders]: securityProvider
+ ? [securityProvider]
+ : [],
///: BEGIN:ONLY_INCLUDE_IN(petnames)
[MetaMetricsUserTrait.PetnameAddressCount]:
this._getPetnameAddressCount(metamaskState),
diff --git a/app/scripts/controllers/metametrics.test.js b/app/scripts/controllers/metametrics.test.js
index 3532e3b15de3..6579f1fb7766 100644
--- a/app/scripts/controllers/metametrics.test.js
+++ b/app/scripts/controllers/metametrics.test.js
@@ -1025,6 +1025,7 @@ describe('MetaMetricsController', function () {
ledgerTransportType: 'web-hid',
openSeaEnabled: true,
useNftDetection: false,
+ securityAlertsEnabled: true,
theme: 'default',
useTokenDetection: true,
desktopEnabled: false,
@@ -1083,7 +1084,7 @@ describe('MetaMetricsController', function () {
[MetaMetricsUserTrait.Theme]: 'default',
[MetaMetricsUserTrait.TokenDetectionEnabled]: true,
[MetaMetricsUserTrait.DesktopEnabled]: false,
- [MetaMetricsUserTrait.SecurityProviders]: [],
+ [MetaMetricsUserTrait.SecurityProviders]: ['blockaid'],
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
[MetaMetricsUserTrait.MmiExtensionId]: 'testid',
[MetaMetricsUserTrait.MmiAccountAddress]: null,
From 3bc7780ca2a11df00577e0c8c79417dffbf1c781 Mon Sep 17 00:00:00 2001
From: Jyoti Puri
Date: Tue, 17 Oct 2023 22:38:42 +0530
Subject: [PATCH 025/121] Enable blockaid in main build (#21352)
---
app/scripts/lib/setupSentry.js | 6 ++++++
builds.yml | 1 +
lavamoat/browserify/main/policy.json | 16 +++++++++++++++
package.json | 8 ++++----
privacy-snapshot.json | 3 ++-
test/e2e/metrics/signature-approved.spec.js | 20 +++++++++++++++++++
test/e2e/tests/errors.spec.js | 1 +
...rs-after-init-opt-in-background-state.json | 8 ++++++++
.../errors-after-init-opt-in-ui-state.json | 8 +++++++-
.../experimental-tab.component.js | 2 +-
10 files changed, 66 insertions(+), 7 deletions(-)
diff --git a/app/scripts/lib/setupSentry.js b/app/scripts/lib/setupSentry.js
index ab6fa1c7c943..217f98b4237c 100644
--- a/app/scripts/lib/setupSentry.js
+++ b/app/scripts/lib/setupSentry.js
@@ -155,6 +155,12 @@ export const SENTRY_BACKGROUND_STATE = {
onboardingTabs: false,
seedPhraseBackedUp: true,
},
+ PPOMController: {
+ chainStatus: true,
+ securityAlertsEnabled: false,
+ storageMetadata: [],
+ versionInfo: [],
+ },
PermissionController: {
subjects: false,
},
diff --git a/builds.yml b/builds.yml
index d60c758ad3ff..4c3bd3b01bb2 100644
--- a/builds.yml
+++ b/builds.yml
@@ -18,6 +18,7 @@ buildTypes:
- build-main
- snaps
- keyring-snaps
+ - blockaid
# Additional env variables that are specific to this build
env:
- INFURA_PROD_PROJECT_ID
diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json
index 58b8ceeef10a..0882f7635a19 100644
--- a/lavamoat/browserify/main/policy.json
+++ b/lavamoat/browserify/main/policy.json
@@ -2033,6 +2033,22 @@
"eslint>optionator>fast-levenshtein": true
}
},
+ "@metamask/ppom-validator": {
+ "globals": {
+ "URL": true,
+ "clearInterval": true,
+ "console.error": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
+ "@metamask/ppom-validator>elliptic": true,
+ "await-semaphore": true,
+ "browserify>buffer": true,
+ "eth-query>json-rpc-random-id": true
+ }
+ },
"@metamask/ppom-validator>elliptic": {
"packages": {
"@metamask/ppom-validator>elliptic>brorand": true,
diff --git a/package.json b/package.json
index 2033eb419e97..f51582be5e89 100644
--- a/package.json
+++ b/package.json
@@ -15,15 +15,15 @@
"dist": "yarn build dist",
"build": "yarn lavamoat:build",
"build:dev": "node development/build/index.js",
- "start:test": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev",
- "start:test:flask": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 BLOCKAID_FILE_CDN=storage.googleapis.com/ppom-mock-cdn yarn build:dev testDev --build-type flask --apply-lavamoat=false --snow=false",
+ "start:test": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev",
+ "start:test:flask": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom yarn build:dev testDev --build-type flask --apply-lavamoat=false --snow=false",
"start:test:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev",
"benchmark:chrome": "SELENIUM_BROWSER=chrome ts-node test/e2e/benchmark.js",
"mv3:stats:chrome": "SELENIUM_BROWSER=chrome ENABLE_MV3=true ts-node test/e2e/mv3-perf-stats/index.js",
"user-actions-benchmark:chrome": "SELENIUM_BROWSER=chrome ts-node test/e2e/user-actions-benchmark.js",
"benchmark:firefox": "SELENIUM_BROWSER=firefox ts-node test/e2e/benchmark.js",
- "build:test": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build test",
- "build:test:flask": "BLOCKAID_FILE_CDN=storage.googleapis.com/ppom-mock-cdn yarn build test --build-type flask",
+ "build:test": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build test",
+ "build:test:flask": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom yarn build test --build-type flask",
"build:test:mmi": "yarn build test --build-type mmi",
"build:test:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build test",
"build:test:dev:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev --apply-lavamoat=false",
diff --git a/privacy-snapshot.json b/privacy-snapshot.json
index 35e80a9dcd3b..537ba8885a67 100644
--- a/privacy-snapshot.json
+++ b/privacy-snapshot.json
@@ -34,5 +34,6 @@
"token-api.metaswap.codefi.network",
"tx-insights.metaswap.codefi.network",
"unresponsive-rpc.url",
- "www.4byte.directory"
+ "www.4byte.directory",
+ "static.metafi-dev.codefi.network"
]
diff --git a/test/e2e/metrics/signature-approved.spec.js b/test/e2e/metrics/signature-approved.spec.js
index f665b6693c11..52b3eac7c774 100644
--- a/test/e2e/metrics/signature-approved.spec.js
+++ b/test/e2e/metrics/signature-approved.spec.js
@@ -81,6 +81,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
assert.deepStrictEqual(events[1].properties, {
account_type: 'MetaMask',
@@ -89,6 +91,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
},
);
@@ -126,6 +130,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
assert.deepStrictEqual(events[1].properties, {
account_type: 'MetaMask',
@@ -134,6 +140,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
},
);
@@ -170,6 +178,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
assert.deepStrictEqual(events[1].properties, {
account_type: 'MetaMask',
@@ -178,6 +188,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
},
);
@@ -214,6 +226,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
assert.deepStrictEqual(events[1].properties, {
account_type: 'MetaMask',
@@ -222,6 +236,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
},
);
@@ -267,6 +283,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
assert.deepStrictEqual(events[1].properties, {
account_type: 'MetaMask',
@@ -275,6 +293,8 @@ describe('Signature Approved Event @no-mmi', function () {
locale: 'en',
chain_id: '0x539',
environment_type: 'background',
+ security_alert_reason: 'NotApplicable',
+ security_alert_response: 'NotApplicable',
});
},
);
diff --git a/test/e2e/tests/errors.spec.js b/test/e2e/tests/errors.spec.js
index 245a26cbd925..8043cd79ae4b 100644
--- a/test/e2e/tests/errors.spec.js
+++ b/test/e2e/tests/errors.spec.js
@@ -43,6 +43,7 @@ const removedBackgroundFields = [
// These properties are set to undefined, causing inconsistencies between Chrome and Firefox
'AppStateController.currentPopupId',
'AppStateController.timeoutMinutes',
+ 'PPOMController.chainStatus.0x539.lastVisited',
];
const removedUiFields = removedBackgroundFields.map(backgroundToUiField);
diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
index eb204d4439b8..a5530bbd167a 100644
--- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
+++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
@@ -113,6 +113,13 @@
"completedOnboarding": true,
"onboardingTabs": "object"
},
+ "PPOMController": {
+ "versionInfo": {},
+ "storageMetadata": {},
+ "chainStatus": {
+ "0x539": { "chainId": "0x539", "dataFetched": false, "versionInfo": [] }
+ }
+ },
"PermissionController": { "subjects": "object" },
"PermissionLogController": {
"permissionHistory": "object",
@@ -131,6 +138,7 @@
"use4ByteResolution": true,
"useCurrencyRateCheck": true,
"openSeaEnabled": false,
+ "securityAlertsEnabled": "boolean",
"addSnapAccountEnabled": "boolean",
"advancedGasFee": {},
"featureFlags": {},
diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
index 9a4696ee3d3e..df838b39b2b8 100644
--- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
+++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
@@ -91,6 +91,7 @@
"useNftDetection": false,
"useCurrencyRateCheck": true,
"openSeaEnabled": false,
+ "securityAlertsEnabled": "boolean",
"addSnapAccountEnabled": "boolean",
"advancedGasFee": {},
"incomingTransactionsPreferences": {},
@@ -196,7 +197,12 @@
"ensResolutionsByAddress": "object",
"pendingApprovals": "object",
"pendingApprovalCount": "number",
- "approvalFlows": "object"
+ "approvalFlows": "object",
+ "versionInfo": {},
+ "storageMetadata": {},
+ "chainStatus": {
+ "0x539": { "chainId": "0x539", "dataFetched": false, "versionInfo": [] }
+ }
},
"send": "object",
"swaps": "object",
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.component.js b/ui/pages/settings/experimental-tab/experimental-tab.component.js
index a0a3163b2c93..0674d4670932 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.component.js
+++ b/ui/pages/settings/experimental-tab/experimental-tab.component.js
@@ -20,7 +20,7 @@ import {
TextColor,
TextVariant,
Display,
- ///: BEGIN:ONLY_INCLUDE_IN(blockaid,desktop,keyring-snaps)
+ ///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
FontWeight,
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(desktop)
From 5863649ac43f83d7133f3acfcc901daaf6d54fbc Mon Sep 17 00:00:00 2001
From: Dan J Miller
Date: Tue, 17 Oct 2023 22:20:46 -0230
Subject: [PATCH 026/121] =?UTF-8?q?Wrap=20the=20getFormattedIpfsUrl=20call?=
=?UTF-8?q?=20in=20getAssetImageURL=20in=20a=20try=20catch,=E2=80=A6=20(#2?=
=?UTF-8?q?1418)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
… so the app doesn't crash on certain ipfs urls
Fixes https://github.com/MetaMask/metamask-extension/issues/21417
## **Description**
See the code comment added in this PR for full details:
```
// With v11.1.0, we started seeing errors thrown that included this
// line in the stack trace. The cause is that the `getIpfsCIDv1AndPath`
// method within assets-controllers/src/assetsUtil.ts can throw
// if part of the ipfsUrl, i.e. the `image` variable within this function,
// contains characters not in the Base58 alphabet. Details on that are
// here https://digitalbazaar.github.io/base58-spec/#alphabet. This happens
// with some NFTs, when we attempt to parse part of their IPFS image address
// with the `CID.parse` function (CID is part of the multiform package)
//
// Before v11.1.0 `getFormattedIpfsUrl` was not used in the extension codebase.
// Its use within assets-controllers always ensures that errors are caught
// and ignored. So while we were handling NFTs that can cause this error before,
// we were always catching and ignoring the error. As of PR #20172, we started
// passing all NFTs image URLs to `getAssetImageURL` from nft-items.js, which is
// why we started seeing these errors cause crashes for users in v11.1.0
//
// For the sake of a quick fix, we are wrapping this call in a try-catch, which
// the assets-controllers already do in some form in all cases where this function
// is called. This probably does not affect user experience, as we would not have
// correctly rendered these NFTs before v11.1.0 either (due to the same error
// disuccessed in this code comment).
//
// In the future, we can look into solving the root cause, which might require
// no longer using multiform's CID.parse() method within the assets-controller
```
## **Manual testing steps**
Not sure of an easy way to test.
One way would be:
1. Add an NFT to your wallet which has an ipfs image url with the
character I in it
2. Go to the NFT tab. That NFT should not be visible, but the app should
not crash
## **Related issues**
Related to https://github.com/MetaMask/metamask-extension/issues/18564,
but does not fix it.
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
ui/helpers/utils/util.js | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/ui/helpers/utils/util.js b/ui/helpers/utils/util.js
index f80d87770274..693a47ee038e 100644
--- a/ui/helpers/utils/util.js
+++ b/ui/helpers/utils/util.js
@@ -16,6 +16,7 @@ import { isObject } from '@metamask/utils';
// eslint-disable-next-line import/no-duplicates
import { isStrictHexString } from '@metamask/utils';
import { CHAIN_IDS, NETWORK_TYPES } from '../../../shared/constants/network';
+import { logErrorWithMessage } from '../../../shared/modules/error';
import {
toChecksumHexAddress,
stripHexPrefix,
@@ -503,7 +504,36 @@ export function getAssetImageURL(image, ipfsGateway) {
}
if (ipfsGateway && image.startsWith('ipfs://')) {
- return getFormattedIpfsUrl(ipfsGateway, image, true);
+ // With v11.1.0, we started seeing errors thrown that included this
+ // line in the stack trace. The cause is that the `getIpfsCIDv1AndPath`
+ // method within assets-controllers/src/assetsUtil.ts can throw
+ // if part of the ipfsUrl, i.e. the `image` variable within this function,
+ // contains characters not in the Base58 alphabet. Details on that are
+ // here https://digitalbazaar.github.io/base58-spec/#alphabet. This happens
+ // with some NFTs, when we attempt to parse part of their IPFS image address
+ // with the `CID.parse` function (CID is part of the multiform package)
+ //
+ // Before v11.1.0 `getFormattedIpfsUrl` was not used in the extension codebase.
+ // Its use within assets-controllers always ensures that errors are caught
+ // and ignored. So while we were handling NFTs that can cause this error before,
+ // we were always catching and ignoring the error. As of PR #20172, we started
+ // passing all NFTs image URLs to `getAssetImageURL` from nft-items.js, which is
+ // why we started seeing these errors cause crashes for users in v11.1.0
+ //
+ // For the sake of a quick fix, we are wrapping this call in a try-catch, which
+ // the assets-controllers already do in some form in all cases where this function
+ // is called. This probably does not affect user experience, as we would not have
+ // correctly rendered these NFTs before v11.1.0 either (due to the same error
+ // disuccessed in this code comment).
+ //
+ // In the future, we can look into solving the root cause, which might require
+ // no longer using multiform's CID.parse() method within the assets-controller
+ try {
+ return getFormattedIpfsUrl(ipfsGateway, image, true);
+ } catch (e) {
+ logErrorWithMessage(e);
+ return '';
+ }
}
return image;
}
From 239f0c5a3335f43520c1607e05be62a5dd98812f Mon Sep 17 00:00:00 2001
From: Dan J Miller
Date: Wed, 18 Oct 2023 02:04:25 -0230
Subject: [PATCH 027/121] Await account render after unlock before checking for
mocked endpoint resolution in unlock-wallet.spec.js (#21422)
Fixes the flakiness of the `should send first three Page metric events
upon fullscreen page load` test when run as part of the `
test-e2e-chrome-mmi ` job. While this seems to fix the issue, I don't
have a 100% definite explanation. My hypothesis in making the change in
this PR is that occasionaly on mmi builds the e2e tests would take
longer to get past the unlock stage than expected, and so it is possible
that not all metrics requests that the `unlock-wallet.spec.js` test is
waiiting for have be made by the time the test starts looking for them.
Anecdotal evidence seems to suggest that this has worked, and that this
test is passing.
---
test/e2e/metrics/unlock-wallet.spec.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/test/e2e/metrics/unlock-wallet.spec.js b/test/e2e/metrics/unlock-wallet.spec.js
index b980b0bb7ae4..5c6afc76d8d2 100644
--- a/test/e2e/metrics/unlock-wallet.spec.js
+++ b/test/e2e/metrics/unlock-wallet.spec.js
@@ -2,6 +2,7 @@ const { strict: assert } = require('assert');
const {
withFixtures,
unlockWallet,
+ waitForAccountRendered,
defaultGanacheOptions,
} = require('../helpers');
const FixtureBuilder = require('../fixture-builder');
@@ -35,6 +36,7 @@ describe('Unlock wallet', function () {
async ({ driver, mockedEndpoint }) => {
await driver.navigate();
await unlockWallet(driver);
+ await waitForAccountRendered(driver);
await driver.wait(async () => {
const isPending = await mockedEndpoint.isPending();
return isPending === false;
From 9a3b00674670b88fcd5e81bd9f302121c35bc37d Mon Sep 17 00:00:00 2001
From: Frederik Bolding
Date: Wed, 18 Oct 2023 10:18:29 +0200
Subject: [PATCH 028/121] Remove CODEOWNERS entry for Flask files (#21406)
## **Description**
Since many teams are now building features in and shipping to Flask the
snaps team does not need to be a specific CODEOWNER of the `**/flask/**`
paths. By removing this line in the CODEOWNERS file, these files will be
owned by `extension-devs` once again.
---
.github/CODEOWNERS | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 76e2a36fcaa4..7073870aba1f 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -9,7 +9,6 @@
* @MetaMask/extension-devs
**/snaps/** @MetaMask/snaps-devs
-**/flask/** @MetaMask/extension-devs @MetaMask/snaps-devs
development/ @MetaMask/extension-devs @kumavis
lavamoat/ @MetaMask/extension-devs @MetaMask/supply-chain @MetaMask/snaps-devs
From 913d0fb6ea3b02c779994327bb341f54fc4f6323 Mon Sep 17 00:00:00 2001
From: legobeat <109787230+legobeat@users.noreply.github.com>
Date: Wed, 18 Oct 2023 09:22:42 +0000
Subject: [PATCH 029/121] deps/devDeps: Bump babel and storybook packages to
latest (#21397)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
- bump `@babel/*` packages to latest to get latest security fixes
- bump `storybook` in order to dedupe `@babel/core`
- port patch for `@babel/core` and `@babel/runtime`
## **Related issues**
- Based on/includes #21393
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [x] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---------
Co-authored-by: Danica Shen
Co-authored-by: Dan J Miller
---
.../@babel-core-npm-7.21.5-c72c337956.patch | 12 -
.../@babel-core-npm-7.23.2-b93f586907.patch | 12 +
...babel-runtime-npm-7.23.2-d013d6cf7e.patch} | 47 +-
lavamoat/browserify/beta/policy.json | 39 +-
lavamoat/browserify/desktop/policy.json | 39 +-
lavamoat/browserify/flask/policy.json | 39 +-
lavamoat/browserify/main/policy.json | 39 +-
lavamoat/browserify/mmi/policy.json | 39 +-
lavamoat/build-system/policy.json | 533 +--
package.json | 55 +-
yarn.lock | 4191 ++++++++++-------
11 files changed, 2966 insertions(+), 2079 deletions(-)
delete mode 100644 .yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch
create mode 100644 .yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch
rename .yarn/patches/{@babel-runtime-npm-7.18.9-28ca6b5f61.patch => @babel-runtime-npm-7.23.2-d013d6cf7e.patch} (91%)
diff --git a/.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch b/.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch
deleted file mode 100644
index c6a1743a7167..000000000000
--- a/.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/lib/index.js b/lib/index.js
-index c991f62dc64553502e9911a7f21e77e008d7f438..e503c7494d21b13df85b10e1657b2af8ca4d964f 100644
---- a/lib/index.js
-+++ b/lib/index.js
-@@ -222,7 +222,6 @@ var _transform = require("./transform");
- var _transformFile = require("./transform-file");
- var _transformAst = require("./transform-ast");
- var _parse = require("./parse");
--var thisFile = require("./index");
- const version = "7.21.5";
- exports.version = version;
- const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]);
diff --git a/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch b/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch
new file mode 100644
index 000000000000..fdae8d6b2b4e
--- /dev/null
+++ b/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch
@@ -0,0 +1,12 @@
+diff --git a/lib/index.js b/lib/index.js
+index 64ff8344f6280d20988f8c3c81e1f248a1869e53..6739e7bd2271be6b861479ec384bbd007bdb5df8 100644
+--- a/lib/index.js
++++ b/lib/index.js
+@@ -222,7 +222,6 @@ var _transform = require("./transform.js");
+ var _transformFile = require("./transform-file.js");
+ var _transformAst = require("./transform-ast.js");
+ var _parse = require("./parse.js");
+-var thisFile = require("./index.js");
+ ;
+ const version = "7.23.2";
+ exports.version = version;
diff --git a/.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch b/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch
similarity index 91%
rename from .yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch
rename to .yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch
index 30144e224f5e..1197cddf1a1b 100644
--- a/.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch
+++ b/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch
@@ -1,30 +1,10 @@
diff --git a/helpers/construct.js b/helpers/construct.js
-index ecc013db4703c1c6ca8a5bba3db3955e75c1a972..08826bea9453f1351c08d44be9fffca92923fd76 100644
+index 3d3c232dcb226892cdf6181c6f4f4f40f2325fcc..da7e2696a244fadd35f0eeb5cae5f577ee3c7442 100644
--- a/helpers/construct.js
+++ b/helpers/construct.js
-@@ -1,22 +1,21 @@
+@@ -1,18 +1,21 @@
-var setPrototypeOf = require("./setPrototypeOf.js");
-+// All of MetaMask's supported browsers include `Reflect.construct` support, so
-+// we don't need this polyfill.
-
-var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
-+// This Proxy preseves the two properties that were added by `@babel/runtime`.
-+// I am not entire sure what these properties are for (maybe ES5/ES6
-+// interoperability?) but they have been preserved just in case.
-+const reflectProxy = new Proxy(
-+ Reflect.construct,
-+ {
-+ get: function (target, property) {
-+ if (property === 'default') {
-+ return target;
-+ } else if (property === '__esModule') {
-+ return true;
-+ }
-+ return Reflect.get(...arguments);
-+ }
-+ }
-+);
-
-function _construct(Parent, args, Class) {
- if (isNativeReflectConstruct()) {
- module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
@@ -38,11 +18,28 @@ index ecc013db4703c1c6ca8a5bba3db3955e75c1a972..08826bea9453f1351c08d44be9fffca9
- return instance;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- }
--
- return _construct.apply(null, arguments);
-}
--
-module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
++// All of MetaMask's supported browsers include `Reflect.construct` support, so
++// we don't need this polyfill.
++
++// This Proxy preseves the two properties that were added by `@babel/runtime`.
++// I am not entire sure what these properties are for (maybe ES5/ES6
++// interoperability?) but they have been preserved just in case.
++const reflectProxy = new Proxy(
++ Reflect.construct,
++ {
++ get: function (target, property) {
++ if (property === 'default') {
++ return target;
++ } else if (property === '__esModule') {
++ return true;
++ }
++ return Reflect.get(...arguments);
++ }
++ }
++);
++
+module.exports = reflectProxy;
-\ No newline at end of file
diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json
index fab1506a3237..f472a93797e2 100644
--- a/lavamoat/browserify/beta/policy.json
+++ b/lavamoat/browserify/beta/policy.json
@@ -5,11 +5,6 @@
"regeneratorRuntime": "write"
}
},
- "@babel/runtime>regenerator-runtime": {
- "globals": {
- "regeneratorRuntime": "write"
- }
- },
"@download/blockies": {
"globals": {
"document.createElement": true
@@ -2454,6 +2449,11 @@
"browserify>process": true
}
},
+ "@storybook/addon-knobs>qs": {
+ "packages": {
+ "string.prototype.matchall>side-channel": true
+ }
+ },
"@truffle/codec": {
"packages": {
"@truffle/codec>@truffle/abi-utils": true,
@@ -2975,6 +2975,15 @@
"define": true
}
},
+ "brfs>static-module>object-inspect": {
+ "globals": {
+ "HTMLElement": true,
+ "WeakRef": true
+ },
+ "packages": {
+ "browserify>browser-resolve": true
+ }
+ },
"browserify>assert": {
"globals": {
"Buffer": true
@@ -3253,8 +3262,8 @@
},
"browserify>url": {
"packages": {
- "browserify>punycode": true,
- "browserify>querystring-es3": true
+ "@storybook/addon-knobs>qs": true,
+ "browserify>punycode": true
}
},
"browserify>util": {
@@ -3987,8 +3996,8 @@
},
"ethjs-contract>babel-runtime": {
"packages": {
- "@babel/runtime>regenerator-runtime": true,
- "ethjs-contract>babel-runtime>core-js": true
+ "ethjs-contract>babel-runtime>core-js": true,
+ "ethjs-contract>babel-runtime>regenerator-runtime": true
}
},
"ethjs-contract>babel-runtime>core-js": {
@@ -4001,6 +4010,11 @@
"setTimeout": true
}
},
+ "ethjs-contract>babel-runtime>regenerator-runtime": {
+ "globals": {
+ "regeneratorRuntime": "write"
+ }
+ },
"ethjs-contract>ethjs-abi": {
"packages": {
"bn.js": true,
@@ -4804,6 +4818,13 @@
"string.prototype.matchall>regexp.prototype.flags>functions-have-names": true
}
},
+ "string.prototype.matchall>side-channel": {
+ "packages": {
+ "brfs>static-module>object-inspect": true,
+ "string.prototype.matchall>call-bind": true,
+ "string.prototype.matchall>get-intrinsic": true
+ }
+ },
"superstruct": {
"globals": {
"console.warn": true,
diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json
index 0dbd2fccd170..229596d28841 100644
--- a/lavamoat/browserify/desktop/policy.json
+++ b/lavamoat/browserify/desktop/policy.json
@@ -5,11 +5,6 @@
"regeneratorRuntime": "write"
}
},
- "@babel/runtime>regenerator-runtime": {
- "globals": {
- "regeneratorRuntime": "write"
- }
- },
"@download/blockies": {
"globals": {
"document.createElement": true
@@ -2855,6 +2850,11 @@
"browserify>process": true
}
},
+ "@storybook/addon-knobs>qs": {
+ "packages": {
+ "string.prototype.matchall>side-channel": true
+ }
+ },
"@truffle/codec": {
"packages": {
"@truffle/codec>@truffle/abi-utils": true,
@@ -3376,6 +3376,15 @@
"define": true
}
},
+ "brfs>static-module>object-inspect": {
+ "globals": {
+ "HTMLElement": true,
+ "WeakRef": true
+ },
+ "packages": {
+ "browserify>browser-resolve": true
+ }
+ },
"browserify>assert": {
"globals": {
"Buffer": true
@@ -3654,8 +3663,8 @@
},
"browserify>url": {
"packages": {
- "browserify>punycode": true,
- "browserify>querystring-es3": true
+ "@storybook/addon-knobs>qs": true,
+ "browserify>punycode": true
}
},
"browserify>util": {
@@ -4388,8 +4397,8 @@
},
"ethjs-contract>babel-runtime": {
"packages": {
- "@babel/runtime>regenerator-runtime": true,
- "ethjs-contract>babel-runtime>core-js": true
+ "ethjs-contract>babel-runtime>core-js": true,
+ "ethjs-contract>babel-runtime>regenerator-runtime": true
}
},
"ethjs-contract>babel-runtime>core-js": {
@@ -4402,6 +4411,11 @@
"setTimeout": true
}
},
+ "ethjs-contract>babel-runtime>regenerator-runtime": {
+ "globals": {
+ "regeneratorRuntime": "write"
+ }
+ },
"ethjs-contract>ethjs-abi": {
"packages": {
"bn.js": true,
@@ -5337,6 +5351,13 @@
"string.prototype.matchall>regexp.prototype.flags>functions-have-names": true
}
},
+ "string.prototype.matchall>side-channel": {
+ "packages": {
+ "brfs>static-module>object-inspect": true,
+ "string.prototype.matchall>call-bind": true,
+ "string.prototype.matchall>get-intrinsic": true
+ }
+ },
"superstruct": {
"globals": {
"console.warn": true,
diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json
index 5bef62470749..3aa77fbd689a 100644
--- a/lavamoat/browserify/flask/policy.json
+++ b/lavamoat/browserify/flask/policy.json
@@ -5,11 +5,6 @@
"regeneratorRuntime": "write"
}
},
- "@babel/runtime>regenerator-runtime": {
- "globals": {
- "regeneratorRuntime": "write"
- }
- },
"@download/blockies": {
"globals": {
"document.createElement": true
@@ -2871,6 +2866,11 @@
"browserify>process": true
}
},
+ "@storybook/addon-knobs>qs": {
+ "packages": {
+ "string.prototype.matchall>side-channel": true
+ }
+ },
"@truffle/codec": {
"packages": {
"@truffle/codec>@truffle/abi-utils": true,
@@ -3392,6 +3392,15 @@
"define": true
}
},
+ "brfs>static-module>object-inspect": {
+ "globals": {
+ "HTMLElement": true,
+ "WeakRef": true
+ },
+ "packages": {
+ "browserify>browser-resolve": true
+ }
+ },
"browserify>assert": {
"globals": {
"Buffer": true
@@ -3670,8 +3679,8 @@
},
"browserify>url": {
"packages": {
- "browserify>punycode": true,
- "browserify>querystring-es3": true
+ "@storybook/addon-knobs>qs": true,
+ "browserify>punycode": true
}
},
"browserify>util": {
@@ -4404,8 +4413,8 @@
},
"ethjs-contract>babel-runtime": {
"packages": {
- "@babel/runtime>regenerator-runtime": true,
- "ethjs-contract>babel-runtime>core-js": true
+ "ethjs-contract>babel-runtime>core-js": true,
+ "ethjs-contract>babel-runtime>regenerator-runtime": true
}
},
"ethjs-contract>babel-runtime>core-js": {
@@ -4418,6 +4427,11 @@
"setTimeout": true
}
},
+ "ethjs-contract>babel-runtime>regenerator-runtime": {
+ "globals": {
+ "regeneratorRuntime": "write"
+ }
+ },
"ethjs-contract>ethjs-abi": {
"packages": {
"bn.js": true,
@@ -5353,6 +5367,13 @@
"string.prototype.matchall>regexp.prototype.flags>functions-have-names": true
}
},
+ "string.prototype.matchall>side-channel": {
+ "packages": {
+ "brfs>static-module>object-inspect": true,
+ "string.prototype.matchall>call-bind": true,
+ "string.prototype.matchall>get-intrinsic": true
+ }
+ },
"superstruct": {
"globals": {
"console.warn": true,
diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json
index 0882f7635a19..326621fbfe40 100644
--- a/lavamoat/browserify/main/policy.json
+++ b/lavamoat/browserify/main/policy.json
@@ -5,11 +5,6 @@
"regeneratorRuntime": "write"
}
},
- "@babel/runtime>regenerator-runtime": {
- "globals": {
- "regeneratorRuntime": "write"
- }
- },
"@download/blockies": {
"globals": {
"document.createElement": true
@@ -2800,6 +2795,11 @@
"browserify>process": true
}
},
+ "@storybook/addon-knobs>qs": {
+ "packages": {
+ "string.prototype.matchall>side-channel": true
+ }
+ },
"@truffle/codec": {
"packages": {
"@truffle/codec>@truffle/abi-utils": true,
@@ -3321,6 +3321,15 @@
"define": true
}
},
+ "brfs>static-module>object-inspect": {
+ "globals": {
+ "HTMLElement": true,
+ "WeakRef": true
+ },
+ "packages": {
+ "browserify>browser-resolve": true
+ }
+ },
"browserify>assert": {
"globals": {
"Buffer": true
@@ -3599,8 +3608,8 @@
},
"browserify>url": {
"packages": {
- "browserify>punycode": true,
- "browserify>querystring-es3": true
+ "@storybook/addon-knobs>qs": true,
+ "browserify>punycode": true
}
},
"browserify>util": {
@@ -4333,8 +4342,8 @@
},
"ethjs-contract>babel-runtime": {
"packages": {
- "@babel/runtime>regenerator-runtime": true,
- "ethjs-contract>babel-runtime>core-js": true
+ "ethjs-contract>babel-runtime>core-js": true,
+ "ethjs-contract>babel-runtime>regenerator-runtime": true
}
},
"ethjs-contract>babel-runtime>core-js": {
@@ -4347,6 +4356,11 @@
"setTimeout": true
}
},
+ "ethjs-contract>babel-runtime>regenerator-runtime": {
+ "globals": {
+ "regeneratorRuntime": "write"
+ }
+ },
"ethjs-contract>ethjs-abi": {
"packages": {
"bn.js": true,
@@ -5282,6 +5296,13 @@
"string.prototype.matchall>regexp.prototype.flags>functions-have-names": true
}
},
+ "string.prototype.matchall>side-channel": {
+ "packages": {
+ "brfs>static-module>object-inspect": true,
+ "string.prototype.matchall>call-bind": true,
+ "string.prototype.matchall>get-intrinsic": true
+ }
+ },
"superstruct": {
"globals": {
"console.warn": true,
diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json
index 410e90ac3986..f764613a0d4a 100644
--- a/lavamoat/browserify/mmi/policy.json
+++ b/lavamoat/browserify/mmi/policy.json
@@ -5,11 +5,6 @@
"regeneratorRuntime": "write"
}
},
- "@babel/runtime>regenerator-runtime": {
- "globals": {
- "regeneratorRuntime": "write"
- }
- },
"@download/blockies": {
"globals": {
"document.createElement": true
@@ -2855,6 +2850,11 @@
"browserify>process": true
}
},
+ "@storybook/addon-knobs>qs": {
+ "packages": {
+ "string.prototype.matchall>side-channel": true
+ }
+ },
"@truffle/codec": {
"packages": {
"@truffle/codec>@truffle/abi-utils": true,
@@ -3376,6 +3376,15 @@
"define": true
}
},
+ "brfs>static-module>object-inspect": {
+ "globals": {
+ "HTMLElement": true,
+ "WeakRef": true
+ },
+ "packages": {
+ "browserify>browser-resolve": true
+ }
+ },
"browserify>assert": {
"globals": {
"Buffer": true
@@ -3654,8 +3663,8 @@
},
"browserify>url": {
"packages": {
- "browserify>punycode": true,
- "browserify>querystring-es3": true
+ "@storybook/addon-knobs>qs": true,
+ "browserify>punycode": true
}
},
"browserify>util": {
@@ -4388,8 +4397,8 @@
},
"ethjs-contract>babel-runtime": {
"packages": {
- "@babel/runtime>regenerator-runtime": true,
- "ethjs-contract>babel-runtime>core-js": true
+ "ethjs-contract>babel-runtime>core-js": true,
+ "ethjs-contract>babel-runtime>regenerator-runtime": true
}
},
"ethjs-contract>babel-runtime>core-js": {
@@ -4402,6 +4411,11 @@
"setTimeout": true
}
},
+ "ethjs-contract>babel-runtime>regenerator-runtime": {
+ "globals": {
+ "regeneratorRuntime": "write"
+ }
+ },
"ethjs-contract>ethjs-abi": {
"packages": {
"bn.js": true,
@@ -5313,6 +5327,13 @@
"string.prototype.matchall>regexp.prototype.flags>functions-have-names": true
}
},
+ "string.prototype.matchall>side-channel": {
+ "packages": {
+ "brfs>static-module>object-inspect": true,
+ "string.prototype.matchall>call-bind": true,
+ "string.prototype.matchall>get-intrinsic": true
+ }
+ },
"superstruct": {
"globals": {
"console.warn": true,
diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json
index baacaffa92fa..f6fcc3efe20f 100644
--- a/lavamoat/build-system/policy.json
+++ b/lavamoat/build-system/policy.json
@@ -6,9 +6,46 @@
"process.emitWarning": true
},
"packages": {
+ "@babel/code-frame>chalk": true,
"lavamoat>@babel/highlight": true
}
},
+ "@babel/code-frame>chalk": {
+ "globals": {
+ "process.env.TERM": true,
+ "process.platform": true
+ },
+ "packages": {
+ "@babel/code-frame>chalk>ansi-styles": true,
+ "@babel/code-frame>chalk>escape-string-regexp": true,
+ "@babel/code-frame>chalk>supports-color": true
+ }
+ },
+ "@babel/code-frame>chalk>ansi-styles": {
+ "packages": {
+ "@metamask/jazzicon>color>color-convert": true
+ }
+ },
+ "@babel/code-frame>chalk>supports-color": {
+ "builtin": {
+ "os.release": true
+ },
+ "globals": {
+ "process.env": true,
+ "process.platform": true,
+ "process.stderr": true,
+ "process.stdout": true,
+ "process.versions.node.split": true
+ },
+ "packages": {
+ "@babel/code-frame>chalk>supports-color>has-flag": true
+ }
+ },
+ "@babel/code-frame>chalk>supports-color>has-flag": {
+ "globals": {
+ "process.argv": true
+ }
+ },
"@babel/core": {
"builtin": {
"assert": true,
@@ -40,6 +77,7 @@
"@babel/core>@babel/parser": true,
"@babel/core>@babel/template": true,
"@babel/core>@babel/types": true,
+ "@babel/core>convert-source-map": true,
"@babel/core>gensync": true,
"@babel/core>semver": true,
"@babel/plugin-proposal-class-properties": true,
@@ -52,8 +90,7 @@
"@babel/preset-typescript": true,
"depcheck>@babel/traverse": true,
"depcheck>json5": true,
- "nock>debug": true,
- "nyc>convert-source-map": true
+ "nock>debug": true
}
},
"@babel/core>@ampproject/remapping": {
@@ -67,7 +104,8 @@
},
"@babel/core>@babel/generator": {
"globals": {
- "console.error": true
+ "console.error": true,
+ "console.warn": true
},
"packages": {
"@babel/core>@babel/generator>jsesc": true,
@@ -112,11 +150,9 @@
"path.extname": true
},
"packages": {
+ "@babel/core": true,
"@babel/core>@babel/helper-module-transforms>@babel/helper-module-imports": true,
"@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": true,
- "@babel/core>@babel/template": true,
- "@babel/core>@babel/types": true,
- "depcheck>@babel/traverse": true,
"depcheck>@babel/traverse>@babel/helper-environment-visitor": true,
"depcheck>@babel/traverse>@babel/helper-split-export-declaration": true,
"lavamoat>@babel/highlight>@babel/helper-validator-identifier": true
@@ -160,6 +196,14 @@
"lavamoat>@babel/highlight>@babel/helper-validator-identifier": true
}
},
+ "@babel/core>convert-source-map": {
+ "globals": {
+ "Buffer": true,
+ "atob": true,
+ "btoa": true,
+ "value": true
+ }
+ },
"@babel/core>semver": {
"globals": {
"console": true,
@@ -180,13 +224,18 @@
"packages": {
"@babel/core": true,
"@babel/core>@babel/parser": true,
+ "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals": true,
"@babel/eslint-parser>eslint-scope": true,
"@babel/eslint-parser>eslint-visitor-keys": true,
"@babel/eslint-parser>semver": true,
"@babel/parser": true,
"depcheck>@babel/parser": true,
"eslint": true,
- "lavamoat>lavamoat-tofu>@babel/parser": true,
+ "lavamoat>lavamoat-tofu>@babel/parser": true
+ }
+ },
+ "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals": {
+ "packages": {
"webpack>eslint-scope": true
}
},
@@ -217,27 +266,13 @@
"@babel/preset-env>@babel/helper-validator-option": true,
"@babel/preset-env>@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": true,
"@babel/preset-env>@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": true,
- "@babel/preset-env>@babel/plugin-proposal-async-generator-functions": true,
- "@babel/preset-env>@babel/plugin-proposal-class-properties": true,
- "@babel/preset-env>@babel/plugin-proposal-class-static-block": true,
- "@babel/preset-env>@babel/plugin-proposal-dynamic-import": true,
- "@babel/preset-env>@babel/plugin-proposal-export-namespace-from": true,
- "@babel/preset-env>@babel/plugin-proposal-json-strings": true,
- "@babel/preset-env>@babel/plugin-proposal-logical-assignment-operators": true,
- "@babel/preset-env>@babel/plugin-proposal-nullish-coalescing-operator": true,
- "@babel/preset-env>@babel/plugin-proposal-numeric-separator": true,
- "@babel/preset-env>@babel/plugin-proposal-object-rest-spread": true,
- "@babel/preset-env>@babel/plugin-proposal-optional-catch-binding": true,
- "@babel/preset-env>@babel/plugin-proposal-optional-chaining": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods": true,
- "@babel/preset-env>@babel/plugin-proposal-private-property-in-object": true,
- "@babel/preset-env>@babel/plugin-proposal-unicode-property-regex": true,
"@babel/preset-env>@babel/plugin-syntax-async-generators": true,
"@babel/preset-env>@babel/plugin-syntax-class-properties": true,
"@babel/preset-env>@babel/plugin-syntax-class-static-block": true,
"@babel/preset-env>@babel/plugin-syntax-dynamic-import": true,
"@babel/preset-env>@babel/plugin-syntax-export-namespace-from": true,
"@babel/preset-env>@babel/plugin-syntax-import-assertions": true,
+ "@babel/preset-env>@babel/plugin-syntax-import-attributes": true,
"@babel/preset-env>@babel/plugin-syntax-import-meta": true,
"@babel/preset-env>@babel/plugin-syntax-json-strings": true,
"@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": true,
@@ -248,19 +283,27 @@
"@babel/preset-env>@babel/plugin-syntax-optional-chaining": true,
"@babel/preset-env>@babel/plugin-syntax-private-property-in-object": true,
"@babel/preset-env>@babel/plugin-syntax-top-level-await": true,
+ "@babel/preset-env>@babel/plugin-syntax-unicode-sets-regex": true,
"@babel/preset-env>@babel/plugin-transform-arrow-functions": true,
+ "@babel/preset-env>@babel/plugin-transform-async-generator-functions": true,
"@babel/preset-env>@babel/plugin-transform-async-to-generator": true,
"@babel/preset-env>@babel/plugin-transform-block-scoped-functions": true,
"@babel/preset-env>@babel/plugin-transform-block-scoping": true,
+ "@babel/preset-env>@babel/plugin-transform-class-properties": true,
+ "@babel/preset-env>@babel/plugin-transform-class-static-block": true,
"@babel/preset-env>@babel/plugin-transform-classes": true,
"@babel/preset-env>@babel/plugin-transform-computed-properties": true,
"@babel/preset-env>@babel/plugin-transform-destructuring": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex": true,
"@babel/preset-env>@babel/plugin-transform-duplicate-keys": true,
+ "@babel/preset-env>@babel/plugin-transform-dynamic-import": true,
"@babel/preset-env>@babel/plugin-transform-exponentiation-operator": true,
+ "@babel/preset-env>@babel/plugin-transform-export-namespace-from": true,
"@babel/preset-env>@babel/plugin-transform-for-of": true,
"@babel/preset-env>@babel/plugin-transform-function-name": true,
+ "@babel/preset-env>@babel/plugin-transform-json-strings": true,
"@babel/preset-env>@babel/plugin-transform-literals": true,
+ "@babel/preset-env>@babel/plugin-transform-logical-assignment-operators": true,
"@babel/preset-env>@babel/plugin-transform-member-expression-literals": true,
"@babel/preset-env>@babel/plugin-transform-modules-amd": true,
"@babel/preset-env>@babel/plugin-transform-modules-commonjs": true,
@@ -268,8 +311,15 @@
"@babel/preset-env>@babel/plugin-transform-modules-umd": true,
"@babel/preset-env>@babel/plugin-transform-named-capturing-groups-regex": true,
"@babel/preset-env>@babel/plugin-transform-new-target": true,
+ "@babel/preset-env>@babel/plugin-transform-nullish-coalescing-operator": true,
+ "@babel/preset-env>@babel/plugin-transform-numeric-separator": true,
+ "@babel/preset-env>@babel/plugin-transform-object-rest-spread": true,
"@babel/preset-env>@babel/plugin-transform-object-super": true,
+ "@babel/preset-env>@babel/plugin-transform-optional-catch-binding": true,
+ "@babel/preset-env>@babel/plugin-transform-optional-chaining": true,
"@babel/preset-env>@babel/plugin-transform-parameters": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods": true,
+ "@babel/preset-env>@babel/plugin-transform-private-property-in-object": true,
"@babel/preset-env>@babel/plugin-transform-property-literals": true,
"@babel/preset-env>@babel/plugin-transform-regenerator": true,
"@babel/preset-env>@babel/plugin-transform-reserved-words": true,
@@ -279,7 +329,9 @@
"@babel/preset-env>@babel/plugin-transform-template-literals": true,
"@babel/preset-env>@babel/plugin-transform-typeof-symbol": true,
"@babel/preset-env>@babel/plugin-transform-unicode-escapes": true,
+ "@babel/preset-env>@babel/plugin-transform-unicode-property-regex": true,
"@babel/preset-env>@babel/plugin-transform-unicode-regex": true,
+ "@babel/preset-env>@babel/plugin-transform-unicode-sets-regex": true,
"@babel/preset-env>@babel/preset-modules": true,
"@babel/preset-env>babel-plugin-polyfill-corejs2": true,
"@babel/preset-env>babel-plugin-polyfill-corejs3": true,
@@ -297,138 +349,10 @@
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-optional-chaining": true,
- "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-async-generator-functions": {
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-async-generators": true,
- "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": true,
- "depcheck>@babel/traverse>@babel/helper-environment-visitor": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-class-properties": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-class-static-block": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": true,
- "@babel/preset-env>@babel/plugin-syntax-class-static-block": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-dynamic-import": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-dynamic-import": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-export-namespace-from": {
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-export-namespace-from": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-json-strings": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-json-strings": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-logical-assignment-operators": {
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-nullish-coalescing-operator": {
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-nullish-coalescing-operator": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-numeric-separator": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-numeric-separator": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-object-rest-spread": {
- "packages": {
- "@babel/core": true,
- "@babel/core>@babel/helper-compilation-targets": true,
- "@babel/preset-env>@babel/compat-data": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-object-rest-spread": true,
- "@babel/preset-env>@babel/plugin-transform-parameters": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-optional-catch-binding": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-optional-catch-binding": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-optional-chaining": {
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-syntax-optional-chaining": true,
+ "@babel/preset-env>@babel/plugin-transform-optional-chaining": true,
"@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true
}
},
- "@babel/preset-env>@babel/plugin-proposal-private-methods": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": {
- "globals": {
- "console.warn": true
- },
- "packages": {
- "@babel/core": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin>semver": true,
- "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
- "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true,
- "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true,
- "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": true,
- "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true,
- "depcheck>@babel/traverse>@babel/helper-environment-visitor": true,
- "depcheck>@babel/traverse>@babel/helper-function-name": true,
- "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin>semver": {
- "globals": {
- "console": true,
- "process": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-private-property-in-object": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": true,
- "@babel/preset-env>@babel/plugin-syntax-private-property-in-object": true,
- "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true
- }
- },
- "@babel/preset-env>@babel/plugin-proposal-unicode-property-regex": {
- "packages": {
- "@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true
- }
- },
"@babel/preset-env>@babel/plugin-syntax-async-generators": {
"packages": {
"@babel/preset-env>@babel/helper-plugin-utils": true
@@ -459,6 +383,11 @@
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-syntax-import-attributes": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true
+ }
+ },
"@babel/preset-env>@babel/plugin-syntax-import-meta": {
"packages": {
"@babel/preset-env>@babel/helper-plugin-utils": true
@@ -509,11 +438,26 @@
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-syntax-unicode-sets-regex": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-arrow-functions": {
"packages": {
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-async-generator-functions": {
+ "packages": {
+ "@babel/core": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-async-generators": true,
+ "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": true,
+ "depcheck>@babel/traverse>@babel/helper-environment-visitor": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-async-to-generator": {
"packages": {
"@babel/core": true,
@@ -525,7 +469,6 @@
"@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": {
"packages": {
"@babel/core": true,
- "@babel/core>@babel/types": true,
"@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator>@babel/helper-wrap-function": true,
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
"depcheck>@babel/traverse>@babel/helper-environment-visitor": true
@@ -550,6 +493,19 @@
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-class-properties": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-class-static-block": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-class-static-block": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-classes": {
"packages": {
"@babel/core": true,
@@ -576,11 +532,9 @@
},
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": {
"packages": {
- "@babel/core>@babel/template": true,
- "@babel/core>@babel/types": true,
+ "@babel/core": true,
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true,
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": true,
- "depcheck>@babel/traverse": true,
"depcheck>@babel/traverse>@babel/helper-environment-visitor": true
}
},
@@ -612,7 +566,8 @@
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
- "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core": true
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core": true,
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>semver": true
}
},
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core": {
@@ -620,19 +575,19 @@
"characterClassItem.kind": true
},
"packages": {
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>@babel/regjsgen": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regenerate": true,
- "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regjsgen": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regjsparser": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-value-ecmascript": true
}
},
- "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regenerate": {
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>@babel/regjsgen": {
"globals": {
"define": true
}
},
- "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regjsgen": {
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regenerate": {
"globals": {
"define": true
}
@@ -648,12 +603,24 @@
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript>unicode-property-aliases-ecmascript": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>semver": {
+ "globals": {
+ "console": true,
+ "process": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-duplicate-keys": {
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-dynamic-import": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-dynamic-import": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-exponentiation-operator": {
"packages": {
"@babel/core": true,
@@ -663,13 +630,14 @@
},
"@babel/preset-env>@babel/plugin-transform-exponentiation-operator>@babel/helper-builder-binary-assignment-operator-visitor": {
"packages": {
- "@babel/core>@babel/types": true,
- "@babel/preset-env>@babel/plugin-transform-exponentiation-operator>@babel/helper-builder-binary-assignment-operator-visitor>@babel/helper-explode-assignable-expression": true
+ "@babel/core>@babel/types": true
}
},
- "@babel/preset-env>@babel/plugin-transform-exponentiation-operator>@babel/helper-builder-binary-assignment-operator-visitor>@babel/helper-explode-assignable-expression": {
+ "@babel/preset-env>@babel/plugin-transform-export-namespace-from": {
"packages": {
- "@babel/core>@babel/types": true
+ "@babel/core": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-export-namespace-from": true
}
},
"@babel/preset-env>@babel/plugin-transform-for-of": {
@@ -685,11 +653,24 @@
"depcheck>@babel/traverse>@babel/helper-function-name": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-json-strings": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-json-strings": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-literals": {
"packages": {
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-logical-assignment-operators": {
+ "packages": {
+ "@babel/core": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-member-expression-literals": {
"packages": {
"@babel/core": true,
@@ -746,6 +727,29 @@
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-nullish-coalescing-operator": {
+ "packages": {
+ "@babel/core": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-nullish-coalescing-operator": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-numeric-separator": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-numeric-separator": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-object-rest-spread": {
+ "packages": {
+ "@babel/core": true,
+ "@babel/core>@babel/helper-compilation-targets": true,
+ "@babel/preset-env>@babel/compat-data": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-object-rest-spread": true,
+ "@babel/preset-env>@babel/plugin-transform-parameters": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-object-super": {
"packages": {
"@babel/core": true,
@@ -753,12 +757,63 @@
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-optional-catch-binding": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-optional-catch-binding": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-optional-chaining": {
+ "packages": {
+ "@babel/core": true,
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-optional-chaining": true,
+ "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-parameters": {
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-private-methods": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": {
+ "globals": {
+ "console.warn": true
+ },
+ "packages": {
+ "@babel/core": true,
+ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
+ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true,
+ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true,
+ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": true,
+ "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true,
+ "depcheck>@babel/traverse>@babel/helper-environment-visitor": true,
+ "depcheck>@babel/traverse>@babel/helper-function-name": true,
+ "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": {
+ "globals": {
+ "console": true,
+ "process": true
+ }
+ },
+ "@babel/preset-env>@babel/plugin-transform-private-property-in-object": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-syntax-private-property-in-object": true,
+ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-property-literals": {
"packages": {
"@babel/core": true,
@@ -828,18 +883,30 @@
"@babel/preset-env>@babel/helper-plugin-utils": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-unicode-property-regex": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true
+ }
+ },
"@babel/preset-env>@babel/plugin-transform-unicode-regex": {
"packages": {
"@babel/preset-env>@babel/helper-plugin-utils": true,
"@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true
}
},
+ "@babel/preset-env>@babel/plugin-transform-unicode-sets-regex": {
+ "packages": {
+ "@babel/preset-env>@babel/helper-plugin-utils": true,
+ "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true
+ }
+ },
"@babel/preset-env>babel-plugin-polyfill-corejs2": {
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/compat-data": true,
"@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": true,
- "@babel/preset-env>babel-plugin-polyfill-corejs2>semver": true
+ "@babel/preset-env>semver": true
}
},
"@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": {
@@ -867,12 +934,6 @@
"setTimeout": true
}
},
- "@babel/preset-env>babel-plugin-polyfill-corejs2>semver": {
- "globals": {
- "console": true,
- "process": true
- }
- },
"@babel/preset-env>babel-plugin-polyfill-corejs3": {
"packages": {
"@babel/core": true,
@@ -957,8 +1018,8 @@
"packages": {
"@babel/core": true,
"@babel/preset-env>@babel/helper-plugin-utils": true,
- "@babel/preset-env>@babel/plugin-proposal-private-methods>@babel/helper-create-class-features-plugin": true,
"@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true,
+ "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true,
"@babel/preset-typescript>@babel/plugin-transform-typescript>@babel/plugin-syntax-typescript": true
}
},
@@ -2135,31 +2196,7 @@
"setTimeout": true
},
"packages": {
- "del>rimraf>glob": true
- }
- },
- "del>rimraf>glob": {
- "builtin": {
- "assert": true,
- "events.EventEmitter": true,
- "fs": true,
- "path.join": true,
- "path.resolve": true,
- "util": true
- },
- "globals": {
- "console.error": true,
- "process.cwd": true,
- "process.nextTick": true,
- "process.platform": true
- },
- "packages": {
- "eslint>minimatch": true,
- "gulp-watch>path-is-absolute": true,
- "nyc>glob>fs.realpath": true,
- "nyc>glob>inflight": true,
- "pump>once": true,
- "pumpify>inherits": true
+ "nyc>glob": true
}
},
"depcheck>@babel/traverse": {
@@ -2386,33 +2423,9 @@
"packages": {
"brfs>resolve": true,
"del>is-glob": true,
- "eslint-import-resolver-typescript>glob": true,
"eslint-plugin-import>tsconfig-paths": true,
- "nock>debug": true
- }
- },
- "eslint-import-resolver-typescript>glob": {
- "builtin": {
- "assert": true,
- "events.EventEmitter": true,
- "fs": true,
- "path.join": true,
- "path.resolve": true,
- "util": true
- },
- "globals": {
- "console.error": true,
- "process.cwd": true,
- "process.nextTick": true,
- "process.platform": true
- },
- "packages": {
- "eslint>minimatch": true,
- "gulp-watch>path-is-absolute": true,
- "nyc>glob>fs.realpath": true,
- "nyc>glob>inflight": true,
- "pump>once": true,
- "pumpify>inherits": true
+ "nock>debug": true,
+ "nyc>glob": true
}
},
"eslint-plugin-import": {
@@ -5766,40 +5779,16 @@
"packages": {
"eslint>glob-parent": true,
"gulp>glob-watcher>is-negated-glob": true,
- "gulp>vinyl-fs>glob-stream>glob": true,
"gulp>vinyl-fs>glob-stream>ordered-read-streams": true,
"gulp>vinyl-fs>glob-stream>pumpify": true,
"gulp>vinyl-fs>glob-stream>to-absolute-glob": true,
"gulp>vinyl-fs>glob-stream>unique-stream": true,
+ "nyc>glob": true,
"react-markdown>unified>extend": true,
"readable-stream": true,
"vinyl>remove-trailing-separator": true
}
},
- "gulp>vinyl-fs>glob-stream>glob": {
- "builtin": {
- "assert": true,
- "events.EventEmitter": true,
- "fs": true,
- "path.join": true,
- "path.resolve": true,
- "util": true
- },
- "globals": {
- "console.error": true,
- "process.cwd": true,
- "process.nextTick": true,
- "process.platform": true
- },
- "packages": {
- "eslint>minimatch": true,
- "gulp-watch>path-is-absolute": true,
- "nyc>glob>fs.realpath": true,
- "nyc>glob>inflight": true,
- "pump>once": true,
- "pumpify>inherits": true
- }
- },
"gulp>vinyl-fs>glob-stream>ordered-read-streams": {
"builtin": {
"util.inherits": true
@@ -6447,6 +6436,30 @@
"util.promisify": true
}
},
+ "nyc>glob": {
+ "builtin": {
+ "assert": true,
+ "events.EventEmitter": true,
+ "fs": true,
+ "path.join": true,
+ "path.resolve": true,
+ "util": true
+ },
+ "globals": {
+ "console.error": true,
+ "process.cwd": true,
+ "process.nextTick": true,
+ "process.platform": true
+ },
+ "packages": {
+ "eslint>minimatch": true,
+ "gulp-watch>path-is-absolute": true,
+ "nyc>glob>fs.realpath": true,
+ "nyc>glob>inflight": true,
+ "pump>once": true,
+ "pumpify>inherits": true
+ }
+ },
"nyc>glob>fs.realpath": {
"builtin": {
"fs.lstat": true,
@@ -7981,31 +7994,7 @@
"setTimeout": true
},
"packages": {
- "stylelint>file-entry-cache>flat-cache>rimraf>glob": true
- }
- },
- "stylelint>file-entry-cache>flat-cache>rimraf>glob": {
- "builtin": {
- "assert": true,
- "events.EventEmitter": true,
- "fs": true,
- "path.join": true,
- "path.resolve": true,
- "util": true
- },
- "globals": {
- "console.error": true,
- "process.cwd": true,
- "process.nextTick": true,
- "process.platform": true
- },
- "packages": {
- "eslint>minimatch": true,
- "gulp-watch>path-is-absolute": true,
- "nyc>glob>fs.realpath": true,
- "nyc>glob>inflight": true,
- "pump>once": true,
- "pumpify>inherits": true
+ "nyc>glob": true
}
},
"stylelint>file-entry-cache>flat-cache>write": {
diff --git a/package.json b/package.json
index f51582be5e89..99f8f979a0d7 100644
--- a/package.json
+++ b/package.json
@@ -108,8 +108,8 @@
},
"resolutions": {
"simple-update-notifier@^1.0.0": "^2.0.0",
- "@babel/core": "patch:@babel/core@npm%3A7.21.5#./.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch",
- "@babel/runtime": "patch:@babel/runtime@npm%3A7.18.9#./.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch",
+ "@babel/core": "patch:@babel/core@npm%3A7.23.2#~/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch",
+ "@babel/runtime": "patch:@babel/runtime@npm%3A7.23.2#~/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch",
"@metamask/approval-controller": "^3.4.0",
"@types/react": "^16.9.53",
"analytics-node/axios": "^0.21.2",
@@ -211,7 +211,7 @@
"@metamask/eth-keyring-controller@npm:^13.0.1": "patch:@metamask/eth-keyring-controller@npm%3A13.0.1#~/.yarn/patches/@metamask-eth-keyring-controller-npm-13.0.1-06ff83faad.patch"
},
"dependencies": {
- "@babel/runtime": "^7.18.9",
+ "@babel/runtime": "^7.23.2",
"@blockaid/ppom_release": "^1.2.8",
"@download/blockies": "^1.0.3",
"@ensdomains/content-hash": "^2.5.6",
@@ -373,14 +373,14 @@
"devDependencies": {
"@actions/core": "^1.10.0",
"@actions/github": "^5.1.1",
- "@babel/code-frame": "^7.12.13",
- "@babel/core": "^7.21.5",
- "@babel/eslint-parser": "^7.13.14",
- "@babel/eslint-plugin": "^7.12.1",
- "@babel/preset-env": "^7.5.5",
- "@babel/preset-react": "^7.0.0",
- "@babel/preset-typescript": "^7.16.7",
- "@babel/register": "^7.5.5",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/core": "^7.23.2",
+ "@babel/eslint-parser": "^7.22.15",
+ "@babel/eslint-plugin": "^7.22.10",
+ "@babel/preset-env": "^7.23.2",
+ "@babel/preset-react": "^7.22.15",
+ "@babel/preset-typescript": "^7.23.2",
+ "@babel/register": "^7.22.15",
"@lavamoat/allow-scripts": "^2.3.1",
"@lavamoat/lavapack": "^5.2.4",
"@metamask/auto-changelog": "^2.1.0",
@@ -393,21 +393,21 @@
"@metamask/phishing-warning": "^2.1.0",
"@metamask/test-dapp": "^7.2.0",
"@sentry/cli": "^2.19.4",
- "@storybook/addon-a11y": "^7.0.11",
- "@storybook/addon-actions": "^7.0.11",
- "@storybook/addon-essentials": "^7.0.11",
+ "@storybook/addon-a11y": "^7.4.6",
+ "@storybook/addon-actions": "^7.4.6",
+ "@storybook/addon-essentials": "^7.4.6",
"@storybook/addon-knobs": "^7.0.2",
- "@storybook/addon-mdx-gfm": "^7.0.11",
- "@storybook/addons": "^7.0.11",
- "@storybook/api": "^7.0.11",
- "@storybook/client-api": "^7.0.11",
- "@storybook/components": "^7.0.11",
- "@storybook/core-events": "^7.0.11",
- "@storybook/react": "^7.0.11",
- "@storybook/react-webpack5": "^7.0.11",
+ "@storybook/addon-mdx-gfm": "^7.4.6",
+ "@storybook/addons": "^7.4.6",
+ "@storybook/api": "^7.4.6",
+ "@storybook/client-api": "^7.4.6",
+ "@storybook/components": "^7.4.6",
+ "@storybook/core-events": "^7.4.6",
+ "@storybook/react": "^7.4.6",
+ "@storybook/react-webpack5": "^7.4.6",
"@storybook/storybook-deployer": "^2.8.16",
"@storybook/test-runner": "^0.10.0",
- "@storybook/theming": "^7.0.11",
+ "@storybook/theming": "^7.4.6",
"@testing-library/jest-dom": "^5.11.10",
"@testing-library/react": "^10.4.8",
"@testing-library/react-hooks": "^8.0.1",
@@ -473,7 +473,7 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.23.1",
"eslint-plugin-react-hooks": "^4.2.0",
- "eslint-plugin-storybook": "^0.6.12",
+ "eslint-plugin-storybook": "^0.6.15",
"fake-indexeddb": "^4.0.1",
"fancy-log": "^1.3.3",
"fast-glob": "^3.2.2",
@@ -539,8 +539,8 @@
"source-map": "^0.7.2",
"source-map-explorer": "^2.4.2",
"squirrelly": "^9.0.0",
- "storybook": "^7.0.11",
- "storybook-dark-mode": "^3.0.0",
+ "storybook": "^7.4.6",
+ "storybook-dark-mode": "^3.0.1",
"stream-browserify": "^3.0.0",
"string.prototype.matchall": "^4.0.2",
"style-loader": "^0.21.0",
@@ -630,7 +630,8 @@
"@storybook/addon-knobs>core-js": false,
"@storybook/manager-webpack5>core-js": false,
"@storybook/react-webpack5>@storybook/preset-react-webpack>@pmmmwh/react-refresh-webpack-plugin>core-js-pure": false,
- "ethjs-contract>babel-runtime>core-js": false
+ "ethjs-contract>babel-runtime>core-js": false,
+ "ts-node>@swc/core": false
}
},
"packageManager": "yarn@4.0.0-rc.48"
diff --git a/yarn.lock b/yarn.lock
index 54202f2f5a26..1652c86ce0cf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -62,179 +62,178 @@ __metadata:
languageName: node
linkType: hard
-"@aw-web-design/x-default-browser@npm:1.4.88":
- version: 1.4.88
- resolution: "@aw-web-design/x-default-browser@npm:1.4.88"
+"@aw-web-design/x-default-browser@npm:1.4.126":
+ version: 1.4.126
+ resolution: "@aw-web-design/x-default-browser@npm:1.4.126"
dependencies:
default-browser-id: "npm:3.0.0"
bin:
x-default-browser: bin/x-default-browser.js
- checksum: 2d4c0011d6de7fc37878bf04545f0b47bff7abcbf310cb79257556b0e62ef35b080c8ac3f0dc0b0eb41c4479eaee7bbccc554288c5770a6e1799b2ffc44cff29
+ checksum: f7111a6f00953f32d344a05c9a1bc1f22124dfc2696b2b7906ca856a9f845a282f272f603c997ebbb8a2d6b865664f46fda3bec1c480f040e21b815ff8ed3607
languageName: node
linkType: hard
-"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4":
- version: 7.21.4
- resolution: "@babel/code-frame@npm:7.21.4"
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.22.13":
+ version: 7.22.13
+ resolution: "@babel/code-frame@npm:7.22.13"
dependencies:
- "@babel/highlight": "npm:^7.18.6"
- checksum: 99236ead98f215a6b144f2d1fe84163c2714614fa6b9cbe32a547ca289554770aac8c6a0c0fb6a7477b68cf17b9b7a7d0c81b50edfbe9e5c2c8f514cc2c09549
+ "@babel/highlight": "npm:^7.22.13"
+ chalk: "npm:^2.4.2"
+ checksum: bf6ae6ba3a510adfda6a211b4a89b0f1c98ca1352b745c077d113f3b568141e0d44ce750b9ac2a80143ba5c8c4080c50fcfc1aa11d86e194ea6785f62520eb5a
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.21.5":
- version: 7.21.7
- resolution: "@babel/compat-data@npm:7.21.7"
- checksum: 1b3cf5775e7bc9a9cf0cc8991911c7d8262048711e6ea2e05cd28c34e7a56e936a62fc4d61b6a18928bf953ba6bd5f64e842187ef0383acc0e1fce27daf8f498
+"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/compat-data@npm:7.23.2"
+ checksum: c18eccd13975c1434a65d04f721075e30d03ba1608f4872d84e8538c16552b878aaac804ff31243d8c2c0e91524f3bc98de6305e117ba1a55c9956871973b4dc
languageName: node
linkType: hard
-"@babel/core@npm:7.21.5":
- version: 7.21.5
- resolution: "@babel/core@npm:7.21.5"
+"@babel/core@npm:7.23.2":
+ version: 7.23.2
+ resolution: "@babel/core@npm:7.23.2"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
- "@babel/code-frame": "npm:^7.21.4"
- "@babel/generator": "npm:^7.21.5"
- "@babel/helper-compilation-targets": "npm:^7.21.5"
- "@babel/helper-module-transforms": "npm:^7.21.5"
- "@babel/helpers": "npm:^7.21.5"
- "@babel/parser": "npm:^7.21.5"
- "@babel/template": "npm:^7.20.7"
- "@babel/traverse": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
- convert-source-map: "npm:^1.7.0"
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helpers": "npm:^7.23.2"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/template": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2"
- json5: "npm:^2.2.2"
- semver: "npm:^6.3.0"
- checksum: 53fc509207f0894df837c78c522183437682a53db1234b4e9f14464602e846df84871041eb6db7cf694d6408c3400cba9b4c6c5625a07cf7306aa63ee11ef6c1
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: b69d7008695b2ac7a3a2db83c5c712fbb79f7031c4480f6351cde327930e38873003d1d021059b729a1d0cb48093f1d384c64269b78f6189f50051fe4f64dc2d
languageName: node
linkType: hard
-"@babel/core@patch:@babel/core@npm%3A7.21.5#./.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch::locator=metamask-crx%40workspace%3A.":
- version: 7.21.5
- resolution: "@babel/core@patch:@babel/core@npm%3A7.21.5#./.yarn/patches/@babel-core-npm-7.21.5-c72c337956.patch::version=7.21.5&hash=4033da&locator=metamask-crx%40workspace%3A."
+"@babel/core@patch:@babel/core@npm%3A7.23.2#~/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch":
+ version: 7.23.2
+ resolution: "@babel/core@patch:@babel/core@npm%3A7.23.2#~/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch::version=7.23.2&hash=a78815"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
- "@babel/code-frame": "npm:^7.21.4"
- "@babel/generator": "npm:^7.21.5"
- "@babel/helper-compilation-targets": "npm:^7.21.5"
- "@babel/helper-module-transforms": "npm:^7.21.5"
- "@babel/helpers": "npm:^7.21.5"
- "@babel/parser": "npm:^7.21.5"
- "@babel/template": "npm:^7.20.7"
- "@babel/traverse": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
- convert-source-map: "npm:^1.7.0"
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helpers": "npm:^7.23.2"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/template": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2"
- json5: "npm:^2.2.2"
- semver: "npm:^6.3.0"
- checksum: 4fe790681113d7c153f8050f802c6508745bb56058e3645d8aaf1e1d09f5bee6de8106e6e913d5e1dfe9aad00c7fd6d1933a55139dd7ae913ffc75d69e92b11a
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: f1236c405c3836cc432eff1dfa710eba86042f0dc3de8c966f874d1315bb9da362a21772ff8ed59f1c5ad9c3d49e56b31f55b77fa6b9267452cccda90f04829e
languageName: node
linkType: hard
-"@babel/eslint-parser@npm:^7.13.14":
- version: 7.18.9
- resolution: "@babel/eslint-parser@npm:7.18.9"
+"@babel/eslint-parser@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/eslint-parser@npm:7.22.15"
dependencies:
- eslint-scope: "npm:^5.1.1"
+ "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1"
eslint-visitor-keys: "npm:^2.1.0"
- semver: "npm:^6.3.0"
+ semver: "npm:^6.3.1"
peerDependencies:
- "@babel/core": ">=7.11.0"
+ "@babel/core": ^7.11.0
eslint: ^7.5.0 || ^8.0.0
- checksum: ade3493e766921ef7b56ea393e9856e18f66ec1e10b2abb9a2da4e2265d988d5452ceb7caafa633df76530ef05dba71b3ba9629df8d3be220fc5fff9ed10c049
+ checksum: daaac4a15125d139f1036015ab282a3742ee5cec3d1c281696a4960bdbc96664c15edd4c6ce2dcf3c24f7521ef9a1b7ad170a741b19a75c33e92df4b9924797a
languageName: node
linkType: hard
-"@babel/eslint-plugin@npm:^7.12.1":
- version: 7.17.7
- resolution: "@babel/eslint-plugin@npm:7.17.7"
+"@babel/eslint-plugin@npm:^7.22.10":
+ version: 7.22.10
+ resolution: "@babel/eslint-plugin@npm:7.22.10"
dependencies:
eslint-rule-composer: "npm:^0.3.0"
peerDependencies:
- "@babel/eslint-parser": ">=7.11.0"
- eslint: ">=7.5.0"
- checksum: bc1cba57af30b73aab996a3dd31aa9055c15c69ecd741c7d32a47392157b400031fe4577a33355b0dcc6b7e6defc3e7dac8feb17e8bf387f8e8ea71cce3dc66d
+ "@babel/eslint-parser": ^7.11.0
+ eslint: ^7.5.0 || ^8.0.0
+ checksum: b97d65ff00afdc93906406eae39526f79f422d518605793e9760f64f697c6fb5c4618e10e8ec6ae079edbcda617036233ae7f13415f6ff5e241d5121b83cd2d9
languageName: node
linkType: hard
-"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.7.2, @babel/generator@npm:~7.21.1":
- version: 7.21.5
- resolution: "@babel/generator@npm:7.21.5"
+"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2":
+ version: 7.23.0
+ resolution: "@babel/generator@npm:7.23.0"
dependencies:
- "@babel/types": "npm:^7.21.5"
+ "@babel/types": "npm:^7.23.0"
"@jridgewell/gen-mapping": "npm:^0.3.2"
"@jridgewell/trace-mapping": "npm:^0.3.17"
jsesc: "npm:^2.5.1"
- checksum: 4042ccaa7ce02de9fdb14de789c03788cdb7cfc0acf53495164ef1dd9df01a57cb4969b31a43be846355cfbd0e184f1e9a57be343b94677a5055122d1e49b6cb
+ checksum: bd1598bd356756065d90ce26968dd464ac2b915c67623f6f071fb487da5f9eb454031a380e20e7c9a7ce5c4a49d23be6cb9efde404952b0b3f3c0c3a9b73d68a
languageName: node
linkType: hard
-"@babel/helper-annotate-as-pure@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/helper-annotate-as-pure@npm:7.18.6"
+"@babel/helper-annotate-as-pure@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-annotate-as-pure@npm:7.22.5"
dependencies:
- "@babel/types": "npm:^7.18.6"
- checksum: 88ccd15ced475ef2243fdd3b2916a29ea54c5db3cd0cfabf9d1d29ff6e63b7f7cd1c27264137d7a40ac2e978b9b9a542c332e78f40eb72abe737a7400788fc1b
+ "@babel/types": "npm:^7.22.5"
+ checksum: 53da330f1835c46f26b7bf4da31f7a496dee9fd8696cca12366b94ba19d97421ce519a74a837f687749318f94d1a37f8d1abcbf35e8ed22c32d16373b2f6198d
languageName: node
linkType: hard
-"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.18.6":
- version: 7.18.9
- resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.18.9"
+"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15"
dependencies:
- "@babel/helper-explode-assignable-expression": "npm:^7.18.6"
- "@babel/types": "npm:^7.18.9"
- checksum: b4bc214cb56329daff6cc18a7f7a26aeafb55a1242e5362f3d47fe3808421f8c7cd91fff95d6b9b7ccb67e14e5a67d944e49dbe026942bfcbfda19b1c72a8e72
+ "@babel/types": "npm:^7.22.15"
+ checksum: 639c697a1c729f9fafa2dd4c9af2e18568190299b5907bd4c2d0bc818fcbd1e83ffeecc2af24327a7faa7ac4c34edd9d7940510a5e66296c19bad17001cf5c7a
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-compilation-targets@npm:7.21.5"
+"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6":
+ version: 7.22.15
+ resolution: "@babel/helper-compilation-targets@npm:7.22.15"
dependencies:
- "@babel/compat-data": "npm:^7.21.5"
- "@babel/helper-validator-option": "npm:^7.21.0"
- browserslist: "npm:^4.21.3"
+ "@babel/compat-data": "npm:^7.22.9"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ browserslist: "npm:^4.21.9"
lru-cache: "npm:^5.1.1"
- semver: "npm:^6.3.0"
- peerDependencies:
- "@babel/core": ^7.0.0
- checksum: 53d24970029d991466f502edadbe3bb95abb921d1b62c43e37e712786238eaca8446fb3abe517e947ef726291507fd45e4664fd84d1d21b3266b0db37f9a83c7
+ semver: "npm:^6.3.1"
+ checksum: 9706decaa1591cf44511b6f3447eb9653b50ca3538215fe2e5387a8598c258c062f4622da5b95e61f0415706534deee619bbf53a2889f9bd967949b8f6024e0e
languageName: node
linkType: hard
-"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0":
- version: 7.21.8
- resolution: "@babel/helper-create-class-features-plugin@npm:7.21.8"
+"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-environment-visitor": "npm:^7.21.5"
- "@babel/helper-function-name": "npm:^7.21.0"
- "@babel/helper-member-expression-to-functions": "npm:^7.21.5"
- "@babel/helper-optimise-call-expression": "npm:^7.18.6"
- "@babel/helper-replace-supers": "npm:^7.21.5"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.20.0"
- "@babel/helper-split-export-declaration": "npm:^7.18.6"
- semver: "npm:^6.3.0"
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-environment-visitor": "npm:^7.22.5"
+ "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/helper-member-expression-to-functions": "npm:^7.22.15"
+ "@babel/helper-optimise-call-expression": "npm:^7.22.5"
+ "@babel/helper-replace-supers": "npm:^7.22.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: db2d12307f2b0284d315042cee5634f83fa7b1203ecffffeb04ea672e83f2a92ba79f1c0802998862b61d62f977e260adbfd60e72b1bffe526560143e06c024f
+ checksum: 000d29f1df397b7fdcb97ad0e9a442781787e5cb0456a9b8da690d13e03549a716bf74348029d3bd3fa4837b35d143a535cad1006f9d552063799ecdd96df672
languageName: node
linkType: hard
-"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.20.5":
- version: 7.20.5
- resolution: "@babel/helper-create-regexp-features-plugin@npm:7.20.5"
+"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- regexpu-core: "npm:^5.2.1"
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ regexpu-core: "npm:^5.3.1"
+ semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 857ea266b36b784c5ef4c800473ea8916d5f1f68903425b47caf1a97a14982912f95f0b33d8fed5f8ea47521471b22f2ce64f4ba97150e58eea944049ee28bbb
+ checksum: 886b675e82f1327b4f7a2c69a68eefdb5dbb0b9d4762c2d4f42a694960a9ccf61e1a3bcad601efd92c110033eb1a944fcd1e5cac188aa6b2e2076b541e210e20
languageName: node
linkType: hard
@@ -254,198 +253,200 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-environment-visitor@npm:7.21.5"
- checksum: e436af7b62956e919066448013a3f7e2cd0b51010c26c50f790124dcd350be81d5597b4e6ed0a4a42d098a27de1e38561cd7998a116a42e7899161192deac9a6
+"@babel/helper-define-polyfill-provider@npm:^0.4.3":
+ version: 0.4.3
+ resolution: "@babel/helper-define-polyfill-provider@npm:0.4.3"
+ dependencies:
+ "@babel/helper-compilation-targets": "npm:^7.22.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ debug: "npm:^4.1.1"
+ lodash.debounce: "npm:^4.0.8"
+ resolve: "npm:^1.14.2"
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ checksum: 9ab9d6a2cfaffc44f8b7ad661b642b03f31597282557686b7f4c64f67acd3c5844d4eac028e63d238819bcec0549ddef7dc0539d10966ace96f4c61e97b33138
languageName: node
linkType: hard
-"@babel/helper-explode-assignable-expression@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/helper-explode-assignable-expression@npm:7.18.6"
- dependencies:
- "@babel/types": "npm:^7.18.6"
- checksum: 7f298a25720c4f0094b85edcaf964b1f66eee0cffa16f26910273386f79050cad6ea6f7d9a24be8c2c04e28b9b5e1d3b85406f5e910aa6780ca3e4b13bd5bf54
+"@babel/helper-environment-visitor@npm:^7.22.20, @babel/helper-environment-visitor@npm:^7.22.5":
+ version: 7.22.20
+ resolution: "@babel/helper-environment-visitor@npm:7.22.20"
+ checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69
languageName: node
linkType: hard
-"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/helper-function-name@npm:7.21.0"
+"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/helper-function-name@npm:7.23.0"
dependencies:
- "@babel/template": "npm:^7.20.7"
- "@babel/types": "npm:^7.21.0"
- checksum: 33d6e1eca48741f86f7073dc5e38220f7fef310ad5bda3354bea322b2a9a2d89a029fa82fac62514dfc16e3f57053fc9f29f11a32d9c2688d914e3a60692b4a5
+ "@babel/template": "npm:^7.22.15"
+ "@babel/types": "npm:^7.23.0"
+ checksum: 7b2ae024cd7a09f19817daf99e0153b3bf2bc4ab344e197e8d13623d5e36117ed0b110914bc248faa64e8ccd3e97971ec7b41cc6fd6163a2b980220c58dcdf6d
languageName: node
linkType: hard
-"@babel/helper-hoist-variables@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/helper-hoist-variables@npm:7.18.6"
+"@babel/helper-hoist-variables@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-hoist-variables@npm:7.22.5"
dependencies:
- "@babel/types": "npm:^7.18.6"
- checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f
+ "@babel/types": "npm:^7.22.5"
+ checksum: 394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc
languageName: node
linkType: hard
-"@babel/helper-member-expression-to-functions@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-member-expression-to-functions@npm:7.21.5"
+"@babel/helper-member-expression-to-functions@npm:^7.22.15":
+ version: 7.23.0
+ resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0"
dependencies:
- "@babel/types": "npm:^7.21.5"
- checksum: 98a26317abd54cf4acdeccef59c52b1de9dd9256bba72595dfc1874b300b29996f78a4aa8c0d7015b07c5245b830308a5f80ddb784509c074abf32b17cc3745b
+ "@babel/types": "npm:^7.23.0"
+ checksum: 325feb6e200478c8cd6e10433fabe993a7d3315cc1a2a457e45514a5f95a73dff4c69bea04cc2daea0ffe72d8ed85d504b3f00b2e0767b7d4f5ae25fec9b35b2
languageName: node
linkType: hard
-"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6, @babel/helper-module-imports@npm:^7.21.4":
- version: 7.21.4
- resolution: "@babel/helper-module-imports@npm:7.21.4"
+"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6, @babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/helper-module-imports@npm:7.22.15"
dependencies:
- "@babel/types": "npm:^7.21.4"
- checksum: cb276e37180f541f379b36f6aa9f1bd2d2ae50ebc967bb342d2f42acf7fb4f97c474c4e82262b26f3a89c2f11c3efad54dfca152d5b86db9d3e4810fdb92121b
+ "@babel/types": "npm:^7.22.15"
+ checksum: 5ecf9345a73b80c28677cfbe674b9f567bb0d079e37dcba9055e36cb337db24ae71992a58e1affa9d14a60d3c69907d30fe1f80aea105184501750a58d15c81c
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.20.11, @babel/helper-module-transforms@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-module-transforms@npm:7.21.5"
+"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/helper-module-transforms@npm:7.23.0"
dependencies:
- "@babel/helper-environment-visitor": "npm:^7.21.5"
- "@babel/helper-module-imports": "npm:^7.21.4"
- "@babel/helper-simple-access": "npm:^7.21.5"
- "@babel/helper-split-export-declaration": "npm:^7.18.6"
- "@babel/helper-validator-identifier": "npm:^7.19.1"
- "@babel/template": "npm:^7.20.7"
- "@babel/traverse": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
- checksum: 5a568633ccb70ab6b874cb3c969d12e5344966ff4115631b486c0a8c56dbb04e582b402b45ab5423bcd19f36af0c08a33fe624fa1d8935f8cfe7cdd6056267ae
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-module-imports": "npm:^7.22.15"
+ "@babel/helper-simple-access": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: d72fe444f7b6c5aadaac8f393298d603eedd48e5dead67273a48e5c83a677cbccbd8a12a06c5bf5d97924666083279158a4bd0e799d28b86cbbfacba9e41f598
languageName: node
linkType: hard
-"@babel/helper-optimise-call-expression@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/helper-optimise-call-expression@npm:7.18.6"
+"@babel/helper-optimise-call-expression@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-optimise-call-expression@npm:7.22.5"
dependencies:
- "@babel/types": "npm:^7.18.6"
- checksum: e518fe8418571405e21644cfb39cf694f30b6c47b10b006609a92469ae8b8775cbff56f0b19732343e2ea910641091c5a2dc73b56ceba04e116a33b0f8bd2fbd
+ "@babel/types": "npm:^7.22.5"
+ checksum: c70ef6cc6b6ed32eeeec4482127e8be5451d0e5282d5495d5d569d39eb04d7f1d66ec99b327f45d1d5842a9ad8c22d48567e93fc502003a47de78d122e355f7c
languageName: node
linkType: hard
-"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.21.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
- version: 7.21.5
- resolution: "@babel/helper-plugin-utils@npm:7.21.5"
- checksum: e84986c6e17451f3868ad6a94176f40e96fde77ab89e266ab6f5d3e776544d2d5cbe003767dfef15c6de461f0dc0688000a52c1c6dae4ee9157ed8acfc46bf0e
+"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
+ version: 7.22.5
+ resolution: "@babel/helper-plugin-utils@npm:7.22.5"
+ checksum: ab220db218089a2aadd0582f5833fd17fa300245999f5f8784b10f5a75267c4e808592284a29438a0da365e702f05acb369f99e1c915c02f9f9210ec60eab8ea
languageName: node
linkType: hard
-"@babel/helper-remap-async-to-generator@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9"
+"@babel/helper-remap-async-to-generator@npm:^7.22.20, @babel/helper-remap-async-to-generator@npm:^7.22.5":
+ version: 7.22.20
+ resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-environment-visitor": "npm:^7.18.9"
- "@babel/helper-wrap-function": "npm:^7.18.9"
- "@babel/types": "npm:^7.18.9"
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-wrap-function": "npm:^7.22.20"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 4be6076192308671b046245899b703ba090dbe7ad03e0bea897bb2944ae5b88e5e85853c9d1f83f643474b54c578d8ac0800b80341a86e8538264a725fbbefec
+ checksum: 2fe6300a6f1b58211dffa0aed1b45d4958506d096543663dba83bd9251fe8d670fa909143a65b45e72acb49e7e20fbdb73eae315d9ddaced467948c3329986e7
languageName: node
linkType: hard
-"@babel/helper-replace-supers@npm:^7.18.6, @babel/helper-replace-supers@npm:^7.20.7, @babel/helper-replace-supers@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-replace-supers@npm:7.21.5"
+"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9":
+ version: 7.22.20
+ resolution: "@babel/helper-replace-supers@npm:7.22.20"
dependencies:
- "@babel/helper-environment-visitor": "npm:^7.21.5"
- "@babel/helper-member-expression-to-functions": "npm:^7.21.5"
- "@babel/helper-optimise-call-expression": "npm:^7.18.6"
- "@babel/template": "npm:^7.20.7"
- "@babel/traverse": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
- checksum: 92e0f6f392d7a1316178b0b2658399e98825ee48a56c2fed66db7ddfaf62cc48c3038931e58934e9cdc5357dd0df69b1c9440aac63163d2df3141f75b615bcd5
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-member-expression-to-functions": "npm:^7.22.15"
+ "@babel/helper-optimise-call-expression": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 617666f57b0f94a2f430ee66b67c8f6fa94d4c22400f622947580d8f3638ea34b71280af59599ed4afbb54ae6e2bdd4f9083fe0e341184a4bb0bd26ef58d3017
languageName: node
linkType: hard
-"@babel/helper-simple-access@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-simple-access@npm:7.21.5"
+"@babel/helper-simple-access@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-simple-access@npm:7.22.5"
dependencies:
- "@babel/types": "npm:^7.21.5"
- checksum: a31207d263b860f470f0ba3bf7c5262de8d1119fa6ed3f69ee64692e3336c21b9044dce89732bb8a4c2cf50b7478157b43dc632818d3cbae49b2fd7313c9b99d
+ "@babel/types": "npm:^7.22.5"
+ checksum: 7d5430eecf880937c27d1aed14245003bd1c7383ae07d652b3932f450f60bfcf8f2c1270c593ab063add185108d26198c69d1aca0e6fb7c6fdada4bcf72ab5b7
languageName: node
linkType: hard
-"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0":
- version: 7.20.0
- resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.20.0"
+"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5"
dependencies:
- "@babel/types": "npm:^7.20.0"
- checksum: 34da8c832d1c8a546e45d5c1d59755459ffe43629436707079989599b91e8c19e50e73af7a4bd09c95402d389266731b0d9c5f69e372d8ebd3a709c05c80d7dd
+ "@babel/types": "npm:^7.22.5"
+ checksum: 1012ef2295eb12dc073f2b9edf3425661e9b8432a3387e62a8bc27c42963f1f216ab3124228015c748770b2257b4f1fda882ca8fa34c0bf485e929ae5bc45244
languageName: node
linkType: hard
-"@babel/helper-split-export-declaration@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/helper-split-export-declaration@npm:7.18.6"
+"@babel/helper-split-export-declaration@npm:^7.22.6":
+ version: 7.22.6
+ resolution: "@babel/helper-split-export-declaration@npm:7.22.6"
dependencies:
- "@babel/types": "npm:^7.18.6"
- checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b
+ "@babel/types": "npm:^7.22.5"
+ checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921
languageName: node
linkType: hard
-"@babel/helper-string-parser@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helper-string-parser@npm:7.21.5"
- checksum: 8295bfa30bb84aabaf9a6243ddc2722ed8685ff3aa17ca967f71ced45bfa1ecf9fc3d88c6069de1e19ebfec50a70fa76237c8104208ca25629ab6f67f401ae9e
+"@babel/helper-string-parser@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-string-parser@npm:7.22.5"
+ checksum: 7f275a7f1a9504da06afc33441e219796352a4a3d0288a961bc14d1e30e06833a71621b33c3e60ee3ac1ff3c502d55e392bcbc0665f6f9d2629809696fab7cdd
languageName: node
linkType: hard
-"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1":
- version: 7.19.1
- resolution: "@babel/helper-validator-identifier@npm:7.19.1"
- checksum: 30ecd53b7276970d59d65e68e147ea885f8812e50d06a59315dd1f12dc41467d29d6c56bf1fd02e91100f939cba378815b2c19f5d3604331a153aed9efcbd2a9
+"@babel/helper-validator-identifier@npm:^7.22.20":
+ version: 7.22.20
+ resolution: "@babel/helper-validator-identifier@npm:7.22.20"
+ checksum: df882d2675101df2d507b95b195ca2f86a3ef28cb711c84f37e79ca23178e13b9f0d8b522774211f51e40168bf5142be4c1c9776a150cddb61a0d5bf3e95750b
languageName: node
linkType: hard
-"@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/helper-validator-option@npm:7.21.0"
- checksum: 8ece4c78ffa5461fd8ab6b6e57cc51afad59df08192ed5d84b475af4a7193fc1cb794b59e3e7be64f3cdc4df7ac78bf3dbb20c129d7757ae078e6279ff8c2f07
+"@babel/helper-validator-option@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/helper-validator-option@npm:7.22.15"
+ checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d
languageName: node
linkType: hard
-"@babel/helper-wrap-function@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/helper-wrap-function@npm:7.18.9"
+"@babel/helper-wrap-function@npm:^7.22.20":
+ version: 7.22.20
+ resolution: "@babel/helper-wrap-function@npm:7.22.20"
dependencies:
- "@babel/helper-function-name": "npm:^7.18.9"
- "@babel/template": "npm:^7.18.6"
- "@babel/traverse": "npm:^7.18.9"
- "@babel/types": "npm:^7.18.9"
- checksum: da818e519b48bbaa748a4fa87b0ba681bc627c9eb9557008d5307d42d3f536fe435b775163088dd9639b0120c8ea1ae1021777f48806f9f83397f4df622b88d3
+ "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/template": "npm:^7.22.15"
+ "@babel/types": "npm:^7.22.19"
+ checksum: b22e4666dec3d401bdf8ebd01d448bb3733617dae5aa6fbd1b684a22a35653cca832edd876529fd139577713b44fb89b4f5e52b7315ab218620f78b8a8ae23de
languageName: node
linkType: hard
-"@babel/helpers@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/helpers@npm:7.21.5"
+"@babel/helpers@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/helpers@npm:7.23.2"
dependencies:
- "@babel/template": "npm:^7.20.7"
- "@babel/traverse": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
- checksum: f5602563879528596ff2d1b6f8ce5eeb644ac2f99ac36155f1b483c16a14f541b88fa73d0b0f69b053596c2abc8f8dbfee8813677b951bf4b6531c536cecc0db
+ "@babel/template": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ checksum: d66d949d41513f19e62e43a9426e283d46bc9a3c72f1e3dd136568542382edd411047403458aaa0ae3adf7c14d23e0e9a1126092bb56e72ba796a6dd7e4c082a
languageName: node
linkType: hard
-"@babel/highlight@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/highlight@npm:7.18.6"
+"@babel/highlight@npm:^7.18.6, @babel/highlight@npm:^7.22.13":
+ version: 7.22.20
+ resolution: "@babel/highlight@npm:7.22.20"
dependencies:
- "@babel/helper-validator-identifier": "npm:^7.18.6"
- chalk: "npm:^2.0.0"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ chalk: "npm:^2.4.2"
js-tokens: "npm:^4.0.0"
- checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789
+ checksum: 1aabc95b2cb7f67adc26c7049554306f1435bfedb76b9731c36ff3d7cdfcb32bd65a6dd06985644124eb2100bd911721d9e5c4f5ac40b7f0da2995a61bf8da92
languageName: node
linkType: hard
@@ -458,54 +459,40 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.13.9, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.21.5, @babel/parser@npm:^7.21.8, @babel/parser@npm:~7.21.2":
- version: 7.21.8
- resolution: "@babel/parser@npm:7.21.8"
+"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.13.9, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/parser@npm:7.23.0"
bin:
parser: ./bin/babel-parser.js
- checksum: 9fada12d05f6bb195641916399ae1e4f02c063570f33d1d7b0541b3f2119459791dd30a43fd10484b1a285235c19d26c7ecd22e8ce9627cf83f7ce7291b25376
+ checksum: 201641e068f8cca1ff12b141fcba32d7ccbabc586961bd1b85ae89d9695867f84d57fc2e1176dc4981fd28e5e97ca0e7c32cd688bd5eabb641a302abc0cb5040
languageName: node
linkType: hard
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6"
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 845bd280c55a6a91d232cfa54eaf9708ec71e594676fe705794f494bb8b711d833b752b59d1a5c154695225880c23dbc9cab0e53af16fd57807976cd3ff41b8d
+ checksum: 8910ca21a7ec7c06f7b247d4b86c97c5aa15ef321518f44f6f490c5912fdf82c605aaa02b90892e375d82ccbedeadfdeadd922c1b836c9dd4c596871bf654753
languageName: node
linkType: hard
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.20.7"
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.20.0"
- "@babel/plugin-proposal-optional-chaining": "npm:^7.20.7"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.22.15"
peerDependencies:
"@babel/core": ^7.13.0
- checksum: d610f532210bee5342f5b44a12395ccc6d904e675a297189bc1e401cc185beec09873da523466d7fec34ae1574f7a384235cba1ccc9fe7b89ba094167897c845
+ checksum: fbefedc0da014c37f1a50a8094ce7dbbf2181ae93243f23d6ecba2499b5b20196c2124d6a4dfe3e9e0125798e80593103e456352a4beb4e5c6f7c75efb80fdac
languageName: node
linkType: hard
-"@babel/plugin-proposal-async-generator-functions@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.20.7"
- dependencies:
- "@babel/helper-environment-visitor": "npm:^7.18.9"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-remap-async-to-generator": "npm:^7.18.9"
- "@babel/plugin-syntax-async-generators": "npm:^7.8.4"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 111109ee118c9e69982f08d5e119eab04190b36a0f40e22e873802d941956eee66d2aa5a15f5321e51e3f9aa70a91136451b987fe15185ef8cc547ac88937723
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-class-properties@npm:^7.13.0, @babel/plugin-proposal-class-properties@npm:^7.18.6":
+"@babel/plugin-proposal-class-properties@npm:^7.13.0":
version: 7.18.6
resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6"
dependencies:
@@ -517,68 +504,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-proposal-class-static-block@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/plugin-proposal-class-static-block@npm:7.21.0"
- dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.21.0"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
- peerDependencies:
- "@babel/core": ^7.12.0
- checksum: 236c0ad089e7a7acab776cc1d355330193314bfcd62e94e78f2df35817c6144d7e0e0368976778afd6b7c13e70b5068fa84d7abbf967d4f182e60d03f9ef802b
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-dynamic-import@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 96b1c8a8ad8171d39e9ab106be33bde37ae09b22fb2c449afee9a5edf3c537933d79d963dcdc2694d10677cb96da739cdf1b53454e6a5deab9801f28a818bb2f
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-export-namespace-from@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.18.9"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.9"
- "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 84ff22bacc5d30918a849bfb7e0e90ae4c5b8d8b65f2ac881803d1cf9068dffbe53bd657b0e4bc4c20b4db301b1c85f1e74183cf29a0dd31e964bd4e97c363ef
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-json-strings@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-json-strings@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/plugin-syntax-json-strings": "npm:^7.8.3"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 25ba0e6b9d6115174f51f7c6787e96214c90dd4026e266976b248a2ed417fe50fddae72843ffb3cbe324014a18632ce5648dfac77f089da858022b49fd608cb3
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-logical-assignment-operators@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.20.7"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: cdd7b8136cc4db3f47714d5266f9e7b592a2ac5a94a5878787ce08890e97c8ab1ca8e94b27bfeba7b0f2b1549a026d9fc414ca2196de603df36fb32633bbdc19
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6":
+"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8":
version: 7.18.6
resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6"
dependencies:
@@ -590,46 +516,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-proposal-numeric-separator@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: f370ea584c55bf4040e1f78c80b4eeb1ce2e6aaa74f87d1a48266493c33931d0b6222d8cee3a082383d6bb648ab8d6b7147a06f974d3296ef3bc39c7851683ec
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-object-rest-spread@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.20.7"
- dependencies:
- "@babel/compat-data": "npm:^7.20.5"
- "@babel/helper-compilation-targets": "npm:^7.20.7"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
- "@babel/plugin-transform-parameters": "npm:^7.20.7"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: cb0f8f2ff98d7bb64ee91c28b20e8ab15d9bc7043f0932cbb9e51e1bbfb623b12f206a1171e070299c9cf21948c320b710d6d72a42f68a5bfd2702354113a1c5
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-optional-catch-binding@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 7b5b39fb5d8d6d14faad6cb68ece5eeb2fd550fb66b5af7d7582402f974f5bc3684641f7c192a5a57e0f59acfae4aada6786be1eba030881ddc590666eff4d1e
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-optional-chaining@npm:^7.13.12, @babel/plugin-proposal-optional-chaining@npm:^7.20.7, @babel/plugin-proposal-optional-chaining@npm:^7.21.0":
+"@babel/plugin-proposal-optional-chaining@npm:^7.13.12":
version: 7.21.0
resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0"
dependencies:
@@ -642,41 +529,12 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-proposal-private-methods@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6"
- dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 22d8502ee96bca99ad2c8393e8493e2b8d4507576dd054490fd8201a36824373440106f5b098b6d821b026c7e72b0424ff4aeca69ed5f42e48f029d3a156d5ad
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-private-property-in-object@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0"
- dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-create-class-features-plugin": "npm:^7.21.0"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
+"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2":
+ version: 7.21.0-placeholder-for-preset-env.2
+ resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 5084e4578239bc1c8add75ae4726fffadb23de092fc6453744a239043836b69c4ef8a907b1dcb1228a9b6a6f3bff3fc5f2d2f8251c76bdf411d9d1ea9e6dbbea
- languageName: node
- linkType: hard
-
-"@babel/plugin-proposal-unicode-property-regex@npm:^7.18.6, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4":
- version: 7.18.6
- resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.18.6"
- dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: a8575ecb7ff24bf6c6e94808d5c84bb5a0c6dd7892b54f09f4646711ba0ee1e1668032b3c43e3e1dfec2c5716c302e851ac756c1645e15882d73df6ad21ae951
+ checksum: fab70f399aa869275690ec6c7cedb4ef361d4e8b6f55c3d7b04bfee61d52fb93c87cec2c65d73cddbaca89fb8ef5ec0921fce675c9169d9d51f18305ab34e78a
languageName: node
linkType: hard
@@ -746,25 +604,36 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-flow@npm:^7.18.6":
- version: 7.21.4
- resolution: "@babel/plugin-syntax-flow@npm:7.21.4"
+"@babel/plugin-syntax-flow@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-syntax-flow@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: fe4ba7b285965c62ff820d55d260cb5b6e5282dbedddd1fb0a0f2667291dcf0fa1b3d92fa9bf90946b02b307926a0a5679fbdd31d80ceaed5971293aa1fc5744
+ checksum: 84c8c40fcfe8e78cecdd6fb90e8f97f419e3f3b27a33de8324ae97d5ce1b87cdd98a636fa21a68d4d2c37c7d63f3a279bb84b6956b849921affed6b806b6ffe7
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-assertions@npm:^7.20.0":
- version: 7.20.0
- resolution: "@babel/plugin-syntax-import-assertions@npm:7.20.0"
+"@babel/plugin-syntax-import-assertions@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.19.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 6a86220e0aae40164cd3ffaf80e7c076a1be02a8f3480455dddbae05fda8140f429290027604df7a11b3f3f124866e8a6d69dbfa1dda61ee7377b920ad144d5b
+ checksum: 2b8b5572db04a7bef1e6cd20debf447e4eef7cb012616f5eceb8fa3e23ce469b8f76ee74fd6d1e158ba17a8f58b0aec579d092fb67c5a30e83ccfbc5754916c1
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-import-attributes@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 197b3c5ea2a9649347f033342cb222ab47f4645633695205c0250c6bf2af29e643753b8bb24a2db39948bef08e7c540babfd365591eb57fc110cb30b425ffc47
languageName: node
linkType: hard
@@ -790,14 +659,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-jsx@npm:^7.21.4, @babel/plugin-syntax-jsx@npm:^7.7.2":
- version: 7.21.4
- resolution: "@babel/plugin-syntax-jsx@npm:7.21.4"
+"@babel/plugin-syntax-jsx@npm:^7.22.5, @babel/plugin-syntax-jsx@npm:^7.7.2":
+ version: 7.22.5
+ resolution: "@babel/plugin-syntax-jsx@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: bb7309402a1d4e155f32aa0cf216e1fa8324d6c4cfd248b03280028a015a10e46b6efd6565f515f8913918a3602b39255999c06046f7d4b8a5106be2165d724a
+ checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce
languageName: node
linkType: hard
@@ -889,375 +758,564 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-typescript@npm:^7.20.0, @babel/plugin-syntax-typescript@npm:^7.7.2":
- version: 7.21.4
- resolution: "@babel/plugin-syntax-typescript@npm:7.21.4"
+"@babel/plugin-syntax-typescript@npm:^7.22.5, @babel/plugin-syntax-typescript@npm:^7.7.2":
+ version: 7.22.5
+ resolution: "@babel/plugin-syntax-typescript@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: a59ce2477b7ae8c8945dc37dda292fef9ce46a6507b3d76b03ce7f3a6c9451a6567438b20a78ebcb3955d04095fd1ccd767075a863f79fcc30aa34dcfa441fe0
+ checksum: 8ab7718fbb026d64da93681a57797d60326097fd7cb930380c8bffd9eb101689e90142c760a14b51e8e69c88a73ba3da956cb4520a3b0c65743aee5c71ef360a
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.18.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: a651d700fe63ff0ddfd7186f4ebc24447ca734f114433139e3c027bc94a900d013cf1ef2e2db8430425ba542e39ae160c3b05f06b59fd4656273a3df97679e9c
languageName: node
linkType: hard
-"@babel/plugin-transform-arrow-functions@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-arrow-functions@npm:7.21.5"
+"@babel/plugin-transform-arrow-functions@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: c7c281cdf37c33a584102d9fd1793e85c96d4d320cdfb7c43f1ce581323d057f13b53203994fcc7ee1f8dc1ff013498f258893aa855a06c6f830fcc4c33d6e44
+ checksum: 35abb6c57062802c7ce8bd96b2ef2883e3124370c688bbd67609f7d2453802fb73944df8808f893b6c67de978eb2bcf87bbfe325e46d6f39b5fcb09ece11d01a
languageName: node
linkType: hard
-"@babel/plugin-transform-async-to-generator@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-transform-async-to-generator@npm:7.20.7"
+"@babel/plugin-transform-async-generator-functions@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.2"
dependencies:
- "@babel/helper-module-imports": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-remap-async-to-generator": "npm:^7.18.9"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-remap-async-to-generator": "npm:^7.22.20"
+ "@babel/plugin-syntax-async-generators": "npm:^7.8.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: fe9ee8a5471b4317c1b9ea92410ace8126b52a600d7cfbfe1920dcac6fb0fad647d2e08beb4fd03c630eb54430e6c72db11e283e3eddc49615c68abd39430904
+ checksum: e1abae0edcda7304d7c17702ac25a127578791b89c4f767d60589249fa3e50ec33f8c9ff39d3d8d41f00b29947654eaddd4fd586e04c4d598122db745fab2868
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoped-functions@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.18.6"
+"@babel/plugin-transform-async-to-generator@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-module-imports": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-remap-async-to-generator": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 0a0df61f94601e3666bf39f2cc26f5f7b22a94450fb93081edbed967bd752ce3f81d1227fefd3799f5ee2722171b5e28db61379234d1bb85b6ec689589f99d7e
+ checksum: b95f23f99dcb379a9f0a1c2a3bbea3f8dc0e1b16dc1ac8b484fe378370169290a7a63d520959a9ba1232837cf74a80e23f6facbe14fd42a3cda6d3c2d7168e62
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoping@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/plugin-transform-block-scoping@npm:7.21.0"
+"@babel/plugin-transform-block-scoped-functions@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 4956691c2824b29709f0f96b6ba6a62fc612be4610a36a388e23261eb383ccd96fd4bf8140d2cb1d8c8bf54ada57aac841a9e72e77137868e1ce86d3bab5ea96
+ checksum: 416b1341858e8ca4e524dee66044735956ced5f478b2c3b9bc11ec2285b0c25d7dbb96d79887169eb938084c95d0a89338c8b2fe70d473bd9dc92e5d9db1732c
languageName: node
linkType: hard
-"@babel/plugin-transform-classes@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/plugin-transform-classes@npm:7.21.0"
+"@babel/plugin-transform-block-scoping@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.23.0"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-compilation-targets": "npm:^7.20.7"
- "@babel/helper-environment-visitor": "npm:^7.18.9"
- "@babel/helper-function-name": "npm:^7.21.0"
- "@babel/helper-optimise-call-expression": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-replace-supers": "npm:^7.20.7"
- "@babel/helper-split-export-declaration": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 9f60c71a0b72c7bdc0734ab363cf8ad40c4366456d9429ab3f2caedf6566c12f1ae8190478827222e93c60855b6c746a2c0e24381646fe7220d4666c332dc090
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-class-properties@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-class-properties@npm:7.22.5"
+ dependencies:
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: b830152dfc2ff2f647f0abe76e6251babdfbef54d18c4b2c73a6bf76b1a00050a5d998dac80dc901a48514e95604324943a9dd39317073fe0928b559e0e0c579
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-class-static-block@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-class-static-block@npm:7.22.11"
+ dependencies:
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.11"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
+ peerDependencies:
+ "@babel/core": ^7.12.0
+ checksum: 69f040506fad66f1c6918d288d0e0edbc5c8a07c8b4462c1184ad2f9f08995d68b057126c213871c0853ae0c72afc60ec87492049dfacb20902e32346a448bcb
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-classes@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-classes@npm:7.22.15"
+ dependencies:
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-environment-visitor": "npm:^7.22.5"
+ "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/helper-optimise-call-expression": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-replace-supers": "npm:^7.22.9"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
globals: "npm:^11.1.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: f5450b25783aab3a80678834f0c31287d86c862496d73cd1a8d0853fc4db5481f133bed6d15bb71103f7d282fdf4f342d0db3a66f044e855ea77b3ed76f835a5
+ checksum: 21d7a171055634b4c407e42fc99ef340bde70d5582d47f7bcdc9781d09b3736607d346f56c3abb1e8b9b62516e1af25ab9023a295be0c347c963d6a20f74b55f
languageName: node
linkType: hard
-"@babel/plugin-transform-computed-properties@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-computed-properties@npm:7.21.5"
+"@babel/plugin-transform-computed-properties@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- "@babel/template": "npm:^7.20.7"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/template": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 6c30d2c710992f287324bf0b8ceffbe5fb5ba05dc4063bd47bc8fabff2240ebcbec30e4529e5c388a62ead174774cc19900435bfd1c5b0b45cf8e7e1a9a5fa12
+ checksum: a3efa8de19e4c52f01a99301d864819a7997a7845044d9cef5b67b0fb1e5e3e610ecc23053a8b5cf8fe40fcad93c15a586eaeffd22b89eeaa038339c37919661
languageName: node
linkType: hard
-"@babel/plugin-transform-destructuring@npm:^7.21.3":
- version: 7.21.3
- resolution: "@babel/plugin-transform-destructuring@npm:7.21.3"
+"@babel/plugin-transform-destructuring@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-destructuring@npm:7.23.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: eadef1b848d5dde50b922efa7c491836b4e5901ac7cdb128a54f886c60d63dcb33c7e5a3da9f432881f65a2cac46eb642d700ce073c7d6a4005730e666228893
+ checksum: 924b1c0fc11c9782a9a63ae6d181b9b069250a5567c705c24409e2f1e39ac47e61846cd17b0ab45641dc77050e7b900fc80a536f8abe7dff49b4e777e7b9b952
languageName: node
linkType: hard
-"@babel/plugin-transform-dotall-regex@npm:^7.18.6, @babel/plugin-transform-dotall-regex@npm:^7.4.4":
- version: 7.18.6
- resolution: "@babel/plugin-transform-dotall-regex@npm:7.18.6"
+"@babel/plugin-transform-dotall-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: cbe5d7063eb8f8cca24cd4827bc97f5641166509e58781a5f8aa47fb3d2d786ce4506a30fca2e01f61f18792783a5cb5d96bf5434c3dd1ad0de8c9cc625a53da
+ checksum: 409b658d11e3082c8f69e9cdef2d96e4d6d11256f005772425fb230cc48fd05945edbfbcb709dab293a1a2f01f9c8a5bb7b4131e632b23264039d9f95864b453
languageName: node
linkType: hard
-"@babel/plugin-transform-duplicate-keys@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-transform-duplicate-keys@npm:7.18.9"
+"@babel/plugin-transform-duplicate-keys@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.9"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 220bf4a9fec5c4d4a7b1de38810350260e8ea08481bf78332a464a21256a95f0df8cd56025f346238f09b04f8e86d4158fafc9f4af57abaef31637e3b58bd4fe
+ checksum: bb1280fbabaab6fab2ede585df34900712698210a3bd413f4df5bae6d8c24be36b496c92722ae676a7a67d060a4624f4d6c23b923485f906bfba8773c69f55b4
languageName: node
linkType: hard
-"@babel/plugin-transform-exponentiation-operator@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.18.6"
+"@babel/plugin-transform-dynamic-import@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-dynamic-import@npm:7.22.11"
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 7f70222f6829c82a36005508d34ddbe6fd0974ae190683a8670dd6ff08669aaf51fef2209d7403f9bd543cb2d12b18458016c99a6ed0332ccedb3ea127b01229
+ checksum: 78fc9c532210bf9e8f231747f542318568ac360ee6c27e80853962c984283c73da3f8f8aebe83c2096090a435b356b092ed85de617a156cbe0729d847632be45
languageName: node
linkType: hard
-"@babel/plugin-transform-flow-strip-types@npm:^7.21.0":
- version: 7.21.0
- resolution: "@babel/plugin-transform-flow-strip-types@npm:7.21.0"
+"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-flow": "npm:^7.18.6"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 2eea25eaf3cb62536fe77a3a7c1e054f0530df57b1d346729679b3f8efaa78ef6fe3f8558f11f8755d32d9cd7dac854a0c64deceea91128d6c8f4564cadb3e0d
+ checksum: f2d660c1b1d51ad5fec1cd5ad426a52187204068c4158f8c4aa977b31535c61b66898d532603eef21c15756827be8277f724c869b888d560f26d7fe848bb5eae
languageName: node
linkType: hard
-"@babel/plugin-transform-for-of@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-for-of@npm:7.21.5"
+"@babel/plugin-transform-export-namespace-from@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.11"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 750ed0648adcfc7770ea5b0d1d912ad8d9ff2177701292055eeab4652f74154b4e4b8a5d2c9faca4364933c91c1dc7589e80ed8995672687a54fe38ff3888a6d
+ checksum: 73af5883a321ed56a4bfd43c8a7de0164faebe619287706896fc6ee2f7a4e69042adaa1338c0b8b4bdb9f7e5fdceb016fb1d40694cb43ca3b8827429e8aac4bf
languageName: node
linkType: hard
-"@babel/plugin-transform-function-name@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-transform-function-name@npm:7.18.9"
+"@babel/plugin-transform-flow-strip-types@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-flow-strip-types@npm:7.22.5"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.18.9"
- "@babel/helper-function-name": "npm:^7.18.9"
- "@babel/helper-plugin-utils": "npm:^7.18.9"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-flow": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 62dd9c6cdc9714704efe15545e782ee52d74dc73916bf954b4d3bee088fb0ec9e3c8f52e751252433656c09f744b27b757fc06ed99bcde28e8a21600a1d8e597
+ checksum: 0657042178061517cd5641a9a5eed1251aa1d8cf93a4111568ae663773854a1e8f6af167ecae042237d261389751dc5ee32ba12a15e65e41af29d04150005cab
languageName: node
linkType: hard
-"@babel/plugin-transform-literals@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-transform-literals@npm:7.18.9"
+"@babel/plugin-transform-for-of@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-for-of@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.9"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 3458dd2f1a47ac51d9d607aa18f3d321cbfa8560a985199185bed5a906bb0c61ba85575d386460bac9aed43fdd98940041fae5a67dff286f6f967707cff489f8
+ checksum: d6ac155fcc8dc3d37a092325e5b7df738a7a953c4a47520c0c02fbc30433e6a5ac38197690845ebb931870af958ac95d36132d5accf41ed4bb0765a7618371fc
languageName: node
linkType: hard
-"@babel/plugin-transform-member-expression-literals@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-member-expression-literals@npm:7.18.6"
+"@babel/plugin-transform-function-name@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-function-name@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-compilation-targets": "npm:^7.22.5"
+ "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 35a3d04f6693bc6b298c05453d85ee6e41cc806538acb6928427e0e97ae06059f97d2f07d21495fcf5f70d3c13a242e2ecbd09d5c1fcb1b1a73ff528dcb0b695
+ checksum: cff3b876357999cb8ae30e439c3ec6b0491a53b0aa6f722920a4675a6dd5b53af97a833051df4b34791fe5b3dd326ccf769d5c8e45b322aa50ee11a660b17845
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-amd@npm:^7.20.11":
- version: 7.20.11
- resolution: "@babel/plugin-transform-modules-amd@npm:7.20.11"
+"@babel/plugin-transform-json-strings@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-json-strings@npm:7.22.11"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.20.11"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-json-strings": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: eb7a6b0448dfbbf6046aaabdf1a79b234e742297f3de84f6e3b91a590d2614f5ab6ae8391f10b09e55c4d97ea53cc6fabfeb4db06d24e5873f41c687a3085efa
+ checksum: 50665e5979e66358c50e90a26db53c55917f78175127ac2fa05c7888d156d418ffb930ec0a109353db0a7c5f57c756ce01bfc9825d24cbfd2b3ec453f2ed8cba
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-modules-commonjs@npm:7.21.5"
+"@babel/plugin-transform-literals@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-literals@npm:7.22.5"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.21.5"
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- "@babel/helper-simple-access": "npm:^7.21.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: cc5ce08e31b0ad873aa2165e841cb91c9bc0db20db61eb4b631eea7551d31c235c8cfbb917184bfbb95f5029c115df455de965f7c55075e0fe5a19867d783bde
+ checksum: ec37cc2ffb32667af935ab32fe28f00920ec8a1eb999aa6dc6602f2bebd8ba205a558aeedcdccdebf334381d5c57106c61f52332045730393e73410892a9735b
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-systemjs@npm:^7.20.11":
- version: 7.20.11
- resolution: "@babel/plugin-transform-modules-systemjs@npm:7.20.11"
+"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.11"
dependencies:
- "@babel/helper-hoist-variables": "npm:^7.18.6"
- "@babel/helper-module-transforms": "npm:^7.20.11"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-validator-identifier": "npm:^7.19.1"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: a7429b9aad27db0df00ee6724c588b656bb0e01ba79f7bcd75e9d5d5bdc4659e994088a22772055431baa870d1721246e754037b592db13510147c59dbbe04e7
+ checksum: c664e9798e85afa7f92f07b867682dee7392046181d82f5d21bae6f2ca26dfe9c8375cdc52b7483c3fc09a983c1989f60eff9fbc4f373b0c0a74090553d05739
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-umd@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-modules-umd@npm:7.18.6"
+"@babel/plugin-transform-member-expression-literals@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 664367f26fb4b787d2ad2d1c68302ddd3f7a2c7c7dfbf08d93ff07a2fc0ca540d81a0f9ac1f3c4c25a081154bb69c2ed04eac802198d8ce9b4e1158e64779f3b
+ checksum: ec4b0e07915ddd4fda0142fd104ee61015c208608a84cfa13643a95d18760b1dc1ceb6c6e0548898b8c49e5959a994e46367260176dbabc4467f729b21868504
languageName: node
linkType: hard
-"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.20.5":
- version: 7.20.5
- resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.20.5"
+"@babel/plugin-transform-modules-amd@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-modules-amd@npm:7.23.0"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.20.5"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d06fbee89044a0c4d9d65c2bb26b45482266d14d64601a36996615ca75f1e1cc40ac95d09821601606eacbeeef39b3b634118f6197cda6431c8440975926a5d5
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.0"
+ dependencies:
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-simple-access": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 65085c8f2578b0c272b3969b78e54430ea3217fca8de7a21ded845a74ddf2d97aee284559da102d826fcb8aed5a79d09536a6e4610d868f539d7bc382eb319ff
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-modules-systemjs@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.0"
+ dependencies:
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 43a61fd72ba90afafcf6734345df00cbaf1f244ca456f8e8532813b87a985ddfeca7fc6ea758c12350abcfeba02835875b44dc6b3118c2dac7469a3f298c79ad
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-modules-umd@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5"
+ dependencies:
+ "@babel/helper-module-transforms": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: b955d066c68b60c1179bfb0b744e2fad32dbe86d0673bd94637439cfe425d1e3ff579bd47a417233609aac1624f4fe69915bee73e6deb2af6188fda8aaa5db63
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 528c95fb1087e212f17e1c6456df041b28a83c772b9c93d2e407c9d03b72182b0d9d126770c1d6e0b23aab052599ceaf25ed6a2c0627f4249be34a83f6fae853
+ checksum: 3ee564ddee620c035b928fdc942c5d17e9c4b98329b76f9cefac65c111135d925eb94ed324064cd7556d4f5123beec79abea1d4b97d1c8a2a5c748887a2eb623
languageName: node
linkType: hard
-"@babel/plugin-transform-new-target@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-new-target@npm:7.18.6"
+"@babel/plugin-transform-new-target@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-new-target@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: bd780e14f46af55d0ae8503b3cb81ca86dcc73ed782f177e74f498fff934754f9e9911df1f8f3bd123777eed7c1c1af4d66abab87c8daae5403e7719a6b845d1
+ checksum: 6b72112773487a881a1d6ffa680afde08bad699252020e86122180ee7a88854d5da3f15d9bca3331cf2e025df045604494a8208a2e63b486266b07c14e2ffbf3
languageName: node
linkType: hard
-"@babel/plugin-transform-object-super@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-object-super@npm:7.18.6"
+"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.11"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/helper-replace-supers": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 0fcb04e15deea96ae047c21cb403607d49f06b23b4589055993365ebd7a7d7541334f06bf9642e90075e66efce6ebaf1eb0ef066fbbab802d21d714f1aac3aef
+ checksum: 167babecc8b8fe70796a7b7d34af667ebbf43da166c21689502e5e8cc93180b7a85979c77c9f64b7cce431b36718bd0a6df9e5e0ffea4ae22afb22cfef886372
languageName: node
linkType: hard
-"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.21.3":
- version: 7.21.3
- resolution: "@babel/plugin-transform-parameters@npm:7.21.3"
+"@babel/plugin-transform-numeric-separator@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.11"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 3539c811125d546affcaf00aaffee87cd21f52e82b54332abf034123e4f1e86b5787fb20ffa86e79921140bba8a452fc4f262475317983f4429a020d40f975fb
+ checksum: af064d06a4a041767ec396a5f258103f64785df290e038bba9f0ef454e6c914f2ac45d862bbdad8fac2c7ad47fa4e95356f29053c60c100a0160b02a995fe2a3
languageName: node
linkType: hard
-"@babel/plugin-transform-property-literals@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-property-literals@npm:7.18.6"
+"@babel/plugin-transform-object-rest-spread@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/compat-data": "npm:^7.22.9"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
+ "@babel/plugin-transform-parameters": "npm:^7.22.15"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1c16e64de554703f4b547541de2edda6c01346dd3031d4d29e881aa7733785cd26d53611a4ccf5353f4d3e69097bb0111c0a93ace9e683edd94fea28c4484144
+ checksum: 04b9f4bbabf4bbd019b47c60b294d873fe5d2f6063628a5b311d88da9e81b0a8622756dd42c7030359925479b7a3cd743dee46e73d84e03afd907d8cfd44ddea
languageName: node
linkType: hard
-"@babel/plugin-transform-react-display-name@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-react-display-name@npm:7.18.6"
+"@babel/plugin-transform-object-super@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-object-super@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-replace-supers": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 51c087ab9e41ef71a29335587da28417536c6f816c292e092ffc0e0985d2f032656801d4dd502213ce32481f4ba6c69402993ffa67f0818a07606ff811e4be49
+ checksum: b71887877d74cb64dbccb5c0324fa67e31171e6a5311991f626650e44a4083e5436a1eaa89da78c0474fb095d4ec322d63ee778b202d33aa2e4194e1ed8e62d7
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-development@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-react-jsx-development@npm:7.18.6"
+"@babel/plugin-transform-optional-catch-binding@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.11"
dependencies:
- "@babel/plugin-transform-react-jsx": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: ec9fa65db66f938b75c45e99584367779ac3e0af8afc589187262e1337c7c4205ea312877813ae4df9fb93d766627b8968d74ac2ba702e4883b1dbbe4953ecee
+ checksum: f17abd90e1de67c84d63afea29c8021c74abb2794d3a6eeafb0bbe7372d3db32aefca386e392116ec63884537a4a2815d090d26264d259bacc08f6e3ed05294c
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx@npm:^7.18.6, @babel/plugin-transform-react-jsx@npm:^7.19.0":
- version: 7.21.5
- resolution: "@babel/plugin-transform-react-jsx@npm:7.21.5"
+"@babel/plugin-transform-optional-chaining@npm:^7.22.15, @babel/plugin-transform-optional-chaining@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.0"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-module-imports": "npm:^7.21.4"
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- "@babel/plugin-syntax-jsx": "npm:^7.21.4"
- "@babel/types": "npm:^7.21.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
+ "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 8be99c8b5b13a5666564d11d22b42fa44cd1f56a1c36ff16282b0ecc9b6f206a45adafff07a096b9afb8f80a403882eefd3bcc369b0d13ac3740b7b88dbaa6c4
+ checksum: fb1103c6489b91df06c483a97fc12515c2f3840f573cbecb27959307c0a838fdd1502a34ada43805c4fb7f7dab3d1c0d1ab8428775d098af6778a7b00f494c27
languageName: node
linkType: hard
-"@babel/plugin-transform-react-pure-annotations@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.18.6"
+"@babel/plugin-transform-parameters@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-parameters@npm:7.22.15"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 97c4873d409088f437f9084d084615948198dd87fc6723ada0e7e29c5a03623c2f3e03df3f52e7e7d4d23be32a08ea00818bff302812e48713c706713bd06219
+ checksum: fa9f2340fe48b88c344ff38cd86318f61e48bedafdc567a1607106a1c3a65c0db845792f406b1320f89745192fe1ae6739b0bc4eb646ff60cd797ca85752d462
languageName: node
linkType: hard
-"@babel/plugin-transform-regenerator@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-regenerator@npm:7.21.5"
+"@babel/plugin-transform-private-methods@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-private-methods@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- regenerator-transform: "npm:^0.15.1"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 5291f6871276f57a6004f16d50ae9ad57f22a6aa2a183b8c84de8126f1066c6c9f9bbeadb282b5207fa9e7b0f57e40a8421d46cb5c60caf7e2848e98224d5639
+ checksum: 321479b4fcb6d3b3ef622ab22fd24001e43d46e680e8e41324c033d5810c84646e470f81b44cbcbef5c22e99030784f7cac92f1829974da7a47a60a7139082c3
languageName: node
linkType: hard
-"@babel/plugin-transform-reserved-words@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-reserved-words@npm:7.18.6"
+"@babel/plugin-transform-private-property-in-object@npm:^7.22.11":
+ version: 7.22.11
+ resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.11"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.11"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: b00623d107069c91a164d5cf7486c0929a4ee3023fcddbc8844e21b5e66f369271e1aa51921c7d87b80d9927bc75d63afcfe4d577872457ddb0443a5b86bacca
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-property-literals@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-property-literals@npm:7.22.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 796176a3176106f77fcb8cd04eb34a8475ce82d6d03a88db089531b8f0453a2fb8b0c6ec9a52c27948bc0ea478becec449893741fc546dfc3930ab927e3f9f2e
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-display-name@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-react-display-name@npm:7.22.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: a12bfd1e4e93055efca3ace3c34722571bda59d9740dca364d225d9c6e3ca874f134694d21715c42cc63d79efd46db9665bd4a022998767f9245f1e29d5d204d
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-development@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-react-jsx-development@npm:7.22.5"
+ dependencies:
+ "@babel/plugin-transform-react-jsx": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 36bc3ff0b96bb0ef4723070a50cfdf2e72cfd903a59eba448f9fe92fea47574d6f22efd99364413719e1f3fb3c51b6c9b2990b87af088f8486a84b2a5f9e4560
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-react-jsx@npm:7.22.15"
+ dependencies:
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-module-imports": "npm:^7.22.15"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-jsx": "npm:^7.22.5"
+ "@babel/types": "npm:^7.22.15"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: a436bfbffe723d162e5816d510dca7349a1fc572c501d73f1e17bbca7eb899d7a6a14d8fc2ae5993dd79fdd77bcc68d295e59a3549bed03b8579c767f6e3c9dc
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-pure-annotations@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.22.5"
+ dependencies:
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 0738cdc30abdae07c8ec4b233b30c31f68b3ff0eaa40eddb45ae607c066127f5fa99ddad3c0177d8e2832e3a7d3ad115775c62b431ebd6189c40a951b867a80c
+ checksum: 092021c4f404e267002099ec20b3f12dd730cb90b0d83c5feed3dc00dbe43b9c42c795a18e7c6c7d7bddea20c7dd56221b146aec81b37f2e7eb5137331c61120
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-regenerator@npm:^7.22.10":
+ version: 7.22.10
+ resolution: "@babel/plugin-transform-regenerator@npm:7.22.10"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ regenerator-transform: "npm:^0.15.2"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: e13678d62d6fa96f11cb8b863f00e8693491e7adc88bfca3f2820f80cbac8336e7dec3a596eee6a1c4663b7ececc3564f2cd7fb44ed6d4ce84ac2bb7f39ecc6e
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-reserved-words@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 3ffd7dbc425fe8132bfec118b9817572799cab1473113a635d25ab606c1f5a2341a636c04cf6b22df3813320365ed5a965b5eeb3192320a10e4cc2c137bd8bfc
languageName: node
linkType: hard
@@ -1277,130 +1335,141 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-shorthand-properties@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-shorthand-properties@npm:7.18.6"
+"@babel/plugin-transform-shorthand-properties@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: b8e4e8acc2700d1e0d7d5dbfd4fdfb935651913de6be36e6afb7e739d8f9ca539a5150075a0f9b79c88be25ddf45abb912fe7abf525f0b80f5b9d9860de685d7
+ checksum: a5ac902c56ea8effa99f681340ee61bac21094588f7aef0bc01dff98246651702e677552fa6d10e548c4ac22a3ffad047dd2f8c8f0540b68316c2c203e56818b
languageName: node
linkType: hard
-"@babel/plugin-transform-spread@npm:^7.20.7":
- version: 7.20.7
- resolution: "@babel/plugin-transform-spread@npm:7.20.7"
+"@babel/plugin-transform-spread@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-spread@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.20.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 63af4eddbe89a02e4f58481bf675c363af27084a98dda43617ccb35557ff73b88ed6d236714757f2ded7c4d81a0138f3289de6fcafb52df9f2b1039f3f2d5db7
+ checksum: f9fd247b3fa8953416c8808c124c3a5db5cd697abbf791aae0143a0587fff6b386045f94c62bcd1b6783a1fd275629cc194f25f6c0aafc9f05f12a56fd5f94bf
languageName: node
linkType: hard
-"@babel/plugin-transform-sticky-regex@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-sticky-regex@npm:7.18.6"
+"@babel/plugin-transform-sticky-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 68ea18884ae9723443ffa975eb736c8c0d751265859cd3955691253f7fee37d7a0f7efea96c8a062876af49a257a18ea0ed5fea0d95a7b3611ce40f7ee23aee3
+ checksum: 63b2c575e3e7f96c32d52ed45ee098fb7d354b35c2223b8c8e76840b32cc529ee0c0ceb5742fd082e56e91e3d82842a367ce177e82b05039af3d602c9627a729
languageName: node
linkType: hard
-"@babel/plugin-transform-template-literals@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-transform-template-literals@npm:7.18.9"
+"@babel/plugin-transform-template-literals@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-template-literals@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.9"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 3d2fcd79b7c345917f69b92a85bdc3ddd68ce2c87dc70c7d61a8373546ccd1f5cb8adc8540b49dfba08e1b82bb7b3bbe23a19efdb2b9c994db2db42906ca9fb2
+ checksum: 27e9bb030654cb425381c69754be4abe6a7c75b45cd7f962cd8d604b841b2f0fb7b024f2efc1c25cc53f5b16d79d5e8cfc47cacbdaa983895b3aeefa3e7e24ff
languageName: node
linkType: hard
-"@babel/plugin-transform-typeof-symbol@npm:^7.18.9":
- version: 7.18.9
- resolution: "@babel/plugin-transform-typeof-symbol@npm:7.18.9"
+"@babel/plugin-transform-typeof-symbol@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.9"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: e754e0d8b8a028c52e10c148088606e3f7a9942c57bd648fc0438e5b4868db73c386a5ed47ab6d6f0594aae29ee5ffc2ffc0f7ebee7fae560a066d6dea811cd4
+ checksum: 82a53a63ffc3010b689ca9a54e5f53b2718b9f4b4a9818f36f9b7dba234f38a01876680553d2716a645a61920b5e6e4aaf8d4a0064add379b27ca0b403049512
languageName: node
linkType: hard
-"@babel/plugin-transform-typescript@npm:^7.21.3":
- version: 7.21.3
- resolution: "@babel/plugin-transform-typescript@npm:7.21.3"
+"@babel/plugin-transform-typescript@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/plugin-transform-typescript@npm:7.22.15"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.18.6"
- "@babel/helper-create-class-features-plugin": "npm:^7.21.0"
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/plugin-syntax-typescript": "npm:^7.20.0"
+ "@babel/helper-annotate-as-pure": "npm:^7.22.5"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.15"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-typescript": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: a98a0c9c56e490405437a219d278e669b95cba1b0f8b6f5ddaa8d9e8ad74c1a4eac1ec42d24045d29cb9dfbe216f242823ad570aaf07f98ecbaf15ffa51fd245
+ checksum: 95c35fbc823773058e9f077635fbe579d00b8f1762756b14a6fcae0c2db1aefddb93093fda4ca462e9e7d49edd49d71afe0a17422698d7418a6d156fc2dfba19
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-escapes@npm:^7.21.5":
- version: 7.21.5
- resolution: "@babel/plugin-transform-unicode-escapes@npm:7.21.5"
+"@babel/plugin-transform-unicode-escapes@npm:^7.22.10":
+ version: 7.22.10
+ resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.10"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 6504d642d0449a275191b624bd94d3e434ae154e610bf2f0e3c109068b287d2474f68e1da64b47f21d193cd67b27ee4643877d530187670565cac46e29fd257d
+ checksum: 807f40ed1324c8cb107c45358f1903384ca3f0ef1d01c5a3c5c9b271c8d8eec66936a3dcc8d75ddfceea9421420368c2e77ae3adef0a50557e778dfe296bf382
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-regex@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-unicode-regex@npm:7.18.6"
+"@babel/plugin-transform-unicode-property-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.5"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6"
- "@babel/helper-plugin-utils": "npm:^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: d9e18d57536a2d317fb0b7c04f8f55347f3cfacb75e636b4c6fa2080ab13a3542771b5120e726b598b815891fc606d1472ac02b749c69fd527b03847f22dc25e
- languageName: node
- linkType: hard
-
-"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.5.5, @babel/preset-env@npm:~7.21.0":
- version: 7.21.5
- resolution: "@babel/preset-env@npm:7.21.5"
- dependencies:
- "@babel/compat-data": "npm:^7.21.5"
- "@babel/helper-compilation-targets": "npm:^7.21.5"
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- "@babel/helper-validator-option": "npm:^7.21.0"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.18.6"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.20.7"
- "@babel/plugin-proposal-async-generator-functions": "npm:^7.20.7"
- "@babel/plugin-proposal-class-properties": "npm:^7.18.6"
- "@babel/plugin-proposal-class-static-block": "npm:^7.21.0"
- "@babel/plugin-proposal-dynamic-import": "npm:^7.18.6"
- "@babel/plugin-proposal-export-namespace-from": "npm:^7.18.9"
- "@babel/plugin-proposal-json-strings": "npm:^7.18.6"
- "@babel/plugin-proposal-logical-assignment-operators": "npm:^7.20.7"
- "@babel/plugin-proposal-nullish-coalescing-operator": "npm:^7.18.6"
- "@babel/plugin-proposal-numeric-separator": "npm:^7.18.6"
- "@babel/plugin-proposal-object-rest-spread": "npm:^7.20.7"
- "@babel/plugin-proposal-optional-catch-binding": "npm:^7.18.6"
- "@babel/plugin-proposal-optional-chaining": "npm:^7.21.0"
- "@babel/plugin-proposal-private-methods": "npm:^7.18.6"
- "@babel/plugin-proposal-private-property-in-object": "npm:^7.21.0"
- "@babel/plugin-proposal-unicode-property-regex": "npm:^7.18.6"
+ checksum: 2495e5f663cb388e3d888b4ba3df419ac436a5012144ac170b622ddfc221f9ea9bdba839fa2bc0185cb776b578030666406452ec7791cbf0e7a3d4c88ae9574c
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-unicode-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 6b5d1404c8c623b0ec9bd436c00d885a17d6a34f3f2597996343ddb9d94f6379705b21582dfd4cec2c47fd34068872e74ab6b9580116c0566b3f9447e2a7fa06
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.5"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: c042070f980b139547f8b0179efbc049ac5930abec7fc26ed7a41d89a048d8ab17d362200e204b6f71c3c20d6991a0e74415e1a412a49adc8131c2a40c04822e
+ languageName: node
+ linkType: hard
+
+"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.22.9, @babel/preset-env@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/preset-env@npm:7.23.2"
+ dependencies:
+ "@babel/compat-data": "npm:^7.23.2"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.22.15"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.22.15"
+ "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators": "npm:^7.8.4"
"@babel/plugin-syntax-class-properties": "npm:^7.12.13"
"@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
"@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
"@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
- "@babel/plugin-syntax-import-assertions": "npm:^7.20.0"
+ "@babel/plugin-syntax-import-assertions": "npm:^7.22.5"
+ "@babel/plugin-syntax-import-attributes": "npm:^7.22.5"
"@babel/plugin-syntax-import-meta": "npm:^7.10.4"
"@babel/plugin-syntax-json-strings": "npm:^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
@@ -1411,113 +1480,128 @@ __metadata:
"@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
"@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
"@babel/plugin-syntax-top-level-await": "npm:^7.14.5"
- "@babel/plugin-transform-arrow-functions": "npm:^7.21.5"
- "@babel/plugin-transform-async-to-generator": "npm:^7.20.7"
- "@babel/plugin-transform-block-scoped-functions": "npm:^7.18.6"
- "@babel/plugin-transform-block-scoping": "npm:^7.21.0"
- "@babel/plugin-transform-classes": "npm:^7.21.0"
- "@babel/plugin-transform-computed-properties": "npm:^7.21.5"
- "@babel/plugin-transform-destructuring": "npm:^7.21.3"
- "@babel/plugin-transform-dotall-regex": "npm:^7.18.6"
- "@babel/plugin-transform-duplicate-keys": "npm:^7.18.9"
- "@babel/plugin-transform-exponentiation-operator": "npm:^7.18.6"
- "@babel/plugin-transform-for-of": "npm:^7.21.5"
- "@babel/plugin-transform-function-name": "npm:^7.18.9"
- "@babel/plugin-transform-literals": "npm:^7.18.9"
- "@babel/plugin-transform-member-expression-literals": "npm:^7.18.6"
- "@babel/plugin-transform-modules-amd": "npm:^7.20.11"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.21.5"
- "@babel/plugin-transform-modules-systemjs": "npm:^7.20.11"
- "@babel/plugin-transform-modules-umd": "npm:^7.18.6"
- "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.20.5"
- "@babel/plugin-transform-new-target": "npm:^7.18.6"
- "@babel/plugin-transform-object-super": "npm:^7.18.6"
- "@babel/plugin-transform-parameters": "npm:^7.21.3"
- "@babel/plugin-transform-property-literals": "npm:^7.18.6"
- "@babel/plugin-transform-regenerator": "npm:^7.21.5"
- "@babel/plugin-transform-reserved-words": "npm:^7.18.6"
- "@babel/plugin-transform-shorthand-properties": "npm:^7.18.6"
- "@babel/plugin-transform-spread": "npm:^7.20.7"
- "@babel/plugin-transform-sticky-regex": "npm:^7.18.6"
- "@babel/plugin-transform-template-literals": "npm:^7.18.9"
- "@babel/plugin-transform-typeof-symbol": "npm:^7.18.9"
- "@babel/plugin-transform-unicode-escapes": "npm:^7.21.5"
- "@babel/plugin-transform-unicode-regex": "npm:^7.18.6"
- "@babel/preset-modules": "npm:^0.1.5"
- "@babel/types": "npm:^7.21.5"
- babel-plugin-polyfill-corejs2: "npm:^0.3.3"
- babel-plugin-polyfill-corejs3: "npm:^0.6.0"
- babel-plugin-polyfill-regenerator: "npm:^0.4.1"
- core-js-compat: "npm:^3.25.1"
- semver: "npm:^6.3.0"
+ "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
+ "@babel/plugin-transform-arrow-functions": "npm:^7.22.5"
+ "@babel/plugin-transform-async-generator-functions": "npm:^7.23.2"
+ "@babel/plugin-transform-async-to-generator": "npm:^7.22.5"
+ "@babel/plugin-transform-block-scoped-functions": "npm:^7.22.5"
+ "@babel/plugin-transform-block-scoping": "npm:^7.23.0"
+ "@babel/plugin-transform-class-properties": "npm:^7.22.5"
+ "@babel/plugin-transform-class-static-block": "npm:^7.22.11"
+ "@babel/plugin-transform-classes": "npm:^7.22.15"
+ "@babel/plugin-transform-computed-properties": "npm:^7.22.5"
+ "@babel/plugin-transform-destructuring": "npm:^7.23.0"
+ "@babel/plugin-transform-dotall-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-duplicate-keys": "npm:^7.22.5"
+ "@babel/plugin-transform-dynamic-import": "npm:^7.22.11"
+ "@babel/plugin-transform-exponentiation-operator": "npm:^7.22.5"
+ "@babel/plugin-transform-export-namespace-from": "npm:^7.22.11"
+ "@babel/plugin-transform-for-of": "npm:^7.22.15"
+ "@babel/plugin-transform-function-name": "npm:^7.22.5"
+ "@babel/plugin-transform-json-strings": "npm:^7.22.11"
+ "@babel/plugin-transform-literals": "npm:^7.22.5"
+ "@babel/plugin-transform-logical-assignment-operators": "npm:^7.22.11"
+ "@babel/plugin-transform-member-expression-literals": "npm:^7.22.5"
+ "@babel/plugin-transform-modules-amd": "npm:^7.23.0"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0"
+ "@babel/plugin-transform-modules-systemjs": "npm:^7.23.0"
+ "@babel/plugin-transform-modules-umd": "npm:^7.22.5"
+ "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-new-target": "npm:^7.22.5"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.22.11"
+ "@babel/plugin-transform-numeric-separator": "npm:^7.22.11"
+ "@babel/plugin-transform-object-rest-spread": "npm:^7.22.15"
+ "@babel/plugin-transform-object-super": "npm:^7.22.5"
+ "@babel/plugin-transform-optional-catch-binding": "npm:^7.22.11"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.23.0"
+ "@babel/plugin-transform-parameters": "npm:^7.22.15"
+ "@babel/plugin-transform-private-methods": "npm:^7.22.5"
+ "@babel/plugin-transform-private-property-in-object": "npm:^7.22.11"
+ "@babel/plugin-transform-property-literals": "npm:^7.22.5"
+ "@babel/plugin-transform-regenerator": "npm:^7.22.10"
+ "@babel/plugin-transform-reserved-words": "npm:^7.22.5"
+ "@babel/plugin-transform-shorthand-properties": "npm:^7.22.5"
+ "@babel/plugin-transform-spread": "npm:^7.22.5"
+ "@babel/plugin-transform-sticky-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-template-literals": "npm:^7.22.5"
+ "@babel/plugin-transform-typeof-symbol": "npm:^7.22.5"
+ "@babel/plugin-transform-unicode-escapes": "npm:^7.22.10"
+ "@babel/plugin-transform-unicode-property-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-unicode-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-unicode-sets-regex": "npm:^7.22.5"
+ "@babel/preset-modules": "npm:0.1.6-no-external-plugins"
+ "@babel/types": "npm:^7.23.0"
+ babel-plugin-polyfill-corejs2: "npm:^0.4.6"
+ babel-plugin-polyfill-corejs3: "npm:^0.8.5"
+ babel-plugin-polyfill-regenerator: "npm:^0.5.3"
+ core-js-compat: "npm:^3.31.0"
+ semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 8ecd96e5869b354fa24930054255d14a0bdc306515809b4dd758de01400d41bbf0323de19ce41cf6f54cbaa62a103343e999a0644ea16e368e99903780d0fb67
+ checksum: 7bc8aeed59047f99af2f608f3143044517582b6bd7b041e3c7a12eface47e0313a57e78fad2e0d450cda2ce6c58451d67493f3d3677c5c1031cf59b7db1161c3
languageName: node
linkType: hard
-"@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.18.6":
- version: 7.21.4
- resolution: "@babel/preset-flow@npm:7.21.4"
+"@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/preset-flow@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/helper-validator-option": "npm:^7.21.0"
- "@babel/plugin-transform-flow-strip-types": "npm:^7.21.0"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ "@babel/plugin-transform-flow-strip-types": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: a3a1ac91d0bc0ed033ae46556babe3dc571ea8788c531db550d6904bd303cf50ebb84fa417c1f059c3b69d62e0792d8eceda83d820a12c2e6b8008e5518ce7b8
+ checksum: 17f8b80b1012802f983227b423c8823990db9748aec4f8bfd56ff774d8d954e9bdea67377788abac526754b3d307215c063c9beadf5f1b4331b30d4ba0593286
languageName: node
linkType: hard
-"@babel/preset-modules@npm:^0.1.5":
- version: 0.1.5
- resolution: "@babel/preset-modules@npm:0.1.5"
+"@babel/preset-modules@npm:0.1.6-no-external-plugins":
+ version: 0.1.6-no-external-plugins
+ resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.0.0"
- "@babel/plugin-proposal-unicode-property-regex": "npm:^7.4.4"
- "@babel/plugin-transform-dotall-regex": "npm:^7.4.4"
"@babel/types": "npm:^7.4.4"
esutils: "npm:^2.0.2"
peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 41583c17748890ad4950ae90ae38bd3f9d56268adc6c3d755839000a72963bda0db448296e4e74069a63567ae5f71f42d4a6dd1672386124bf0897f77c411870
+ "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ checksum: 039aba98a697b920d6440c622aaa6104bb6076d65356b29dad4b3e6627ec0354da44f9621bafbeefd052cd4ac4d7f88c9a2ab094efcb50963cb352781d0c6428
languageName: node
linkType: hard
-"@babel/preset-react@npm:^7.0.0, @babel/preset-react@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/preset-react@npm:7.18.6"
+"@babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.22.15, @babel/preset-react@npm:^7.22.5":
+ version: 7.22.15
+ resolution: "@babel/preset-react@npm:7.22.15"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.18.6"
- "@babel/helper-validator-option": "npm:^7.18.6"
- "@babel/plugin-transform-react-display-name": "npm:^7.18.6"
- "@babel/plugin-transform-react-jsx": "npm:^7.18.6"
- "@babel/plugin-transform-react-jsx-development": "npm:^7.18.6"
- "@babel/plugin-transform-react-pure-annotations": "npm:^7.18.6"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ "@babel/plugin-transform-react-display-name": "npm:^7.22.5"
+ "@babel/plugin-transform-react-jsx": "npm:^7.22.15"
+ "@babel/plugin-transform-react-jsx-development": "npm:^7.22.5"
+ "@babel/plugin-transform-react-pure-annotations": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 318d501226eb92c099575b2fbc1b4785545502e1543f6e6601c09413e2f381299fdb41acb0034892f5812ca61b3f8fe95ce231f2c1805942b28893c2408dc20f
+ checksum: f9296e45346c3b6ab8296952edde5f1774cc9fdbdbefbc76047278fc3e889d3e15740f038ce017aca562d89f32fcbb6c11783d464fc6ae3066433178fa58513c
languageName: node
linkType: hard
-"@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.16.7, @babel/preset-typescript@npm:^7.18.6":
- version: 7.21.5
- resolution: "@babel/preset-typescript@npm:7.21.5"
+"@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/preset-typescript@npm:7.23.2"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.21.5"
- "@babel/helper-validator-option": "npm:^7.21.0"
- "@babel/plugin-syntax-jsx": "npm:^7.21.4"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.21.5"
- "@babel/plugin-transform-typescript": "npm:^7.21.3"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ "@babel/plugin-syntax-jsx": "npm:^7.22.5"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0"
+ "@babel/plugin-transform-typescript": "npm:^7.22.15"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 94df6bad70fcc632490959486378ee9939e4a8f71a05ef27e9c9116fa7832243c9d40f7b0257f5c62e4eea7a516f26cf52d5d8ed8c85d8aa304343faa8c51b4d
+ checksum: fab17c24f737928e6e399425463808b4c4d850ea2cbe751c98cc2da86314e48d2f910da0f10d72525dad72a68aced5bd74edacf76b0f06db25abab07bec64b32
languageName: node
linkType: hard
-"@babel/register@npm:^7.13.16, @babel/register@npm:^7.5.5":
- version: 7.21.0
- resolution: "@babel/register@npm:7.21.0"
+"@babel/register@npm:^7.13.16, @babel/register@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/register@npm:7.22.15"
dependencies:
clone-deep: "npm:^4.0.1"
find-cache-dir: "npm:^2.0.0"
@@ -1526,7 +1610,14 @@ __metadata:
source-map-support: "npm:^0.5.16"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 9745cc7520b4c5e64cc54f4851c3b78af82e1f8cffc9041f5cc0b9aef62d86a9a8617327fc975b5e0e39cb5cc0aba7ae02429884390ee93e0de29152fa849b4f
+ checksum: 5497be6773608cd2d874210edd14499fce464ddbea170219da55955afe4c9173adb591164193458fd639e43b7d1314088a6186f4abf241476c59b3f0da6afd6f
+ languageName: node
+ linkType: hard
+
+"@babel/regjsgen@npm:^0.8.0":
+ version: 0.8.0
+ resolution: "@babel/regjsgen@npm:0.8.0"
+ checksum: c57fb730b17332b7572574b74364a77d70faa302a281a62819476fa3b09822974fd75af77aea603ad77378395be64e81f89f0e800bf86cbbf21652d49ce12ee8
languageName: node
linkType: hard
@@ -1540,61 +1631,61 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:7.18.9":
- version: 7.18.9
- resolution: "@babel/runtime@npm:7.18.9"
+"@babel/runtime@npm:7.23.2":
+ version: 7.23.2
+ resolution: "@babel/runtime@npm:7.23.2"
dependencies:
- regenerator-runtime: "npm:^0.13.4"
- checksum: 254985e146f369605456fa4ac5b25308567dffecb49b9d562e22a7e48856949b5f250243f35abb993328ff81bf429112d23b632d04c26feeb71355ca22cdff3c
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: abdcbdd590c7e31762e1bdab94dd466823c8bcedd3ff2fde85eeb94dac7cccaef151ac37c428bda7018ededd27c9a82b4dfeb621f978ad934232475a902f8e3a
languageName: node
linkType: hard
-"@babel/runtime@patch:@babel/runtime@npm%3A7.18.9#./.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch::locator=metamask-crx%40workspace%3A.":
- version: 7.18.9
- resolution: "@babel/runtime@patch:@babel/runtime@npm%3A7.18.9#./.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch::version=7.18.9&hash=372198&locator=metamask-crx%40workspace%3A."
+"@babel/runtime@patch:@babel/runtime@npm%3A7.23.2#~/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch":
+ version: 7.23.2
+ resolution: "@babel/runtime@patch:@babel/runtime@npm%3A7.23.2#~/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch::version=7.23.2&hash=7df10d"
dependencies:
- regenerator-runtime: "npm:^0.13.4"
- checksum: 50810d5e45a2997635eb3b55076c18038e2ef30f8a4c7fb429581d836c10b6c7d18f68575f6ef177754242c0a238b0c7d34c5025260093949e2fe712105d95e0
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: d2857d202706e6fca31e37fb3136466c5e4f75dc9e0e7e6d2e0bf4d59908cdf6034d56b2ad02eed7048965b3d56e6a7f420f393b56d1cdc5e5ea624f7f5c596a
languageName: node
linkType: hard
-"@babel/template@npm:^7.18.6, @babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3":
- version: 7.20.7
- resolution: "@babel/template@npm:7.20.7"
+"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3":
+ version: 7.22.15
+ resolution: "@babel/template@npm:7.22.15"
dependencies:
- "@babel/code-frame": "npm:^7.18.6"
- "@babel/parser": "npm:^7.20.7"
- "@babel/types": "npm:^7.20.7"
- checksum: b6108cad36ff7ae797bcba5bea1808e1390b700925ef21ff184dd50fe1d30db4cdf4815e6e76f3e0abd7de4c0b820ec660227f3c6b90b5b0a592cf606ceb3864
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/parser": "npm:^7.22.15"
+ "@babel/types": "npm:^7.22.15"
+ checksum: 21e768e4eed4d1da2ce5d30aa51db0f4d6d8700bc1821fec6292587df7bba2fe1a96451230de8c64b989740731888ebf1141138bfffb14cacccf4d05c66ad93f
languageName: node
linkType: hard
-"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.12.5, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.7.2, @babel/traverse@npm:~7.21.2":
- version: 7.21.5
- resolution: "@babel/traverse@npm:7.21.5"
+"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.12.5, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.7.2":
+ version: 7.23.2
+ resolution: "@babel/traverse@npm:7.23.2"
dependencies:
- "@babel/code-frame": "npm:^7.21.4"
- "@babel/generator": "npm:^7.21.5"
- "@babel/helper-environment-visitor": "npm:^7.21.5"
- "@babel/helper-function-name": "npm:^7.21.0"
- "@babel/helper-hoist-variables": "npm:^7.18.6"
- "@babel/helper-split-export-declaration": "npm:^7.18.6"
- "@babel/parser": "npm:^7.21.5"
- "@babel/types": "npm:^7.21.5"
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/types": "npm:^7.23.0"
debug: "npm:^4.1.0"
globals: "npm:^11.1.0"
- checksum: 467aaaa306092d9c5851232784ca0691d9ba56ff51f3ef89674fc69e085351c78821942ef089930c0a984b8778152aa2987a621ae206f3816314de1297062c10
+ checksum: e4fcb8f8395804956df4ae1301230a14b6eb35b74a7058a0e0b40f6f4be7281e619e6dafe400e833d4512da5d61cf17ea177d04b00a8f7cf3d8d69aff83ca3d8
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.13.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.7, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3, @babel/types@npm:~7.21.2":
- version: 7.21.5
- resolution: "@babel/types@npm:7.21.5"
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.13.0, @babel/types@npm:^7.18.7, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
+ version: 7.23.0
+ resolution: "@babel/types@npm:7.23.0"
dependencies:
- "@babel/helper-string-parser": "npm:^7.21.5"
- "@babel/helper-validator-identifier": "npm:^7.19.1"
+ "@babel/helper-string-parser": "npm:^7.22.5"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
to-fast-properties: "npm:^2.0.0"
- checksum: 3411d24b1fcb2d7e8e7ee35cc8829ac34b59873506c33644abac63e4710aaf684d9af3dfee8c64e668693f3f9fb1db100ae1ebfff9c4077f287da382d2f2f9af
+ checksum: ca5b896a26c91c5672254725c4c892a35567d2122afc47bd5331d1611a7f9230c19fc9ef591a5a6f80bf0d80737e104a9ac205c96447c74bee01d4319db58001
languageName: node
linkType: hard
@@ -1938,156 +2029,156 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/android-arm64@npm:0.17.19"
+"@esbuild/android-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-arm64@npm:0.18.20"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@esbuild/android-arm@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/android-arm@npm:0.17.19"
+"@esbuild/android-arm@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-arm@npm:0.18.20"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
-"@esbuild/android-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/android-x64@npm:0.17.19"
+"@esbuild/android-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-x64@npm:0.18.20"
conditions: os=android & cpu=x64
languageName: node
linkType: hard
-"@esbuild/darwin-arm64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/darwin-arm64@npm:0.17.19"
+"@esbuild/darwin-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/darwin-arm64@npm:0.18.20"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@esbuild/darwin-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/darwin-x64@npm:0.17.19"
+"@esbuild/darwin-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/darwin-x64@npm:0.18.20"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@esbuild/freebsd-arm64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/freebsd-arm64@npm:0.17.19"
+"@esbuild/freebsd-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/freebsd-arm64@npm:0.18.20"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
-"@esbuild/freebsd-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/freebsd-x64@npm:0.17.19"
+"@esbuild/freebsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/freebsd-x64@npm:0.18.20"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
-"@esbuild/linux-arm64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-arm64@npm:0.17.19"
+"@esbuild/linux-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-arm64@npm:0.18.20"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
-"@esbuild/linux-arm@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-arm@npm:0.17.19"
+"@esbuild/linux-arm@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-arm@npm:0.18.20"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@esbuild/linux-ia32@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-ia32@npm:0.17.19"
+"@esbuild/linux-ia32@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-ia32@npm:0.18.20"
conditions: os=linux & cpu=ia32
languageName: node
linkType: hard
-"@esbuild/linux-loong64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-loong64@npm:0.17.19"
+"@esbuild/linux-loong64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-loong64@npm:0.18.20"
conditions: os=linux & cpu=loong64
languageName: node
linkType: hard
-"@esbuild/linux-mips64el@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-mips64el@npm:0.17.19"
+"@esbuild/linux-mips64el@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-mips64el@npm:0.18.20"
conditions: os=linux & cpu=mips64el
languageName: node
linkType: hard
-"@esbuild/linux-ppc64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-ppc64@npm:0.17.19"
+"@esbuild/linux-ppc64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-ppc64@npm:0.18.20"
conditions: os=linux & cpu=ppc64
languageName: node
linkType: hard
-"@esbuild/linux-riscv64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-riscv64@npm:0.17.19"
+"@esbuild/linux-riscv64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-riscv64@npm:0.18.20"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
-"@esbuild/linux-s390x@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-s390x@npm:0.17.19"
+"@esbuild/linux-s390x@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-s390x@npm:0.18.20"
conditions: os=linux & cpu=s390x
languageName: node
linkType: hard
-"@esbuild/linux-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/linux-x64@npm:0.17.19"
+"@esbuild/linux-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-x64@npm:0.18.20"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
-"@esbuild/netbsd-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/netbsd-x64@npm:0.17.19"
+"@esbuild/netbsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/netbsd-x64@npm:0.18.20"
conditions: os=netbsd & cpu=x64
languageName: node
linkType: hard
-"@esbuild/openbsd-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/openbsd-x64@npm:0.17.19"
+"@esbuild/openbsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/openbsd-x64@npm:0.18.20"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard
-"@esbuild/sunos-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/sunos-x64@npm:0.17.19"
+"@esbuild/sunos-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/sunos-x64@npm:0.18.20"
conditions: os=sunos & cpu=x64
languageName: node
linkType: hard
-"@esbuild/win32-arm64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/win32-arm64@npm:0.17.19"
+"@esbuild/win32-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-arm64@npm:0.18.20"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@esbuild/win32-ia32@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/win32-ia32@npm:0.17.19"
+"@esbuild/win32-ia32@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-ia32@npm:0.18.20"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@esbuild/win32-x64@npm:0.17.19":
- version: 0.17.19
- resolution: "@esbuild/win32-x64@npm:0.17.19"
+"@esbuild/win32-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-x64@npm:0.18.20"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -2631,19 +2722,41 @@ __metadata:
languageName: node
linkType: hard
-"@floating-ui/core@npm:^1.2.6":
- version: 1.2.6
- resolution: "@floating-ui/core@npm:1.2.6"
- checksum: d302d1641a2d107f953a0ebaebd513957881df7d9c2ae4d225bc802a0a950c3581b62c18bc66e06322618abcc3b1f33b1067c40f258e3a100ac122b0a653323a
+"@floating-ui/core@npm:^1.4.2":
+ version: 1.5.0
+ resolution: "@floating-ui/core@npm:1.5.0"
+ dependencies:
+ "@floating-ui/utils": "npm:^0.1.3"
+ checksum: 3182715a30493f44a32158f4d77ab5b6c212064b160cb84b5b8405ec2845bd8a9167c25292709e841cad9e70c6b9efdc30f876044e3b0909139fea8eca00c631
languageName: node
linkType: hard
-"@floating-ui/dom@npm:^1.0.1":
- version: 1.2.8
- resolution: "@floating-ui/dom@npm:1.2.8"
+"@floating-ui/dom@npm:^1.0.1, @floating-ui/dom@npm:^1.5.1":
+ version: 1.5.3
+ resolution: "@floating-ui/dom@npm:1.5.3"
dependencies:
- "@floating-ui/core": "npm:^1.2.6"
- checksum: 92c46b07e6a4767746c0c3847de0de4e5b2a460cfd0e760f9aaa10879737241c67dc13be67f76d7564c5c33ef7650cd638943b6d19e8e404481efb54cc394dd6
+ "@floating-ui/core": "npm:^1.4.2"
+ "@floating-ui/utils": "npm:^0.1.3"
+ checksum: d2d5ae7a0949c0ebf7fbf97a21612bf94dbd29cb6c847e00588b8e2a5575ade27c47cb19f5d230fc21a571d99aa0c714b301c9221d33921047408c0ed9d91a30
+ languageName: node
+ linkType: hard
+
+"@floating-ui/react-dom@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "@floating-ui/react-dom@npm:2.0.2"
+ dependencies:
+ "@floating-ui/dom": "npm:^1.5.1"
+ peerDependencies:
+ react: ">=16.8.0"
+ react-dom: ">=16.8.0"
+ checksum: 63a26f3c36f00a2bdede202cb7a3be74b3c6599463c0a069745f6aed3181a33ce72936158209f6fd1c284d85fd494aa656e6cbc4266c096f3189ce1c13f83dfe
+ languageName: node
+ linkType: hard
+
+"@floating-ui/utils@npm:^0.1.3":
+ version: 0.1.6
+ resolution: "@floating-ui/utils@npm:0.1.6"
+ checksum: 450ec4ecc1dd8161b1904d4e1e9d95e653cc06f79af6c3b538b79efb10541d90bcc88646ab3cdffc5b92e00c4804ca727b025d153ad285f42dbbb39aec219ec9
languageName: node
linkType: hard
@@ -4970,6 +5083,15 @@ __metadata:
languageName: node
linkType: hard
+"@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1":
+ version: 5.1.1-v1
+ resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1"
+ dependencies:
+ eslint-scope: "npm:5.1.1"
+ checksum: f2e3b2d6a6e2d9f163ca22105910c9f850dc4897af0aea3ef0a5886b63d8e1ba6505b71c99cb78a3bba24a09557d601eb21c8dede3f3213753fcfef364eb0e57
+ languageName: node
+ linkType: hard
+
"@noble/curves@npm:1.1.0, @noble/curves@npm:~1.1.0":
version: 1.1.0
resolution: "@noble/curves@npm:1.1.0"
@@ -5405,6 +5527,574 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/number@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/number@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ checksum: 621ea8b7d4195d1a65a9c0aee918e8335e7f198088eec91577512c89c2ba3a3bab4a767cfb872a2b9c3092a78ff41cad9a924845a939f6bb87fe9356241ea0ea
+ languageName: node
+ linkType: hard
+
+"@radix-ui/primitive@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/primitive@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ checksum: 2b93e161d3fdabe9a64919def7fa3ceaecf2848341e9211520c401181c9eaebb8451c630b066fad2256e5c639c95edc41de0ba59c40eff37e799918d019822d1
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-arrow@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-arrow@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 8cca086f0dbb33360e3c0142adf72f99fc96352d7086d6c2356dbb2ea5944cfb720a87d526fc48087741c602cd8162ca02b0af5e6fdf5f56d20fddb44db8b4c3
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-collection@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-collection@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-slot": "npm:1.0.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 2ac740ab746f411942dc95100f1eb60b9a3670960a805e266533fa1bc7dec31a6dabddd746ab788ebd5a9c22b468e38922f39d30447925515f8e44f0a3b2e56c
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-compose-refs@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-compose-refs@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 2b9a613b6db5bff8865588b6bf4065f73021b3d16c0a90b2d4c23deceeb63612f1f15de188227ebdc5f88222cab031be617a9dd025874c0487b303be3e5cc2a8
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-context@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-context@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: a02187a3bae3a0f1be5fab5ad19c1ef06ceff1028d957e4d9994f0186f594a9c3d93ee34bacb86d1fa8eb274493362944398e1c17054d12cb3b75384f9ae564b
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-direction@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-direction@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 5336a8b0d4f1cde585d5c2b4448af7b3d948bb63a1aadb37c77771b0e5902dc6266e409cf35fd0edaca7f33e26424be19e64fb8f9d7f7be2d6f1714ea2764210
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-dismissable-layer@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@radix-ui/react-dismissable-layer@npm:1.0.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ "@radix-ui/react-use-escape-keydown": "npm:1.0.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: bcc14f0704fdc19430a2b922106a278e64401decffd6e47f427aa5de2d63367ba3e848b012c464a6b39a6e057060e41ad16964385941735a329e319cea46711a
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-focus-guards@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-focus-guards@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 1f8ca8f83b884b3612788d0742f3f054e327856d90a39841a47897dbed95e114ee512362ae314177de226d05310047cabbf66b686ae86ad1b65b6b295be24ef7
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-focus-scope@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-focus-scope@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: d62631cc06a2f37d483d106f3732ffc00831498fc2306df51c675d7cdb9727169512a1ca43ce06d1bfd578e8d8d67a80858c7531579bacaf6079d3aaf0ca8663
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-id@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-id@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-use-layout-effect": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 446a453d799cc790dd2a1583ff8328da88271bff64530b5a17c102fa7fb35eece3cf8985359d416f65e330cd81aa7b8fe984ea125fc4f4eaf4b3801d698e49fe
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-popper@npm:1.1.2":
+ version: 1.1.2
+ resolution: "@radix-ui/react-popper@npm:1.1.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@floating-ui/react-dom": "npm:^2.0.0"
+ "@radix-ui/react-arrow": "npm:1.0.3"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ "@radix-ui/react-use-layout-effect": "npm:1.0.1"
+ "@radix-ui/react-use-rect": "npm:1.0.1"
+ "@radix-ui/react-use-size": "npm:1.0.1"
+ "@radix-ui/rect": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: be32677e846ef93e8cbf219550e55b99583cb927b572a9ee466b0c242156d42ddc70f43135e22acffe48bba4cd3fe28888cc3f929947e078d8732bee958df4c4
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-portal@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-portal@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: d352bcd6ad65eb43c9e0d72d0755c2aae85e03fb287770866262be3a2d5302b2885aee3cd99f2bbf62ecd14fcb1460703f1dcdc40351f77ad887b931c6f0012a
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-primitive@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-primitive@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-slot": "npm:1.0.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: bedb934ac07c710dc5550a7bfc7065d47e099d958cde1d37e4b1947ae5451f1b7e6f8ff5965e242578bf2c619065e6038c3a3aa779e5eafa7da3e3dbc685799f
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-roving-focus@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@radix-ui/react-roving-focus@npm:1.0.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-collection": "npm:1.0.3"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-direction": "npm:1.0.1"
+ "@radix-ui/react-id": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ "@radix-ui/react-use-controllable-state": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: a23ffb1e3e29a8209b94ce3857bf559dcf2175c4f316169dc47d018e8e94cd018dc914331a1d1762f32448e2594b7c8945efaa7059056f9940ce92cc35cc7026
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-select@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "@radix-ui/react-select@npm:1.2.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/number": "npm:1.0.1"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-collection": "npm:1.0.3"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-direction": "npm:1.0.1"
+ "@radix-ui/react-dismissable-layer": "npm:1.0.4"
+ "@radix-ui/react-focus-guards": "npm:1.0.1"
+ "@radix-ui/react-focus-scope": "npm:1.0.3"
+ "@radix-ui/react-id": "npm:1.0.1"
+ "@radix-ui/react-popper": "npm:1.1.2"
+ "@radix-ui/react-portal": "npm:1.0.3"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-slot": "npm:1.0.2"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ "@radix-ui/react-use-controllable-state": "npm:1.0.1"
+ "@radix-ui/react-use-layout-effect": "npm:1.0.1"
+ "@radix-ui/react-use-previous": "npm:1.0.1"
+ "@radix-ui/react-visually-hidden": "npm:1.0.3"
+ aria-hidden: "npm:^1.1.1"
+ react-remove-scroll: "npm:2.5.5"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 4d7b6d9d988f78764783a4b2fd6523457ff735436829e122dae824bdea4f2835ad0150dfc060517d6c29d953ef61ee12d7ce10cf160593e56967e528bf6f8ee5
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-separator@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-separator@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: b5ea8f1996c86d3f9df73c72926f3d1a400a2eb46a482a345d486651c503895af2ccf9d7723f97a4e612f7c1317eb622078ddf014b13e2b26070d8cf0ad0da1d
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-slot@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@radix-ui/react-slot@npm:1.0.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 734866561e991438fbcf22af06e56b272ed6ee8f7b536489ee3bf2f736f8b53bf6bc14ebde94834aa0aceda854d018a0ce20bb171defffbaed1f566006cbb887
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-toggle-group@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@radix-ui/react-toggle-group@npm:1.0.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-direction": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-roving-focus": "npm:1.0.4"
+ "@radix-ui/react-toggle": "npm:1.0.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 96ea35f0e959399f239ff3b75dcad72d5880c66966114c80293ab1450801c87353c0cb2a7a4a5e9825f43c9bd3d881f312a9c14bdacfa70f4050d406bec98c2b
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-toggle@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-toggle@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: ed5407f48254f20cda542017774f259d0b2c0007ea4bd7287d10d751016dbf269cb13d1142591432c269c3ab768cde2f1ba0344743027d36bbec10af909f19de
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-toolbar@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "@radix-ui/react-toolbar@npm:1.0.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-context": "npm:1.0.1"
+ "@radix-ui/react-direction": "npm:1.0.1"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ "@radix-ui/react-roving-focus": "npm:1.0.4"
+ "@radix-ui/react-separator": "npm:1.0.3"
+ "@radix-ui/react-toggle-group": "npm:1.0.4"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 57f75b6617d4e2bb8f7782d6065e70fd0db44038588b3e8e5f8cd1101dc2c94744bd52b9c011c7b722cb5f9ca96d21fc78ee7caac07722894453019fd5ade3b0
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-callback-ref@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: b9fd39911c3644bbda14a84e4fca080682bef84212b8d8931fcaa2d2814465de242c4cfd8d7afb3020646bead9c5e539d478cea0a7031bee8a8a3bb164f3bc4c
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-controllable-state@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: dee2be1937d293c3a492cb6d279fc11495a8f19dc595cdbfe24b434e917302f9ac91db24e8cc5af9a065f3f209c3423115b5442e65a5be9fd1e9091338972be9
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-escape-keydown@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-use-callback-ref": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: c6ed0d9ce780f67f924980eb305af1f6cce2a8acbaf043a58abe0aa3cc551d9aa76ccee14531df89bbee302ead7ecc7fce330886f82d4672c5eda52f357ef9b8
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-layout-effect@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: bed9c7e8de243a5ec3b93bb6a5860950b0dba359b6680c84d57c7a655e123dec9b5891c5dfe81ab970652e7779fe2ad102a23177c7896dde95f7340817d47ae5
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-previous@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-previous@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 66b4312e857c58b75f3bf62a2048ef090b79a159e9da06c19a468c93e62336969c33dbef60ff16969f00b20386cc25d138f6a353f1658b35baac0a6eff4761b9
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-rect@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-rect@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/rect": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 433f07e61e04eb222349825bb05f3591fca131313a1d03709565d6226d8660bd1d0423635553f95ee4fcc25c8f2050972d848808d753c388e2a9ae191ebf17f3
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-use-size@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-use-size@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-use-layout-effect": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 6cc150ad1e9fa85019c225c5a5d50a0af6cdc4653dad0c21b4b40cd2121f36ee076db326c43e6bc91a69766ccff5a84e917d27970176b592577deea3c85a3e26
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-visually-hidden@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@radix-ui/react-visually-hidden@npm:1.0.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-primitive": "npm:1.0.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 2e9d0c8253f97e7d6ffb2e52a5cfd40ba719f813b39c3e2e42c496d54408abd09ef66b5aec4af9b8ab0553215e32452a5d0934597a49c51dd90dc39181ed0d57
+ languageName: node
+ linkType: hard
+
+"@radix-ui/rect@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/rect@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ checksum: e25492cb8a683246161d781f0f3205f79507280a60f50eb763f06e8b6fa211b940b784aa581131ed76695bd5df5d1033a6246b43a6996cf8959a326fe4d3eb00
+ languageName: node
+ linkType: hard
+
"@reduxjs/toolkit@npm:1.6.2":
version: 1.6.2
resolution: "@reduxjs/toolkit@npm:1.6.2"
@@ -5705,20 +6395,20 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/addon-a11y@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/addon-a11y@npm:7.0.12"
+"@storybook/addon-a11y@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-a11y@npm:7.4.6"
dependencies:
- "@storybook/addon-highlight": "npm:7.0.12"
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/addon-highlight": "npm:7.4.6"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
axe-core: "npm:^4.2.0"
lodash: "npm:^4.17.21"
react-resize-detector: "npm:^7.1.2"
@@ -5730,28 +6420,28 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: b8eeca5bc3b22e35462d52b44e3d56e9b099f9b18bc2cb19909cc9031c1edd326af45a801c71b30535366f265d465d136843ccb1fc4454f54c19b3bb6c124ef6
+ checksum: 60f933aa6edfa57b756b1224307258ed12fe8d687355084f5240fc43fbed0a8be96ff737613e2058e37be7dc531e95292b94c50c93b32d5bbf00454ea33f9eb2
languageName: node
linkType: hard
-"@storybook/addon-actions@npm:7.0.12, @storybook/addon-actions@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/addon-actions@npm:7.0.12"
+"@storybook/addon-actions@npm:7.4.6, @storybook/addon-actions@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-actions@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
dequal: "npm:^2.0.2"
lodash: "npm:^4.17.21"
polished: "npm:^4.2.2"
prop-types: "npm:^15.7.2"
react-inspector: "npm:^6.0.0"
- telejson: "npm:^7.0.3"
+ telejson: "npm:^7.2.0"
ts-dedent: "npm:^2.0.0"
uuid: "npm:^9.0.0"
peerDependencies:
@@ -5762,22 +6452,22 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: d650b3b8c59d501bdaaf7c593ac38b370b2160adf3ea5f16c09703c1aeaeee133fa628276eb5cb9fc76e73b66a824c0108bc640473ac12ace678bf9d3bad8723
+ checksum: 1f117d4035d6f9598f06eebe035d931274f58903349de150b7dafe348486ad4f4fff1f8248b99ed0f1763a128ad1678490ef64ed02f2b30677a0ae0ff27febd1
languageName: node
linkType: hard
-"@storybook/addon-backgrounds@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-backgrounds@npm:7.0.12"
+"@storybook/addon-backgrounds@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-backgrounds@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
memoizerific: "npm:^1.11.3"
ts-dedent: "npm:^2.0.0"
peerDependencies:
@@ -5788,23 +6478,24 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: 5b82a5fc06f7caf3d038d4a3cc159efb8915961f54d3c2ae90446ed9e5d80d225c46e0ae9988cdc6b3a8e77beae1cb8ed18ec447ec14b7cce858905df0c30051
+ checksum: ae0e0c00c4d1bd00981a561dd1d9f96b3910ce801098ea3b98b3ce797aae97369ff368bfd635e857f2130275e18ac4305f00aeeb773a7dfb5f13051ca3a9c4fe
languageName: node
linkType: hard
-"@storybook/addon-controls@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-controls@npm:7.0.12"
- dependencies:
- "@storybook/blocks": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+"@storybook/addon-controls@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-controls@npm:7.4.6"
+ dependencies:
+ "@storybook/blocks": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
lodash: "npm:^4.17.21"
ts-dedent: "npm:^2.0.0"
peerDependencies:
@@ -5815,31 +6506,29 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: ebb6855808e346057531aeabd4fdfe136fa4b29ec0742565e14933c315f3a9a4f799f7e06087818108d2019c2e1e8cf46cbf4f0b25fbf8deed8653aee682bdc7
+ checksum: 51b4f2a5323fd1ebe11739e703deee1e1b7293721da7bd405e50706bf761eaf6372b169bf9bfeab868c804c493f9f05a1ce7609b675938180f27b8b119c1b77d
languageName: node
linkType: hard
-"@storybook/addon-docs@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-docs@npm:7.0.12"
+"@storybook/addon-docs@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-docs@npm:7.4.6"
dependencies:
- "@babel/core": "npm:^7.20.2"
- "@babel/plugin-transform-react-jsx": "npm:^7.19.0"
"@jest/transform": "npm:^29.3.1"
"@mdx-js/react": "npm:^2.1.5"
- "@storybook/blocks": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/csf-plugin": "npm:7.0.12"
- "@storybook/csf-tools": "npm:7.0.12"
+ "@storybook/blocks": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/csf-plugin": "npm:7.4.6"
+ "@storybook/csf-tools": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
"@storybook/mdx2-csf": "npm:^1.0.0"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/postinstall": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/react-dom-shim": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/postinstall": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/react-dom-shim": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
fs-extra: "npm:^11.1.0"
remark-external-links: "npm:^8.0.0"
remark-slug: "npm:^6.0.0"
@@ -5847,43 +6536,43 @@ __metadata:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: 634b435a25c324522984ad0890d388ffd28a53855cd5628014cbee3bd47af35bb3a7f7f2c2b5df3fdfc4391ba3b8bb028de95dfd8d49de6bff94ec7763947d54
- languageName: node
- linkType: hard
-
-"@storybook/addon-essentials@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/addon-essentials@npm:7.0.12"
- dependencies:
- "@storybook/addon-actions": "npm:7.0.12"
- "@storybook/addon-backgrounds": "npm:7.0.12"
- "@storybook/addon-controls": "npm:7.0.12"
- "@storybook/addon-docs": "npm:7.0.12"
- "@storybook/addon-highlight": "npm:7.0.12"
- "@storybook/addon-measure": "npm:7.0.12"
- "@storybook/addon-outline": "npm:7.0.12"
- "@storybook/addon-toolbars": "npm:7.0.12"
- "@storybook/addon-viewport": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
+ checksum: 44d726c6389d5423523eb9a648e2ab8522e28009a380fce57512ec0d18bb94788cf1b98b68a466365e686544faea09d275fff58e52d484320d387916f038a57a
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-essentials@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-essentials@npm:7.4.6"
+ dependencies:
+ "@storybook/addon-actions": "npm:7.4.6"
+ "@storybook/addon-backgrounds": "npm:7.4.6"
+ "@storybook/addon-controls": "npm:7.4.6"
+ "@storybook/addon-docs": "npm:7.4.6"
+ "@storybook/addon-highlight": "npm:7.4.6"
+ "@storybook/addon-measure": "npm:7.4.6"
+ "@storybook/addon-outline": "npm:7.4.6"
+ "@storybook/addon-toolbars": "npm:7.4.6"
+ "@storybook/addon-viewport": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
ts-dedent: "npm:^2.0.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: e8580e63699f830bf9c4b85a0e43becbfb4c69991ca0dc20f1e1b7b3bb24cd21d9a0e7e227474d5ee66851e77b77c8aa08461cd233fb4bd0b8694b777efcb073
+ checksum: 163657bf4a5f8079f55ca245c997b06565f9aa4a343918f8677f08cbab87a9a7807df6c146730d8ca29a6349652223130a81dbc6c56c951c27693de6113d0438
languageName: node
linkType: hard
-"@storybook/addon-highlight@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-highlight@npm:7.0.12"
+"@storybook/addon-highlight@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-highlight@npm:7.4.6"
dependencies:
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/preview-api": "npm:7.0.12"
- checksum: 9c68e0bce1b9df2b86e73ee1400abbe9c39ed249c1f561180dae0b4f1a484a6e0d3b1631f2a6d4e123a2e21e1a5d648d8971adb374d40437936e7f97ba94864a
+ "@storybook/preview-api": "npm:7.4.6"
+ checksum: 95d6a9d7e465c133682bac3dd541f4dfd007cedf604e44c8a536c1559a4e1a57f99940678e6f7aa766cb2fa3d65172454606bfc8f91f49cf0e7a383924889f86
languageName: node
linkType: hard
@@ -5919,28 +6608,29 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/addon-mdx-gfm@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/addon-mdx-gfm@npm:7.0.12"
+"@storybook/addon-mdx-gfm@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-mdx-gfm@npm:7.4.6"
dependencies:
- "@storybook/node-logger": "npm:7.0.12"
+ "@storybook/node-logger": "npm:7.4.6"
remark-gfm: "npm:^3.0.1"
ts-dedent: "npm:^2.0.0"
- checksum: b467f7a3e505fca93e0e93e5d64f815c213faed2740bf334aa82fcaddd8bd5f1d0f3cb6c70608aea891cabeb643867d2d65cc5fc858cb7e16c07584e70062bcc
+ checksum: 08f5e104b3fb6ad9a8cdda6c37ea0ace86b782470b46d31bb410419a9bd8d10be3b3bdd777b2da416ff86dd776c9ee1df3ba5892d4d50c0dca708bf6f2e6433b
languageName: node
linkType: hard
-"@storybook/addon-measure@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-measure@npm:7.0.12"
+"@storybook/addon-measure@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-measure@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
+ tiny-invariant: "npm:^1.3.1"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5949,21 +6639,21 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: d3e7d001d0e8be7adb9c5b21298e7b549f551c0add6061ddcbddd210adeecf8053e67d7759792c15e4fa0413f5a22c76d19a73aeaadaf3dabe6e0be82f892728
+ checksum: 023fbba8b4a710f18ac93c18cd4ca8d6c4f43113add9f405195cbcc40d420a3a205d6bcfa50d989247532119a466637618032403e318a8616b11dc7787cb7a57
languageName: node
linkType: hard
-"@storybook/addon-outline@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-outline@npm:7.0.12"
+"@storybook/addon-outline@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-outline@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
ts-dedent: "npm:^2.0.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5973,19 +6663,19 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: f04e694e0c4ce3c0a8230fb55e1498519645be1c1889dcaf70b7d310f439bf7d61852f4b211687efcbeb1aeb1601f4f28dafade35cfa4a9490b47c38a651551d
+ checksum: 8b8d6dcc3b3d7bd560d3a16d0dd0163282df86c3432e4aaa97e4684a02615ea58e1f1776d255695431851f797abb1b5364b389203e57e4493155d733a9fc4516
languageName: node
linkType: hard
-"@storybook/addon-toolbars@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-toolbars@npm:7.0.12"
+"@storybook/addon-toolbars@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-toolbars@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5994,21 +6684,21 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: f98937b4dedb72a47ee35d3d35abfd7e9759bd0bffc42cc3fdb5184af9168344ede91ad9585f04c02aceebe59b41f3301bb588b33ee75eab838b0fdda601f9a2
+ checksum: 0fe933b901812c8c93efe215d654dea803f0dcb5a56bfbd8a1d41159011bbafb47e3447235c70e40ce38a32b853754df313baf3dff794997c9f041d435c9cbc8
languageName: node
linkType: hard
-"@storybook/addon-viewport@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/addon-viewport@npm:7.0.12"
+"@storybook/addon-viewport@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addon-viewport@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
memoizerific: "npm:^1.11.3"
prop-types: "npm:^15.7.2"
peerDependencies:
@@ -6019,30 +6709,30 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: cf667cde8379c989096d635a1f4dd267e154b375bfdf8431dcafc040845321739f0b74439085cf426ae9da4f9f14142891421533f956204304e0e66e01687f37
+ checksum: fe31b56240dd3a809dc5e4fd7b37a0240dba98fa745388c1bd03efee5ba169043a82ab1ca2024b81fd9170ea3ba30556c8165e2752d4e36f6d703b2b4917c9d7
languageName: node
linkType: hard
-"@storybook/addons@npm:7.0.12, @storybook/addons@npm:^7.0.0, @storybook/addons@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/addons@npm:7.0.12"
+"@storybook/addons@npm:7.4.6, @storybook/addons@npm:^7.0.0, @storybook/addons@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/addons@npm:7.4.6"
dependencies:
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: f830c4052b6b7998d18406a9c38487f7b840e509c5a1516862fbb3344450c6065017ad2c10aae174c3f8c55fb3e99e7d445053c665051275490bfb43757d11a7
+ checksum: 97bf45cf81b78102a55b5b2da3d37525d6ba58a2fc2fe4140fdcd9307c3296912b13f91fc64a22dcefea677be5c910f7e0d9f89473d586586580148e4f7ad181
languageName: node
linkType: hard
-"@storybook/api@npm:7.0.12, @storybook/api@npm:^7.0.0, @storybook/api@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/api@npm:7.0.12"
+"@storybook/api@npm:^7.0.0, @storybook/api@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/api@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/manager-api": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/manager-api": "npm:7.4.6"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -6051,25 +6741,25 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: e466f0297721f102551f389f0beb4ca1fab9369ed74958635fb752fd6b0abff18a950f510d1576c07ebd2d2c155ec7a1fdc4da49a5f09991a69da32999509278
+ checksum: 4e2121623146b8699be8eaf9f703c9c699f47a5c76abea9143a7ea5b8678a3cf11a4b277d72d953aa36a4ec9630ccb45c39909b7812b5331f7769b8a438f1972
languageName: node
linkType: hard
-"@storybook/blocks@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/blocks@npm:7.0.12"
+"@storybook/blocks@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/blocks@npm:7.4.6"
dependencies:
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/csf": "npm:^0.1.0"
- "@storybook/docs-tools": "npm:7.0.12"
+ "@storybook/docs-tools": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/lodash": "npm:^4.14.167"
color-convert: "npm:^2.0.1"
dequal: "npm:^2.0.2"
@@ -6078,146 +6768,132 @@ __metadata:
memoizerific: "npm:^1.11.3"
polished: "npm:^4.2.2"
react-colorful: "npm:^5.1.2"
- telejson: "npm:^7.0.3"
+ telejson: "npm:^7.2.0"
+ tocbot: "npm:^4.20.1"
ts-dedent: "npm:^2.0.0"
util-deprecate: "npm:^1.0.2"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: 0a7a72d0523b3020b5633fe9f9f8d182cb82fc23ef7e0ec90d058c226af7833c485cf88d61d9876a60a939f694df1f8dcf46bb5c84f7d895c84c5f2befb6270a
+ checksum: 01896cd6fd227ca5c9fb2586799a8057b3ce15e046dd82ac40e8177d8ff5e9e84465b3052cce848bb800f3b5c89b6d24dbbe419865c8d10e5db74786ab7b31ef
languageName: node
linkType: hard
-"@storybook/builder-manager@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/builder-manager@npm:7.0.12"
+"@storybook/builder-manager@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/builder-manager@npm:7.4.6"
dependencies:
"@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/manager": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/manager": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
"@types/ejs": "npm:^3.1.1"
"@types/find-cache-dir": "npm:^3.2.1"
"@yarnpkg/esbuild-plugin-pnp": "npm:^3.0.0-rc.10"
browser-assert: "npm:^1.2.1"
ejs: "npm:^3.1.8"
- esbuild: "npm:^0.17.0"
+ esbuild: "npm:^0.18.0"
esbuild-plugin-alias: "npm:^0.2.1"
express: "npm:^4.17.3"
find-cache-dir: "npm:^3.0.0"
fs-extra: "npm:^11.1.0"
process: "npm:^0.11.10"
util: "npm:^0.12.4"
- checksum: c975c036520db38bd81530ca394eae627a870a59d81aa0d6a51eeb88b430603cd565a75cdc8ad9bc44a23d37c78e1398d937b996bcbf14b8876d59750c86ff1b
- languageName: node
- linkType: hard
-
-"@storybook/builder-webpack5@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/builder-webpack5@npm:7.0.12"
- dependencies:
- "@babel/core": "npm:^7.12.10"
- "@storybook/addons": "npm:7.0.12"
- "@storybook/api": "npm:7.0.12"
- "@storybook/channel-postmessage": "npm:7.0.12"
- "@storybook/channel-websocket": "npm:7.0.12"
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-api": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/components": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
- "@storybook/core-webpack": "npm:7.0.12"
+ checksum: 04bb70f3813002372cc5996e9c751c3b6f59c9871b70dd23b0b2cdefd50bb4abed0ad15ad751cbb1fefcf4926713e1e5d9389c220c39df031ca3a063128c592d
+ languageName: node
+ linkType: hard
+
+"@storybook/builder-webpack5@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/builder-webpack5@npm:7.4.6"
+ dependencies:
+ "@babel/core": "npm:^7.22.9"
+ "@storybook/addons": "npm:7.4.6"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/client-api": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/components": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
+ "@storybook/core-webpack": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager-api": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/preview": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/router": "npm:7.0.12"
- "@storybook/store": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
+ "@storybook/manager-api": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/preview": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/router": "npm:7.4.6"
+ "@storybook/store": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@swc/core": "npm:^1.3.49"
"@types/node": "npm:^16.0.0"
"@types/semver": "npm:^7.3.4"
babel-loader: "npm:^9.0.0"
babel-plugin-named-exports-order: "npm:^0.0.2"
browser-assert: "npm:^1.2.1"
case-sensitive-paths-webpack-plugin: "npm:^2.4.0"
+ constants-browserify: "npm:^1.0.0"
css-loader: "npm:^6.7.1"
express: "npm:^4.17.3"
- fork-ts-checker-webpack-plugin: "npm:^7.2.8"
+ fork-ts-checker-webpack-plugin: "npm:^8.0.0"
fs-extra: "npm:^11.1.0"
html-webpack-plugin: "npm:^5.5.0"
path-browserify: "npm:^1.0.1"
process: "npm:^0.11.10"
semver: "npm:^7.3.7"
style-loader: "npm:^3.3.1"
+ swc-loader: "npm:^0.2.3"
terser-webpack-plugin: "npm:^5.3.1"
ts-dedent: "npm:^2.0.0"
+ url: "npm:^0.11.0"
util: "npm:^0.12.4"
util-deprecate: "npm:^1.0.2"
webpack: "npm:5"
- webpack-dev-middleware: "npm:^5.3.1"
+ webpack-dev-middleware: "npm:^6.1.1"
webpack-hot-middleware: "npm:^2.25.1"
- webpack-virtual-modules: "npm:^0.4.3"
+ webpack-virtual-modules: "npm:^0.5.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: b40062617a89d112a351f0fcf8f87f3e00b56d50482bd8d3d25a0e31a092c14c715ad8a6a612a59a9180083d855fabce36e4c14dfa4d88fb8f47d0c125d0d081
+ checksum: b38e3923f3eff7eb4b78245449742adf59a78cf4460af458c9f610119b52c88adbd8b363f540367438a9fac79e30790fdb70091edac4582a895d27c7210655bc
languageName: node
linkType: hard
-"@storybook/channel-postmessage@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/channel-postmessage@npm:7.0.12"
+"@storybook/channels@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/channels@npm:7.4.6"
dependencies:
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
qs: "npm:^6.10.0"
- telejson: "npm:^7.0.3"
- checksum: bcb4ab5aab46b8053bf2bb6b6d224bc5c5515a4ee679140711a3cebfe630cd2c9df7ed129038ef3ac3b110e9b67af335019f30d10f39a5824bc859c8a2cc3586
- languageName: node
- linkType: hard
-
-"@storybook/channel-websocket@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/channel-websocket@npm:7.0.12"
- dependencies:
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/global": "npm:^5.0.0"
- telejson: "npm:^7.0.3"
- checksum: d071632d98d6dcb91ea121b9678d14a593bbf2fbac964c78598c195064c5874986f82463635b45e45ed1c32661ffdb49b20b4e92f2dc07209feb161f38e8c103
- languageName: node
- linkType: hard
-
-"@storybook/channels@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/channels@npm:7.0.12"
- checksum: 13b2820968d7abf031b042d734f43840e9536c1169a87bc8a1c3053fd1a9e9e695c9d568dcc95e702993c872190948f07c6961d9e625849f7cb991faed421620
+ telejson: "npm:^7.2.0"
+ tiny-invariant: "npm:^1.3.1"
+ checksum: 51ac0ba3207e48e785d48dcac3b24dd6bf414cdb0a139ed153c4121fb10a1ba8c90085ba3399f8954cba869321d6aee3399c5f85741dfd0091f9f6c7f7611ce8
languageName: node
linkType: hard
-"@storybook/cli@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/cli@npm:7.0.12"
+"@storybook/cli@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/cli@npm:7.4.6"
dependencies:
- "@babel/core": "npm:^7.20.2"
- "@babel/preset-env": "npm:^7.20.2"
+ "@babel/core": "npm:^7.22.9"
+ "@babel/preset-env": "npm:^7.22.9"
+ "@babel/types": "npm:^7.22.5"
"@ndelangen/get-tarball": "npm:^3.0.7"
- "@storybook/codemod": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/core-server": "npm:7.0.12"
- "@storybook/csf-tools": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/telemetry": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/codemod": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
+ "@storybook/core-server": "npm:7.4.6"
+ "@storybook/csf-tools": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/telemetry": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/semver": "npm:^7.3.4"
- boxen: "npm:^5.1.2"
+ "@yarnpkg/fslib": "npm:2.10.3"
+ "@yarnpkg/libzip": "npm:2.3.0"
chalk: "npm:^4.1.0"
commander: "npm:^6.2.1"
cross-spawn: "npm:^7.0.3"
@@ -6233,152 +6909,160 @@ __metadata:
globby: "npm:^11.0.2"
jscodeshift: "npm:^0.14.0"
leven: "npm:^3.1.0"
+ ora: "npm:^5.4.1"
prettier: "npm:^2.8.0"
prompts: "npm:^2.4.0"
puppeteer-core: "npm:^2.1.1"
read-pkg-up: "npm:^7.0.1"
semver: "npm:^7.3.7"
- shelljs: "npm:^0.8.5"
- simple-update-notifier: "npm:^1.0.0"
+ simple-update-notifier: "npm:^2.0.0"
strip-json-comments: "npm:^3.0.1"
tempy: "npm:^1.0.1"
ts-dedent: "npm:^2.0.0"
util-deprecate: "npm:^1.0.2"
bin:
- getstorybook: bin/index.js
- sb: bin/index.js
- checksum: 64b1a7dda664af73629f4ba3a070b6b04f9fd3363eb5bd214b1785cf937c84a79795d53ed7e3e778eb70144d7afe15e0d3ab627d4ac4d6081c12f57673732178
+ getstorybook: ./bin/index.js
+ sb: ./bin/index.js
+ checksum: a221585ea9d2e8c0c5d598c18713aef67dc76765fb6a56e2387e6c1ffd65f4ccaab10c5b4af1a89f0f74a92eeb11ade17f64ed436151215f03f71e14ce46cafa
languageName: node
linkType: hard
-"@storybook/client-api@npm:7.0.12, @storybook/client-api@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/client-api@npm:7.0.12"
+"@storybook/client-api@npm:7.4.6, @storybook/client-api@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/client-api@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- checksum: 1cb75c56eeae0e7876934ee419367caed0d3e4887d1abe36944acfb5d10cd8a56d43ad1b9b052ae5113e0b5008826a7714409f29e91e2479b6294390fd8a84aa
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ checksum: 03e304783ac6447d84834331652ea434f0608bab31cdc0d938df61d1de87aab7ecb2de46580140315101d27c182c5faaf364fc0043a334a71f482574146b91b5
languageName: node
linkType: hard
-"@storybook/client-logger@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/client-logger@npm:7.0.12"
+"@storybook/client-logger@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/client-logger@npm:7.4.6"
dependencies:
"@storybook/global": "npm:^5.0.0"
- checksum: a2b36171c35aa952bfdb074de651481ead9885b91047cf75f1073f1bfc33da3350b36c9215535dda6465865d6d3a87427c8522fb1a0997ab8f99dbe92e0951c2
+ checksum: d15bb15d94bb6dd59b5ad24edb28c3d2b216cd90033e9428c939330d4b31df5ea59b9397f304a4d0ebac1cc4a8363c13503450786d0792e341d49fff4525c1de
languageName: node
linkType: hard
-"@storybook/codemod@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/codemod@npm:7.0.12"
+"@storybook/codemod@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/codemod@npm:7.4.6"
dependencies:
- "@babel/core": "npm:~7.21.0"
- "@babel/preset-env": "npm:~7.21.0"
- "@babel/types": "npm:~7.21.2"
+ "@babel/core": "npm:^7.22.9"
+ "@babel/preset-env": "npm:^7.22.9"
+ "@babel/types": "npm:^7.22.5"
"@storybook/csf": "npm:^0.1.0"
- "@storybook/csf-tools": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/csf-tools": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
+ "@types/cross-spawn": "npm:^6.0.2"
cross-spawn: "npm:^7.0.3"
globby: "npm:^11.0.2"
jscodeshift: "npm:^0.14.0"
lodash: "npm:^4.17.21"
prettier: "npm:^2.8.0"
recast: "npm:^0.23.1"
- checksum: 51d6eff659a821970348a3074fddd42371134bc6313c328456d22bbe3e1e696dbeaeacfa980bf070e676f1de6a9dbaa108b07cc8f7b0e36344229516de87acfe
+ checksum: 8b47ed177a4d1895b549a922aa0caa49ab4fe01f042c594808f1e54231aeb8b7ecd8d43f9146cc7bbbd10d7e3d0a747f0c9b2d830d4567da38740ebbccbdf2cb
languageName: node
linkType: hard
-"@storybook/components@npm:7.0.12, @storybook/components@npm:^7.0.0, @storybook/components@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/components@npm:7.0.12"
+"@storybook/components@npm:7.4.6, @storybook/components@npm:^7.0.0, @storybook/components@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/components@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
+ "@radix-ui/react-select": "npm:^1.2.2"
+ "@radix-ui/react-toolbar": "npm:^1.0.4"
+ "@storybook/client-logger": "npm:7.4.6"
"@storybook/csf": "npm:^0.1.0"
"@storybook/global": "npm:^5.0.0"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
memoizerific: "npm:^1.11.3"
use-resize-observer: "npm:^9.1.0"
util-deprecate: "npm:^1.0.2"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: bb5512e9c79d55a71bb5dd0f75e68724c74d668aafe135d03add10bd9f328504af70bc54c308cb8209ffabe1ea99396327e11f443b11c82e39d9d797407845bb
+ checksum: eb5bea6a13963a693c2dc0b4339a42914d9076c55a9b13c8d64547cf9b12e4b22ca805c474a3acd8de3e323296265c126c42bd80eb03008b312feacde03a2b4a
languageName: node
linkType: hard
-"@storybook/core-client@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/core-client@npm:7.0.12"
+"@storybook/core-client@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/core-client@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- checksum: 3f07cb32f87629cabd1136504277919c047f6d1e8ba80ba1dd60ef2f3d744435cd44d4017fda1b3e459e9b0c520b46886de809a1059c0b51c44e5373ca7e94da
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ checksum: de12826db46b596c4dc062fe37be3c6c4749e30abef51dde91180290998b37dd35ff4cb016d584bbe52372ce96333e214d435d88562e2c0681eafd63fa4936e2
languageName: node
linkType: hard
-"@storybook/core-common@npm:7.0.12, @storybook/core-common@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version: 7.0.12
- resolution: "@storybook/core-common@npm:7.0.12"
+"@storybook/core-common@npm:7.4.6, @storybook/core-common@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version: 7.4.6
+ resolution: "@storybook/core-common@npm:7.4.6"
dependencies:
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/core-events": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
+ "@types/find-cache-dir": "npm:^3.2.1"
"@types/node": "npm:^16.0.0"
+ "@types/node-fetch": "npm:^2.6.4"
"@types/pretty-hrtime": "npm:^1.0.0"
chalk: "npm:^4.1.0"
- esbuild: "npm:^0.17.0"
+ esbuild: "npm:^0.18.0"
esbuild-register: "npm:^3.4.0"
- file-system-cache: "npm:^2.0.0"
+ file-system-cache: "npm:2.3.0"
+ find-cache-dir: "npm:^3.0.0"
find-up: "npm:^5.0.0"
fs-extra: "npm:^11.1.0"
- glob: "npm:^8.1.0"
- glob-promise: "npm:^6.0.2"
+ glob: "npm:^10.0.0"
handlebars: "npm:^4.7.7"
lazy-universal-dotenv: "npm:^4.0.0"
+ node-fetch: "npm:^2.0.0"
picomatch: "npm:^2.3.0"
pkg-dir: "npm:^5.0.0"
pretty-hrtime: "npm:^1.0.3"
resolve-from: "npm:^5.0.0"
ts-dedent: "npm:^2.0.0"
- checksum: c7ed64989edee6a87634b19396018e81318902fd9948b5a77c5f3b9070014b647055ac53ec604d289f094be7ea3fa0f46a8cf4076b2771be0c65c86c37f5873d
+ checksum: 83c1fafbab929e0645ee843cd0e556f307c5232b06ce65a975c7462707e68db6989c8515c9f75f47d8e1462e88c7b7fef2cf88b922f3a71256efb034b5a5248e
languageName: node
linkType: hard
-"@storybook/core-events@npm:7.0.12, @storybook/core-events@npm:^7.0.0, @storybook/core-events@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/core-events@npm:7.0.12"
- checksum: a251497cab0d132dcef79cf01fb226c69da0d8a0be51a5ebd992a92a54a75c360ca21714a3cab64ba6a5f722b661911bff517b1fe65a214e6ce371c72520a9e1
+"@storybook/core-events@npm:7.4.6, @storybook/core-events@npm:^7.0.0, @storybook/core-events@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/core-events@npm:7.4.6"
+ dependencies:
+ ts-dedent: "npm:^2.0.0"
+ checksum: f7275a35f09acf26bb2ced1d7bc8ec075d53f0edfac4cc9840fa9c9f00caae5eae00e2b815d0fa496512b2dd87e7b46d38d66edb321de26366fabd7ae4b7ba70
languageName: node
linkType: hard
-"@storybook/core-server@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/core-server@npm:7.0.12"
+"@storybook/core-server@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/core-server@npm:7.4.6"
dependencies:
- "@aw-web-design/x-default-browser": "npm:1.4.88"
+ "@aw-web-design/x-default-browser": "npm:1.4.126"
"@discoveryjs/json-ext": "npm:^0.5.3"
- "@storybook/builder-manager": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/builder-manager": "npm:7.4.6"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/csf": "npm:^0.1.0"
- "@storybook/csf-tools": "npm:7.0.12"
+ "@storybook/csf-tools": "npm:7.4.6"
"@storybook/docs-mdx": "npm:^0.1.0"
"@storybook/global": "npm:^5.0.0"
- "@storybook/manager": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/telemetry": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/manager": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/telemetry": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/detect-port": "npm:^1.3.0"
"@types/node": "npm:^16.0.0"
- "@types/node-fetch": "npm:^2.5.7"
"@types/pretty-hrtime": "npm:^1.0.0"
"@types/semver": "npm:^7.3.4"
- better-opn: "npm:^2.1.1"
- boxen: "npm:^5.1.2"
+ better-opn: "npm:^3.0.2"
chalk: "npm:^4.1.0"
cli-table3: "npm:^0.6.1"
compression: "npm:^1.7.4"
@@ -6388,59 +7072,59 @@ __metadata:
globby: "npm:^11.0.2"
ip: "npm:^2.0.0"
lodash: "npm:^4.17.21"
- node-fetch: "npm:^2.6.7"
open: "npm:^8.4.0"
pretty-hrtime: "npm:^1.0.3"
prompts: "npm:^2.4.0"
read-pkg-up: "npm:^7.0.1"
semver: "npm:^7.3.7"
- serve-favicon: "npm:^2.5.0"
- telejson: "npm:^7.0.3"
+ telejson: "npm:^7.2.0"
+ tiny-invariant: "npm:^1.3.1"
ts-dedent: "npm:^2.0.0"
+ util: "npm:^0.12.4"
util-deprecate: "npm:^1.0.2"
watchpack: "npm:^2.2.0"
ws: "npm:^8.2.3"
- checksum: 385f37982bc1d0946da5ff366cf5afffe31555994f286ca990917d01004e876b28f1264bafa8e01a4907315a7c1e2f20e0d7b20525ef8ae24b2010af93e1808a
+ checksum: feb74c39cd3d25f0aeb05f94cfddefcc19a77360f2a89fc6b16d626fbf6da010140d21bae150601f4e8b1307260478a8bd5e505be9e117eee745c6ffccec125b
languageName: node
linkType: hard
-"@storybook/core-webpack@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/core-webpack@npm:7.0.12"
+"@storybook/core-webpack@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/core-webpack@npm:7.4.6"
dependencies:
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/node": "npm:^16.0.0"
ts-dedent: "npm:^2.0.0"
- checksum: 1313ad569572671b3e6c7d854c25fdfb4192233684e48f2de829c877acfae2b444f5670c19025fb95fe7569d6cdb4dfee94346b4b94bded762a2259cb59ab839
+ checksum: d799cef1a237e55db87b5b41a8ff9d090bd30a0b7ddb1fed219bf02c86d06a83d83b6f9f6501a8f6eb90833c03792cacbe75139a484b19d7cebc054cc149d0b7
languageName: node
linkType: hard
-"@storybook/csf-plugin@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/csf-plugin@npm:7.0.12"
+"@storybook/csf-plugin@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/csf-plugin@npm:7.4.6"
dependencies:
- "@storybook/csf-tools": "npm:7.0.12"
- unplugin: "npm:^0.10.2"
- checksum: 1835d46d3ed5d17d2fdced946822e5aa3a2760b572ee4c2ab2416a3d021d025694ecfe3a1294fafc9de36244287c1ba470990bc9e748090824336e6b02a3448e
+ "@storybook/csf-tools": "npm:7.4.6"
+ unplugin: "npm:^1.3.1"
+ checksum: 591b5600964038884ca09b32daeb541dd2f39b6f3c02756ccc569e93699227a717ee3d59e4ecd12a423d20ba3db6b470258af3eb1539b1ede27831f68b94a8d5
languageName: node
linkType: hard
-"@storybook/csf-tools@npm:7.0.12, @storybook/csf-tools@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version: 7.0.12
- resolution: "@storybook/csf-tools@npm:7.0.12"
+"@storybook/csf-tools@npm:7.4.6, @storybook/csf-tools@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version: 7.4.6
+ resolution: "@storybook/csf-tools@npm:7.4.6"
dependencies:
- "@babel/generator": "npm:~7.21.1"
- "@babel/parser": "npm:~7.21.2"
- "@babel/traverse": "npm:~7.21.2"
- "@babel/types": "npm:~7.21.2"
+ "@babel/generator": "npm:^7.22.9"
+ "@babel/parser": "npm:^7.22.7"
+ "@babel/traverse": "npm:^7.22.8"
+ "@babel/types": "npm:^7.22.5"
"@storybook/csf": "npm:^0.1.0"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/types": "npm:7.4.6"
fs-extra: "npm:^11.1.0"
recast: "npm:^0.23.1"
ts-dedent: "npm:^2.0.0"
- checksum: c6eab4125f8f8d3ac586459c78d161a192dc8fe7557ca0d8522f1adbb67afe139c53f1a93307a0d9d736777b1eb6afc4f8638ad7cd29b00ab209201e63cbd239
+ checksum: 33a3331378f0c8332243e4f723e812004a72092c68c00a270be3ab3e23156435b84de388c0715f72cbb35e31b51dc89bb7b6ff16d8a61d826af4a9c3d4f5d354
languageName: node
linkType: hard
@@ -6469,18 +7153,17 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/docs-tools@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/docs-tools@npm:7.0.12"
+"@storybook/docs-tools@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/docs-tools@npm:7.4.6"
dependencies:
- "@babel/core": "npm:^7.12.10"
- "@storybook/core-common": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/doctrine": "npm:^0.0.3"
doctrine: "npm:^3.0.0"
lodash: "npm:^4.17.21"
- checksum: 1d51b1ea91b7802ae9c519bb298848f3cf3c0a0b41763b5069e0ece09acc190d34a9a570b96cbe291dc18a1da2f302b16cc2b3642450bf631769d8626a2741aa
+ checksum: b073126838b03e25288e706bd4d4c4485d45e83922c287ad5ebf512a628afd0dce66ecc6c8b895f3663f429edcd9dc7f26b8d43725110fe7873a2298a2ebcd5a
languageName: node
linkType: hard
@@ -6491,36 +7174,36 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/manager-api@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/manager-api@npm:7.0.12"
+"@storybook/manager-api@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/manager-api@npm:7.4.6"
dependencies:
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/csf": "npm:^0.1.0"
"@storybook/global": "npm:^5.0.0"
- "@storybook/router": "npm:7.0.12"
- "@storybook/theming": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/router": "npm:7.4.6"
+ "@storybook/theming": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
dequal: "npm:^2.0.2"
lodash: "npm:^4.17.21"
memoizerific: "npm:^1.11.3"
semver: "npm:^7.3.7"
store2: "npm:^2.14.2"
- telejson: "npm:^7.0.3"
+ telejson: "npm:^7.2.0"
ts-dedent: "npm:^2.0.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: c5320fb9b77aff3ee9648fd532647c220e16e96eb0ade9e9c46b5e0d6072ad84148dee4264a8be42faed6d71ecb1060bcdf4ee73cd8d9278f8d48987ca2eaac6
+ checksum: 55b2e704f94fd9075d070f7d856bcd044bd9266acb557c04ea6b81d572303d45f7abb2e6f033de05077fccc0ec9ff21325b52b7ab3d48248a399ca90234331da
languageName: node
linkType: hard
-"@storybook/manager@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/manager@npm:7.0.12"
- checksum: 5f062b066d789064b3e9fb002b26cf7dcb32a862fa20dedebeec563e041854fc3dbd49ffc965e1301996382c5f58e998a6e9ec6e6ef1efc0f4e91fa06760b941
+"@storybook/manager@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/manager@npm:7.4.6"
+ checksum: 4c9b1f2e49490423dfc35323fc48dce31b6b5d1b596af98056d7827320523b5deb9759199b4ff633e347dcb3cfc06f34504a76d8173330724b7b6e22b209fba6
languageName: node
linkType: hard
@@ -6531,36 +7214,31 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/node-logger@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/node-logger@npm:7.0.12"
- dependencies:
- "@types/npmlog": "npm:^4.1.2"
- chalk: "npm:^4.1.0"
- npmlog: "npm:^5.0.1"
- pretty-hrtime: "npm:^1.0.3"
- checksum: 2cce7e76f1349e80572d5e598e07f0928c0a2fad51b0ed3fa5215feb66256e485a2415920278d7fb9974c374d8ccbc76ecab424ea34cc9c101f9f7e9464d7e68
+"@storybook/node-logger@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/node-logger@npm:7.4.6"
+ checksum: cbceff3b8afe4db7a482e2c1fce237938b99391eccd12636c8d3894cf3d1bae5d33eecd5eb99344071b8e3185e4ff8fe3f0c1207b674a7344fba7156f454138f
languageName: node
linkType: hard
-"@storybook/postinstall@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/postinstall@npm:7.0.12"
- checksum: 98ecf180e19d100ebd40e24ed33d099653f55e0401886a27eb1267bfbd8029a390f7e97bad41238d04a8c1fdd0ec819b34e30adcf0bb56063b955210d52e26f3
+"@storybook/postinstall@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/postinstall@npm:7.4.6"
+ checksum: a73257512028364a657c0588fa1e0fe44e88a24c507b109fbcbf6cf70c63f0f9b4cda37fb58add40fadec6c5b094aa6567d22c235c241e592a62f98e61f451cc
languageName: node
linkType: hard
-"@storybook/preset-react-webpack@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/preset-react-webpack@npm:7.0.12"
+"@storybook/preset-react-webpack@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/preset-react-webpack@npm:7.4.6"
dependencies:
- "@babel/preset-flow": "npm:^7.18.6"
- "@babel/preset-react": "npm:^7.18.6"
+ "@babel/preset-flow": "npm:^7.22.5"
+ "@babel/preset-react": "npm:^7.22.5"
"@pmmmwh/react-refresh-webpack-plugin": "npm:^0.5.5"
- "@storybook/core-webpack": "npm:7.0.12"
- "@storybook/docs-tools": "npm:7.0.12"
- "@storybook/node-logger": "npm:7.0.12"
- "@storybook/react": "npm:7.0.12"
+ "@storybook/core-webpack": "npm:7.4.6"
+ "@storybook/docs-tools": "npm:7.4.6"
+ "@storybook/node-logger": "npm:7.4.6"
+ "@storybook/react": "npm:7.4.6"
"@storybook/react-docgen-typescript-plugin": "npm:1.0.6--canary.9.0c3f3b7.0"
"@types/node": "npm:^16.0.0"
"@types/semver": "npm:^7.3.4"
@@ -6571,7 +7249,7 @@ __metadata:
semver: "npm:^7.3.7"
webpack: "npm:5"
peerDependencies:
- "@babel/core": ^7.11.5
+ "@babel/core": ^7.22.0
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
peerDependenciesMeta:
@@ -6579,21 +7257,20 @@ __metadata:
optional: true
typescript:
optional: true
- checksum: 6067d9dc26a9078dce1a87fdfdc26688712f5877ab21368b2beb6368be0b85be894c8ea28f07e83c8b059186d139c4d39950a6411dee6568a071e9c8d8dcd854
+ checksum: 46723a471cc063ebcf78a0b058f24fae2d926f0c75fe15fbb984f3f95e3921669e03d8ed8a0c150721487f5466ea6ce811a640d6b6834823c4feabfcee2a1ab7
languageName: node
linkType: hard
-"@storybook/preview-api@npm:7.0.12, @storybook/preview-api@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version: 7.0.12
- resolution: "@storybook/preview-api@npm:7.0.12"
+"@storybook/preview-api@npm:7.4.6, @storybook/preview-api@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version: 7.4.6
+ resolution: "@storybook/preview-api@npm:7.4.6"
dependencies:
- "@storybook/channel-postmessage": "npm:7.0.12"
- "@storybook/channels": "npm:7.0.12"
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/core-events": "npm:7.0.12"
+ "@storybook/channels": "npm:7.4.6"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/core-events": "npm:7.4.6"
"@storybook/csf": "npm:^0.1.0"
"@storybook/global": "npm:^5.0.0"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/types": "npm:7.4.6"
"@types/qs": "npm:^6.9.5"
dequal: "npm:^2.0.2"
lodash: "npm:^4.17.21"
@@ -6602,14 +7279,14 @@ __metadata:
synchronous-promise: "npm:^2.0.15"
ts-dedent: "npm:^2.0.0"
util-deprecate: "npm:^1.0.2"
- checksum: 2cdeeffe70c540a7c1fd9e58f3696fc8381e1e2b05a05c094ca28aea29bac1a3fd94e17f0622c6fc13269e6ef62e75f7f7abb7dc4e6cb5604a01eeb60e6524a7
+ checksum: ad839afe2e7bdafef80ed9cc082c59bc3b60925c8a98761f3ec467757b781a943973885cafcc94f06a5bb88a715f299965055d9ca7901be588fc7c25e21fafb5
languageName: node
linkType: hard
-"@storybook/preview@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/preview@npm:7.0.12"
- checksum: 53f4682bc1d960e49a6d47a38f667b1397735aef7ead71f4a8a5a7e8c8525603b87923488d86608a7e0fa24e186fc623bfc06cb2b2962504f14d738006523701
+"@storybook/preview@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/preview@npm:7.4.6"
+ checksum: fc9f6558a650a2d98849195b6f42a72d7ff57272ed84097082af1b022d214ed23d69f94bb1a4a6085698722a27bb59f333adbd74ae868cdf2a5bd81c925abdbe
languageName: node
linkType: hard
@@ -6631,93 +7308,95 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/react-dom-shim@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/react-dom-shim@npm:7.0.12"
+"@storybook/react-dom-shim@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/react-dom-shim@npm:7.4.6"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: 4408d643a07d1c816a968c885dcfc79bb13c7b114611e6f69ab932b8d1c77cdcbd97340666f68698c028fb629fb549c61784ec2d359c06016cf826e9eff51e69
+ checksum: 14195c42849e1987db5b7b3ff1f49c5dd98f22f1bcc1f3cf66c0414bebad94dd5726f0fbbcbcb5581395703a3661a498437d81621e3fbdd1cb3cdaf8ee373ff1
languageName: node
linkType: hard
-"@storybook/react-webpack5@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/react-webpack5@npm:7.0.12"
+"@storybook/react-webpack5@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/react-webpack5@npm:7.4.6"
dependencies:
- "@storybook/builder-webpack5": "npm:7.0.12"
- "@storybook/preset-react-webpack": "npm:7.0.12"
- "@storybook/react": "npm:7.0.12"
+ "@storybook/builder-webpack5": "npm:7.4.6"
+ "@storybook/preset-react-webpack": "npm:7.4.6"
+ "@storybook/react": "npm:7.4.6"
"@types/node": "npm:^16.0.0"
peerDependencies:
- "@babel/core": ^7.11.5
+ "@babel/core": ^7.22.0
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: "*"
peerDependenciesMeta:
"@babel/core":
optional: true
typescript:
optional: true
- checksum: 427dc198f1bd63988952a2a152c84836ad12057860658921f94d732885965935d081ab27ad8942afaa10ed1be388cba501379c8af01ae957d3781b2a356bc364
+ checksum: 0987ff5cb3b154988c6dc9130a6e1b4a3259c99aeb7c1533ec055c259f463a68b37378817894b2d8f05a2b6a643f2ea1dc8d2b2466d61745ed6e602d066bba63
languageName: node
linkType: hard
-"@storybook/react@npm:7.0.12, @storybook/react@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/react@npm:7.0.12"
+"@storybook/react@npm:7.4.6, @storybook/react@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/react@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/core-client": "npm:7.0.12"
- "@storybook/docs-tools": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/core-client": "npm:7.4.6"
+ "@storybook/docs-tools": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
- "@storybook/preview-api": "npm:7.0.12"
- "@storybook/react-dom-shim": "npm:7.0.12"
- "@storybook/types": "npm:7.0.12"
+ "@storybook/preview-api": "npm:7.4.6"
+ "@storybook/react-dom-shim": "npm:7.4.6"
+ "@storybook/types": "npm:7.4.6"
"@types/escodegen": "npm:^0.0.6"
"@types/estree": "npm:^0.0.51"
"@types/node": "npm:^16.0.0"
acorn: "npm:^7.4.1"
acorn-jsx: "npm:^5.3.1"
acorn-walk: "npm:^7.2.0"
- escodegen: "npm:^2.0.0"
+ escodegen: "npm:^2.1.0"
html-tags: "npm:^3.1.0"
lodash: "npm:^4.17.21"
prop-types: "npm:^15.7.2"
react-element-to-jsx-string: "npm:^15.0.0"
ts-dedent: "npm:^2.0.0"
- type-fest: "npm:^2.19.0"
+ type-fest: "npm:~2.19"
util-deprecate: "npm:^1.0.2"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
- checksum: 1885af30b2c4f820c8c043255bb11859be798c83d1a4a6d6afde515dad6a35cafac2060446cc27b0e74fc50bf189eef4f0e1b44e212ecea1ad1e3069c9e8cc69
+ checksum: 5c811660b7e1c4b62b07164bbce77ee1e59e409345a5123a3f455f1ec82645cd07e03a1708daf6d3c92e0061f478602ab53542405a5eacb596cd7e5e2422b0ce
languageName: node
linkType: hard
-"@storybook/router@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/router@npm:7.0.12"
+"@storybook/router@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/router@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
memoizerific: "npm:^1.11.3"
qs: "npm:^6.10.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: fa5716469aab624ef559b4a56332fc755193d45b0dbc6e8aa798b118570a18135b4df0525843fbd5d17148a3f633f0ad153ba5b6d2fea138a98819c59172ab0b
+ checksum: 7e317d5bd9be4195fc133ba060c25953827857fefa2e8c297d34774698ed047a9209dbd444597506fb9e81c7318fe9a0c0a07f6c9096dd2b97461b9bac782a1f
languageName: node
linkType: hard
-"@storybook/store@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/store@npm:7.0.12"
+"@storybook/store@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/store@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/preview-api": "npm:7.0.12"
- checksum: a465c3777384b691164ae34046c18fa4f565e535b7e1c6ede73a2a69e3c51adb03556b887ff5a77951b3cbf6aad3378bcfc12afb3b56d4cff5d8e680f93f9824
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/preview-api": "npm:7.4.6"
+ checksum: 213b93f595cbfef5bc585020663f352542e2a4261120de1d982b6dd701508e01e7cc35ec9169e1dc1ecfcc831c53b75c3930acbd34cc360d474eab0df5a2be58
languageName: node
linkType: hard
@@ -6737,20 +7416,19 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/telemetry@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/telemetry@npm:7.0.12"
+"@storybook/telemetry@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/telemetry@npm:7.4.6"
dependencies:
- "@storybook/client-logger": "npm:7.0.12"
- "@storybook/core-common": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
+ "@storybook/core-common": "npm:7.4.6"
+ "@storybook/csf-tools": "npm:7.4.6"
chalk: "npm:^4.1.0"
detect-package-manager: "npm:^2.0.1"
fetch-retry: "npm:^5.0.2"
fs-extra: "npm:^11.1.0"
- isomorphic-unfetch: "npm:^3.1.0"
- nanoid: "npm:^3.3.1"
read-pkg-up: "npm:^7.0.1"
- checksum: ec8b0e4518fc1f06b168ec8c2fa06b8934d9fba1378e3d22d438098fb6eb85d97a81bdb9f48e04b1fef230720220c706342537acac46e05bbf2afe0201a8da6a
+ checksum: e014a2d1551209306c5e3432678727ca8bb14d5fe6d4b0f829f421cfcb6e5b34e8ad0d3e3966222b8d3dfe147bb3aa07f4c5fd45c323b43932eaa5828acc5bd9
languageName: node
linkType: hard
@@ -6794,30 +7472,30 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/theming@npm:7.0.12, @storybook/theming@npm:^7.0.0, @storybook/theming@npm:^7.0.11":
- version: 7.0.12
- resolution: "@storybook/theming@npm:7.0.12"
+"@storybook/theming@npm:7.4.6, @storybook/theming@npm:^7.0.0, @storybook/theming@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/theming@npm:7.4.6"
dependencies:
"@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0"
- "@storybook/client-logger": "npm:7.0.12"
+ "@storybook/client-logger": "npm:7.4.6"
"@storybook/global": "npm:^5.0.0"
memoizerific: "npm:^1.11.3"
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: 92ec93cd0eb700d17d3429020d389059ce2c1cb58d381268e350f304179fdf0b91c735b19e1ea4bb323a5e04e107060a62d4b4611156d6357be9a4beaab58e0b
+ checksum: e6ef23d2d51e876bf9e916cf2debe358d700f23cd7a72d15bc984507d4710f169cd028fe604ae134dc68a9046c9d113479d94778041faf59593e75854ee9de5b
languageName: node
linkType: hard
-"@storybook/types@npm:7.0.12":
- version: 7.0.12
- resolution: "@storybook/types@npm:7.0.12"
+"@storybook/types@npm:7.4.6":
+ version: 7.4.6
+ resolution: "@storybook/types@npm:7.4.6"
dependencies:
- "@storybook/channels": "npm:7.0.12"
+ "@storybook/channels": "npm:7.4.6"
"@types/babel__core": "npm:^7.0.0"
"@types/express": "npm:^4.7.0"
- file-system-cache: "npm:^2.0.0"
- checksum: 4586d32dd84134571c060bba6a15aa377ebb116be687e39060a1e42df1fe8494961225ceaf17b27d9aa36e7298fb659b7863c7f84587fc6269ed268553f6bd31
+ file-system-cache: "npm:2.3.0"
+ checksum: 775e16283024659fcff35a6fd1d4b79e66ee38e8779805241d5ef8c07f9e2b54a1e835e3e1294da18b754233af3baa0644ba118a22d14c7222fd7e08f52143c9
languageName: node
linkType: hard
@@ -6846,6 +7524,136 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-darwin-arm64@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-darwin-arm64@npm:1.3.93"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@swc/core-darwin-x64@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-darwin-x64@npm:1.3.93"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm-gnueabihf@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.93"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm64-gnu@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.3.93"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm64-musl@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-linux-arm64-musl@npm:1.3.93"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-x64-gnu@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-linux-x64-gnu@npm:1.3.93"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-x64-musl@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-linux-x64-musl@npm:1.3.93"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-arm64-msvc@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.3.93"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-ia32-msvc@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.3.93"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-x64-msvc@npm:1.3.93":
+ version: 1.3.93
+ resolution: "@swc/core-win32-x64-msvc@npm:1.3.93"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@swc/core@npm:^1.3.49":
+ version: 1.3.93
+ resolution: "@swc/core@npm:1.3.93"
+ dependencies:
+ "@swc/core-darwin-arm64": "npm:1.3.93"
+ "@swc/core-darwin-x64": "npm:1.3.93"
+ "@swc/core-linux-arm-gnueabihf": "npm:1.3.93"
+ "@swc/core-linux-arm64-gnu": "npm:1.3.93"
+ "@swc/core-linux-arm64-musl": "npm:1.3.93"
+ "@swc/core-linux-x64-gnu": "npm:1.3.93"
+ "@swc/core-linux-x64-musl": "npm:1.3.93"
+ "@swc/core-win32-arm64-msvc": "npm:1.3.93"
+ "@swc/core-win32-ia32-msvc": "npm:1.3.93"
+ "@swc/core-win32-x64-msvc": "npm:1.3.93"
+ "@swc/counter": "npm:^0.1.1"
+ "@swc/types": "npm:^0.1.5"
+ peerDependencies:
+ "@swc/helpers": ^0.5.0
+ dependenciesMeta:
+ "@swc/core-darwin-arm64":
+ optional: true
+ "@swc/core-darwin-x64":
+ optional: true
+ "@swc/core-linux-arm-gnueabihf":
+ optional: true
+ "@swc/core-linux-arm64-gnu":
+ optional: true
+ "@swc/core-linux-arm64-musl":
+ optional: true
+ "@swc/core-linux-x64-gnu":
+ optional: true
+ "@swc/core-linux-x64-musl":
+ optional: true
+ "@swc/core-win32-arm64-msvc":
+ optional: true
+ "@swc/core-win32-ia32-msvc":
+ optional: true
+ "@swc/core-win32-x64-msvc":
+ optional: true
+ peerDependenciesMeta:
+ "@swc/helpers":
+ optional: true
+ checksum: 0c28523abea3509d0fff7b2940667c9b5bf76b2505deb3ede8ab3ca8505d880cf563fb9d985483bc16065e79e51927001976d0a5e14449fb28715e5b4c6e0ffd
+ languageName: node
+ linkType: hard
+
+"@swc/counter@npm:^0.1.1":
+ version: 0.1.2
+ resolution: "@swc/counter@npm:0.1.2"
+ checksum: 8427c594f1f0cf44b83885e9c8fe1e370c9db44ae96e07a37c117a6260ee97797d0709483efbcc244e77bac578690215f45b23254c4cd8a70fb25ddbb50bf33e
+ languageName: node
+ linkType: hard
+
+"@swc/types@npm:^0.1.5":
+ version: 0.1.5
+ resolution: "@swc/types@npm:0.1.5"
+ checksum: 5f4de8c60d2623bed607c7fa1e0cee4ffc682af28d5ffe88dc9ed9903a1c2088ccc39f684689d6bb314595c9fbb560beaec773d633be515fb856ffc81d738822
+ languageName: node
+ linkType: hard
+
"@szmarczak/http-timer@npm:^4.0.5":
version: 4.0.6
resolution: "@szmarczak/http-timer@npm:4.0.6"
@@ -7390,6 +8198,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/cross-spawn@npm:^6.0.2":
+ version: 6.0.3
+ resolution: "@types/cross-spawn@npm:6.0.3"
+ dependencies:
+ "@types/node": "npm:*"
+ checksum: 06d50fa1e1370ef60b9c9085b76adec7d7bc20728fbb02b3c2061d4d922312acf1ba56a7c94d88c27a22fc6241ab6b970c936f3294038a9c97a719fbc8eb8a76
+ languageName: node
+ linkType: hard
+
"@types/currency-formatter@npm:^1.5.1":
version: 1.5.1
resolution: "@types/currency-formatter@npm:1.5.1"
@@ -7434,6 +8251,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/emscripten@npm:^1.39.6":
+ version: 1.39.8
+ resolution: "@types/emscripten@npm:1.39.8"
+ checksum: 1102c28ba259316b154ea524c2b8da82242839364df930dd305942daf7742da4081aeff437b7c9335ed838d3a42f5338cb4b24c87cd856c1853959c3310ccf10
+ languageName: node
+ linkType: hard
+
"@types/end-of-stream@npm:^1.4.1":
version: 1.4.1
resolution: "@types/end-of-stream@npm:1.4.1"
@@ -7548,16 +8372,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/glob@npm:^8.0.0":
- version: 8.1.0
- resolution: "@types/glob@npm:8.1.0"
- dependencies:
- "@types/minimatch": "npm:^5.1.2"
- "@types/node": "npm:*"
- checksum: 9101f3a9061e40137190f70626aa0e202369b5ec4012c3fabe6f5d229cce04772db9a94fa5a0eb39655e2e4ad105c38afbb4af56a56c0996a8c7d4fc72350e3d
- languageName: node
- linkType: hard
-
"@types/glob@npm:~7.2.0":
version: 7.2.0
resolution: "@types/glob@npm:7.2.0"
@@ -7832,7 +8646,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2":
+"@types/minimatch@npm:*":
version: 5.1.2
resolution: "@types/minimatch@npm:5.1.2"
checksum: 94db5060d20df2b80d77b74dd384df3115f01889b5b6c40fa2dfa27cfc03a68fb0ff7c1f2a0366070263eb2e9d6bfd8c87111d4bc3ae93c3f291297c1bf56c85
@@ -7860,13 +8674,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/node-fetch@npm:^2.5.7":
- version: 2.6.4
- resolution: "@types/node-fetch@npm:2.6.4"
+"@types/node-fetch@npm:^2.6.4":
+ version: 2.6.6
+ resolution: "@types/node-fetch@npm:2.6.6"
dependencies:
"@types/node": "npm:*"
- form-data: "npm:^3.0.0"
- checksum: e904b5f887099a2728979bce9bbae9cc5f851e97a8dc71fe9a6f900798ef0cab761a3027609e70ca73b0bfbd0a9433acdbc052301762eb2d7695d97975746be6
+ form-data: "npm:^4.0.0"
+ checksum: ed3ccfe5ad000e55e42835e620c8854033457d475d341177509a32306f530fe6671c966634b1aae3942e93ac377c0960abd878863a9fe06f958a6035e088052e
languageName: node
linkType: hard
@@ -7907,13 +8721,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/npmlog@npm:^4.1.2":
- version: 4.1.2
- resolution: "@types/npmlog@npm:4.1.2"
- checksum: 43f82613427faf74f46c8fb9d9f7d4d75bdd49d3d35cb3d7df6bf6d996ee1be1132cf776aa2b648a6bfa41d54a9a56dd99bddad38c18b2e5d28bcf2a5dfe0b16
- languageName: node
- linkType: hard
-
"@types/parse-json@npm:^4.0.0":
version: 4.0.0
resolution: "@types/parse-json@npm:4.0.0"
@@ -8843,6 +9650,26 @@ __metadata:
languageName: node
linkType: hard
+"@yarnpkg/fslib@npm:2.10.3":
+ version: 2.10.3
+ resolution: "@yarnpkg/fslib@npm:2.10.3"
+ dependencies:
+ "@yarnpkg/libzip": "npm:^2.3.0"
+ tslib: "npm:^1.13.0"
+ checksum: 29b38bd2054e3ec14677c16321a20ed69ac41d9d6f2fee7d9d7bc0a5a737e6d94add79cfa5f6ab867b5a98ab6aa2df3b53cb34f81159907cc308576a7bc08c67
+ languageName: node
+ linkType: hard
+
+"@yarnpkg/libzip@npm:2.3.0, @yarnpkg/libzip@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "@yarnpkg/libzip@npm:2.3.0"
+ dependencies:
+ "@types/emscripten": "npm:^1.39.6"
+ tslib: "npm:^1.13.0"
+ checksum: 0eb147f39eab2830c29120d17e8bfba5aa15dedb940a7378070c67d4de08e9ba8d34068522e15e6b4db94ecaed4ad520e1e517588a36a348d1aa160bc36156ea
+ languageName: node
+ linkType: hard
+
"@yarnpkg/parsers@npm:^3.0.0-rc.32":
version: 3.0.0-rc.48.1
resolution: "@yarnpkg/parsers@npm:3.0.0-rc.48.1"
@@ -9043,7 +9870,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.1.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1":
+"acorn@npm:^8.1.0, acorn@npm:^8.10.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1":
version: 8.10.0
resolution: "acorn@npm:8.10.0"
bin:
@@ -9291,15 +10118,6 @@ __metadata:
languageName: node
linkType: hard
-"ansi-align@npm:^3.0.0":
- version: 3.0.1
- resolution: "ansi-align@npm:3.0.1"
- dependencies:
- string-width: "npm:^4.1.0"
- checksum: 4c7e8b6a10eaf18874ecee964b5db62ac86d0b9266ad4987b3a1efcb5d11a9e12c881ee40d14951833135a8966f10a3efe43f9c78286a6e632f53d85ad28b9c0
- languageName: node
- linkType: hard
-
"ansi-colors@npm:1.1.0, ansi-colors@npm:^1.0.1":
version: 1.1.0
resolution: "ansi-colors@npm:1.1.0"
@@ -9524,16 +10342,6 @@ __metadata:
languageName: node
linkType: hard
-"are-we-there-yet@npm:^2.0.0":
- version: 2.0.0
- resolution: "are-we-there-yet@npm:2.0.0"
- dependencies:
- delegates: "npm:^1.0.0"
- readable-stream: "npm:^3.6.0"
- checksum: ea6f47d14fc33ae9cbea3e686eeca021d9d7b9db83a306010dd04ad5f2c8b7675291b127d3fcbfcbd8fec26e47b3324ad5b469a6cc3733a582f2fe4e12fc6756
- languageName: node
- linkType: hard
-
"are-we-there-yet@npm:^3.0.0":
version: 3.0.1
resolution: "are-we-there-yet@npm:3.0.1"
@@ -9577,6 +10385,15 @@ __metadata:
languageName: node
linkType: hard
+"aria-hidden@npm:^1.1.1":
+ version: 1.2.3
+ resolution: "aria-hidden@npm:1.2.3"
+ dependencies:
+ tslib: "npm:^2.0.0"
+ checksum: cd7f8474f1bef2dadce8fc74ef6d0fa8c9a477ee3c9e49fc3698e5e93a62014140c520266ee28969d63b5ab474144fe48b6182d010feb6a223f7a73928e6660a
+ languageName: node
+ linkType: hard
+
"aria-query@npm:^4.2.2":
version: 4.2.2
resolution: "aria-query@npm:4.2.2"
@@ -10195,7 +11012,7 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-polyfill-corejs2@npm:^0.3.1, babel-plugin-polyfill-corejs2@npm:^0.3.3":
+"babel-plugin-polyfill-corejs2@npm:^0.3.1":
version: 0.3.3
resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3"
dependencies:
@@ -10208,6 +11025,19 @@ __metadata:
languageName: node
linkType: hard
+"babel-plugin-polyfill-corejs2@npm:^0.4.6":
+ version: 0.4.6
+ resolution: "babel-plugin-polyfill-corejs2@npm:0.4.6"
+ dependencies:
+ "@babel/compat-data": "npm:^7.22.6"
+ "@babel/helper-define-polyfill-provider": "npm:^0.4.3"
+ semver: "npm:^6.3.1"
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ checksum: 736b1bb8e570be029f941a374c769972af870c96b5c324a5387c6b6994aabdad045ce560c530038c8626f02ec70f711ad7445f2572c32ba81fa0e13402cc23f8
+ languageName: node
+ linkType: hard
+
"babel-plugin-polyfill-corejs3@npm:^0.5.2":
version: 0.5.3
resolution: "babel-plugin-polyfill-corejs3@npm:0.5.3"
@@ -10220,15 +11050,15 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-polyfill-corejs3@npm:^0.6.0":
- version: 0.6.0
- resolution: "babel-plugin-polyfill-corejs3@npm:0.6.0"
+"babel-plugin-polyfill-corejs3@npm:^0.8.5":
+ version: 0.8.5
+ resolution: "babel-plugin-polyfill-corejs3@npm:0.8.5"
dependencies:
- "@babel/helper-define-polyfill-provider": "npm:^0.3.3"
- core-js-compat: "npm:^3.25.1"
+ "@babel/helper-define-polyfill-provider": "npm:^0.4.3"
+ core-js-compat: "npm:^3.32.2"
peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: cd030ffef418d34093a77264227d293ef6a4b808a1b1adb84b36203ca569504de65cf1185b759657e0baf479c0825c39553d78362445395faf5c4d03085a629f
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ checksum: 5c2ac3615bd064f294a0b36bf6a1939995ec510173602e317fb18b1c015d31f46e2dd885faa3376e4da22785a515e5ba37e069f0008e5eea830d2fe3b0e66a27
languageName: node
linkType: hard
@@ -10243,14 +11073,14 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-polyfill-regenerator@npm:^0.4.1":
- version: 0.4.1
- resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1"
+"babel-plugin-polyfill-regenerator@npm:^0.5.3":
+ version: 0.5.3
+ resolution: "babel-plugin-polyfill-regenerator@npm:0.5.3"
dependencies:
- "@babel/helper-define-polyfill-provider": "npm:^0.3.3"
+ "@babel/helper-define-polyfill-provider": "npm:^0.4.3"
peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: ab0355efbad17d29492503230387679dfb780b63b25408990d2e4cf421012dae61d6199ddc309f4d2409ce4e9d3002d187702700dd8f4f8770ebbba651ed066c
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ checksum: 2bb546582cda1870d19e646a7183baeb2cccd56e0ef3e4eaeabd28e120daf17cb87399194a9ccdcf32506bcaa68d23e73440fc8ab990a7a0f8c5a77c12d5d4bc
languageName: node
linkType: hard
@@ -10469,12 +11299,12 @@ __metadata:
languageName: node
linkType: hard
-"better-opn@npm:^2.1.1":
- version: 2.1.1
- resolution: "better-opn@npm:2.1.1"
+"better-opn@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "better-opn@npm:3.0.2"
dependencies:
- open: "npm:^7.0.3"
- checksum: dcfa3cd28705caca27e676a990bf9cc50711c25531a1933b725e73b9b48824eeacd74c04fc34ae8bc8c8beca8b1d54876473352a1081172bae1fae3a56ec53e7
+ open: "npm:^8.0.4"
+ checksum: 24668e5a837d0d2c0edf17ad5ebcfeb00a8a5578a5eb09f7a409e1a60617cdfea40b8ebfc95e5f12d9568157930d033e6805788fcf0780413ac982c95d3745d1
languageName: node
linkType: hard
@@ -10764,22 +11594,6 @@ __metadata:
languageName: node
linkType: hard
-"boxen@npm:^5.1.2":
- version: 5.1.2
- resolution: "boxen@npm:5.1.2"
- dependencies:
- ansi-align: "npm:^3.0.0"
- camelcase: "npm:^6.2.0"
- chalk: "npm:^4.1.0"
- cli-boxes: "npm:^2.2.1"
- string-width: "npm:^4.2.2"
- type-fest: "npm:^0.20.2"
- widest-line: "npm:^3.1.0"
- wrap-ansi: "npm:^7.0.0"
- checksum: bc3d3d88d77dc8cabb0811844acdbd4805e8ca8011222345330817737042bf6f86d93eb74a3f7e0cab634e64ef69db03cf52b480761ed90a965de0c8ff1bea8c
- languageName: node
- linkType: hard
-
"bplist-parser@npm:^0.2.0":
version: 0.2.0
resolution: "bplist-parser@npm:0.2.0"
@@ -11064,17 +11878,17 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4":
- version: 4.21.5
- resolution: "browserslist@npm:4.21.5"
+"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1":
+ version: 4.22.1
+ resolution: "browserslist@npm:4.22.1"
dependencies:
- caniuse-lite: "npm:^1.0.30001449"
- electron-to-chromium: "npm:^1.4.284"
- node-releases: "npm:^2.0.8"
- update-browserslist-db: "npm:^1.0.10"
+ caniuse-lite: "npm:^1.0.30001541"
+ electron-to-chromium: "npm:^1.4.535"
+ node-releases: "npm:^2.0.13"
+ update-browserslist-db: "npm:^1.0.13"
bin:
browserslist: cli.js
- checksum: 560ec095ab4fa878f611ddf29038193d3a40ce69282dd15e633bcb9523fa25122e566d34192ab45e261a637d768884e7318cb3545533720469ee8f10d10c3298
+ checksum: 4a515168e0589c7b1ccbf13a93116ce0418cc5e65d228ec036022cf0e08773fdfb732e2abbf1e1188b96d19ecd4dd707504e75b6d393cba2782fc7d6a7fdefe8
languageName: node
linkType: hard
@@ -11538,10 +12352,10 @@ __metadata:
languageName: node
linkType: hard
-"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449":
- version: 1.0.30001497
- resolution: "caniuse-lite@npm:1.0.30001497"
- checksum: 465df9cd0d642a2d41531ea3fb10ff4b95de138df47df2f9f940c7ec04b36b94a7ed656143a66107668ce4fba4f3465a695419018d6d59b908452237e3838172
+"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001541":
+ version: 1.0.30001549
+ resolution: "caniuse-lite@npm:1.0.30001549"
+ checksum: 515ea123e5249075566a602e2c6a3239e16283d3cd4b78daf4fa86569c450ea6eec8a1c2d2cc33e3d554fa37b3a203306dc8423fee635ec04a86b2a9164dbbf2
languageName: node
linkType: hard
@@ -11646,7 +12460,7 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2":
+"chalk@npm:^2.0.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2":
version: 2.4.2
resolution: "chalk@npm:2.4.2"
dependencies:
@@ -11965,13 +12779,6 @@ __metadata:
languageName: node
linkType: hard
-"cli-boxes@npm:^2.2.1":
- version: 2.2.1
- resolution: "cli-boxes@npm:2.2.1"
- checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585
- languageName: node
- linkType: hard
-
"cli-cursor@npm:^3.1.0":
version: 3.1.0
resolution: "cli-cursor@npm:3.1.0"
@@ -12254,7 +13061,7 @@ __metadata:
languageName: node
linkType: hard
-"color-support@npm:^1.1.2, color-support@npm:^1.1.3":
+"color-support@npm:^1.1.3":
version: 1.1.3
resolution: "color-support@npm:1.1.3"
bin:
@@ -12597,7 +13404,7 @@ __metadata:
languageName: node
linkType: hard
-"constants-browserify@npm:~1.0.0":
+"constants-browserify@npm:^1.0.0, constants-browserify@npm:~1.0.0":
version: 1.0.0
resolution: "constants-browserify@npm:1.0.0"
checksum: 49ef0babd907616dddde6905b80fe44ad5948e1eaaf6cf65d5f23a8c60c029ff63a1198c364665be1d6b2cb183d7e12921f33049cc126734ade84a3cfdbc83f6
@@ -12744,12 +13551,12 @@ __metadata:
languageName: node
linkType: hard
-"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.25.1":
- version: 3.27.1
- resolution: "core-js-compat@npm:3.27.1"
+"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.32.2":
+ version: 3.33.0
+ resolution: "core-js-compat@npm:3.33.0"
dependencies:
- browserslist: "npm:^4.21.4"
- checksum: 244b417a34837fc1d55845f334faa0b48e5fb6a656623b06756307a86a610cebb1d5930c7388cd591020985c16a3c2a32b82b6ff439b20aa1acca95cc0dfdf59
+ browserslist: "npm:^4.22.1"
+ checksum: b1a5f7aab1c6ac0efd86c1412a5b27fb372c4e52c4b8f2c80b05216385125c4de30e4c36e4bcc6bfeec917a56e7736c87fab6a301ff8faaa1ae4acf81643fc9a
languageName: node
linkType: hard
@@ -14546,10 +15353,10 @@ __metadata:
languageName: node
linkType: hard
-"electron-to-chromium@npm:^1.4.284":
- version: 1.4.376
- resolution: "electron-to-chromium@npm:1.4.376"
- checksum: f2f6ec87a0dfe3bbeab84688d5ba6a767f627e3a417faf588d76a0a7054cddefc366ca693f2a0ab09c29c5b15a7715f5940c51596b12e684316923d7cad11770
+"electron-to-chromium@npm:^1.4.535":
+ version: 1.4.554
+ resolution: "electron-to-chromium@npm:1.4.554"
+ checksum: 4e5c910316f0fbd6a139a2ace5c5d9ae6cfbf05480e7a92e3af63133f9da5632831c33418c855bdd52d9756be3a91ed5f51e64b9c508c82031792c39f2e7bd19
languageName: node
linkType: hard
@@ -14955,32 +15762,32 @@ __metadata:
languageName: node
linkType: hard
-"esbuild@npm:^0.17.0":
- version: 0.17.19
- resolution: "esbuild@npm:0.17.19"
- dependencies:
- "@esbuild/android-arm": "npm:0.17.19"
- "@esbuild/android-arm64": "npm:0.17.19"
- "@esbuild/android-x64": "npm:0.17.19"
- "@esbuild/darwin-arm64": "npm:0.17.19"
- "@esbuild/darwin-x64": "npm:0.17.19"
- "@esbuild/freebsd-arm64": "npm:0.17.19"
- "@esbuild/freebsd-x64": "npm:0.17.19"
- "@esbuild/linux-arm": "npm:0.17.19"
- "@esbuild/linux-arm64": "npm:0.17.19"
- "@esbuild/linux-ia32": "npm:0.17.19"
- "@esbuild/linux-loong64": "npm:0.17.19"
- "@esbuild/linux-mips64el": "npm:0.17.19"
- "@esbuild/linux-ppc64": "npm:0.17.19"
- "@esbuild/linux-riscv64": "npm:0.17.19"
- "@esbuild/linux-s390x": "npm:0.17.19"
- "@esbuild/linux-x64": "npm:0.17.19"
- "@esbuild/netbsd-x64": "npm:0.17.19"
- "@esbuild/openbsd-x64": "npm:0.17.19"
- "@esbuild/sunos-x64": "npm:0.17.19"
- "@esbuild/win32-arm64": "npm:0.17.19"
- "@esbuild/win32-ia32": "npm:0.17.19"
- "@esbuild/win32-x64": "npm:0.17.19"
+"esbuild@npm:^0.18.0":
+ version: 0.18.20
+ resolution: "esbuild@npm:0.18.20"
+ dependencies:
+ "@esbuild/android-arm": "npm:0.18.20"
+ "@esbuild/android-arm64": "npm:0.18.20"
+ "@esbuild/android-x64": "npm:0.18.20"
+ "@esbuild/darwin-arm64": "npm:0.18.20"
+ "@esbuild/darwin-x64": "npm:0.18.20"
+ "@esbuild/freebsd-arm64": "npm:0.18.20"
+ "@esbuild/freebsd-x64": "npm:0.18.20"
+ "@esbuild/linux-arm": "npm:0.18.20"
+ "@esbuild/linux-arm64": "npm:0.18.20"
+ "@esbuild/linux-ia32": "npm:0.18.20"
+ "@esbuild/linux-loong64": "npm:0.18.20"
+ "@esbuild/linux-mips64el": "npm:0.18.20"
+ "@esbuild/linux-ppc64": "npm:0.18.20"
+ "@esbuild/linux-riscv64": "npm:0.18.20"
+ "@esbuild/linux-s390x": "npm:0.18.20"
+ "@esbuild/linux-x64": "npm:0.18.20"
+ "@esbuild/netbsd-x64": "npm:0.18.20"
+ "@esbuild/openbsd-x64": "npm:0.18.20"
+ "@esbuild/sunos-x64": "npm:0.18.20"
+ "@esbuild/win32-arm64": "npm:0.18.20"
+ "@esbuild/win32-ia32": "npm:0.18.20"
+ "@esbuild/win32-x64": "npm:0.18.20"
dependenciesMeta:
"@esbuild/android-arm":
optional: true
@@ -15028,7 +15835,7 @@ __metadata:
optional: true
bin:
esbuild: bin/esbuild
- checksum: 86ada7cad6d37a3445858fee31ca39fc6c0436c7c00b2e07b9ce308235be67f36aefe0dda25da9ab08653fde496d1e759d6ad891ce9479f9e1fb4964c8f2a0fa
+ checksum: 1f723ec71c3aa196473bf3298316eedc3f62d523924652dfeb60701b609792f918fc60db84b420d1d8ba9bfa7d69de2fc1d3157ba47c028bdae5d507a26a3c64
languageName: node
linkType: hard
@@ -15093,14 +15900,13 @@ __metadata:
languageName: node
linkType: hard
-"escodegen@npm:^2.0.0":
- version: 2.0.0
- resolution: "escodegen@npm:2.0.0"
+"escodegen@npm:^2.0.0, escodegen@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "escodegen@npm:2.1.0"
dependencies:
esprima: "npm:^4.0.1"
estraverse: "npm:^5.2.0"
esutils: "npm:^2.0.2"
- optionator: "npm:^0.8.1"
source-map: "npm:~0.6.1"
dependenciesMeta:
source-map:
@@ -15108,7 +15914,7 @@ __metadata:
bin:
escodegen: bin/escodegen.js
esgenerate: bin/esgenerate.js
- checksum: 0f7e404b19b14047dd12b62b2267ba9b68fff02be0d40d71fdcc27dfdd664720e1afae34680892b8a34cdd9280b7b4f81c02f7c7597a8eda0c6d2b4c2b7d07f0
+ checksum: 47719a65b2888b4586e3fa93769068b275961c13089e90d5d01a96a6e8e95871b1c3893576814c8fbf08a4a31a496f37e7b2c937cf231270f4d81de012832c7c
languageName: node
linkType: hard
@@ -15329,9 +16135,9 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-storybook@npm:^0.6.12":
- version: 0.6.12
- resolution: "eslint-plugin-storybook@npm:0.6.12"
+"eslint-plugin-storybook@npm:^0.6.15":
+ version: 0.6.15
+ resolution: "eslint-plugin-storybook@npm:0.6.15"
dependencies:
"@storybook/csf": "npm:^0.0.1"
"@typescript-eslint/utils": "npm:^5.45.0"
@@ -15339,7 +16145,7 @@ __metadata:
ts-dedent: "npm:^2.2.0"
peerDependencies:
eslint: ">=6"
- checksum: 12fc268a2834bec5f512608d90c84a86fd664bdcb8a6a2e085b6808370093c83fdaf09112776d395e739c526c5c8d82ab6bf1159180406723ad5ed905f4b43d1
+ checksum: 0c278594c8474ce2f176ffc6610240ae9d6c8f9dafbff02be61e6ae05f15081ce858c5b16e64d8995a3a3777c9d1725953fcde4312efab9118aa544a75b27c46
languageName: node
linkType: hard
@@ -16738,13 +17544,13 @@ __metadata:
languageName: node
linkType: hard
-"file-system-cache@npm:^2.0.0":
- version: 2.1.1
- resolution: "file-system-cache@npm:2.1.1"
+"file-system-cache@npm:2.3.0":
+ version: 2.3.0
+ resolution: "file-system-cache@npm:2.3.0"
dependencies:
- fs-extra: "npm:^11.1.0"
- ramda: "npm:^0.28.0"
- checksum: 7424d212352b6c0bf55e59ba084f076e807da65674310cd757ea81e5744515bfcf9845547ca3f19e753a8eb8c8024f86256d3e2a13cbe57c9c9cad693efa88dd
+ fs-extra: "npm:11.1.1"
+ ramda: "npm:0.29.0"
+ checksum: 8f0530aaa8bed115ef1b00f69accde8d1311d0eaffc6e37bb0b5057b8be79e6e960823025ea3c980a58147eed0ba690b9906c2229e132f5d96158e9b635a052c
languageName: node
linkType: hard
@@ -17239,9 +18045,9 @@ __metadata:
languageName: node
linkType: hard
-"fork-ts-checker-webpack-plugin@npm:^7.2.8":
- version: 7.3.0
- resolution: "fork-ts-checker-webpack-plugin@npm:7.3.0"
+"fork-ts-checker-webpack-plugin@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0"
dependencies:
"@babel/code-frame": "npm:^7.16.7"
chalk: "npm:^4.1.2"
@@ -17257,12 +18063,8 @@ __metadata:
tapable: "npm:^2.2.1"
peerDependencies:
typescript: ">3.6.0"
- vue-template-compiler: "*"
webpack: ^5.11.0
- peerDependenciesMeta:
- vue-template-compiler:
- optional: true
- checksum: 4dd6e907a07857120530be21d29e9f2a82c57106acf8114c267ef3e5834e28faa6be28893fc5eccb9f0425033b38d0c464c6069e04dcfed9925a34241e0f3d33
+ checksum: 49be81a780271b0e1f8c230c32ddb54d7e7ca562565b29811a94d5e679607b947850b133c3bb63057a71e67ac717c6c86c6d0390d1ecc885b506ae9158cf9bb5
languageName: node
linkType: hard
@@ -17362,6 +18164,17 @@ __metadata:
languageName: node
linkType: hard
+"fs-extra@npm:11.1.1, fs-extra@npm:^11.1.0":
+ version: 11.1.1
+ resolution: "fs-extra@npm:11.1.1"
+ dependencies:
+ graceful-fs: "npm:^4.2.0"
+ jsonfile: "npm:^6.0.1"
+ universalify: "npm:^2.0.0"
+ checksum: c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7
+ languageName: node
+ linkType: hard
+
"fs-extra@npm:^0.30.0":
version: 0.30.0
resolution: "fs-extra@npm:0.30.0"
@@ -17386,17 +18199,6 @@ __metadata:
languageName: node
linkType: hard
-"fs-extra@npm:^11.1.0":
- version: 11.1.1
- resolution: "fs-extra@npm:11.1.1"
- dependencies:
- graceful-fs: "npm:^4.2.0"
- jsonfile: "npm:^6.0.1"
- universalify: "npm:^2.0.0"
- checksum: c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7
- languageName: node
- linkType: hard
-
"fs-extra@npm:^8.1.0":
version: 8.1.0
resolution: "fs-extra@npm:8.1.0"
@@ -17445,10 +18247,10 @@ __metadata:
languageName: node
linkType: hard
-"fs-monkey@npm:^1.0.3":
- version: 1.0.3
- resolution: "fs-monkey@npm:1.0.3"
- checksum: af1abe305863956f5471fe41a4026da7607e866ee5f6c9a9ad6666b51eed102cbba08043eec708e15a1c78ced56bc33c72ee1ddf79720704791c77ed8f274a47
+"fs-monkey@npm:^1.0.4":
+ version: 1.0.5
+ resolution: "fs-monkey@npm:1.0.5"
+ checksum: 7fcdf9267006800d61f1722cf9fa92ed8be8b3ed86614f6d43ab6f87a30f13bc784020465e20728ca4ea65ea7377bfcdbde52b54bf8c3cc2f43a6d62270ebf64
languageName: node
linkType: hard
@@ -17591,23 +18393,6 @@ __metadata:
languageName: node
linkType: hard
-"gauge@npm:^3.0.0":
- version: 3.0.2
- resolution: "gauge@npm:3.0.2"
- dependencies:
- aproba: "npm:^1.0.3 || ^2.0.0"
- color-support: "npm:^1.1.2"
- console-control-strings: "npm:^1.0.0"
- has-unicode: "npm:^2.0.1"
- object-assign: "npm:^4.1.1"
- signal-exit: "npm:^3.0.0"
- string-width: "npm:^4.2.3"
- strip-ansi: "npm:^6.0.1"
- wide-align: "npm:^1.1.2"
- checksum: 46df086451672a5fecd58f7ec86da74542c795f8e00153fbef2884286ce0e86653c3eb23be2d0abb0c4a82b9b2a9dec3b09b6a1cf31c28085fa0376599a26589
- languageName: node
- linkType: hard
-
"gauge@npm:^4.0.3":
version: 4.0.4
resolution: "gauge@npm:4.0.4"
@@ -17737,6 +18522,13 @@ __metadata:
languageName: node
linkType: hard
+"get-nonce@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "get-nonce@npm:1.0.1"
+ checksum: ad5104871d114a694ecc506a2d406e2331beccb961fe1e110dc25556b38bcdbf399a823a8a375976cd8889668156a9561e12ebe3fa6a4c6ba169c8466c2ff868
+ languageName: node
+ linkType: hard
+
"get-npm-tarball-url@npm:^2.0.3":
version: 2.0.3
resolution: "get-npm-tarball-url@npm:2.0.3"
@@ -17927,17 +18719,6 @@ __metadata:
languageName: node
linkType: hard
-"glob-promise@npm:^6.0.2":
- version: 6.0.2
- resolution: "glob-promise@npm:6.0.2"
- dependencies:
- "@types/glob": "npm:^8.0.0"
- peerDependencies:
- glob: ^8.0.3
- checksum: 3caa63b052ddcf28d3498a0c93ef623bc43d0fa57487844782b77175c32db1602fd63e4e26091075125083b21eb3e81b4318d5d24139b9b033a764e64b6b3bc3
- languageName: node
- linkType: hard
-
"glob-stream@npm:^6.1.0":
version: 6.1.0
resolution: "glob-stream@npm:6.1.0"
@@ -18003,18 +18784,18 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^10.2.2":
- version: 10.3.3
- resolution: "glob@npm:10.3.3"
+"glob@npm:^10.0.0, glob@npm:^10.2.2":
+ version: 10.3.10
+ resolution: "glob@npm:10.3.10"
dependencies:
foreground-child: "npm:^3.1.0"
- jackspeak: "npm:^2.0.3"
+ jackspeak: "npm:^2.3.5"
minimatch: "npm:^9.0.1"
minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
path-scurry: "npm:^1.10.1"
bin:
- glob: dist/cjs/src/bin.js
- checksum: 0d1a59dff5d5d7085f9c1e3b0c9c3a7e3a199a013ef8f800c0886e3cfe6f8e293f7847081021a97f96616bf778c053c6937382675f369ec8231c8b95d3ba11e2
+ glob: dist/esm/bin.mjs
+ checksum: 38bdb2c9ce75eb5ed168f309d4ed05b0798f640b637034800a6bf306f39d35409bf278b0eaaffaec07591085d3acb7184a201eae791468f0f617771c2486a6a8
languageName: node
linkType: hard
@@ -19521,7 +20302,7 @@ __metadata:
languageName: node
linkType: hard
-"invariant@npm:2.2.4":
+"invariant@npm:2.2.4, invariant@npm:^2.2.4":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
dependencies:
@@ -20480,16 +21261,6 @@ __metadata:
languageName: node
linkType: hard
-"isomorphic-unfetch@npm:^3.1.0":
- version: 3.1.0
- resolution: "isomorphic-unfetch@npm:3.1.0"
- dependencies:
- node-fetch: "npm:^2.6.1"
- unfetch: "npm:^4.2.0"
- checksum: 4e760d9a3f94b42c59fe5c6b53202469cecd864875dcac927668b1f43eb57698422a0086fadde47f7815752c4f4e30ecf1ce9a0eb09c44a871a2484dbc580b39
- languageName: node
- linkType: hard
-
"isomorphic-ws@npm:^4.0.1":
version: 4.0.1
resolution: "isomorphic-ws@npm:4.0.1"
@@ -20594,16 +21365,16 @@ __metadata:
languageName: node
linkType: hard
-"jackspeak@npm:^2.0.3":
- version: 2.2.1
- resolution: "jackspeak@npm:2.2.1"
+"jackspeak@npm:^2.3.5":
+ version: 2.3.6
+ resolution: "jackspeak@npm:2.3.6"
dependencies:
"@isaacs/cliui": "npm:^8.0.2"
"@pkgjs/parseargs": "npm:^0.11.0"
dependenciesMeta:
"@pkgjs/parseargs":
optional: true
- checksum: 69da974c05e5623743694484a9441f7dfa6b340daa20522fd9466edc132608012d5194f44167c706f62d1f87af96daf1e2b8cc62960153beea468cfaf99ed980
+ checksum: 6e6490d676af8c94a7b5b29b8fd5629f21346911ebe2e32931c2a54210134408171c24cee1a109df2ec19894ad04a429402a8438cbf5cc2794585d35428ace76
languageName: node
linkType: hard
@@ -22031,7 +22802,7 @@ __metadata:
languageName: node
linkType: hard
-"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.2":
+"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.2, json5@npm:^2.2.3":
version: 2.2.3
resolution: "json5@npm:2.2.3"
bin:
@@ -23643,12 +24414,12 @@ __metadata:
languageName: node
linkType: hard
-"memfs@npm:^3.4.1, memfs@npm:^3.4.3":
- version: 3.5.1
- resolution: "memfs@npm:3.5.1"
+"memfs@npm:^3.4.1, memfs@npm:^3.4.12":
+ version: 3.5.3
+ resolution: "memfs@npm:3.5.3"
dependencies:
- fs-monkey: "npm:^1.0.3"
- checksum: 47a112689adcc282a0b80fc296d9145564c398c567ffa27f8e7c2d0ed0059e1604109dc1d0469bf3d810af3e9d3a4fea02b18adfc556155b5def1ccf1ae13836
+ fs-monkey: "npm:^1.0.4"
+ checksum: 7c9cdb453a6b06e87f11e2dbe6c518fd3c1c1581b370ffa24f42f3fd5b1db8c2203f596e43321a0032963f3e9b66400f2c3cf043904ac496d6ae33eafd0878fe
languageName: node
linkType: hard
@@ -23773,15 +24544,15 @@ __metadata:
dependencies:
"@actions/core": "npm:^1.10.0"
"@actions/github": "npm:^5.1.1"
- "@babel/code-frame": "npm:^7.12.13"
- "@babel/core": "npm:^7.21.5"
- "@babel/eslint-parser": "npm:^7.13.14"
- "@babel/eslint-plugin": "npm:^7.12.1"
- "@babel/preset-env": "npm:^7.5.5"
- "@babel/preset-react": "npm:^7.0.0"
- "@babel/preset-typescript": "npm:^7.16.7"
- "@babel/register": "npm:^7.5.5"
- "@babel/runtime": "npm:^7.18.9"
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/core": "npm:^7.23.2"
+ "@babel/eslint-parser": "npm:^7.22.15"
+ "@babel/eslint-plugin": "npm:^7.22.10"
+ "@babel/preset-env": "npm:^7.23.2"
+ "@babel/preset-react": "npm:^7.22.15"
+ "@babel/preset-typescript": "npm:^7.23.2"
+ "@babel/register": "npm:^7.22.15"
+ "@babel/runtime": "npm:^7.23.2"
"@blockaid/ppom_release": "npm:^1.2.8"
"@download/blockies": "npm:^1.0.3"
"@ensdomains/content-hash": "npm:^2.5.6"
@@ -23873,21 +24644,21 @@ __metadata:
"@sentry/integrations": "npm:^7.53.0"
"@sentry/types": "npm:^7.53.0"
"@sentry/utils": "npm:^7.53.0"
- "@storybook/addon-a11y": "npm:^7.0.11"
- "@storybook/addon-actions": "npm:^7.0.11"
- "@storybook/addon-essentials": "npm:^7.0.11"
+ "@storybook/addon-a11y": "npm:^7.4.6"
+ "@storybook/addon-actions": "npm:^7.4.6"
+ "@storybook/addon-essentials": "npm:^7.4.6"
"@storybook/addon-knobs": "npm:^7.0.2"
- "@storybook/addon-mdx-gfm": "npm:^7.0.11"
- "@storybook/addons": "npm:^7.0.11"
- "@storybook/api": "npm:^7.0.11"
- "@storybook/client-api": "npm:^7.0.11"
- "@storybook/components": "npm:^7.0.11"
- "@storybook/core-events": "npm:^7.0.11"
- "@storybook/react": "npm:^7.0.11"
- "@storybook/react-webpack5": "npm:^7.0.11"
+ "@storybook/addon-mdx-gfm": "npm:^7.4.6"
+ "@storybook/addons": "npm:^7.4.6"
+ "@storybook/api": "npm:^7.4.6"
+ "@storybook/client-api": "npm:^7.4.6"
+ "@storybook/components": "npm:^7.4.6"
+ "@storybook/core-events": "npm:^7.4.6"
+ "@storybook/react": "npm:^7.4.6"
+ "@storybook/react-webpack5": "npm:^7.4.6"
"@storybook/storybook-deployer": "npm:^2.8.16"
"@storybook/test-runner": "npm:^0.10.0"
- "@storybook/theming": "npm:^7.0.11"
+ "@storybook/theming": "npm:^7.4.6"
"@testing-library/jest-dom": "npm:^5.11.10"
"@testing-library/react": "npm:^10.4.8"
"@testing-library/react-hooks": "npm:^8.0.1"
@@ -23969,7 +24740,7 @@ __metadata:
eslint-plugin-prettier: "npm:^4.2.1"
eslint-plugin-react: "npm:^7.23.1"
eslint-plugin-react-hooks: "npm:^4.2.0"
- eslint-plugin-storybook: "npm:^0.6.12"
+ eslint-plugin-storybook: "npm:^0.6.15"
eth-ens-namehash: "npm:^2.0.8"
eth-json-rpc-filters: "npm:^6.0.0"
eth-lattice-keyring: "npm:^0.12.4"
@@ -24093,8 +24864,8 @@ __metadata:
source-map: "npm:^0.7.2"
source-map-explorer: "npm:^2.4.2"
squirrelly: "npm:^9.0.0"
- storybook: "npm:^7.0.11"
- storybook-dark-mode: "npm:^3.0.0"
+ storybook: "npm:^7.4.6"
+ storybook-dark-mode: "npm:^3.0.1"
stream-browserify: "npm:^3.0.0"
string.prototype.matchall: "npm:^4.0.2"
style-loader: "npm:^0.21.0"
@@ -25090,13 +25861,6 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:2.1.1":
- version: 2.1.1
- resolution: "ms@npm:2.1.1"
- checksum: 0078a23cd916a9a7435c413caa14c57d4b4f6e2470e0ab554b6964163c8a4436448ac7ae020e883685475da6b6796cc396b670f579cb275db288a21e3e57721e
- languageName: node
- linkType: hard
-
"ms@npm:2.1.2":
version: 2.1.2
resolution: "ms@npm:2.1.2"
@@ -25293,7 +26057,7 @@ __metadata:
languageName: node
linkType: hard
-"nanoid@npm:^3.1.31, nanoid@npm:^3.3.1, nanoid@npm:^3.3.4, nanoid@npm:^3.3.6":
+"nanoid@npm:^3.1.31, nanoid@npm:^3.3.4, nanoid@npm:^3.3.6":
version: 3.3.6
resolution: "nanoid@npm:3.3.6"
bin:
@@ -25485,9 +26249,9 @@ __metadata:
languageName: node
linkType: hard
-"node-fetch@npm:^2, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.11, node-fetch@npm:^2.6.7, node-fetch@npm:~2.6.1":
- version: 2.6.11
- resolution: "node-fetch@npm:2.6.11"
+"node-fetch@npm:^2, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.11, node-fetch@npm:^2.6.7":
+ version: 2.7.0
+ resolution: "node-fetch@npm:2.7.0"
dependencies:
whatwg-url: "npm:^5.0.0"
peerDependencies:
@@ -25495,7 +26259,7 @@ __metadata:
peerDependenciesMeta:
encoding:
optional: true
- checksum: de59f077d419ecb7889c2fda6c641af99ab7d4131e7a90803b68b2911c81f77483f15d515096603a6dd3dc738b53d8c28b68d47d38c7c41770c0dbf4238fa6fe
+ checksum: b24f8a3dc937f388192e59bcf9d0857d7b6940a2496f328381641cb616efccc9866e89ec43f2ec956bbd6c3d3ee05524ce77fe7b29ccd34692b3a16f237d6676
languageName: node
linkType: hard
@@ -25510,6 +26274,20 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch@npm:~2.6.1":
+ version: 2.6.11
+ resolution: "node-fetch@npm:2.6.11"
+ dependencies:
+ whatwg-url: "npm:^5.0.0"
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ checksum: de59f077d419ecb7889c2fda6c641af99ab7d4131e7a90803b68b2911c81f77483f15d515096603a6dd3dc738b53d8c28b68d47d38c7c41770c0dbf4238fa6fe
+ languageName: node
+ linkType: hard
+
"node-forge@npm:^1.2.1":
version: 1.3.0
resolution: "node-forge@npm:1.3.0"
@@ -25625,10 +26403,10 @@ __metadata:
languageName: node
linkType: hard
-"node-releases@npm:^2.0.8":
- version: 2.0.10
- resolution: "node-releases@npm:2.0.10"
- checksum: d784ecde25696a15d449c4433077f5cce620ed30a1656c4abf31282bfc691a70d9618bae6868d247a67914d1be5cc4fde22f65a05f4398cdfb92e0fc83cadfbc
+"node-releases@npm:^2.0.13":
+ version: 2.0.13
+ resolution: "node-releases@npm:2.0.13"
+ checksum: c9bb813aab2717ff8b3015ecd4c7c5670a5546e9577699a7c84e8d69230cd3b1ce8f863f8e9b50f18b19a5ffa4b9c1a706bbbfe4c378de955fedbab04488a338
languageName: node
linkType: hard
@@ -25819,18 +26597,6 @@ __metadata:
languageName: node
linkType: hard
-"npmlog@npm:^5.0.1":
- version: 5.0.1
- resolution: "npmlog@npm:5.0.1"
- dependencies:
- are-we-there-yet: "npm:^2.0.0"
- console-control-strings: "npm:^1.1.0"
- gauge: "npm:^3.0.0"
- set-blocking: "npm:^2.0.0"
- checksum: f42c7b9584cdd26a13c41a21930b6f5912896b6419ab15be88cc5721fc792f1c3dd30eb602b26ae08575694628ba70afdcf3675d86e4f450fc544757e52726ec
- languageName: node
- linkType: hard
-
"npmlog@npm:^6.0.0":
version: 6.0.2
resolution: "npmlog@npm:6.0.2"
@@ -26180,7 +26946,7 @@ __metadata:
languageName: node
linkType: hard
-"open@npm:^8.4.0":
+"open@npm:^8.0.4, open@npm:^8.4.0":
version: 8.4.2
resolution: "open@npm:8.4.2"
dependencies:
@@ -26699,7 +27465,7 @@ __metadata:
languageName: node
linkType: hard
-"parseurl@npm:^1.3.2, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3":
+"parseurl@npm:^1.3.2, parseurl@npm:~1.3.3":
version: 1.3.3
resolution: "parseurl@npm:1.3.3"
checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2
@@ -27937,13 +28703,6 @@ __metadata:
languageName: node
linkType: hard
-"punycode@npm:1.3.2":
- version: 1.3.2
- resolution: "punycode@npm:1.3.2"
- checksum: 5c57d588c60679fd1b9400c75de06e327723f2b38e21e195027ba7a59006725f7b817dce5b26d47c7f8c1c842d28275aa59955a06d2e467cffeba70b7e0576bb
- languageName: node
- linkType: hard
-
"punycode@npm:2.1.0":
version: 2.1.0
resolution: "punycode@npm:2.1.0"
@@ -27951,7 +28710,7 @@ __metadata:
languageName: node
linkType: hard
-"punycode@npm:^1.3.2":
+"punycode@npm:^1.3.2, punycode@npm:^1.4.1":
version: 1.4.1
resolution: "punycode@npm:1.4.1"
checksum: af2700dde1a116791ff8301348ff344c47d6c224e875057237d1b5112035655fb07a6175cfdb8bf0e3a8cdfd2dc82b3a622e0aefd605566c0e949a6d0d1256a4
@@ -28035,7 +28794,7 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:^6.10.0, qs@npm:^6.11.1, qs@npm:^6.4.0":
+"qs@npm:^6.10.0, qs@npm:^6.11.1, qs@npm:^6.11.2, qs@npm:^6.4.0":
version: 6.11.2
resolution: "qs@npm:6.11.2"
dependencies:
@@ -28154,10 +28913,10 @@ __metadata:
languageName: node
linkType: hard
-"ramda@npm:^0.28.0":
- version: 0.28.0
- resolution: "ramda@npm:0.28.0"
- checksum: 1925e1881ece9feacd7eae620036996dcd3fb4973d931200e8594813238169afeaae8cc4377b4cb40978c26a07929f4e7f88cb2776a6c41b2e65f18dfba6530d
+"ramda@npm:0.29.0":
+ version: 0.29.0
+ resolution: "ramda@npm:0.29.0"
+ checksum: b156660f2c58b4a13bcc4f1a0eabc1145d8db11d33d26a2fb03cd6adf3983a1c1f2bbaaf708c421029e9b09684262d056752623f7e62b79a503fb9217dec69d4
languageName: node
linkType: hard
@@ -28532,6 +29291,41 @@ __metadata:
languageName: node
linkType: hard
+"react-remove-scroll-bar@npm:^2.3.3":
+ version: 2.3.4
+ resolution: "react-remove-scroll-bar@npm:2.3.4"
+ dependencies:
+ react-style-singleton: "npm:^2.2.1"
+ tslib: "npm:^2.0.0"
+ peerDependencies:
+ "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: ac028b3ed12e66972cab8656747736729b219dff5a600178d1650300a2a750ace37f7ec82146147d37b092b19874f45cf7a45edceff68ac1f59607a828ca089f
+ languageName: node
+ linkType: hard
+
+"react-remove-scroll@npm:2.5.5":
+ version: 2.5.5
+ resolution: "react-remove-scroll@npm:2.5.5"
+ dependencies:
+ react-remove-scroll-bar: "npm:^2.3.3"
+ react-style-singleton: "npm:^2.2.1"
+ tslib: "npm:^2.1.0"
+ use-callback-ref: "npm:^1.3.0"
+ use-sidecar: "npm:^1.1.2"
+ peerDependencies:
+ "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: f0646ac384ce3852d1f41e30a9f9e251b11cf3b430d1d114c937c8fa7f90a895c06378d0d6b6ff0b2d00cbccf15e845921944fd6074ae67a0fb347a718106d88
+ languageName: node
+ linkType: hard
+
"react-resize-detector@npm:^7.1.2":
version: 7.1.2
resolution: "react-resize-detector@npm:7.1.2"
@@ -28623,6 +29417,23 @@ __metadata:
languageName: node
linkType: hard
+"react-style-singleton@npm:^2.2.1":
+ version: 2.2.1
+ resolution: "react-style-singleton@npm:2.2.1"
+ dependencies:
+ get-nonce: "npm:^1.0.0"
+ invariant: "npm:^2.2.4"
+ tslib: "npm:^2.0.0"
+ peerDependencies:
+ "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 80c58fd6aac3594e351e2e7b048d8a5b09508adb21031a38b3c40911fe58295572eddc640d4b20a7be364842c8ed1120fe30097e22ea055316b375b88d4ff02a
+ languageName: node
+ linkType: hard
+
"react-syntax-highlighter@npm:^15.5.0":
version: 15.5.0
resolution: "react-syntax-highlighter@npm:15.5.0"
@@ -29060,6 +29871,13 @@ __metadata:
languageName: node
linkType: hard
+"regenerator-runtime@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "regenerator-runtime@npm:0.14.0"
+ checksum: 6c19495baefcf5fbb18a281b56a97f0197b5f219f42e571e80877f095320afac0bdb31dab8f8186858e6126950068c3f17a1226437881e3e70446ea66751897c
+ languageName: node
+ linkType: hard
+
"regenerator-runtime@patch:regenerator-runtime@npm%3A0.13.7#./.yarn/patches/regenerator-runtime-npm-0.13.7-41bcbe64ea.patch::locator=metamask-crx%40workspace%3A.":
version: 0.13.7
resolution: "regenerator-runtime@patch:regenerator-runtime@npm%3A0.13.7#./.yarn/patches/regenerator-runtime-npm-0.13.7-41bcbe64ea.patch::version=0.13.7&hash=e1e25a&locator=metamask-crx%40workspace%3A."
@@ -29067,12 +29885,12 @@ __metadata:
languageName: node
linkType: hard
-"regenerator-transform@npm:^0.15.1":
- version: 0.15.1
- resolution: "regenerator-transform@npm:0.15.1"
+"regenerator-transform@npm:^0.15.2":
+ version: 0.15.2
+ resolution: "regenerator-transform@npm:0.15.2"
dependencies:
"@babel/runtime": "npm:^7.8.4"
- checksum: 52a14f325a4e4b422b4019f12e969a4a221db35ccc4cf2b13b9e70a5c7ab276503888338bdfca21f8393ce1dd7adcf9e08557f60d42bf2aec7f6a65a27cde6d0
+ checksum: c4fdcb46d11bbe32605b4b9ed76b21b8d3f241a45153e9dc6f5542fed4c7744fed459f42701f650d5d5956786bf7de57547329d1c05a9df2ed9e367b9d903302
languageName: node
linkType: hard
@@ -29120,17 +29938,17 @@ __metadata:
languageName: node
linkType: hard
-"regexpu-core@npm:^5.2.1":
- version: 5.2.2
- resolution: "regexpu-core@npm:5.2.2"
+"regexpu-core@npm:^5.3.1":
+ version: 5.3.2
+ resolution: "regexpu-core@npm:5.3.2"
dependencies:
+ "@babel/regjsgen": "npm:^0.8.0"
regenerate: "npm:^1.4.2"
regenerate-unicode-properties: "npm:^10.1.0"
- regjsgen: "npm:^0.7.1"
regjsparser: "npm:^0.9.1"
unicode-match-property-ecmascript: "npm:^2.0.0"
unicode-match-property-value-ecmascript: "npm:^2.1.0"
- checksum: ecdc4fe3325023c59b98d0130b409bf81231b201ef452d81ce93be86fbd79cb9e731983eb33ecc7ddf96f05564bf99c73babdc5b9b53241c9e307d7f5f3f2f45
+ checksum: ed0d7c66d84c633fbe8db4939d084c780190eca11f6920807dfb8ebac59e2676952cd8f2008d9c86ae8cf0463ea5fd12c5cff09ef2ce7d51ee6b420a5eb4d177
languageName: node
linkType: hard
@@ -29153,13 +29971,6 @@ __metadata:
languageName: node
linkType: hard
-"regjsgen@npm:^0.7.1":
- version: 0.7.1
- resolution: "regjsgen@npm:0.7.1"
- checksum: 2d731cff11d71e3b97d80d5dae2ea3e009d563c7c78a2d6a01fb05f4fa41330243c38a5d3675401e946d321fb2116ca2f8ee4dbf4fe6d27a23fa0664c44b0dde
- languageName: node
- linkType: hard
-
"regjsparser@npm:^0.9.1":
version: 0.9.1
resolution: "regjsparser@npm:0.9.1"
@@ -29952,13 +30763,6 @@ __metadata:
languageName: node
linkType: hard
-"safe-buffer@npm:5.1.1":
- version: 5.1.1
- resolution: "safe-buffer@npm:5.1.1"
- checksum: e8acac337b7d7e108fcfe2b8b2cb20952abb1ed11dc60968b7adffb19b9477893d44136987a420f90ff4d7a0a1a932f147b3a222f73001f59fb4822097a1616d
- languageName: node
- linkType: hard
-
"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1":
version: 5.1.2
resolution: "safe-buffer@npm:5.1.2"
@@ -30313,7 +31117,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0":
+"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -30400,19 +31204,6 @@ __metadata:
languageName: node
linkType: hard
-"serve-favicon@npm:^2.5.0":
- version: 2.5.0
- resolution: "serve-favicon@npm:2.5.0"
- dependencies:
- etag: "npm:~1.8.1"
- fresh: "npm:0.5.2"
- ms: "npm:2.1.1"
- parseurl: "npm:~1.3.2"
- safe-buffer: "npm:5.1.1"
- checksum: dcb2734bf977a949a0a3bd50f2faf2893314101bdaa034c56baa4fba9bee2ab7f91a013d806b858c793fa50809170e907ced53c4e8ed1797fe0b472b5c6d9936
- languageName: node
- linkType: hard
-
"serve-handler@npm:^6.1.2, serve-handler@npm:^6.1.5":
version: 6.1.5
resolution: "serve-handler@npm:6.1.5"
@@ -30601,7 +31392,7 @@ __metadata:
languageName: node
linkType: hard
-"shelljs@npm:^0.8.1, shelljs@npm:^0.8.5":
+"shelljs@npm:^0.8.1":
version: 0.8.5
resolution: "shelljs@npm:0.8.5"
dependencies:
@@ -31237,9 +32028,9 @@ __metadata:
languageName: node
linkType: hard
-"storybook-dark-mode@npm:^3.0.0":
- version: 3.0.0
- resolution: "storybook-dark-mode@npm:3.0.0"
+"storybook-dark-mode@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "storybook-dark-mode@npm:3.0.1"
dependencies:
"@storybook/addons": "npm:^7.0.0"
"@storybook/api": "npm:^7.0.0"
@@ -31257,19 +32048,19 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: b587495d85ca56a0b4c66652eecf3ad00fd9f2bf3c9e70df56bfdb5d31f67037eab05cc13a823324b68ab91ebb8d0cbb1f6175bad1b6e7b8ef1103e173e10776
+ checksum: 3566a7e65a42825c840e44f66f0a2a3458393e15b4afaf4400c7906d7ce17a55bdb0530005614c9398802c29461d48b74bdf9702440d3b3c9214cecbe41baac4
languageName: node
linkType: hard
-"storybook@npm:^7.0.11":
- version: 7.0.12
- resolution: "storybook@npm:7.0.12"
+"storybook@npm:^7.4.6":
+ version: 7.4.6
+ resolution: "storybook@npm:7.4.6"
dependencies:
- "@storybook/cli": "npm:7.0.12"
+ "@storybook/cli": "npm:7.4.6"
bin:
- sb: index.js
- storybook: index.js
- checksum: 3505ab5772ea62f6311ea397feb6531a115aba59287d3361c8103fe8eb6c693833598641affd24f6c10862f517d96ddfb6f6d78752bd5117e66a45123b329f59
+ sb: ./index.js
+ storybook: ./index.js
+ checksum: 248e5fa2e094e7a0d365f940cc75c036215ad710abb2e4ea33321ac5a2820e1ae991bed5f6c210ba885818e2d1b8f98cace61232e259ee56d969df1e9e8a266b
languageName: node
linkType: hard
@@ -31381,7 +32172,7 @@ __metadata:
languageName: node
linkType: hard
-"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3":
+"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
dependencies:
@@ -32010,6 +32801,16 @@ __metadata:
languageName: node
linkType: hard
+"swc-loader@npm:^0.2.3":
+ version: 0.2.3
+ resolution: "swc-loader@npm:0.2.3"
+ peerDependencies:
+ "@swc/core": ^1.2.147
+ webpack: ">=2"
+ checksum: 010d84d399525c0185d36d62c86c55ae017e7a90046bc8a39be4b7e07526924037868049f6037bc966da98151cb2600934b96a66279b742d3c413a718b427251
+ languageName: node
+ linkType: hard
+
"symbol-observable@npm:^2.0.3":
version: 2.0.3
resolution: "symbol-observable@npm:2.0.3"
@@ -32123,12 +32924,12 @@ __metadata:
languageName: node
linkType: hard
-"telejson@npm:^7.0.3":
- version: 7.1.0
- resolution: "telejson@npm:7.1.0"
+"telejson@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "telejson@npm:7.2.0"
dependencies:
memoizerific: "npm:^1.11.3"
- checksum: 4291ff65de7682d9cf6db36c628c1033f617191662a0d1de8426f5503971b74e1d392fcb47a15dfd60a2fe0736a44c8dea919b61a7e9b592b0d61771af118694
+ checksum: 6e89b3d3c45b5a2aced9132f6a968fcdf758c00be4c3acb115d7d81e95c9e04083a7a4a9b43057fcf48b101156c1607a38f5491615956acb28d4d1f78a4bda20
languageName: node
linkType: hard
@@ -32338,10 +33139,10 @@ __metadata:
languageName: node
linkType: hard
-"tiny-invariant@npm:^1.0.2":
- version: 1.0.6
- resolution: "tiny-invariant@npm:1.0.6"
- checksum: c90b34beea3cb10c49531e754afb0999033a2d7edffef6602922de27678d8a96dcbc0e8f0a959bc272859281b0cd1305b711e25d5edfb1da5fc7135e2a992961
+"tiny-invariant@npm:^1.0.2, tiny-invariant@npm:^1.3.1":
+ version: 1.3.1
+ resolution: "tiny-invariant@npm:1.3.1"
+ checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c
languageName: node
linkType: hard
@@ -32479,6 +33280,13 @@ __metadata:
languageName: node
linkType: hard
+"tocbot@npm:^4.20.1":
+ version: 4.21.2
+ resolution: "tocbot@npm:4.21.2"
+ checksum: eec4703be87d010c47bc9d596c9cc111e74e33856d40a5a9847e696dfadf8d0bfea7ce63fac514f2bb2f208662d3f0a28d9dd02ec2e459d7ee1d6e175bc06c51
+ languageName: node
+ linkType: hard
+
"toggle-selection@npm:^1.0.6":
version: 1.0.6
resolution: "toggle-selection@npm:1.0.6"
@@ -32692,7 +33500,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
+"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
checksum: 7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb
@@ -32829,7 +33637,7 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^2.19.0":
+"type-fest@npm:^2.19.0, type-fest@npm:~2.19":
version: 2.19.0
resolution: "type-fest@npm:2.19.0"
checksum: 7bf9e8fdf34f92c8bb364c0af14ca875fac7e0183f2985498b77be129dc1b3b1ad0a6b3281580f19e48c6105c037fb966ad9934520c69c6434d17fd0af4eed78
@@ -33100,13 +33908,6 @@ __metadata:
languageName: node
linkType: hard
-"unfetch@npm:^4.2.0":
- version: 4.2.0
- resolution: "unfetch@npm:4.2.0"
- checksum: d4924178060b6828d858acef3ce2baea69acd3f3f9e2429fd503a0ed0d2b1ed0ee107786aceadfd167ce884fad12d22b5288eb865a3ea036979b8358b8555c9a
- languageName: node
- linkType: hard
-
"unherit@npm:^1.0.4":
version: 1.1.2
resolution: "unherit@npm:1.1.2"
@@ -33435,15 +34236,15 @@ __metadata:
languageName: node
linkType: hard
-"unplugin@npm:^0.10.2":
- version: 0.10.2
- resolution: "unplugin@npm:0.10.2"
+"unplugin@npm:^1.3.1":
+ version: 1.5.0
+ resolution: "unplugin@npm:1.5.0"
dependencies:
- acorn: "npm:^8.8.0"
+ acorn: "npm:^8.10.0"
chokidar: "npm:^3.5.3"
webpack-sources: "npm:^3.2.3"
- webpack-virtual-modules: "npm:^0.4.5"
- checksum: 10e80fcb949319dcec03c140bd7c878f8f544a8f623329181de0a243400a5a408ad6f9c5825082b3bd02e6e85096605a38d2953d2c8b99e84ebaec7a508696dc
+ webpack-virtual-modules: "npm:^0.5.0"
+ checksum: 4a867f2630b932c34983a4b7c741624789752677ea1a6e3e73ca68a716e7214d50d7855fb4d0e02b4a58f81aaee2def021d54365929be03a57c4b25911ae89c1
languageName: node
linkType: hard
@@ -33503,9 +34304,9 @@ __metadata:
languageName: node
linkType: hard
-"update-browserslist-db@npm:^1.0.10":
- version: 1.0.11
- resolution: "update-browserslist-db@npm:1.0.11"
+"update-browserslist-db@npm:^1.0.13":
+ version: 1.0.13
+ resolution: "update-browserslist-db@npm:1.0.13"
dependencies:
escalade: "npm:^3.1.1"
picocolors: "npm:^1.0.0"
@@ -33513,7 +34314,7 @@ __metadata:
browserslist: ">= 4.21.0"
bin:
update-browserslist-db: cli.js
- checksum: cc1c7a38d15413046bea28ff3c7668a7cb6b4a53d83e8089fa960efd896deb6d1a9deffc2beb8dc0506186a352c8d19804efe5ec7eeb401037e14cf3ea5363f8
+ checksum: 9074b4ef34d2ed931f27d390aafdd391ee7c45ad83c508e8fed6aaae1eb68f81999a768ed8525c6f88d4001a4fbf1b8c0268f099d0e8e72088ec5945ac796acf
languageName: node
linkType: hard
@@ -33586,13 +34387,13 @@ __metadata:
languageName: node
linkType: hard
-"url@npm:~0.11.0":
- version: 0.11.0
- resolution: "url@npm:0.11.0"
+"url@npm:^0.11.0, url@npm:~0.11.0":
+ version: 0.11.3
+ resolution: "url@npm:0.11.3"
dependencies:
- punycode: "npm:1.3.2"
- querystring: "npm:0.2.0"
- checksum: beec744c7ade6ef178fd631e2fe70110c5c53f9e7caea5852703214bfcbf03fd136b98b3b6f4a08bd2420a76f569cbc10c2a86ade7f836ac7d9ff27ed62d8d2d
+ punycode: "npm:^1.4.1"
+ qs: "npm:^6.11.2"
+ checksum: a3a5ba64d8afb4dda111355d94073a9754b88b1de4035554c398b75f3e4d4244d5e7ae9e4554f0d91be72efd416aedbb646fbb1f3dd4cacecca45ed6c9b75145
languageName: node
linkType: hard
@@ -34311,18 +35112,21 @@ __metadata:
languageName: node
linkType: hard
-"webpack-dev-middleware@npm:^5.3.1":
- version: 5.3.3
- resolution: "webpack-dev-middleware@npm:5.3.3"
+"webpack-dev-middleware@npm:^6.1.1":
+ version: 6.1.1
+ resolution: "webpack-dev-middleware@npm:6.1.1"
dependencies:
colorette: "npm:^2.0.10"
- memfs: "npm:^3.4.3"
+ memfs: "npm:^3.4.12"
mime-types: "npm:^2.1.31"
range-parser: "npm:^1.2.1"
schema-utils: "npm:^4.0.0"
peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
- checksum: 31a2f7a11e58a76bdcde1eb8da310b6643844d9b442f9916f48be5b46c103f23490c393c32a9af501ce68226fbb018b811f5a956635ed60a03f9481a4bcd6c76
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ checksum: b0637584f18b02174fd7fc2e6278efb8e2fb5308abe4ffe73658e59ff53a62c05686f161b06bd5c41d42611aa395b8c8f087d7ff8cf2304232c097a694a5b94e
languageName: node
linkType: hard
@@ -34354,10 +35158,10 @@ __metadata:
languageName: node
linkType: hard
-"webpack-virtual-modules@npm:^0.4.3, webpack-virtual-modules@npm:^0.4.5":
- version: 0.4.6
- resolution: "webpack-virtual-modules@npm:0.4.6"
- checksum: b867f62197e5219abfb490e885f2a387aa4c28b9e5aa718203726ece9f75bfd92e8f520d3e084b3ab79d3e392b3df544d66c9cf592a41827c8618e0072cc74ce
+"webpack-virtual-modules@npm:^0.5.0":
+ version: 0.5.0
+ resolution: "webpack-virtual-modules@npm:0.5.0"
+ checksum: 65a8f90c7e6609ba1c4ad2697bb83ae662485893fb545f6aa9a74e3a5d7485bbc50ef057c5bc3feca25d3153ebf9c097c233cbe4d67b52418bc84348dfb20c1a
languageName: node
linkType: hard
@@ -34552,7 +35356,7 @@ __metadata:
languageName: node
linkType: hard
-"wide-align@npm:^1.1.0, wide-align@npm:^1.1.2, wide-align@npm:^1.1.5":
+"wide-align@npm:^1.1.0, wide-align@npm:^1.1.5":
version: 1.1.5
resolution: "wide-align@npm:1.1.5"
dependencies:
@@ -34570,15 +35374,6 @@ __metadata:
languageName: node
linkType: hard
-"widest-line@npm:^3.1.0":
- version: 3.1.0
- resolution: "widest-line@npm:3.1.0"
- dependencies:
- string-width: "npm:^4.0.0"
- checksum: 03db6c9d0af9329c37d74378ff1d91972b12553c7d72a6f4e8525fe61563fa7adb0b9d6e8d546b7e059688712ea874edd5ded475999abdeedf708de9849310e0
- languageName: node
- linkType: hard
-
"wif@npm:^2.0.6":
version: 2.0.6
resolution: "wif@npm:2.0.6"
From 91f6a0d3d0d9fc1762dc6fefb23c64f32818fdc5 Mon Sep 17 00:00:00 2001
From: Ariella Vu <20778143+digiwand@users.noreply.github.com>
Date: Wed, 18 Oct 2023 14:17:12 +0200
Subject: [PATCH 030/121] test:fix:e2e Fix flaky PPOM Blockaid tests by adding
more mock JSON-API requests (#21379)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Discovered PPOM requests may fail resulting in "Request may not be safe"
modal which breaks our checks when we expect PPOM to respond to a benign
or malicious request.
Fixes Blockaid e2e flaky tests by mocking additional requests to avoid
waiting for responses
Additional mocks added:
eth_feeHistory, eth_getTransactionCount, debug_traceCall, and
eth_getBlockByNumber
comments:
1. it's unknown to me why the benign tests are heaps slower than the
malicious tests run in this file.
2. at some point I tested separating each test to get better logging. I
reverted this to save test time.
a. with cases separated
```
```
b. without cases separated
```
```
## **Manual testing steps**
1. yarn build:test:flask
2. run tests e.g.
- yarn test:e2e:single test/e2e/flask/ppom-blockaid-alert.spec.js
--browser=chrome --leave-running=true
- yarn test:e2e:single
test/e2e/flask/ppom-malicious-erc20-approval.spec.js --browser=firefox
--leave-running=true
- yarn test:e2e:single
test/e2e/flask/ppom-malicious-erc20-transfer.spec.js --browser=firefox
--leave-running=true
## **Screenshots/Recordings**
## **Related issues**
Fixes https://github.com/MetaMask/MetaMask-planning/issues/1482
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
...ppom-blockaid-alert-erc20-approval.spec.js | 5 +-
...ppom-blockaid-alert-erc20-transfer.spec.js | 5 +-
test/e2e/flask/ppom-blockaid-alert.spec.js | 223 +++++++++++-------
test/mocks/json-rpc-result.ts | 30 +++
4 files changed, 180 insertions(+), 83 deletions(-)
diff --git a/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js b/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js
index e796fc638adc..10199bd0d68f 100644
--- a/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js
+++ b/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js
@@ -3,6 +3,7 @@ const FixtureBuilder = require('../fixture-builder');
const { mockServerJsonRpc } = require('../mock-server-json-rpc');
const {
+ WINDOW_TITLES,
defaultGanacheOptions,
openDapp,
unlockWallet,
@@ -52,6 +53,7 @@ async function mockInfura(mockServer) {
},
],
['eth_estimateGas'],
+ ['eth_feeHistory'],
['eth_gasPrice'],
['eth_getBalance'],
['eth_getBlockByNumber'],
@@ -62,6 +64,7 @@ async function mockInfura(mockServer) {
params: [CONTRACT_ADDRESS.BUSD],
},
],
+ ['eth_getTransactionCount'],
]);
await mockServer
@@ -191,7 +194,7 @@ describe('PPOM Blockaid Alert - Malicious ERC20 Approval', function () {
// Wait for confirmation pop-up
await driver.waitUntilXWindowHandles(3);
- await driver.switchToWindowWithTitle('MetaMask Notification');
+ await driver.switchToWindowWithTitle(WINDOW_TITLES.Notification);
const bannerAlertFoundByTitle = await driver.findElement({
css: bannerAlertSelector,
diff --git a/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js b/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js
index 26c60f2104c6..0989de0fcacc 100644
--- a/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js
+++ b/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js
@@ -3,6 +3,7 @@ const FixtureBuilder = require('../fixture-builder');
const { mockServerJsonRpc } = require('../mock-server-json-rpc');
const {
+ WINDOW_TITLES,
defaultGanacheOptions,
openDapp,
unlockWallet,
@@ -52,6 +53,7 @@ async function mockInfura(mockServer) {
},
],
['eth_estimateGas'],
+ ['eth_feeHistory'],
['eth_gasPrice'],
['eth_getBalance'],
['eth_getBlockByNumber'],
@@ -62,6 +64,7 @@ async function mockInfura(mockServer) {
params: [CONTRACT_ADDRESS.USDC],
},
],
+ ['eth_getTransactionCount'],
]);
await mockServer
@@ -188,7 +191,7 @@ describe('PPOM Blockaid Alert - Malicious ERC20 Transfer', function () {
// Wait for confirmation pop-up
await driver.waitUntilXWindowHandles(3);
- await driver.switchToWindowWithTitle('MetaMask Notification');
+ await driver.switchToWindowWithTitle(WINDOW_TITLES.Notification);
const bannerAlertFoundByTitle = await driver.findElement({
css: bannerAlertSelector,
diff --git a/test/e2e/flask/ppom-blockaid-alert.spec.js b/test/e2e/flask/ppom-blockaid-alert.spec.js
index 239ed50de226..d030ca4d31ad 100644
--- a/test/e2e/flask/ppom-blockaid-alert.spec.js
+++ b/test/e2e/flask/ppom-blockaid-alert.spec.js
@@ -3,8 +3,8 @@ const FixtureBuilder = require('../fixture-builder');
const { mockServerJsonRpc } = require('../mock-server-json-rpc');
const {
+ WINDOW_TITLES,
defaultGanacheOptions,
- getWindowHandles,
openDapp,
unlockWallet,
withFixtures,
@@ -12,17 +12,131 @@ const {
const bannerAlertSelector = '[data-testid="security-provider-banner-alert"]';
const selectedAddress = '0x5cfe73b6021e818b776b421b1c4db2474086a7e1';
+const mockMaliciousAddress = '0x5fbdb2315678afecb367f032d93f642f64180aa3';
+
+const expectedMaliciousTitle = 'This is a deceptive request';
+
+const testBenignConfigs = [
+ {
+ logExpectedDetail: 'benign eth_sendTransaction with no value',
+ btnSelector: '#sendButton',
+ },
+ {
+ logExpectedDetail: 'benign eth_sendTransaction with value',
+ method: 'eth_sendTransaction',
+ params: [
+ {
+ from: selectedAddress,
+ to: '0xf977814e90da44bfa03b6295a0616a897441acec',
+ value: '0x9184e72a000',
+ },
+ ],
+ },
+ {
+ logExpectedDetail: 'benign Blur eth_sendTransaction',
+ method: 'eth_signTypedData_v4',
+ params: [
+ selectedAddress,
+ '{"types":{"Order":[{"name":"trader","type":"address"},{"name":"side","type":"uint8"},{"name":"matchingPolicy","type":"address"},{"name":"collection","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"paymentToken","type":"address"},{"name":"price","type":"uint256"},{"name":"listingTime","type":"uint256"},{"name":"expirationTime","type":"uint256"},{"name":"fees","type":"Fee[]"},{"name":"salt","type":"uint256"},{"name":"extraParams","type":"bytes"},{"name":"nonce","type":"uint256"}],"Fee":[{"name":"rate","type":"uint16"},{"name":"recipient","type":"address"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}]},"domain":{"name":"Blur Exchange","version":"1.0","chainId":"1","verifyingContract":"0x000000000000ad05ccc4f10045630fb830b95127"},"primaryType":"Order","message":{"trader":"0xd854343f41b2138b686f2d3ba38402a9f7fb4337","side":"1","matchingPolicy":"0x0000000000dab4a563819e8fd93dba3b25bc3495","collection":"0xc4a5025c4563ad0acc09d92c2506e6744dad58eb","tokenId":"30420","amount":"1","paymentToken":"0x0000000000000000000000000000000000000000","price":"1000000000000000000","listingTime":"1679418212","expirationTime":"1680023012","salt":"154790208154270131670189427454206980105","extraParams":"0x01","nonce":"0"}}',
+ ],
+ },
+ {
+ logExpectedDetail: 'benign Seaport eth_sendTransaction',
+ method: 'eth_signTypedData_v4',
+ params: [
+ selectedAddress,
+ '{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"OrderComponents":[{"name":"offerer","type":"address"},{"name":"zone","type":"address"},{"name":"offer","type":"OfferItem[]"},{"name":"consideration","type":"ConsiderationItem[]"},{"name":"orderType","type":"uint8"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"zoneHash","type":"bytes32"},{"name":"salt","type":"uint256"},{"name":"conduitKey","type":"bytes32"},{"name":"counter","type":"uint256"}],"OfferItem":[{"name":"itemType","type":"uint8"},{"name":"token","type":"address"},{"name":"identifierOrCriteria","type":"uint256"},{"name":"startAmount","type":"uint256"},{"name":"endAmount","type":"uint256"}],"ConsiderationItem":[{"name":"itemType","type":"uint8"},{"name":"token","type":"address"},{"name":"identifierOrCriteria","type":"uint256"},{"name":"startAmount","type":"uint256"},{"name":"endAmount","type":"uint256"},{"name":"recipient","type":"address"}]},"primaryType":"OrderComponents","domain":{"name":"Seaport","version":"1.4","chainId":"1","verifyingContract":"0x00000000000001ad428e4906aE43D8F9852d0dD6"},"message":{"offerer":"0xCaFca5eDFb361E8A39a735233f23DAf86CBeD5FC","offer":[{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"2500000000000000","endAmount":"2500000000000000"}],"consideration":[{"itemType":"2","token":"0xaA7200ee500dE2dcde75E996De83CBD73BCa9705","identifierOrCriteria":"11909","startAmount":"1","endAmount":"1","recipient":"0xCaFca5eDFb361E8A39a735233f23DAf86CBeD5FC"},{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"62500000000000","endAmount":"62500000000000","recipient":"0x0000a26b00c1F0DF003000390027140000fAa719"},{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"12500000000000","endAmount":"12500000000000","recipient":"0x8324BdEF2F30E08E368f2Fa2F14143cDCA77423D"}],"startTime":"1681835413","endTime":"1682094598","orderType":"0","zone":"0x004C00500000aD104D7DBd00e3ae0A5C00560C00","zoneHash":"0x0000000000000000000000000000000000000000000000000000000000000000","salt":"24446860302761739304752683030156737591518664810215442929812618382526293324216","conduitKey":"0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000","totalOriginalConsiderationItems":"3","counter":"0"}}',
+ ],
+ },
+ {
+ logExpectedDetail: 'benign eth_signTypedData',
+ btnSelector: '#signTypedData',
+ },
+];
+
+const testMaliciousConfigs = [
+ {
+ btnSelector: '#maliciousPermit',
+ expectedDescription:
+ 'If you approve this request, a third party known for scams might take all your assets.',
+ expectedReason: 'permit_farming',
+ },
+ {
+ btnSelector: '#maliciousRawEthButton',
+ expectedDescription:
+ 'If you approve this request, a third party known for scams will take all your assets.',
+ expectedReason: 'raw_native_token_transfer',
+ },
+ {
+ btnSelector: '#maliciousSeaport',
+ expectedDescription:
+ 'If you approve this request, someone can steal your assets listed on OpenSea.',
+ expectedReason: 'seaport_farming',
+ },
+ {
+ btnSelector: '#maliciousTradeOrder',
+ expectedDescription:
+ 'If you approve this request, you might lose your assets.',
+ expectedReason: 'trade_order_farming',
+ },
+];
async function mockInfura(mockServer) {
await mockServerJsonRpc(mockServer, [
['eth_blockNumber'],
['eth_call'],
['eth_estimateGas'],
+ ['eth_feeHistory'],
['eth_gasPrice'],
['eth_getBalance'],
+ ['eth_getBlockByNumber'],
+ ['eth_getCode'],
+ ['eth_getTransactionCount'],
]);
}
+async function mockInfuraWithMaliciousResponses(mockServer) {
+ await mockInfura(mockServer);
+
+ await mockServer
+ .forPost()
+ .withJsonBodyIncluding({
+ method: 'debug_traceCall',
+ params: [{ accessList: [], data: '0x00000000' }],
+ })
+ .thenCallback((req) => {
+ return {
+ statusCode: 200,
+ json: {
+ jsonrpc: '2.0',
+ id: req.body.json.id,
+ result: {
+ calls: [
+ {
+ error: 'execution reverted',
+ from: '0x0000000000000000000000000000000000000000',
+ gas: '0x1d55c2cb',
+ gasUsed: '0x39c',
+ input: '0x00000000',
+ to: mockMaliciousAddress,
+ type: 'DELEGATECALL',
+ value: '0x0',
+ },
+ ],
+ error: 'execution reverted',
+ from: '0x0000000000000000000000000000000000000000',
+ gas: '0x1dcd6500',
+ gasUsed: '0x721e',
+ input: '0x00000000',
+ to: mockMaliciousAddress,
+ type: 'CALL',
+ value: '0x0',
+ },
+ },
+ };
+ });
+}
+
/**
* Tests various Blockaid PPOM security alerts. Some other tests live in separate files due to
* the need for more sophisticated JSON-RPC mock requests. Some example PPOM Blockaid
@@ -52,44 +166,6 @@ describe('Confirmation Security Alert - Blockaid', function () {
await unlockWallet(driver);
await openDapp(driver);
- const testBenignConfigs = [
- {
- logExpectedDetail: 'Benign eth_sendTransaction with no value',
- btnSelector: '#sendButton',
- },
- {
- logExpectedDetail: 'Benign eth_sendTransaction with value',
- method: 'eth_sendTransaction',
- params: [
- {
- from: selectedAddress,
- to: '0xf977814e90da44bfa03b6295a0616a897441acec',
- value: '0x9184e72a000',
- },
- ],
- },
- {
- logExpectedDetail: 'Benign Blur eth_sendTransaction',
- method: 'eth_signTypedData_v4',
- params: [
- selectedAddress,
- '{"types":{"Order":[{"name":"trader","type":"address"},{"name":"side","type":"uint8"},{"name":"matchingPolicy","type":"address"},{"name":"collection","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"paymentToken","type":"address"},{"name":"price","type":"uint256"},{"name":"listingTime","type":"uint256"},{"name":"expirationTime","type":"uint256"},{"name":"fees","type":"Fee[]"},{"name":"salt","type":"uint256"},{"name":"extraParams","type":"bytes"},{"name":"nonce","type":"uint256"}],"Fee":[{"name":"rate","type":"uint16"},{"name":"recipient","type":"address"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}]},"domain":{"name":"Blur Exchange","version":"1.0","chainId":"1","verifyingContract":"0x000000000000ad05ccc4f10045630fb830b95127"},"primaryType":"Order","message":{"trader":"0xd854343f41b2138b686f2d3ba38402a9f7fb4337","side":"1","matchingPolicy":"0x0000000000dab4a563819e8fd93dba3b25bc3495","collection":"0xc4a5025c4563ad0acc09d92c2506e6744dad58eb","tokenId":"30420","amount":"1","paymentToken":"0x0000000000000000000000000000000000000000","price":"1000000000000000000","listingTime":"1679418212","expirationTime":"1680023012","salt":"154790208154270131670189427454206980105","extraParams":"0x01","nonce":"0"}}',
- ],
- },
- {
- logExpectedDetail: 'Benign Seaport eth_sendTransaction',
- method: 'eth_signTypedData_v4',
- params: [
- selectedAddress,
- '{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"OrderComponents":[{"name":"offerer","type":"address"},{"name":"zone","type":"address"},{"name":"offer","type":"OfferItem[]"},{"name":"consideration","type":"ConsiderationItem[]"},{"name":"orderType","type":"uint8"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"zoneHash","type":"bytes32"},{"name":"salt","type":"uint256"},{"name":"conduitKey","type":"bytes32"},{"name":"counter","type":"uint256"}],"OfferItem":[{"name":"itemType","type":"uint8"},{"name":"token","type":"address"},{"name":"identifierOrCriteria","type":"uint256"},{"name":"startAmount","type":"uint256"},{"name":"endAmount","type":"uint256"}],"ConsiderationItem":[{"name":"itemType","type":"uint8"},{"name":"token","type":"address"},{"name":"identifierOrCriteria","type":"uint256"},{"name":"startAmount","type":"uint256"},{"name":"endAmount","type":"uint256"},{"name":"recipient","type":"address"}]},"primaryType":"OrderComponents","domain":{"name":"Seaport","version":"1.4","chainId":"1","verifyingContract":"0x00000000000001ad428e4906aE43D8F9852d0dD6"},"message":{"offerer":"0xCaFca5eDFb361E8A39a735233f23DAf86CBeD5FC","offer":[{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"2500000000000000","endAmount":"2500000000000000"}],"consideration":[{"itemType":"2","token":"0xaA7200ee500dE2dcde75E996De83CBD73BCa9705","identifierOrCriteria":"11909","startAmount":"1","endAmount":"1","recipient":"0xCaFca5eDFb361E8A39a735233f23DAf86CBeD5FC"},{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"62500000000000","endAmount":"62500000000000","recipient":"0x0000a26b00c1F0DF003000390027140000fAa719"},{"itemType":"1","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","identifierOrCriteria":"0","startAmount":"12500000000000","endAmount":"12500000000000","recipient":"0x8324BdEF2F30E08E368f2Fa2F14143cDCA77423D"}],"startTime":"1681835413","endTime":"1682094598","orderType":"0","zone":"0x004C00500000aD104D7DBd00e3ae0A5C00560C00","zoneHash":"0x0000000000000000000000000000000000000000000000000000000000000000","salt":"24446860302761739304752683030156737591518664810215442929812618382526293324216","conduitKey":"0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000","totalOriginalConsiderationItems":"3","counter":"0"}}',
- ],
- },
- {
- logExpectedDetail: 'Benign eth_signTypedData',
- btnSelector: '#signTypedData',
- },
- ];
-
for (const config of testBenignConfigs) {
const { btnSelector, logExpectedDetail, method, params } = config;
@@ -107,10 +183,12 @@ describe('Confirmation Security Alert - Blockaid', function () {
);
}
+ const windowHandles = await driver.waitUntilXWindowHandles(3);
// Wait for confirmation pop-up
- await driver.waitUntilXWindowHandles(3);
- const windowHandles = await getWindowHandles(driver, 3);
- await driver.switchToWindowWithTitle('MetaMask Notification');
+ await driver.switchToWindowWithTitle(
+ WINDOW_TITLES.Notification,
+ windowHandles,
+ );
const isPresent = await driver.isElementPresent(bannerAlertSelector);
assert.equal(
@@ -121,7 +199,10 @@ describe('Confirmation Security Alert - Blockaid', function () {
// Wait for confirmation pop-up to close
await driver.clickElement({ text: 'Reject', tag: 'button' });
- await driver.switchToWindow(windowHandles.dapp);
+ await driver.switchToWindowWithTitle(
+ WINDOW_TITLES.TestDApp,
+ windowHandles,
+ );
}
},
);
@@ -144,7 +225,7 @@ describe('Confirmation Security Alert - Blockaid', function () {
})
.build(),
defaultGanacheOptions,
- testSpecificMock: mockInfura,
+ testSpecificMock: mockInfuraWithMaliciousResponses,
title: this.test.title,
},
@@ -153,35 +234,6 @@ describe('Confirmation Security Alert - Blockaid', function () {
await unlockWallet(driver);
await openDapp(driver);
- const expectedTitle = 'This is a deceptive request';
-
- const testMaliciousConfigs = [
- {
- btnSelector: '#maliciousPermit',
- expectedDescription:
- 'If you approve this request, a third party known for scams might take all your assets.',
- expectedReason: 'permit_farming',
- },
- {
- btnSelector: '#maliciousRawEthButton',
- expectedDescription:
- 'If you approve this request, a third party known for scams will take all your assets.',
- expectedReason: 'raw_native_token_transfer',
- },
- {
- btnSelector: '#maliciousSeaport',
- expectedDescription:
- 'If you approve this request, someone can steal your assets listed on OpenSea.',
- expectedReason: 'seaport_farming',
- },
- {
- btnSelector: '#maliciousTradeOrder',
- expectedDescription:
- 'If you approve this request, you might lose your assets.',
- expectedReason: 'trade_order_farming',
- },
- ];
-
for (const config of testMaliciousConfigs) {
const { expectedDescription, expectedReason, btnSelector } = config;
@@ -189,19 +241,22 @@ describe('Confirmation Security Alert - Blockaid', function () {
await driver.clickElement(btnSelector);
// Wait for confirmation pop-up
- await driver.waitUntilXWindowHandles(3);
- const windowHandles = await getWindowHandles(driver, 3);
- await driver.switchToWindowWithTitle('MetaMask Notification');
+ const windowHandles = await driver.waitUntilXWindowHandles(3);
+ await driver.switchToWindowWithTitle(
+ WINDOW_TITLES.Notification,
+ windowHandles,
+ );
+ // Find element by title
const bannerAlertFoundByTitle = await driver.findElement({
css: bannerAlertSelector,
- text: expectedTitle,
+ text: expectedMaliciousTitle,
});
const bannerAlertText = await bannerAlertFoundByTitle.getText();
assert(
bannerAlertFoundByTitle,
- `Banner alert not found. Expected Title: ${expectedTitle} \nExpected reason: ${expectedReason}\n`,
+ `Banner alert not found. Expected Title: ${expectedMaliciousTitle} \nExpected reason: ${expectedReason}\n`,
);
assert(
bannerAlertText.includes(expectedDescription),
@@ -210,7 +265,10 @@ describe('Confirmation Security Alert - Blockaid', function () {
// Wait for confirmation pop-up to close
await driver.clickElement({ text: 'Reject', tag: 'button' });
- await driver.switchToWindow(windowHandles.dapp);
+ await driver.switchToWindowWithTitle(
+ WINDOW_TITLES.TestDApp,
+ windowHandles,
+ );
}
},
);
@@ -240,8 +298,11 @@ describe('Confirmation Security Alert - Blockaid', function () {
await driver.clickElement('#maliciousApprovalButton');
// Wait for confirmation pop-up
- await driver.waitUntilXWindowHandles(3);
- await driver.switchToWindowWithTitle('MetaMask Notification');
+ const windowHandles = await driver.waitUntilXWindowHandles(3);
+ await driver.switchToWindowWithTitle(
+ WINDOW_TITLES.Notification,
+ windowHandles,
+ );
const expectedTitle = 'Request may not be safe';
diff --git a/test/mocks/json-rpc-result.ts b/test/mocks/json-rpc-result.ts
index 6e07c821d881..a5166eba8b7c 100644
--- a/test/mocks/json-rpc-result.ts
+++ b/test/mocks/json-rpc-result.ts
@@ -23,6 +23,31 @@ export const mockJsonRpcResult: mockJsonRpcResultType = {
'0x0000000000000000000000000000000000000000000000000ddfe4d79cbd3de5',
},
+ eth_feeHistory: {
+ default: {
+ baseFeePerGas: [
+ '0x69b11e562',
+ '0x666a7c239',
+ '0x6d9e609f6',
+ '0x6e9ab5408',
+ '0x6bca983cb',
+ '0x6a6f790c3',
+ ],
+ gasUsedRatio: [
+ 0.37602026666666666, 0.7813118333333333, 0.5359671, 0.39827006666666664,
+ 0.44968263333333336,
+ ],
+ oldestBlock: '0x115e9c0',
+ reward: [
+ ['0xfbc521', '0x21239e6', '0x5f5e100'],
+ ['0x5f5e100', '0x68e7780', '0x314050eb'],
+ ['0xfbc521', '0xfbc521', '0xfbc521'],
+ ['0x21239e6', '0x5f5e100', '0x5f5e100'],
+ ['0x21239e6', '0x5f5e100', '0x5f5e100'],
+ ],
+ },
+ },
+
eth_gasPrice: {
default: '0x09184e72a000',
},
@@ -275,7 +300,12 @@ export const mockJsonRpcResult: mockJsonRpcResultType = {
},
eth_getCode: {
+ default: '0x',
BUSD: '0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633659cfe681146100765780634f1ef286146100975780635c60da1b146100b75780638f283970146100e8578063f851a44014610109575b61007461011e565b005b34801561008257600080fd5b50610074600160a060020a0360043516610138565b61007460048035600160a060020a03169060248035908101910135610172565b3480156100c357600080fd5b506100cc6101ea565b60408051600160a060020a039092168252519081900360200190f35b3480156100f457600080fd5b50610074600160a060020a0360043516610227565b34801561011557600080fd5b506100cc610339565b610126610364565b610136610131610411565b610436565b565b61014061045a565b600160a060020a031633600160a060020a03161415610167576101628161047f565b61016f565b61016f61011e565b50565b61017a61045a565b600160a060020a031633600160a060020a031614156101dd5761019c8361047f565b30600160a060020a03163483836040518083838082843782019150509250505060006040518083038185875af19250505015156101d857600080fd5b6101e5565b6101e561011e565b505050565b60006101f461045a565b600160a060020a031633600160a060020a0316141561021c57610215610411565b9050610224565b61022461011e565b90565b61022f61045a565b600160a060020a031633600160a060020a0316141561016757600160a060020a03811615156102e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60448201527f787920746f20746865207a65726f206164647265737300000000000000000000606482015290519081900360840190fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030e61045a565b60408051600160a060020a03928316815291841660208301528051918290030190a1610162816104c7565b600061034361045a565b600160a060020a031633600160a060020a0316141561021c5761021561045a565b61036c61045a565b600160a060020a031633141561040957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000606482015290519081900360840190fd5b610136610136565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35490565b3660008037600080366000845af43d6000803e808015610455573d6000f35b3d6000fd5b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b5490565b610488816104eb565b60408051600160a060020a038316815290517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b9181900360200190a150565b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b55565b60006104f6826105ae565b151561058957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015290519081900360840190fd5b507f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c355565b6000903b11905600a165627a7a72305820b274fe16b200679a229fcce27c65314a32b3cff995c434133f535dd565bba4740029',
USDC: '0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed240029',
},
+
+ eth_getTransactionCount: {
+ default: MOCK_BLOCK_NUMBER,
+ },
};
From f0d81dcc514c92be1f5192b8af701a9ade35fcdf Mon Sep 17 00:00:00 2001
From: Frederik Bolding
Date: Wed, 18 Oct 2023 15:36:24 +0200
Subject: [PATCH 031/121] Fix NEAR protocol path (#21427)
## **Description**
Fixes a minor issue with the NEAR protocol derivation path. This does
not require QA attention.
Fixes https://github.com/MetaMask/MetaMask-planning/issues/1502
---
shared/constants/snaps.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/shared/constants/snaps.ts b/shared/constants/snaps.ts
index 7c15f6d71d3b..b6843afb9cf7 100644
--- a/shared/constants/snaps.ts
+++ b/shared/constants/snaps.ts
@@ -156,7 +156,7 @@ export const SNAPS_DERIVATION_PATHS: SnapsDerivationPath[] = [
name: 'Secret Network',
},
{
- path: ['m', `44'`, `397'`],
+ path: ['m', `44'`, `397'`, `0'`],
curve: 'ed25519',
name: 'NEAR Protocol',
},
From c5a083fdaab02552a74fc78f776f36d00d2f32bf Mon Sep 17 00:00:00 2001
From: Vinicius Stevam <45455812+vinistevam@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:35:36 +0100
Subject: [PATCH 032/121] Fix cannot read `code` property of undefined (#21435)
## **Description**
This PR fixes an error spotted on Sentry when creating approvals for
unapproved transactions.
Sentry error:
https://metamask.sentry.io/issues/4552465127/?project=273505&query=is%3Aunresolved+release%3A11.2.0&referrer=issue-stream&sort=freq&statsPeriod=14d&stream_index=5
---
app/scripts/controllers/transactions/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js
index a61c8555dc9d..fee818f99f82 100644
--- a/app/scripts/controllers/transactions/index.js
+++ b/app/scripts/controllers/transactions/index.js
@@ -348,7 +348,7 @@ export default class TransactionController extends EventEmitter {
this._requestTransactionApproval(txMeta, {
shouldShowRequest: false,
}).catch((error) => {
- if (error.code === errorCodes.provider.userRejectedRequest) {
+ if (error?.code === errorCodes.provider.userRejectedRequest) {
return;
}
log.error('Error during persisted transaction approval', error);
From fd84e8b9aebb70b4c74cc9d07bbef03e2ce9ccfa Mon Sep 17 00:00:00 2001
From: salimtb
Date: Wed, 18 Oct 2023 17:59:41 +0200
Subject: [PATCH 033/121] fix: ERC20 Custom Token shows incorrect name (#21401)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
In custom token section, by inputing token address it showed the correct
token name but after clicking on import and land on main wallet screen,
token name changed to some other token name.
the problem comes from the fact that we filter only on the symbol, so
this error occurs for two tokens with the same symbol but two different
addresses, we always take the first in the list.
the solution is to add the filter with the address
## **Manual testing steps**
1 - Enter the following address
`0x57c88ed53d53fDc6B41D57463E6C405dE162843e` in custom token, first it
detects the correct name and then import token.
2 - After importing it will replace the name with some dragoneum token
### **Before**
https://drive.google.com/file/d/1ZALuCmmtQf1Nquvxmsem4_ADSp685Tnn/view
### **After**
https://drive.google.com/file/d/1WKZbFwQkO22dclg4vw6GA3F0nXH4xm5y/view?usp=drive_link
## **Related issues**
_Fixes #20776
## **Pre-merge author checklist**
- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained:
- [x] What problem this PR is solving.
- [x] How this problem was solved.
- [x] How reviewers can test my changes.
- [x] I’ve indicated what issue this PR is linked to: Fixes #???
- [x] I’ve included tests if applicable.
- [x] I’ve documented any added code.
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [x] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.../__snapshots__/token-cell.test.js.snap | 25 ++++++---
ui/components/app/token-cell/token-cell.js | 2 +-
.../app/token-cell/token-cell.test.js | 55 +++++++++++++++++++
3 files changed, 72 insertions(+), 10 deletions(-)
diff --git a/ui/components/app/token-cell/__snapshots__/token-cell.test.js.snap b/ui/components/app/token-cell/__snapshots__/token-cell.test.js.snap
index a4426da499ff..ecc9c85bde91 100644
--- a/ui/components/app/token-cell/__snapshots__/token-cell.test.js.snap
+++ b/ui/components/app/token-cell/__snapshots__/token-cell.test.js.snap
@@ -15,21 +15,26 @@ exports[`Token Cell should match snapshot 1`] = `
class="mm-box mm-badge-wrapper mm-box--margin-right-3 mm-box--display-inline-block"
>
- T
+
+
-
+ ?
@@ -51,7 +56,9 @@ exports[`Token Cell should match snapshot 1`] = `
+ >
+ 5.00
+
token.symbol === symbol,
+ (token) => token.symbol === symbol && token.address === address,
);
const title = tokenData?.name || symbol;
const tokenImage = tokenData?.iconUrl || image;
diff --git a/ui/components/app/token-cell/token-cell.test.js b/ui/components/app/token-cell/token-cell.test.js
index 896e6aefe4ef..1ae6440a4568 100644
--- a/ui/components/app/token-cell/token-cell.test.js
+++ b/ui/components/app/token-cell/token-cell.test.js
@@ -2,9 +2,26 @@ import React from 'react';
import thunk from 'redux-thunk';
import configureMockStore from 'redux-mock-store';
import { fireEvent } from '@testing-library/react';
+import { useSelector } from 'react-redux';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
+import { useTokenFiatAmount } from '../../../hooks/useTokenFiatAmount';
+
import TokenCell from '.';
+jest.mock('react-redux', () => {
+ const actual = jest.requireActual('react-redux');
+
+ return {
+ ...actual,
+ useSelector: jest.fn(),
+ };
+});
+
+jest.mock('../../../hooks/useTokenFiatAmount', () => {
+ return {
+ useTokenFiatAmount: jest.fn(),
+ };
+});
describe('Token Cell', () => {
const mockState = {
metamask: {
@@ -23,6 +40,28 @@ describe('Token Cell', () => {
},
};
+ // two tokens with the same symbol but different addresses
+ const MOCK_GET_TOKEN_LIST = {
+ '0xAddress': {
+ name: 'TEST-2',
+ erc20: true,
+ symbol: 'TEST',
+ decimals: 18,
+ address: '0xAddress',
+ iconUrl: './images/test_1_image.svg',
+ aggregators: [],
+ },
+ '0xAnotherToken': {
+ name: 'TEST',
+ erc20: true,
+ symbol: 'TEST',
+ decimals: 18,
+ address: '0xAnotherToken',
+ iconUrl: './images/test_image.svg',
+ aggregators: [],
+ },
+ };
+
const mockStore = configureMockStore([thunk])(mockState);
const props = {
@@ -33,6 +72,9 @@ describe('Token Cell', () => {
onClick: jest.fn(),
};
+ useSelector.mockReturnValue(MOCK_GET_TOKEN_LIST);
+ useTokenFiatAmount.mockReturnValue('5.00');
+
it('should match snapshot', () => {
const { container } = renderWithProvider(
,
@@ -52,4 +94,17 @@ describe('Token Cell', () => {
expect(props.onClick).toHaveBeenCalled();
});
+
+ it('should render the correct token and filter by symbol and address', () => {
+ const { queryByText, getByAltText } = renderWithProvider(
+ ,
+ mockStore,
+ );
+
+ const image = getByAltText('TEST logo');
+
+ expect(queryByText('TEST')).toBeInTheDocument();
+ expect(image).toBeInTheDocument();
+ expect(image).toHaveAttribute('src', './images/test_image.svg');
+ });
});
From 703f4baa45277e1af4989524e91b11570311abb0 Mon Sep 17 00:00:00 2001
From: jiexi
Date: Wed, 18 Oct 2023 14:03:32 -0700
Subject: [PATCH 034/121] Remove NetworkId (#20652)
## Explanation
Wallets shouldn't be directly concerned about the network ID as this
more of a p2p concept for gossip. What wallets really care about is
chain ID as that is the correct value to use to identify a chain, build
transactions, etc. Although these two values usually match (ignoring
hex/dec formatting), there are
[exceptions](https://medium.com/@pedrouid/chainid-vs-networkid-how-do-they-differ-on-ethereum-eec2ed41635b).
We want to remove usage of networkId and replace it with chainId where
appropriate and necessary.
This was a generally straight forward change to make, except for the
following cases:
* `networkVersion` on the `window.ethereum` provider object
* `metamaskNetworkId` on TransactionMeta objects
~~In both cases, we now use static mappings to assist in covering
chainId <-> networkId edge cases.~~ See comments in this PR for more
elaboration and the core PR linked below.
* Fixes
[mmp-1068](https://github.com/MetaMask/MetaMask-planning/issues/1068)
* See: [core-1633](https://github.com/MetaMask/core/pull/1633)
* See: https://github.com/MetaMask/smart-transactions-controller
## Screenshots/Screencaps
### Before
### After
## Manual Testing Steps
## Pre-merge author checklist
- [x] I've clearly explained:
- [x] What problem this PR is solving
- [x] How this problem was solved
- [x] How reviewers can test my changes
- [x] Sufficient automated test coverage has been added
## Pre-merge reviewer checklist
- [x] Manual testing (e.g. pull and build branch, run in browser, test
code being changed)
- [x] PR is linked to the appropriate GitHub issue
- [ ] **IF** this PR fixes a bug in the release milestone, add this PR
to the release milestone
If further QA is required (e.g. new feature, complex testing steps,
large refactor), add the `Extension QA Board` label.
In this case, a QA Engineer approval will be be required.
---------
Co-authored-by: MetaMask Bot
Co-authored-by: Alex Donesky
---
.../approval-screens/token-approval.js | 4 +-
.storybook/initial-states/transactions.js | 31 +--
.storybook/test-data.js | 14 +-
app/scripts/background.js | 1 -
app/scripts/controllers/ens/ens.js | 15 +-
app/scripts/controllers/ens/index.js | 11 +-
.../controllers/mmi-controller.test.js | 1 -
app/scripts/controllers/swaps.js | 13 +-
app/scripts/controllers/swaps.test.js | 22 +-
.../EtherscanRemoteTransactionSource.test.ts | 3 -
.../EtherscanRemoteTransactionSource.ts | 30 +-
.../IncomingTransactionHelper.test.ts | 2 -
.../transactions/IncomingTransactionHelper.ts | 13 +-
.../controllers/transactions/README.md | 4 +-
app/scripts/controllers/transactions/index.js | 20 +-
.../controllers/transactions/index.test.js | 130 ++++-----
.../transactions/tx-state-manager.js | 25 +-
.../transactions/tx-state-manager.test.js | 116 ++++----
app/scripts/controllers/transactions/types.ts | 7 +-
app/scripts/lib/setupSentry.js | 1 -
app/scripts/lib/util.test.js | 2 -
app/scripts/metamask-controller.js | 101 +++++--
app/scripts/metamask-controller.test.js | 15 +-
app/scripts/migrations/101.test.js | 112 ++++++++
app/scripts/migrations/101.ts | 52 ++++
app/scripts/migrations/index.js | 2 +
lavamoat/browserify/beta/policy.json | 229 +++++++--------
lavamoat/browserify/desktop/policy.json | 229 +++++++--------
lavamoat/browserify/flask/policy.json | 261 ++++++++++--------
lavamoat/browserify/main/policy.json | 261 ++++++++++--------
lavamoat/browserify/mmi/policy.json | 229 +++++++--------
package.json | 6 +-
shared/constants/network.ts | 71 +----
shared/constants/transaction.ts | 11 +-
shared/modules/network.utils.ts | 22 ++
shared/modules/transaction.utils.js | 7 -
test/data/mock-pending-transaction-data.json | 6 -
test/data/mock-send-state.json | 29 +-
test/data/mock-state.json | 28 +-
test/data/mock-tx-history.json | 211 +++++++-------
test/data/transaction-data.json | 57 ++--
test/e2e/fixture-builder.js | 22 --
test/e2e/tests/provider-api.spec.js | 10 -
...rs-after-init-opt-in-background-state.json | 1 -
.../errors-after-init-opt-in-ui-state.json | 1 -
...s-before-init-opt-in-background-state.json | 1 -
.../errors-before-init-opt-in-ui-state.json | 1 -
test/jest/mock-store.js | 1 -
test/stub/tx-meta-stub.js | 3 +-
.../approve-content-card.stories.js | 2 -
.../confirm-page-container-container.test.js | 4 +-
.../transaction-activity-log.util.js | 5 -
.../transaction-activity-log.util.test.js | 13 -
.../transaction-alerts.stories.js | 1 -
.../confirm-transaction.duck.test.js | 5 +-
ui/ducks/domains.js | 31 +--
ui/ducks/metamask/metamask.test.js | 5 +-
.../optimism/buildUnserializedTransaction.js | 1 -
ui/helpers/utils/tx-helper.test.js | 16 +-
ui/helpers/utils/tx-helper.ts | 9 +-
ui/hooks/useTransactionInsights.js | 5 +-
ui/index.js | 1 -
.../confirm-send-ether.stories.js | 1 -
.../confirm-send-ether.test.js | 1 -
ui/pages/confirm-signature-request/index.js | 15 +-
.../confirm-transaction-base.container.js | 8 +-
.../confirm-transaction-base.test.js | 6 +-
.../templates/switch-ethereum-chain.test.js | 1 +
ui/pages/send/send.test.js | 2 -
.../token-allowance.stories-to-do.js | 2 -
.../token-allowance/token-allowance.test.js | 1 -
ui/selectors/confirm-transaction.js | 12 +-
...nonce-sorted-transactions-selector.test.js | 6 +
ui/selectors/selectors.js | 23 +-
ui/selectors/transactions.js | 20 +-
ui/selectors/transactions.test.js | 14 +-
ui/store/actions.test.js | 4 +-
.../institutional/institution-actions.test.js | 6 +
ui/store/store.ts | 1 -
yarn.lock | 42 +--
80 files changed, 1373 insertions(+), 1334 deletions(-)
create mode 100644 app/scripts/migrations/101.test.js
create mode 100644 app/scripts/migrations/101.ts
diff --git a/.storybook/initial-states/approval-screens/token-approval.js b/.storybook/initial-states/approval-screens/token-approval.js
index 08aa375d7c0f..66ebe7e45d8f 100644
--- a/.storybook/initial-states/approval-screens/token-approval.js
+++ b/.storybook/initial-states/approval-screens/token-approval.js
@@ -2,7 +2,6 @@ export const currentNetworkTxListSample = {
"id": 7900715443136469,
"time": 1621395091737,
"status": "unapproved",
- "metamaskNetworkId": "1337",
"chainId": "0x539",
"loadingDefaults": false,
"txParams": {
@@ -20,7 +19,6 @@ export const currentNetworkTxListSample = {
"id": 7900715443136469,
"time": 1621395091737,
"status": "unapproved",
- "metamaskNetworkId": "1337",
"chainId": "0x539",
"loadingDefaults": true,
"txParams": {
@@ -53,4 +51,4 @@ export const subjectMetadata = {
"iconUrl": "https://metamask.github.io/test-dapp/metamask-fox.svg",
"subjectType": "website"
}
-}
\ No newline at end of file
+}
diff --git a/.storybook/initial-states/transactions.js b/.storybook/initial-states/transactions.js
index cc0f0e1be3c6..6dd76b2be7e8 100644
--- a/.storybook/initial-states/transactions.js
+++ b/.storybook/initial-states/transactions.js
@@ -24,7 +24,6 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 643368596521636,
time: 1653527035634,
status: 'submitted',
- metamaskNetworkId: '5',
originalGasEstimate: '5208',
userEditedGasLimit: false,
chainId: '0x5',
@@ -50,7 +49,6 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 643368596521636,
time: 1653527035634,
status: 'approved',
- metamaskNetworkId: '5',
originalGasEstimate: '5208',
userEditedGasLimit: false,
chainId: '0x5',
@@ -158,7 +156,6 @@ export const MOCK_TRANSACTION_BY_TYPE = {
},
id: 7694052085150913,
loadingDefaults: true,
- metamaskNetworkId: '5',
origin: 'https://remix.ethereum.org',
originalGasEstimate: '0x118f4',
sendFlowHistory: [],
@@ -181,7 +178,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.DEPLOY_CONTRACT]: {
blockNumber: '6195527',
id: 4243712234858468,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@@ -238,7 +235,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.INCOMING]: {
blockNumber: '6477257',
id: 4243712234858505,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: 'confirmed',
time: 1589314295000,
txParams: {
@@ -292,7 +289,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 3938342322880462,
time: 1653459456297,
status: 'failed',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '14609',
userEditedGasLimit: false,
chainId: '0x5',
@@ -322,7 +319,6 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 3938342322880462,
time: 1653459456297,
status: 'approved',
- metamaskNetworkId: '5',
originalGasEstimate: '14609',
userEditedGasLimit: false,
chainId: '0x5',
@@ -481,7 +477,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 4243712234858512,
time: 1589314601567,
status: 'confirmed',
- metamaskNetworkId: '5',
+ chainId: '0x5',
loadingDefaults: false,
txParams: {
from: '0xabca64466f257793eaa52fcfff5066894b76a149',
@@ -497,7 +493,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SMART]: {
blockNumber: '6195527',
id: 4243712234858468,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@@ -517,7 +513,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SWAP]: {
blockNumber: '6195527',
id: 4243712234858467,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@@ -536,7 +532,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SWAP_APPROVAL]: {
blockNumber: '6195527',
id: 4243712234858467,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@@ -556,7 +552,6 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058729,
time: 1653457101080,
status: 'submitted',
- metamaskNetworkId: '5',
originalGasEstimate: '0xb427',
userEditedGasLimit: false,
chainId: '0x5',
@@ -584,7 +579,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058729,
time: 1653457101080,
status: 'unapproved',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0xb427',
userEditedGasLimit: false,
chainId: '0x5',
@@ -760,7 +755,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 1441203963845330,
time: 1652206763566,
status: 'confirmed',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0x118e0',
userEditedGasLimit: false,
chainId: '0x5',
@@ -861,7 +856,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058725,
time: 1653457077370,
status: 'confirmed',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x5',
@@ -889,7 +884,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058725,
time: 1653457077370,
status: 'unapproved',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x5',
@@ -1215,7 +1210,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058754,
time: 1653457323504,
status: 'confirmed',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0x10896',
userEditedGasLimit: false,
chainId: '0x5',
@@ -1265,7 +1260,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058754,
time: 1653457323504,
status: 'unapproved',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0x10896',
userEditedGasLimit: false,
chainId: '0x5',
diff --git a/.storybook/test-data.js b/.storybook/test-data.js
index b78ae04c0620..fe0596cfb331 100644
--- a/.storybook/test-data.js
+++ b/.storybook/test-data.js
@@ -319,7 +319,6 @@ const state = {
id: 3111025347726181,
time: 1620710815484,
status: 'unapproved',
- metamaskNetworkId: '5',
msgParams: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
chainId: '0x5',
loadingDefaults: false,
@@ -339,7 +338,6 @@ const state = {
id: 7786962153682822,
time: 1620710815484,
status: 'unapproved',
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: true,
txParams: {
@@ -586,7 +584,6 @@ const state = {
dappSuggestedGasFees: null,
id: 2360388496987298,
loadingDefaults: true,
- metamaskNetworkId: '56',
origin: 'metamask',
status: 'unapproved',
time: 1629582710520,
@@ -873,7 +870,6 @@ const state = {
],
id: 7900715443136469,
loadingDefaults: false,
- metamaskNetworkId: '56',
origin: 'metamask',
r: '0x90a4dfb0646eef9815454d0ab543b5844acb8772101084565155c93ecce8ed69',
rawTx:
@@ -1153,7 +1149,7 @@ const state = {
'0x2de9256a7c604586f7ecfd87ae9509851e217f588f9f85feed793c54ed2ce0aa': {
blockNumber: '8888976',
id: 4678200543090532,
- metamaskNetworkId: '1',
+ chainId: '0x1',
status: 'confirmed',
time: 1573114896000,
txParams: {
@@ -1170,7 +1166,7 @@ const state = {
'0x320a1fd769373578f78570e5d8f56e89bc7bce9657bb5f4c12d8fe790d471bfd': {
blockNumber: '9453174',
id: 4678200543090535,
- metamaskNetworkId: '1',
+ chainId: '0x1',
status: 'confirmed',
time: 1581312411000,
txParams: {
@@ -1187,7 +1183,7 @@ const state = {
'0x8add6c1ea089a8de9b15fa2056b1875360f17916755c88ace9e5092b7a4b1239': {
blockNumber: '10892417',
id: 4678200543090542,
- metamaskNetworkId: '1',
+ chainId: '0x1',
status: 'confirmed',
time: 1600515224000,
txParams: {
@@ -1204,7 +1200,7 @@ const state = {
'0x50be62ab1cabd03ff104c602c11fdef7a50f3d73c55006d5583ba97950ab1144': {
blockNumber: '10902987',
id: 4678200543090545,
- metamaskNetworkId: '1',
+ chainId: '0x1',
status: 'confirmed',
time: 1600654021000,
txParams: {
@@ -1425,7 +1421,6 @@ const state = {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: false,
txParams: {
@@ -1444,7 +1439,6 @@ const state = {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: true,
txParams: {
diff --git a/app/scripts/background.js b/app/scripts/background.js
index a01388406188..ad20ab982fb3 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -233,7 +233,6 @@ browser.runtime.onConnectExternal.addListener(async (...args) => {
* @property {object} providerConfig - The current selected network provider.
* @property {string} providerConfig.rpcUrl - The address for the RPC API, if using an RPC API.
* @property {string} providerConfig.type - An identifier for the type of network selected, allows MetaMask to use custom provider strategies for known networks.
- * @property {string} networkId - The stringified number of the current network ID.
* @property {string} networkStatus - Either "unknown", "available", "unavailable", or "blocked", depending on the status of the currently selected network.
* @property {object} accounts - An object mapping lower-case hex addresses to objects with "balance" and "address" keys, both storing hex string values.
* @property {hex} currentBlockGasLimit - The most recently seen block gas limit, in a lower case hex prefixed string.
diff --git a/app/scripts/controllers/ens/ens.js b/app/scripts/controllers/ens/ens.js
index 4f8de4a12a1f..62779bccaf8d 100644
--- a/app/scripts/controllers/ens/ens.js
+++ b/app/scripts/controllers/ens/ens.js
@@ -1,17 +1,18 @@
import { Web3Provider } from '@ethersproject/providers';
import ensNetworkMap from 'ethereum-ens-network-map';
-import { NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP } from '../../../../shared/constants/network';
+import { CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP } from '../../../../shared/constants/network';
export default class Ens {
- static getNetworkEnsSupport(network) {
- return Boolean(ensNetworkMap[network]);
+ static getChainEnsSupport(chainId) {
+ return Boolean(ensNetworkMap[parseInt(chainId, 16).toString()]);
}
- constructor({ network, provider } = {}) {
- const networkName = NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP[network];
- const ensAddress = ensNetworkMap[network];
+ constructor({ chainId, provider } = {}) {
+ const networkName = CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[chainId];
+ const chainIdInt = parseInt(chainId, 16);
+ const ensAddress = ensNetworkMap[chainIdInt.toString()];
const ethProvider = new Web3Provider(provider, {
- chainId: parseInt(network, 10),
+ chainId: chainIdInt,
name: networkName,
ensAddress,
});
diff --git a/app/scripts/controllers/ens/index.js b/app/scripts/controllers/ens/index.js
index 47363a1562e6..efea49e85567 100644
--- a/app/scripts/controllers/ens/index.js
+++ b/app/scripts/controllers/ens/index.js
@@ -1,7 +1,6 @@
import punycode from 'punycode/punycode';
import { ObservableStore } from '@metamask/obs-store';
import log from 'loglevel';
-import { CHAIN_ID_TO_NETWORK_ID_MAP } from '../../../../shared/constants/network';
import { toChecksumHexAddress } from '../../../../shared/modules/hexstring-utils';
import Ens from './ens';
@@ -17,10 +16,9 @@ export default class EnsController {
this._ens = ens;
if (!this._ens) {
const chainId = getCurrentChainId();
- const network = CHAIN_ID_TO_NETWORK_ID_MAP[chainId];
- if (Ens.getNetworkEnsSupport(network)) {
+ if (Ens.getChainEnsSupport(chainId)) {
this._ens = new Ens({
- network,
+ chainId,
provider,
});
}
@@ -35,10 +33,9 @@ export default class EnsController {
onNetworkDidChange(() => {
this.store.putState(initState);
const chainId = getCurrentChainId();
- const network = CHAIN_ID_TO_NETWORK_ID_MAP[chainId];
- if (Ens.getNetworkEnsSupport(network)) {
+ if (Ens.getChainEnsSupport(chainId)) {
this._ens = new Ens({
- network,
+ chainId,
provider,
});
} else {
diff --git a/app/scripts/controllers/mmi-controller.test.js b/app/scripts/controllers/mmi-controller.test.js
index f8c06d62981d..7adc37044a34 100644
--- a/app/scripts/controllers/mmi-controller.test.js
+++ b/app/scripts/controllers/mmi-controller.test.js
@@ -41,7 +41,6 @@ describe('MMIController', function () {
type: 'rinkeby',
},
getCurrentChainId: jest.fn(),
- getNetworkId: jest.fn(),
onNetworkStateChange: jest.fn(),
}),
signatureController: new SignatureController({
diff --git a/app/scripts/controllers/swaps.js b/app/scripts/controllers/swaps.js
index 1e9fe2c44eb6..775a02506517 100644
--- a/app/scripts/controllers/swaps.js
+++ b/app/scripts/controllers/swaps.js
@@ -155,17 +155,20 @@ export default class SwapsController {
this.indexOfNewestCallInFlight = 0;
this.ethersProvider = new Web3Provider(provider);
- this._currentNetworkId = networkController.state.networkId;
+ this._currentChainId = networkController.state.providerConfig.chainId;
onNetworkStateChange(() => {
- const { networkId, networksMetadata, selectedNetworkClientId } =
- networkController.state;
+ const {
+ networksMetadata,
+ selectedNetworkClientId,
+ providerConfig: { chainId },
+ } = networkController.state;
const selectedNetworkStatus =
networksMetadata[selectedNetworkClientId]?.status;
if (
selectedNetworkStatus === NetworkStatus.Available &&
- networkId !== this._currentNetworkId
+ chainId !== this._currentChainId
) {
- this._currentNetworkId = networkId;
+ this._currentChainId = chainId;
this.ethersProvider = new Web3Provider(provider);
}
});
diff --git a/app/scripts/controllers/swaps.test.js b/app/scripts/controllers/swaps.test.js
index f4765f1b3096..44245fcb28db 100644
--- a/app/scripts/controllers/swaps.test.js
+++ b/app/scripts/controllers/swaps.test.js
@@ -5,11 +5,7 @@ import { BigNumber } from '@ethersproject/bignumber';
import { mapValues } from 'lodash';
import BigNumberjs from 'bignumber.js';
import { NetworkType } from '@metamask/controller-utils';
-import {
- CHAIN_IDS,
- NETWORK_IDS,
- NetworkStatus,
-} from '../../../shared/constants/network';
+import { CHAIN_IDS, NetworkStatus } from '../../../shared/constants/network';
import { ETH_SWAPS_TOKEN_OBJECT } from '../../../shared/constants/swaps';
import { createTestProviderTools } from '../../../test/stub/provider';
import { SECOND } from '../../../shared/constants/time';
@@ -102,7 +98,6 @@ const MOCK_GET_BUFFERED_GAS_LIMIT = async () => ({
function getMockNetworkController() {
return {
state: {
- networkId: NETWORK_IDS.GOERLI,
selectedNetworkClientId: NetworkType.goerli,
networksMetadata: {
[NetworkType.goerli]: {
@@ -110,6 +105,9 @@ function getMockNetworkController() {
status: NetworkStatus.Available,
},
},
+ providerConfig: {
+ chainId: CHAIN_IDS.GOERLI,
+ },
},
};
}
@@ -230,7 +228,6 @@ describe('SwapsController', function () {
const currentEthersInstance = swapsController.ethersProvider;
networkController.state = {
- networkId: NETWORK_IDS.MAINNET,
selectedNetworkClientId: NetworkType.mainnet,
networksMetadata: {
[NetworkType.mainnet]: {
@@ -238,6 +235,9 @@ describe('SwapsController', function () {
status: NetworkStatus.Available,
},
},
+ providerConfig: {
+ chainId: CHAIN_IDS.MAINNET,
+ },
};
networkStateChangeListener();
@@ -268,7 +268,6 @@ describe('SwapsController', function () {
const currentEthersInstance = swapsController.ethersProvider;
networkController.state = {
- networkId: null,
selectedNetworkClientId: NetworkType.goerli,
networksMetadata: {
[NetworkType.goerli]: {
@@ -276,6 +275,9 @@ describe('SwapsController', function () {
status: NetworkStatus.Unknown,
},
},
+ providerConfig: {
+ chainId: CHAIN_IDS.GOERLI,
+ },
};
networkStateChangeListener();
@@ -306,7 +308,6 @@ describe('SwapsController', function () {
const currentEthersInstance = swapsController.ethersProvider;
networkController.state = {
- networkId: NETWORK_IDS.GOERLI,
selectedNetworkClientId: NetworkType.goerli,
networksMetadata: {
[NetworkType.goerli]: {
@@ -314,6 +315,9 @@ describe('SwapsController', function () {
status: NetworkStatus.Available,
},
},
+ providerConfig: {
+ chainId: CHAIN_IDS.GOERLI,
+ },
};
networkStateChangeListener();
diff --git a/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.test.ts b/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.test.ts
index ee53f04d3741..d850616b2e06 100644
--- a/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.test.ts
+++ b/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.test.ts
@@ -98,7 +98,6 @@ const EXPECTED_NORMALISED_TRANSACTION_BASE = {
chainId: undefined,
hash: ETHERSCAN_TRANSACTION_SUCCESS_MOCK.hash,
id: ID_MOCK,
- metamaskNetworkId: undefined,
status: TransactionStatus.confirmed,
time: 1543596356000,
txParams: {
@@ -158,7 +157,6 @@ describe('EtherscanRemoteTransactionSource', () => {
expect(
new EtherscanRemoteTransactionSource().isSupportedNetwork(
CHAIN_IDS.MAINNET,
- '1',
),
).toBe(true);
});
@@ -167,7 +165,6 @@ describe('EtherscanRemoteTransactionSource', () => {
expect(
new EtherscanRemoteTransactionSource().isSupportedNetwork(
CHAIN_IDS.LOCALHOST,
- '1',
),
).toBe(false);
});
diff --git a/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.ts b/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.ts
index 0fe179d59b6c..f0ac784c060b 100644
--- a/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.ts
+++ b/app/scripts/controllers/transactions/EtherscanRemoteTransactionSource.ts
@@ -43,7 +43,7 @@ export class EtherscanRemoteTransactionSource
this.#includeTokenTransfers = includeTokenTransfers ?? true;
}
- isSupportedNetwork(chainId: Hex, _networkId: string): boolean {
+ isSupportedNetwork(chainId: Hex): boolean {
return Object.keys(ETHERSCAN_SUPPORTED_NETWORKS).includes(chainId);
}
@@ -68,19 +68,11 @@ export class EtherscanRemoteTransactionSource
await Promise.all([transactionPromise, tokenTransactionPromise]);
const transactions = etherscanTransactions.result.map((tx) =>
- this.#normalizeTransaction(
- tx,
- request.currentNetworkId,
- request.currentChainId,
- ),
+ this.#normalizeTransaction(tx, request.currentChainId),
);
const tokenTransactions = etherscanTokenTransactions.result.map((tx) =>
- this.#normalizeTokenTransaction(
- tx,
- request.currentNetworkId,
- request.currentChainId,
- ),
+ this.#normalizeTokenTransaction(tx, request.currentChainId),
);
return [...transactions, ...tokenTransactions];
@@ -88,14 +80,9 @@ export class EtherscanRemoteTransactionSource
#normalizeTransaction(
txMeta: EtherscanTransactionMeta,
- currentNetworkId: string,
currentChainId: Hex,
): TransactionMeta {
- const base = this.#normalizeTransactionBase(
- txMeta,
- currentNetworkId,
- currentChainId,
- );
+ const base = this.#normalizeTransactionBase(txMeta, currentChainId);
return {
...base,
@@ -113,14 +100,9 @@ export class EtherscanRemoteTransactionSource
#normalizeTokenTransaction(
txMeta: EtherscanTokenTransactionMeta,
- currentNetworkId: string,
currentChainId: Hex,
): TransactionMeta {
- const base = this.#normalizeTransactionBase(
- txMeta,
- currentNetworkId,
- currentChainId,
- );
+ const base = this.#normalizeTransactionBase(txMeta, currentChainId);
return {
...base,
@@ -129,7 +111,6 @@ export class EtherscanRemoteTransactionSource
#normalizeTransactionBase(
txMeta: EtherscanTransactionMetaBase,
- currentNetworkId: string,
currentChainId: Hex,
): TransactionMeta {
const time = parseInt(txMeta.timeStamp, 10) * 1000;
@@ -139,7 +120,6 @@ export class EtherscanRemoteTransactionSource
chainId: currentChainId,
hash: txMeta.hash,
id: uuid(),
- metamaskNetworkId: currentNetworkId,
status: TransactionStatus.confirmed,
time,
txParams: {
diff --git a/app/scripts/controllers/transactions/IncomingTransactionHelper.test.ts b/app/scripts/controllers/transactions/IncomingTransactionHelper.test.ts
index f20675215885..b04977b74157 100644
--- a/app/scripts/controllers/transactions/IncomingTransactionHelper.test.ts
+++ b/app/scripts/controllers/transactions/IncomingTransactionHelper.test.ts
@@ -19,7 +19,6 @@ const NETWORK_STATE_MOCK: NetworkState = {
chainId: '0x1',
type: NetworkType.mainnet,
},
- networkId: '1',
} as unknown as NetworkState;
const ADDERSS_MOCK = '0x1';
@@ -139,7 +138,6 @@ describe('IncomingTransactionHelper', () => {
expect(remoteTransactionSource.fetchTransactions).toHaveBeenCalledWith({
address: ADDERSS_MOCK,
currentChainId: NETWORK_STATE_MOCK.providerConfig.chainId,
- currentNetworkId: NETWORK_STATE_MOCK.networkId,
fromBlock: expect.any(Number),
limit: CONTROLLER_ARGS_MOCK.transactionLimit,
});
diff --git a/app/scripts/controllers/transactions/IncomingTransactionHelper.ts b/app/scripts/controllers/transactions/IncomingTransactionHelper.ts
index 3acb6372637f..9cad8e4d0948 100644
--- a/app/scripts/controllers/transactions/IncomingTransactionHelper.ts
+++ b/app/scripts/controllers/transactions/IncomingTransactionHelper.ts
@@ -117,7 +117,6 @@ export class IncomingTransactionHelper {
const fromBlock = this.#getFromBlock(latestBlockNumber);
const address = this.#getCurrentAccount();
const currentChainId = this.#getCurrentChainId();
- const currentNetworkId = this.#getCurrentNetworkId();
let remoteTransactions = [];
@@ -126,7 +125,6 @@ export class IncomingTransactionHelper {
await this.#remoteTransactionSource.fetchTransactions({
address,
currentChainId,
- currentNetworkId,
fromBlock,
limit: this.#transactionLimit,
});
@@ -262,12 +260,9 @@ export class IncomingTransactionHelper {
#canStart(): boolean {
const isEnabled = this.#isEnabled();
const currentChainId = this.#getCurrentChainId();
- const currentNetworkId = this.#getCurrentNetworkId();
- const isSupportedNetwork = this.#remoteTransactionSource.isSupportedNetwork(
- currentChainId,
- currentNetworkId,
- );
+ const isSupportedNetwork =
+ this.#remoteTransactionSource.isSupportedNetwork(currentChainId);
return isEnabled && isSupportedNetwork;
}
@@ -275,8 +270,4 @@ export class IncomingTransactionHelper {
#getCurrentChainId(): Hex {
return this.#getNetworkState().providerConfig.chainId;
}
-
- #getCurrentNetworkId(): string {
- return this.#getNetworkState().networkId as string;
- }
}
diff --git a/app/scripts/controllers/transactions/README.md b/app/scripts/controllers/transactions/README.md
index 09ba59e806e3..c872bf951963 100644
--- a/app/scripts/controllers/transactions/README.md
+++ b/app/scripts/controllers/transactions/README.md
@@ -30,7 +30,8 @@ txMeta = {
"id": 2828415030114568, // unique id for this txMeta used for look ups
"time": 1524094064821, // time of creation
"status": "confirmed",
- "metamaskNetworkId": "1524091532133", //the network id for the transaction
+ "chainId": "0x1", // the chain id for the transaction
+ "metamaskNetworkId": "1524091532133", // Deprecated: the network id for the transaction. Use chainId instead
"loadingDefaults": false, // used to tell the ui when we are done calculating gas defaults
"txParams": { // the txParams object
"from": "0x8acce2391c0d510a6c5e5d8f819a678f79b7e675",
@@ -45,6 +46,7 @@ txMeta = {
"id": 2828415030114568,
"time": 1524094064821,
"status": "unapproved",
+ "chainId": "0x1",
"metamaskNetworkId": "1524091532133",
"loadingDefaults": true,
"txParams": {
diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js
index fee818f99f82..8d5b85410501 100644
--- a/app/scripts/controllers/transactions/index.js
+++ b/app/scripts/controllers/transactions/index.js
@@ -128,7 +128,6 @@ const METRICS_STATUS_FAILED = 'failed on-chain';
*
* @param {object} opts
* @param {object} opts.initState - initial transaction list default is an empty array
- * @param {Function} opts.getNetworkId - Get the current network ID.
* @param {Function} opts.getNetworkStatus - Get the current network status.
* @param {Function} opts.getNetworkState - Get the network state.
* @param {Function} opts.onNetworkStateChange - Subscribe to network state change events.
@@ -145,7 +144,6 @@ const METRICS_STATUS_FAILED = 'failed on-chain';
export default class TransactionController extends EventEmitter {
constructor(opts) {
super();
- this.getNetworkId = opts.getNetworkId;
this.getNetworkStatus = opts.getNetworkStatus;
this._getNetworkState = opts.getNetworkState;
this._getCurrentChainId = opts.getCurrentChainId;
@@ -189,7 +187,6 @@ export default class TransactionController extends EventEmitter {
this.txStateManager = new TransactionStateManager({
initState: opts.initState,
txHistoryLimit: opts.txHistoryLimit,
- getNetworkId: this.getNetworkId,
getNetworkStatus: this.getNetworkStatus,
getCurrentChainId: opts.getCurrentChainId,
});
@@ -877,26 +874,13 @@ export default class TransactionController extends EventEmitter {
// For 'rpc' we need to use the same basic configuration as mainnet, since
// we only support EVM compatible chains, and then override the
- // name, chainId and networkId properties. This is done using the
+ // name, and chainId properties. This is done using the
// `forCustomChain` static method on the Common class.
const chainId = parseInt(this._getCurrentChainId(), 16);
- const networkStatus = this.getNetworkStatus();
- const networkId = this.getNetworkId();
return Common.custom({
name,
chainId,
- // It is improbable for a transaction to be signed while the network
- // is loading for two reasons.
- // 1. Pending, unconfirmed transactions are wiped on network change
- // 2. The UI is unusable (loading indicator) when network is loading.
- // setting the networkId to 0 is for type safety and to explicity lead
- // the transaction to failing if a user is able to get to this branch
- // on a custom network that requires valid network id. I have not ran
- // into this limitation on any network I have attempted, even when
- // hardcoding networkId to 'loading'.
- networkId:
- networkStatus === NetworkStatus.Available ? parseInt(networkId, 10) : 0,
hardfork,
});
}
@@ -2305,7 +2289,6 @@ export default class TransactionController extends EventEmitter {
defaultGasEstimates,
originalType,
replacedById,
- metamaskNetworkId: network,
customTokenAmount,
dappProposedTokenAmount,
currentTokenBalance,
@@ -2495,7 +2478,6 @@ export default class TransactionController extends EventEmitter {
referrer,
source,
status,
- network,
eip_1559_version: eip1559Version,
gas_edit_type: 'none',
gas_edit_attempted: 'none',
diff --git a/app/scripts/controllers/transactions/index.test.js b/app/scripts/controllers/transactions/index.test.js
index 2c3b4fdfc03e..e66ef838f399 100644
--- a/app/scripts/controllers/transactions/index.test.js
+++ b/app/scripts/controllers/transactions/index.test.js
@@ -131,7 +131,6 @@ describe('Transaction Controller', function () {
getGasPrice() {
return '0xee6b2800';
},
- getNetworkId: () => currentNetworkId,
getNetworkStatus: () => networkStatusStore.getState(),
onNetworkStateChange: (listener) =>
networkStatusStore.subscribe(listener),
@@ -197,7 +196,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -207,7 +206,7 @@ describe('Transaction Controller', function () {
{
id: 2,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -217,7 +216,7 @@ describe('Transaction Controller', function () {
{
id: 3,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -236,7 +235,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -246,7 +245,7 @@ describe('Transaction Controller', function () {
{
id: 2,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -256,7 +255,7 @@ describe('Transaction Controller', function () {
{
id: 3,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -280,63 +279,63 @@ describe('Transaction Controller', function () {
{
id: 0,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 1,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 2,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 3,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 4,
status: TransactionStatus.rejected,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 5,
status: TransactionStatus.approved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 6,
status: TransactionStatus.signed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 7,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
{
id: 8,
status: TransactionStatus.failed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
@@ -368,7 +367,7 @@ describe('Transaction Controller', function () {
txMeta = {
status: TransactionStatus.unapproved,
id: 1,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
};
@@ -403,10 +402,7 @@ describe('Transaction Controller', function () {
}));
assert.ok('id' in txMeta, 'should have a id');
assert.ok('time' in txMeta, 'should have a time stamp');
- assert.ok(
- 'metamaskNetworkId' in txMeta,
- 'should have a metamaskNetworkId',
- );
+ assert.ok('chainId' in txMeta, 'should have a chainId');
assert.ok('txParams' in txMeta, 'should have a txParams');
assert.ok('history' in txMeta, 'should have a history');
assert.equal(
@@ -1235,7 +1231,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1285,7 +1281,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1335,7 +1331,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1385,7 +1381,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1439,7 +1435,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1556,7 +1552,7 @@ describe('Transaction Controller', function () {
{
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -1635,7 +1631,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
history: [{}],
},
@@ -1801,7 +1797,7 @@ describe('Transaction Controller', function () {
{
status: TransactionStatus.unapproved,
id: 1,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
from: VALID_ADDRESS_TWO,
@@ -1824,7 +1820,7 @@ describe('Transaction Controller', function () {
{
status: TransactionStatus.unapproved,
id: 2,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
from: VALID_ADDRESS_TWO,
@@ -1856,7 +1852,7 @@ describe('Transaction Controller', function () {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
},
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
};
providerResultStub.eth_sendRawTransaction = hash;
trackTransactionMetricsEventSpy = sinon.spy(
@@ -1918,7 +1914,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1929,7 +1925,7 @@ describe('Transaction Controller', function () {
{
id: 2,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1940,7 +1936,7 @@ describe('Transaction Controller', function () {
{
id: 3,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1951,7 +1947,7 @@ describe('Transaction Controller', function () {
{
id: 4,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1962,7 +1958,7 @@ describe('Transaction Controller', function () {
{
id: 5,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1973,7 +1969,7 @@ describe('Transaction Controller', function () {
{
id: 6,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -1984,7 +1980,7 @@ describe('Transaction Controller', function () {
{
id: 7,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
history: [{}],
txParams: {
to: VALID_ADDRESS_TWO,
@@ -2016,7 +2012,7 @@ describe('Transaction Controller', function () {
{
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2025,7 +2021,7 @@ describe('Transaction Controller', function () {
{
id: 2,
status: TransactionStatus.rejected,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2035,7 +2031,7 @@ describe('Transaction Controller', function () {
{
id: 3,
status: TransactionStatus.approved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2045,7 +2041,7 @@ describe('Transaction Controller', function () {
{
id: 4,
status: TransactionStatus.signed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2055,7 +2051,7 @@ describe('Transaction Controller', function () {
{
id: 5,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2065,7 +2061,7 @@ describe('Transaction Controller', function () {
{
id: 6,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2075,7 +2071,7 @@ describe('Transaction Controller', function () {
{
id: 7,
status: TransactionStatus.failed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -2149,7 +2145,6 @@ describe('Transaction Controller', function () {
origin: ORIGIN_METAMASK,
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
defaultGasEstimates: {
gas: '0x7b0d',
gasPrice: '0x77359400',
@@ -2174,7 +2169,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: ORIGIN_METAMASK,
source: MetaMetricsTransactionEventSource.User,
transaction_type: TransactionType.simpleSend,
@@ -2261,7 +2256,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: ORIGIN_METAMASK,
source: MetaMetricsTransactionEventSource.User,
transaction_type: TransactionType.simpleSend,
@@ -2335,7 +2330,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
defaultGasEstimates: {
gas: '0x7b0d',
gasPrice: '0x77359400',
@@ -2360,7 +2354,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2449,7 +2443,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2522,7 +2516,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
securityProviderResponse: {
flagAsDangerous: 0,
},
@@ -2544,7 +2537,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2598,7 +2591,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
securityProviderResponse: {
flagAsDangerous: 0,
},
@@ -2612,7 +2604,6 @@ describe('Transaction Controller', function () {
persist: true,
category: MetaMetricsEventCategory.Transactions,
properties: {
- network: '5',
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2672,7 +2663,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
securityAlertResponse: {
result_type: BlockaidResultType.Failed,
reason: 'some error',
@@ -2687,7 +2677,6 @@ describe('Transaction Controller', function () {
persist: true,
category: MetaMetricsEventCategory.Transactions,
properties: {
- network: '5',
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
status: 'unapproved',
@@ -2747,7 +2736,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
securityProviderResponse: {
flagAsDangerous: 1,
},
@@ -2761,7 +2749,6 @@ describe('Transaction Controller', function () {
persist: true,
category: MetaMetricsEventCategory.Transactions,
properties: {
- network: '5',
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2821,7 +2808,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
securityProviderResponse: {
flagAsDangerous: 2,
},
@@ -2835,7 +2821,6 @@ describe('Transaction Controller', function () {
persist: true,
category: MetaMetricsEventCategory.Transactions,
properties: {
- network: '5',
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -2898,7 +2883,6 @@ describe('Transaction Controller', function () {
origin: 'other',
chainId: currentChainId,
time: 1624408066355,
- metamaskNetworkId: currentNetworkId,
defaultGasEstimates: {
estimateType: 'medium',
maxFeePerGas: '0x77359400',
@@ -2921,7 +2905,7 @@ describe('Transaction Controller', function () {
eip_1559_version: '2',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
- network: '5',
+
referrer: 'other',
source: MetaMetricsTransactionEventSource.Dapp,
transaction_type: TransactionType.simpleSend,
@@ -3044,7 +3028,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
gasLimit: '0x001',
gasPrice: '0x002',
@@ -3084,7 +3068,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '2',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
maxPriorityFeePerGas: '0x003',
to: VALID_ADDRESS,
@@ -3102,7 +3086,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '3',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
maxPriorityFeePerGas: '0x003',
maxFeePerGas: '0x004',
@@ -3125,7 +3109,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '4',
status: TransactionStatus.dropped,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
maxPriorityFeePerGas: '0x007',
maxFeePerGas: '0x008',
@@ -3171,7 +3155,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
gas: '0x001',
gasPrice: '0x002',
@@ -3209,7 +3193,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '2',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
gas: '0x001',
gasPrice: '0x002',
@@ -3240,7 +3224,7 @@ describe('Transaction Controller', function () {
txStateManager.addTransaction({
id: '3',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
gas: '0x001',
gasPrice: '0x002',
@@ -3290,7 +3274,7 @@ describe('Transaction Controller', function () {
id: firstTxId,
origin: ORIGIN_METAMASK,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -3302,7 +3286,7 @@ describe('Transaction Controller', function () {
id: secondTxId,
origin: ORIGIN_METAMASK,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
@@ -3347,7 +3331,7 @@ describe('Transaction Controller', function () {
id: txId,
origin: ORIGIN_METAMASK,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS_TWO,
diff --git a/app/scripts/controllers/transactions/tx-state-manager.js b/app/scripts/controllers/transactions/tx-state-manager.js
index c2a4dc56ea14..4a66f19d50ee 100644
--- a/app/scripts/controllers/transactions/tx-state-manager.js
+++ b/app/scripts/controllers/transactions/tx-state-manager.js
@@ -5,7 +5,6 @@ import { values, keyBy, mapValues, omitBy, pickBy, sortBy } from 'lodash';
import { v1 as uuid } from 'uuid';
import { TransactionStatus } from '../../../../shared/constants/transaction';
import { METAMASK_CONTROLLER_EVENTS } from '../../metamask-controller';
-import { transactionMatchesNetwork } from '../../../../shared/modules/transaction.utils';
import { ORIGIN_METAMASK } from '../../../../shared/constants/app';
import { NetworkStatus } from '../../../../shared/constants/network';
import {
@@ -55,14 +54,12 @@ export const ERROR_SUBMITTING =
* transactions list keyed by id
* @param {number} [opts.txHistoryLimit] - limit for how many finished
* transactions can hang around in state
- * @param {Function} opts.getNetworkId - Get the current network Id.
* @param {Function} opts.getNetworkStatus - Get the current network status.
*/
export default class TransactionStateManager extends EventEmitter {
constructor({
initState,
txHistoryLimit,
- getNetworkId,
getNetworkStatus,
getCurrentChainId,
}) {
@@ -73,7 +70,6 @@ export default class TransactionStateManager extends EventEmitter {
...initState,
});
this.txHistoryLimit = txHistoryLimit;
- this.getNetworkId = getNetworkId;
this.getNetworkStatus = getNetworkStatus;
this.getCurrentChainId = getCurrentChainId;
}
@@ -90,7 +86,6 @@ export default class TransactionStateManager extends EventEmitter {
* @returns {TransactionMeta} the default txMeta object
*/
generateTxMeta(opts = {}) {
- const networkId = this.getNetworkId();
const networkStatus = this.getNetworkStatus();
const chainId = this.getCurrentChainId();
if (networkStatus !== NetworkStatus.Available) {
@@ -133,7 +128,6 @@ export default class TransactionStateManager extends EventEmitter {
id: uuid(),
time: new Date().getTime(),
status: TransactionStatus.unapproved,
- metamaskNetworkId: networkId,
originalGasEstimate: opts.txParams?.gas,
userEditedGasLimit: false,
chainId,
@@ -155,12 +149,11 @@ export default class TransactionStateManager extends EventEmitter {
*/
getUnapprovedTxList() {
const chainId = this.getCurrentChainId();
- const networkId = this.getNetworkId();
return pickBy(
this.store.getState().transactions,
(transaction) =>
transaction.status === TransactionStatus.unapproved &&
- transactionMatchesNetwork(transaction, chainId, networkId),
+ transaction.chainId === chainId,
);
}
@@ -279,9 +272,8 @@ export default class TransactionStateManager extends EventEmitter {
const txsToDelete = transactions
.reverse()
.filter((tx) => {
- const { nonce, from } = tx.txParams;
- const { chainId, metamaskNetworkId, status } = tx;
- const key = `${nonce}-${chainId ?? metamaskNetworkId}-${from}`;
+ const { chainId, status, txParams } = tx;
+ const key = `${txParams.nonce}-${chainId}-${txParams.from}`;
if (nonceNetworkSet.has(key)) {
return false;
} else if (
@@ -419,7 +411,6 @@ export default class TransactionStateManager extends EventEmitter {
limit,
} = {}) {
const chainId = this.getCurrentChainId();
- const networkId = this.getNetworkId();
// searchCriteria is an object that might have values that aren't predicate
// methods. When providing any other value type (string, number, etc), we
// consider this shorthand for "check the value at key for strict equality
@@ -444,12 +435,7 @@ export default class TransactionStateManager extends EventEmitter {
// matching transactions that are sorted by time.
const filteredTransactions = sortBy(
pickBy(transactionsToFilter, (transaction) => {
- // default matchesCriteria to the value of transactionMatchesNetwork
- // when filterToCurrentNetwork is true.
- if (
- filterToCurrentNetwork &&
- transactionMatchesNetwork(transaction, chainId, networkId) === false
- ) {
+ if (filterToCurrentNetwork && transaction.chainId !== chainId) {
return false;
}
// iterate over the predicateMethods keys to check if the transaction
@@ -611,7 +597,6 @@ export default class TransactionStateManager extends EventEmitter {
// network only tx
const { transactions } = this.store.getState();
const chainId = this.getCurrentChainId();
- const networkId = this.getNetworkId();
// Update state
this.store.updateState({
@@ -619,7 +604,7 @@ export default class TransactionStateManager extends EventEmitter {
transactions,
(transaction) =>
transaction.txParams.from === address &&
- transactionMatchesNetwork(transaction, chainId, networkId),
+ transaction.chainId === chainId,
),
});
}
diff --git a/app/scripts/controllers/transactions/tx-state-manager.test.js b/app/scripts/controllers/transactions/tx-state-manager.test.js
index a3b420e10b84..968d2c26bc1e 100644
--- a/app/scripts/controllers/transactions/tx-state-manager.test.js
+++ b/app/scripts/controllers/transactions/tx-state-manager.test.js
@@ -4,11 +4,7 @@ import {
TransactionStatus,
TransactionType,
} from '../../../../shared/constants/transaction';
-import {
- CHAIN_IDS,
- NETWORK_IDS,
- NetworkStatus,
-} from '../../../../shared/constants/network';
+import { CHAIN_IDS, NetworkStatus } from '../../../../shared/constants/network';
import { GAS_LIMITS } from '../../../../shared/constants/gas';
import { ORIGIN_METAMASK } from '../../../../shared/constants/app';
import TxStateManager, { ERROR_SUBMITTING } from './tx-state-manager';
@@ -48,10 +44,9 @@ function generateTransactions(
}
describe('TransactionStateManager', function () {
let txStateManager;
- const currentNetworkId = NETWORK_IDS.GOERLI;
const currentNetworkStatus = NetworkStatus.Available;
const currentChainId = CHAIN_IDS.MAINNET;
- const otherNetworkId = '2';
+ const otherChainId = '0x2';
beforeEach(function () {
txStateManager = new TxStateManager({
@@ -59,7 +54,6 @@ describe('TransactionStateManager', function () {
transactions: {},
},
txHistoryLimit: 10,
- getNetworkId: () => currentNetworkId,
getNetworkStatus: () => currentNetworkStatus,
getCurrentChainId: () => currentChainId,
});
@@ -70,7 +64,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -88,7 +82,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -112,7 +106,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -129,7 +123,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -158,7 +152,7 @@ describe('TransactionStateManager', function () {
it('should return a full list of transactions', function () {
const submittedTx = {
id: 0,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 0,
txParams: {
from: '0xAddress',
@@ -170,7 +164,7 @@ describe('TransactionStateManager', function () {
const confirmedTx = {
id: 3,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 3,
txParams: {
from: '0xAddress',
@@ -187,7 +181,6 @@ describe('TransactionStateManager', function () {
[confirmedTx.id]: confirmedTx,
},
},
- getNetworkId: () => currentNetworkId,
getNetworkStatus: () => currentNetworkStatus,
getCurrentChainId: () => currentChainId,
});
@@ -198,7 +191,7 @@ describe('TransactionStateManager', function () {
it('should return a list of transactions, limited by N unique nonces when there are NO duplicates', function () {
const submittedTx0 = {
id: 0,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 0,
txParams: {
from: '0xAddress',
@@ -210,7 +203,7 @@ describe('TransactionStateManager', function () {
const unapprovedTx1 = {
id: 1,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 1,
txParams: {
from: '0xAddress',
@@ -222,7 +215,7 @@ describe('TransactionStateManager', function () {
const approvedTx2 = {
id: 2,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 2,
txParams: {
from: '0xAddress',
@@ -234,7 +227,7 @@ describe('TransactionStateManager', function () {
const confirmedTx3 = {
id: 3,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 3,
txParams: {
from: '0xAddress',
@@ -253,7 +246,6 @@ describe('TransactionStateManager', function () {
[confirmedTx3.id]: confirmedTx3,
},
},
- getNetworkId: () => currentNetworkId,
getNetworkStatus: () => currentNetworkStatus,
getCurrentChainId: () => currentChainId,
});
@@ -267,7 +259,7 @@ describe('TransactionStateManager', function () {
it('should return a list of transactions, limited by N unique nonces when there ARE duplicates', function () {
const submittedTx0 = {
id: 0,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 0,
txParams: {
from: '0xAddress',
@@ -278,7 +270,7 @@ describe('TransactionStateManager', function () {
};
const submittedTx0Dupe = {
id: 1,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 0,
txParams: {
from: '0xAddress',
@@ -290,7 +282,6 @@ describe('TransactionStateManager', function () {
const unapprovedTx1 = {
id: 2,
- metamaskNetworkId: currentNetworkId,
chainId: currentChainId,
time: 1,
txParams: {
@@ -303,7 +294,7 @@ describe('TransactionStateManager', function () {
const approvedTx2 = {
id: 3,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 2,
txParams: {
from: '0xAddress',
@@ -314,7 +305,6 @@ describe('TransactionStateManager', function () {
};
const approvedTx2Dupe = {
id: 4,
- metamaskNetworkId: currentNetworkId,
chainId: currentChainId,
time: 2,
txParams: {
@@ -327,7 +317,7 @@ describe('TransactionStateManager', function () {
const failedTx3 = {
id: 5,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
time: 3,
txParams: {
from: '0xAddress',
@@ -338,7 +328,6 @@ describe('TransactionStateManager', function () {
};
const failedTx3Dupe = {
id: 6,
- metamaskNetworkId: currentNetworkId,
chainId: currentChainId,
time: 3,
txParams: {
@@ -363,7 +352,6 @@ describe('TransactionStateManager', function () {
[failedTx3Dupe.id]: failedTx3Dupe,
},
},
- getNetworkId: () => currentNetworkId,
getNetworkStatus: () => currentNetworkStatus,
getCurrentChainId: () => currentChainId,
});
@@ -382,61 +370,61 @@ describe('TransactionStateManager', function () {
id: 0,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 1,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 2,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 3,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS_TWO, to: VALID_ADDRESS },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 4,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS_TWO, to: VALID_ADDRESS },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 5,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 6,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 7,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS_TWO, to: VALID_ADDRESS },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 8,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS_TWO, to: VALID_ADDRESS },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 9,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS_TWO, to: VALID_ADDRESS },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
];
txMetas.forEach((txMeta) => txStateManager.addTransaction(txMeta));
@@ -503,7 +491,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -533,7 +521,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
...validTxParams,
[key]: value,
@@ -554,7 +542,7 @@ describe('TransactionStateManager', function () {
const tx = {
id: 1,
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -563,7 +551,7 @@ describe('TransactionStateManager', function () {
const tx2 = {
id: 2,
status: TransactionStatus.confirmed,
- metamaskNetworkId: otherNetworkId,
+ chainId: otherChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -762,7 +750,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -771,7 +759,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '2',
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -799,7 +787,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: validTxParams,
});
@@ -830,7 +818,7 @@ describe('TransactionStateManager', function () {
const txMeta = {
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
from: VALID_ADDRESS_TWO,
to: VALID_ADDRESS,
@@ -906,7 +894,7 @@ describe('TransactionStateManager', function () {
const txMeta = {
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
from: VALID_ADDRESS_TWO,
to: VALID_ADDRESS,
@@ -925,7 +913,7 @@ describe('TransactionStateManager', function () {
const txMeta = {
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
from: VALID_ADDRESS_TWO,
to: VALID_ADDRESS,
@@ -987,7 +975,7 @@ describe('TransactionStateManager', function () {
const txMeta = {
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
from: VALID_ADDRESS_TWO,
to: VALID_ADDRESS,
@@ -1034,7 +1022,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -1043,7 +1031,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '2',
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -1061,7 +1049,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -1070,7 +1058,7 @@ describe('TransactionStateManager', function () {
txStateManager.addTransaction({
id: '2',
status: TransactionStatus.confirmed,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: {
to: VALID_ADDRESS,
from: VALID_ADDRESS,
@@ -1097,19 +1085,19 @@ describe('TransactionStateManager', function () {
id: 0,
status: TransactionStatus.unapproved,
txParams: { from: specificAddress, to: otherAddress },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 1,
status: TransactionStatus.confirmed,
txParams: { from: otherAddress, to: specificAddress },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 2,
status: TransactionStatus.confirmed,
txParams: { from: otherAddress, to: specificAddress },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
];
txMetas.forEach((txMeta) => txStateManager.addTransaction(txMeta));
@@ -1133,19 +1121,19 @@ describe('TransactionStateManager', function () {
id: 0,
status: TransactionStatus.unapproved,
txParams: { from: specificAddress, to: otherAddress },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 1,
status: TransactionStatus.confirmed,
txParams: { from: specificAddress, to: otherAddress },
- metamaskNetworkId: otherNetworkId,
+ chainId: otherChainId,
},
{
id: 2,
status: TransactionStatus.confirmed,
txParams: { from: specificAddress, to: otherAddress },
- metamaskNetworkId: otherNetworkId,
+ chainId: otherChainId,
},
];
@@ -1158,7 +1146,7 @@ describe('TransactionStateManager', function () {
.filter((txMeta) => txMeta.txParams.from === specificAddress);
const txFromOtherNetworks = txStateManager
.getTransactions({ filterToCurrentNetwork: false })
- .filter((txMeta) => txMeta.metamaskNetworkId === otherNetworkId);
+ .filter((txMeta) => txMeta.chainId === otherChainId);
assert.equal(txsFromCurrentNetworkAndAddress.length, 0);
assert.equal(txFromOtherNetworks.length, 2);
@@ -1328,25 +1316,25 @@ describe('TransactionStateManager', function () {
id: 0,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 1,
status: TransactionStatus.unapproved,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
},
{
id: 2,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: otherNetworkId,
+ chainId: otherChainId,
},
{
id: 3,
status: TransactionStatus.confirmed,
txParams: { from: VALID_ADDRESS, to: VALID_ADDRESS_TWO },
- metamaskNetworkId: otherNetworkId,
+ chainId: otherChainId,
},
];
diff --git a/app/scripts/controllers/transactions/types.ts b/app/scripts/controllers/transactions/types.ts
index e59205e1b654..9f956896f71f 100644
--- a/app/scripts/controllers/transactions/types.ts
+++ b/app/scripts/controllers/transactions/types.ts
@@ -20,11 +20,6 @@ export interface RemoteTransactionSourceRequest {
*/
currentChainId: Hex;
- /**
- * The networkId of the current network.
- */
- currentNetworkId: string;
-
/**
* Block number to start fetching transactions from.
*/
@@ -41,7 +36,7 @@ export interface RemoteTransactionSourceRequest {
* Used by the IncomingTransactionHelper to retrieve remote transaction data.
*/
export interface RemoteTransactionSource {
- isSupportedNetwork: (chainId: Hex, networkId: string) => boolean;
+ isSupportedNetwork: (chainId: Hex) => boolean;
fetchTransactions: (
request: RemoteTransactionSourceRequest,
diff --git a/app/scripts/lib/setupSentry.js b/app/scripts/lib/setupSentry.js
index 217f98b4237c..8d7be63deb78 100644
--- a/app/scripts/lib/setupSentry.js
+++ b/app/scripts/lib/setupSentry.js
@@ -128,7 +128,6 @@ export const SENTRY_BACKGROUND_STATE = {
},
NetworkController: {
networkConfigurations: false,
- networkId: true,
networksMetadata: true,
providerConfig: {
chainId: true,
diff --git a/app/scripts/lib/util.test.js b/app/scripts/lib/util.test.js
index 3b70d9be7a73..906beff93ee5 100644
--- a/app/scripts/lib/util.test.js
+++ b/app/scripts/lib/util.test.js
@@ -272,7 +272,6 @@ describe('app utils', () => {
origin: 'other',
chainId: '0x5',
time: 1624408066355,
- metamaskNetworkId: '5',
hash: '0x4bcb6cd6b182209585f8ad140260ddb35c81a575dd40f508d9767e652a9f60e7',
r: '0x4c3111e42ed5eec3dcecba1e234700f387e8693c373c61c3e54a762a26f1570e',
s: '0x18bfc4eeb7ebcfacc3bd59ea100a6834ea3265e65945dbec69aa2a06564fafff',
@@ -317,7 +316,6 @@ describe('app utils', () => {
origin: 'other',
chainId: '0x5',
time: 1624408066355,
- metamaskNetworkId: '5',
hash: '0x4bcb6cd6b182209585f8ad140260ddb35c81a575dd40f508d9767e652a9f60e7',
r: '0x4c3111e42ed5eec3dcecba1e234700f387e8693c373c61c3e54a762a26f1570e',
s: '0x18bfc4eeb7ebcfacc3bd59ea100a6834ea3265e65945dbec69aa2a06564fafff',
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 74a514f2c267..dcea569934ce 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -165,6 +165,7 @@ import { STATIC_MAINNET_TOKEN_LIST } from '../../shared/constants/tokens';
import { getTokenValueParam } from '../../shared/lib/metamask-controller-utils';
import { isManifestV3 } from '../../shared/modules/mv3.utils';
import { hexToDecimal } from '../../shared/modules/conversion.utils';
+import { convertNetworkId } from '../../shared/modules/network.utils';
import { ACTION_QUEUE_METRICS_E2E_TEST } from '../../shared/constants/test-flags';
///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
import { keyringSnapPermissionsBuilder } from './lib/keyring-snaps-permissions';
@@ -436,6 +437,14 @@ export default class MetamaskController extends EventEmitter {
this.blockTracker =
this.networkController.getProviderAndBlockTracker().blockTracker;
+ // TODO: Delete when ready to remove `networkVersion` from provider object
+ this.deprecatedNetworkId = null;
+ this.updateDeprecatedNetworkId();
+ networkControllerMessenger.subscribe(
+ 'NetworkController:networkDidChange',
+ () => this.updateDeprecatedNetworkId(),
+ );
+
const tokenListMessenger = this.controllerMessenger.getRestricted({
name: 'TokenListController',
allowedEvents: [
@@ -1266,7 +1275,6 @@ export default class MetamaskController extends EventEmitter {
),
getCurrentAccountEIP1559Compatibility:
this.getCurrentAccountEIP1559Compatibility.bind(this),
- getNetworkId: () => this.networkController.state.networkId,
getNetworkStatus: () =>
this.networkController.state.networksMetadata?.[
this.networkController.state.selectedNetworkClientId
@@ -1278,7 +1286,7 @@ export default class MetamaskController extends EventEmitter {
networkControllerMessenger.subscribe(
'NetworkController:stateChange',
() => listener(),
- ({ networkId }) => networkId,
+ (state) => state.providerConfig.chainId,
);
},
getCurrentChainId: () =>
@@ -2292,28 +2300,27 @@ export default class MetamaskController extends EventEmitter {
createPublicConfigStore() {
// subset of state for metamask inpage provider
const publicConfigStore = new ObservableStore();
- const { networkController } = this;
- // setup memStore subscription hooks
- this.on('update', updatePublicConfigStore);
- updatePublicConfigStore(this.getState());
+ const selectPublicState = (chainId, { isUnlocked }) => {
+ return {
+ isUnlocked,
+ chainId,
+ networkVersion: this.deprecatedNetworkId ?? 'loading',
+ };
+ };
- function updatePublicConfigStore(memState) {
+ const updatePublicConfigStore = (memState) => {
const networkStatus =
memState.networksMetadata[memState.selectedNetworkClientId]?.status;
- const { chainId } = networkController.state.providerConfig;
+ const { chainId } = this.networkController.state.providerConfig;
if (networkStatus === NetworkStatus.Available) {
publicConfigStore.putState(selectPublicState(chainId, memState));
}
- }
+ };
- function selectPublicState(chainId, { isUnlocked, networkId }) {
- return {
- isUnlocked,
- chainId,
- networkVersion: networkId ?? 'loading',
- };
- }
+ // setup memStore subscription hooks
+ this.on('update', updatePublicConfigStore);
+ updatePublicConfigStore(this.getState());
return publicConfigStore;
}
@@ -2327,26 +2334,64 @@ export default class MetamaskController extends EventEmitter {
async getProviderState(origin) {
return {
isUnlocked: this.isUnlocked(),
- ...this.getProviderNetworkState(),
accounts: await this.getPermittedAccounts(origin),
+ ...this.getProviderNetworkState(),
};
}
/**
* Gets network state relevant for external providers.
*
- * @param {object} [memState] - The MetaMask memState. If not provided,
- * this function will retrieve the most recent state.
* @returns {object} An object with relevant network state properties.
*/
- getProviderNetworkState(memState) {
- const { networkId } = memState || this.getState();
+ getProviderNetworkState() {
return {
chainId: this.networkController.state.providerConfig.chainId,
- networkVersion: networkId ?? 'loading',
+ networkVersion: this.deprecatedNetworkId ?? 'loading',
};
}
+ /**
+ * TODO: Delete when ready to remove `networkVersion` from provider object
+ * Updates the `deprecatedNetworkId` value
+ */
+ async updateDeprecatedNetworkId() {
+ try {
+ this.deprecatedNetworkId = await this.deprecatedGetNetworkId();
+ } catch (error) {
+ console.error(error);
+ this.deprecatedNetworkId = null;
+ }
+ this._notifyChainChange();
+ }
+
+ /**
+ * TODO: Delete when ready to remove `networkVersion` from provider object
+ * Gets current networkId as returned by `net_version`
+ *
+ * @returns {string} The networkId for the current network or null on failure
+ * @throws Will throw if there is a problem getting the network version
+ */
+ async deprecatedGetNetworkId() {
+ const ethQuery = this.controllerMessenger.call(
+ 'NetworkController:getEthQuery',
+ );
+
+ if (!ethQuery) {
+ throw new Error('Provider has not been initialized');
+ }
+
+ return new Promise((resolve, reject) => {
+ ethQuery.sendAsync({ method: 'net_version' }, (error, result) => {
+ if (error) {
+ reject(error);
+ } else {
+ resolve(convertNetworkId(result));
+ }
+ });
+ });
+ }
+
//=============================================================================
// EXPOSED TO THE UI SUBSYSTEM
//=============================================================================
@@ -4712,10 +4757,7 @@ export default class MetamaskController extends EventEmitter {
*/
_onStateUpdate(newState) {
this.isClientOpenAndUnlocked = newState.isUnlocked && this._isClientOpen;
- this.notifyAllConnections({
- method: NOTIFICATION_NAMES.chainChanged,
- params: this.getProviderNetworkState(newState),
- });
+ this._notifyChainChange();
}
// misc
@@ -5068,4 +5110,11 @@ export default class MetamaskController extends EventEmitter {
this.permissionLogController.updateAccountsHistory(origin, newAccounts);
}
+
+ _notifyChainChange() {
+ this.notifyAllConnections({
+ method: NOTIFICATION_NAMES.chainChanged,
+ params: this.getProviderNetworkState(),
+ });
+ }
}
diff --git a/app/scripts/metamask-controller.test.js b/app/scripts/metamask-controller.test.js
index 7c4d40cde4e1..9f71713a7323 100644
--- a/app/scripts/metamask-controller.test.js
+++ b/app/scripts/metamask-controller.test.js
@@ -105,7 +105,7 @@ jest.mock('../../shared/modules/mv3.utils', () => ({
},
}));
-const currentNetworkId = '5';
+const currentChainId = '0x5';
const DEFAULT_LABEL = 'Account 1';
const TEST_SEED =
'debris dizzy just program just float decrease vacant alarm reduce speak stadium';
@@ -891,36 +891,33 @@ describe('MetaMaskController', () => {
});
describe('#resetAccount', () => {
- it('wipes transactions from only the correct network id and with the selected address', async () => {
+ it('wipes transactions from only the correct chain id and with the selected address', async function () {
jest
.spyOn(metamaskController.preferencesController, 'getSelectedAddress')
.mockReturnValue('0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc');
- jest
- .spyOn(metamaskController.txController.txStateManager, 'getNetworkId')
- .mockReturnValue(42);
metamaskController.txController.txStateManager._addTransactionsToState([
createTxMeta({
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: { from: '0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc' },
}),
createTxMeta({
id: 1,
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: { from: '0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc' },
}),
createTxMeta({
id: 2,
status: TransactionStatus.rejected,
- metamaskNetworkId: '32',
+ chainId: '0x32',
}),
createTxMeta({
id: 3,
status: TransactionStatus.submitted,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams: { from: '0xB09d8505E1F4EF1CeA089D47094f5DD3464083d4' },
}),
]);
diff --git a/app/scripts/migrations/101.test.js b/app/scripts/migrations/101.test.js
new file mode 100644
index 000000000000..5130c23ed4b6
--- /dev/null
+++ b/app/scripts/migrations/101.test.js
@@ -0,0 +1,112 @@
+import { migrate, version } from './101';
+
+const sentryCaptureExceptionMock = jest.fn();
+
+global.sentry = {
+ captureException: sentryCaptureExceptionMock,
+};
+
+jest.mock('uuid', () => {
+ const actual = jest.requireActual('uuid');
+
+ return {
+ ...actual,
+ v4: jest.fn(),
+ };
+});
+
+describe('migration #101', () => {
+ afterEach(() => {
+ jest.resetAllMocks();
+ });
+
+ it('should update the version metadata', async () => {
+ const oldStorage = {
+ meta: {
+ version: 100,
+ },
+ data: {},
+ };
+
+ const newStorage = await migrate(oldStorage);
+ expect(newStorage.meta).toStrictEqual({
+ version,
+ });
+ });
+
+ it('should return state unaltered if there is no network controller state', async () => {
+ const oldData = {
+ other: 'data',
+ };
+ const oldStorage = {
+ meta: {
+ version: 100,
+ },
+ data: oldData,
+ };
+
+ const newStorage = await migrate(oldStorage);
+ expect(newStorage.data).toStrictEqual(oldData);
+ });
+
+ it('should capture an exception if there is no network controller state', async () => {
+ const oldData = {
+ other: 'data',
+ };
+ const oldStorage = {
+ meta: {
+ version: 100,
+ },
+ data: oldData,
+ };
+
+ await migrate(oldStorage);
+
+ expect(sentryCaptureExceptionMock).toHaveBeenCalledTimes(1);
+ expect(sentryCaptureExceptionMock).toHaveBeenCalledWith(
+ new Error(`typeof state.NetworkController is undefined`),
+ );
+ });
+
+ it('should return state unaltered if there is no network controller networkId state', async () => {
+ const oldData = {
+ other: 'data',
+ NetworkController: {
+ selectedNetworkClientId: 'networkClientId1',
+ },
+ };
+ const oldStorage = {
+ meta: {
+ version: 100,
+ },
+ data: oldData,
+ };
+
+ const newStorage = await migrate(oldStorage);
+ expect(newStorage.data).toStrictEqual(oldData);
+ });
+
+ it('should delete the networkId state', async () => {
+ const oldData = {
+ other: 'data',
+ NetworkController: {
+ selectedNetworkClientId: 'networkClientId1',
+ networkId: '1337',
+ },
+ };
+ const oldStorage = {
+ meta: {
+ version: 100,
+ },
+ data: oldData,
+ };
+
+ const newStorage = await migrate(oldStorage);
+ expect(newStorage.data).toStrictEqual({
+ other: 'data',
+ NetworkController: {
+ selectedNetworkClientId: 'networkClientId1',
+ },
+ });
+ });
+});
diff --git a/app/scripts/migrations/101.ts b/app/scripts/migrations/101.ts
new file mode 100644
index 000000000000..bd474212e694
--- /dev/null
+++ b/app/scripts/migrations/101.ts
@@ -0,0 +1,52 @@
+import { hasProperty, isObject } from '@metamask/utils';
+import { cloneDeep } from 'lodash';
+
+type VersionedData = {
+ meta: { version: number };
+ data: Record;
+};
+
+export const version = 101;
+
+/**
+ * Remove network controller `networkId` state.
+ *
+ * @param originalVersionedData - Versioned MetaMask extension state, exactly what we persist to dist.
+ * @param originalVersionedData.meta - State metadata.
+ * @param originalVersionedData.meta.version - The current state version.
+ * @param originalVersionedData.data - The persisted MetaMask state, keyed by controller.
+ * @returns Updated versioned MetaMask extension state.
+ */
+export async function migrate(
+ originalVersionedData: VersionedData,
+): Promise {
+ const versionedData = cloneDeep(originalVersionedData);
+ versionedData.meta.version = version;
+ transformState(versionedData.data);
+ return versionedData;
+}
+
+function transformState(state: Record) {
+ if (
+ hasProperty(state, 'NetworkController') &&
+ isObject(state.NetworkController) &&
+ hasProperty(state.NetworkController, 'networkId')
+ ) {
+ const networkControllerState = state.NetworkController;
+ delete networkControllerState.networkId;
+
+ return {
+ ...state,
+ NetworkController: networkControllerState,
+ };
+ }
+ if (!isObject(state.NetworkController)) {
+ global.sentry?.captureException?.(
+ new Error(
+ `typeof state.NetworkController is ${typeof state.NetworkController}`,
+ ),
+ );
+ }
+
+ return state;
+}
diff --git a/app/scripts/migrations/index.js b/app/scripts/migrations/index.js
index c163d18c03c4..05b2a13db8b1 100644
--- a/app/scripts/migrations/index.js
+++ b/app/scripts/migrations/index.js
@@ -107,6 +107,7 @@ import * as m097 from './097';
import * as m098 from './098';
import * as m099 from './099';
import * as m100 from './100';
+import * as m101 from './101';
const migrations = [
m002,
@@ -211,5 +212,6 @@ const migrations = [
m098,
m099,
m100,
+ m101,
];
export default migrations;
diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json
index f472a93797e2..7f32f6abd7fd 100644
--- a/lavamoat/browserify/beta/policy.json
+++ b/lavamoat/browserify/beta/policy.json
@@ -712,8 +712,38 @@
},
"@metamask/address-book-controller": {
"packages": {
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true
+ "@metamask/address-book-controller>@metamask/controller-utils": true,
+ "@metamask/base-controller": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true,
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
}
},
"@metamask/announcement-controller": {
@@ -752,13 +782,13 @@
"@ethersproject/contracts": true,
"@ethersproject/providers": true,
"@metamask/assets-controllers>@metamask/abi-utils": true,
- "@metamask/assets-controllers>@metamask/controller-utils": true,
"@metamask/assets-controllers>@metamask/rpc-errors": true,
"@metamask/assets-controllers>@metamask/utils": true,
"@metamask/assets-controllers>abort-controller": true,
"@metamask/assets-controllers>multiformats": true,
"@metamask/base-controller": true,
"@metamask/contract-metadata": true,
+ "@metamask/controller-utils": true,
"@metamask/controller-utils>@metamask/eth-query": true,
"@metamask/metamask-eth-abis": true,
"eth-json-rpc-filters>async-mutex": true,
@@ -787,36 +817,6 @@
"superstruct": true
}
},
- "@metamask/assets-controllers>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": true,
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/assets-controllers>@metamask/rpc-errors": {
"packages": {
"@metamask/assets-controllers>@metamask/rpc-errors>@metamask/utils": true,
@@ -1513,13 +1513,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils": true,
"eth-query": true,
"ethereumjs-util": true,
"ethjs>ethjs-unit": true,
"uuid": true
}
},
+ "@metamask/gas-fee-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@@ -1687,7 +1717,7 @@
"@metamask/message-manager": {
"packages": {
"@metamask/base-controller": true,
- "@metamask/message-manager>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
@@ -1696,23 +1726,6 @@
"webpack>events": true
}
},
- "@metamask/message-manager>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/message-manager>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@@ -1879,7 +1892,7 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/permission-controller>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/permission-controller>@metamask/utils": true,
"@metamask/permission-controller>nanoid": true,
"deep-freeze-strict": true,
@@ -1888,36 +1901,6 @@
"json-rpc-engine": true
}
},
- "@metamask/permission-controller>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/permission-controller>@metamask/utils": {
"globals": {
"TextDecoder": true,
@@ -1942,11 +1925,41 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/phishing-controller>@metamask/controller-utils": true,
"@metamask/phishing-warning>eth-phishing-detect": true,
"punycode": true
}
},
+ "@metamask/phishing-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/phishing-warning>eth-phishing-detect": {
"packages": {
"eslint>optionator>fast-levenshtein": true
@@ -2048,9 +2061,9 @@
},
"packages": {
"@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
"@metamask/logging-controller": true,
"@metamask/message-manager": true,
- "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2058,7 +2071,27 @@
"webpack>events": true
}
},
- "@metamask/signature-controller>@metamask/controller-utils": {
+ "@metamask/smart-transactions-controller": {
+ "globals": {
+ "URLSearchParams": true,
+ "clearInterval": true,
+ "console.error": true,
+ "console.log": true,
+ "fetch": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@ethersproject/abi>@ethersproject/bytes": true,
+ "@ethersproject/bignumber": true,
+ "@ethersproject/providers": true,
+ "@metamask/base-controller": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": true,
+ "@metamask/smart-transactions-controller>bignumber.js": true,
+ "fast-json-patch": true,
+ "lodash": true
+ }
+ },
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": {
"globals": {
"URL": true,
"console.error": true,
@@ -2067,7 +2100,7 @@
},
"packages": {
"@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/signature-controller>@metamask/utils": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@@ -2075,7 +2108,7 @@
"ethjs>ethjs-unit": true
}
},
- "@metamask/signature-controller>@metamask/utils": {
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
@@ -2088,26 +2121,6 @@
"superstruct": true
}
},
- "@metamask/smart-transactions-controller": {
- "globals": {
- "URLSearchParams": true,
- "clearInterval": true,
- "console.error": true,
- "console.log": true,
- "fetch": true,
- "setInterval": true
- },
- "packages": {
- "@ethersproject/abi>@ethersproject/bytes": true,
- "@ethersproject/bignumber": true,
- "@ethersproject/providers": true,
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true,
- "@metamask/smart-transactions-controller>bignumber.js": true,
- "fast-json-patch": true,
- "lodash": true
- }
- },
"@metamask/smart-transactions-controller>@metamask/controllers>nanoid": {
"globals": {
"crypto.getRandomValues": true
diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json
index 229596d28841..a201cb7dc69d 100644
--- a/lavamoat/browserify/desktop/policy.json
+++ b/lavamoat/browserify/desktop/policy.json
@@ -712,8 +712,38 @@
},
"@metamask/address-book-controller": {
"packages": {
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true
+ "@metamask/address-book-controller>@metamask/controller-utils": true,
+ "@metamask/base-controller": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true,
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
}
},
"@metamask/announcement-controller": {
@@ -752,13 +782,13 @@
"@ethersproject/contracts": true,
"@ethersproject/providers": true,
"@metamask/assets-controllers>@metamask/abi-utils": true,
- "@metamask/assets-controllers>@metamask/controller-utils": true,
"@metamask/assets-controllers>@metamask/rpc-errors": true,
"@metamask/assets-controllers>@metamask/utils": true,
"@metamask/assets-controllers>abort-controller": true,
"@metamask/assets-controllers>multiformats": true,
"@metamask/base-controller": true,
"@metamask/contract-metadata": true,
+ "@metamask/controller-utils": true,
"@metamask/controller-utils>@metamask/eth-query": true,
"@metamask/metamask-eth-abis": true,
"eth-json-rpc-filters>async-mutex": true,
@@ -787,36 +817,6 @@
"superstruct": true
}
},
- "@metamask/assets-controllers>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": true,
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/assets-controllers>@metamask/rpc-errors": {
"packages": {
"@metamask/assets-controllers>@metamask/rpc-errors>@metamask/utils": true,
@@ -1628,13 +1628,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils": true,
"eth-query": true,
"ethereumjs-util": true,
"ethjs>ethjs-unit": true,
"uuid": true
}
},
+ "@metamask/gas-fee-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@@ -1827,7 +1857,7 @@
"@metamask/message-manager": {
"packages": {
"@metamask/base-controller": true,
- "@metamask/message-manager>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
@@ -1836,23 +1866,6 @@
"webpack>events": true
}
},
- "@metamask/message-manager>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/message-manager>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@@ -2026,7 +2039,7 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/permission-controller>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/permission-controller>@metamask/utils": true,
"@metamask/permission-controller>nanoid": true,
"deep-freeze-strict": true,
@@ -2035,36 +2048,6 @@
"json-rpc-engine": true
}
},
- "@metamask/permission-controller>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/permission-controller>@metamask/utils": {
"globals": {
"TextDecoder": true,
@@ -2089,11 +2072,41 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/phishing-controller>@metamask/controller-utils": true,
"@metamask/phishing-warning>eth-phishing-detect": true,
"punycode": true
}
},
+ "@metamask/phishing-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/phishing-warning>eth-phishing-detect": {
"packages": {
"eslint>optionator>fast-levenshtein": true
@@ -2214,9 +2227,9 @@
},
"packages": {
"@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
"@metamask/logging-controller": true,
"@metamask/message-manager": true,
- "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2224,7 +2237,27 @@
"webpack>events": true
}
},
- "@metamask/signature-controller>@metamask/controller-utils": {
+ "@metamask/smart-transactions-controller": {
+ "globals": {
+ "URLSearchParams": true,
+ "clearInterval": true,
+ "console.error": true,
+ "console.log": true,
+ "fetch": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@ethersproject/abi>@ethersproject/bytes": true,
+ "@ethersproject/bignumber": true,
+ "@ethersproject/providers": true,
+ "@metamask/base-controller": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": true,
+ "@metamask/smart-transactions-controller>bignumber.js": true,
+ "fast-json-patch": true,
+ "lodash": true
+ }
+ },
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": {
"globals": {
"URL": true,
"console.error": true,
@@ -2233,7 +2266,7 @@
},
"packages": {
"@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/signature-controller>@metamask/utils": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@@ -2241,7 +2274,7 @@
"ethjs>ethjs-unit": true
}
},
- "@metamask/signature-controller>@metamask/utils": {
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
@@ -2254,26 +2287,6 @@
"superstruct": true
}
},
- "@metamask/smart-transactions-controller": {
- "globals": {
- "URLSearchParams": true,
- "clearInterval": true,
- "console.error": true,
- "console.log": true,
- "fetch": true,
- "setInterval": true
- },
- "packages": {
- "@ethersproject/abi>@ethersproject/bytes": true,
- "@ethersproject/bignumber": true,
- "@ethersproject/providers": true,
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true,
- "@metamask/smart-transactions-controller>bignumber.js": true,
- "fast-json-patch": true,
- "lodash": true
- }
- },
"@metamask/smart-transactions-controller>@metamask/controllers>nanoid": {
"globals": {
"crypto.getRandomValues": true
diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json
index 3aa77fbd689a..3c584f0664b2 100644
--- a/lavamoat/browserify/flask/policy.json
+++ b/lavamoat/browserify/flask/policy.json
@@ -712,8 +712,38 @@
},
"@metamask/address-book-controller": {
"packages": {
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true
+ "@metamask/address-book-controller>@metamask/controller-utils": true,
+ "@metamask/base-controller": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true,
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
}
},
"@metamask/announcement-controller": {
@@ -752,13 +782,13 @@
"@ethersproject/contracts": true,
"@ethersproject/providers": true,
"@metamask/assets-controllers>@metamask/abi-utils": true,
- "@metamask/assets-controllers>@metamask/controller-utils": true,
"@metamask/assets-controllers>@metamask/rpc-errors": true,
"@metamask/assets-controllers>@metamask/utils": true,
"@metamask/assets-controllers>abort-controller": true,
"@metamask/assets-controllers>multiformats": true,
"@metamask/base-controller": true,
"@metamask/contract-metadata": true,
+ "@metamask/controller-utils": true,
"@metamask/controller-utils>@metamask/eth-query": true,
"@metamask/metamask-eth-abis": true,
"eth-json-rpc-filters>async-mutex": true,
@@ -787,36 +817,6 @@
"superstruct": true
}
},
- "@metamask/assets-controllers>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": true,
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/assets-controllers>@metamask/rpc-errors": {
"packages": {
"@metamask/assets-controllers>@metamask/rpc-errors>@metamask/utils": true,
@@ -1628,13 +1628,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils": true,
"eth-query": true,
"ethereumjs-util": true,
"ethjs>ethjs-unit": true,
"uuid": true
}
},
+ "@metamask/gas-fee-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@@ -1827,7 +1857,7 @@
"@metamask/message-manager": {
"packages": {
"@metamask/base-controller": true,
- "@metamask/message-manager>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
@@ -1836,23 +1866,6 @@
"webpack>events": true
}
},
- "@metamask/message-manager>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/message-manager>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@@ -2026,7 +2039,7 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/permission-controller>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/permission-controller>@metamask/utils": true,
"@metamask/permission-controller>nanoid": true,
"deep-freeze-strict": true,
@@ -2035,36 +2048,6 @@
"json-rpc-engine": true
}
},
- "@metamask/permission-controller>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/permission-controller>@metamask/utils": {
"globals": {
"TextDecoder": true,
@@ -2089,11 +2072,41 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/phishing-controller>@metamask/controller-utils": true,
"@metamask/phishing-warning>eth-phishing-detect": true,
"punycode": true
}
},
+ "@metamask/phishing-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/phishing-warning>eth-phishing-detect": {
"packages": {
"eslint>optionator>fast-levenshtein": true
@@ -2108,13 +2121,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/ppom-validator>@metamask/controller-utils": true,
"@metamask/ppom-validator>elliptic": true,
"await-semaphore": true,
"browserify>buffer": true,
"eth-query>json-rpc-random-id": true
}
},
+ "@metamask/ppom-validator>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/ppom-validator>elliptic": {
"packages": {
"@metamask/ppom-validator>elliptic>brorand": true,
@@ -2230,9 +2273,9 @@
},
"packages": {
"@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
"@metamask/logging-controller": true,
"@metamask/message-manager": true,
- "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2240,7 +2283,27 @@
"webpack>events": true
}
},
- "@metamask/signature-controller>@metamask/controller-utils": {
+ "@metamask/smart-transactions-controller": {
+ "globals": {
+ "URLSearchParams": true,
+ "clearInterval": true,
+ "console.error": true,
+ "console.log": true,
+ "fetch": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@ethersproject/abi>@ethersproject/bytes": true,
+ "@ethersproject/bignumber": true,
+ "@ethersproject/providers": true,
+ "@metamask/base-controller": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": true,
+ "@metamask/smart-transactions-controller>bignumber.js": true,
+ "fast-json-patch": true,
+ "lodash": true
+ }
+ },
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": {
"globals": {
"URL": true,
"console.error": true,
@@ -2249,7 +2312,7 @@
},
"packages": {
"@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/signature-controller>@metamask/utils": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@@ -2257,7 +2320,7 @@
"ethjs>ethjs-unit": true
}
},
- "@metamask/signature-controller>@metamask/utils": {
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
@@ -2270,26 +2333,6 @@
"superstruct": true
}
},
- "@metamask/smart-transactions-controller": {
- "globals": {
- "URLSearchParams": true,
- "clearInterval": true,
- "console.error": true,
- "console.log": true,
- "fetch": true,
- "setInterval": true
- },
- "packages": {
- "@ethersproject/abi>@ethersproject/bytes": true,
- "@ethersproject/bignumber": true,
- "@ethersproject/providers": true,
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true,
- "@metamask/smart-transactions-controller>bignumber.js": true,
- "fast-json-patch": true,
- "lodash": true
- }
- },
"@metamask/smart-transactions-controller>@metamask/controllers>nanoid": {
"globals": {
"crypto.getRandomValues": true
diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json
index 326621fbfe40..984a358dc56a 100644
--- a/lavamoat/browserify/main/policy.json
+++ b/lavamoat/browserify/main/policy.json
@@ -712,8 +712,38 @@
},
"@metamask/address-book-controller": {
"packages": {
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true
+ "@metamask/address-book-controller>@metamask/controller-utils": true,
+ "@metamask/base-controller": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true,
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
}
},
"@metamask/announcement-controller": {
@@ -752,13 +782,13 @@
"@ethersproject/contracts": true,
"@ethersproject/providers": true,
"@metamask/assets-controllers>@metamask/abi-utils": true,
- "@metamask/assets-controllers>@metamask/controller-utils": true,
"@metamask/assets-controllers>@metamask/rpc-errors": true,
"@metamask/assets-controllers>@metamask/utils": true,
"@metamask/assets-controllers>abort-controller": true,
"@metamask/assets-controllers>multiformats": true,
"@metamask/base-controller": true,
"@metamask/contract-metadata": true,
+ "@metamask/controller-utils": true,
"@metamask/controller-utils>@metamask/eth-query": true,
"@metamask/metamask-eth-abis": true,
"eth-json-rpc-filters>async-mutex": true,
@@ -787,36 +817,6 @@
"superstruct": true
}
},
- "@metamask/assets-controllers>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": true,
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/assets-controllers>@metamask/rpc-errors": {
"packages": {
"@metamask/assets-controllers>@metamask/rpc-errors>@metamask/utils": true,
@@ -1557,13 +1557,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils": true,
"eth-query": true,
"ethereumjs-util": true,
"ethjs>ethjs-unit": true,
"uuid": true
}
},
+ "@metamask/gas-fee-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@@ -1756,7 +1786,7 @@
"@metamask/message-manager": {
"packages": {
"@metamask/base-controller": true,
- "@metamask/message-manager>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
@@ -1765,23 +1795,6 @@
"webpack>events": true
}
},
- "@metamask/message-manager>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/message-manager>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@@ -1955,7 +1968,7 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/permission-controller>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/permission-controller>@metamask/utils": true,
"@metamask/permission-controller>nanoid": true,
"deep-freeze-strict": true,
@@ -1964,36 +1977,6 @@
"json-rpc-engine": true
}
},
- "@metamask/permission-controller>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/permission-controller>@metamask/utils": {
"globals": {
"TextDecoder": true,
@@ -2018,11 +2001,41 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/phishing-controller>@metamask/controller-utils": true,
"@metamask/phishing-warning>eth-phishing-detect": true,
"punycode": true
}
},
+ "@metamask/phishing-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/phishing-warning>eth-phishing-detect": {
"packages": {
"eslint>optionator>fast-levenshtein": true
@@ -2037,13 +2050,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/ppom-validator>@metamask/controller-utils": true,
"@metamask/ppom-validator>elliptic": true,
"await-semaphore": true,
"browserify>buffer": true,
"eth-query>json-rpc-random-id": true
}
},
+ "@metamask/ppom-validator>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/ppom-validator>elliptic": {
"packages": {
"@metamask/ppom-validator>elliptic>brorand": true,
@@ -2159,9 +2202,9 @@
},
"packages": {
"@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
"@metamask/logging-controller": true,
"@metamask/message-manager": true,
- "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2169,7 +2212,27 @@
"webpack>events": true
}
},
- "@metamask/signature-controller>@metamask/controller-utils": {
+ "@metamask/smart-transactions-controller": {
+ "globals": {
+ "URLSearchParams": true,
+ "clearInterval": true,
+ "console.error": true,
+ "console.log": true,
+ "fetch": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@ethersproject/abi>@ethersproject/bytes": true,
+ "@ethersproject/bignumber": true,
+ "@ethersproject/providers": true,
+ "@metamask/base-controller": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": true,
+ "@metamask/smart-transactions-controller>bignumber.js": true,
+ "fast-json-patch": true,
+ "lodash": true
+ }
+ },
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": {
"globals": {
"URL": true,
"console.error": true,
@@ -2178,7 +2241,7 @@
},
"packages": {
"@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/signature-controller>@metamask/utils": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@@ -2186,7 +2249,7 @@
"ethjs>ethjs-unit": true
}
},
- "@metamask/signature-controller>@metamask/utils": {
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
@@ -2199,26 +2262,6 @@
"superstruct": true
}
},
- "@metamask/smart-transactions-controller": {
- "globals": {
- "URLSearchParams": true,
- "clearInterval": true,
- "console.error": true,
- "console.log": true,
- "fetch": true,
- "setInterval": true
- },
- "packages": {
- "@ethersproject/abi>@ethersproject/bytes": true,
- "@ethersproject/bignumber": true,
- "@ethersproject/providers": true,
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true,
- "@metamask/smart-transactions-controller>bignumber.js": true,
- "fast-json-patch": true,
- "lodash": true
- }
- },
"@metamask/smart-transactions-controller>@metamask/controllers>nanoid": {
"globals": {
"crypto.getRandomValues": true
diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json
index f764613a0d4a..540bd7418035 100644
--- a/lavamoat/browserify/mmi/policy.json
+++ b/lavamoat/browserify/mmi/policy.json
@@ -852,8 +852,38 @@
},
"@metamask/address-book-controller": {
"packages": {
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true
+ "@metamask/address-book-controller>@metamask/controller-utils": true,
+ "@metamask/base-controller": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true,
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
}
},
"@metamask/announcement-controller": {
@@ -892,13 +922,13 @@
"@ethersproject/contracts": true,
"@ethersproject/providers": true,
"@metamask/assets-controllers>@metamask/abi-utils": true,
- "@metamask/assets-controllers>@metamask/controller-utils": true,
"@metamask/assets-controllers>@metamask/rpc-errors": true,
"@metamask/assets-controllers>@metamask/utils": true,
"@metamask/assets-controllers>abort-controller": true,
"@metamask/assets-controllers>multiformats": true,
"@metamask/base-controller": true,
"@metamask/contract-metadata": true,
+ "@metamask/controller-utils": true,
"@metamask/controller-utils>@metamask/eth-query": true,
"@metamask/metamask-eth-abis": true,
"eth-json-rpc-filters>async-mutex": true,
@@ -927,36 +957,6 @@
"superstruct": true
}
},
- "@metamask/assets-controllers>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": true,
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/assets-controllers>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/assets-controllers>@metamask/rpc-errors": {
"packages": {
"@metamask/assets-controllers>@metamask/rpc-errors>@metamask/utils": true,
@@ -1653,13 +1653,43 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils": true,
"eth-query": true,
"ethereumjs-util": true,
"ethjs>ethjs-unit": true,
"uuid": true
}
},
+ "@metamask/gas-fee-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/gas-fee-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@@ -1827,7 +1857,7 @@
"@metamask/message-manager": {
"packages": {
"@metamask/base-controller": true,
- "@metamask/message-manager>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
@@ -1836,23 +1866,6 @@
"webpack>events": true
}
},
- "@metamask/message-manager>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/message-manager>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@@ -2026,7 +2039,7 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/permission-controller>@metamask/controller-utils": true,
+ "@metamask/controller-utils": true,
"@metamask/permission-controller>@metamask/utils": true,
"@metamask/permission-controller>nanoid": true,
"deep-freeze-strict": true,
@@ -2035,36 +2048,6 @@
"json-rpc-engine": true
}
},
- "@metamask/permission-controller>@metamask/controller-utils": {
- "globals": {
- "URL": true,
- "console.error": true,
- "fetch": true,
- "setTimeout": true
- },
- "packages": {
- "@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": true,
- "browserify>buffer": true,
- "eslint>fast-deep-equal": true,
- "eth-ens-namehash": true,
- "ethereumjs-util": true,
- "ethjs>ethjs-unit": true
- }
- },
- "@metamask/permission-controller>@metamask/controller-utils>@metamask/utils": {
- "globals": {
- "TextDecoder": true,
- "TextEncoder": true
- },
- "packages": {
- "@metamask/key-tree>@noble/hashes": true,
- "browserify>buffer": true,
- "nock>debug": true,
- "semver": true,
- "superstruct": true
- }
- },
"@metamask/permission-controller>@metamask/utils": {
"globals": {
"TextDecoder": true,
@@ -2089,11 +2072,41 @@
},
"packages": {
"@metamask/base-controller": true,
- "@metamask/controller-utils": true,
+ "@metamask/phishing-controller>@metamask/controller-utils": true,
"@metamask/phishing-warning>eth-phishing-detect": true,
"punycode": true
}
},
+ "@metamask/phishing-controller>@metamask/controller-utils": {
+ "globals": {
+ "URL": true,
+ "console.error": true,
+ "fetch": true,
+ "setTimeout": true
+ },
+ "packages": {
+ "@metamask/controller-utils>@spruceid/siwe-parser": true,
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": true,
+ "browserify>buffer": true,
+ "eslint>fast-deep-equal": true,
+ "eth-ens-namehash": true,
+ "ethereumjs-util": true,
+ "ethjs>ethjs-unit": true
+ }
+ },
+ "@metamask/phishing-controller>@metamask/controller-utils>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@metamask/key-tree>@noble/hashes": true,
+ "browserify>buffer": true,
+ "nock>debug": true,
+ "semver": true,
+ "superstruct": true
+ }
+ },
"@metamask/phishing-warning>eth-phishing-detect": {
"packages": {
"eslint>optionator>fast-levenshtein": true
@@ -2214,9 +2227,9 @@
},
"packages": {
"@metamask/base-controller": true,
+ "@metamask/controller-utils": true,
"@metamask/logging-controller": true,
"@metamask/message-manager": true,
- "@metamask/signature-controller>@metamask/controller-utils": true,
"browserify>buffer": true,
"eth-rpc-errors": true,
"ethereumjs-util": true,
@@ -2224,7 +2237,27 @@
"webpack>events": true
}
},
- "@metamask/signature-controller>@metamask/controller-utils": {
+ "@metamask/smart-transactions-controller": {
+ "globals": {
+ "URLSearchParams": true,
+ "clearInterval": true,
+ "console.error": true,
+ "console.log": true,
+ "fetch": true,
+ "setInterval": true
+ },
+ "packages": {
+ "@ethersproject/abi>@ethersproject/bytes": true,
+ "@ethersproject/bignumber": true,
+ "@ethersproject/providers": true,
+ "@metamask/base-controller": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": true,
+ "@metamask/smart-transactions-controller>bignumber.js": true,
+ "fast-json-patch": true,
+ "lodash": true
+ }
+ },
+ "@metamask/smart-transactions-controller>@metamask/controller-utils": {
"globals": {
"URL": true,
"console.error": true,
@@ -2233,7 +2266,7 @@
},
"packages": {
"@metamask/controller-utils>@spruceid/siwe-parser": true,
- "@metamask/signature-controller>@metamask/utils": true,
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@@ -2241,7 +2274,7 @@
"ethjs>ethjs-unit": true
}
},
- "@metamask/signature-controller>@metamask/utils": {
+ "@metamask/smart-transactions-controller>@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
@@ -2254,26 +2287,6 @@
"superstruct": true
}
},
- "@metamask/smart-transactions-controller": {
- "globals": {
- "URLSearchParams": true,
- "clearInterval": true,
- "console.error": true,
- "console.log": true,
- "fetch": true,
- "setInterval": true
- },
- "packages": {
- "@ethersproject/abi>@ethersproject/bytes": true,
- "@ethersproject/bignumber": true,
- "@ethersproject/providers": true,
- "@metamask/base-controller": true,
- "@metamask/controller-utils": true,
- "@metamask/smart-transactions-controller>bignumber.js": true,
- "fast-json-patch": true,
- "lodash": true
- }
- },
"@metamask/smart-transactions-controller>@metamask/controllers>nanoid": {
"globals": {
"crypto.getRandomValues": true
diff --git a/package.json b/package.json
index 99f8f979a0d7..4423d3a3c852 100644
--- a/package.json
+++ b/package.json
@@ -242,7 +242,7 @@
"@metamask/base-controller": "^3.2.0",
"@metamask/browser-passworder": "^4.1.0",
"@metamask/contract-metadata": "^2.3.1",
- "@metamask/controller-utils": "^4.2.0",
+ "@metamask/controller-utils": "^5.0.0",
"@metamask/design-tokens": "^1.12.0",
"@metamask/desktop": "^0.3.0",
"@metamask/eth-json-rpc-middleware": "^11.0.0",
@@ -263,7 +263,7 @@
"@metamask/message-manager": "^7.3.0",
"@metamask/metamask-eth-abis": "^3.0.0",
"@metamask/name-controller": "^3.0.0",
- "@metamask/network-controller": "^12.2.0",
+ "@metamask/network-controller": "^13.0.0",
"@metamask/notification-controller": "^3.0.0",
"@metamask/obs-store": "^8.1.0",
"@metamask/permission-controller": "^4.0.0",
@@ -275,7 +275,7 @@
"@metamask/rpc-methods": "^3.0.0",
"@metamask/safe-event-emitter": "^2.0.0",
"@metamask/scure-bip39": "^2.0.3",
- "@metamask/selected-network-controller": "^1.0.0",
+ "@metamask/selected-network-controller": "^2.0.0",
"@metamask/signature-controller": "^6.1.2",
"@metamask/slip44": "^3.1.0",
"@metamask/smart-transactions-controller": "^4.0.0",
diff --git a/shared/constants/network.ts b/shared/constants/network.ts
index 5c206c1bc789..56564fdc32a1 100644
--- a/shared/constants/network.ts
+++ b/shared/constants/network.ts
@@ -108,24 +108,6 @@ export const NETWORK_NAMES = {
HOMESTEAD: 'homestead',
};
-/**
- * The Network ID for our builtin networks. This is the decimal equivalent of
- * the chain id for the network, but is expresssed as a string. Many moons ago
- * the decision was made on the extension team to expressly use chainId with
- * hex encoding over network id. Consider that when accessing this object. Note
- * for cross product purposes: alignment with mobile on this matter has not
- * been fully achieved, thus it is possible for some dependencies to still
- * ask for or require network id.
- */
-export const NETWORK_IDS = {
- MAINNET: '1',
- GOERLI: '5',
- LOCALHOST: '1337',
- SEPOLIA: '11155111',
- LINEA_GOERLI: '59140',
- LINEA_MAINNET: '59144',
-} as const;
-
/**
* An object containing all of the chain ids for networks both built in and
* those that we have added custom code to support our feature set.
@@ -296,35 +278,29 @@ export const TEST_NETWORK_TICKER_MAP: {
*/
export const BUILT_IN_NETWORKS = {
[NETWORK_TYPES.GOERLI]: {
- networkId: NETWORK_IDS.GOERLI,
chainId: CHAIN_IDS.GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.GOERLI],
blockExplorerUrl: `https://${NETWORK_TYPES.GOERLI}.etherscan.io`,
},
[NETWORK_TYPES.SEPOLIA]: {
- networkId: NETWORK_IDS.SEPOLIA,
chainId: CHAIN_IDS.SEPOLIA,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
blockExplorerUrl: `https://${NETWORK_TYPES.SEPOLIA}.etherscan.io`,
},
[NETWORK_TYPES.LINEA_GOERLI]: {
- networkId: NETWORK_IDS.LINEA_GOERLI,
chainId: CHAIN_IDS.LINEA_GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_GOERLI],
blockExplorerUrl: 'https://goerli.lineascan.build',
},
[NETWORK_TYPES.MAINNET]: {
- networkId: NETWORK_IDS.MAINNET,
chainId: CHAIN_IDS.MAINNET,
blockExplorerUrl: `https://etherscan.io`,
},
[NETWORK_TYPES.LINEA_MAINNET]: {
- networkId: NETWORK_IDS.LINEA_MAINNET,
chainId: CHAIN_IDS.LINEA_MAINNET,
blockExplorerUrl: 'https://lineascan.build',
},
[NETWORK_TYPES.LOCALHOST]: {
- networkId: NETWORK_IDS.LOCALHOST,
chainId: CHAIN_IDS.LOCALHOST,
},
} as const;
@@ -352,13 +328,6 @@ export const NETWORK_TO_NAME_MAP = {
[NETWORK_TYPES.LINEA_MAINNET]: LINEA_MAINNET_DISPLAY_NAME,
[NETWORK_TYPES.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
- [NETWORK_IDS.GOERLI]: GOERLI_DISPLAY_NAME,
- [NETWORK_IDS.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
- [NETWORK_IDS.LINEA_GOERLI]: LINEA_GOERLI_DISPLAY_NAME,
- [NETWORK_IDS.MAINNET]: MAINNET_DISPLAY_NAME,
- [NETWORK_IDS.LINEA_MAINNET]: LINEA_MAINNET_DISPLAY_NAME,
- [NETWORK_IDS.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
-
[CHAIN_IDS.GOERLI]: GOERLI_DISPLAY_NAME,
[CHAIN_IDS.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
[CHAIN_IDS.LINEA_GOERLI]: LINEA_GOERLI_DISPLAY_NAME,
@@ -402,21 +371,12 @@ export const CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP = {
[CHAIN_IDS.GNOSIS]: GNOSIS_TOKEN_IMAGE_URL,
} as const;
-export const NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP = {
- [NETWORK_IDS.GOERLI]: NETWORK_TYPES.GOERLI,
- [NETWORK_IDS.SEPOLIA]: NETWORK_TYPES.SEPOLIA,
- [NETWORK_IDS.LINEA_GOERLI]: NETWORK_TYPES.LINEA_GOERLI,
- [NETWORK_IDS.MAINNET]: NETWORK_NAMES.HOMESTEAD,
- [NETWORK_IDS.LINEA_MAINNET]: NETWORK_TYPES.LINEA_MAINNET,
-} as const;
-
-export const CHAIN_ID_TO_NETWORK_ID_MAP = {
- [CHAIN_IDS.MAINNET]: NETWORK_IDS.MAINNET,
- [CHAIN_IDS.GOERLI]: NETWORK_IDS.GOERLI,
- [CHAIN_IDS.SEPOLIA]: NETWORK_IDS.SEPOLIA,
- [CHAIN_IDS.LINEA_GOERLI]: NETWORK_IDS.LINEA_GOERLI,
- [CHAIN_IDS.LINEA_MAINNET]: NETWORK_IDS.LINEA_MAINNET,
- [CHAIN_IDS.LOCALHOST]: NETWORK_IDS.LOCALHOST,
+export const CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP = {
+ [CHAIN_IDS.GOERLI]: NETWORK_TYPES.GOERLI,
+ [CHAIN_IDS.SEPOLIA]: NETWORK_TYPES.SEPOLIA,
+ [CHAIN_IDS.LINEA_GOERLI]: NETWORK_TYPES.LINEA_GOERLI,
+ [CHAIN_IDS.MAINNET]: NETWORK_NAMES.HOMESTEAD,
+ [CHAIN_IDS.LINEA_MAINNET]: NETWORK_TYPES.LINEA_MAINNET,
} as const;
export const NATIVE_CURRENCY_TOKEN_IMAGE_MAP = {
@@ -445,99 +405,80 @@ export const ETHERSCAN_SUPPORTED_NETWORKS = {
subdomain: `${defaultEtherscanSubdomainPrefix}-${
CHAIN_ID_TO_TYPE_MAP[CHAIN_IDS.GOERLI]
}`,
- networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.GOERLI],
},
[CHAIN_IDS.MAINNET]: {
domain: defaultEtherscanDomain,
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.MAINNET],
},
[CHAIN_IDS.SEPOLIA]: {
domain: defaultEtherscanDomain,
subdomain: `${defaultEtherscanSubdomainPrefix}-${
CHAIN_ID_TO_TYPE_MAP[CHAIN_IDS.SEPOLIA]
}`,
- networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.SEPOLIA],
},
[CHAIN_IDS.LINEA_GOERLI]: {
domain: 'lineascan.build',
subdomain: 'goerli',
- networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.LINEA_GOERLI],
},
[CHAIN_IDS.LINEA_MAINNET]: {
domain: 'lineascan.build',
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.LINEA_MAINNET],
},
[CHAIN_IDS.BSC]: {
domain: 'bscscan.com',
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: parseInt(CHAIN_IDS.BSC, 16).toString(),
},
[CHAIN_IDS.BSC_TESTNET]: {
domain: 'bscscan.com',
subdomain: `${defaultEtherscanSubdomainPrefix}-testnet`,
- networkId: parseInt(CHAIN_IDS.BSC_TESTNET, 16).toString(),
},
[CHAIN_IDS.OPTIMISM]: {
domain: defaultEtherscanDomain,
subdomain: `${defaultEtherscanSubdomainPrefix}-optimistic`,
- networkId: parseInt(CHAIN_IDS.OPTIMISM, 16).toString(),
},
[CHAIN_IDS.OPTIMISM_TESTNET]: {
domain: defaultEtherscanDomain,
subdomain: `${defaultEtherscanSubdomainPrefix}-goerli-optimistic`,
- networkId: parseInt(CHAIN_IDS.OPTIMISM_TESTNET, 16).toString(),
},
[CHAIN_IDS.POLYGON]: {
domain: 'polygonscan.com',
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: parseInt(CHAIN_IDS.POLYGON, 16).toString(),
},
[CHAIN_IDS.POLYGON_TESTNET]: {
domain: 'polygonscan.com',
subdomain: `${defaultEtherscanSubdomainPrefix}-mumbai`,
- networkId: parseInt(CHAIN_IDS.POLYGON_TESTNET, 16).toString(),
},
[CHAIN_IDS.AVALANCHE]: {
domain: 'snowtrace.io',
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: parseInt(CHAIN_IDS.AVALANCHE, 16).toString(),
},
[CHAIN_IDS.AVALANCHE_TESTNET]: {
domain: 'snowtrace.io',
subdomain: `${defaultEtherscanSubdomainPrefix}-testnet`,
- networkId: parseInt(CHAIN_IDS.AVALANCHE_TESTNET, 16).toString(),
},
[CHAIN_IDS.FANTOM]: {
domain: 'ftmscan.com',
subdomain: defaultEtherscanSubdomainPrefix,
- networkId: parseInt(CHAIN_IDS.FANTOM, 16).toString(),
},
[CHAIN_IDS.FANTOM_TESTNET]: {
domain: 'ftmscan.com',
subdomain: `${defaultEtherscanSubdomainPrefix}-testnet`,
- networkId: parseInt(CHAIN_IDS.FANTOM_TESTNET, 16).toString(),
},
[CHAIN_IDS.MOONBEAM]: {
domain: 'moonscan.io',
subdomain: `${defaultEtherscanSubdomainPrefix}-moonbeam`,
- networkId: parseInt(CHAIN_IDS.MOONBEAM, 16).toString(),
},
[CHAIN_IDS.MOONBEAM_TESTNET]: {
domain: 'moonscan.io',
subdomain: `${defaultEtherscanSubdomainPrefix}-moonbase`,
- networkId: parseInt(CHAIN_IDS.MOONBEAM_TESTNET, 16).toString(),
},
[CHAIN_IDS.MOONRIVER]: {
domain: 'moonscan.io',
subdomain: `${defaultEtherscanSubdomainPrefix}-moonriver`,
- networkId: parseInt(CHAIN_IDS.MOONRIVER, 16).toString(),
},
[CHAIN_IDS.GNOSIS]: {
domain: 'gnosisscan.io',
subdomain: `${defaultEtherscanSubdomainPrefix}-gnosis`,
- networkId: parseInt(CHAIN_IDS.GNOSIS, 16).toString(),
},
};
diff --git a/shared/constants/transaction.ts b/shared/constants/transaction.ts
index bd80d34bb3cc..07d0525ab714 100644
--- a/shared/constants/transaction.ts
+++ b/shared/constants/transaction.ts
@@ -1,4 +1,5 @@
import { AccessList } from '@ethereumjs/tx';
+import { Hex } from '@metamask/utils';
export enum TransactionType {
/**
@@ -329,7 +330,7 @@ export interface TransactionMeta {
* on incoming transactions!
*/
blockNumber?: string;
- chainId: string;
+ chainId: Hex;
/** An internally unique tx identifier. */
id: string;
/** Time the transaction was first suggested, in unix epoch time (ms). */
@@ -362,8 +363,12 @@ export interface TransactionMeta {
originalType: TransactionType;
/** The current status of the transaction. */
status: TransactionStatus;
- /** The transaction's network ID, used for EIP-155 compliance. */
- metamaskNetworkId: string;
+ /**
+ * The transaction's network ID, used for EIP-155 compliance.
+ *
+ * @deprecated Use `chainId` instead.
+ */
+ readonly metamaskNetworkId?: string;
/** TODO: Find out what this is and document it */
loadingDefaults: boolean;
/** The transaction params as passed to the network provider. */
diff --git a/shared/modules/network.utils.ts b/shared/modules/network.utils.ts
index 9aeb439eb6e8..a920beaad6d7 100644
--- a/shared/modules/network.utils.ts
+++ b/shared/modules/network.utils.ts
@@ -1,3 +1,5 @@
+import { isStrictHexString } from '@metamask/utils';
+import { convertHexToDecimal } from '@metamask/controller-utils';
import { CHAIN_IDS, MAX_SAFE_CHAIN_ID } from '../constants/network';
/**
@@ -60,3 +62,23 @@ function isSafeInteger(value: unknown): value is number {
export function shouldShowLineaMainnet(): boolean {
return new Date().getTime() > Date.UTC(2023, 6, 11, 18);
}
+
+/**
+ * TODO: Delete when ready to remove `networkVersion` from provider object
+ * Convert the given value into a valid network ID. The ID is accepted
+ * as either a number, a decimal string, or a 0x-prefixed hex string.
+ *
+ * @param value - The network ID to convert, in an unknown format.
+ * @returns A valid network ID (as a decimal string)
+ * @throws If the given value cannot be safely parsed.
+ */
+export function convertNetworkId(value: unknown): string {
+ if (typeof value === 'number' && !Number.isNaN(value)) {
+ return `${value}`;
+ } else if (isStrictHexString(value)) {
+ return `${convertHexToDecimal(value)}`;
+ } else if (typeof value === 'string' && /^\d+$/u.test(value)) {
+ return value;
+ }
+ throw new Error(`Cannot parse as a valid network ID: '${value}'`);
+}
diff --git a/shared/modules/transaction.utils.js b/shared/modules/transaction.utils.js
index 44a681519e1e..558eaa99ee7d 100644
--- a/shared/modules/transaction.utils.js
+++ b/shared/modules/transaction.utils.js
@@ -39,13 +39,6 @@ const erc20Interface = new Interface(abiERC20);
const erc721Interface = new Interface(abiERC721);
const erc1155Interface = new Interface(abiERC1155);
-export function transactionMatchesNetwork(transaction, chainId, networkId) {
- if (typeof transaction.chainId !== 'undefined') {
- return transaction.chainId === chainId;
- }
- return transaction.metamaskNetworkId === networkId;
-}
-
/**
* Determines if the maxFeePerGas and maxPriorityFeePerGas fields are supplied
* and valid inputs. This will return false for non hex string inputs.
diff --git a/test/data/mock-pending-transaction-data.json b/test/data/mock-pending-transaction-data.json
index 26ce780eb027..36f1d74767fe 100644
--- a/test/data/mock-pending-transaction-data.json
+++ b/test/data/mock-pending-transaction-data.json
@@ -5,7 +5,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
@@ -25,7 +24,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
@@ -81,7 +79,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
@@ -101,7 +98,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
@@ -158,7 +154,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
@@ -178,7 +173,6 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
diff --git a/test/data/mock-send-state.json b/test/data/mock-send-state.json
index 14d4967d70f9..94283e5c29e5 100644
--- a/test/data/mock-send-state.json
+++ b/test/data/mock-send-state.json
@@ -32,7 +32,6 @@
"id": 3111025347726181,
"time": 1620723786838,
"status": "unapproved",
- "metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"txParams": {
@@ -302,7 +301,7 @@
"id": 8393540981007587,
"time": 1536268017676,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc",
@@ -316,7 +315,7 @@
"id": 8393540981007587,
"time": 1536268017676,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc",
@@ -350,7 +349,7 @@
"id": 3387511061307736,
"time": 1528133130531,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -365,7 +364,7 @@
"id": 3387511061307736,
"time": 1528133130531,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -482,7 +481,7 @@
"id": 3387511061307737,
"time": 1528133149983,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -497,7 +496,7 @@
"id": 3387511061307737,
"time": 1528133149983,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -614,7 +613,7 @@
"id": 3387511061307738,
"time": 1528133180635,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -629,7 +628,7 @@
"id": 3387511061307738,
"time": 1528133180635,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -746,7 +745,7 @@
"id": 3387511061307739,
"time": 1528133223918,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -762,7 +761,7 @@
"id": 3387511061307739,
"time": 1528133223918,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -883,7 +882,7 @@
"id": 3387511061307740,
"time": 1528133291381,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -899,7 +898,7 @@
"id": 3387511061307740,
"time": 1528133291381,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1017,7 +1016,7 @@
"id": 3387511061307741,
"time": 1528133318440,
"status": "rejected",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1031,7 +1030,7 @@
"id": 3387511061307741,
"time": 1528133318440,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
diff --git a/test/data/mock-state.json b/test/data/mock-state.json
index 8431ea490caa..803a2447df90 100644
--- a/test/data/mock-state.json
+++ b/test/data/mock-state.json
@@ -117,7 +117,6 @@
"unconnectedAccount": true
},
"featureFlags": {},
- "networkId": "5",
"providerConfig": {
"type": "rpc",
"nickname": "goerli",
@@ -613,7 +612,6 @@
"id": 8393540981007587,
"time": 1536268017676,
"status": "unapproved",
- "metamaskNetworkId": "4",
"loadingDefaults": false,
"txParams": {
"data": "0xa9059cbb000000000000000000000000b19ac54efa18cc3a14a5b821bfec73d284bf0c5e0000000000000000000000000000000000000000000000003782dace9d900000",
@@ -628,7 +626,7 @@
"id": 8393540981007587,
"time": 1536268017676,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc",
@@ -662,7 +660,7 @@
"id": 3387511061307736,
"time": 1528133130531,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -677,7 +675,7 @@
"id": 3387511061307736,
"time": 1528133130531,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -794,7 +792,7 @@
"id": 3387511061307737,
"time": 1528133149983,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -809,7 +807,7 @@
"id": 3387511061307737,
"time": 1528133149983,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -926,7 +924,7 @@
"id": 3387511061307738,
"time": 1528133180635,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -941,7 +939,7 @@
"id": 3387511061307738,
"time": 1528133180635,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1058,7 +1056,7 @@
"id": 3387511061307739,
"time": 1528133223918,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1074,7 +1072,7 @@
"id": 3387511061307739,
"time": 1528133223918,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1195,7 +1193,7 @@
"id": 3387511061307740,
"time": 1528133291381,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1211,7 +1209,7 @@
"id": 3387511061307740,
"time": 1528133291381,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1329,7 +1327,7 @@
"id": 3387511061307741,
"time": 1528133318440,
"status": "rejected",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": false,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
@@ -1343,7 +1341,7 @@
"id": 3387511061307741,
"time": 1528133318440,
"status": "unapproved",
- "metamaskNetworkId": "4",
+ "chainId": "0x5",
"loadingDefaults": true,
"txParams": {
"from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62",
diff --git a/test/data/mock-tx-history.json b/test/data/mock-tx-history.json
index 1291e9fb5b69..9a5b82e0ed66 100644
--- a/test/data/mock-tx-history.json
+++ b/test/data/mock-tx-history.json
@@ -5,21 +5,20 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "confirmed",
- "metamaskNetworkId": "5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"value": "0x0",
"gasPrice": "0x3b9aca00",
"gas": "0x7b0d",
- "chainId": 5
+ "chainId": "0x5"
},
"history": [
{
"id": 6616756286038869,
"time": 1502438908445,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -32,7 +31,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -45,7 +44,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -58,7 +57,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -71,7 +70,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -85,7 +84,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -99,7 +98,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -113,7 +112,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -127,7 +126,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -142,7 +141,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -157,7 +156,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -173,7 +172,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -189,7 +188,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -205,7 +204,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -221,7 +220,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -238,7 +237,7 @@
"id": 6616756286038869,
"time": 1502438908445,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -260,7 +259,7 @@
"id": 6616756286038870,
"time": 1502573153664,
"status": "rejected",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -273,7 +272,7 @@
"id": 6616756286038870,
"time": 1502573153664,
"status": "rejected",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -286,7 +285,7 @@
"id": 6616756286038870,
"time": 1502573153664,
"status": "rejected",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -301,7 +300,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -316,7 +315,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -329,7 +328,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -342,7 +341,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -355,7 +354,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -368,7 +367,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -382,7 +381,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -396,7 +395,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -411,7 +410,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -426,7 +425,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -442,7 +441,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -458,7 +457,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -475,7 +474,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -492,7 +491,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -509,7 +508,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -526,7 +525,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -544,7 +543,7 @@
"id": 6616756286038871,
"time": 1502573157128,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -567,7 +566,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -582,7 +581,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -595,7 +594,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -608,7 +607,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -621,7 +620,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -634,7 +633,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -648,7 +647,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -662,7 +661,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -677,7 +676,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -692,7 +691,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -708,7 +707,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -724,7 +723,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -741,7 +740,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -758,7 +757,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -775,7 +774,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -792,7 +791,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -810,7 +809,7 @@
"id": 6616756286038872,
"time": 1502734903652,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -833,7 +832,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -848,7 +847,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -861,7 +860,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -874,7 +873,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -887,7 +886,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -900,7 +899,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -914,7 +913,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -928,7 +927,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -943,7 +942,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -958,7 +957,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -974,7 +973,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -990,7 +989,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1007,7 +1006,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1024,7 +1023,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1041,7 +1040,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1058,7 +1057,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1076,7 +1075,7 @@
"id": 6616756286038873,
"time": 1502734910224,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1099,7 +1098,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1114,7 +1113,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1127,7 +1126,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1140,7 +1139,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1153,7 +1152,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1166,7 +1165,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1180,7 +1179,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1194,7 +1193,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1209,7 +1208,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1224,7 +1223,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1240,7 +1239,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1256,7 +1255,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1273,7 +1272,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1290,7 +1289,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1307,7 +1306,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1324,7 +1323,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1342,7 +1341,7 @@
"id": 6616756286038874,
"time": 1502734917414,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1365,7 +1364,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1380,7 +1379,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1393,7 +1392,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "unapproved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1406,7 +1405,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1419,7 +1418,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1432,7 +1431,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1446,7 +1445,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "approved",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1460,7 +1459,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1475,7 +1474,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1490,7 +1489,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1506,7 +1505,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1522,7 +1521,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1539,7 +1538,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "signed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1556,7 +1555,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1573,7 +1572,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "submitted",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1590,7 +1589,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
@@ -1608,7 +1607,7 @@
"id": 6616756286038875,
"time": 1502734922745,
"status": "confirmed",
- "metamaskNetworkId": "5",
+ "chainId": "0x5",
"txParams": {
"from": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
"to": "0x3ae39e89dc7e736cce53091057a45bf44b1a566c",
diff --git a/test/data/transaction-data.json b/test/data/transaction-data.json
index e9189cf15f6b..a9155363ff19 100644
--- a/test/data/transaction-data.json
+++ b/test/data/transaction-data.json
@@ -5,7 +5,7 @@
"id": 4243712234858512,
"time": 1589314601567,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -43,7 +43,7 @@
"id": 4243712234858512,
"time": 1589314601567,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -81,7 +81,7 @@
"id": 4243712234858512,
"time": 1589314601567,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -123,7 +123,7 @@
"id": 4243712234858507,
"time": 1589314355872,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -161,7 +161,7 @@
"id": 4243712234858507,
"time": 1589314355872,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -199,7 +199,7 @@
"id": 4243712234858507,
"time": 1589314355872,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -241,7 +241,7 @@
"id": 4243712234858506,
"time": 1589314345433,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -280,7 +280,7 @@
"id": 4243712234858506,
"time": 1589314345433,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -319,7 +319,7 @@
"id": 4243712234858506,
"time": 1589314345433,
"status": "confirmed",
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"loadingDefaults": false,
"txParams": {
"from": "0x9eca64466f257793eaa52fcfff5066894b76a149",
@@ -360,7 +360,7 @@
"initialTransaction": {
"blockNumber": "6477257",
"id": 4243712234858505,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1589314295000,
"txParams": {
@@ -378,7 +378,7 @@
{
"blockNumber": "6477257",
"id": 4243712234858505,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1589314295000,
"txParams": {
@@ -396,7 +396,7 @@
"primaryTransaction": {
"blockNumber": "6477257",
"id": 4243712234858505,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1589314295000,
"txParams": {
@@ -417,7 +417,7 @@
"initialTransaction": {
"blockNumber": "6454493",
"id": 4243712234858475,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1588972833000,
"txParams": {
@@ -435,7 +435,7 @@
{
"blockNumber": "6454493",
"id": 4243712234858475,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1588972833000,
"txParams": {
@@ -453,7 +453,7 @@
"primaryTransaction": {
"blockNumber": "6454493",
"id": 4243712234858475,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1588972833000,
"txParams": {
@@ -474,7 +474,7 @@
"initialTransaction": {
"blockNumber": "6195526",
"id": 4243712234858466,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585087013000,
"txParams": {
@@ -492,7 +492,7 @@
{
"blockNumber": "6195526",
"id": 4243712234858466,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585087013000,
"txParams": {
@@ -510,7 +510,7 @@
"primaryTransaction": {
"blockNumber": "6195526",
"id": 4243712234858466,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585087013000,
"txParams": {
@@ -531,7 +531,7 @@
"initialTransaction": {
"blockNumber": "6195527",
"id": 4243712234858467,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -551,7 +551,7 @@
{
"blockNumber": "6195527",
"id": 4243712234858467,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -572,7 +572,7 @@
"primaryTransaction": {
"blockNumber": "6195527",
"id": 4243712234858467,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -596,7 +596,7 @@
"initialTransaction": {
"blockNumber": "6195527",
"id": 4243712234858468,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -615,7 +615,7 @@
{
"blockNumber": "6195527",
"id": 4243712234858468,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -633,7 +633,7 @@
"primaryTransaction": {
"blockNumber": "6195527",
"id": 4243712234858468,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -657,7 +657,6 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
- "metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x5",
@@ -750,7 +749,6 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
- "metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x5",
@@ -842,7 +840,6 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
- "metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x5",
@@ -937,7 +934,7 @@
"initialTransaction": {
"blockNumber": "6195527",
"id": 8401691827212777,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -958,7 +955,7 @@
{
"blockNumber": "6195527",
"id": 8401691827212777,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
@@ -978,7 +975,7 @@
"primaryTransaction": {
"blockNumber": "6195527",
"id": 8401691827212777,
- "metamaskNetworkId": "4",
+ "chainId": "0x4",
"status": "confirmed",
"time": 1585088013000,
"txParams": {
diff --git a/test/e2e/fixture-builder.js b/test/e2e/fixture-builder.js
index cc0a696dea9d..3be1017fe0ca 100644
--- a/test/e2e/fixture-builder.js
+++ b/test/e2e/fixture-builder.js
@@ -209,7 +209,6 @@ function defaultFixture() {
traits: {},
},
NetworkController: {
- networkId: '1337',
selectedNetworkClientId: 'networkConfigurationId',
networksMetadata: {
networkConfigurationId: {
@@ -346,7 +345,6 @@ function onboardingFixture() {
[ACTION_QUEUE_METRICS_E2E_TEST]: false,
},
NetworkController: {
- networkId: '1337',
selectedNetworkClientId: 'networkConfigurationId',
networksMetadata: {
networkConfigurationId: {
@@ -807,7 +805,6 @@ class FixtureBuilder {
},
id: '7087d1d7-f0e8-4c0f-a903-6d9daa392baf',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545991949,
@@ -833,7 +830,6 @@ class FixtureBuilder {
],
id: '7087d1d7-f0e8-4c0f-a903-6d9daa392baf',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545991949,
@@ -864,7 +860,6 @@ class FixtureBuilder {
},
id: '6eab4240-3762-4581-abc5-cd91eab6964e',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545994578,
@@ -890,7 +885,6 @@ class FixtureBuilder {
],
id: '6eab4240-3762-4581-abc5-cd91eab6964e',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545994578,
@@ -921,7 +915,6 @@ class FixtureBuilder {
},
id: 'c15eee26-11d6-4914-a70e-36ef9a3bcacb',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545996673,
@@ -947,7 +940,6 @@ class FixtureBuilder {
],
id: 'c15eee26-11d6-4914-a70e-36ef9a3bcacb',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545996673,
@@ -978,7 +970,6 @@ class FixtureBuilder {
},
id: 'dfa9e5ad-d069-46b1-976e-a23734971d87',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545998675,
@@ -1004,7 +995,6 @@ class FixtureBuilder {
],
id: 'dfa9e5ad-d069-46b1-976e-a23734971d87',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545998675,
@@ -1032,7 +1022,6 @@ class FixtureBuilder {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
@@ -1057,13 +1046,11 @@ class FixtureBuilder {
],
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
@@ -1101,7 +1088,6 @@ class FixtureBuilder {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
@@ -1128,13 +1114,11 @@ class FixtureBuilder {
],
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
@@ -1176,7 +1160,6 @@ class FixtureBuilder {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
@@ -1212,13 +1195,11 @@ class FixtureBuilder {
],
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: false,
- metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: CHAIN_IDS.LOCALHOST,
id: '13a01e77-a368-4bb9-aba9-e7435580e3b9',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'approved',
time: 1617228030067,
@@ -1260,7 +1241,6 @@ class FixtureBuilder {
chainId: CHAIN_IDS.LOCALHOST,
id: '0c9342ce-ef3f-4cab-9425-8e57144256a6',
loadingDefaults: true,
- metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1671635506502,
@@ -1372,7 +1352,6 @@ class FixtureBuilder {
],
id: '0c9342ce-ef3f-4cab-9425-8e57144256a6',
loadingDefaults: false,
- metamaskNetworkId: '5',
origin: 'metamask',
status: 'confirmed',
submittedTime: 1671635510753,
@@ -1410,7 +1389,6 @@ class FixtureBuilder {
chainId: CHAIN_IDS.LOCALHOST,
hash: '0xf1af8286e4fa47578c2aec5f08c108290643df978ebc766d72d88476eee90bab',
id: '8a13fd36-fdad-48ae-8b6a-c8991026d550',
- metamaskNetworkId: '1337',
status: 'confirmed',
time: 1671635520000,
txParams: {
diff --git a/test/e2e/tests/provider-api.spec.js b/test/e2e/tests/provider-api.spec.js
index 316017254449..eee5daa32d3b 100644
--- a/test/e2e/tests/provider-api.spec.js
+++ b/test/e2e/tests/provider-api.spec.js
@@ -32,15 +32,10 @@ describe('MetaMask', function () {
await driver.press('#password', driver.Key.ENTER);
await openDapp(driver);
- const networkDiv = await driver.waitForSelector({
- css: '#network',
- text: '1337',
- });
const chainIdDiv = await driver.waitForSelector({
css: '#chainId',
text: '0x539',
});
- assert.equal(await networkDiv.getText(), '1337');
assert.equal(await chainIdDiv.getText(), '0x539');
const windowHandles = await driver.getAllWindowHandles();
@@ -50,17 +45,12 @@ describe('MetaMask', function () {
await driver.clickElement({ text: 'Ethereum Mainnet', tag: 'button' });
await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles);
- const switchedNetworkDiv = await driver.waitForSelector({
- css: '#network',
- text: '1',
- });
const switchedChainIdDiv = await driver.waitForSelector({
css: '#chainId',
text: '0x1',
});
const accountsDiv = await driver.findElement('#accounts');
- assert.equal(await switchedNetworkDiv.getText(), '1');
assert.equal(await switchedChainIdDiv.getText(), '0x1');
assert.equal(await accountsDiv.getText(), publicAddress);
},
diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
index a5530bbd167a..061e1f96ed5d 100644
--- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
+++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json
@@ -83,7 +83,6 @@
},
"NetworkController": {
"selectedNetworkClientId": "string",
- "networkId": "1337",
"providerConfig": {
"chainId": "0x539",
"nickname": "Localhost 8545",
diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
index df838b39b2b8..7dcb6d3dfd4b 100644
--- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
+++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json
@@ -63,7 +63,6 @@
"previousMigrationVersion": 0,
"currentMigrationVersion": "number",
"selectedNetworkClientId": "string",
- "networkId": "1337",
"providerConfig": {
"chainId": "0x539",
"nickname": "Localhost 8545",
diff --git a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json
index 75bd62d27908..766636cbf671 100644
--- a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json
+++ b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json
@@ -50,7 +50,6 @@
"traits": "object"
},
"NetworkController": {
- "networkId": "1337",
"selectedNetworkClientId": "string",
"networksMetadata": {
"networkConfigurationId": { "EIPS": {}, "status": "available" }
diff --git a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json
index 5fa13c429985..722b0dc854d8 100644
--- a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json
+++ b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json
@@ -50,7 +50,6 @@
"traits": "object"
},
"NetworkController": {
- "networkId": "1337",
"selectedNetworkClientId": "string",
"networksMetadata": {
"networkConfigurationId": { "EIPS": {}, "status": "available" }
diff --git a/test/jest/mock-store.js b/test/jest/mock-store.js
index 96697f354f23..8544b6ce233f 100644
--- a/test/jest/mock-store.js
+++ b/test/jest/mock-store.js
@@ -159,7 +159,6 @@ export const createSwapsMockStore = () => {
id: 6571648590592143,
time: 1667403993369,
status: 'confirmed',
- metamaskNetworkId: '5',
originalGasEstimate: '0x7548',
userEditedGasLimit: false,
chainId: CHAIN_IDS.MAINNET,
diff --git a/test/stub/tx-meta-stub.js b/test/stub/tx-meta-stub.js
index 88b8bf99e72f..3523f131f0c1 100644
--- a/test/stub/tx-meta-stub.js
+++ b/test/stub/tx-meta-stub.js
@@ -11,7 +11,7 @@ export const txMetaStub = {
{
id: 405984854664302,
loadingDefaults: true,
- metamaskNetworkId: '5',
+ chainId: '0x5',
status: TransactionStatus.unapproved,
time: 1572395156620,
type: TransactionType.simpleSend,
@@ -136,7 +136,6 @@ export const txMetaStub = {
],
id: 405984854664302,
loadingDefaults: false,
- metamaskNetworkId: '5',
origin: 'MetaMask',
r: '0x5f973e540f2d3c2f06d3725a626b75247593cb36477187ae07ecfe0a4db3cf57',
rawTx:
diff --git a/ui/components/app/approve-content-card/approve-content-card.stories.js b/ui/components/app/approve-content-card/approve-content-card.stories.js
index 17216ba18c10..cc7e1cdda4dd 100644
--- a/ui/components/app/approve-content-card/approve-content-card.stories.js
+++ b/ui/components/app/approve-content-card/approve-content-card.stories.js
@@ -93,7 +93,6 @@ export default {
id: 3049568294499567,
time: 1664449552289,
status: 'unapproved',
- metamaskNetworkId: '3',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x3',
@@ -119,7 +118,6 @@ export default {
id: 3049568294499567,
time: 1664449552289,
status: 'unapproved',
- metamaskNetworkId: '3',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x3',
diff --git a/ui/components/app/confirm-page-container/confirm-page-container-container.test.js b/ui/components/app/confirm-page-container/confirm-page-container-container.test.js
index a6afdcfc6368..72f5e3d3a6ca 100644
--- a/ui/components/app/confirm-page-container/confirm-page-container-container.test.js
+++ b/ui/components/app/confirm-page-container/confirm-page-container-container.test.js
@@ -33,7 +33,7 @@ const props = {
id: 8783053010106567,
time: 1656448479005,
status: 'unapproved',
- metamaskNetworkId: '5',
+ chainId: '0x5',
originalGasEstimate: '0x5208',
userEditedGasLimit: false,
loadingDefaults: false,
@@ -66,7 +66,6 @@ const props = {
id: 1230035278491151,
time: 1671022500513,
status: 'unapproved',
- metamaskNetworkId: '80001',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x13881',
@@ -92,7 +91,6 @@ const props = {
id: 1230035278491151,
time: 1671022500513,
status: 'unapproved',
- metamaskNetworkId: '80001',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x13881',
diff --git a/ui/components/app/transaction-activity-log/transaction-activity-log.util.js b/ui/components/app/transaction-activity-log/transaction-activity-log.util.js
index 9e12dbdbe426..77946c3dcc30 100644
--- a/ui/components/app/transaction-activity-log/transaction-activity-log.util.js
+++ b/ui/components/app/transaction-activity-log/transaction-activity-log.util.js
@@ -54,7 +54,6 @@ export function getActivities(transaction, isFirstTransaction = false) {
const {
id,
chainId,
- metamaskNetworkId,
hash,
history = [],
txParams: {
@@ -98,7 +97,6 @@ export function getActivities(transaction, isFirstTransaction = false) {
id,
hash,
chainId,
- metamaskNetworkId,
eventKey: TRANSACTION_CREATED_EVENT,
timestamp,
value,
@@ -152,7 +150,6 @@ export function getActivities(transaction, isFirstTransaction = false) {
eventKey,
timestamp,
chainId,
- metamaskNetworkId,
value: gasFee,
});
}
@@ -209,7 +206,6 @@ export function getActivities(transaction, isFirstTransaction = false) {
id,
hash,
chainId,
- metamaskNetworkId,
eventKey: TRANSACTION_UPDATED_EVENT,
timestamp,
});
@@ -231,7 +227,6 @@ export function getActivities(transaction, isFirstTransaction = false) {
id,
hash,
chainId,
- metamaskNetworkId,
eventKey: TRANSACTION_ERRORED_EVENT,
})
: historyActivities;
diff --git a/ui/components/app/transaction-activity-log/transaction-activity-log.util.test.js b/ui/components/app/transaction-activity-log/transaction-activity-log.util.test.js
index fb77a5c94a9b..b667b78c7bdd 100644
--- a/ui/components/app/transaction-activity-log/transaction-activity-log.util.test.js
+++ b/ui/components/app/transaction-activity-log/transaction-activity-log.util.test.js
@@ -23,7 +23,6 @@ describe('TransactionActivityLog utils', () => {
id: 6400627574331058,
time: 1543958845581,
status: TransactionStatus.unapproved,
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: true,
txParams: {
@@ -71,7 +70,6 @@ describe('TransactionActivityLog utils', () => {
],
id: 6400627574331058,
loadingDefaults: false,
- metamaskNetworkId: '5',
chainId: '0x5',
status: TransactionStatus.dropped,
submittedTime: 1543958848135,
@@ -93,7 +91,6 @@ describe('TransactionActivityLog utils', () => {
id: 6400627574331060,
time: 1543958857697,
status: TransactionStatus.unapproved,
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: false,
txParams: {
@@ -164,7 +161,6 @@ describe('TransactionActivityLog utils', () => {
id: 6400627574331060,
lastGasPrice: '0x4190ab00',
loadingDefaults: false,
- metamaskNetworkId: '5',
chainId: '0x5',
status: TransactionStatus.confirmed,
submittedTime: 1543958860054,
@@ -187,7 +183,6 @@ describe('TransactionActivityLog utils', () => {
const expected = [
{
id: 6400627574331058,
- metamaskNetworkId: '5',
chainId: '0x5',
hash: '0xa14f13d36b3901e352ce3a7acb9b47b001e5a3370f06232a0953c6fc6fad91b3',
eventKey: 'transactionCreated',
@@ -196,7 +191,6 @@ describe('TransactionActivityLog utils', () => {
},
{
id: 6400627574331058,
- metamaskNetworkId: '5',
chainId: '0x5',
hash: '0xa14f13d36b3901e352ce3a7acb9b47b001e5a3370f06232a0953c6fc6fad91b3',
eventKey: 'transactionSubmitted',
@@ -205,7 +199,6 @@ describe('TransactionActivityLog utils', () => {
},
{
id: 6400627574331060,
- metamaskNetworkId: '5',
chainId: '0x5',
hash: '0xecbe181ee67c4291d04a7cb9ffbf1d5d831e4fbaa89994fd06bab5dd4cc79b33',
eventKey: 'transactionResubmitted',
@@ -214,7 +207,6 @@ describe('TransactionActivityLog utils', () => {
},
{
id: 6400627574331060,
- metamaskNetworkId: '5',
chainId: '0x5',
hash: '0xecbe181ee67c4291d04a7cb9ffbf1d5d831e4fbaa89994fd06bab5dd4cc79b33',
eventKey: 'transactionConfirmed',
@@ -252,7 +244,6 @@ describe('TransactionActivityLog utils', () => {
{
id: 5559712943815343,
loadingDefaults: true,
- metamaskNetworkId: '5',
chainId: '0x5',
status: TransactionStatus.unapproved,
time: 1535507561452,
@@ -385,7 +376,6 @@ describe('TransactionActivityLog utils', () => {
},
hash: '0xabc',
chainId: '0x5',
- metamaskNetworkId: '5',
};
const expectedResult = [
@@ -396,7 +386,6 @@ describe('TransactionActivityLog utils', () => {
id: 1,
hash: '0xabc',
chainId: '0x5',
- metamaskNetworkId: '5',
},
{
eventKey: 'transactionSubmitted',
@@ -405,7 +394,6 @@ describe('TransactionActivityLog utils', () => {
id: 1,
hash: '0xabc',
chainId: '0x5',
- metamaskNetworkId: '5',
},
{
eventKey: 'transactionConfirmed',
@@ -414,7 +402,6 @@ describe('TransactionActivityLog utils', () => {
id: 1,
hash: '0xabc',
chainId: '0x5',
- metamaskNetworkId: '5',
},
];
diff --git a/ui/components/app/transaction-alerts/transaction-alerts.stories.js b/ui/components/app/transaction-alerts/transaction-alerts.stories.js
index a53cd7a23ff0..3da1ef79409c 100644
--- a/ui/components/app/transaction-alerts/transaction-alerts.stories.js
+++ b/ui/components/app/transaction-alerts/transaction-alerts.stories.js
@@ -20,7 +20,6 @@ const customTransaction = ({
userFeeLevel: estimateUsed ? 'low' : 'medium',
blockNumber: `${10902987 + i}`,
id: 4678200543090545 + i,
- metamaskNetworkId: testData?.metamask?.networkId,
chainId: testData?.metamask?.providerConfig?.chainId,
status: 'confirmed',
time: 1600654021000,
diff --git a/ui/ducks/confirm-transaction/confirm-transaction.duck.test.js b/ui/ducks/confirm-transaction/confirm-transaction.duck.test.js
index 324591fecb70..1d5bf398b6e5 100644
--- a/ui/ducks/confirm-transaction/confirm-transaction.duck.test.js
+++ b/ui/ducks/confirm-transaction/confirm-transaction.duck.test.js
@@ -276,7 +276,7 @@ describe('Confirm Transaction Duck', () => {
history: [],
id: 2603411941761054,
loadingDefaults: false,
- metamaskNetworkId: '5',
+ chainId: '0x5',
origin: 'faucet.metamask.io',
status: TransactionStatus.unapproved,
time: 1530838113716,
@@ -345,7 +345,6 @@ describe('Confirm Transaction Duck', () => {
metamask: {
conversionRate: 468.58,
currentCurrency: 'usd',
- networkId: '5',
selectedNetworkClientId: NetworkType.goerli,
networksMetadata: {
[NetworkType.goerli]: {
@@ -361,7 +360,7 @@ describe('Confirm Transaction Duck', () => {
history: [],
id: 2603411941761054,
loadingDefaults: false,
- metamaskNetworkId: '5',
+ chainId: '0x5',
origin: 'faucet.metamask.io',
status: TransactionStatus.unapproved,
time: 1530838113716,
diff --git a/ui/ducks/domains.js b/ui/ducks/domains.js
index b17ff2a914a8..6c380f392510 100644
--- a/ui/ducks/domains.js
+++ b/ui/ducks/domains.js
@@ -1,15 +1,14 @@
import { createSlice } from '@reduxjs/toolkit';
import log from 'loglevel';
-import networkMap from 'ethereum-ens-network-map';
+import ensNetworkMap from 'ethereum-ens-network-map';
import { isConfusing } from 'unicode-confusables';
import { isHexString } from 'ethereumjs-util';
import { Web3Provider } from '@ethersproject/providers';
import { getCurrentChainId } from '../selectors';
import {
- CHAIN_ID_TO_NETWORK_ID_MAP,
- NETWORK_IDS,
- NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP,
+ CHAIN_IDS,
+ CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,
} from '../../shared/constants/network';
import {
CONFUSING_ENS_ERROR,
@@ -37,7 +36,7 @@ const initialState = {
resolution: null,
error: null,
warning: null,
- network: null,
+ chainId: null,
domainType: null,
domainName: null,
};
@@ -57,7 +56,7 @@ const slice = createSlice({
state.resolution = null;
state.error = null;
state.warning = null;
- const { address, error, network, domainType, domainName } =
+ const { address, error, chainId, domainType, domainName } =
action.payload;
state.domainType = domainType;
if (state.domainType === ENS) {
@@ -67,7 +66,7 @@ const slice = createSlice({
error.message === 'ENS name not defined.'
) {
state.error =
- network === NETWORK_IDS.MAINNET
+ chainId === CHAIN_IDS.MAINNET
? ENS_NO_ADDRESS_FOR_NAME
: ENS_NOT_FOUND_ON_NETWORK;
} else if (error.message === 'Illegal character for ENS.') {
@@ -97,14 +96,14 @@ const slice = createSlice({
state.error = null;
state.resolution = null;
state.warning = null;
- state.network = action.payload;
+ state.chainId = action.payload;
},
disableDomainLookup: (state) => {
state.stage = 'NO_NETWORK_SUPPORT';
state.error = null;
state.warning = null;
state.resolution = null;
- state.network = null;
+ state.chainId = null;
},
ensNotSupported: (state) => {
state.resolution = null;
@@ -119,7 +118,7 @@ const slice = createSlice({
},
extraReducers: (builder) => {
builder.addCase(CHAIN_CHANGED, (state, action) => {
- if (action.payload !== state.currentChainId) {
+ if (action.payload !== state.chainId) {
state.stage = 'UNINITIALIZED';
web3Provider = null;
}
@@ -143,17 +142,17 @@ export function initializeDomainSlice() {
return (dispatch, getState) => {
const state = getState();
const chainId = getCurrentChainId(state);
- const network = CHAIN_ID_TO_NETWORK_ID_MAP[chainId];
- const networkName = NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP[network];
- const ensAddress = networkMap[network];
+ const networkName = CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[chainId];
+ const chainIdInt = parseInt(chainId, 16);
+ const ensAddress = ensNetworkMap[chainIdInt.toString()];
const networkIsSupported = Boolean(ensAddress);
if (networkIsSupported) {
web3Provider = new Web3Provider(global.ethereumProvider, {
- chainId: parseInt(network, 10),
+ chainId: chainIdInt,
name: networkName,
ensAddress,
});
- dispatch(enableDomainLookup(network));
+ dispatch(enableDomainLookup(chainId));
} else {
web3Provider = null;
dispatch(disableDomainLookup());
@@ -188,14 +187,12 @@ export function lookupEnsName(domainName) {
error = err;
}
const chainId = getCurrentChainId(state);
- const network = CHAIN_ID_TO_NETWORK_ID_MAP[chainId];
await dispatch(
domainLookup({
address,
error,
chainId,
- network,
domainType: ENS,
domainName: trimmedDomainName,
}),
diff --git a/ui/ducks/metamask/metamask.test.js b/ui/ducks/metamask/metamask.test.js
index 1f43f9fea15c..b71a749d1f1b 100644
--- a/ui/ducks/metamask/metamask.test.js
+++ b/ui/ducks/metamask/metamask.test.js
@@ -42,7 +42,6 @@ describe('MetaMask Reducers', () => {
conversionRate: 1200.88200327,
nativeCurrency: 'ETH',
useCurrencyRateCheck: true,
- networkId: '5',
selectedNetworkClientId: NetworkType.goerli,
networksMetadata: {
[NetworkType.goerli]: {
@@ -96,13 +95,13 @@ describe('MetaMask Reducers', () => {
time: 1487363153561,
status: TransactionStatus.unapproved,
gasMultiplier: 1,
- metamaskNetworkId: '5',
+ chainId: '0x5',
txParams: {
from: '0xc5b8dbac4c1d3f152cdeb400e2313f309c410acb',
to: '0x18a3462427bcc9133bb46e88bcbe39cd7ef0e761',
value: '0xde0b6b3a7640000',
metamaskId: 4768706228115573,
- metamaskNetworkId: '5',
+ chainId: '0x5',
gas: '0x5209',
},
txFee: '17e0186e60800',
diff --git a/ui/helpers/utils/optimism/buildUnserializedTransaction.js b/ui/helpers/utils/optimism/buildUnserializedTransaction.js
index 07badbbf2726..15f08b021cb9 100644
--- a/ui/helpers/utils/optimism/buildUnserializedTransaction.js
+++ b/ui/helpers/utils/optimism/buildUnserializedTransaction.js
@@ -19,7 +19,6 @@ function buildTransactionCommon(txMeta) {
// fine for our use case.
return Common.custom({
chainId: new BN(stripHexPrefix(txMeta.chainId), 16),
- networkId: new BN(txMeta.metamaskNetworkId, 10),
// Optimism only supports type-0 transactions; it does not support any of
// the newer EIPs since EIP-155. Source:
//
diff --git a/ui/helpers/utils/tx-helper.test.js b/ui/helpers/utils/tx-helper.test.js
index 579ffbf0d6e4..0dd330ed550d 100644
--- a/ui/helpers/utils/tx-helper.test.js
+++ b/ui/helpers/utils/tx-helper.test.js
@@ -1,20 +1,19 @@
-import { CHAIN_IDS, NETWORK_IDS } from '../../../shared/constants/network';
+import { CHAIN_IDS } from '../../../shared/constants/network';
import txHelper from './tx-helper';
describe('txHelper', () => {
it('always shows the oldest tx first', () => {
- const metamaskNetworkId = NETWORK_IDS.MAINNET;
const chainId = CHAIN_IDS.MAINNET;
const mockUnapprovedTxs = {
- a: { metamaskNetworkId, time: 3 },
- b: { metamaskNetworkId, time: 6 },
- c: { metamaskNetworkId, time: 2 },
+ a: { chainId, time: 3 },
+ b: { chainId, time: 6 },
+ c: { chainId, time: 2 },
};
const mockUnapprovedMsgs = {
- d: { metamaskNetworkId, time: 4 },
- e: { metamaskNetworkId, time: 1 },
- f: { metamaskNetworkId, time: 5 },
+ d: { chainId, time: 4 },
+ e: { chainId, time: 1 },
+ f: { chainId, time: 5 },
};
const sorted = txHelper(
@@ -24,7 +23,6 @@ describe('txHelper', () => {
null,
null,
null,
- metamaskNetworkId,
chainId,
);
diff --git a/ui/helpers/utils/tx-helper.ts b/ui/helpers/utils/tx-helper.ts
index 1ce48a75e5c6..c9700a32f91e 100644
--- a/ui/helpers/utils/tx-helper.ts
+++ b/ui/helpers/utils/tx-helper.ts
@@ -1,5 +1,4 @@
import log from 'loglevel';
-import { transactionMatchesNetwork } from '../../../shared/modules/transaction.utils';
import { valuesFor } from './util';
export default function txHelper(
@@ -9,7 +8,6 @@ export default function txHelper(
decryptMsgs: Record | null,
encryptionPublicKeyMsgs: Record | null,
typedMessages: Record | null,
- networkId?: string | null,
chainId?: string,
): Record {
log.debug('tx-helper called with params:');
@@ -20,14 +18,11 @@ export default function txHelper(
decryptMsgs,
encryptionPublicKeyMsgs,
typedMessages,
- networkId,
chainId,
});
- const txValues = networkId
- ? valuesFor(unapprovedTxs).filter((txMeta) =>
- transactionMatchesNetwork(txMeta, chainId, networkId),
- )
+ const txValues = chainId
+ ? valuesFor(unapprovedTxs).filter((txMeta) => txMeta.chainId === chainId)
: valuesFor(unapprovedTxs);
const msgValues = valuesFor(unapprovedMsgs);
diff --git a/ui/hooks/useTransactionInsights.js b/ui/hooks/useTransactionInsights.js
index 94557ab0a49e..835296bb0a57 100644
--- a/ui/hooks/useTransactionInsights.js
+++ b/ui/hooks/useTransactionInsights.js
@@ -1,8 +1,6 @@
import React, { useEffect, useState } from 'react';
import { useSelector } from 'react-redux';
-import { CHAIN_ID_TO_NETWORK_ID_MAP } from '../../shared/constants/network';
-import { stripHexPrefix } from '../../shared/modules/hexstring-utils';
import { TransactionType } from '../../shared/constants/transaction';
import { getInsightSnaps } from '../selectors';
import { Tab } from '../components/ui/tabs';
@@ -40,8 +38,7 @@ const useTransactionInsights = ({ txData }) => {
);
const { txParams, chainId, origin } = txData;
- const networkId = CHAIN_ID_TO_NETWORK_ID_MAP[chainId];
- const caip2ChainId = `eip155:${networkId ?? stripHexPrefix(chainId)}`;
+ const caip2ChainId = `eip155:${parseInt(chainId, 16).toString()}`;
if (insightSnaps.length === 1) {
return (
diff --git a/ui/index.js b/ui/index.js
index b0ab2f28c0cf..a4b10e4c4009 100644
--- a/ui/index.js
+++ b/ui/index.js
@@ -164,7 +164,6 @@ async function startApp(metamaskState, backgroundConnection, opts) {
metamaskState.unapprovedDecryptMsgs,
metamaskState.unapprovedEncryptionPublicKeyMsgs,
metamaskState.unapprovedTypedMessages,
- metamaskState.networkId,
metamaskState.providerConfig.chainId,
);
const numberOfUnapprovedTx = unapprovedTxsAll.length;
diff --git a/ui/pages/confirm-send-ether/confirm-send-ether.stories.js b/ui/pages/confirm-send-ether/confirm-send-ether.stories.js
index 0c6d26b8537d..3dcbe4b8aef9 100644
--- a/ui/pages/confirm-send-ether/confirm-send-ether.stories.js
+++ b/ui/pages/confirm-send-ether/confirm-send-ether.stories.js
@@ -9,7 +9,6 @@ const sendEther = {
id: 9597986287241458,
time: 1681203297082,
status: 'unapproved',
- metamaskNetworkId: '5',
originalGasEstimate: '0x5208',
userEditedGasLimit: false,
chainId: '0x5',
diff --git a/ui/pages/confirm-send-ether/confirm-send-ether.test.js b/ui/pages/confirm-send-ether/confirm-send-ether.test.js
index 446dbc7ed0ee..f2397626b457 100644
--- a/ui/pages/confirm-send-ether/confirm-send-ether.test.js
+++ b/ui/pages/confirm-send-ether/confirm-send-ether.test.js
@@ -19,7 +19,6 @@ const sendEther = {
id: 9597986287241458,
time: 1681203297082,
status: 'unapproved',
- metamaskNetworkId: '5',
originalGasEstimate: '0x5208',
userEditedGasLimit: false,
chainId: '0x5',
diff --git a/ui/pages/confirm-signature-request/index.js b/ui/pages/confirm-signature-request/index.js
index a7c9c9af0430..b06ee2bfbdb6 100644
--- a/ui/pages/confirm-signature-request/index.js
+++ b/ui/pages/confirm-signature-request/index.js
@@ -60,7 +60,6 @@ const ConfirmTxScreen = ({ match }) => {
unapprovedMsgs,
unapprovedPersonalMsgs,
unapprovedTypedMessages,
- networkId,
blockGasLimit,
} = useSelector((state) => state.metamask);
const unapprovedTxs = useSelector(getUnapprovedTransactions);
@@ -81,7 +80,8 @@ const ConfirmTxScreen = ({ match }) => {
{},
{},
{},
- networkId,
+ {},
+ {},
chainId,
);
if (unconfTxList.length === 0 && !sendTo && unapprovedMessagesTotal === 0) {
@@ -90,7 +90,6 @@ const ConfirmTxScreen = ({ match }) => {
}, [
chainId,
navigateToMostRecentOverviewPage,
- networkId,
sendTo,
unapprovedMessagesTotal,
unapprovedTxs,
@@ -117,7 +116,8 @@ const ConfirmTxScreen = ({ match }) => {
{},
{},
{},
- networkId,
+ {},
+ {},
chainId,
);
const prevTxData = prevUnconfTxList[prevIndex] || {};
@@ -130,7 +130,8 @@ const ConfirmTxScreen = ({ match }) => {
{},
{},
{},
- networkId,
+ {},
+ {},
chainId,
);
@@ -165,8 +166,9 @@ const ConfirmTxScreen = ({ match }) => {
unapprovedTxs || {},
unapprovedMsgs,
unapprovedPersonalMsgs,
+ {},
+ {},
unapprovedTypedMessages,
- networkId,
chainId,
);
@@ -180,7 +182,6 @@ const ConfirmTxScreen = ({ match }) => {
chainId,
index,
match,
- networkId,
unapprovedMsgs,
unapprovedPersonalMsgs,
unapprovedTxs,
diff --git a/ui/pages/confirm-transaction-base/confirm-transaction-base.container.js b/ui/pages/confirm-transaction-base/confirm-transaction-base.container.js
index 053732c80cd3..1deae6f575e8 100644
--- a/ui/pages/confirm-transaction-base/confirm-transaction-base.container.js
+++ b/ui/pages/confirm-transaction-base/confirm-transaction-base.container.js
@@ -62,7 +62,6 @@ import {
import {
parseStandardTokenTransactionData,
- transactionMatchesNetwork,
txParamsAreDappSuggested,
} from '../../../shared/modules/transaction.utils';
import {
@@ -123,8 +122,7 @@ const mapStateToProps = (state, ownProps) => {
const gasLoadingAnimationIsShowing = getGasLoadingAnimationIsShowing(state);
const isBuyableChain = getIsBuyableChain(state);
const { confirmTransaction, metamask } = state;
- const { conversionRate, identities, addressBook, networkId, nextNonce } =
- metamask;
+ const { conversionRate, identities, addressBook, nextNonce } = metamask;
const unapprovedTxs = getUnapprovedTransactions(state);
const { chainId } = getProviderConfig(state);
const { tokenData, txData, tokenProps, nonce } = confirmTransaction;
@@ -183,9 +181,7 @@ const mapStateToProps = (state, ownProps) => {
} = transactionFeeSelector(state, transaction);
const currentNetworkUnapprovedTxs = Object.keys(unapprovedTxs)
- .filter((key) =>
- transactionMatchesNetwork(unapprovedTxs[key], chainId, networkId),
- )
+ .filter((key) => unapprovedTxs[key].chainId === chainId)
.reduce((acc, key) => ({ ...acc, [key]: unapprovedTxs[key] }), {});
const unapprovedTxCount = valuesFor(currentNetworkUnapprovedTxs).length;
diff --git a/ui/pages/confirm-transaction-base/confirm-transaction-base.test.js b/ui/pages/confirm-transaction-base/confirm-transaction-base.test.js
index fee7d33bb7dc..958eb642d0c7 100644
--- a/ui/pages/confirm-transaction-base/confirm-transaction-base.test.js
+++ b/ui/pages/confirm-transaction-base/confirm-transaction-base.test.js
@@ -33,8 +33,6 @@ setBackgroundConnection({
getNextNonce: jest.fn(),
});
-const mockNetworkId = '5';
-
const mockTxParamsFromAddress = '0x123456789';
const mockTxParamsToAddress = '0x85c1685cfceaa5c0bdb1609fc536e9a8387dd65e';
@@ -73,7 +71,7 @@ const baseStore = {
transactions: [
{
id: 1,
- metamaskNetworkId: mockNetworkId,
+ chainId: '0x5',
txParams: { ...mockTxParams },
status: 'unapproved',
},
@@ -91,7 +89,6 @@ const baseStore = {
accounts: ['0x0'],
},
],
- networkId: mockNetworkId,
selectedNetworkClientId: NetworkType.mainnet,
networksMetadata: {
[NetworkType.mainnet]: {
@@ -139,7 +136,6 @@ const baseStore = {
confirmTransaction: {
txData: {
id: 1,
- metamaskNetworkId: mockNetworkId,
txParams: { ...mockTxParams },
time: 1675012496170,
status: TransactionStatus.unapproved,
diff --git a/ui/pages/confirmation/templates/switch-ethereum-chain.test.js b/ui/pages/confirmation/templates/switch-ethereum-chain.test.js
index b7762412c279..30e56094c7ff 100644
--- a/ui/pages/confirmation/templates/switch-ethereum-chain.test.js
+++ b/ui/pages/confirmation/templates/switch-ethereum-chain.test.js
@@ -88,6 +88,7 @@ describe('switch-ethereum-chain confirmation', () => {
{
id: 1,
status: 'unapproved',
+ chainId: '0x9999',
},
],
},
diff --git a/ui/pages/send/send.test.js b/ui/pages/send/send.test.js
index 794f3aa44d96..de39b6840511 100644
--- a/ui/pages/send/send.test.js
+++ b/ui/pages/send/send.test.js
@@ -230,7 +230,6 @@ describe('Send Page', () => {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: false,
txParams: {
@@ -276,7 +275,6 @@ describe('Send Page', () => {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
- metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: false,
txParams: {
diff --git a/ui/pages/token-allowance/token-allowance.stories-to-do.js b/ui/pages/token-allowance/token-allowance.stories-to-do.js
index c03a1db991cc..fa9b52724817 100644
--- a/ui/pages/token-allowance/token-allowance.stories-to-do.js
+++ b/ui/pages/token-allowance/token-allowance.stories-to-do.js
@@ -98,7 +98,6 @@ export default {
id: 3049568294499567,
time: 1664449552289,
status: 'unapproved',
- metamaskNetworkId: '3',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x3',
@@ -124,7 +123,6 @@ export default {
id: 3049568294499567,
time: 1664449552289,
status: 'unapproved',
- metamaskNetworkId: '3',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x3',
diff --git a/ui/pages/token-allowance/token-allowance.test.js b/ui/pages/token-allowance/token-allowance.test.js
index d9f9021e6b5e..1929e7b5a714 100644
--- a/ui/pages/token-allowance/token-allowance.test.js
+++ b/ui/pages/token-allowance/token-allowance.test.js
@@ -163,7 +163,6 @@ describe('TokenAllowancePage', () => {
id: 3049568294499567,
time: 1664449552289,
status: 'unapproved',
- metamaskNetworkId: '3',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x3',
diff --git a/ui/selectors/confirm-transaction.js b/ui/selectors/confirm-transaction.js
index cdd7eed36f1b..20fdb546f148 100644
--- a/ui/selectors/confirm-transaction.js
+++ b/ui/selectors/confirm-transaction.js
@@ -6,7 +6,6 @@ import {
addFiat,
addEth,
} from '../helpers/utils/confirm-tx.util';
-import { transactionMatchesNetwork } from '../../shared/modules/transaction.utils';
import {
getGasEstimateType,
getGasFeeEstimates,
@@ -29,7 +28,7 @@ import {
sumHexes,
} from '../../shared/modules/conversion.utils';
import { getAveragePriceEstimateInHexWEI } from './custom-gas';
-import { getCurrentChainId, deprecatedGetCurrentNetworkId } from './selectors';
+import { getCurrentChainId } from './selectors';
import {
checkNetworkAndAccountSupports1559,
getUnapprovedTransactions,
@@ -53,7 +52,6 @@ export const unconfirmedTransactionsListSelector = createSelector(
unapprovedDecryptMsgsSelector,
unapprovedEncryptionPublicKeyMsgsSelector,
unapprovedTypedMessagesSelector,
- deprecatedGetCurrentNetworkId,
getCurrentChainId,
(
unapprovedTxs = {},
@@ -62,7 +60,6 @@ export const unconfirmedTransactionsListSelector = createSelector(
unapprovedDecryptMsgs = {},
unapprovedEncryptionPublicKeyMsgs = {},
unapprovedTypedMessages = {},
- network,
chainId,
) =>
txHelper(
@@ -72,7 +69,6 @@ export const unconfirmedTransactionsListSelector = createSelector(
unapprovedDecryptMsgs,
unapprovedEncryptionPublicKeyMsgs,
unapprovedTypedMessages,
- network,
chainId,
) || [],
);
@@ -84,7 +80,6 @@ export const unconfirmedTransactionsHashSelector = createSelector(
unapprovedDecryptMsgsSelector,
unapprovedEncryptionPublicKeyMsgsSelector,
unapprovedTypedMessagesSelector,
- deprecatedGetCurrentNetworkId,
getCurrentChainId,
(
unapprovedTxs = {},
@@ -93,16 +88,13 @@ export const unconfirmedTransactionsHashSelector = createSelector(
unapprovedDecryptMsgs = {},
unapprovedEncryptionPublicKeyMsgs = {},
unapprovedTypedMessages = {},
- network,
chainId,
) => {
const filteredUnapprovedTxs = Object.keys(unapprovedTxs).reduce(
(acc, address) => {
const transactions = { ...acc };
- if (
- transactionMatchesNetwork(unapprovedTxs[address], chainId, network)
- ) {
+ if (unapprovedTxs[address].chainId === chainId) {
transactions[address] = unapprovedTxs[address];
}
diff --git a/ui/selectors/nonce-sorted-transactions-selector.test.js b/ui/selectors/nonce-sorted-transactions-selector.test.js
index 81594efa090e..9b320c679cc5 100644
--- a/ui/selectors/nonce-sorted-transactions-selector.test.js
+++ b/ui/selectors/nonce-sorted-transactions-selector.test.js
@@ -24,12 +24,14 @@ const INCOMING_TX = {
from: RECIPIENTS.ONE,
to: SENDERS.ONE,
},
+ chainId: CHAIN_IDS.MAINNET,
};
const SIGNING_REQUEST = {
type: TransactionType.sign,
id: '0-signing',
status: TransactionStatus.unapproved,
+ chainId: CHAIN_IDS.MAINNET,
};
const SIMPLE_SEND_TX = {
@@ -39,6 +41,7 @@ const SIMPLE_SEND_TX = {
to: RECIPIENTS.ONE,
},
type: TransactionType.simpleSend,
+ chainId: CHAIN_IDS.MAINNET,
};
const TOKEN_SEND_TX = {
@@ -50,12 +53,14 @@ const TOKEN_SEND_TX = {
data: '0xdata',
},
type: TransactionType.tokenMethodTransfer,
+ chainId: CHAIN_IDS.MAINNET,
};
const RETRY_TX = {
...SIMPLE_SEND_TX,
id: '0-retry',
type: TransactionType.retry,
+ chainId: CHAIN_IDS.MAINNET,
};
const CANCEL_TX = {
@@ -66,6 +71,7 @@ const CANCEL_TX = {
to: SENDERS.ONE,
},
type: TransactionType.cancel,
+ chainId: CHAIN_IDS.MAINNET,
};
const getStateTree = ({
diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js
index 704d0491c61d..7487319f9ad4 100644
--- a/ui/selectors/selectors.js
+++ b/ui/selectors/selectors.js
@@ -284,20 +284,6 @@ export function getAccountTypeForKeyring(keyring) {
}
}
-/**
- * get the currently selected networkId which will be 'loading' when the
- * network changes. The network id should not be used in most cases,
- * instead use chainId in most situations. There are a limited number of
- * use cases to use this method still, such as when comparing transaction
- * metadata that predates the switch to using chainId.
- *
- * @deprecated - use getCurrentChainId instead
- * @param {object} state - redux state object
- */
-export function deprecatedGetCurrentNetworkId(state) {
- return state.metamask.networkId ?? 'loading';
-}
-
/**
* Get MetaMask accounts, including account name and balance.
*/
@@ -375,14 +361,7 @@ export function getMetaMaskAccountBalances(state) {
export function getMetaMaskCachedBalances(state) {
const chainId = getCurrentChainId(state);
- // Fallback to fetching cached balances from network id
- // this can eventually be removed
- const network = deprecatedGetCurrentNetworkId(state);
-
- return (
- state.metamask.cachedBalances[chainId] ??
- state.metamask.cachedBalances[network]
- );
+ return state.metamask.cachedBalances[chainId];
}
/**
diff --git a/ui/selectors/transactions.js b/ui/selectors/transactions.js
index a1827f2c0443..58d8feb43f3a 100644
--- a/ui/selectors/transactions.js
+++ b/ui/selectors/transactions.js
@@ -10,14 +10,9 @@ import {
TransactionType,
SmartTransactionStatus,
} from '../../shared/constants/transaction';
-import { transactionMatchesNetwork } from '../../shared/modules/transaction.utils';
import { hexToDecimal } from '../../shared/modules/conversion.utils';
import { getProviderConfig } from '../ducks/metamask/metamask';
-import {
- getCurrentChainId,
- deprecatedGetCurrentNetworkId,
- getSelectedAddress,
-} from './selectors';
+import { getCurrentChainId, getSelectedAddress } from './selectors';
import { hasPendingApprovals, getApprovalRequestsByType } from './approvals';
import { createDeepEqualSelector } from './util';
@@ -30,7 +25,7 @@ export const unapprovedMsgsSelector = (state) => state.metamask.unapprovedMsgs;
export const getCurrentNetworkTransactions = createDeepEqualSelector(
(state) => {
- const { transactions, networkId } = state.metamask ?? {};
+ const { transactions } = state.metamask ?? {};
if (!transactions?.length) {
return [];
@@ -38,8 +33,8 @@ export const getCurrentNetworkTransactions = createDeepEqualSelector(
const { chainId } = getProviderConfig(state);
- return transactions.filter((transaction) =>
- transactionMatchesNetwork(transaction, chainId, networkId),
+ return transactions.filter(
+ (transaction) => transaction.chainId === chainId,
);
},
(transactions) => transactions,
@@ -119,7 +114,6 @@ export const unapprovedMessagesSelector = createSelector(
unapprovedDecryptMsgsSelector,
unapprovedEncryptionPublicKeyMsgsSelector,
unapprovedTypedMessagesSelector,
- deprecatedGetCurrentNetworkId,
getCurrentChainId,
(
unapprovedMsgs = {},
@@ -127,7 +121,6 @@ export const unapprovedMessagesSelector = createSelector(
unapprovedDecryptMsgs = {},
unapprovedEncryptionPublicKeyMsgs = {},
unapprovedTypedMessages = {},
- network,
chainId,
) =>
txHelper(
@@ -137,7 +130,6 @@ export const unapprovedMessagesSelector = createSelector(
unapprovedDecryptMsgs,
unapprovedEncryptionPublicKeyMsgs,
unapprovedTypedMessages,
- network,
chainId,
) || [],
);
@@ -584,9 +576,7 @@ const hasUnapprovedTransactionsInCurrentNetwork = (state) => {
const chainId = getCurrentChainId(state);
const filteredUnapprovedTxInCurrentNetwork = unapprovedTxRequests.filter(
- ({ id }) =>
- unapprovedTxs[id] &&
- transactionMatchesNetwork(unapprovedTxs[id], chainId),
+ ({ id }) => unapprovedTxs[id] && unapprovedTxs[id].chainId === chainId,
);
return filteredUnapprovedTxInCurrentNetwork.length > 0;
diff --git a/ui/selectors/transactions.test.js b/ui/selectors/transactions.test.js
index fb6bb629793e..87ef1b7bf950 100644
--- a/ui/selectors/transactions.test.js
+++ b/ui/selectors/transactions.test.js
@@ -154,6 +154,7 @@ describe('Transaction Selectors', () => {
const tx1 = {
id: 0,
time: 0,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -164,6 +165,7 @@ describe('Transaction Selectors', () => {
const tx2 = {
id: 1,
time: 1,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -212,6 +214,7 @@ describe('Transaction Selectors', () => {
const submittedTx = {
id: 0,
time: 0,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -223,6 +226,7 @@ describe('Transaction Selectors', () => {
const unapprovedTx = {
id: 1,
time: 1,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -234,6 +238,7 @@ describe('Transaction Selectors', () => {
const approvedTx = {
id: 2,
time: 2,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -245,6 +250,7 @@ describe('Transaction Selectors', () => {
const confirmedTx = {
id: 3,
time: 3,
+ chainId: CHAIN_IDS.MAINNET,
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -324,11 +330,11 @@ describe('Transaction Selectors', () => {
});
describe('hasTransactionPendingApprovals', () => {
- const mockNetworkId = 'mockNetworkId';
+ const mockChainId = 'mockChainId';
const mockedState = {
metamask: {
providerConfig: {
- chainId: mockNetworkId,
+ chainId: mockChainId,
},
pendingApprovalCount: 2,
pendingApprovals: {
@@ -352,7 +358,7 @@ describe('Transaction Selectors', () => {
transactions: [
{
id: '2',
- chainId: mockNetworkId,
+ chainId: mockChainId,
status: TransactionStatus.unapproved,
},
],
@@ -365,7 +371,7 @@ describe('Transaction Selectors', () => {
});
it('should return false if there is a pending transaction on different network', () => {
- mockedState.metamask.transactions[0].chainId = 'differentNetworkId';
+ mockedState.metamask.transactions[0].chainId = 'differentChainId';
const result = hasTransactionPendingApprovals(mockedState);
expect(result).toBe(false);
});
diff --git a/ui/store/actions.test.js b/ui/store/actions.test.js
index 56882e5059e4..2c184f544786 100644
--- a/ui/store/actions.test.js
+++ b/ui/store/actions.test.js
@@ -39,7 +39,7 @@ const baseMockState = defaultState.metamask;
describe('Actions', () => {
let background;
- const currentNetworkId = '5';
+ const currentChainId = '0x5';
beforeEach(async () => {
background = sinon.createStubInstance(MetaMaskController, {
@@ -665,7 +665,7 @@ describe('Actions', () => {
const txData = {
id: '1',
status: TransactionStatus.unapproved,
- metamaskNetworkId: currentNetworkId,
+ chainId: currentChainId,
txParams,
};
diff --git a/ui/store/institutional/institution-actions.test.js b/ui/store/institutional/institution-actions.test.js
index 2295791bd9ec..d4821a523cf9 100644
--- a/ui/store/institutional/institution-actions.test.js
+++ b/ui/store/institutional/institution-actions.test.js
@@ -43,6 +43,7 @@ const defaultState = {
{
id: 0,
time: 0,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -53,6 +54,7 @@ const defaultState = {
{
id: 1,
time: 1,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -236,6 +238,7 @@ describe('#updateCustodyState', () => {
{
id: 0,
time: 0,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -246,6 +249,7 @@ describe('#updateCustodyState', () => {
{
id: 1,
time: 1,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -289,6 +293,7 @@ describe('#updateCustodyState', () => {
{
id: 0,
time: 0,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
@@ -299,6 +304,7 @@ describe('#updateCustodyState', () => {
{
id: 1,
time: 1,
+ chainId: '0x1',
txParams: {
from: '0xAddress',
to: '0xRecipient',
diff --git a/ui/store/store.ts b/ui/store/store.ts
index 739271df9b8b..d0785a8ed909 100644
--- a/ui/store/store.ts
+++ b/ui/store/store.ts
@@ -65,7 +65,6 @@ interface TemporaryBackgroundState {
unapprovedMsgs: MessagesIndexedById;
unapprovedPersonalMsgs: MessagesIndexedById;
unapprovedTypedMessages: MessagesIndexedById;
- networkId: string | null;
networksMetadata: {
[NetworkClientId: string]: {
EIPS: { [eip: string]: boolean };
diff --git a/yarn.lock b/yarn.lock
index 1652c86ce0cf..6c41642330b7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3981,7 +3981,7 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/controller-utils@npm:^4.0.0, @metamask/controller-utils@npm:^4.1.0, @metamask/controller-utils@npm:^4.2.0, @metamask/controller-utils@npm:^4.3.0, @metamask/controller-utils@npm:^4.3.2":
+"@metamask/controller-utils@npm:^4.0.0, @metamask/controller-utils@npm:^4.1.0, @metamask/controller-utils@npm:^4.2.0, @metamask/controller-utils@npm:^4.3.0":
version: 4.3.2
resolution: "@metamask/controller-utils@npm:4.3.2"
dependencies:
@@ -4499,28 +4499,6 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/network-controller@npm:^12.1.2, @metamask/network-controller@npm:^12.2.0":
- version: 12.2.0
- resolution: "@metamask/network-controller@npm:12.2.0"
- dependencies:
- "@metamask/base-controller": "npm:^3.2.1"
- "@metamask/controller-utils": "npm:^4.3.2"
- "@metamask/eth-json-rpc-infura": "npm:^8.1.1"
- "@metamask/eth-json-rpc-middleware": "npm:^11.0.2"
- "@metamask/eth-json-rpc-provider": "npm:^1.0.0"
- "@metamask/eth-query": "npm:^3.0.1"
- "@metamask/swappable-obj-proxy": "npm:^2.1.0"
- "@metamask/utils": "npm:^6.2.0"
- async-mutex: "npm:^0.2.6"
- eth-block-tracker: "npm:^7.0.1"
- eth-rpc-errors: "npm:^4.0.2"
- immer: "npm:^9.0.6"
- json-rpc-engine: "npm:^6.1.0"
- uuid: "npm:^8.3.2"
- checksum: e5497f00c8a6ed5f00a9a5dccc6ff98cc15cc83ec31493e1387f654e038e244dff6b7954422f753d07461e2d4ef9c9dde2337a6cc4c013e3fae045592278da04
- languageName: node
- linkType: hard
-
"@metamask/network-controller@npm:^13.0.0":
version: 13.0.0
resolution: "@metamask/network-controller@npm:13.0.0"
@@ -4800,16 +4778,16 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/selected-network-controller@npm:^1.0.0":
- version: 1.0.0
- resolution: "@metamask/selected-network-controller@npm:1.0.0"
+"@metamask/selected-network-controller@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@metamask/selected-network-controller@npm:2.0.0"
dependencies:
"@metamask/base-controller": "npm:^3.2.1"
- "@metamask/network-controller": "npm:^12.1.2"
+ "@metamask/network-controller": "npm:^13.0.0"
json-rpc-engine: "npm:^6.1.0"
peerDependencies:
- "@metamask/network-controller": ^12.1.2
- checksum: 4a004ccf426603a111e9c5d490f4a86ce4cb0143a9ff53c215e031df3d237cef0ef4fcde6c484f3ae0c5ce1a4b8d60f1faf4b1ceaf63675587480e704c26a903
+ "@metamask/network-controller": ^13.0.0
+ checksum: dc4519b743f1ce9d47d4dd8d80a90131f248e55f6ebdd99e623356ec4b2d4ab6a4c0d6830083bcd96110f4d52f343358764e4c7bf9de2f65e35e03ca3a16557f
languageName: node
linkType: hard
@@ -24586,7 +24564,7 @@ __metadata:
"@metamask/base-controller": "npm:^3.2.0"
"@metamask/browser-passworder": "npm:^4.1.0"
"@metamask/contract-metadata": "npm:^2.3.1"
- "@metamask/controller-utils": "npm:^4.2.0"
+ "@metamask/controller-utils": "npm:^5.0.0"
"@metamask/design-tokens": "npm:^1.12.0"
"@metamask/desktop": "npm:^0.3.0"
"@metamask/eslint-config": "npm:^9.0.0"
@@ -24613,7 +24591,7 @@ __metadata:
"@metamask/message-manager": "npm:^7.3.0"
"@metamask/metamask-eth-abis": "npm:^3.0.0"
"@metamask/name-controller": "npm:^3.0.0"
- "@metamask/network-controller": "npm:^12.2.0"
+ "@metamask/network-controller": "npm:^13.0.0"
"@metamask/notification-controller": "npm:^3.0.0"
"@metamask/obs-store": "npm:^8.1.0"
"@metamask/permission-controller": "npm:^4.0.0"
@@ -24626,7 +24604,7 @@ __metadata:
"@metamask/rpc-methods": "npm:^3.0.0"
"@metamask/safe-event-emitter": "npm:^2.0.0"
"@metamask/scure-bip39": "npm:^2.0.3"
- "@metamask/selected-network-controller": "npm:^1.0.0"
+ "@metamask/selected-network-controller": "npm:^2.0.0"
"@metamask/signature-controller": "npm:^6.1.2"
"@metamask/slip44": "npm:^3.1.0"
"@metamask/smart-transactions-controller": "npm:^4.0.0"
From 09d1e0e5eae2b54f844f3c7e9893881f690729ff Mon Sep 17 00:00:00 2001
From: Jyoti Puri
Date: Thu, 19 Oct 2023 13:59:53 +0530
Subject: [PATCH 035/121] Fix: metrics details for toggling blockaid settings
(#21389)
---
shared/constants/metametrics.ts | 1 +
.../experimental-tab/experimental-tab.component.js | 12 ++++--------
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts
index e9b26f6c6712..165a36d36290 100644
--- a/shared/constants/metametrics.ts
+++ b/shared/constants/metametrics.ts
@@ -559,6 +559,7 @@ export enum MetaMetricsEventName {
PublicAddressCopied = 'Public Address Copied',
QuoteError = 'Quote Error',
ServiceWorkerRestarted = 'Service Worker Restarted',
+ SettingsUpdated = 'Settings Updated',
SignatureApproved = 'Signature Approved',
SignatureFailed = 'Signature Failed',
SignatureRejected = 'Signature Rejected',
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.component.js b/ui/pages/settings/experimental-tab/experimental-tab.component.js
index 0674d4670932..ed3059ed8982 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.component.js
+++ b/ui/pages/settings/experimental-tab/experimental-tab.component.js
@@ -7,9 +7,7 @@ import {
} from '../../../helpers/utils/settings-search';
import {
MetaMetricsEventCategory,
- ///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
MetaMetricsEventName,
- ///: END:ONLY_INCLUDE_IN
} from '../../../../shared/constants/metametrics';
///: BEGIN:ONLY_INCLUDE_IN(build-main)
import { showSnapAccountExperimentalToggle } from '../../../../shared/modules/snap-accounts';
@@ -86,10 +84,9 @@ export default class ExperimentalTab extends PureComponent {
this.props;
this.context.trackEvent({
category: MetaMetricsEventCategory.Settings,
- event: 'Enabled/Disable security_alerts_enabled',
+ event: MetaMetricsEventName.SettingsUpdated,
properties: {
- action: 'Enabled/Disable security_alerts_enabled',
- legacy_event: true,
+ blockaid_alerts_enabled: newValue,
},
});
setSecurityAlertsEnabled(newValue);
@@ -110,10 +107,9 @@ export default class ExperimentalTab extends PureComponent {
this.props;
this.context.trackEvent({
category: MetaMetricsEventCategory.Settings,
- event: 'Enabled/Disable TransactionSecurityCheck',
+ event: MetaMetricsEventName.SettingsUpdated,
properties: {
- action: 'Enabled/Disable TransactionSecurityCheck',
- legacy_event: true,
+ opensea_alerts_enabled: newValue,
},
});
setTransactionSecurityCheckEnabled(newValue);
From a268d88973041874c2c6cd808523c0b217b6eba0 Mon Sep 17 00:00:00 2001
From: seaona <54408225+seaona@users.noreply.github.com>
Date: Thu, 19 Oct 2023 10:32:15 +0200
Subject: [PATCH 036/121] test: move ppom e2e tests to run against the main
build (#21424)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This moves all the ppom e2e tests to run against the main build, instead
of flask, since the feature is now included in the main MetaMask build.
How:
- tests have been moved to the main test folder
- tests have been removed from `run-all` script specific for the flask
build
- tests have indicated to not run in `mmi`builds, since feature is not
there
## **Manual testing steps**
1. Check ci tests
2. Run e2e tests locally
## **Screenshots/Recordings**
/
### **Before**
/
### **After**
/
## **Related issues**
Fixes https://github.com/MetaMask/MetaMask-planning/issues/1417
## **Pre-merge author checklist**
- [X] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [X] I've clearly explained:
- [X] What problem this PR is solving.
- [X] How this problem was solved.
- [X] How reviewers can test my changes.
- [X] I’ve indicated what issue this PR is linked to: Fixes #???
- [X] I’ve included tests if applicable.
- [X] I’ve documented any added code.
- [X] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [X] I’ve properly set the pull request status:
- [X] In case it's not yet "ready for review", I've set it to "draft".
- [X] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
package.json | 4 ++--
test/e2e/run-all.js | 4 ----
.../ppom-blockaid-alert-erc20-approval.spec.js | 2 +-
.../ppom-blockaid-alert-erc20-transfer.spec.js | 2 +-
test/e2e/{flask => tests}/ppom-blockaid-alert.spec.js | 2 +-
test/e2e/{flask => tests}/ppom-toggle-settings.spec.js | 2 +-
6 files changed, 6 insertions(+), 10 deletions(-)
rename test/e2e/{flask => tests}/ppom-blockaid-alert-erc20-approval.spec.js (98%)
rename test/e2e/{flask => tests}/ppom-blockaid-alert-erc20-transfer.spec.js (98%)
rename test/e2e/{flask => tests}/ppom-blockaid-alert.spec.js (99%)
rename test/e2e/{flask => tests}/ppom-toggle-settings.spec.js (98%)
diff --git a/package.json b/package.json
index 4423d3a3c852..00f567d6432d 100644
--- a/package.json
+++ b/package.json
@@ -16,14 +16,14 @@
"build": "yarn lavamoat:build",
"build:dev": "node development/build/index.js",
"start:test": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev",
- "start:test:flask": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom yarn build:dev testDev --build-type flask --apply-lavamoat=false --snow=false",
+ "start:test:flask": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev --build-type flask --apply-lavamoat=false --snow=false",
"start:test:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev",
"benchmark:chrome": "SELENIUM_BROWSER=chrome ts-node test/e2e/benchmark.js",
"mv3:stats:chrome": "SELENIUM_BROWSER=chrome ENABLE_MV3=true ts-node test/e2e/mv3-perf-stats/index.js",
"user-actions-benchmark:chrome": "SELENIUM_BROWSER=chrome ts-node test/e2e/user-actions-benchmark.js",
"benchmark:firefox": "SELENIUM_BROWSER=firefox ts-node test/e2e/benchmark.js",
"build:test": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build test",
- "build:test:flask": "BLOCKAID_FILE_CDN=static.metafi-dev.codefi.network/api/v1/confirmations/ppom yarn build test --build-type flask",
+ "build:test:flask": "yarn build test --build-type flask",
"build:test:mmi": "yarn build test --build-type mmi",
"build:test:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build test",
"build:test:dev:mv3": "ENABLE_MV3=true SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' SENTRY_DSN_DEV=https://fake@sentry.io/0000000 PORTFOLIO_URL=http://127.0.0.1:8080 yarn build:dev testDev --apply-lavamoat=false",
diff --git a/test/e2e/run-all.js b/test/e2e/run-all.js
index cc73837fb2cf..2f0b7410d5cd 100644
--- a/test/e2e/run-all.js
+++ b/test/e2e/run-all.js
@@ -141,10 +141,6 @@ async function main() {
const filteredTests = [
'test-snap-lifecycle.spec.js',
'test-snap-get-locale.spec.js',
- 'ppom-blockaid-alert.spec.js',
- 'ppom-blockaid-alert-erc20-approval.spec.js',
- 'ppom-blockaid-alert-erc20-transfer.spec.js',
- 'ppom-toggle-settings.spec.js',
'petnames.spec.js',
];
testPaths = testPaths.filter((p) =>
diff --git a/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js b/test/e2e/tests/ppom-blockaid-alert-erc20-approval.spec.js
similarity index 98%
rename from test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js
rename to test/e2e/tests/ppom-blockaid-alert-erc20-approval.spec.js
index 10199bd0d68f..8de02f62edaf 100644
--- a/test/e2e/flask/ppom-blockaid-alert-erc20-approval.spec.js
+++ b/test/e2e/tests/ppom-blockaid-alert-erc20-approval.spec.js
@@ -163,7 +163,7 @@ async function mockInfura(mockServer) {
});
}
-describe('PPOM Blockaid Alert - Malicious ERC20 Approval', function () {
+describe('PPOM Blockaid Alert - Malicious ERC20 Approval @no-mmi', function () {
it('should show banner alert', async function () {
await withFixtures(
{
diff --git a/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js b/test/e2e/tests/ppom-blockaid-alert-erc20-transfer.spec.js
similarity index 98%
rename from test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js
rename to test/e2e/tests/ppom-blockaid-alert-erc20-transfer.spec.js
index 0989de0fcacc..795f0cc056b0 100644
--- a/test/e2e/flask/ppom-blockaid-alert-erc20-transfer.spec.js
+++ b/test/e2e/tests/ppom-blockaid-alert-erc20-transfer.spec.js
@@ -160,7 +160,7 @@ async function mockInfura(mockServer) {
});
}
-describe('PPOM Blockaid Alert - Malicious ERC20 Transfer', function () {
+describe('PPOM Blockaid Alert - Malicious ERC20 Transfer @no-mmi', function () {
it('should show banner alert', async function () {
await withFixtures(
{
diff --git a/test/e2e/flask/ppom-blockaid-alert.spec.js b/test/e2e/tests/ppom-blockaid-alert.spec.js
similarity index 99%
rename from test/e2e/flask/ppom-blockaid-alert.spec.js
rename to test/e2e/tests/ppom-blockaid-alert.spec.js
index d030ca4d31ad..7afb4131ffee 100644
--- a/test/e2e/flask/ppom-blockaid-alert.spec.js
+++ b/test/e2e/tests/ppom-blockaid-alert.spec.js
@@ -144,7 +144,7 @@ async function mockInfuraWithMaliciousResponses(mockServer) {
*
* @see {@link https://wobbly-nutmeg-8a5.notion.site/MM-E2E-Testing-1e51b617f79240a49cd3271565c6e12d}
*/
-describe('Confirmation Security Alert - Blockaid', function () {
+describe('Confirmation Security Alert - Blockaid @no-mmi', function () {
it('should not show security alerts for benign requests', async function () {
await withFixtures(
{
diff --git a/test/e2e/flask/ppom-toggle-settings.spec.js b/test/e2e/tests/ppom-toggle-settings.spec.js
similarity index 98%
rename from test/e2e/flask/ppom-toggle-settings.spec.js
rename to test/e2e/tests/ppom-toggle-settings.spec.js
index 94afb1181509..fc2035746cbf 100644
--- a/test/e2e/flask/ppom-toggle-settings.spec.js
+++ b/test/e2e/tests/ppom-toggle-settings.spec.js
@@ -8,7 +8,7 @@ const {
} = require('../helpers');
const FixtureBuilder = require('../fixture-builder');
-describe('PPOM Settings', function () {
+describe('PPOM Settings @no-mmi', function () {
it('should not show the PPOM warning when toggle is off', async function () {
await withFixtures(
{
From 96d0dfe649e39f78ff647705f5b145f67a076986 Mon Sep 17 00:00:00 2001
From: David Drazic
Date: Thu, 19 Oct 2023 10:45:14 +0200
Subject: [PATCH 037/121] Add Snaps to three dots menu and refactor (#21329)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR adds Snaps to the three dots menu and remove it from the
Settings.
Alongside the move of the Snaps to three dots menu, refactoring of the
following is done:
* Renamed routes to better describe certain Snap page locations
(`/snaps`, `/snaps/view`).
* Moved all the files and folders from Settings folder to new `snaps`
directory within `pages` directory.
* Renamed all the Snaps related components in order to remove all
`settings-*`-like associations.
* UI in the pages for Snaps list and Snap view is done based on the
Notifications page.
* Other code refactoring (CSS, locales, UI elements).
* Other minor UI changes and extended view adaptations following the
Figma specifications:
https://www.figma.com/file/3Z2k9kDpHxoyjwtQo1DAam/Home?node-id=76%3A13355&mode=dev
* Deprecated design system UI components are replaced with the new.
* Page component is used to wrap up the content and create consistent UI
across the Snaps pages.
## **Manual testing steps**
1. Go to Settings and make sure there is nothing related to Snaps.
2. Click on the "Three dots menu" and verify that Snaps option/link is
there.
3. Click on the Snaps option in the "Three dots menu" and Snaps list
page should be displayed.
4. Install arbitrary snap and click on it in the Snaps list page and
verify that view is displayed properly.
5. Verify both, extended view and popup.
## **Screenshots/Recordings**
### **Before**
![Screenshot 2023-10-17 at 12 30
17](https://github.com/MetaMask/metamask-extension/assets/13301024/a6349d1c-f8d9-48cc-b2b4-73bb3a933f68)
![Screenshot 2023-10-17 at 12 30
54](https://github.com/MetaMask/metamask-extension/assets/13301024/79750a13-8412-4f3e-954f-86634350b655)
### **After**
![Screenshot 2023-10-18 at 12 44
20](https://github.com/MetaMask/metamask-extension/assets/13301024/bad588b7-c801-4910-b490-e1b119a42b3b)
![Screenshot 2023-10-18 at 12 44
59](https://github.com/MetaMask/metamask-extension/assets/13301024/143f6fc9-4df2-4076-83e7-b1174e2350e5)
![Screenshot 2023-10-18 at 12 45
30](https://github.com/MetaMask/metamask-extension/assets/13301024/f159761e-face-4f3d-9141-bcd3f5fd6e5f)
Empty state:
![Screenshot 2023-10-18 at 12 48
16](https://github.com/MetaMask/metamask-extension/assets/13301024/e9756614-0fc3-405c-ab74-2d5da5d21f2e)
Hover state:
![Screenshot 2023-10-18 at 12 51
04](https://github.com/MetaMask/metamask-extension/assets/13301024/92c8a265-acc7-42f4-9a23-2448cb17e421)
## **Related issues**
Fixes: https://github.com/MetaMask/metamask-extension/issues/21168
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
- [ ] What problem this PR is solving.
- [ ] How this problem was solved.
- [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
- [ ] I’ve properly set the pull request status:
- [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---------
Co-authored-by: bowensanders
---
app/_locales/de/messages.json | 3 -
app/_locales/el/messages.json | 3 -
app/_locales/en/messages.json | 3 -
app/_locales/es/messages.json | 3 -
app/_locales/fr/messages.json | 3 -
app/_locales/hi/messages.json | 3 -
app/_locales/id/messages.json | 3 -
app/_locales/ja/messages.json | 3 -
app/_locales/ko/messages.json | 3 -
app/_locales/pt/messages.json | 3 -
app/_locales/ru/messages.json | 3 -
app/_locales/tl/messages.json | 3 -
app/_locales/tr/messages.json | 3 -
app/_locales/vi/messages.json | 3 -
app/_locales/zh_CN/messages.json | 3 -
.../test-remove-accounts-snap.spec.js | 3 +-
test/e2e/accounts/test-snap-accounts.spec.js | 2 -
test/e2e/snaps/test-snap-management.spec.js | 6 +-
test/e2e/snaps/test-snap-revoke-perm.spec.js | 4 -
ui/components/app/app-components.scss | 2 +-
.../app/snaps/snap-list-item/index.js | 1 +
.../app/snaps/snap-list-item/index.scss | 7 +
.../snap-list-item.js} | 32 +-
.../snap-list-item.stories.js} | 8 +-
.../snap-list-item.test.js} | 12 +-
.../app/snaps/snap-settings-card/index.js | 1 -
.../app/snaps/snap-settings-card/index.scss | 9 -
.../multichain/global-menu/global-menu.js | 14 +
ui/helpers/constants/routes.ts | 8 +-
ui/helpers/constants/settings.js | 12 -
ui/pages/pages.scss | 2 +
ui/pages/routes/routes.component.js | 14 +
ui/pages/settings/index.scss | 2 -
.../settings-search/settings-search.js | 10 -
ui/pages/settings/settings.component.js | 38 +-
ui/pages/settings/settings.container.js | 8 -
ui/pages/settings/settings.stories.js | 14 +-
.../settings/snaps/snaps-list-tab/index.js | 1 -
.../settings/snaps/snaps-list-tab/index.scss | 22 --
.../snaps/snaps-list-tab/snap-list-tab.js | 145 --------
ui/pages/settings/snaps/view-snap/index.js | 1 -
ui/pages/settings/snaps/view-snap/index.scss | 74 ----
.../settings/snaps/view-snap/view-snap.js | 292 ---------------
.../snap-view}/constants.ts | 0
ui/pages/snaps/snap-view/index.js | 1 +
ui/pages/snaps/snap-view/index.scss | 111 ++++++
ui/pages/snaps/snap-view/snap-view.js | 340 ++++++++++++++++++
.../snap-view/snap-view.test.js} | 24 +-
ui/pages/snaps/snaps-list/index.js | 1 +
ui/pages/snaps/snaps-list/index.scss | 52 +++
ui/pages/snaps/snaps-list/snap-list.js | 177 +++++++++
.../snaps-list/snap-list.stories.js} | 10 +-
52 files changed, 768 insertions(+), 737 deletions(-)
create mode 100644 ui/components/app/snaps/snap-list-item/index.js
create mode 100644 ui/components/app/snaps/snap-list-item/index.scss
rename ui/components/app/snaps/{snap-settings-card/snap-settings-card.js => snap-list-item/snap-list-item.js} (67%)
rename ui/components/app/snaps/{snap-settings-card/snap-settings-card.stories.js => snap-list-item/snap-list-item.stories.js} (68%)
rename ui/components/app/snaps/{snap-settings-card/snap-settings-card.test.js => snap-list-item/snap-list-item.test.js} (82%)
delete mode 100644 ui/components/app/snaps/snap-settings-card/index.js
delete mode 100644 ui/components/app/snaps/snap-settings-card/index.scss
delete mode 100644 ui/pages/settings/snaps/snaps-list-tab/index.js
delete mode 100644 ui/pages/settings/snaps/snaps-list-tab/index.scss
delete mode 100644 ui/pages/settings/snaps/snaps-list-tab/snap-list-tab.js
delete mode 100644 ui/pages/settings/snaps/view-snap/index.js
delete mode 100644 ui/pages/settings/snaps/view-snap/index.scss
delete mode 100644 ui/pages/settings/snaps/view-snap/view-snap.js
rename ui/pages/{settings/snaps/view-snap => snaps/snap-view}/constants.ts (100%)
create mode 100644 ui/pages/snaps/snap-view/index.js
create mode 100644 ui/pages/snaps/snap-view/index.scss
create mode 100644 ui/pages/snaps/snap-view/snap-view.js
rename ui/pages/{settings/snaps/view-snap/view-snap.test.js => snaps/snap-view/snap-view.test.js} (78%)
create mode 100644 ui/pages/snaps/snaps-list/index.js
create mode 100644 ui/pages/snaps/snaps-list/index.scss
create mode 100644 ui/pages/snaps/snaps-list/snap-list.js
rename ui/pages/{settings/snaps/snaps-list-tab/snap-list-tab.stories.js => snaps/snaps-list/snap-list.stories.js} (82%)
diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json
index c82fc509d096..f6666bf8bd5d 100644
--- a/app/_locales/de/messages.json
+++ b/app/_locales/de/messages.json
@@ -4035,9 +4035,6 @@
"message": "Alle Daten, die Sie mit Drittanbieterdiensten teilen, werden direkt von diesen Drittanbieterdiensten im Einklang mit deren Datenschutzerklärung erfasst. Für weitere Informationen lesen Sie bitte die jeweiligen Datenschutzerklärungen.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Verwalten Sie Ihre Snaps."
- },
"snapsTermsOfUse": {
"message": "Nutzungsbedingungen"
},
diff --git a/app/_locales/el/messages.json b/app/_locales/el/messages.json
index 65e49c18d128..1325504a2825 100644
--- a/app/_locales/el/messages.json
+++ b/app/_locales/el/messages.json
@@ -4035,9 +4035,6 @@
"message": "Οποιεσδήποτε πληροφορίες μοιράζεστε με τις Υπηρεσίες Τρίτων θα συλλέγονται απευθείας από τις εν λόγω Υπηρεσίες Τρίτων σύμφωνα με τις πολιτικές απορρήτου τους. Ανατρέξτε στις πολιτικές απορρήτου τους για περισσότερες πληροφορίες.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Διαχειριστείτε τα Snaps σας"
- },
"snapsTermsOfUse": {
"message": "Όροι Χρήσης"
},
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 425c8cbd2372..975d68bddd1a 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -4351,9 +4351,6 @@
"snapsSettings": {
"message": "Snap settings"
},
- "snapsSettingsDescription": {
- "message": "Manage your Snaps"
- },
"snapsTermsOfUse": {
"message": "Terms of Use"
},
diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json
index c83605862e23..9f6b697fa5b0 100644
--- a/app/_locales/es/messages.json
+++ b/app/_locales/es/messages.json
@@ -4035,9 +4035,6 @@
"message": "Cualquier información que comparta con Servicios de terceros será recopilada directamente por dichos Servicios de terceros de acuerdo con sus políticas de privacidad. Consulte sus políticas de privacidad para obtener más información.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Administre sus snaps"
- },
"snapsTermsOfUse": {
"message": "Términos de uso"
},
diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json
index 455a116d0a08..87e542126e62 100644
--- a/app/_locales/fr/messages.json
+++ b/app/_locales/fr/messages.json
@@ -4035,9 +4035,6 @@
"message": "Toute information que vous partagez avec des services tiers sera collectée directement par ces services tiers conformément à leur politique de confidentialité. Pour plus d’informations, veuillez consulter leur politique de confidentialité.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Gérez vos Snaps"
- },
"snapsTermsOfUse": {
"message": "Conditions d’utilisation"
},
diff --git a/app/_locales/hi/messages.json b/app/_locales/hi/messages.json
index fb8c1fec8908..04859ae00216 100644
--- a/app/_locales/hi/messages.json
+++ b/app/_locales/hi/messages.json
@@ -4035,9 +4035,6 @@
"message": "थर्ड पार्टी सेवाओं के साथ आप जो भी सूचना शेयर करते हैं, उसे उन थर्ड पार्टी सेवाओं द्वारा उनकी अपनी गोपनीयता नीतियों के अनुसार सीधे एकत्र की जाएगी। अधिक जानकारी के लिए कृपया उनकी गोपनीयता नीतियां देखें।",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "अपने Snaps प्रबंधित करें"
- },
"snapsTermsOfUse": {
"message": "इस्तेमाल की शर्तें"
},
diff --git a/app/_locales/id/messages.json b/app/_locales/id/messages.json
index 9361a0d18725..016492ffbc24 100644
--- a/app/_locales/id/messages.json
+++ b/app/_locales/id/messages.json
@@ -4035,9 +4035,6 @@
"message": "Setiap informasi yang Anda bagikan kepada Layanan Pihak Ketiga akan dikumpulkan langsung oleh Layanan Pihak Ketiga tersebut sesuai dengan kebijakan privasinya. Baca kebijakan privasinya untuk informasi lebih lanjut.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Kelola Snap Anda"
- },
"snapsTermsOfUse": {
"message": "Ketentuan Penggunaan"
},
diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json
index b025ee475416..f9d329608aaa 100644
--- a/app/_locales/ja/messages.json
+++ b/app/_locales/ja/messages.json
@@ -4035,9 +4035,6 @@
"message": "サードパーティサービスと共有する情報は、当該サードパーティサービスにより、それぞれのプライバシーポリシーに従い直接収集されます。詳細は、各サードパーティサービスのプライバシーポリシーをご覧ください。",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Snapsの管理"
- },
"snapsTermsOfUse": {
"message": "利用規約"
},
diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json
index 59ecbc154bc7..2728db96fd0a 100644
--- a/app/_locales/ko/messages.json
+++ b/app/_locales/ko/messages.json
@@ -4035,9 +4035,6 @@
"message": "타사와 공유하는 모든 정보는 해당 타사의 개인정보 처리방침에 따라 직접 수집됩니다. 더 자세한 내용은 해당 회사의 개인정보 처리방침을 참고하시기 바랍니다.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "스냅 관리"
- },
"snapsTermsOfUse": {
"message": "이용약관"
},
diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json
index 48ace43cb738..98aa3e11dc96 100644
--- a/app/_locales/pt/messages.json
+++ b/app/_locales/pt/messages.json
@@ -4035,9 +4035,6 @@
"message": "Informações compartilhadas com Serviços de Terceiros serão coletadas diretamente por eles, de acordo com políticas de privacidade próprias. Por favor, consulte-as para obter mais informações.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Gerencie seus snaps"
- },
"snapsTermsOfUse": {
"message": "Termos de Uso"
},
diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json
index 1b242bfc3a2c..683676b7b713 100644
--- a/app/_locales/ru/messages.json
+++ b/app/_locales/ru/messages.json
@@ -4035,9 +4035,6 @@
"message": "Любая информация, которую вы передаете Сторонним службам, будет собираться непосредственно этими Сторонними службами в соответствии с их политикой конфиденциальности. Пожалуйста, обратитесь к их политике конфиденциальности для получения дополнительной информации.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Управление вашим Snaps"
- },
"snapsTermsOfUse": {
"message": "Условия использования"
},
diff --git a/app/_locales/tl/messages.json b/app/_locales/tl/messages.json
index e9b90c2a6a35..5e0041d54984 100644
--- a/app/_locales/tl/messages.json
+++ b/app/_locales/tl/messages.json
@@ -4035,9 +4035,6 @@
"message": "Ang anumang impormasyong ibinabahagi mo sa mga Serbisyo ng Third Party ay direktang kokolektahin ng mga Serbisyo ng Third Party na iyon alinsunod sa kanilang mga patakaran sa pagkapribado. Pakitingnan ang kanilang mga patakaran sa pagkapribado para sa higit pang impormasyon.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Pamahalaan ang iyong mga Snap"
- },
"snapsTermsOfUse": {
"message": "Mga Tuntunin ng Paggamit"
},
diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json
index 288ebc27d591..d7c2accbcec5 100644
--- a/app/_locales/tr/messages.json
+++ b/app/_locales/tr/messages.json
@@ -4035,9 +4035,6 @@
"message": "Üçüncü Taraf Hizmetleri ile paylaştığınız tüm bilgiler söz konusu Üçüncü Taraf Hizmetlerinin gizlilik politikalarına göre doğrudan üçüncü taraflar tarafından toplanacaktır. Daha fazla bilgi için lütfen üçüncü tarafların gizlilik politikalarına bakın.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Snaplerini yönet"
- },
"snapsTermsOfUse": {
"message": "Kullanım Şartları"
},
diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json
index c2947dc6f564..7153719548a4 100644
--- a/app/_locales/vi/messages.json
+++ b/app/_locales/vi/messages.json
@@ -4035,9 +4035,6 @@
"message": "Mọi thông tin mà bạn chia sẻ với Dịch vụ bên thứ ba sẽ được Dịch vụ bên thứ ba đó thu thập trực tiếp theo chính sách quyền riêng tư của họ. Vui lòng tham khảo chính sách quyền riêng tư của họ để biết thêm thông tin.",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "Quản lý Snap"
- },
"snapsTermsOfUse": {
"message": "Điều khoản sử dụng"
},
diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json
index 02bd5041a838..21045baf5182 100644
--- a/app/_locales/zh_CN/messages.json
+++ b/app/_locales/zh_CN/messages.json
@@ -4035,9 +4035,6 @@
"message": "您与第三方服务分享的任何信息,将由这些第三方服务根据其隐私政策直接收集。请参阅其隐私政策以了解更多信息。",
"description": "Second part of a message in popup modal displayed when installing a snap for the first time."
},
- "snapsSettingsDescription": {
- "message": "管理您的 Snaps"
- },
"snapsTermsOfUse": {
"message": "使用条款"
},
diff --git a/test/e2e/accounts/test-remove-accounts-snap.spec.js b/test/e2e/accounts/test-remove-accounts-snap.spec.js
index 114964acacd8..a014baafe460 100644
--- a/test/e2e/accounts/test-remove-accounts-snap.spec.js
+++ b/test/e2e/accounts/test-remove-accounts-snap.spec.js
@@ -96,7 +96,6 @@ describe('Remove Account Snap', function () {
await driver.clickElement(
'[data-testid="account-options-menu-button"]',
);
- await driver.clickElement({ text: 'Settings', tag: 'div' });
await driver.clickElement({ text: 'Snaps', tag: 'div' });
await driver.clickElement({
text: 'MetaMask Simple Snap Keyring',
@@ -130,7 +129,7 @@ describe('Remove Account Snap', function () {
// Assert that the snap was removed.
const removeResult = await driver.findElement(
- '.snap-list-tab__container--no-snaps_inner',
+ '.snaps__content__list__container--no-snaps_inner',
);
assert.equal(
await removeResult.getText(),
diff --git a/test/e2e/accounts/test-snap-accounts.spec.js b/test/e2e/accounts/test-snap-accounts.spec.js
index 97dbf69e75fc..7fb9cc347399 100644
--- a/test/e2e/accounts/test-snap-accounts.spec.js
+++ b/test/e2e/accounts/test-snap-accounts.spec.js
@@ -89,8 +89,6 @@ describe('Test Snap Account', function () {
'[data-testid="account-options-menu-button"]',
);
- await driver.clickElement({ text: 'Settings', tag: 'div' });
-
await driver.clickElement({ text: 'Snaps', tag: 'div' });
await driver.clickElement(
diff --git a/test/e2e/snaps/test-snap-management.spec.js b/test/e2e/snaps/test-snap-management.spec.js
index 6af006bd9ab1..f286d1c5af02 100644
--- a/test/e2e/snaps/test-snap-management.spec.js
+++ b/test/e2e/snaps/test-snap-management.spec.js
@@ -78,10 +78,6 @@ describe('Test Snap Management', function () {
'[data-testid="account-options-menu-button"]',
);
- // try to click on the notification item
- await driver.clickElement({ text: 'Settings', tag: 'div' });
- await driver.delay(1000);
-
// try to click on the snaps item
await driver.clickElement({
text: 'Snaps',
@@ -150,7 +146,7 @@ describe('Test Snap Management', function () {
// check the results of the removal
await driver.delay(2000);
const removeResult = await driver.findElement(
- '.snap-list-tab__container--no-snaps_inner',
+ '.snaps__content__list__container--no-snaps_inner',
);
assert.equal(
await removeResult.getText(),
diff --git a/test/e2e/snaps/test-snap-revoke-perm.spec.js b/test/e2e/snaps/test-snap-revoke-perm.spec.js
index 8001a41a8949..b500f583de21 100644
--- a/test/e2e/snaps/test-snap-revoke-perm.spec.js
+++ b/test/e2e/snaps/test-snap-revoke-perm.spec.js
@@ -123,10 +123,6 @@ describe('Test Snap revoke permission', function () {
'[data-testid="account-options-menu-button"]',
);
- // try to click on the notification item
- await driver.clickElement({ text: 'Settings', tag: 'div' });
- await driver.delay(1000);
-
// try to click on the snaps item
await driver.clickElement({
text: 'Snaps',
diff --git a/ui/components/app/app-components.scss b/ui/components/app/app-components.scss
index 476901a28f62..90c7e6da117d 100644
--- a/ui/components/app/app-components.scss
+++ b/ui/components/app/app-components.scss
@@ -35,7 +35,7 @@
@import 'snaps/snap-ui-renderer/index';
@import 'snaps/snap-ui-markdown/index';
@import 'snaps/snap-delineator/index';
-@import 'snaps/snap-settings-card/index';
+@import 'snaps/snap-list-item/index';
@import 'snaps/copyable/index';
@import 'snaps/snap-version/index';
@import 'gas-details-item/index';
diff --git a/ui/components/app/snaps/snap-list-item/index.js b/ui/components/app/snaps/snap-list-item/index.js
new file mode 100644
index 000000000000..8ed864927c75
--- /dev/null
+++ b/ui/components/app/snaps/snap-list-item/index.js
@@ -0,0 +1 @@
+export { default } from './snap-list-item';
diff --git a/ui/components/app/snaps/snap-list-item/index.scss b/ui/components/app/snaps/snap-list-item/index.scss
new file mode 100644
index 000000000000..4455e3dc07d7
--- /dev/null
+++ b/ui/components/app/snaps/snap-list-item/index.scss
@@ -0,0 +1,7 @@
+.snap-list-item {
+ cursor: pointer;
+
+ &:hover {
+ background: var(--color-background-default-hover);
+ }
+}
diff --git a/ui/components/app/snaps/snap-settings-card/snap-settings-card.js b/ui/components/app/snaps/snap-list-item/snap-list-item.js
similarity index 67%
rename from ui/components/app/snaps/snap-settings-card/snap-settings-card.js
rename to ui/components/app/snaps/snap-list-item/snap-list-item.js
index fc0a1a1f7929..12c1c0e42dff 100644
--- a/ui/components/app/snaps/snap-settings-card/snap-settings-card.js
+++ b/ui/components/app/snaps/snap-list-item/snap-list-item.js
@@ -7,50 +7,43 @@ import {
JustifyContent,
Display,
BlockSize,
- IconColor,
TextVariant,
} from '../../../../helpers/constants/design-system';
-import {
- Icon,
- IconName,
- IconSize,
- Text,
- Box,
-} from '../../../component-library';
+import { Text, Box } from '../../../component-library';
import SnapAvatar from '../snap-avatar';
-const SnapSettingsCard = ({ name, packageName, onClick, snapId }) => {
+const SnapListItem = ({ name, packageName, onClick, snapId }) => {
return (
{name}
@@ -58,18 +51,11 @@ const SnapSettingsCard = ({ name, packageName, onClick, snapId }) => {
-
-
-
);
};
-SnapSettingsCard.propTypes = {
+SnapListItem.propTypes = {
/**
* Name of the snap
*/
@@ -87,4 +73,4 @@ SnapSettingsCard.propTypes = {
*/
snapId: PropTypes.string.isRequired,
};
-export default SnapSettingsCard;
+export default SnapListItem;
diff --git a/ui/components/app/snaps/snap-settings-card/snap-settings-card.stories.js b/ui/components/app/snaps/snap-list-item/snap-list-item.stories.js
similarity index 68%
rename from ui/components/app/snaps/snap-settings-card/snap-settings-card.stories.js
rename to ui/components/app/snaps/snap-list-item/snap-list-item.stories.js
index 484deb152894..2b77af25a323 100644
--- a/ui/components/app/snaps/snap-settings-card/snap-settings-card.stories.js
+++ b/ui/components/app/snaps/snap-list-item/snap-list-item.stories.js
@@ -1,9 +1,9 @@
import React from 'react';
-import SnapSettingsCard from '.';
+import SnapListItem from '.';
export default {
- title: 'Components/App/Snaps/SnapSettingsCard',
- component: SnapSettingsCard,
+ title: 'Components/App/Snaps/SnapListItem',
+ component: SnapListItem,
argTypes: {
name: {
control: 'text',
@@ -25,6 +25,6 @@ export default {
},
};
-export const DefaultStory = (args) => ;
+export const DefaultStory = (args) => ;
DefaultStory.storyName = 'Default';
diff --git a/ui/components/app/snaps/snap-settings-card/snap-settings-card.test.js b/ui/components/app/snaps/snap-list-item/snap-list-item.test.js
similarity index 82%
rename from ui/components/app/snaps/snap-settings-card/snap-settings-card.test.js
rename to ui/components/app/snaps/snap-list-item/snap-list-item.test.js
index cbdfe98927ad..d818b0c3f80f 100644
--- a/ui/components/app/snaps/snap-settings-card/snap-settings-card.test.js
+++ b/ui/components/app/snaps/snap-list-item/snap-list-item.test.js
@@ -4,9 +4,9 @@ import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import { renderWithProvider } from '../../../../../test/lib/render-helpers';
import mockState from '../../../../../test/data/mock-state.json';
-import SnapSettingsCard from '.';
+import SnapListItem from '.';
-describe('SnapSettingsCard', () => {
+describe('SnapListItem', () => {
const args = {
name: 'Snap name',
packageName: '@metamask/test-snap-bip44',
@@ -15,9 +15,9 @@ describe('SnapSettingsCard', () => {
};
const mockStore = configureMockStore([thunk])(mockState);
- it('should render the SnapsSettingCard without crashing', () => {
+ it('should render the SnapListItem without crashing', () => {
const { getByText } = renderWithProvider(
- ,
+ ,
mockStore,
);
expect(getByText('Snap name')).toBeDefined();
@@ -25,7 +25,7 @@ describe('SnapSettingsCard', () => {
it('should render the icon fallback using the first letter of the name', async () => {
const { getByText } = renderWithProvider(
- ,
+ ,
mockStore,
);
@@ -38,7 +38,7 @@ describe('SnapSettingsCard', () => {
it('should render the package name', () => {
const { getByText } = renderWithProvider(
- ,
+ ,
mockStore,
);
expect(getByText('@metamask/test-snap-bip44')).toBeDefined();
diff --git a/ui/components/app/snaps/snap-settings-card/index.js b/ui/components/app/snaps/snap-settings-card/index.js
deleted file mode 100644
index e3a7f5872eea..000000000000
--- a/ui/components/app/snaps/snap-settings-card/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './snap-settings-card';
diff --git a/ui/components/app/snaps/snap-settings-card/index.scss b/ui/components/app/snaps/snap-settings-card/index.scss
deleted file mode 100644
index 8bb75cd2db5a..000000000000
--- a/ui/components/app/snaps/snap-settings-card/index.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-.snap-settings-card {
- &__inner-wrapper {
- cursor: pointer;
- }
-
- &__caret {
- cursor: pointer;
- }
-}
diff --git a/ui/components/multichain/global-menu/global-menu.js b/ui/components/multichain/global-menu/global-menu.js
index c2312a4f3b8d..871c0088217b 100644
--- a/ui/components/multichain/global-menu/global-menu.js
+++ b/ui/components/multichain/global-menu/global-menu.js
@@ -8,6 +8,7 @@ import {
DEFAULT_ROUTE,
///: BEGIN:ONLY_INCLUDE_IN(snaps)
NOTIFICATIONS_ROUTE,
+ SNAPS_ROUTE,
///: END:ONLY_INCLUDE_IN(snaps)
} from '../../../helpers/constants/routes';
import { lockMetamask } from '../../../store/actions';
@@ -218,6 +219,19 @@ export const GlobalMenu = ({ closeMenu, anchorElement }) => {
) : null
///: END:ONLY_INCLUDE_IN(snaps)
}
+ {
+ ///: BEGIN:ONLY_INCLUDE_IN(snaps)
+ {
+ history.push(SNAPS_ROUTE);
+ closeMenu();
+ }}
+ >
+ {t('snaps')}
+
+ ///: END:ONLY_INCLUDE_IN(snaps)
+ }
{
diff --git a/ui/helpers/constants/routes.ts b/ui/helpers/constants/routes.ts
index a415542d15aa..2a331fa8fe85 100644
--- a/ui/helpers/constants/routes.ts
+++ b/ui/helpers/constants/routes.ts
@@ -14,8 +14,6 @@ const NETWORKS_FORM_ROUTE = '/settings/networks/form';
const ADD_NETWORK_ROUTE = '/settings/networks/add-network';
const ADD_POPULAR_CUSTOM_NETWORK =
'/settings/networks/add-popular-custom-network';
-const SNAPS_LIST_ROUTE = '/settings/snaps-list';
-const SNAPS_VIEW_ROUTE = '/settings/snaps-view';
const CONTACT_LIST_ROUTE = '/settings/contact-list';
const CONTACT_EDIT_ROUTE = '/settings/contact-list/edit-contact';
const CONTACT_ADD_ROUTE = '/settings/contact-list/add-contact';
@@ -47,6 +45,8 @@ const CONNECT_SNAP_INSTALL_ROUTE = '/snap-install';
const CONNECT_SNAP_UPDATE_ROUTE = '/snap-update';
const CONNECT_SNAP_RESULT_ROUTE = '/snap-install-result';
const NOTIFICATIONS_ROUTE = '/notifications';
+const SNAPS_ROUTE = '/snaps';
+const SNAPS_VIEW_ROUTE = '/snaps/view';
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
const ADD_SNAP_ACCOUNT_ROUTE = '/add-snap-account';
@@ -225,8 +225,6 @@ export {
SECURITY_ROUTE,
GENERAL_ROUTE,
ABOUT_US_ROUTE,
- SNAPS_LIST_ROUTE,
- SNAPS_VIEW_ROUTE,
CONTACT_LIST_ROUTE,
CONTACT_EDIT_ROUTE,
CONTACT_ADD_ROUTE,
@@ -250,6 +248,8 @@ export {
CONNECT_SNAP_UPDATE_ROUTE,
CONNECT_SNAP_RESULT_ROUTE,
NOTIFICATIONS_ROUTE,
+ SNAPS_ROUTE,
+ SNAPS_VIEW_ROUTE,
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
ADD_SNAP_ACCOUNT_ROUTE,
diff --git a/ui/helpers/constants/settings.js b/ui/helpers/constants/settings.js
index 23af83fbd845..177f5cc30426 100644
--- a/ui/helpers/constants/settings.js
+++ b/ui/helpers/constants/settings.js
@@ -8,9 +8,6 @@ import {
NETWORKS_ROUTE,
CONTACT_LIST_ROUTE,
EXPERIMENTAL_ROUTE,
- ///: BEGIN:ONLY_INCLUDE_IN(snaps)
- SNAPS_LIST_ROUTE,
- ///: END:ONLY_INCLUDE_IN
} from './routes';
export const SETTINGS_CONSTANTS = [
@@ -133,15 +130,6 @@ export const SETTINGS_CONSTANTS = [
route: CONTACT_LIST_ROUTE,
iconName: IconName.Book,
},
- ///: BEGIN:ONLY_INCLUDE_IN(snaps)
- {
- tabMessage: (t) => t('snaps'),
- sectionMessage: (t) => t('snaps'),
- descriptionMessage: (t) => t('snaps'),
- route: SNAPS_LIST_ROUTE,
- iconName: IconName.Snaps,
- },
- ///: END:ONLY_INCLUDE_IN
{
tabMessage: (t) => t('securityAndPrivacy'),
sectionMessage: (t) => t('revealSeedWords'),
diff --git a/ui/pages/pages.scss b/ui/pages/pages.scss
index 96f1f29c8861..d8defb715b50 100644
--- a/ui/pages/pages.scss
+++ b/ui/pages/pages.scss
@@ -28,6 +28,8 @@
@import 'permissions-connect/index';
@import 'send/send';
@import 'settings/index';
+@import 'snaps/snaps-list/index';
+@import 'snaps/snap-view/index';
@import 'swaps/index';
@import 'token-allowance/index';
@import 'token-details/index';
diff --git a/ui/pages/routes/routes.component.js b/ui/pages/routes/routes.component.js
index c5ad827a1ab2..4ba336cd0cce 100644
--- a/ui/pages/routes/routes.component.js
+++ b/ui/pages/routes/routes.component.js
@@ -44,6 +44,8 @@ import OnboardingAppHeader from '../onboarding-flow/onboarding-app-header/onboar
import TokenDetailsPage from '../token-details';
///: BEGIN:ONLY_INCLUDE_IN(snaps)
import Notifications from '../notifications';
+import SnapList from '../snaps/snaps-list';
+import SnapView from '../snaps/snap-view';
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
import AddSnapAccountPage from '../keyring-snaps/add-snap-account';
@@ -91,6 +93,8 @@ import {
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(snaps)
NOTIFICATIONS_ROUTE,
+ SNAPS_ROUTE,
+ SNAPS_VIEW_ROUTE,
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(keyring-snaps)
ADD_SNAP_ACCOUNT_ROUTE,
@@ -279,6 +283,16 @@ export default class Routes extends Component {
///: END:ONLY_INCLUDE_IN
}
+ {
+ ///: BEGIN:ONLY_INCLUDE_IN(snaps)
+
+ ///: END:ONLY_INCLUDE_IN
+ }
+ {
+ ///: BEGIN:ONLY_INCLUDE_IN(snaps)
+
+ ///: END:ONLY_INCLUDE_IN
+ }
- {isSnapViewPage ? null : this.renderSubHeader()}
+ {this.renderSubHeader()}
{this.renderContent()}
@@ -216,12 +206,9 @@ class SettingsPage extends PureComponent {
renderTitle() {
const { t } = this.context;
- const { isPopup, pathnameI18nKey, addressName, isSnapViewPage } =
- this.props;
+ const { isPopup, pathnameI18nKey, addressName } = this.props;
let titleText;
- if (isSnapViewPage) {
- titleText = t('snaps');
- } else if (isPopup && addressName) {
+ if (isPopup && addressName) {
titleText = t('details');
} else if (pathnameI18nKey && isPopup) {
titleText = t(pathnameI18nKey);
@@ -320,15 +307,6 @@ class SettingsPage extends PureComponent {
icon:
,
key: CONTACT_LIST_ROUTE,
},
- ///: BEGIN:ONLY_INCLUDE_IN(snaps)
- {
- content: t('snaps'),
- icon: (
-
- ),
- key: SNAPS_LIST_ROUTE,
- },
- ///: END:ONLY_INCLUDE_IN
{
content: t('securityAndPrivacy'),
icon:
,
@@ -421,16 +399,6 @@ class SettingsPage extends PureComponent {
path={`${CONTACT_VIEW_ROUTE}/:id`}
component={ContactListTab}
/>
- {
- ///: BEGIN:ONLY_INCLUDE_IN(snaps)
-
- ///: END:ONLY_INCLUDE_IN
- }
- {
- ///: BEGIN:ONLY_INCLUDE_IN(snaps)
-