diff --git a/lib/ticker.js b/lib/ticker.js index 3e9e6d3e..a61cbcb5 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -6,7 +6,8 @@ const logger = require('./logger') const lastRate = {} const FETCH_INTERVAL = 10000 -function getRates (settings, fiatCode, cryptoCode) { + +function _getRates (settings, fiatCode, cryptoCode) { return Promise.resolve() .then(() => { const config = settings.config @@ -33,6 +34,9 @@ function getRates (settings, fiatCode, cryptoCode) { }) } -module.exports = { - getRates: mem(getRates, {maxAge: FETCH_INTERVAL}) -} +const getRates = mem(_getRates, { + maxAge: FETCH_INTERVAL, + cacheKey: (settings, fiatCode, cryptoCode) => JSON.stringify([fiatCode, cryptoCode]) +}) + +module.exports = {getRates} diff --git a/lib/wallet.js b/lib/wallet.js index 8c1c9faa..c9975d33 100644 --- a/lib/wallet.js +++ b/lib/wallet.js @@ -40,7 +40,7 @@ function fetchWallet (settings, cryptoCode) { const lastBalance = {} -function balance (settings, cryptoCode) { +function _balance (settings, cryptoCode) { return fetchWallet(settings, cryptoCode) .then(r => r.wallet.balance(r.account, cryptoCode)) .then(balance => ({balance, timestamp: Date.now()})) @@ -151,8 +151,13 @@ function cryptoNetwork (settings, cryptoCode) { return wallet.cryptoNetwork(account, cryptoCode) } +const balance = mem(_balance, { + maxAge: FETCH_INTERVAL, + cacheKey: (settings, cryptoCode) => cryptoCode +}) + module.exports = { - balance: mem(balance, {maxAge: FETCH_INTERVAL}), + balance, sendCoins, newAddress, getStatus,