@metamask-previews/account-tree-controller 7.1.0-preview-d23d9dc44 → 7.1.0-preview-a1caffc9c
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 +0 -4
- package/dist/AccountTreeController.d.cts +2 -0
- package/dist/AccountTreeController.d.cts.map +1 -1
- package/dist/AccountTreeController.d.mts +2 -0
- package/dist/AccountTreeController.d.mts.map +1 -1
- package/dist/rules/snap.cjs +12 -21
- package/dist/rules/snap.cjs.map +1 -1
- package/dist/rules/snap.d.cts +0 -1
- package/dist/rules/snap.d.cts.map +1 -1
- package/dist/rules/snap.d.mts +0 -1
- package/dist/rules/snap.d.mts.map +1 -1
- package/dist/rules/snap.mjs +12 -21
- package/dist/rules/snap.mjs.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -11,10 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
11
11
|
|
|
12
12
|
- Bump `@metamask/keyring-api` from `^21.6.0` to `^23.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
|
|
13
13
|
- Add Stellar sort-order support ([#8464](https://github.com/MetaMask/core/pull/8464))
|
|
14
|
-
- Now use `SnapController:getSnap` when applying Snap rule (instead of using `account.metadata.snap.enabled`. ([#8584](https://github.com/MetaMask/core/pull/8584))
|
|
15
|
-
- As a result of this, Snap accounts that reference unavailable Snap (read, not available on the `SnapController`) will now be grouped under the Keyring rule instead (e.g being put in the "Snap Wallet" section).
|
|
16
|
-
- Bump `@metamask/messenger` from `^1.1.1` to `^1.2.0` ([#8632](https://github.com/MetaMask/core/pull/8632))
|
|
17
|
-
- Bump `@metamask/keyring-controller` from `^25.2.0` to `^25.3.0` ([#8634](https://github.com/MetaMask/core/pull/8634))
|
|
18
14
|
|
|
19
15
|
## [7.1.0]
|
|
20
16
|
|
|
@@ -107,7 +107,9 @@ export declare class AccountTreeController extends BaseController<typeof control
|
|
|
107
107
|
type: string;
|
|
108
108
|
};
|
|
109
109
|
snap?: {
|
|
110
|
+
name: string;
|
|
110
111
|
id: string;
|
|
112
|
+
enabled: boolean;
|
|
111
113
|
} | undefined;
|
|
112
114
|
nameLastUpdatedAt?: number | undefined;
|
|
113
115
|
lastSelected?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountTreeController.d.cts","sourceRoot":"","sources":["../src/AccountTreeController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAGhB,8BAA8B;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAsC;AAE/D,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAUtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAgB;AACvE,OAAO,EACL,0BAA0B,EAI3B,oBAAgB;AAMjB,OAAO,KAAK,EACV,2BAA2B,EAE3B,8BAA8B,EAC9B,0BAA0B,EAC3B,oBAAgB;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAyB,qBAAiB;AAE3E,eAAO,MAAM,cAAc,0BAA0B,CAAC;AA2DtD;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,0BAA0B,CAWjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,mBAAmB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,cAAc,CACvD,OAAO,cAAc,EACrB,0BAA0B,EAC1B,8BAA8B,CAC/B;;IAyBC;;;;;;;OAOG;gBAES,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,8BAA8B,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAC;KACtC;IA2ID;;;;;;OAMG;IACH,IAAI;IAqGJ;;;;;OAKG;IACH,MAAM;IA+VN;;;;;OAKG;IACH,sBAAsB,CACpB,QAAQ,EAAE,eAAe,GACxB,mBAAmB,GAAG,SAAS;IASlC;;;;OAIG;IACH,uBAAuB,IAAI,mBAAmB,EAAE;IAIhD;;;;;;;;;;OAUG;IACH,mCAAmC,CACjC,QAAQ,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"AccountTreeController.d.cts","sourceRoot":"","sources":["../src/AccountTreeController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAGhB,8BAA8B;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAsC;AAE/D,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAUtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAgB;AACvE,OAAO,EACL,0BAA0B,EAI3B,oBAAgB;AAMjB,OAAO,KAAK,EACV,2BAA2B,EAE3B,8BAA8B,EAC9B,0BAA0B,EAC3B,oBAAgB;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAyB,qBAAiB;AAE3E,eAAO,MAAM,cAAc,0BAA0B,CAAC;AA2DtD;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,0BAA0B,CAWjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,mBAAmB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,cAAc,CACvD,OAAO,cAAc,EACrB,0BAA0B,EAC1B,8BAA8B,CAC/B;;IAyBC;;;;;;;OAOG;gBAES,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,8BAA8B,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAC;KACtC;IA2ID;;;;;;OAMG;IACH,IAAI;IAqGJ;;;;;OAKG;IACH,MAAM;IA+VN;;;;;OAKG;IACH,sBAAsB,CACpB,QAAQ,EAAE,eAAe,GACxB,mBAAmB,GAAG,SAAS;IASlC;;;;OAIG;IACH,uBAAuB,IAAI,mBAAmB,EAAE;IAIhD;;;;;;;;;;OAUG;IACH,mCAAmC,CACjC,QAAQ,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4B7C;;;;;OAKG;IACH,qBAAqB,CACnB,OAAO,EAAE,cAAc,GACtB,kBAAkB,GAAG,SAAS;IAUjC;;;;;OAKG;IACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS;IAwTnE;;;;OAIG;IACH,uBAAuB,IAAI,cAAc,GAAG,EAAE;IAqE9C;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAuMtD;;;;;;;;OAQG;IACH,mBAAmB,CACjB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,kBAAkB,GAAE,OAAe,GAClC,IAAI;IAgDP;;;;;;OAMG;IACH,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAyBnE;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAmCrE;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAmCrE;;;OAGG;IACH,UAAU,IAAI,IAAI;IAclB;;;;;;;;;;OAUG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;;;;;;OAWG;IACG,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBtD"}
|
|
@@ -107,7 +107,9 @@ export declare class AccountTreeController extends BaseController<typeof control
|
|
|
107
107
|
type: string;
|
|
108
108
|
};
|
|
109
109
|
snap?: {
|
|
110
|
+
name: string;
|
|
110
111
|
id: string;
|
|
112
|
+
enabled: boolean;
|
|
111
113
|
} | undefined;
|
|
112
114
|
nameLastUpdatedAt?: number | undefined;
|
|
113
115
|
lastSelected?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountTreeController.d.mts","sourceRoot":"","sources":["../src/AccountTreeController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAGhB,8BAA8B;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAsC;AAE/D,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAUtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAgB;AACvE,OAAO,EACL,0BAA0B,EAI3B,oBAAgB;AAMjB,OAAO,KAAK,EACV,2BAA2B,EAE3B,8BAA8B,EAC9B,0BAA0B,EAC3B,oBAAgB;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAyB,qBAAiB;AAE3E,eAAO,MAAM,cAAc,0BAA0B,CAAC;AA2DtD;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,0BAA0B,CAWjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,mBAAmB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,cAAc,CACvD,OAAO,cAAc,EACrB,0BAA0B,EAC1B,8BAA8B,CAC/B;;IAyBC;;;;;;;OAOG;gBAES,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,8BAA8B,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAC;KACtC;IA2ID;;;;;;OAMG;IACH,IAAI;IAqGJ;;;;;OAKG;IACH,MAAM;IA+VN;;;;;OAKG;IACH,sBAAsB,CACpB,QAAQ,EAAE,eAAe,GACxB,mBAAmB,GAAG,SAAS;IASlC;;;;OAIG;IACH,uBAAuB,IAAI,mBAAmB,EAAE;IAIhD;;;;;;;;;;OAUG;IACH,mCAAmC,CACjC,QAAQ,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"AccountTreeController.d.mts","sourceRoot":"","sources":["../src/AccountTreeController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAGhB,8BAA8B;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAsC;AAE/D,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAUtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAgB;AACvE,OAAO,EACL,0BAA0B,EAI3B,oBAAgB;AAMjB,OAAO,KAAK,EACV,2BAA2B,EAE3B,8BAA8B,EAC9B,0BAA0B,EAC3B,oBAAgB;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAyB,qBAAiB;AAE3E,eAAO,MAAM,cAAc,0BAA0B,CAAC;AA2DtD;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,0BAA0B,CAWjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,mBAAmB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,cAAc,CACvD,OAAO,cAAc,EACrB,0BAA0B,EAC1B,8BAA8B,CAC/B;;IAyBC;;;;;;;OAOG;gBAES,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,8BAA8B,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAC;KACtC;IA2ID;;;;;;OAMG;IACH,IAAI;IAqGJ;;;;;OAKG;IACH,MAAM;IA+VN;;;;;OAKG;IACH,sBAAsB,CACpB,QAAQ,EAAE,eAAe,GACxB,mBAAmB,GAAG,SAAS;IASlC;;;;OAIG;IACH,uBAAuB,IAAI,mBAAmB,EAAE;IAIhD;;;;;;;;;;OAUG;IACH,mCAAmC,CACjC,QAAQ,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4B7C;;;;;OAKG;IACH,qBAAqB,CACnB,OAAO,EAAE,cAAc,GACtB,kBAAkB,GAAG,SAAS;IAUjC;;;;;OAKG;IACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS;IAwTnE;;;;OAIG;IACH,uBAAuB,IAAI,cAAc,GAAG,EAAE;IAqE9C;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAuMtD;;;;;;;;OAQG;IACH,mBAAmB,CACjB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,kBAAkB,GAAE,OAAe,GAClC,IAAI;IAgDP;;;;;;OAMG;IACH,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAyBnE;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAmCrE;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAmCrE;;;OAGG;IACH,UAAU,IAAI,IAAI;IAclB;;;;;;;;;;OAUG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;;;;;;OAWG;IACG,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBtD"}
|
package/dist/rules/snap.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 _SnapRule_instances, _SnapRule_isSnapAccount;
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
3
|
exports.SnapRule = void 0;
|
|
10
4
|
const account_api_1 = require("@metamask/account-api");
|
|
@@ -13,15 +7,25 @@ const keyring_controller_1 = require("@metamask/keyring-controller");
|
|
|
13
7
|
const snaps_utils_1 = require("@metamask/snaps-utils");
|
|
14
8
|
const rule_1 = require("../rule.cjs");
|
|
15
9
|
const keyring_1 = require("./keyring.cjs");
|
|
10
|
+
/**
|
|
11
|
+
* Check if an account is a Snap account.
|
|
12
|
+
*
|
|
13
|
+
* @param account - The account to check.
|
|
14
|
+
* @returns True if the account is a Snap account, false otherwise.
|
|
15
|
+
*/
|
|
16
|
+
function isSnapAccount(account) {
|
|
17
|
+
return (account.metadata.keyring.type === keyring_controller_1.KeyringTypes.snap &&
|
|
18
|
+
account.metadata.snap !== undefined &&
|
|
19
|
+
account.metadata.snap.enabled);
|
|
20
|
+
}
|
|
16
21
|
class SnapRule extends rule_1.BaseRule {
|
|
17
22
|
constructor() {
|
|
18
23
|
super(...arguments);
|
|
19
|
-
_SnapRule_instances.add(this);
|
|
20
24
|
this.walletType = account_api_1.AccountWalletType.Snap;
|
|
21
25
|
this.groupType = account_api_1.AccountGroupType.SingleAccount;
|
|
22
26
|
}
|
|
23
27
|
match(account) {
|
|
24
|
-
if (!
|
|
28
|
+
if (!isSnapAccount(account)) {
|
|
25
29
|
return undefined;
|
|
26
30
|
}
|
|
27
31
|
const { id: snapId } = account.metadata.snap;
|
|
@@ -63,17 +67,4 @@ class SnapRule extends rule_1.BaseRule {
|
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
exports.SnapRule = SnapRule;
|
|
66
|
-
_SnapRule_instances = new WeakSet(), _SnapRule_isSnapAccount = function _SnapRule_isSnapAccount(account) {
|
|
67
|
-
const snapId = account.metadata.snap?.id;
|
|
68
|
-
if (snapId === undefined) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
const snap = this.messenger.call('SnapController:getSnap', snapId);
|
|
72
|
-
if (snap === null) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
return (account.metadata.keyring.type === keyring_controller_1.KeyringTypes.snap &&
|
|
76
|
-
snap.enabled &&
|
|
77
|
-
!snap.blocked);
|
|
78
|
-
};
|
|
79
70
|
//# sourceMappingURL=snap.cjs.map
|
package/dist/rules/snap.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap.cjs","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snap.cjs","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":";;;AAAA,uDAA4E;AAC5E,uDAA4E;AAC5E,qEAA4D;AAG5D,uDAAwD;AAExD,sCAAmC;AAGnC,2CAAiE;AAajE;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAwB;IAExB,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAM,iCAAY,CAAC,IAAe;QAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;QACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAC9B,CAAC;AACJ,CAAC;AAED,MAAa,QACX,SAAQ,eAAQ;IADlB;;QAIW,eAAU,GAAG,+BAAiB,CAAC,IAAI,CAAC;QAEpC,cAAS,GAAG,8BAAgB,CAAC,aAAa,CAAC;IA0DtD,CAAC;IAxDC,KAAK,CACH,OAAwB;QAIxB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAA,+BAAiB,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE;oBACR,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM;qBACX;iBACF;aACF;YAED,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,CAAC;iBAChB;aACF;SACF,CAAC;IACJ,CAAC;IAED,2BAA2B,CACzB,MAAqD;QAErD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI;YACnB,CAAC,CAAC,oGAAoG;gBACpG,eAAe;gBACf,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC5B,CAAC,CAAC,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4BAA4B,CAC1B,OAAsD;QAEtD,OAAO,IAAA,8CAAoC,EAAC,iCAAY,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CACF;AAhED,4BAgEC","sourcesContent":["import { AccountGroupType, AccountWalletType } from '@metamask/account-api';\nimport { toAccountWalletId, toAccountGroupId } from '@metamask/account-api';\nimport { KeyringTypes } from '@metamask/keyring-controller';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { stripSnapPrefix } from '@metamask/snaps-utils';\n\nimport { BaseRule } from '../rule';\nimport type { Rule, RuleResult } from '../rule';\nimport type { AccountWalletObjectOf } from '../wallet';\nimport { getAccountGroupPrefixFromKeyringType } from './keyring';\n\n/**\n * Snap account type.\n */\ntype SnapAccount<Account extends InternalAccount> = Account & {\n metadata: Account['metadata'] & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Check if an account is a Snap account.\n *\n * @param account - The account to check.\n * @returns True if the account is a Snap account, false otherwise.\n */\nfunction isSnapAccount(\n account: InternalAccount,\n): account is SnapAccount<InternalAccount> {\n return (\n account.metadata.keyring.type === (KeyringTypes.snap as string) &&\n account.metadata.snap !== undefined &&\n account.metadata.snap.enabled\n );\n}\n\nexport class SnapRule\n extends BaseRule\n implements Rule<AccountWalletType.Snap, AccountGroupType.SingleAccount>\n{\n readonly walletType = AccountWalletType.Snap;\n\n readonly groupType = AccountGroupType.SingleAccount;\n\n match(\n account: InternalAccount,\n ):\n | RuleResult<AccountWalletType.Snap, AccountGroupType.SingleAccount>\n | undefined {\n if (!isSnapAccount(account)) {\n return undefined;\n }\n\n const { id: snapId } = account.metadata.snap;\n\n const walletId = toAccountWalletId(this.walletType, snapId);\n const groupId = toAccountGroupId(walletId, account.address);\n\n return {\n wallet: {\n type: this.walletType,\n id: walletId,\n metadata: {\n snap: {\n id: snapId,\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.Snap>,\n ): string {\n const snapId = wallet.metadata.snap.id;\n const snap = this.messenger.call('SnapController:getSnap', snapId);\n const snapName = snap\n ? // TODO: Handle localization here, but that's a \"client thing\", so we don't have a `core` controller\n // to refer to.\n snap.manifest.proposedName\n : stripSnapPrefix(snapId);\n\n return snapName;\n }\n\n getDefaultAccountGroupPrefix(\n _wallet: AccountWalletObjectOf<AccountWalletType.Snap>,\n ): string {\n return getAccountGroupPrefixFromKeyringType(KeyringTypes.snap);\n }\n}\n"]}
|
package/dist/rules/snap.d.cts
CHANGED
|
@@ -4,7 +4,6 @@ import { BaseRule } from "../rule.cjs";
|
|
|
4
4
|
import type { Rule, RuleResult } from "../rule.cjs";
|
|
5
5
|
import type { AccountWalletObjectOf } from "../wallet.cjs";
|
|
6
6
|
export declare class SnapRule extends BaseRule implements Rule<AccountWalletType.Snap, AccountGroupType.SingleAccount> {
|
|
7
|
-
#private;
|
|
8
7
|
readonly walletType = AccountWalletType.Snap;
|
|
9
8
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
10
9
|
match(account: InternalAccount): RuleResult<AccountWalletType.Snap, AccountGroupType.SingleAccount> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap.d.cts","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAItE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;
|
|
1
|
+
{"version":3,"file":"snap.d.cts","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAItE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AA8BvD,qBAAa,QACX,SAAQ,QACR,YAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAEvE,QAAQ,CAAC,UAAU,0BAA0B;IAE7C,QAAQ,CAAC,SAAS,kCAAkC;IAEpD,KAAK,CACH,OAAO,EAAE,eAAe,GAEtB,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAClE,SAAS;IAiCb,2BAA2B,CACzB,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GACpD,MAAM;IAYT,4BAA4B,CAC1B,OAAO,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GACrD,MAAM;CAGV"}
|
package/dist/rules/snap.d.mts
CHANGED
|
@@ -4,7 +4,6 @@ import { BaseRule } from "../rule.mjs";
|
|
|
4
4
|
import type { Rule, RuleResult } from "../rule.mjs";
|
|
5
5
|
import type { AccountWalletObjectOf } from "../wallet.mjs";
|
|
6
6
|
export declare class SnapRule extends BaseRule implements Rule<AccountWalletType.Snap, AccountGroupType.SingleAccount> {
|
|
7
|
-
#private;
|
|
8
7
|
readonly walletType = AccountWalletType.Snap;
|
|
9
8
|
readonly groupType = AccountGroupType.SingleAccount;
|
|
10
9
|
match(account: InternalAccount): RuleResult<AccountWalletType.Snap, AccountGroupType.SingleAccount> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap.d.mts","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAItE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;
|
|
1
|
+
{"version":3,"file":"snap.d.mts","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAItE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAgB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAkB;AA8BvD,qBAAa,QACX,SAAQ,QACR,YAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAEvE,QAAQ,CAAC,UAAU,0BAA0B;IAE7C,QAAQ,CAAC,SAAS,kCAAkC;IAEpD,KAAK,CACH,OAAO,EAAE,eAAe,GAEtB,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAClE,SAAS;IAiCb,2BAA2B,CACzB,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GACpD,MAAM;IAYT,4BAA4B,CAC1B,OAAO,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GACrD,MAAM;CAGV"}
|
package/dist/rules/snap.mjs
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
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 _SnapRule_instances, _SnapRule_isSnapAccount;
|
|
7
1
|
import { AccountGroupType, AccountWalletType } from "@metamask/account-api";
|
|
8
2
|
import { toAccountWalletId, toAccountGroupId } from "@metamask/account-api";
|
|
9
3
|
import { KeyringTypes } from "@metamask/keyring-controller";
|
|
10
4
|
import { stripSnapPrefix } from "@metamask/snaps-utils";
|
|
11
5
|
import { BaseRule } from "../rule.mjs";
|
|
12
6
|
import { getAccountGroupPrefixFromKeyringType } from "./keyring.mjs";
|
|
7
|
+
/**
|
|
8
|
+
* Check if an account is a Snap account.
|
|
9
|
+
*
|
|
10
|
+
* @param account - The account to check.
|
|
11
|
+
* @returns True if the account is a Snap account, false otherwise.
|
|
12
|
+
*/
|
|
13
|
+
function isSnapAccount(account) {
|
|
14
|
+
return (account.metadata.keyring.type === KeyringTypes.snap &&
|
|
15
|
+
account.metadata.snap !== undefined &&
|
|
16
|
+
account.metadata.snap.enabled);
|
|
17
|
+
}
|
|
13
18
|
export class SnapRule extends BaseRule {
|
|
14
19
|
constructor() {
|
|
15
20
|
super(...arguments);
|
|
16
|
-
_SnapRule_instances.add(this);
|
|
17
21
|
this.walletType = AccountWalletType.Snap;
|
|
18
22
|
this.groupType = AccountGroupType.SingleAccount;
|
|
19
23
|
}
|
|
20
24
|
match(account) {
|
|
21
|
-
if (!
|
|
25
|
+
if (!isSnapAccount(account)) {
|
|
22
26
|
return undefined;
|
|
23
27
|
}
|
|
24
28
|
const { id: snapId } = account.metadata.snap;
|
|
@@ -59,17 +63,4 @@ export class SnapRule extends BaseRule {
|
|
|
59
63
|
return getAccountGroupPrefixFromKeyringType(KeyringTypes.snap);
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
|
-
_SnapRule_instances = new WeakSet(), _SnapRule_isSnapAccount = function _SnapRule_isSnapAccount(account) {
|
|
63
|
-
const snapId = account.metadata.snap?.id;
|
|
64
|
-
if (snapId === undefined) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
const snap = this.messenger.call('SnapController:getSnap', snapId);
|
|
68
|
-
if (snap === null) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
return (account.metadata.keyring.type === KeyringTypes.snap &&
|
|
72
|
-
snap.enabled &&
|
|
73
|
-
!snap.blocked);
|
|
74
|
-
};
|
|
75
66
|
//# sourceMappingURL=snap.mjs.map
|
package/dist/rules/snap.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap.mjs","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snap.mjs","sourceRoot":"","sources":["../../src/rules/snap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B;AAC5E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,8BAA8B;AAC5E,OAAO,EAAE,YAAY,EAAE,qCAAqC;AAG5D,OAAO,EAAE,eAAe,EAAE,8BAA8B;AAExD,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AAGnC,OAAO,EAAE,oCAAoC,EAAE,sBAAkB;AAajE;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAwB;IAExB,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAM,YAAY,CAAC,IAAe;QAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;QACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,QACX,SAAQ,QAAQ;IADlB;;QAIW,eAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAEpC,cAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC;IA0DtD,CAAC;IAxDC,KAAK,CACH,OAAwB;QAIxB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE;oBACR,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM;qBACX;iBACF;aACF;YAED,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,CAAC;iBAChB;aACF;SACF,CAAC;IACJ,CAAC;IAED,2BAA2B,CACzB,MAAqD;QAErD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI;YACnB,CAAC,CAAC,oGAAoG;gBACpG,eAAe;gBACf,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC5B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4BAA4B,CAC1B,OAAsD;QAEtD,OAAO,oCAAoC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CACF","sourcesContent":["import { AccountGroupType, AccountWalletType } from '@metamask/account-api';\nimport { toAccountWalletId, toAccountGroupId } from '@metamask/account-api';\nimport { KeyringTypes } from '@metamask/keyring-controller';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { stripSnapPrefix } from '@metamask/snaps-utils';\n\nimport { BaseRule } from '../rule';\nimport type { Rule, RuleResult } from '../rule';\nimport type { AccountWalletObjectOf } from '../wallet';\nimport { getAccountGroupPrefixFromKeyringType } from './keyring';\n\n/**\n * Snap account type.\n */\ntype SnapAccount<Account extends InternalAccount> = Account & {\n metadata: Account['metadata'] & {\n snap: {\n id: SnapId;\n };\n };\n};\n\n/**\n * Check if an account is a Snap account.\n *\n * @param account - The account to check.\n * @returns True if the account is a Snap account, false otherwise.\n */\nfunction isSnapAccount(\n account: InternalAccount,\n): account is SnapAccount<InternalAccount> {\n return (\n account.metadata.keyring.type === (KeyringTypes.snap as string) &&\n account.metadata.snap !== undefined &&\n account.metadata.snap.enabled\n );\n}\n\nexport class SnapRule\n extends BaseRule\n implements Rule<AccountWalletType.Snap, AccountGroupType.SingleAccount>\n{\n readonly walletType = AccountWalletType.Snap;\n\n readonly groupType = AccountGroupType.SingleAccount;\n\n match(\n account: InternalAccount,\n ):\n | RuleResult<AccountWalletType.Snap, AccountGroupType.SingleAccount>\n | undefined {\n if (!isSnapAccount(account)) {\n return undefined;\n }\n\n const { id: snapId } = account.metadata.snap;\n\n const walletId = toAccountWalletId(this.walletType, snapId);\n const groupId = toAccountGroupId(walletId, account.address);\n\n return {\n wallet: {\n type: this.walletType,\n id: walletId,\n metadata: {\n snap: {\n id: snapId,\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.Snap>,\n ): string {\n const snapId = wallet.metadata.snap.id;\n const snap = this.messenger.call('SnapController:getSnap', snapId);\n const snapName = snap\n ? // TODO: Handle localization here, but that's a \"client thing\", so we don't have a `core` controller\n // to refer to.\n snap.manifest.proposedName\n : stripSnapPrefix(snapId);\n\n return snapName;\n }\n\n getDefaultAccountGroupPrefix(\n _wallet: AccountWalletObjectOf<AccountWalletType.Snap>,\n ): string {\n return getAccountGroupPrefixFromKeyringType(KeyringTypes.snap);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/account-tree-controller",
|
|
3
|
-
"version": "7.1.0-preview-
|
|
3
|
+
"version": "7.1.0-preview-a1caffc9c",
|
|
4
4
|
"description": "Controller to group account together based on some pre-defined rules",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"@metamask/accounts-controller": "^37.2.0",
|
|
57
57
|
"@metamask/base-controller": "^9.1.0",
|
|
58
58
|
"@metamask/keyring-api": "^23.0.1",
|
|
59
|
-
"@metamask/keyring-controller": "^25.
|
|
60
|
-
"@metamask/messenger": "^1.
|
|
59
|
+
"@metamask/keyring-controller": "^25.2.0",
|
|
60
|
+
"@metamask/messenger": "^1.1.1",
|
|
61
61
|
"@metamask/multichain-account-service": "^8.0.1",
|
|
62
62
|
"@metamask/profile-sync-controller": "^28.0.2",
|
|
63
63
|
"@metamask/snaps-controllers": "^19.0.0",
|