mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Basic infrasture for RPC list added.
This commit is contained in:
parent
09c7b9d242
commit
db48f8984f
@ -4,7 +4,7 @@ const normalizeAddress = require('../sig-util').normalize
|
||||
class PreferencesController {
|
||||
|
||||
constructor (opts = {}) {
|
||||
const initState = opts.initState || {}
|
||||
const initState = opts.initState || { frequentRPCList: [] }
|
||||
this.store = new ObservableStore(initState)
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ class PreferencesController {
|
||||
// PUBLIC METHODS
|
||||
//
|
||||
|
||||
setSelectedAddress(_address) {
|
||||
setSelectedAddress (_address) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const address = normalizeAddress(_address)
|
||||
this.store.updateState({ selectedAddress: address })
|
||||
@ -20,10 +20,30 @@ class PreferencesController {
|
||||
})
|
||||
}
|
||||
|
||||
getSelectedAddress(_address) {
|
||||
getSelectedAddress (_address) {
|
||||
return this.store.getState().selectedAddress
|
||||
}
|
||||
|
||||
addToFrequentRPCList (_url) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let rpcList = this.getFrequentRPCList()
|
||||
let index = rpcList.findIndex((element) => { element === _url })
|
||||
if (index) {
|
||||
rpcList.splice(index, 1)
|
||||
}
|
||||
if (rpcList.length >= 3) {
|
||||
rpcList.shift()
|
||||
}
|
||||
rpcList.push(_url)
|
||||
this.store.updateState({ frequentRPCList: rpcList })
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
getFrequentRPCList () {
|
||||
return this.store.getState().frequentRPCList
|
||||
}
|
||||
|
||||
//
|
||||
// PRIVATE METHODS
|
||||
//
|
||||
|
@ -259,6 +259,7 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
|
||||
// PreferencesController
|
||||
setSelectedAddress: nodeify(preferencesController.setSelectedAddress).bind(preferencesController),
|
||||
setFrequentRPCList: nodeify(preferencesController.setFrequentRPCList).bind(preferencesController),
|
||||
|
||||
// KeyringController
|
||||
setLocked: nodeify(keyringController.setLocked).bind(keyringController),
|
||||
|
Loading…
Reference in New Issue
Block a user