mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-27 12:56:01 +01:00
0584988688
These external modules now have their own test coverage and build enforcement. This allowed me to somewhat more easily add good tests around our personalSign strategy (held now in [eth-sig-util](https://github.com/flyswatter/eth-sig-util), and allow each of the keyrings to import that, etc.
34 lines
667 B
JavaScript
34 lines
667 B
JavaScript
const ObservableStore = require('obs-store')
|
|
const normalizeAddress = require('eth-sig-util').normalize
|
|
|
|
class PreferencesController {
|
|
|
|
constructor (opts = {}) {
|
|
const initState = opts.initState || {}
|
|
this.store = new ObservableStore(initState)
|
|
}
|
|
|
|
//
|
|
// PUBLIC METHODS
|
|
//
|
|
|
|
setSelectedAddress(_address) {
|
|
return new Promise((resolve, reject) => {
|
|
const address = normalizeAddress(_address)
|
|
this.store.updateState({ selectedAddress: address })
|
|
resolve()
|
|
})
|
|
}
|
|
|
|
getSelectedAddress(_address) {
|
|
return this.store.getState().selectedAddress
|
|
}
|
|
|
|
//
|
|
// PRIVATE METHODS
|
|
//
|
|
|
|
}
|
|
|
|
module.exports = PreferencesController
|