Skip to content

Commit 7fc7f77

Browse files
committed
Merge branch 'master' into v11.12.0-fix
2 parents 9faeede + a70a36f commit 7fc7f77

File tree

28 files changed

+296
-47
lines changed

28 files changed

+296
-47
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4495,6 +4495,7 @@ Update styles and spacing on the critical error page ([#20350](https://github.c
44954495
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.12.0...HEAD
44964496
[11.12.0]: https://github.com/MetaMask/metamask-extension/compare/v11.10.0...v11.12.0
44974497
[11.12.0]: https://github.com/MetaMask/metamask-extension/compare/v11.11.4...v11.12.0
4498+
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.11.4...HEAD
44984499
[11.11.4]: https://github.com/MetaMask/metamask-extension/compare/v11.11.3...v11.11.4
44994500
[11.11.3]: https://github.com/MetaMask/metamask-extension/compare/v11.11.2...v11.11.3
45004501
[11.11.2]: https://github.com/MetaMask/metamask-extension/compare/v11.11.1...v11.11.2
45.7 KB
Loading

app/images/velas.svg

Lines changed: 1 addition & 0 deletions
Loading

app/scripts/constants/contracts.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ export const SINGLE_CALL_BALANCES_ADDRESSES = {
1111
[CHAIN_IDS.AVALANCHE]: '0xD023D153a0DFa485130ECFdE2FAA7e612EF94818',
1212
[CHAIN_IDS.FANTOM]: '0x07f697424ABe762bB808c109860c04eA488ff92B',
1313
[CHAIN_IDS.ARBITRUM]: '0x151E24A486D7258dd7C33Fb67E4bB01919B7B32c',
14+
[CHAIN_IDS.BLAST]: '0xfd5730e96f9dffae40d99b77015bd42816280998',
1415
};

app/scripts/migrations/105.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ import { migrate } from './105';
66
const MOCK_ADDRESS = '0x0';
77
const MOCK_ADDRESS_2 = '0x1';
88

9+
const sentryCaptureExceptionMock = jest.fn();
10+
11+
global.sentry = {
12+
startSession: jest.fn(),
13+
endSession: jest.fn(),
14+
toggleSession: jest.fn(),
15+
captureException: sentryCaptureExceptionMock,
16+
};
17+
918
function addressToUUID(address: string): string {
1019
return uuid({
1120
random: sha256FromString(address).slice(0, 16),
@@ -257,5 +266,24 @@ describe('migration #105', () => {
257266
},
258267
});
259268
});
269+
270+
it('captures an exception if the selectedAddress state is invalid', async () => {
271+
const oldData = {
272+
PreferencesController: {
273+
identities: {},
274+
selectedAddress: undefined,
275+
},
276+
};
277+
const oldStorage = {
278+
meta: { version: 103 },
279+
data: oldData,
280+
};
281+
await migrate(oldStorage);
282+
283+
expect(sentryCaptureExceptionMock).toHaveBeenCalledTimes(1);
284+
expect(sentryCaptureExceptionMock).toHaveBeenCalledWith(
285+
new Error(`state.PreferencesController?.selectedAddress is undefined`),
286+
);
287+
});
260288
});
261289
});

