preferences test fixes for tokens per account
This commit is contained in:
parent
2770df80e3
commit
adee549c43
|
@ -40,10 +40,9 @@ class PreferencesController {
|
||||||
Object.defineProperty(this.store._state, 'tokens', {
|
Object.defineProperty(this.store._state, 'tokens', {
|
||||||
get: () => {
|
get: () => {
|
||||||
const selectedAddress = this.store.getState().selectedAddress
|
const selectedAddress = this.store.getState().selectedAddress
|
||||||
const tokens = this.store.getState().addressTokens
|
const addressTokens = this.store.getState().addressTokens
|
||||||
// TODO when create vault
|
if (!(selectedAddress in addressTokens)) return []
|
||||||
if (!(selectedAddress in tokens)) return []
|
return addressTokens[selectedAddress]
|
||||||
return tokens[selectedAddress]
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -88,12 +87,16 @@ class PreferencesController {
|
||||||
*/
|
*/
|
||||||
setAddresses (addresses) {
|
setAddresses (addresses) {
|
||||||
const oldIdentities = this.store.getState().identities
|
const oldIdentities = this.store.getState().identities
|
||||||
|
const addressTokens = this.store.getState().addressTokens
|
||||||
const identities = addresses.reduce((ids, address, index) => {
|
const identities = addresses.reduce((ids, address, index) => {
|
||||||
const oldId = oldIdentities[address] || {}
|
const oldId = oldIdentities[address] || {}
|
||||||
ids[address] = {name: `Account ${index + 1}`, address, ...oldId}
|
ids[address] = {name: `Account ${index + 1}`, address, ...oldId}
|
||||||
return ids
|
return ids
|
||||||
}, {})
|
}, {})
|
||||||
this.store.updateState({ identities })
|
for (const address in identities) {
|
||||||
|
if (!(address in addressTokens)) addressTokens[address] = []
|
||||||
|
}
|
||||||
|
this.store.updateState({ identities, addressTokens })
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,11 +107,13 @@ class PreferencesController {
|
||||||
*/
|
*/
|
||||||
removeAddress (address) {
|
removeAddress (address) {
|
||||||
const identities = this.store.getState().identities
|
const identities = this.store.getState().identities
|
||||||
|
const addressTokens = this.store.getState().addressTokens
|
||||||
if (!identities[address]) {
|
if (!identities[address]) {
|
||||||
throw new Error(`${address} can't be deleted cause it was not found`)
|
throw new Error(`${address} can't be deleted cause it was not found`)
|
||||||
}
|
}
|
||||||
delete identities[address]
|
delete identities[address]
|
||||||
this.store.updateState({ identities })
|
delete addressTokens[address]
|
||||||
|
this.store.updateState({ identities, addressTokens })
|
||||||
|
|
||||||
// If the selected account is no longer valid,
|
// If the selected account is no longer valid,
|
||||||
// select an arbitrary other account:
|
// select an arbitrary other account:
|
||||||
|
@ -194,8 +199,10 @@ class PreferencesController {
|
||||||
setSelectedAddress (_address) {
|
setSelectedAddress (_address) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const address = normalizeAddress(_address)
|
const address = normalizeAddress(_address)
|
||||||
const tokens = this.store.getState().addressTokens[_address]
|
const addressTokens = this.store.getState().addressTokens
|
||||||
this.store.updateState({ selectedAddress: address, tokens: tokens })
|
if (!(address in addressTokens)) addressTokens[address] = []
|
||||||
|
const tokens = addressTokens[address]
|
||||||
|
this.store.updateState({ selectedAddress: address, tokens })
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -265,7 +272,7 @@ class PreferencesController {
|
||||||
removeToken (rawAddress) {
|
removeToken (rawAddress) {
|
||||||
const addressTokens = this.store.getState().addressTokens
|
const addressTokens = this.store.getState().addressTokens
|
||||||
const selectedAddress = this.store.getState().selectedAddress
|
const selectedAddress = this.store.getState().selectedAddress
|
||||||
|
|
||||||
const updatedTokens = addressTokens[selectedAddress].filter(token => token.address !== rawAddress)
|
const updatedTokens = addressTokens[selectedAddress].filter(token => token.address !== rawAddress)
|
||||||
addressTokens[selectedAddress] = updatedTokens
|
addressTokens[selectedAddress] = updatedTokens
|
||||||
this.store.updateState({ addressTokens, tokens: updatedTokens })
|
this.store.updateState({ addressTokens, tokens: updatedTokens })
|
||||||
|
|
Loading…
Reference in New Issue