New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lamassu-admin

Package Overview
Dependencies
Maintainers
2
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lamassu-admin - npm Package Compare versions

Comparing version 0.5.1 to 0.5.2

6

client/code/app/Models/User.js

@@ -7,9 +7,9 @@ var PriceData = Backbone.Model.extend({ //this model keeps a current record of price data from various sources

self.sources = ['bitstamp', 'bitpay']
self.sources = ['bitstamp', 'bitpay', 'coindesk', 'bitcoinaverage']
self.sources.forEach(function(source){
var price_update = 'latest_price:' + source
var price_update = 'latest_price:' + source;
ss.event.on(price_update, function(price){
self.set(source, price)
})
});
})

@@ -16,0 +16,0 @@ },

{
"name": "lamassu-admin",
"description": "Lamassu admin server. First part of Lamassu stack you need to install.",
"version": "0.5.1",
"version": "0.5.2",
"author": "Lamassu (https://lamassu.is)",

@@ -19,3 +19,7 @@ "engines": {

"yargs": "^1.2.1",
"ip": "^0.3.0"
"ip": "^0.3.0",
"lamassu-coindesk": "~0.2.0",
"lamassu-bitcoinaverage": "~0.2.0",
"lamassu-bitstamp": "~0.2.0",
"lamassu-bitpay": "~0.3.0"
},

@@ -22,0 +26,0 @@ "scripts": {

@@ -0,8 +1,12 @@

'use strict';
var ss = require('socketstream');
var ss = require('socketstream')
var request = require('request')
var _ = require('lodash')
var _config = require('../config');
var _currency = 'USD';
var _currency = null;
var _tickers = ['bitpay', 'bitstamp', 'coindesk', 'bitcoinaverage'];
var _tickerModules = _tickers.map(function (ticker) {
return require('lamassu-' + ticker).ticker.factory();
});
var _cache = {};

@@ -12,2 +16,5 @@ _config.load(function(err, config) {

_currency = config.exchanges.settings.currency;
setInterval(pollTickers, 60000);
setInterval(updateRates, 1000);
pollTickers();
});

@@ -19,63 +26,29 @@

_currency = config.exchanges.settings.currency;
pollTickers();
});
});
setInterval(function(){
function pollTickers() {
console.log('DEBUG in pollTickers');
if (!_currency) return;
_tickers.forEach(function (ticker, index) {
var tickerModule = _tickerModules[index];
tickerModule.ticker([_currency], function (err, rates) {
if (err) return console.log(err.message);
var rateRec = rates[_currency];
console.dir(rates);
console.log(_currency);
var rate = rateRec ?
Math.round(parseFloat(rateRec.rate) * 100) :
null;
_cache[ticker] = rate;
});
});
}
//get bitstamp
request.get("https://www.bitstamp.net/api/transactions?timedelta=5", function(error, response, body){
if (error || response.statusCode != 200) { return }
var trades = null
try{
trades = JSON.parse(body)
}
catch (e) {
console.log("Error parsing BitStamp response: " + e)
return
}
var latest_price = _currency === 'USD' ?
Math.round(trades[0].price * 100) :
null;
ss.api.publish.all('latest_price:bitstamp', {rate: latest_price, currency: _currency})
})
//get bitpay
request.get("https://bitpay.com/api/rates", function(error, response, body){
if (error || response.statusCode != 200) { return }
var rates = null
try{
rates = JSON.parse(body)
}
catch (e) {
console.log("Error parsing BitPay response: " + e)
return
}
var rate = (_.filter(rates, {code: _currency}))[0].rate
var latest_price = Math.round(rate * 100)
ss.api.publish.all('latest_price:bitpay', {rate: latest_price, currency: _currency});
})
}, 2500)
function updateRates() {
_tickers.forEach(function (ticker) {
var rate = _cache[ticker];
ss.api.publish.all('latest_price:' + ticker, {rate: rate, currency: _currency});
});
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc