1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

txManager - depend on preferencesStore

This commit is contained in:
kumavis 2017-02-02 21:09:17 -08:00
parent 0c6df24ecf
commit f08f40aee2
3 changed files with 8 additions and 5 deletions

View File

@ -72,8 +72,8 @@ module.exports = class MetamaskController extends EventEmitter {
this.txManager = new TxManager({ this.txManager = new TxManager({
initState: initState.TransactionManager, initState: initState.TransactionManager,
networkStore: this.networkStore, networkStore: this.networkStore,
preferencesStore: this.preferencesController.store,
txHistoryLimit: 40, txHistoryLimit: 40,
getSelectedAddress: this.preferencesController.getSelectedAddress.bind(this.preferencesController),
getNetwork: this.getNetworkState.bind(this), getNetwork: this.getNetworkState.bind(this),
signTransaction: this.keyringController.signTransaction.bind(this.keyringController), signTransaction: this.keyringController.signTransaction.bind(this.keyringController),
provider: this.provider, provider: this.provider,

View File

@ -17,9 +17,8 @@ module.exports = class TransactionManager extends EventEmitter {
}, opts.initState)) }, opts.initState))
this.memStore = new ObservableStore({}) this.memStore = new ObservableStore({})
this.networkStore = opts.networkStore || new ObservableStore({}) this.networkStore = opts.networkStore || new ObservableStore({})
this.preferencesStore = opts.preferencesStore || new ObservableStore({})
this.txHistoryLimit = opts.txHistoryLimit this.txHistoryLimit = opts.txHistoryLimit
this.getSelectedAddress = opts.getSelectedAddress
this.provider = opts.provider this.provider = opts.provider
this.blockTracker = opts.blockTracker this.blockTracker = opts.blockTracker
this.txProviderUtils = new TxProviderUtil(this.provider) this.txProviderUtils = new TxProviderUtil(this.provider)
@ -27,10 +26,11 @@ module.exports = class TransactionManager extends EventEmitter {
this.signEthTx = opts.signTransaction this.signEthTx = opts.signTransaction
this.nonceLock = Semaphore(1) this.nonceLock = Semaphore(1)
// memstore is computed from diskStore // memstore is computed from a few different stores
this._updateMemstore() this._updateMemstore()
this.store.subscribe(() => this._updateMemstore() ) this.store.subscribe(() => this._updateMemstore() )
this.networkStore.subscribe(() => this._updateMemstore() ) this.networkStore.subscribe(() => this._updateMemstore() )
this.preferencesStore.subscribe(() => this._updateMemstore() )
} }
getState () { getState () {
@ -41,6 +41,10 @@ module.exports = class TransactionManager extends EventEmitter {
return this.networkStore.getState().network return this.networkStore.getState().network
} }
getSelectedAddress () {
return this.preferencesStore.getState().selectedAddress
}
// Returns the tx list // Returns the tx list
getTxList () { getTxList () {
let network = this.getNetwork() let network = this.getNetwork()

View File

@ -14,7 +14,6 @@ describe('Transaction Manager', function() {
networkStore: new ObservableStore({ network: 'unit test' }), networkStore: new ObservableStore({ network: 'unit test' }),
txHistoryLimit: 10, txHistoryLimit: 10,
blockTracker: new EventEmitter(), blockTracker: new EventEmitter(),
getSelectedAddress: function(){ return '0xabcd' },
}) })
}) })