Skip to content

Commit f771ea9

Browse files
committed
fix: discard duplicate accounts on unlock
1 parent 23c585a commit f771ea9

File tree

42 files changed

+299
-434
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+299
-434
lines changed

app/components/UI/AccountApproval/index.test.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@ jest.mock('../../../core/Engine', () => {
3131
keyrings: [
3232
{
3333
accounts: ['0xC4966c0D659D99699BFD7EB54D8fafEE40e4a756'],
34-
},
35-
],
36-
keyringsMetadata: [
37-
{
38-
id: '01JNG71B7GTWH0J1TSJY9891S0',
39-
name: '',
34+
metadata: {
35+
id: '01JNG71B7GTWH0J1TSJY9891S0',
36+
name: '',
37+
},
4038
},
4139
],
4240
},

app/components/UI/AccountFromToInfoCard/AccountFromToInfoCard.test.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,10 @@ jest.mock('../../../core/Engine', () => {
8686
'0x519d2CE57898513F676a5C3b66496c3C394c9CC7',
8787
'0x07Be9763a718C0539017E2Ab6fC42853b4aEeb6B',
8888
],
89-
},
90-
],
91-
keyringsMetadata: [
92-
{
93-
id: '01JNG71B7GTWH0J1TSJY9891S0',
94-
name: '',
89+
metadata: {
90+
id: '01JNG71B7GTWH0J1TSJY9891S0',
91+
name: '',
92+
},
9593
},
9694
],
9795
},

app/components/UI/AccountOverview/index.test.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,10 @@ jest.mock('../../../core/Engine', () => {
2727
accounts: ['0xC4955C0d639D99699Bfd7Ec54d9FaFEe40e4D272'],
2828
index: 0,
2929
type: KeyringTypes.hd,
30-
},
31-
],
32-
keyringsMetadata: [
33-
{
34-
id: '01JNG71B7GTWH0J1TSJY9891S0',
35-
name: '',
30+
metadata: {
31+
id: '01JNG71B7GTWH0J1TSJY9891S0',
32+
name: '',
33+
},
3634
},
3735
],
3836
},

app/components/UI/Bridge/_mocks_/initialState.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,13 +395,20 @@ export const initialState = {
395395
{
396396
accounts: [evmAccountAddress],
397397
type: 'HD Key Tree',
398+
metadata: {
399+
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
400+
name: '',
401+
},
398402
},
399403
{
400404
accounts: [solanaAccountAddress],
401405
type: 'Snap Keyring',
406+
metadata: {
407+
id: '01JKZ56KRVYEEHC601HSNW28T2',
408+
name: '',
409+
},
402410
},
403411
],
404-
keyringsMetadata: [],
405412
encryptionKey: '',
406413
encryptionSalt: '',
407414
},

app/components/UI/Bridge/components/DestinationAccountSelector.tsx/DestinationAccountSelector.test.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@ jest.mock('../../../../../core/Engine', () => {
3636
'4vJ9JU1bJJE96FWSJKvHsmmFADCg4gpZQff4P3bkLKi',
3737
'5vJ9JU1bJJE96FWSJKvHsmmFADCg4gpZQff4P3bkLKi',
3838
],
39-
},
40-
],
41-
keyringsMetadata: [
42-
{
43-
id: '01JNG71B7GTWH0J1TSJY9891S0',
44-
name: '',
39+
metadata: {
40+
id: '01JNG71B7GTWH0J1TSJY9891S0',
41+
name: '',
42+
},
4543
},
4644
],
4745
},

app/components/UI/SRPList/SRPList.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,14 @@ const initialState = {
4848
{
4949
type: ExtendedKeyringTypes.hd,
5050
accounts: [internalAccount1.address],
51+
metadata: mockKeyringMetadata1,
5152
},
5253
{
5354
type: ExtendedKeyringTypes.simple,
5455
accounts: [internalAccount2.address],
56+
metadata: mockKeyringMetadata2,
5557
},
5658
],
57-
keyringsMetadata: [mockKeyringMetadata1, mockKeyringMetadata2],
5859
},
5960
},
6061
},

app/components/UI/SRPListItem/SRPListItem.test.tsx

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,21 @@ jest.mock('../../../core/Engine', () => {
2828
});
2929

3030
const mockKeyringName1 = 'Secret Recovery Phrase 1';
31-
const mockKeyringMetadata1 = {
32-
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
33-
name: '',
34-
};
35-
const mockKeyringMetadata2 = {
36-
id: '01JKZ56KRVYEEHC601HSNW28T2',
37-
name: '',
38-
};
3931
const mockKeyring1 = {
4032
type: ExtendedKeyringTypes.hd,
4133
accounts: [internalAccount1.address],
42-
metadata: mockKeyringMetadata1,
34+
metadata: {
35+
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
36+
name: '',
37+
},
4338
};
4439
const mockKeyring2 = {
4540
type: ExtendedKeyringTypes.simple,
4641
accounts: [internalAccount2.address],
47-
metadata: mockKeyringMetadata2,
42+
metadata: {
43+
id: '01JKZ56KRVYEEHC601HSNW28T2',
44+
name: '',
45+
},
4846
};
4947

