As a non-controller with empty state, `NftDetectionController` should not inherit from `BaseController`
- Dominant language
- TypeScript
- Stars
- 413
- Forks
- 308
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 253
Description
## 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.~
Contributor guide
No contributing guide indexed for this repository
Research direction
No file or test is named in the issue. Locate NftDetectionController, BaseControllerV1, BaseController, and the referenced controller state types, then trace the existing controller communications before changing the class boundary. Done means the class meets each listed inheritance, naming, export, constructor, and messenger-allowlist requirement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend-api-design
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100