MetaMask/core

As a non-controller with empty state, `TokenDetectionController` should not inherit from `BaseController`

Opened this issue · 0 comments

Requirements

  • Should not inherit from BaseControllerV1 or BaseController.
  • Should not use the Controller suffix in its name.
  • Types for ControllerState, ControllerGetStateAction, ControllerStateChangeEvent should not be defined or exported.
  • Should accept messenger as a constructor option.
  • messenger should be defined with allowlists that enable the class to make all communications with other controller classes that were previously supported.
  • Should not accept any class method callbacks as constructor options. Messenger actions/events should be used to communicate instead.
  • In some cases, methods that implement API interactions should be extracted into a dedicated service class.