Merge branch 'master' into mononaut/flow-diagram-alignment
This commit is contained in:
		
						commit
						aa561773ee
					
				@ -27,7 +27,7 @@
 | 
				
			|||||||
    "package": "npm run build && rm -rf package && mv dist package && mv node_modules package && npm run package-rm-build-deps",
 | 
					    "package": "npm run build && rm -rf package && mv dist package && mv node_modules package && npm run package-rm-build-deps",
 | 
				
			||||||
    "package-rm-build-deps": "(cd package/node_modules; rm -r typescript @typescript-eslint)",
 | 
					    "package-rm-build-deps": "(cd package/node_modules; rm -r typescript @typescript-eslint)",
 | 
				
			||||||
    "start": "node --max-old-space-size=2048 dist/index.js",
 | 
					    "start": "node --max-old-space-size=2048 dist/index.js",
 | 
				
			||||||
    "start-production": "node --max-old-space-size=4096 dist/index.js",
 | 
					    "start-production": "node --max-old-space-size=16384 dist/index.js",
 | 
				
			||||||
    "test": "./node_modules/.bin/jest --coverage",
 | 
					    "test": "./node_modules/.bin/jest --coverage",
 | 
				
			||||||
    "lint": "./node_modules/.bin/eslint . --ext .ts",
 | 
					    "lint": "./node_modules/.bin/eslint . --ext .ts",
 | 
				
			||||||
    "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix",
 | 
					    "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix",
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ import cpfpRepository from '../repositories/CpfpRepository';
 | 
				
			|||||||
