@metamask-previews/account-tree-controller 4.1.1-preview-ccd74c3b → 4.1.1-preview-84240e41c
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/dist/rules/keyring.cjs +1 -37
- package/dist/rules/keyring.cjs.map +1 -1
- package/dist/rules/keyring.d.cts +2 -3
- package/dist/rules/keyring.d.cts.map +1 -1
- package/dist/rules/keyring.d.mts +2 -3
- package/dist/rules/keyring.d.mts.map +1 -1
- package/dist/rules/keyring.mjs +1 -37
- package/dist/rules/keyring.mjs.map +1 -1
- package/dist/wallet.cjs.map +1 -1
- package/dist/wallet.d.cts +0 -2
- package/dist/wallet.d.cts.map +1 -1
- package/dist/wallet.d.mts +0 -2
- package/dist/wallet.d.mts.map +1 -1
- package/dist/wallet.mjs.map +1 -1
- package/package.json +1 -1
package/dist/rules/keyring.cjs
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
-
};
|
|
7
|
-
var _KeyringRule_instances, _KeyringRule_findKeyringIdForAccount;
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
3
|
exports.KeyringRule = exports.getAccountGroupPrefixFromKeyringType = exports.getAccountWalletNameFromKeyringType = void 0;
|
|
10
4
|
const account_api_1 = require("@metamask/account-api");
|
|
@@ -46,9 +40,6 @@ function getAccountWalletNameFromKeyringType(type) {
|
|
|
46
40
|
case keyring_controller_1.KeyringTypes.snap: {
|
|
47
41
|
return 'Snap Wallet';
|
|
48
42
|
}
|
|
49
|
-
case keyring_controller_1.KeyringTypes.mpc: {
|
|
50
|
-
return 'MPC Wallet';
|
|
51
|
-
}
|
|
52
43
|
// ------------------------------------------------------------------------
|
|
53
44
|
default: {
|
|
54
45
|
return 'Unknown';
|
|
@@ -90,9 +81,6 @@ function getAccountGroupPrefixFromKeyringType(type) {
|
|
|
90
81
|
case keyring_controller_1.KeyringTypes.snap: {
|
|
91
82
|
return 'Snap Account';
|
|
92
83
|
}
|
|
93
|
-
case keyring_controller_1.KeyringTypes.mpc: {
|
|
94
|
-
return 'MPC Account';
|
|
95
|
-
}
|
|
96
84
|
// ------------------------------------------------------------------------
|
|
97
85
|
default: {
|
|
98
86
|
return 'Unknown Account';
|
|
@@ -103,19 +91,13 @@ exports.getAccountGroupPrefixFromKeyringType = getAccountGroupPrefixFromKeyringT
|
|
|
103
91
|
class KeyringRule extends rule_1.BaseRule {
|
|
104
92
|
constructor() {
|
|
105
93
|
super(...arguments);
|
|
106
|
-
_KeyringRule_instances.add(this);
|
|
107
94
|
this.walletType = account_api_2.AccountWalletType.Keyring;
|
|
108
95
|
this.groupType = account_api_1.AccountGroupType.SingleAccount;
|
|
109
96
|
}
|
|
110
97
|
match(account) {
|
|
111
98
|
// We assume that `type` is really a `KeyringTypes`.
|
|
112
99
|
const keyringType = account.metadata.keyring.type;
|
|
113
|
-
|
|
114
|
-
const keyringId = keyringType === keyring_controller_1.KeyringTypes.mpc
|
|
115
|
-
? __classPrivateFieldGet(this, _KeyringRule_instances, "m", _KeyringRule_findKeyringIdForAccount).call(this, keyringType, account.address)
|
|
116
|
-
: undefined;
|
|
117
|
-
const walletSubId = keyringId ? `${keyringType}/${keyringId}` : keyringType;
|
|
118
|
-
const walletId = (0, account_api_3.toAccountWalletId)(this.walletType, walletSubId);
|
|
100
|
+
const walletId = (0, account_api_3.toAccountWalletId)(this.walletType, keyringType);
|
|
119
101
|
const groupId = (0, account_api_3.toAccountGroupId)(walletId, account.address);
|
|
120
102
|
return {
|
|
121
103
|
wallet: {
|
|
@@ -124,7 +106,6 @@ class KeyringRule extends rule_1.BaseRule {
|
|
|
124
106
|
metadata: {
|
|
125
107
|
keyring: {
|
|
126
108
|
type: keyringType,
|
|
127
|
-
...(keyringId && { id: keyringId }),
|
|
128
109
|
},
|
|
129
110
|
},
|
|
130
111
|
},
|
|
@@ -139,13 +120,6 @@ class KeyringRule extends rule_1.BaseRule {
|
|
|
139
120
|
};
|
|
140
121
|
}
|
|
141
122
|
getDefaultAccountWalletName(wallet) {
|
|
142
|
-
if (wallet.metadata.keyring.type === keyring_controller_1.KeyringTypes.mpc &&
|
|
143
|
-
wallet.metadata.keyring.id) {
|
|
144
|
-
const { keyrings } = this.messenger.call('KeyringController:getState');
|
|
145
|
-
const mpcKeyrings = keyrings.filter((k) => k.type === keyring_controller_1.KeyringTypes.mpc);
|
|
146
|
-
const index = mpcKeyrings.findIndex((k) => k.metadata?.id === wallet.metadata.keyring.id);
|
|
147
|
-
return `MPC Wallet ${index === -1 ? '' : index + 1}`.trim();
|
|
148
|
-
}
|
|
149
123
|
return getAccountWalletNameFromKeyringType(wallet.metadata.keyring.type);
|
|
150
124
|
}
|
|
151
125
|
getComputedAccountGroupName(group) {
|
|
@@ -156,14 +130,4 @@ class KeyringRule extends rule_1.BaseRule {
|
|
|
156
130
|
}
|
|
157
131
|
}
|
|
158
132
|
exports.KeyringRule = KeyringRule;
|
|
159
|
-
_KeyringRule_instances = new WeakSet(), _KeyringRule_findKeyringIdForAccount = function _KeyringRule_findKeyringIdForAccount(keyringType, address) {
|
|
160
|
-
const { keyrings } = this.messenger.call('KeyringController:getState');
|
|
161
|
-
const matchingKeyrings = keyrings.filter((k) => k.type === keyringType);
|
|
162
|
-
for (const keyring of matchingKeyrings) {
|
|
163
|
-
if (keyring.accounts.some((a) => a.toLowerCase() === address.toLowerCase())) {
|
|
164
|
-
return keyring.metadata?.id;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return undefined;
|
|
168
|
-
};
|
|
169
133
|
//# sourceMappingURL=keyring.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.cjs","sourceRoot":"","sources":["../../src/rules/keyring.ts"],"names":[],"mappings":"
|
|
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 { 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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported accounts';\n }\n case KeyringTypes.trezor: {\n return 'Trezor';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey';\n }\n case KeyringTypes.ledger: {\n return 'Ledger';\n }\n case KeyringTypes.lattice: {\n return 'Lattice';\n }\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 KeyringTypes.hd: {\n return 'HD Wallet';\n }\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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported Account';\n }\n case KeyringTypes.trezor: {\n return 'Trezor Account';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey Account';\n }\n case KeyringTypes.ledger: {\n return 'Ledger Account';\n }\n case KeyringTypes.lattice: {\n return 'Lattice Account';\n }\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 KeyringTypes.hd: {\n return 'Account';\n }\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 },\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
|
@@ -12,16 +12,15 @@ import type { AccountWalletObjectOf } from "../wallet.cjs";
|
|
|
12
12
|
* @param type - Keyring's type.
|
|
13
13
|
* @returns Wallet name.
|
|
14
14
|
*/
|
|
15
|
-
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes): "Unknown" | "Imported accounts" | "Trezor" | "OneKey" | "Ledger" | "Lattice" | "QR" | "HD Wallet" | "Snap Wallet"
|
|
15
|
+
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes): "Unknown" | "Imported accounts" | "Trezor" | "OneKey" | "Ledger" | "Lattice" | "QR" | "HD Wallet" | "Snap Wallet";
|
|
16
16
|
/**
|
|
17
17
|
* Get group name prefix from a keyring type.
|
|
18
18
|
*
|
|
19
19
|
* @param type - Keyring's type.
|
|
20
20
|
* @returns Wallet name.
|
|
21
21
|
*/
|
|
22
|
-
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes): "Account" | "Imported Account" | "Trezor Account" | "OneKey Account" | "Ledger Account" | "Lattice Account" | "QR Account" | "Snap Account" | "
|
|
22
|
+
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes): "Account" | "Imported Account" | "Trezor Account" | "OneKey Account" | "Ledger Account" | "Lattice Account" | "QR Account" | "Snap Account" | "Unknown Account";
|
|
23
23
|
export declare class KeyringRule extends BaseRule implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {
|
|
24
|
-
#private;
|
|
25
24
|
readonly walletType = AccountWalletType.Keyring;
|
|
26
25
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
27
26
|
match(account: InternalAccount): RuleResult<AccountWalletType.Keyring, 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,CAAC,IAAI,EAAE,YAAY,
|
|
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,CAAC,IAAI,EAAE,YAAY,qHAiCrE;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,YAAY,mKAiCtE;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;IA6BxE,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
|
@@ -12,16 +12,15 @@ import type { AccountWalletObjectOf } from "../wallet.mjs";
|
|
|
12
12
|
* @param type - Keyring's type.
|
|
13
13
|
* @returns Wallet name.
|
|
14
14
|
*/
|
|
15
|
-
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes): "Unknown" | "Imported accounts" | "Trezor" | "OneKey" | "Ledger" | "Lattice" | "QR" | "HD Wallet" | "Snap Wallet"
|
|
15
|
+
export declare function getAccountWalletNameFromKeyringType(type: KeyringTypes): "Unknown" | "Imported accounts" | "Trezor" | "OneKey" | "Ledger" | "Lattice" | "QR" | "HD Wallet" | "Snap Wallet";
|
|
16
16
|
/**
|
|
17
17
|
* Get group name prefix from a keyring type.
|
|
18
18
|
*
|
|
19
19
|
* @param type - Keyring's type.
|
|
20
20
|
* @returns Wallet name.
|
|
21
21
|
*/
|
|
22
|
-
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes): "Account" | "Imported Account" | "Trezor Account" | "OneKey Account" | "Ledger Account" | "Lattice Account" | "QR Account" | "Snap Account" | "
|
|
22
|
+
export declare function getAccountGroupPrefixFromKeyringType(type: KeyringTypes): "Account" | "Imported Account" | "Trezor Account" | "OneKey Account" | "Ledger Account" | "Lattice Account" | "QR Account" | "Snap Account" | "Unknown Account";
|
|
23
23
|
export declare class KeyringRule extends BaseRule implements Rule<AccountWalletType.Keyring, AccountGroupType.SingleAccount> {
|
|
24
|
-
#private;
|
|
25
24
|
readonly walletType = AccountWalletType.Keyring;
|
|
26
25
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
27
26
|
match(account: InternalAccount): RuleResult<AccountWalletType.Keyring, 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,CAAC,IAAI,EAAE,YAAY,
|
|
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,CAAC,IAAI,EAAE,YAAY,qHAiCrE;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,YAAY,mKAiCtE;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;IA6BxE,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,9 +1,3 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _KeyringRule_instances, _KeyringRule_findKeyringIdForAccount;
|
|
7
1
|
import { AccountGroupType } from "@metamask/account-api";
|
|
8
2
|
import { AccountWalletType } from "@metamask/account-api";
|
|
9
3
|
import { toAccountGroupId, toAccountWalletId } from "@metamask/account-api";
|
|
@@ -43,9 +37,6 @@ export function getAccountWalletNameFromKeyringType(type) {
|
|
|
43
37
|
case KeyringTypes.snap: {
|
|
44
38
|
return 'Snap Wallet';
|
|
45
39
|
}
|
|
46
|
-
case KeyringTypes.mpc: {
|
|
47
|
-
return 'MPC Wallet';
|
|
48
|
-
}
|
|
49
40
|
// ------------------------------------------------------------------------
|
|
50
41
|
default: {
|
|
51
42
|
return 'Unknown';
|
|
@@ -86,9 +77,6 @@ export function getAccountGroupPrefixFromKeyringType(type) {
|
|
|
86
77
|
case KeyringTypes.snap: {
|
|
87
78
|
return 'Snap Account';
|
|
88
79
|
}
|
|
89
|
-
case KeyringTypes.mpc: {
|
|
90
|
-
return 'MPC Account';
|
|
91
|
-
}
|
|
92
80
|
// ------------------------------------------------------------------------
|
|
93
81
|
default: {
|
|
94
82
|
return 'Unknown Account';
|
|
@@ -98,19 +86,13 @@ export function getAccountGroupPrefixFromKeyringType(type) {
|
|
|
98
86
|
export class KeyringRule extends BaseRule {
|
|
99
87
|
constructor() {
|
|
100
88
|
super(...arguments);
|
|
101
|
-
_KeyringRule_instances.add(this);
|
|
102
89
|
this.walletType = AccountWalletType.Keyring;
|
|
103
90
|
this.groupType = AccountGroupType.SingleAccount;
|
|
104
91
|
}
|
|
105
92
|
match(account) {
|
|
106
93
|
// We assume that `type` is really a `KeyringTypes`.
|
|
107
94
|
const keyringType = account.metadata.keyring.type;
|
|
108
|
-
|
|
109
|
-
const keyringId = keyringType === KeyringTypes.mpc
|
|
110
|
-
? __classPrivateFieldGet(this, _KeyringRule_instances, "m", _KeyringRule_findKeyringIdForAccount).call(this, keyringType, account.address)
|
|
111
|
-
: undefined;
|
|
112
|
-
const walletSubId = keyringId ? `${keyringType}/${keyringId}` : keyringType;
|
|
113
|
-
const walletId = toAccountWalletId(this.walletType, walletSubId);
|
|
95
|
+
const walletId = toAccountWalletId(this.walletType, keyringType);
|
|
114
96
|
const groupId = toAccountGroupId(walletId, account.address);
|
|
115
97
|
return {
|
|
116
98
|
wallet: {
|
|
@@ -119,7 +101,6 @@ export class KeyringRule extends BaseRule {
|
|
|
119
101
|
metadata: {
|
|
120
102
|
keyring: {
|
|
121
103
|
type: keyringType,
|
|
122
|
-
...(keyringId && { id: keyringId }),
|
|
123
104
|
},
|
|
124
105
|
},
|
|
125
106
|
},
|
|
@@ -134,13 +115,6 @@ export class KeyringRule extends BaseRule {
|
|
|
134
115
|
};
|
|
135
116
|
}
|
|
136
117
|
getDefaultAccountWalletName(wallet) {
|
|
137
|
-
if (wallet.metadata.keyring.type === KeyringTypes.mpc &&
|
|
138
|
-
wallet.metadata.keyring.id) {
|
|
139
|
-
const { keyrings } = this.messenger.call('KeyringController:getState');
|
|
140
|
-
const mpcKeyrings = keyrings.filter((k) => k.type === KeyringTypes.mpc);
|
|
141
|
-
const index = mpcKeyrings.findIndex((k) => k.metadata?.id === wallet.metadata.keyring.id);
|
|
142
|
-
return `MPC Wallet ${index === -1 ? '' : index + 1}`.trim();
|
|
143
|
-
}
|
|
144
118
|
return getAccountWalletNameFromKeyringType(wallet.metadata.keyring.type);
|
|
145
119
|
}
|
|
146
120
|
getComputedAccountGroupName(group) {
|
|
@@ -150,14 +124,4 @@ export class KeyringRule extends BaseRule {
|
|
|
150
124
|
return getAccountGroupPrefixFromKeyringType(wallet.metadata.keyring.type);
|
|
151
125
|
}
|
|
152
126
|
}
|
|
153
|
-
_KeyringRule_instances = new WeakSet(), _KeyringRule_findKeyringIdForAccount = function _KeyringRule_findKeyringIdForAccount(keyringType, address) {
|
|
154
|
-
const { keyrings } = this.messenger.call('KeyringController:getState');
|
|
155
|
-
const matchingKeyrings = keyrings.filter((k) => k.type === keyringType);
|
|
156
|
-
for (const keyring of matchingKeyrings) {
|
|
157
|
-
if (keyring.accounts.some((a) => a.toLowerCase() === address.toLowerCase())) {
|
|
158
|
-
return keyring.metadata?.id;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return undefined;
|
|
162
|
-
};
|
|
163
127
|
//# sourceMappingURL=keyring.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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 { 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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported accounts';\n }\n case KeyringTypes.trezor: {\n return 'Trezor';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey';\n }\n case KeyringTypes.ledger: {\n return 'Ledger';\n }\n case KeyringTypes.lattice: {\n return 'Lattice';\n }\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 KeyringTypes.hd: {\n return 'HD Wallet';\n }\n case KeyringTypes.snap: {\n return 'Snap Wallet';\n }\n case KeyringTypes.mpc: {\n return 'MPC 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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported Account';\n }\n case KeyringTypes.trezor: {\n return 'Trezor Account';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey Account';\n }\n case KeyringTypes.ledger: {\n return 'Ledger Account';\n }\n case KeyringTypes.lattice: {\n return 'Lattice Account';\n }\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 KeyringTypes.hd: {\n return 'Account';\n }\n case KeyringTypes.snap: {\n return 'Snap Account';\n }\n case KeyringTypes.mpc: {\n return 'MPC 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 #findKeyringIdForAccount(\n keyringType: string,\n address: string,\n ): string | undefined {\n const { keyrings } = this.messenger.call('KeyringController:getState');\n const matchingKeyrings = keyrings.filter((k) => k.type === keyringType);\n for (const keyring of matchingKeyrings) {\n if (\n keyring.accounts.some((a) => a.toLowerCase() === address.toLowerCase())\n ) {\n return keyring.metadata?.id;\n }\n }\n return undefined;\n }\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 // For MPC keyrings, we store the keyring ID in metadata and create a separate wallet per keyring instance\n const keyringId =\n keyringType === KeyringTypes.mpc\n ? this.#findKeyringIdForAccount(keyringType, account.address)\n : undefined;\n\n const walletSubId = keyringId ? `${keyringType}/${keyringId}` : keyringType;\n const walletId = toAccountWalletId(this.walletType, walletSubId);\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 ...(keyringId && { id: keyringId }),\n },\n },\n },\n\n group: {\n type: this.groupType,\n id: groupId,\n metadata: {\n pinned: false,\n hidden: false,\n },\n },\n };\n }\n\n getDefaultAccountWalletName(\n wallet: AccountWalletObjectOf<AccountWalletType.Keyring>,\n ): string {\n if (\n wallet.metadata.keyring.type === KeyringTypes.mpc &&\n wallet.metadata.keyring.id\n ) {\n const { keyrings } = this.messenger.call('KeyringController:getState');\n const mpcKeyrings = keyrings.filter((k) => k.type === KeyringTypes.mpc);\n const index = mpcKeyrings.findIndex(\n (k) => k.metadata?.id === wallet.metadata.keyring.id,\n );\n return `MPC Wallet ${index === -1 ? '' : index + 1}`.trim();\n }\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"]}
|
|
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 { 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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported accounts';\n }\n case KeyringTypes.trezor: {\n return 'Trezor';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey';\n }\n case KeyringTypes.ledger: {\n return 'Ledger';\n }\n case KeyringTypes.lattice: {\n return 'Lattice';\n }\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 KeyringTypes.hd: {\n return 'HD Wallet';\n }\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(type: KeyringTypes) {\n switch (type) {\n case KeyringTypes.simple: {\n return 'Imported Account';\n }\n case KeyringTypes.trezor: {\n return 'Trezor Account';\n }\n case KeyringTypes.oneKey: {\n return 'OneKey Account';\n }\n case KeyringTypes.ledger: {\n return 'Ledger Account';\n }\n case KeyringTypes.lattice: {\n return 'Lattice Account';\n }\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 KeyringTypes.hd: {\n return 'Account';\n }\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 },\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/wallet.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.cjs","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"","sourcesContent":["import type { AccountGroupId } from '@metamask/account-api';\nimport type {\n AccountWalletType,\n AccountWalletId,\n MultichainAccountWalletId,\n AccountWalletStatus,\n} from '@metamask/account-api';\nimport type { MultichainAccountWalletStatus } from '@metamask/account-api';\nimport type { EntropySourceId } from '@metamask/keyring-api';\nimport type { KeyringTypes } from '@metamask/keyring-controller';\nimport type { SnapId } from '@metamask/snaps-sdk';\n\nimport type {\n AccountGroupMultichainAccountObject,\n AccountGroupObject,\n AccountGroupSingleAccountObject,\n} from './group';\nimport type { UpdatableField, ExtractFieldValues } from './type-utils.js';\n\n/**\n * Persisted metadata for account wallets (stored in controller state for persistence/sync).\n */\nexport type AccountTreeWalletPersistedMetadata = {\n /** Custom name set by user, overrides default naming logic */\n name?: UpdatableField<string>;\n};\n\n/**\n * Tree metadata for account wallets (required plain values extracted from persisted metadata).\n */\nexport type AccountTreeWalletMetadata = Required<\n ExtractFieldValues<AccountTreeWalletPersistedMetadata>\n>;\n\n/**\n * Type constraint for a {@link AccountGroupObject}. If one of its union-members\n * does not match this contraint, {@link AccountGroupObject} will resolve\n * to `never`.\n */\ntype IsAccountWalletObject<\n Type extends {\n type: AccountWalletType;\n id: AccountWalletId;\n status: string; // Has to be refined by the type extending this base type.\n groups: {\n [groupId: AccountGroupId]: AccountGroupObject;\n };\n metadata: AccountTreeWalletMetadata;\n },\n> = Type;\n\n/**\n * Account wallet object for the \"entropy\" wallet category.\n */\nexport type AccountWalletEntropyObject = {\n type: AccountWalletType.Entropy;\n id: MultichainAccountWalletId;\n status: MultichainAccountWalletStatus;\n groups: {\n // NOTE: Using `MultichainAccountGroupId` instead of `AccountGroupId` would introduce\n // some type problems when using a group ID as an `AccountGroupId` directly. This\n // would require some up-cast to a `MultichainAccountGroupId` which could be considered\n // unsafe... So we keep it as a `AccountGroupId` for now.\n [groupId: AccountGroupId]: AccountGroupMultichainAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n entropy: {\n id: EntropySourceId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"snap\" wallet category.\n */\nexport type AccountWalletSnapObject = {\n type: AccountWalletType.Snap;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"keyring\" wallet category.\n */\nexport type AccountWalletKeyringObject = {\n type: AccountWalletType.Keyring;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n keyring: {\n type: KeyringTypes;\n
|
|
1
|
+
{"version":3,"file":"wallet.cjs","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"","sourcesContent":["import type { AccountGroupId } from '@metamask/account-api';\nimport type {\n AccountWalletType,\n AccountWalletId,\n MultichainAccountWalletId,\n AccountWalletStatus,\n} from '@metamask/account-api';\nimport type { MultichainAccountWalletStatus } from '@metamask/account-api';\nimport type { EntropySourceId } from '@metamask/keyring-api';\nimport type { KeyringTypes } from '@metamask/keyring-controller';\nimport type { SnapId } from '@metamask/snaps-sdk';\n\nimport type {\n AccountGroupMultichainAccountObject,\n AccountGroupObject,\n AccountGroupSingleAccountObject,\n} from './group';\nimport type { UpdatableField, ExtractFieldValues } from './type-utils.js';\n\n/**\n * Persisted metadata for account wallets (stored in controller state for persistence/sync).\n */\nexport type AccountTreeWalletPersistedMetadata = {\n /** Custom name set by user, overrides default naming logic */\n name?: UpdatableField<string>;\n};\n\n/**\n * Tree metadata for account wallets (required plain values extracted from persisted metadata).\n */\nexport type AccountTreeWalletMetadata = Required<\n ExtractFieldValues<AccountTreeWalletPersistedMetadata>\n>;\n\n/**\n * Type constraint for a {@link AccountGroupObject}. If one of its union-members\n * does not match this contraint, {@link AccountGroupObject} will resolve\n * to `never`.\n */\ntype IsAccountWalletObject<\n Type extends {\n type: AccountWalletType;\n id: AccountWalletId;\n status: string; // Has to be refined by the type extending this base type.\n groups: {\n [groupId: AccountGroupId]: AccountGroupObject;\n };\n metadata: AccountTreeWalletMetadata;\n },\n> = Type;\n\n/**\n * Account wallet object for the \"entropy\" wallet category.\n */\nexport type AccountWalletEntropyObject = {\n type: AccountWalletType.Entropy;\n id: MultichainAccountWalletId;\n status: MultichainAccountWalletStatus;\n groups: {\n // NOTE: Using `MultichainAccountGroupId` instead of `AccountGroupId` would introduce\n // some type problems when using a group ID as an `AccountGroupId` directly. This\n // would require some up-cast to a `MultichainAccountGroupId` which could be considered\n // unsafe... So we keep it as a `AccountGroupId` for now.\n [groupId: AccountGroupId]: AccountGroupMultichainAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n entropy: {\n id: EntropySourceId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"snap\" wallet category.\n */\nexport type AccountWalletSnapObject = {\n type: AccountWalletType.Snap;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"keyring\" wallet category.\n */\nexport type AccountWalletKeyringObject = {\n type: AccountWalletType.Keyring;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n keyring: {\n type: KeyringTypes;\n };\n };\n};\n\n/**\n * Account wallet metadata for the \"keyring\" wallet category.\n */\nexport type AccountWalletObject = IsAccountWalletObject<\n | AccountWalletEntropyObject\n | AccountWalletSnapObject\n | AccountWalletKeyringObject\n>;\n\nexport type AccountWalletObjectOf<WalletType extends AccountWalletType> =\n Extract<\n | { type: AccountWalletType.Entropy; object: AccountWalletEntropyObject }\n | { type: AccountWalletType.Keyring; object: AccountWalletKeyringObject }\n | { type: AccountWalletType.Snap; object: AccountWalletSnapObject },\n { type: WalletType }\n >['object'];\n"]}
|
package/dist/wallet.d.cts
CHANGED
package/dist/wallet.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.cts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAC5D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,6BAA6B,EAAE,8BAA8B;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA8B;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,qCAAqC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,4BAA4B;AAElD,OAAO,KAAK,EACV,mCAAmC,EACnC,kBAAkB,EAClB,+BAA+B,EAChC,oBAAgB;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,yBAAwB;AAE1E;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,8DAA8D;IAC9D,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,kBAAkB,CAAC,kCAAkC,CAAC,CACvD,CAAC;AAEF;;;;GAIG;AACH,KAAK,qBAAqB,CACxB,IAAI,SAAS;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAC;KAC/C,CAAC;IACF,QAAQ,EAAE,yBAAyB,CAAC;CACrC,IACC,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,EAAE,EAAE,yBAAyB,CAAC;IAC9B,MAAM,EAAE,6BAA6B,CAAC;IACtC,MAAM,EAAE;QAKN,CAAC,OAAO,EAAE,cAAc,GAAG,mCAAmC,CAAC;KAChE,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,OAAO,EAAE;YACP,EAAE,EAAE,eAAe,CAAC;SACrB,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAC7B,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,+BAA+B,CAAC;KAC5D,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,+BAA+B,CAAC;KAC5D,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet.d.cts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet.d.mts
CHANGED
package/dist/wallet.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.mts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAC5D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACpB,8BAA8B;AAC/B,OAAO,KAAK,EAAE,6BAA6B,EAAE,8BAA8B;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA8B;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,qCAAqC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,4BAA4B;AAElD,OAAO,KAAK,EACV,mCAAmC,EACnC,kBAAkB,EAClB,+BAA+B,EAChC,oBAAgB;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,yBAAwB;AAE1E;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,8DAA8D;IAC9D,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,kBAAkB,CAAC,kCAAkC,CAAC,CACvD,CAAC;AAEF;;;;GAIG;AACH,KAAK,qBAAqB,CACxB,IAAI,SAAS;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAC;KAC/C,CAAC;IACF,QAAQ,EAAE,yBAAyB,CAAC;CACrC,IACC,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,EAAE,EAAE,yBAAyB,CAAC;IAC9B,MAAM,EAAE,6BAA6B,CAAC;IACtC,MAAM,EAAE;QAKN,CAAC,OAAO,EAAE,cAAc,GAAG,mCAAmC,CAAC;KAChE,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,OAAO,EAAE;YACP,EAAE,EAAE,eAAe,CAAC;SACrB,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAC7B,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,+BAA+B,CAAC;KAC5D,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,CAAC,OAAO,EAAE,cAAc,GAAG,+BAA+B,CAAC;KAC5D,CAAC;IACF,QAAQ,EAAE,yBAAyB,GAAG;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet.d.mts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.mjs","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"","sourcesContent":["import type { AccountGroupId } from '@metamask/account-api';\nimport type {\n AccountWalletType,\n AccountWalletId,\n MultichainAccountWalletId,\n AccountWalletStatus,\n} from '@metamask/account-api';\nimport type { MultichainAccountWalletStatus } from '@metamask/account-api';\nimport type { EntropySourceId } from '@metamask/keyring-api';\nimport type { KeyringTypes } from '@metamask/keyring-controller';\nimport type { SnapId } from '@metamask/snaps-sdk';\n\nimport type {\n AccountGroupMultichainAccountObject,\n AccountGroupObject,\n AccountGroupSingleAccountObject,\n} from './group';\nimport type { UpdatableField, ExtractFieldValues } from './type-utils.js';\n\n/**\n * Persisted metadata for account wallets (stored in controller state for persistence/sync).\n */\nexport type AccountTreeWalletPersistedMetadata = {\n /** Custom name set by user, overrides default naming logic */\n name?: UpdatableField<string>;\n};\n\n/**\n * Tree metadata for account wallets (required plain values extracted from persisted metadata).\n */\nexport type AccountTreeWalletMetadata = Required<\n ExtractFieldValues<AccountTreeWalletPersistedMetadata>\n>;\n\n/**\n * Type constraint for a {@link AccountGroupObject}. If one of its union-members\n * does not match this contraint, {@link AccountGroupObject} will resolve\n * to `never`.\n */\ntype IsAccountWalletObject<\n Type extends {\n type: AccountWalletType;\n id: AccountWalletId;\n status: string; // Has to be refined by the type extending this base type.\n groups: {\n [groupId: AccountGroupId]: AccountGroupObject;\n };\n metadata: AccountTreeWalletMetadata;\n },\n> = Type;\n\n/**\n * Account wallet object for the \"entropy\" wallet category.\n */\nexport type AccountWalletEntropyObject = {\n type: AccountWalletType.Entropy;\n id: MultichainAccountWalletId;\n status: MultichainAccountWalletStatus;\n groups: {\n // NOTE: Using `MultichainAccountGroupId` instead of `AccountGroupId` would introduce\n // some type problems when using a group ID as an `AccountGroupId` directly. This\n // would require some up-cast to a `MultichainAccountGroupId` which could be considered\n // unsafe... So we keep it as a `AccountGroupId` for now.\n [groupId: AccountGroupId]: AccountGroupMultichainAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n entropy: {\n id: EntropySourceId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"snap\" wallet category.\n */\nexport type AccountWalletSnapObject = {\n type: AccountWalletType.Snap;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"keyring\" wallet category.\n */\nexport type AccountWalletKeyringObject = {\n type: AccountWalletType.Keyring;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n keyring: {\n type: KeyringTypes;\n
|
|
1
|
+
{"version":3,"file":"wallet.mjs","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"","sourcesContent":["import type { AccountGroupId } from '@metamask/account-api';\nimport type {\n AccountWalletType,\n AccountWalletId,\n MultichainAccountWalletId,\n AccountWalletStatus,\n} from '@metamask/account-api';\nimport type { MultichainAccountWalletStatus } from '@metamask/account-api';\nimport type { EntropySourceId } from '@metamask/keyring-api';\nimport type { KeyringTypes } from '@metamask/keyring-controller';\nimport type { SnapId } from '@metamask/snaps-sdk';\n\nimport type {\n AccountGroupMultichainAccountObject,\n AccountGroupObject,\n AccountGroupSingleAccountObject,\n} from './group';\nimport type { UpdatableField, ExtractFieldValues } from './type-utils.js';\n\n/**\n * Persisted metadata for account wallets (stored in controller state for persistence/sync).\n */\nexport type AccountTreeWalletPersistedMetadata = {\n /** Custom name set by user, overrides default naming logic */\n name?: UpdatableField<string>;\n};\n\n/**\n * Tree metadata for account wallets (required plain values extracted from persisted metadata).\n */\nexport type AccountTreeWalletMetadata = Required<\n ExtractFieldValues<AccountTreeWalletPersistedMetadata>\n>;\n\n/**\n * Type constraint for a {@link AccountGroupObject}. If one of its union-members\n * does not match this contraint, {@link AccountGroupObject} will resolve\n * to `never`.\n */\ntype IsAccountWalletObject<\n Type extends {\n type: AccountWalletType;\n id: AccountWalletId;\n status: string; // Has to be refined by the type extending this base type.\n groups: {\n [groupId: AccountGroupId]: AccountGroupObject;\n };\n metadata: AccountTreeWalletMetadata;\n },\n> = Type;\n\n/**\n * Account wallet object for the \"entropy\" wallet category.\n */\nexport type AccountWalletEntropyObject = {\n type: AccountWalletType.Entropy;\n id: MultichainAccountWalletId;\n status: MultichainAccountWalletStatus;\n groups: {\n // NOTE: Using `MultichainAccountGroupId` instead of `AccountGroupId` would introduce\n // some type problems when using a group ID as an `AccountGroupId` directly. This\n // would require some up-cast to a `MultichainAccountGroupId` which could be considered\n // unsafe... So we keep it as a `AccountGroupId` for now.\n [groupId: AccountGroupId]: AccountGroupMultichainAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n entropy: {\n id: EntropySourceId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"snap\" wallet category.\n */\nexport type AccountWalletSnapObject = {\n type: AccountWalletType.Snap;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Account wallet object for the \"keyring\" wallet category.\n */\nexport type AccountWalletKeyringObject = {\n type: AccountWalletType.Keyring;\n id: AccountWalletId;\n status: AccountWalletStatus;\n groups: {\n [groupId: AccountGroupId]: AccountGroupSingleAccountObject;\n };\n metadata: AccountTreeWalletMetadata & {\n keyring: {\n type: KeyringTypes;\n };\n };\n};\n\n/**\n * Account wallet metadata for the \"keyring\" wallet category.\n */\nexport type AccountWalletObject = IsAccountWalletObject<\n | AccountWalletEntropyObject\n | AccountWalletSnapObject\n | AccountWalletKeyringObject\n>;\n\nexport type AccountWalletObjectOf<WalletType extends AccountWalletType> =\n Extract<\n | { type: AccountWalletType.Entropy; object: AccountWalletEntropyObject }\n | { type: AccountWalletType.Keyring; object: AccountWalletKeyringObject }\n | { type: AccountWalletType.Snap; object: AccountWalletSnapObject },\n { type: WalletType }\n >['object'];\n"]}
|
package/package.json
CHANGED