Open
Description
Current controller classes with empty state
- Convert AssetsContractController from BaseControllerV1 to BaseControllerV2 #4072
- As a non-controller with empty state,
ChainController
should not inherit fromBaseController
#4433 - As a non-controller with empty state,
NftDetectionController
should not inherit fromBaseController
#4434 - As a non-controller with empty state,
TokenDetectionController
should not inherit fromBaseController
#4435
Requirements
- Should not inherit from
BaseControllerV1
orBaseController
. - 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.