app/scripts/migrations/105.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ function createSelectedAccountForAccountsController(
102102
) {
103103
const selectedAddress = state.PreferencesController?.selectedAddress;
104104

105+
if (typeof selectedAddress !== 'string') {
106+
global.sentry?.captureException?.(
107+
new Error(
108+
`state.PreferencesController?.selectedAddress is ${selectedAddress}`,
109+
),
110+
);
111+
}
112+
105113
const selectedAccount = Object.values<InternalAccount>(
106114
state.AccountsController.internalAccounts.accounts,
107115
).find((account: InternalAccount) => {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
},
225225
"dependencies": {
226226
"@babel/runtime": "^7.23.2",
227-
"@blockaid/ppom_release": "^1.4.1",
227+
"@blockaid/ppom_release": "^1.4.4",
228228
"@ensdomains/content-hash": "^2.5.7",
229229
"@ethereumjs/common": "^3.1.1",
230230
"@ethereumjs/tx": "^4.1.1",
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { Hex } from '@metamask/utils';
2+
import { CHAIN_IDS } from './network';
3+
4+
/**
5+
* A map of first-party contract names to their addresses on various chains.
6+
*/
7+
export const FIRST_PARTY_CONTRACT_NAMES: Record<string, Record<Hex, Hex>> = {
8+
'MetaMask Validator Staking': {
9+
[CHAIN_IDS.MAINNET]: '0xDc71aFFC862fceB6aD32BE58E098423A7727bEbd',
10+
},
11+
'MetaMask Pool Staking': {
12+
[CHAIN_IDS.MAINNET]: '0x1f6692E78dDE07FF8da75769B6d7c716215bC7D0',
13+
},
14+
'MetaMask Pool Staking (v1)': {
15+
[CHAIN_IDS.MAINNET]: '0xc7bE520a13dC023A1b34C03F4Abdab8A43653F7B',
16+
},
17+
'MetaMask Bridge': {
18+
[CHAIN_IDS.MAINNET]: '0x0439e60F02a8900a951603950d8D4527f400C3f1',
19+
[CHAIN_IDS.OPTIMISM]: '0xB90357f2b86dbfD59c3502215d4060f71DF8ca0e',
20+
[CHAIN_IDS.BSC]: '0xaEc23140408534b378bf5832defc426dF8604B59',
21+
[CHAIN_IDS.POLYGON]: '0x3A0b42cE6166abB05d30DdF12E726c95a83D7a16',
22+
[CHAIN_IDS.ZKSYNC_ERA]: '0x357B5935482AD8a4A2e181e0132aBd1882E16520',
23+
[CHAIN_IDS.BASE]: '0xa20ECbC821fB54064aa7B5C6aC81173b8b34Df71',
24+
[CHAIN_IDS.ARBITRUM]: '0x23981fC34e69eeDFE2BD9a0a9fCb0719Fe09DbFC',
25+
[CHAIN_IDS.AVALANCHE]: '0x29106d08382d3c73bF477A94333C61Db1142E1B6',
26+
[CHAIN_IDS.LINEA_MAINNET]: '0xE3d0d2607182Af5B24f5C3C2E4990A053aDd64e3',
27+
},
28+
'MetaMask Swaps': {
29+
[CHAIN_IDS.MAINNET]: '0x881D40237659C251811CEC9c364ef91dC08D300C',
30+
[CHAIN_IDS.BSC]: '0x1a1ec25DC08e98e5E93F1104B5e5cdD298707d31',
31+
[CHAIN_IDS.POLYGON]: '0x1a1ec25DC08e98e5E93F1104B5e5cdD298707d31',
32+
[CHAIN_IDS.AVALANCHE]: '0x1a1ec25DC08e98e5E93F1104B5e5cdD298707d31',
33+
[CHAIN_IDS.ARBITRUM]: '0x9dDA6Ef3D919c9bC8885D5560999A3640431e8e6',
34+
[CHAIN_IDS.OPTIMISM]: '0x9dDA6Ef3D919c9bC8885D5560999A3640431e8e6',
35+
[CHAIN_IDS.ZKSYNC_ERA]: '0xf504c1fe13d14DF615E66dcd0ABF39e60c697f34',
36+
[CHAIN_IDS.LINEA_MAINNET]: '0x9dDA6Ef3D919c9bC8885D5560999A3640431e8e6',
37+
},
38+
};

shared/constants/network.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { existsSync } from 'fs';
2+
import { join } from 'path';
3+
import { CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP } from './network';
4+
5+
describe('NetworkConstants', () => {
6+
it('has images files that exist for defined networks', () => {
7+
Object.values(CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP).forEach((image) =>
8+
expect(existsSync(join('app', image))).toBe(true),
9+
);
10+
});
11+
});

shared/constants/network.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ export const CHAIN_IDS = {
146146
ZKSYNC_ERA: '0x144',
147147
TEST_ETH: '0x539',
148148
ARBITRUM_GOERLI: '0x66eed',
149+
BLAST: '0x13e31',
149150
} as const;
150151

151152
const CHAINLIST_CHAIN_IDS_MAP = {
@@ -377,7 +378,7 @@ export const DEXALOT_SUBNET_IMAGE_URL = './images/dexalut-subnet.svg';
377378
export const DFK_CHAIN_IMAGE_URL = './images/dfk.png';
378379
export const DOGECHAIN_IMAGE_URL = './images/dogechain.jpeg';
379380
export const ENDURANCE_SMART_CHAIN_MAINNET_IMAGE_URL =
380-
'./images/endurance-smart-chain.png';
381+
'./images/endurance-smart-chain-mainnet.png';
381382
export const ETHEREUM_CLASSIC_MAINNET_IMAGE_URL = './images/eth_classic.svg';
382383
export const EVMOS_IMAGE_URL = './images/evmos.svg';
383384
export const FLARE_MAINNET_IMAGE_URL = './images/flare-mainnet.svg';
@@ -402,11 +403,11 @@ export const SHARDEUM_LIBERTY_2X_IMAGE_URL = './images/shardeum-2.svg';
402403
export const SHARDEUM_SPHINX_1X_IMAGE_URL = './images/shardeum-1.svg';
403404
export const SHIB_MAINNET_IMAGE_URL = './images/shiba.svg';
404405
export const SONGBIRD_MAINNET_IMAGE_URL = './images/songbird.svg';
405-
export const STEP_NETWORK_IMAGE_URL = './images/setp.svg';
406+
export const STEP_NETWORK_IMAGE_URL = './images/step.svg';
406407
export const TELOS_EVM_MAINNET_IMAGE_URL = './images/telos.svg';
407408
export const TENET_MAINNET_IMAGE_URL = './images/tenet.svg';
408409
export const VELAS_EVM_MAINNET_IMAGE_URL = './images/velas.svg';
409-
export const ZKATANA_MAINNET_IMAGE_URL = './images/zkatana.svg';
410+
export const ZKATANA_MAINNET_IMAGE_URL = './images/zkatana.png';
410411
export const ZORA_MAINNET_IMAGE_URL = './images/zora.svg';
411412

412413
export const INFURA_PROVIDER_TYPES = [
@@ -855,6 +856,7 @@ export const BUYABLE_CHAINS_MAP: {
855856
| typeof CHAIN_IDS.GNOSIS
856857
| typeof CHAIN_IDS.AURORA
857858
| typeof CHAIN_IDS.ARBITRUM_GOERLI
859+
| typeof CHAIN_IDS.BLAST
858860
>]: BuyableChainSettings;
859861
} = {
860862
[CHAIN_IDS.MAINNET]: {

0 commit comments

Comments
 (0)