5048
const initialState = {
@@ -55,7 +53,6 @@ const initialState = {
5553
AccountsController: MOCK_ACCOUNTS_CONTROLLER_STATE,
5654
KeyringController: {
5755
keyrings: [mockKeyring1, mockKeyring2],
58-
keyringsMetadata: [mockKeyringMetadata1, mockKeyringMetadata2],
5956
},
6057
},
6158
},
@@ -122,7 +119,7 @@ describe('SRPList', () => {
122119

123120
fireEvent.press(srpItem);
124121

125-
expect(mockOnKeyringSelect).toHaveBeenCalledWith(mockKeyringMetadata1.id);
122+
expect(mockOnKeyringSelect).toHaveBeenCalledWith(mockKeyring1.metadata.id);
126123
});
127124

128125
it('displays accounts when toggle is clicked', () => {

app/components/Views/AccountConnect/AccountConnect.test.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jest.mock('../../../core/Engine', () => {
7777
}),
7878
scanUrl: jest.fn((domainName: string) => ({
7979
domainName,
80-
recommendedAction: 'NONE'
80+
recommendedAction: 'NONE',
8181
})),
8282
},
8383
PermissionController: {
@@ -92,12 +92,10 @@ jest.mock('../../../core/Engine', () => {
9292
{
9393
type: KeyringTypes.hd,
9494
accounts: [MOCK_ADDRESS_1, MOCK_ADDRESS_2],
95-
},
96-
],
97-
keyringsMetadata: [
98-
{
99-
id: '01JNG71B7GTWH0J1TSJY9891S0',
100-
name: '',
95+
metadata: {
96+
id: '01JNG71B7GTWH0J1TSJY9891S0',
97+
name: '',
98+
},
10199
},
102100
],
103101
},

app/components/Views/AddAccountActions/AddAccountActions.test.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,10 @@ describe('AddAccountActions', () => {
253253
const mockSecondHdKeyring = {
254254
type: KeyringTypes.hd,
255255
accounts: [],
256-
};
257-
const mockSecondHdKeyringMetadata = {
258-
id: '',
259-
name: '',
256+
metadata: {
257+
id: '',
258+
name: '',
259+
},
260260
};
261261

262262
const stateWithMultipleHdKeyrings = {
@@ -281,10 +281,6 @@ describe('AddAccountActions', () => {
281281
...MOCK_KEYRING_CONTROLLER.keyrings,
282282
mockSecondHdKeyring,
283283
],
284-
keyringsMetadata: [
285-
...MOCK_KEYRING_CONTROLLER.keyringsMetadata,
286-
mockSecondHdKeyringMetadata,
287-
],
288284
},
289285
},
290286
},

app/components/Views/AddNewAccount/AddNewAccount.test.tsx

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -77,26 +77,22 @@ jest.mock('../../../util/Logger', () => ({
7777
error: jest.fn(),
7878
}));
7979

80-
const mockKeyringMetadata1 = {
81-
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
82-
name: '',
83-
};
84-
85-
const mockKeyringMetadata2 = {
86-
id: '01JKZ56KRVYEEHC601HSNW28T2',
87-
name: '',
88-
};
89-
9080
const mockKeyring1 = {
9181
type: ExtendedKeyringTypes.hd,
9282
accounts: [internalAccount1.address],
93-
metadata: mockKeyringMetadata1,
83+
metadata: {
84+
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
85+
name: '',
86+
},
9487
};
9588

9689
const mockKeyring2 = {
9790
type: ExtendedKeyringTypes.hd,
9891
accounts: [internalAccount2.address],
99-
metadata: mockKeyringMetadata2,
92+
metadata: {
93+
id: '01JKZ56KRVYEEHC601HSNW28T2',
94+
name: '',
95+
},
10096
};
10197

10298
const mockNextAccountName = 'Account 3';
@@ -108,7 +104,6 @@ const initialState = {
108104
AccountsController: MOCK_ACCOUNTS_CONTROLLER_STATE,
109105
KeyringController: {
110106
keyrings: [mockKeyring1, mockKeyring2],
111-
keyringsMetadata: [mockKeyringMetadata1, mockKeyringMetadata2],
112107
},
113108
},
114109
},
@@ -213,7 +208,7 @@ describe('AddNewAccount', () => {
213208
fireEvent.press(addButton);
214209

215210
expect(mockAddNewHdAccount).toHaveBeenCalledWith(
216-
mockKeyringMetadata2.id,
211+
mockKeyring2.metadata.id,
217212
mockNextAccountName,
218213
);
219214
});
@@ -228,7 +223,7 @@ describe('AddNewAccount', () => {
228223
fireEvent.press(addButton);
229224

230225
expect(mockAddNewHdAccount).toHaveBeenCalledWith(
231-
mockKeyringMetadata2.id,
226+
mockKeyring2.metadata.id,
232227
'My Custom Account',
233228
);
234229
});
@@ -330,7 +325,7 @@ describe('AddNewAccount', () => {
330325
).toHaveBeenCalledWith({
331326
scope: MultichainNetwork.Solana,
332327
accountNameSuggestion: 'Solana Account 1',
333-
entropySource: mockKeyringMetadata2.id,
328+
entropySource: mockKeyring2.metadata.id,
334329
});
335330
});
336331
});

