import Ember from 'ember'; import config from '../config/environment'; export default Ember.Controller.extend({ intl: Ember.inject.service(), get config() { return config.APP; }, height: Ember.computed('model.nodes', { get() { var node = this.get('bestNode'); if (node) { return node.height; } return 0; } }), roundShares: Ember.computed('model.stats', { get() { return parseInt(this.get('model.stats.roundShares')); } }), difficulty: Ember.computed('model.nodes', { get() { var node = this.get('bestNode'); if (node) { return node.difficulty; } return 0; } }), hashrate: Ember.computed('difficulty', { get() { return this.getWithDefault('difficulty', 0) / config.APP.BlockTime; } }), immatureTotal: Ember.computed('model', { get() { return this.getWithDefault('model.immatureTotal', 0) + this.getWithDefault('model.candidatesTotal', 0); } }), bestNode: Ember.computed('model.nodes', { get() { var node = null; this.get('model.nodes').forEach(function (n) { if (!node) { node = n; } if (node.height < n.height) { node = n; } }); return node; } }), lastBlockFound: Ember.computed('model', { get() { return parseInt(this.get('model.lastBlockFound')) || 0; } }), languages: Ember.computed('model', { get() { return this.get('model.languages'); } }), selectedLanguage: Ember.computed({ get() { var langs = this.get('languages'); var lang = Ember.$.cookie('lang'); for (var i = 0; i < langs.length; i++) { if (langs[i].value == lang) { return langs[i].name; } } return lang; } }), roundVariance: Ember.computed('model', { get() { var percent = this.get('model.stats.roundShares') / this.get('difficulty'); if (!percent) { return 0; } return percent.toFixed(2); } }), nextEpoch: Ember.computed('height', { get() { var epochOffset = (30000 - (this.getWithDefault('height', 1) % 30000)) * 1000 * this.get('config').BlockTime; return Date.now() + epochOffset; } }) });