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-rm-build-deps": "(cd package/node_modules; rm -r typescript @typescript-eslint)", | ||||
|     "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", | ||||
|     "lint": "./node_modules/.bin/eslint . --ext .ts", | ||||
|     "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix", | ||||
|  | ||||
| @ -7,7 +7,7 @@ import cpfpRepository from '../repositories/CpfpRepository'; | ||||
| import { RowDataPacket } from 'mysql2'; | ||||
| 
 | ||||
| class DatabaseMigration { | ||||
|   private static currentVersion = 52; | ||||
|   private static currentVersion = 53; | ||||
|   private queryTimeout = 3600_000; | ||||
|   private statisticsAddedIndexed = false; | ||||
|   private uniqueLogs: string[] = []; | ||||
| @ -468,6 +468,11 @@ class DatabaseMigration { | ||||
|         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) { | ||||
|     try { | ||||
|       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 [rows]: any = await DB.query(query, [publicKeySearch, aliasSearch]); | ||||
|       return rows; | ||||
|  | ||||
| @ -72,7 +72,7 @@ export const chartColors = [ | ||||
| ]; | ||||
| 
 | ||||
| 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, | ||||
|  | ||||
| @ -173,7 +173,7 @@ export class HashrateChartPoolsComponent implements OnInit { | ||||
|     this.chartOptions = { | ||||
|       title: title, | ||||
|       animation: false, | ||||
|       color: chartColors, | ||||
|       color: chartColors.filter(color => color !== '#FDD835'), | ||||
|       grid: { | ||||
|         right: this.right, | ||||
|         left: this.left, | ||||
|  | ||||
| @ -4,7 +4,6 @@ import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { EChartsOption, PieSeriesOption } from 'echarts'; | ||||
| import { concat, Observable } from 'rxjs'; | ||||
| import { map, share, startWith, switchMap, tap } from 'rxjs/operators'; | ||||
| import { SinglePoolStats } from '../../interfaces/node-api.interface'; | ||||
| import { SeoService } from '../../services/seo.service'; | ||||
| import { StorageService } from '../..//services/storage.service'; | ||||
| import { MiningService, MiningStats } from '../../services/mining.service'; | ||||
| @ -220,7 +219,7 @@ export class PoolRankingComponent implements OnInit { | ||||
| 
 | ||||
|     this.chartOptions = { | ||||
|       animation: false, | ||||
|       color: chartColors, | ||||
|       color: chartColors.filter(color => color !== '#FDD835'), | ||||
|       tooltip: { | ||||
|         trigger: 'item', | ||||
|         textStyle: { | ||||
|  | ||||
| @ -93,6 +93,10 @@ export class PriceService { | ||||
|    * @param blockTimestamp  | ||||
|    */ | ||||
|   getPriceForTimestamp(blockTimestamp: number): Price | null { | ||||
|     if (!blockTimestamp) { | ||||
|       return undefined; | ||||
|     } | ||||
| 
 | ||||
|     const priceTimestamps = Object.keys(this.historicalPrice.prices); | ||||
|     priceTimestamps.push(Number.MAX_SAFE_INTEGER.toString()); | ||||
|     priceTimestamps.sort().reverse(); | ||||
|  | ||||
| @ -5,7 +5,7 @@ listen=1 | ||||
| discover=1 | ||||
| par=16 | ||||
| dbcache=8192 | ||||
| maxmempool=1337 | ||||
| maxmempool=4096 | ||||
| mempoolexpiry=999999 | ||||
| maxconnections=42 | ||||
| onion=127.0.0.1:9050 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user