Open
9 of 62 issues completedDescription
What is this about?
This is an epic that tracks the controller decoupling work as outlined here here - https://www.notion.so/metamask-consensys/Architecture-decoupling-refinement-175f86d67d68806c8f2cdfd32ec83544?pvs=4 with the main goal of increasing developer velocity by also decoupling code ownership.
Tasks:
- refactor: modular controller init #28948
- Decouple LoggingController from metamask controller #29523
- Decouple AppMetadataController from metamask controller #29524
- Decouple ApprovalController from metamask controller #29526
- Decouple QueuedRequestController from metamask controller #29525
- Decouple MmiConfigurationControllr from metamask controller #29527
- Decouple NetworkController from metamask controller #29528
- Decouple AccountsController from metamask controller #29529
- Decouple PreferencesController from metamask controller #29530
- Decouple TokenListController from metamask controller #29531
- Decouple AssetsContractControlle from metamask controller #29532
- Decouple TokensController from metamask controller #29534
- Decouple NftController from metamask controller #29535
- Decouple NftDetectionController from metamask controller #29536
- Decouple MetaMetricsController from metamask controller #29537
- Decouple MetaMetricsDataDeletionontroller from metamask controller #29538
- Decouple GasFeeController from metamask controller #29539
- Decouple AppStateController from metamask controller #29540
- Decouple CurrencyRateController from metamask controller #29541
- Decouple TokenBalancesController from metamask controller #29542
- Decouple PhishingController from metamask controller #29544
- Decouple PPOMController from metamask controller #29543
- Decouple AnnouncementController from metamask controller #29545
- Decouple NetworkOrderController from metamask controller #29546
- Decouple AccountOrderController from metamask controller #29547
- Decouple MultichainBalancesController from metamask controller #29548
- Decouple RatesController (as MultichinRatesController) from metamask controller #29549
- Decouple TokenRatesController from metamask controller #29550
- Decouple EnsController from metamask controller #29551
- Decouple OnboardingController from metamask controller #29552
- Decouple KeyringController from metamask controller #29553
- Decouple PermissionController from metamask controller #29554
- Decouple SelectedNetworkController from metamask controller #29556
- Decouple PermissionLogController from metamask controller #29557
- Decouple SubjectMetadataControler from metamask controller #29558
- Decouple SnapController from metamask controller #29559
- Decouple RateLimitController from metamask controller #29560
- Decouple CronjobController from metamask controller #29561
- Decouple SnapInterfaceController from metamask controller #29562
- Decouple SnapInterfaceController from metamask controller #29562
- Decouple AuthenticationController.Controller from metamask controller #29565
- Decouple UserStorageController.Controller from metamask controller #29567
- Decouple NotificationServicesPushController.Controller from metamask controller #29568
- Decouple NotificationServicesController.Controller from metamask controller #29570
- Decouple AccountTrackerController from metamask controller #29571
- Decouple TokenDetectionController from metamask controller #29572
- Decouple AddressBookController from metamask controller #29573
- Decouple AlertController from metamask controller #29574
- Decouple CustodyController from metamask controller #29575
- Decouple InstitutionalFeaturesController from metamask controller #29576
- Decouple TransactionUpdateController from metamask controller #29577
- Decouple TransactionController from metamask controller #29578
- Decouple DecryptMessageController from metamask controller #29579
- Decouple EncryptionPublicKeyControler from metamask controller #29580
- Decouple SignatureController from metamask controller #29581
- Decouple MMIController from metamask controller #29582
- Decouple SwapsController from metamask controller #29583
- Decouple BridgeController from metamask controller #29584
- Decouple BridgeStatusController from metamask controller #29585
- Decouple SmartTransactionsContoller from metamask controller #29586
- Decouple NameController from metamask controller #29587
- Decouple UserOperationController from metamask controller #29588
- Decouple RemoteFeatureFlagController from metamask controller #29589
Scenario
- TBD
Design
No response
Technical Details
- TBD
Threat Modeling Framework
No response
Acceptance Criteria
- TBD
Stakeholder review needed before the work gets merged
- Engineering (needed in most cases)
- Design
- Product
- QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- Security
- Legal
- Marketing
- Management (please specify)
- Other (please specify)
References
No response