app/components/Views/ImportNewSecretRecoveryPhrase/index.test.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,13 @@ const initialState = {
5252
engine: {
5353
backgroundState: {
5454
KeyringController: {
55-
keyrings: [{ type: KeyringTypes.hd, accounts: MOCK_HD_ACCOUNTS }],
56-
keyringsMetadata: [MOCK_HD_KEYRING_METADATA],
55+
keyrings: [
56+
{
57+
type: KeyringTypes.hd,
58+
accounts: MOCK_HD_ACCOUNTS,
59+
metadata: MOCK_HD_KEYRING_METADATA,
60+
},
61+
],
5762
},
5863
},
5964
},

app/components/Views/SelectSRP/SelectSRP.test.tsx

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,22 @@ jest.mock('@react-navigation/native', () => {
2727
};
2828
});
2929

30-
const mockKeyringMetadata1 = {
31-
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
32-
name: '',
33-
};
34-
35-
const mockKeyringMetadata2 = {
36-
id: '01JKZ56KRVYEEHC601HSNW28T2',
37-
name: '',
38-
};
39-
4030
const mockKeyring1 = {
4131
type: ExtendedKeyringTypes.hd,
4232
accounts: [internalAccount1.address],
43-
metadata: mockKeyringMetadata1,
33+
metadata: {
34+
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
35+
name: '',
36+
},
4437
};
4538

4639
const mockKeyring2 = {
4740
type: ExtendedKeyringTypes.hd,
4841
accounts: [internalAccount2.address],
49-
metadata: mockKeyringMetadata2,
42+
metadata: {
43+
id: '01JKZ56KRVYEEHC601HSNW28T2',
44+
name: '',
45+
},
5046
};
5147

5248
const initialState = {
@@ -56,7 +52,6 @@ const initialState = {
5652
AccountsController: MOCK_ACCOUNTS_CONTROLLER_STATE,
5753
KeyringController: {
5854
keyrings: [mockKeyring1, mockKeyring2],
59-
keyringsMetadata: [mockKeyringMetadata1, mockKeyringMetadata2],
6055
},
6156
},
6257
},

app/components/Views/Settings/SecuritySettings/Sections/ProtectYourWallet/ProtectYourWallet.test.tsx

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -209,26 +209,22 @@ describe('ProtectYourWallet', () => {
209209
);
210210
});
211211
it('opens opens SrpList if there are multiple HD keyrings', async () => {
212-
const mockKeyringMetadata1 = {
213-
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
214-
name: '',
215-
};
216-
217-
const mockKeyringMetadata2 = {
218-
id: '01JKZ56KRVYEEHC601HSNW28T2',
219-
name: '',
220-
};
221-
222212
const mockKeyring1 = {
223213
type: KeyringTypes.hd,
224214
accounts: [internalAccount1.address],
225-
metadata: mockKeyringMetadata1,
215+
metadata: {
216+
id: '01JKZ55Y6KPCYH08M6B9VSZWKW',
217+
name: '',
218+
},
226219
};
227220

228221
const mockKeyring2 = {
229222
type: KeyringTypes.hd,
230223
accounts: [internalAccount2.address],
231-
metadata: mockKeyringMetadata2,
224+
metadata: {
225+
id: '01JKZ56KRVYEEHC601HSNW28T2',
226+
name: '',
227+
},
232228
};
233229

234230
const stateWithMultipleHdKeyrings = {
@@ -238,7 +234,6 @@ describe('ProtectYourWallet', () => {
238234
AccountsController: MOCK_ACCOUNTS_CONTROLLER_STATE,
239235
KeyringController: {
240236
keyrings: [mockKeyring1, mockKeyring2],
241-
keyringsMetadata: [mockKeyringMetadata1, mockKeyringMetadata2],
242237
},
243238
},
244239
},

app/components/Views/Wallet/index.test.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,10 @@ jest.mock('../../../core/Engine', () => {
6868
{
6969
accounts: ['0xC4955C0d639D99699Bfd7Ec54d9FaFEe40e4D272'],
7070
type: KeyringTypes.hd,
71-
},
72-
],
73-
keyringsMetadata: [
74-
{
75-
id: '01JNG71B7GTWH0J1TSJY9891S0',
76-
name: '',
71+
metadata: {
72+
id: '01JNG71B7GTWH0J1TSJY9891S0',
73+
name: '',
74+
},
7775
},
7876
],
7977
},

0 commit comments

Comments
 (0)