mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 01:39:44 +01:00
fc1ffae406
This PR introduces the concept of subject _types_ to be associated with each subject in the `SubjectMetadataController`, and used for control flow in our RPC stack (`setupProviderEngine` and so forth). We already differentiate between "types" of subjects in various places on an ad hoc basis via boolean flags (e.g. `isInternal` in our RPC stack) or the presence/absence of certain values in the subject's metadata (specifically `metadata.extensionId`). The status quo is manageable if not ideal, but will start to become untenable with the introduction of Snaps in the near future. Therefore, this PR establishes a `SUBJECT_TYPES` enum and adds the `subjectType` property to the metadata of each subject. A new migration is added to accomplish this. Finally, we specify and `INTERNAL` subject type to distinguish internal from external requests. |
||
---|---|---|
.. | ||
account-import-strategies | ||
constants | ||
controllers | ||
lib | ||
migrations | ||
platforms | ||
background.js | ||
contentscript.js | ||
disable-console.js | ||
first-time-state.js | ||
inpage.js | ||
lockdown-more.js | ||
lockdown-run.js | ||
metamask-controller.js | ||
metamask-controller.test.js | ||
phishing-detect.js | ||
sentry-install.js | ||
ui.js |