From d814a45dffa6a872f6e336cad33ca41ffb102887 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Wed, 13 Apr 2016 15:28:44 -0700 Subject: Moved UI into repo with its own dependency stack --- ui/app/reducers/metamask.js | 73 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 ui/app/reducers/metamask.js (limited to 'ui/app/reducers/metamask.js') diff --git a/ui/app/reducers/metamask.js b/ui/app/reducers/metamask.js new file mode 100644 index 000000000..43bb3f761 --- /dev/null +++ b/ui/app/reducers/metamask.js @@ -0,0 +1,73 @@ +const extend = require('xtend') +const actions = require('../actions') + +module.exports = reduceMetamask + +function reduceMetamask(state, action) { + + // clone + defaults + var metamaskState = extend({ + isInitialized: false, + isUnlocked: false, + currentDomain: 'example.com', + rpcTarget: 'https://rawtestrpc.metamask.io/', + identities: {}, + unconfTxs: {}, + }, state.metamask) + + switch (action.type) { + + case actions.SHOW_ACCOUNTS_PAGE: + var state = extend(metamaskState) + delete state.seedWords + return state + + case actions.UPDATE_METAMASK_STATE: + return extend(metamaskState, action.value) + + case actions.UNLOCK_METAMASK: + return extend(metamaskState, { + isUnlocked: true, + isInitialized: true, + }) + + case actions.LOCK_METAMASK: + return extend(metamaskState, { + isUnlocked: false, + }) + + case actions.SET_RPC_TARGET: + return extend(metamaskState, { + rpcTarget: action.value, + }) + + case actions.COMPLETED_TX: + var stringId = String(action.id) + var newState = extend(metamaskState, { + unconfTxs: {} + }) + for (var id in metamaskState.unconfTxs) { + if (id !== stringId) { + newState.unconfTxs[id] = metamaskState.unconfTxs[id] + } + } + return newState + + case actions.CLEAR_SEED_WORD_CACHE: + var newState = extend(metamaskState, { + isInitialized: true, + }) + delete newState.seedWords + return newState + + case actions.CREATE_NEW_VAULT_IN_PROGRESS: + return extend(metamaskState, { + isUnlocked: true, + isInitialized: true, + }) + + default: + return metamaskState + + } +} -- cgit v1.2.3