@metamask-previews/account-tree-controller 7.4.0-preview-e43dfcb → 7.4.0-preview-c7c3c44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/rules/keyring.cjs +17 -0
- package/dist/rules/keyring.cjs.map +1 -1
- package/dist/rules/keyring.d.cts +3 -2
- package/dist/rules/keyring.d.cts.map +1 -1
- package/dist/rules/keyring.d.mts +3 -2
- package/dist/rules/keyring.d.mts.map +1 -1
- package/dist/rules/keyring.mjs +17 -0
- package/dist/rules/keyring.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/rules/keyring.cjs
CHANGED
|
@@ -4,6 +4,7 @@ exports.KeyringRule = exports.getAccountGroupPrefixFromKeyringType = exports.get
|
|
|
4
4
|
const account_api_1 = require("@metamask/account-api");
|
|
5
5
|
const account_api_2 = require("@metamask/account-api");
|
|
6
6
|
const account_api_3 = require("@metamask/account-api");
|
|
7
|
+
const v2_1 = require("@metamask/keyring-api/v2");
|
|
7
8
|
const keyring_controller_1 = require("@metamask/keyring-controller");
|
|
8
9
|
const rule_1 = require("../rule.cjs");
|
|
9
10
|
/**
|
|
@@ -14,29 +15,37 @@ const rule_1 = require("../rule.cjs");
|
|
|
14
15
|
*/
|
|
15
16
|
function getAccountWalletNameFromKeyringType(type) {
|
|
16
17
|
switch (type) {
|
|
18
|
+
case v2_1.KeyringType.PrivateKey:
|
|
17
19
|
case keyring_controller_1.KeyringTypes.simple: {
|
|
18
20
|
return 'Imported accounts';
|
|
19
21
|
}
|
|
22
|
+
case v2_1.KeyringType.Trezor:
|
|
20
23
|
case keyring_controller_1.KeyringTypes.trezor: {
|
|
21
24
|
return 'Trezor';
|
|
22
25
|
}
|
|
26
|
+
case v2_1.KeyringType.OneKey:
|
|
23
27
|
case keyring_controller_1.KeyringTypes.oneKey: {
|
|
24
28
|
return 'OneKey';
|
|
25
29
|
}
|
|
30
|
+
case v2_1.KeyringType.Ledger:
|
|
26
31
|
case keyring_controller_1.KeyringTypes.ledger: {
|
|
27
32
|
return 'Ledger';
|
|
28
33
|
}
|
|
34
|
+
case v2_1.KeyringType.Lattice:
|
|
29
35
|
case keyring_controller_1.KeyringTypes.lattice: {
|
|
30
36
|
return 'Lattice';
|
|
31
37
|
}
|
|
38
|
+
case v2_1.KeyringType.Qr:
|
|
32
39
|
case keyring_controller_1.KeyringTypes.qr: {
|
|
33
40
|
return 'QR';
|
|
34
41
|
}
|
|
35
42
|
// Those keyrings should never really be used in such context since they
|
|
36
43
|
// should be used by other grouping rules.
|
|
44
|
+
case v2_1.KeyringType.Hd:
|
|
37
45
|
case keyring_controller_1.KeyringTypes.hd: {
|
|
38
46
|
return 'HD Wallet';
|
|
39
47
|
}
|
|
48
|
+
case v2_1.KeyringType.Snap:
|
|
40
49
|
case keyring_controller_1.KeyringTypes.snap: {
|
|
41
50
|
return 'Snap Wallet';
|
|
42
51
|
}
|
|
@@ -55,29 +64,37 @@ exports.getAccountWalletNameFromKeyringType = getAccountWalletNameFromKeyringTyp
|
|
|
55
64
|
*/
|
|
56
65
|
function getAccountGroupPrefixFromKeyringType(type) {
|
|
57
66
|
switch (type) {
|
|
67
|
+
case v2_1.KeyringType.PrivateKey:
|
|
58
68
|
case keyring_controller_1.KeyringTypes.simple: {
|
|
59
69
|
return 'Imported Account';
|
|
60
70
|
}
|
|
71
|
+
case v2_1.KeyringType.Trezor:
|
|
61
72
|
case keyring_controller_1.KeyringTypes.trezor: {
|
|
62
73
|
return 'Trezor Account';
|
|
63
74
|
}
|
|
75
|
+
case v2_1.KeyringType.OneKey:
|
|
64
76
|
case keyring_controller_1.KeyringTypes.oneKey: {
|
|
65
77
|
return 'OneKey Account';
|
|
66
78
|
}
|
|
79
|
+
case v2_1.KeyringType.Ledger:
|
|
67
80
|
case keyring_controller_1.KeyringTypes.ledger: {
|
|
68
81
|
return 'Ledger Account';
|
|
69
82
|
}
|
|
83
|
+
case v2_1.KeyringType.Lattice:
|
|
70
84
|
case keyring_controller_1.KeyringTypes.lattice: {
|
|
71
85
|
return 'Lattice Account';
|
|
72
86
|
}
|
|
87
|
+
case v2_1.KeyringType.Qr:
|
|
73
88
|
case keyring_controller_1.KeyringTypes.qr: {
|
|
74
89
|
return 'QR Account';
|
|
75
90
|
}
|
|
76
91
|
// Those keyrings should never really be used in such context since they
|
|
77
92
|
// should be used by other grouping rules.
|
|
93
|
+
case v2_1.KeyringType.Hd:
|
|
78
94
|
case keyring_controller_1.KeyringTypes.hd: {
|
|
79
95
|
return 'Account';
|
|
80
96
|
}
|
|
97
|
+
case v2_1.KeyringType.Snap:
|
|
81
98
|
case keyring_controller_1.KeyringTypes.snap: {
|
|
82
99
|
return 'Snap Account';
|
|
83
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.cjs","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":";;;AAAA,uDAAyD;AACzD,uDAA0D;AAC1D,uDAA4E;AAC5E,qEAA4D;AAI5D,sCAAmC;AAInC;;;;;GAKG;AACH,SAAgB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"keyring.cjs","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccountGroupType } from '@metamask/account-api';\nimport { AccountWalletType } from '@metamask/account-api';\nimport { toAccountGroupId, toAccountWalletId } from '@metamask/account-api';\nimport { KeyringType } from '@metamask/keyring-api/v2';\nimport { KeyringTypes } from '@metamask/keyring-controller';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\n\nimport type { AccountGroupObjectOf } from '../group';\nimport { BaseRule } from '../rule';\nimport type { Rule, RuleResult } from '../rule';\nimport type { AccountWalletObjectOf } from '../wallet';\n\n/**\n * Get wallet name from a keyring type.\n *\n * @param type - Keyring's type.\n * @returns Wallet name.\n */\nexport function getAccountWalletNameFromKeyringType(\n type: KeyringTypes | KeyringType,\n): string {\n switch (type) {\n case KeyringType.PrivateKey:\n case KeyringTypes.simple: {\n return 'Imported accounts';\n }\n case KeyringType.Trezor:\n case KeyringTypes.trezor: {\n return 'Trezor';\n }\n case KeyringType.OneKey:\n case KeyringTypes.oneKey: {\n return 'OneKey';\n }\n case KeyringType.Ledger:\n case KeyringTypes.ledger: {\n return 'Ledger';\n }\n case KeyringType.Lattice:\n case KeyringTypes.lattice: {\n return 'Lattice';\n }\n case KeyringType.Qr:\n case KeyringTypes.qr: {\n return 'QR';\n }\n // Those keyrings should never really be used in such context since they\n // should be used by other grouping rules.\n case KeyringType.Hd:\n case KeyringTypes.hd: {\n return 'HD Wallet';\n }\n case KeyringType.Snap:\n case KeyringTypes.snap: {\n return 'Snap Wallet';\n }\n // ------------------------------------------------------------------------\n default: {\n return 'Unknown';\n }\n }\n}\n\n/**\n * Get group name prefix from a keyring type.\n *\n * @param type - Keyring's type.\n * @returns Wallet name.\n */\nexport function getAccountGroupPrefixFromKeyringType(\n type: KeyringTypes | KeyringType,\n): string {\n switch (type) {\n case KeyringType.PrivateKey:\n case KeyringTypes.simple: {\n return 'Imported Account';\n }\n case KeyringType.Trezor:\n case KeyringTypes.trezor: {\n return 'Trezor Account';\n }\n case KeyringType.OneKey:\n case KeyringTypes.oneKey: {\n return 'OneKey Account';\n }\n case KeyringType.Ledger:\n case KeyringTypes.ledger: {\n return 'Ledger Account';\n }\n case KeyringType.Lattice:\n case KeyringTypes.lattice: {\n return 'Lattice Account';\n }\n case KeyringType.Qr:\n case KeyringTypes.qr: {\n return 'QR Account';\n }\n // Those keyrings should never really be used in such context since they\n // should be used by other grouping rules.\n case KeyringType.Hd:\n case KeyringTypes.hd: {\n return 'Account';\n }\n case KeyringType.Snap:\n case KeyringTypes.snap: {\n return 'Snap Account';\n }\n // ------------------------------------------------------------------------\n default: {\n return 'Unknown Account';\n }\n }\n}\n\nexport class KeyringRule\n extends BaseRule\n implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount>\n{\n readonly walletType = AccountWalletType.Keyring;\n\n readonly groupType = AccountGroupType.SingleAccount;\n\n match(\n account: InternalAccount,\n // No `| undefined` return type for this rule, as it cannot fail.\n ): RuleResult<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {\n // We assume that `type` is really a `KeyringTypes`.\n const keyringType = account.metadata.keyring.type as KeyringTypes;\n\n const walletId = toAccountWalletId(this.walletType, keyringType);\n const groupId = toAccountGroupId(walletId, account.address);\n\n return {\n wallet: {\n type: this.walletType,\n id: walletId,\n metadata: {\n keyring: {\n type: keyringType,\n },\n },\n },\n\n group: {\n type: this.groupType,\n id: groupId,\n metadata: {\n pinned: false,\n hidden: false,\n lastSelected: 0,\n },\n },\n };\n }\n\n getDefaultAccountWalletName(\n wallet: AccountWalletObjectOf<AccountWalletType.Keyring>,\n ): string {\n return getAccountWalletNameFromKeyringType(wallet.metadata.keyring.type);\n }\n\n getComputedAccountGroupName(\n group: AccountGroupObjectOf<AccountGroupType.SingleAccount>,\n ): string {\n return super.getComputedAccountGroupName(group);\n }\n\n getDefaultAccountGroupPrefix(\n wallet: AccountWalletObjectOf<AccountWalletType.Keyring>,\n ): string {\n return getAccountGroupPrefixFromKeyringType(wallet.metadata.keyring.type);\n }\n}\n"]}
|
package/dist/rules/keyring.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccountGroupType } from "@metamask/account-api";
|
|
2
2
|
import { AccountWalletType } from "@metamask/account-api";
|
|
3
|
+
import { KeyringType } from "@metamask/keyring-api/v2";
|
|
3
4
|
import { KeyringTypes } from "@metamask/keyring-controller";
|
|
4
5
|
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
5
6
|
import type { AccountGroupObjectOf } from "../group.cjs";
|
|
@@ -12,14 +13,14 @@ import type { AccountWalletObjectOf } from "../wallet.cjs";
|
|
|
12
13
|
* @param type - Keyring's type.
|
|
13
14
|
* @returns Wallet name.
|
|
14
15
|
*/
|
|
15
|
-
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes
|
|
16
|
+
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes | KeyringType): string;
|
|
16
17
|
/**
|
|
17
18
|
* Get group name prefix from a keyring type.
|
|
18
19
|
*
|
|
19
20
|
* @param type - Keyring's type.
|
|
20
21
|
* @returns Wallet name.
|
|
21
22
|
*/
|
|
22
|
-
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes
|
|
23
|
+
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes | KeyringType): string;
|
|
23
24
|
export declare class KeyringRule extends BaseRule implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {
|
|
24
25
|
readonly walletType = AccountWalletType.Keyring;
|
|
25
26
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.d.cts","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B;AACzD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B;AAE1D,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAiB;AACrD,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AAEvD;;;;;GAKG;AACH,wBAAgB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"keyring.d.cts","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B;AACzD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B;AAE1D,OAAO,EAAE,WAAW,EAAE,iCAAiC;AACvD,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAiB;AACrD,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AAEvD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,YAAY,GAAG,WAAW,GAC/B,MAAM,CAyCR;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,YAAY,GAAG,WAAW,GAC/B,MAAM,CAyCR;AAED,qBAAa,WACX,SAAQ,QACR,YAAW,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAE1E,QAAQ,CAAC,UAAU,6BAA6B;IAEhD,QAAQ,CAAC,SAAS,kCAAkC;IAEpD,KAAK,CACH,OAAO,EAAE,eAAe,GAEvB,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC;IA8BxE,2BAA2B,CACzB,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GACvD,MAAM;IAIT,2BAA2B,CACzB,KAAK,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAC1D,MAAM;IAIT,4BAA4B,CAC1B,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GACvD,MAAM;CAGV"}
|
package/dist/rules/keyring.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccountGroupType } from "@metamask/account-api";
|
|
2
2
|
import { AccountWalletType } from "@metamask/account-api";
|
|
3
|
+
import { KeyringType } from "@metamask/keyring-api/v2";
|
|
3
4
|
import { KeyringTypes } from "@metamask/keyring-controller";
|
|
4
5
|
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
5
6
|
import type { AccountGroupObjectOf } from "../group.mjs";
|
|
@@ -12,14 +13,14 @@ import type { AccountWalletObjectOf } from "../wallet.mjs";
|
|
|
12
13
|
* @param type - Keyring's type.
|
|
13
14
|
* @returns Wallet name.
|
|
14
15
|
*/
|
|
15
|
-
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes
|
|
16
|
+
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes | KeyringType): string;
|
|
16
17
|
/**
|
|
17
18
|
* Get group name prefix from a keyring type.
|
|
18
19
|
*
|
|
19
20
|
* @param type - Keyring's type.
|
|
20
21
|
* @returns Wallet name.
|
|
21
22
|
*/
|
|
22
|
-
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes
|
|
23
|
+
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes | KeyringType): string;
|
|
23
24
|
export declare class KeyringRule extends BaseRule implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {
|
|
24
25
|
readonly walletType = AccountWalletType.Keyring;
|
|
25
26
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.d.mts","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B;AACzD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B;AAE1D,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAiB;AACrD,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AAEvD;;;;;GAKG;AACH,wBAAgB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"keyring.d.mts","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B;AACzD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B;AAE1D,OAAO,EAAE,WAAW,EAAE,iCAAiC;AACvD,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAiB;AACrD,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AAEvD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,YAAY,GAAG,WAAW,GAC/B,MAAM,CAyCR;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,YAAY,GAAG,WAAW,GAC/B,MAAM,CAyCR;AAED,qBAAa,WACX,SAAQ,QACR,YAAW,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAE1E,QAAQ,CAAC,UAAU,6BAA6B;IAEhD,QAAQ,CAAC,SAAS,kCAAkC;IAEpD,KAAK,CACH,OAAO,EAAE,eAAe,GAEvB,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC;IA8BxE,2BAA2B,CACzB,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GACvD,MAAM;IAIT,2BAA2B,CACzB,KAAK,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAC1D,MAAM;IAIT,4BAA4B,CAC1B,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GACvD,MAAM;CAGV"}
|
package/dist/rules/keyring.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AccountGroupType } from "@metamask/account-api";
|
|
2
2
|
import { AccountWalletType } from "@metamask/account-api";
|
|
3
3
|
import { toAccountGroupId, toAccountWalletId } from "@metamask/account-api";
|
|
4
|
+
import { KeyringType } from "@metamask/keyring-api/v2";
|
|
4
5
|
import { KeyringTypes } from "@metamask/keyring-controller";
|
|
5
6
|
import { BaseRule } from "../rule.mjs";
|
|
6
7
|
/**
|
|
@@ -11,29 +12,37 @@ import { BaseRule } from "../rule.mjs";
|
|
|
11
12
|
*/
|
|
12
13
|
export function getAccountWalletNameFromKeyringType(type) {
|
|
13
14
|
switch (type) {
|
|
15
|
+
case KeyringType.PrivateKey:
|
|
14
16
|
case KeyringTypes.simple: {
|
|
15
17
|
return 'Imported accounts';
|
|
16
18
|
}
|
|
19
|
+
case KeyringType.Trezor:
|
|
17
20
|
case KeyringTypes.trezor: {
|
|
18
21
|
return 'Trezor';
|
|
19
22
|
}
|
|
23
|
+
case KeyringType.OneKey:
|
|
20
24
|
case KeyringTypes.oneKey: {
|
|
21
25
|
return 'OneKey';
|
|
22
26
|
}
|
|
27
|
+
case KeyringType.Ledger:
|
|
23
28
|
case KeyringTypes.ledger: {
|
|
24
29
|
return 'Ledger';
|
|
25
30
|
}
|
|
31
|
+
case KeyringType.Lattice:
|
|
26
32
|
case KeyringTypes.lattice: {
|
|
27
33
|
return 'Lattice';
|
|
28
34
|
}
|
|
35
|
+
case KeyringType.Qr:
|
|
29
36
|
case KeyringTypes.qr: {
|
|
30
37
|
return 'QR';
|
|
31
38
|
}
|
|
32
39
|
// Those keyrings should never really be used in such context since they
|
|
33
40
|
// should be used by other grouping rules.
|
|
41
|
+
case KeyringType.Hd:
|
|
34
42
|
case KeyringTypes.hd: {
|
|
35
43
|
return 'HD Wallet';
|
|
36
44
|
}
|
|
45
|
+
case KeyringType.Snap:
|
|
37
46
|
case KeyringTypes.snap: {
|
|
38
47
|
return 'Snap Wallet';
|
|
39
48
|
}
|
|
@@ -51,29 +60,37 @@ export function getAccountWalletNameFromKeyringType(type) {
|
|
|
51
60
|
*/
|
|
52
61
|
export function getAccountGroupPrefixFromKeyringType(type) {
|
|
53
62
|
switch (type) {
|
|
63
|
+
case KeyringType.PrivateKey:
|
|
54
64
|
case KeyringTypes.simple: {
|
|
55
65
|
return 'Imported Account';
|
|
56
66
|
}
|
|
67
|
+
case KeyringType.Trezor:
|
|
57
68
|
case KeyringTypes.trezor: {
|
|
58
69
|
return 'Trezor Account';
|
|
59
70
|
}
|
|
71
|
+
case KeyringType.OneKey:
|
|
60
72
|
case KeyringTypes.oneKey: {
|
|
61
73
|
return 'OneKey Account';
|
|
62
74
|
}
|
|
75
|
+
case KeyringType.Ledger:
|
|
63
76
|
case KeyringTypes.ledger: {
|
|
64
77
|
return 'Ledger Account';
|
|
65
78
|
}
|
|
79
|
+
case KeyringType.Lattice:
|
|
66
80
|
case KeyringTypes.lattice: {
|
|
67
81
|
return 'Lattice Account';
|
|
68
82
|
}
|
|
83
|
+
case KeyringType.Qr:
|
|
69
84
|
case KeyringTypes.qr: {
|
|
70
85
|
return 'QR Account';
|
|
71
86
|
}
|
|
72
87
|
// Those keyrings should never really be used in such context since they
|
|
73
88
|
// should be used by other grouping rules.
|
|
89
|
+
case KeyringType.Hd:
|
|
74
90
|
case KeyringTypes.hd: {
|
|
75
91
|
return 'Account';
|
|
76
92
|
}
|
|
93
|
+
case KeyringType.Snap:
|
|
77
94
|
case KeyringTypes.snap: {
|
|
78
95
|
return 'Snap Account';
|
|
79
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.mjs","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B;AACzD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B;AAC1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAC5E,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAI5D,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AAInC;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,
|
|
1
|
+
{"version":3,"file":"keyring.mjs","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccountGroupType } from '@metamask/account-api';\nimport { AccountWalletType } from '@metamask/account-api';\nimport { toAccountGroupId, toAccountWalletId } from '@metamask/account-api';\nimport { KeyringType } from '@metamask/keyring-api/v2';\nimport { KeyringTypes } from '@metamask/keyring-controller';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\n\nimport type { AccountGroupObjectOf } from '../group';\nimport { BaseRule } from '../rule';\nimport type { Rule, RuleResult } from '../rule';\nimport type { AccountWalletObjectOf } from '../wallet';\n\n/**\n * Get wallet name from a keyring type.\n *\n * @param type - Keyring's type.\n * @returns Wallet name.\n */\nexport function getAccountWalletNameFromKeyringType(\n type: KeyringTypes | KeyringType,\n): string {\n switch (type) {\n case KeyringType.PrivateKey:\n case KeyringTypes.simple: {\n return 'Imported accounts';\n }\n case KeyringType.Trezor:\n case KeyringTypes.trezor: {\n return 'Trezor';\n }\n case KeyringType.OneKey:\n case KeyringTypes.oneKey: {\n return 'OneKey';\n }\n case KeyringType.Ledger:\n case KeyringTypes.ledger: {\n return 'Ledger';\n }\n case KeyringType.Lattice:\n case KeyringTypes.lattice: {\n return 'Lattice';\n }\n case KeyringType.Qr:\n case KeyringTypes.qr: {\n return 'QR';\n }\n // Those keyrings should never really be used in such context since they\n // should be used by other grouping rules.\n case KeyringType.Hd:\n case KeyringTypes.hd: {\n return 'HD Wallet';\n }\n case KeyringType.Snap:\n case KeyringTypes.snap: {\n return 'Snap Wallet';\n }\n // ------------------------------------------------------------------------\n default: {\n return 'Unknown';\n }\n }\n}\n\n/**\n * Get group name prefix from a keyring type.\n *\n * @param type - Keyring's type.\n * @returns Wallet name.\n */\nexport function getAccountGroupPrefixFromKeyringType(\n type: KeyringTypes | KeyringType,\n): string {\n switch (type) {\n case KeyringType.PrivateKey:\n case KeyringTypes.simple: {\n return 'Imported Account';\n }\n case KeyringType.Trezor:\n case KeyringTypes.trezor: {\n return 'Trezor Account';\n }\n case KeyringType.OneKey:\n case KeyringTypes.oneKey: {\n return 'OneKey Account';\n }\n case KeyringType.Ledger:\n case KeyringTypes.ledger: {\n return 'Ledger Account';\n }\n case KeyringType.Lattice:\n case KeyringTypes.lattice: {\n return 'Lattice Account';\n }\n case KeyringType.Qr:\n case KeyringTypes.qr: {\n return 'QR Account';\n }\n // Those keyrings should never really be used in such context since they\n // should be used by other grouping rules.\n case KeyringType.Hd:\n case KeyringTypes.hd: {\n return 'Account';\n }\n case KeyringType.Snap:\n case KeyringTypes.snap: {\n return 'Snap Account';\n }\n // ------------------------------------------------------------------------\n default: {\n return 'Unknown Account';\n }\n }\n}\n\nexport class KeyringRule\n extends BaseRule\n implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount>\n{\n readonly walletType = AccountWalletType.Keyring;\n\n readonly groupType = AccountGroupType.SingleAccount;\n\n match(\n account: InternalAccount,\n // No `| undefined` return type for this rule, as it cannot fail.\n ): RuleResult<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {\n // We assume that `type` is really a `KeyringTypes`.\n const keyringType = account.metadata.keyring.type as KeyringTypes;\n\n const walletId = toAccountWalletId(this.walletType, keyringType);\n const groupId = toAccountGroupId(walletId, account.address);\n\n return {\n wallet: {\n type: this.walletType,\n id: walletId,\n metadata: {\n keyring: {\n type: keyringType,\n },\n },\n },\n\n group: {\n type: this.groupType,\n id: groupId,\n metadata: {\n pinned: false,\n hidden: false,\n lastSelected: 0,\n },\n },\n };\n }\n\n getDefaultAccountWalletName(\n wallet: AccountWalletObjectOf<AccountWalletType.Keyring>,\n ): string {\n return getAccountWalletNameFromKeyringType(wallet.metadata.keyring.type);\n }\n\n getComputedAccountGroupName(\n group: AccountGroupObjectOf<AccountGroupType.SingleAccount>,\n ): string {\n return super.getComputedAccountGroupName(group);\n }\n\n getDefaultAccountGroupPrefix(\n wallet: AccountWalletObjectOf<AccountWalletType.Keyring>,\n ): string {\n return getAccountGroupPrefixFromKeyringType(wallet.metadata.keyring.type);\n }\n}\n"]}
|
package/package.json
CHANGED