aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers/preferences.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/scripts/controllers/preferences.js')
-rw-r--r--app/scripts/controllers/preferences.js22
1 files changed, 16 insertions, 6 deletions
diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js
index 04c9a3254..bda521bdd 100644
--- a/app/scripts/controllers/preferences.js
+++ b/app/scripts/controllers/preferences.js
@@ -15,6 +15,7 @@ class PreferencesController {
* @property {string} store.currentAccountTab Indicates the selected tab in the ui
* @property {array} store.tokens The tokens the user wants display in their token lists
* @property {object} store.accountTokens The tokens stored per account and then per network type
+ * @property {object} store.objects Contains assets objects related to
* @property {boolean} store.useBlockie The users preference for blockie identicons within the UI
* @property {object} store.featureFlags A key-boolean map, where keys refer to features and booleans to whether the
* user wishes to see that feature
@@ -28,6 +29,7 @@ class PreferencesController {
currentAccountTab: 'history',
accountTokens: {},
tokens: [],
+ objects: {},
suggestedTokens: {},
useBlockie: false,
featureFlags: {},
@@ -58,6 +60,10 @@ class PreferencesController {
return this.store.getState().suggestedTokens
}
+ getObjects () {
+ return this.store.getState().objects
+ }
+
addSuggestedToken (tokenOpts) {
this._validateSuggestedTokenParams(tokenOpts)
const suggested = this.getSuggestedTokens()
@@ -286,8 +292,9 @@ class PreferencesController {
*/
async addToken (rawAddress, symbol, decimals, imageUrl) {
const address = normalizeAddress(rawAddress)
- const newEntry = { address, symbol, decimals, imageUrl }
+ const newEntry = { address, symbol, decimals }
const tokens = this.store.getState().tokens
+ const objects = this.getObjects()
const previousEntry = tokens.find((token, index) => {
return token.address === address
})
@@ -298,8 +305,9 @@ class PreferencesController {
} else {
tokens.push(newEntry)
}
- this._updateAccountTokens(tokens)
-
+ objects[address] = imageUrl
+ this._updateAccountTokens(tokens, objects)
+ console.log('OBJECTS OBJET', this.getObjects())
return Promise.resolve(tokens)
}
@@ -312,8 +320,10 @@ class PreferencesController {
*/
removeToken (rawAddress) {
const tokens = this.store.getState().tokens
+ const objects = this.getObjects()
const updatedTokens = tokens.filter(token => token.address !== rawAddress)
- this._updateAccountTokens(updatedTokens)
+ const updatedObjects = Object.keys(objects).filter(key => key !== rawAddress)
+ this._updateAccountTokens(updatedTokens, updatedObjects)
return Promise.resolve(updatedTokens)
}
@@ -477,10 +487,10 @@ class PreferencesController {
* @param {array} tokens Array of tokens to be updated.
*
*/
- _updateAccountTokens (tokens) {
+ _updateAccountTokens (tokens, objects) {
const { accountTokens, providerType, selectedAddress } = this._getTokenRelatedStates()
accountTokens[selectedAddress][providerType] = tokens
- this.store.updateState({ accountTokens, tokens })
+ this.store.updateState({ accountTokens, tokens, objects })
}
/**