-
-
Notifications
You must be signed in to change notification settings - Fork 268
Closed
Labels
Description
@metamask/accounts-controller (#1637) has started pulling in dependencies from https://github.com/MetaMask/snaps, which in their turn go back for packages from this repo.
To avoid dependency cycles and release churn arising from this dynamic, I propose migrating the package to the snaps monorepo - at least as long as the relationships look like they currently do.
Hand-drawn ASCII art is the dependency tree limited to packages in MetaMask core and snaps monorepos:
@metamask/accounts-controller(core) -> @metamask/keyring-api ----------> @metamask/rpc-methods(snaps) ---------> @metamask/key-tree
| | |-> @metamask/permission-controller(core)*
| | |-> @metamask/snaps-ui(snaps)*
| | |-> @metamask/snaps-utils(snaps)*
| |
| |-> @metamask/snaps-controllers(snaps) ---> @metamask/approval-controller(core) ------------> @metamask/base-controller(core)*
| | |-> @metamask/base-controller(core)*
| | |-> @metamask/permission-controller(core)*
| | |-> @metamask/rpc-methods(snaps) -------------------> @metamask/key-tree*
| | | |-> @metamask/permission-controller(core)*
| | | |-> @metamask/snaps-ui(snaps)*
| | | |-> @metamask/snaps-utils(snaps)*
| | |
| | |-> @metamask/snaps-execution-environments(snaps) --> @metamask/rpc-methods(snaps)*
| | | |-> @metamask/snaps-utils(snaps)*
| | |-> @metamask/snaps-utils(snaps)*
| |-> @metamask/snaps-utils(snaps)*
|
|-> @metamask/eth-snap-keyring -----> @metamask/keyring-api*
| |-> @metamask/snaps-controllers(snaps)*
|
|
|-> @metamask/snaps-utils (snaps) --> @metamask/base-controller(core)
|-> @metamask/key-tree
|-> @metamask/permission-controller(core) --> @metamask/approval-controller(core) --> @metamask/base-controller(core)
| |-> @metamask/base-controller(core)
| |-> @metamask/controller-utils(core)
|-> @metamask/snaps-ui(snaps)