DB migration to fix bad v1 audits
This commit is contained in:
		
							parent
							
								
									248cef7718
								
							
						
					
					
						commit
						c9171224e1
					
				| @ -7,7 +7,7 @@ import cpfpRepository from '../repositories/CpfpRepository'; | ||||
| import { RowDataPacket } from 'mysql2'; | ||||
| 
 | ||||
| class DatabaseMigration { | ||||
|   private static currentVersion = 81; | ||||
|   private static currentVersion = 82; | ||||
|   private queryTimeout = 3600_000; | ||||
|   private statisticsAddedIndexed = false; | ||||
|   private uniqueLogs: string[] = []; | ||||
| @ -700,6 +700,11 @@ class DatabaseMigration { | ||||
|       await this.$executeQuery('ALTER TABLE `blocks_audits` ADD unseen_txs JSON DEFAULT "[]"'); | ||||
|       await this.updateToSchemaVersion(81); | ||||
|     } | ||||
| 
 | ||||
|     if (databaseSchemaVersion < 82 && isBitcoin === true && config.MEMPOOL.NETWORK === 'mainnet') { | ||||
|       await this.$fixBadV1AuditBlocks(); | ||||
|       await this.updateToSchemaVersion(82); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
| @ -1314,6 +1319,28 @@ class DatabaseMigration { | ||||
|       logger.warn(`Failed to migrate cpfp transaction data`); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private async $fixBadV1AuditBlocks(): Promise<void> { | ||||
|     const badBlocks = [ | ||||
|       '000000000000000000011ad49227fc8c9ba0ca96ad2ebce41a862f9a244478dc', | ||||
|       '000000000000000000010ac1f68b3080153f2826ffddc87ceffdd68ed97d6960', | ||||
|       '000000000000000000024cbdafeb2660ae8bd2947d166e7fe15d1689e86b2cf7', | ||||
|       '00000000000000000002e1dbfbf6ae057f331992a058b822644b368034f87286', | ||||
|       '0000000000000000000019973b2778f08ad6d21e083302ff0833d17066921ebb', | ||||
|     ]; | ||||
| 
 | ||||
|     for (const hash of badBlocks) { | ||||
|       try { | ||||
|         await this.$executeQuery(` | ||||
|           UPDATE blocks_audits | ||||
|           SET prioritized_txs = '[]' | ||||
|           WHERE hash = '${hash}' | ||||
|         `, true);
 | ||||
|       } catch (e) { | ||||
|         continue; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| export default new DatabaseMigration(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user