import { RowDataPacket } from 'mysql2';
 | 
					import { RowDataPacket } from 'mysql2';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DatabaseMigration {
 | 
					class DatabaseMigration {
 | 
				
			||||||
  private static currentVersion = 52;
 | 
					  private static currentVersion = 53;
 | 
				
			||||||
  private queryTimeout = 3600_000;
 | 
					  private queryTimeout = 3600_000;
 | 
				
			||||||
  private statisticsAddedIndexed = false;
 | 
					  private statisticsAddedIndexed = false;
 | 
				
			||||||
  private uniqueLogs: string[] = [];
 | 
					  private uniqueLogs: string[] = [];
 | 
				
			||||||
@ -468,6 +468,11 @@ class DatabaseMigration {
 | 
				
			|||||||
        logger.warn('' + (e instanceof Error ? e.message : e));
 | 
					        logger.warn('' + (e instanceof Error ? e.message : e));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (databaseSchemaVersion < 53) {
 | 
				
			||||||
 | 
					      await this.$executeQuery('ALTER TABLE statistics MODIFY mempool_byte_weight bigint(20) UNSIGNED NOT NULL');
 | 
				
			||||||
 | 
					      await this.updateToSchemaVersion(53);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
 | 
				
			|||||||
@ -362,7 +362,13 @@ class NodesApi {
 | 
				
			|||||||
  public async $searchNodeByPublicKeyOrAlias(search: string) {
 | 
					  public async $searchNodeByPublicKeyOrAlias(search: string) {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      const publicKeySearch = search.replace('%', '') + '%';
 | 
					      const publicKeySearch = search.replace('%', '') + '%';
 | 
				
			||||||
      const aliasSearch = search.replace(/[-_.]/g, ' ').replace(/[^a-zA-Z0-9 ]/g, '').split(' ').map((search) => '+' + search + '*').join(' ');
 | 
					      const aliasSearch = search
 | 
				
			||||||
 | 
					        .replace(/[-_.]/g, ' ') // Replace all -_. characters with empty space. Eg: "ln.nicehash" becomes "ln nicehash".  
 | 
				
			||||||
 | 
					        .replace(/[^a-zA-Z0-9 ]/g, '') // Remove all special characters and keep just A to Z, 0 to 9.
 | 
				
			||||||
 | 
					        .split(' ')
 | 
				
			||||||
 | 
					        .filter(key => key.length)
 | 
				
			||||||
 | 
					        .map((search) => '+' + search + '*').join(' ');
 | 
				
			||||||
 | 
					      // %keyword% is wildcard search and can't be indexed so it's slower as the node database grow. keyword% can be indexed but then you can't search for "Nicehash" and get result for ln.nicehash.com. So we use fulltext index for words "ln, nicehash, com" and nicehash* will find it instantly.
 | 
				
			||||||
      const query = `SELECT public_key, alias, capacity, channels, status FROM nodes WHERE public_key LIKE ? OR MATCH alias_search AGAINST (? IN BOOLEAN MODE) ORDER BY capacity DESC LIMIT 10`;
 | 
					      const query = `SELECT public_key, alias, capacity, channels, status FROM nodes WHERE public_key LIKE ? OR MATCH alias_search AGAINST (? IN BOOLEAN MODE) ORDER BY capacity DESC LIMIT 10`;
 | 
				
			||||||
      const [rows]: any = await DB.query(query, [publicKeySearch, aliasSearch]);
 | 
					      const [rows]: any = await DB.query(query, [publicKeySearch, aliasSearch]);
 | 
				
			||||||
      return rows;
 | 
					      return rows;
 | 
				
			||||||
 | 
				
			|||||||
@ -72,7 +72,7 @@ export const chartColors = [
 | 
				
			|||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const poolsColor = {
 | 
					export const poolsColor = {
 | 
				
			||||||
  'unknown': '#9C9C9C',
 | 
					  'unknown': '#FDD835',
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const feeLevels = [1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 125, 150, 175, 200,
 | 
					export const feeLevels = [1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 125, 150, 175, 200,
 | 
				
			||||||
 | 
				
			|||||||
@ -173,7 +173,7 @@ export class HashrateChartPoolsComponent implements OnInit {
 | 
				
			|||||||
    this.chartOptions = {
 | 
					    this.chartOptions = {
 | 
				
			||||||
      title: title,
 | 
					      title: title,
 | 
				
			||||||
      animation: false,
 | 
					      animation: false,
 | 
				
			||||||
      color: chartColors,
 | 
					      color: chartColors.filter(color => color !== '#FDD835'),
 | 
				
			||||||
      grid: {
 | 
					      grid: {
 | 
				
			||||||
        right: this.right,
 | 
					        right: this.right,
 | 
				
			||||||
        left: this.left,
 | 
					        left: this.left,
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,6 @@ import { ActivatedRoute, Router } from '@angular/router';
 | 
				
			|||||||
import { EChartsOption, PieSeriesOption } from 'echarts';
 | 
					import { EChartsOption, PieSeriesOption } from 'echarts';
 | 
				
			||||||
import { concat, Observable } from 'rxjs';
 | 
					import { concat, Observable } from 'rxjs';
 | 
				
			||||||
import { map, share, startWith, switchMap, tap } from 'rxjs/operators';
 | 
					import { map, share, startWith, switchMap, tap } from 'rxjs/operators';
 | 
				
			||||||
import { SinglePoolStats } from '../../interfaces/node-api.interface';
 | 
					 | 
				
			||||||
import { SeoService } from '../../services/seo.service';
 | 
					import { SeoService } from '../../services/seo.service';
 | 
				
			||||||
import { StorageService } from '../..//services/storage.service';
 | 
					import { StorageService } from '../..//services/storage.service';
 | 
				
			||||||
import { MiningService, MiningStats } from '../../services/mining.service';
 | 
					import { MiningService, MiningStats } from '../../services/mining.service';
 | 
				
			||||||
@ -220,7 +219,7 @@ export class PoolRankingComponent implements OnInit {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    this.chartOptions = {
 | 
					    this.chartOptions = {
 | 
				
			||||||
      animation: false,
 | 
					      animation: false,
 | 
				
			||||||
      color: chartColors,
 | 
					      color: chartColors.filter(color => color !== '#FDD835'),
 | 
				
			||||||
      tooltip: {
 | 
					      tooltip: {
 | 
				
			||||||
        trigger: 'item',
 | 
					        trigger: 'item',
 | 
				
			||||||
        textStyle: {
 | 
					        textStyle: {
 | 
				
			||||||
 | 
				
			|||||||
@ -93,6 +93,10 @@ export class PriceService {
 | 
				
			|||||||
   * @param blockTimestamp 
 | 
					   * @param blockTimestamp 
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  getPriceForTimestamp(blockTimestamp: number): Price | null {
 | 
					  getPriceForTimestamp(blockTimestamp: number): Price | null {
 | 
				
			||||||
 | 
					    if (!blockTimestamp) {
 | 
				
			||||||
 | 
					      return undefined;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const priceTimestamps = Object.keys(this.historicalPrice.prices);
 | 
					    const priceTimestamps = Object.keys(this.historicalPrice.prices);
 | 
				
			||||||
    priceTimestamps.push(Number.MAX_SAFE_INTEGER.toString());
 | 
					    priceTimestamps.push(Number.MAX_SAFE_INTEGER.toString());
 | 
				
			||||||
    priceTimestamps.sort().reverse();
 | 
					    priceTimestamps.sort().reverse();
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ listen=1
 | 
				
			|||||||
discover=1
 | 
					discover=1
 | 
				
			||||||
par=16
 | 
					par=16
 | 
				
			||||||
dbcache=8192
 | 
					dbcache=8192
 | 
				
			||||||
maxmempool=1337
 | 
					maxmempool=4096
 | 
				
			||||||
mempoolexpiry=999999
 | 
					mempoolexpiry=999999
 | 
				
			||||||
maxconnections=42
 | 
					maxconnections=42
 | 
				
			||||||
onion=127.0.0.1:9050
 | 
					onion=127.0.0.1:9050
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user