diff options
author | Kevin Serrano <kevgagser@gmail.com> | 2017-03-02 02:04:25 +0800 |
---|---|---|
committer | Kevin Serrano <kevgagser@gmail.com> | 2017-03-02 02:04:25 +0800 |
commit | e66035254f1778ec8e614cabecaf1a9493509888 (patch) | |
tree | ab0ab43a9792075dfd2e1a23a95ea35a86d6d962 /app/scripts/lib | |
parent | 0a3849ec8477b4a61c50d715bd72b3e8f1ea8b66 (diff) | |
parent | 6fb33853f2ceeb6ef48988a7ee9334dfc87a8223 (diff) | |
download | tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar.gz tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar.bz2 tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar.lz tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar.xz tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.tar.zst tangerine-wallet-browser-e66035254f1778ec8e614cabecaf1a9493509888.zip |
More conflict resolution.
Diffstat (limited to 'app/scripts/lib')
-rw-r--r-- | app/scripts/lib/controllers/currency.js | 70 | ||||
-rw-r--r-- | app/scripts/lib/controllers/preferences.js | 63 | ||||
-rw-r--r-- | app/scripts/lib/controllers/shapeshift.js | 104 |
3 files changed, 0 insertions, 237 deletions
diff --git a/app/scripts/lib/controllers/currency.js b/app/scripts/lib/controllers/currency.js deleted file mode 100644 index c4904f8ac..000000000 --- a/app/scripts/lib/controllers/currency.js +++ /dev/null @@ -1,70 +0,0 @@ -const ObservableStore = require('obs-store') -const extend = require('xtend') - -// every ten minutes -const POLLING_INTERVAL = 600000 - -class CurrencyController { - - constructor (opts = {}) { - const initState = extend({ - currentCurrency: 'USD', - conversionRate: 0, - conversionDate: 'N/A', - }, opts.initState) - this.store = new ObservableStore(initState) - } - - // - // PUBLIC METHODS - // - - getCurrentCurrency () { - return this.store.getState().currentCurrency - } - - setCurrentCurrency (currentCurrency) { - this.store.updateState({ currentCurrency }) - } - - getConversionRate () { - return this.store.getState().conversionRate - } - - setConversionRate (conversionRate) { - this.store.updateState({ conversionRate }) - } - - getConversionDate () { - return this.store.getState().conversionDate - } - - setConversionDate (conversionDate) { - this.store.updateState({ conversionDate }) - } - - updateConversionRate () { - const currentCurrency = this.getCurrentCurrency() - return fetch(`https://www.cryptonator.com/api/ticker/eth-${currentCurrency}`) - .then(response => response.json()) - .then((parsedResponse) => { - this.setConversionRate(Number(parsedResponse.ticker.price)) - this.setConversionDate(Number(parsedResponse.timestamp)) - }).catch((err) => { - console.warn('MetaMask - Failed to query currency conversion.') - this.setConversionRate(0) - this.setConversionDate('N/A') - }) - } - - scheduleConversionInterval () { - if (this.conversionInterval) { - clearInterval(this.conversionInterval) - } - this.conversionInterval = setInterval(() => { - this.updateConversionRate() - }, POLLING_INTERVAL) - } -} - -module.exports = CurrencyController diff --git a/app/scripts/lib/controllers/preferences.js b/app/scripts/lib/controllers/preferences.js deleted file mode 100644 index 7bd2e5631..000000000 --- a/app/scripts/lib/controllers/preferences.js +++ /dev/null @@ -1,63 +0,0 @@ -const ObservableStore = require('obs-store') -const normalizeAddress = require('../sig-util').normalize -const extend = require('xtend') - -class PreferencesController { - - constructor (opts = {}) { - const initState = extend({ frequentRpcList: [] }, 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 - } - - updateFrequentRpcList (_url) { - return this.addToFrequentRpcList(_url) - .then((rpcList) => { - this.store.updateState({ frequentRpcList: rpcList }) - return rpcList - }) - } - - addToFrequentRpcList (_url) { - let rpcList = this.getFrequentRpcList() - let index = rpcList.findIndex((element) => { return element === _url }) - if (index !== -1) { - rpcList.splice(index, 1) - } - if (_url !== 'http://localhost:8545') { - rpcList.push(_url) - } - if (rpcList.length > 2) { - rpcList.shift() - } - return Promise.resolve(rpcList) - } - - getFrequentRpcList () { - return this.store.getState().frequentRpcList - } - - // - // PRIVATE METHODS - // - - - -} - -module.exports = PreferencesController diff --git a/app/scripts/lib/controllers/shapeshift.js b/app/scripts/lib/controllers/shapeshift.js deleted file mode 100644 index 3d955c01f..000000000 --- a/app/scripts/lib/controllers/shapeshift.js +++ /dev/null @@ -1,104 +0,0 @@ -const ObservableStore = require('obs-store') -const extend = require('xtend') - -// every three seconds when an incomplete tx is waiting -const POLLING_INTERVAL = 3000 - -class ShapeshiftController { - - constructor (opts = {}) { - const initState = extend({ - shapeShiftTxList: [], - }, opts.initState) - this.store = new ObservableStore(initState) - this.pollForUpdates() - } - - // - // PUBLIC METHODS - // - - getShapeShiftTxList () { - const shapeShiftTxList = this.store.getState().shapeShiftTxList - return shapeShiftTxList - } - - getPendingTxs () { - const txs = this.getShapeShiftTxList() - const pending = txs.filter(tx => tx.response && tx.response.status !== 'complete') - return pending - } - - pollForUpdates () { - const pendingTxs = this.getPendingTxs() - - if (pendingTxs.length === 0) { - return - } - - Promise.all(pendingTxs.map((tx) => { - return this.updateTx(tx) - })) - .then((results) => { - results.forEach(tx => this.saveTx(tx)) - this.timeout = setTimeout(this.pollForUpdates.bind(this), POLLING_INTERVAL) - }) - } - - updateTx (tx) { - const url = `https://shapeshift.io/txStat/${tx.depositAddress}` - return fetch(url) - .then((response) => { - return response.json() - }).then((json) => { - tx.response = json - if (tx.response.status === 'complete') { - tx.time = new Date().getTime() - } - return tx - }) - } - - saveTx (tx) { - const { shapeShiftTxList } = this.store.getState() - const index = shapeShiftTxList.indexOf(tx) - if (index !== -1) { - shapeShiftTxList[index] = tx - this.store.updateState({ shapeShiftTxList }) - } - } - - removeShapeShiftTx (tx) { - const { shapeShiftTxList } = this.store.getState() - const index = shapeShiftTxList.indexOf(index) - if (index !== -1) { - shapeShiftTxList.splice(index, 1) - } - this.updateState({ shapeShiftTxList }) - } - - createShapeShiftTx (depositAddress, depositType) { - const state = this.store.getState() - let { shapeShiftTxList } = state - - var shapeShiftTx = { - depositAddress, - depositType, - key: 'shapeshift', - time: new Date().getTime(), - response: {}, - } - - if (!shapeShiftTxList) { - shapeShiftTxList = [shapeShiftTx] - } else { - shapeShiftTxList.push(shapeShiftTx) - } - - this.store.updateState({ shapeShiftTxList }) - this.pollForUpdates() - } - -} - -module.exports = ShapeshiftController |