aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/controllers
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2017-02-28 02:39:48 +0800
committerDan Finlay <dan@danfinlay.com>2017-02-28 02:40:37 +0800
commitb5d03cd52418cfd09ce51a23c01e78262d3ffc9b (patch)
treee19ca7c5a1880f8849376794a42c6b85fbf80fdb /app/scripts/lib/controllers
parent5edb3db96939de2dee31fa19cb8e715dc649bfd6 (diff)
downloadtangerine-wallet-browser-b5d03cd52418cfd09ce51a23c01e78262d3ffc9b.tar.gz
tangerine-wallet-browser-b5d03cd52418cfd09ce51a23c01e78262d3ffc9b.tar.zst
tangerine-wallet-browser-b5d03cd52418cfd09ce51a23c01e78262d3ffc9b.zip
add controllers to root scripts folder
Diffstat (limited to 'app/scripts/lib/controllers')
-rw-r--r--app/scripts/lib/controllers/currency.js70
-rw-r--r--app/scripts/lib/controllers/preferences.js64
-rw-r--r--app/scripts/lib/controllers/shapeshift.js104
3 files changed, 0 insertions, 238 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 9343fe67b..000000000
--- a/app/scripts/lib/controllers/preferences.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const ObservableStore = require('obs-store')
-const normalizeAddress = require('eth-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