Merge branch 'master' into simon/shorten-address-prefix-result
This commit is contained in:
		
						commit
						5de77c7ae4
					
				| @ -84,19 +84,19 @@ class BitcoinApi implements AbstractBitcoinApi { | ||||
|   } | ||||
| 
 | ||||
|   $getAddressPrefix(prefix: string): string[] { | ||||
|     const found: string[] = []; | ||||
|     const found: { [address: string]: string } = {}; | ||||
|     const mp = mempool.getMempool(); | ||||
|     for (const tx in mp) { | ||||
|       for (const vout of mp[tx].vout) { | ||||
|         if (vout.scriptpubkey_address.indexOf(prefix) === 0) { | ||||
|           found.push(vout.scriptpubkey_address); | ||||
|           if (found.length >= 10) { | ||||
|             return found; | ||||
|           found[vout.scriptpubkey_address] = ''; | ||||
|           if (Object.keys(found).length >= 10) { | ||||
|             return Object.keys(found); | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     return found; | ||||
|     return Object.keys(found); | ||||
|   } | ||||
| 
 | ||||
|   $sendRawTransaction(rawTransaction: string): Promise<string> { | ||||
|  | ||||
| @ -218,7 +218,6 @@ class Blocks { | ||||
|           if (blockHeight < lastBlockToIndex) { | ||||
|             break; | ||||
|           } | ||||
|           try { | ||||
|           ++indexedThisRun; | ||||
|           if (++totaIndexed % 100 === 0 || blockHeight === lastBlockToIndex) { | ||||
|             const elapsedSeconds = Math.max(1, Math.round((new Date().getTime() / 1000) - startedAt)); | ||||
| @ -232,17 +231,15 @@ class Blocks { | ||||
|           const transactions = await this.$getTransactionsExtended(blockHash, block.height, true, true); | ||||
|           const blockExtended = await this.$getBlockExtended(block, transactions); | ||||
|           await blocksRepository.$saveBlockInDatabase(blockExtended); | ||||
|           } catch (e) { | ||||
|             logger.err(`Something went wrong while indexing blocks.` + e); | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         currentBlockHeight -= chunkSize; | ||||
|       } | ||||
|       logger.info('Block indexing completed'); | ||||
|     } catch (e) { | ||||
|       logger.err('An error occured in $generateBlockDatabase(). Skipping block indexing. ' + e); | ||||
|       console.log(e); | ||||
|       logger.err('An error occured in $generateBlockDatabase(). Trying again later. ' + e); | ||||
|       this.blockIndexingStarted = false; | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     this.blockIndexingCompleted = true; | ||||
|  | ||||
| @ -108,6 +108,8 @@ class Mining { | ||||
|     if (!blocks.blockIndexingCompleted || this.hashrateIndexingStarted) { | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     try { | ||||
|       this.hashrateIndexingStarted = true; | ||||
| 
 | ||||
|       logger.info(`Indexing hashrates`); | ||||
| @ -142,7 +144,7 @@ class Mining { | ||||
|         lastBlockHashrate = await bitcoinClient.getNetworkHashPs(blockStats.blockCount, | ||||
|           blockStats.lastBlockHeight); | ||||
| 
 | ||||
|       if (totalIndexed % 7 === 0 && !indexedTimestamp.includes(fromTimestamp + 1)) { // Save weekly pools hashrate
 | ||||
|         if (totalIndexed > 7 && totalIndexed % 7 === 0 && !indexedTimestamp.includes(fromTimestamp + 1)) { // Save weekly pools hashrate
 | ||||
|           logger.debug("Indexing weekly hashrates for mining pools"); | ||||
|           let pools = await PoolsRepository.$getPoolsInfoBetween(fromTimestamp - 604800, fromTimestamp); | ||||
|           const totalBlocks = pools.reduce((acc, pool) => acc + pool.blockCount, 0); | ||||
| @ -208,6 +210,10 @@ class Mining { | ||||
|       this.hashrateIndexingStarted = false; | ||||
| 
 | ||||
|       logger.info(`Hashrates indexing completed`); | ||||
|     } catch (e) { | ||||
|       this.hashrateIndexingStarted = false; | ||||
|       throw e; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -96,8 +96,8 @@ class Server { | ||||
|           await Common.sleep(5000); | ||||
|           await databaseMigration.$truncateIndexedData(tables); | ||||
|         } | ||||
|         await this.$resetHashratesIndexingState(); | ||||
|         await databaseMigration.$initializeOrMigrateDatabase(); | ||||
|         await this.$resetHashratesIndexingState(); | ||||
|         await poolsParser.migratePoolsJson(); | ||||
|       } catch (e) { | ||||
|         throw new Error(e instanceof Error ? e.message : 'Error'); | ||||
|  | ||||
| @ -22,6 +22,7 @@ class HashratesRepository { | ||||
|       await connection.query(query); | ||||
|     } catch (e: any) { | ||||
|       logger.err('$saveHashrateInDatabase() error' + (e instanceof Error ? e.message : e)); | ||||
|       throw e; | ||||
|     } | ||||
| 
 | ||||
|     connection.release(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user