Merge branch 'master' into simon/update-backend-packages
This commit is contained in:
		
						commit
						175bcf7467
					
				@ -107,22 +107,22 @@ class DatabaseMigration {
 | 
				
			|||||||
    await this.$executeQuery(this.getCreateStatisticsQuery(), await this.$checkIfTableExists('statistics'));
 | 
					    await this.$executeQuery(this.getCreateStatisticsQuery(), await this.$checkIfTableExists('statistics'));
 | 
				
			||||||
    if (databaseSchemaVersion < 2 && this.statisticsAddedIndexed === false) {
 | 
					    if (databaseSchemaVersion < 2 && this.statisticsAddedIndexed === false) {
 | 
				
			||||||
      await this.$executeQuery(`CREATE INDEX added ON statistics (added);`);
 | 
					      await this.$executeQuery(`CREATE INDEX added ON statistics (added);`);
 | 
				
			||||||
      this.updateToSchemaVersion(2);
 | 
					      await this.updateToSchemaVersion(2);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (databaseSchemaVersion < 3) {
 | 
					    if (databaseSchemaVersion < 3) {
 | 
				
			||||||
      await this.$executeQuery(this.getCreatePoolsTableQuery(), await this.$checkIfTableExists('pools'));
 | 
					      await this.$executeQuery(this.getCreatePoolsTableQuery(), await this.$checkIfTableExists('pools'));
 | 
				
			||||||
      this.updateToSchemaVersion(3);
 | 
					      await this.updateToSchemaVersion(3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (databaseSchemaVersion < 4) {
 | 
					    if (databaseSchemaVersion < 4) {
 | 
				
			||||||
      await this.$executeQuery('DROP table IF EXISTS blocks;');
 | 
					      await this.$executeQuery('DROP table IF EXISTS blocks;');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateBlocksTableQuery(), await this.$checkIfTableExists('blocks'));
 | 
					      await this.$executeQuery(this.getCreateBlocksTableQuery(), await this.$checkIfTableExists('blocks'));
 | 
				
			||||||
      this.updateToSchemaVersion(4);
 | 
					      await this.updateToSchemaVersion(4);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (databaseSchemaVersion < 5 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 5 && isBitcoin === true) {
 | 
				
			||||||
      this.uniqueLog(logger.notice, this.blocksTruncatedMessage);
 | 
					      this.uniqueLog(logger.notice, this.blocksTruncatedMessage);
 | 
				
			||||||
      await this.$executeQuery('TRUNCATE blocks;'); // Need to re-index
 | 
					      await this.$executeQuery('TRUNCATE blocks;'); // Need to re-index
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks ADD `reward` double unsigned NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks ADD `reward` double unsigned NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(5);
 | 
					      await this.updateToSchemaVersion(5);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 6 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 6 && isBitcoin === true) {
 | 
				
			||||||
@ -145,13 +145,13 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE blocks ADD `nonce` bigint unsigned NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks ADD `nonce` bigint unsigned NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks ADD `merkle_root` varchar(65) NOT NULL DEFAULT ""');
 | 
					      await this.$executeQuery('ALTER TABLE blocks ADD `merkle_root` varchar(65) NOT NULL DEFAULT ""');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks ADD `previous_block_hash` varchar(65) NULL');
 | 
					      await this.$executeQuery('ALTER TABLE blocks ADD `previous_block_hash` varchar(65) NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(6);
 | 
					      await this.updateToSchemaVersion(6);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 7 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 7 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('DROP table IF EXISTS hashrates;');
 | 
					      await this.$executeQuery('DROP table IF EXISTS hashrates;');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateDailyStatsTableQuery(), await this.$checkIfTableExists('hashrates'));
 | 
					      await this.$executeQuery(this.getCreateDailyStatsTableQuery(), await this.$checkIfTableExists('hashrates'));
 | 
				
			||||||
      this.updateToSchemaVersion(7);
 | 
					      await this.updateToSchemaVersion(7);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 8 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 8 && isBitcoin === true) {
 | 
				
			||||||
@ -161,7 +161,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `hashrates` ADD `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` ADD `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `hashrates` ADD `share` float NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` ADD `share` float NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `hashrates` ADD `type` enum("daily", "weekly") DEFAULT "daily"');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` ADD `type` enum("daily", "weekly") DEFAULT "daily"');
 | 
				
			||||||
      this.updateToSchemaVersion(8);
 | 
					      await this.updateToSchemaVersion(8);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 9 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 9 && isBitcoin === true) {
 | 
				
			||||||
@ -169,12 +169,12 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index
 | 
					      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `state` CHANGE `name` `name` varchar(100)');
 | 
					      await this.$executeQuery('ALTER TABLE `state` CHANGE `name` `name` varchar(100)');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `hashrates` ADD UNIQUE `hashrate_timestamp_pool_id` (`hashrate_timestamp`, `pool_id`)');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` ADD UNIQUE `hashrate_timestamp_pool_id` (`hashrate_timestamp`, `pool_id`)');
 | 
				
			||||||
      this.updateToSchemaVersion(9);
 | 
					      await this.updateToSchemaVersion(9);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 10 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 10 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `blockTimestamp` (`blockTimestamp`)');
 | 
					      await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `blockTimestamp` (`blockTimestamp`)');
 | 
				
			||||||
      this.updateToSchemaVersion(10);
 | 
					      await this.updateToSchemaVersion(10);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 11 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 11 && isBitcoin === true) {
 | 
				
			||||||
@ -187,13 +187,13 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `reward` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `reward` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `median_fee` INT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `median_fee` INT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `fees` INT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `fees` INT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(11);
 | 
					      await this.updateToSchemaVersion(11);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 12 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 12 && isBitcoin === true) {
 | 
				
			||||||
      // No need to re-index because the new data type can contain larger values
 | 
					      // No need to re-index because the new data type can contain larger values
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `fees` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `fees` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(12);
 | 
					      await this.updateToSchemaVersion(12);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 13 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 13 && isBitcoin === true) {
 | 
				
			||||||
@ -201,7 +201,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `median_fee` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `median_fee` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `avg_fee` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `avg_fee` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE blocks MODIFY `avg_fee_rate` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE blocks MODIFY `avg_fee_rate` BIGINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(13);
 | 
					      await this.updateToSchemaVersion(13);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 14 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 14 && isBitcoin === true) {
 | 
				
			||||||
@ -209,45 +209,45 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index
 | 
					      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `hashrates` DROP FOREIGN KEY `hashrates_ibfk_1`');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` DROP FOREIGN KEY `hashrates_ibfk_1`');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `hashrates` MODIFY `pool_id` SMALLINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `hashrates` MODIFY `pool_id` SMALLINT UNSIGNED NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(14);
 | 
					      await this.updateToSchemaVersion(14);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 16 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 16 && isBitcoin === true) {
 | 
				
			||||||
      this.uniqueLog(logger.notice, this.hashratesTruncatedMessage);
 | 
					      this.uniqueLog(logger.notice, this.hashratesTruncatedMessage);
 | 
				
			||||||
      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index because we changed timestamps
 | 
					      await this.$executeQuery('TRUNCATE hashrates;'); // Need to re-index because we changed timestamps
 | 
				
			||||||
      this.updateToSchemaVersion(16);
 | 
					      await this.updateToSchemaVersion(16);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 17 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 17 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `pools` ADD `slug` CHAR(50) NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `pools` ADD `slug` CHAR(50) NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(17);
 | 
					      await this.updateToSchemaVersion(17);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 18 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 18 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `hash` (`hash`);');
 | 
					      await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `hash` (`hash`);');
 | 
				
			||||||
      this.updateToSchemaVersion(18);
 | 
					      await this.updateToSchemaVersion(18);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 19) {
 | 
					    if (databaseSchemaVersion < 19) {
 | 
				
			||||||
      await this.$executeQuery(this.getCreateRatesTableQuery(), await this.$checkIfTableExists('rates'));
 | 
					      await this.$executeQuery(this.getCreateRatesTableQuery(), await this.$checkIfTableExists('rates'));
 | 
				
			||||||
      this.updateToSchemaVersion(19);
 | 
					      await this.updateToSchemaVersion(19);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 20 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 20 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery(this.getCreateBlocksSummariesTableQuery(), await this.$checkIfTableExists('blocks_summaries'));
 | 
					      await this.$executeQuery(this.getCreateBlocksSummariesTableQuery(), await this.$checkIfTableExists('blocks_summaries'));
 | 
				
			||||||
      this.updateToSchemaVersion(20);
 | 
					      await this.updateToSchemaVersion(20);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 21) {
 | 
					    if (databaseSchemaVersion < 21) {
 | 
				
			||||||
      await this.$executeQuery('DROP TABLE IF EXISTS `rates`');
 | 
					      await this.$executeQuery('DROP TABLE IF EXISTS `rates`');
 | 
				
			||||||
      await this.$executeQuery(this.getCreatePricesTableQuery(), await this.$checkIfTableExists('prices'));
 | 
					      await this.$executeQuery(this.getCreatePricesTableQuery(), await this.$checkIfTableExists('prices'));
 | 
				
			||||||
      this.updateToSchemaVersion(21);
 | 
					      await this.updateToSchemaVersion(21);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 22 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 22 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('DROP TABLE IF EXISTS `difficulty_adjustments`');
 | 
					      await this.$executeQuery('DROP TABLE IF EXISTS `difficulty_adjustments`');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateDifficultyAdjustmentsTableQuery(), await this.$checkIfTableExists('difficulty_adjustments'));
 | 
					      await this.$executeQuery(this.getCreateDifficultyAdjustmentsTableQuery(), await this.$checkIfTableExists('difficulty_adjustments'));
 | 
				
			||||||
      this.updateToSchemaVersion(22);
 | 
					      await this.updateToSchemaVersion(22);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 23) {
 | 
					    if (databaseSchemaVersion < 23) {
 | 
				
			||||||
@ -260,13 +260,13 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `prices` ADD `CHF` float DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `prices` ADD `CHF` float DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `prices` ADD `AUD` float DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `prices` ADD `AUD` float DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `prices` ADD `JPY` float DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `prices` ADD `JPY` float DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(23);
 | 
					      await this.updateToSchemaVersion(23);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 24 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 24 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('DROP TABLE IF EXISTS `blocks_audits`');
 | 
					      await this.$executeQuery('DROP TABLE IF EXISTS `blocks_audits`');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateBlocksAuditsTableQuery(), await this.$checkIfTableExists('blocks_audits'));
 | 
					      await this.$executeQuery(this.getCreateBlocksAuditsTableQuery(), await this.$checkIfTableExists('blocks_audits'));
 | 
				
			||||||
      this.updateToSchemaVersion(24);
 | 
					      await this.updateToSchemaVersion(24);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 25 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 25 && isBitcoin === true) {
 | 
				
			||||||
@ -274,7 +274,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery(this.getCreateNodesQuery(), await this.$checkIfTableExists('nodes'));
 | 
					      await this.$executeQuery(this.getCreateNodesQuery(), await this.$checkIfTableExists('nodes'));
 | 
				
			||||||
      await this.$executeQuery(this.getCreateChannelsQuery(), await this.$checkIfTableExists('channels'));
 | 
					      await this.$executeQuery(this.getCreateChannelsQuery(), await this.$checkIfTableExists('channels'));
 | 
				
			||||||
      await this.$executeQuery(this.getCreateNodesStatsQuery(), await this.$checkIfTableExists('node_stats'));
 | 
					      await this.$executeQuery(this.getCreateNodesStatsQuery(), await this.$checkIfTableExists('node_stats'));
 | 
				
			||||||
      this.updateToSchemaVersion(25);
 | 
					      await this.updateToSchemaVersion(25);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 26 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 26 && isBitcoin === true) {
 | 
				
			||||||
@ -285,7 +285,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD tor_nodes int(11) NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD tor_nodes int(11) NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD clearnet_nodes int(11) NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD clearnet_nodes int(11) NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD unannounced_nodes int(11) NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD unannounced_nodes int(11) NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(26);
 | 
					      await this.updateToSchemaVersion(26);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 27 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 27 && isBitcoin === true) {
 | 
				
			||||||
@ -295,7 +295,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_capacity bigint(20) unsigned NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_capacity bigint(20) unsigned NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_fee_rate int(11) unsigned NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_fee_rate int(11) unsigned NOT NULL DEFAULT "0"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_base_fee_mtokens bigint(20) unsigned NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD med_base_fee_mtokens bigint(20) unsigned NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(27);
 | 
					      await this.updateToSchemaVersion(27);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    if (databaseSchemaVersion < 28 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 28 && isBitcoin === true) {
 | 
				
			||||||
@ -305,7 +305,7 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery(`TRUNCATE lightning_stats`);
 | 
					      await this.$executeQuery(`TRUNCATE lightning_stats`);
 | 
				
			||||||
      await this.$executeQuery(`TRUNCATE node_stats`);
 | 
					      await this.$executeQuery(`TRUNCATE node_stats`);
 | 
				
			||||||
      await this.$executeQuery(`ALTER TABLE lightning_stats MODIFY added DATE`);
 | 
					      await this.$executeQuery(`ALTER TABLE lightning_stats MODIFY added DATE`);
 | 
				
			||||||
      this.updateToSchemaVersion(28);
 | 
					      await this.updateToSchemaVersion(28);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 29 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 29 && isBitcoin === true) {
 | 
				
			||||||
@ -317,50 +317,50 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD subdivision_id int(11) unsigned NULL DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD subdivision_id int(11) unsigned NULL DEFAULT NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD longitude double NULL DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD longitude double NULL DEFAULT NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD latitude double NULL DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD latitude double NULL DEFAULT NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(29);
 | 
					      await this.updateToSchemaVersion(29);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 30 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 30 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `geo_names` CHANGE `type` `type` enum("city","country","division","continent","as_organization") NOT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `geo_names` CHANGE `type` `type` enum("city","country","division","continent","as_organization") NOT NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(30);
 | 
					      await this.updateToSchemaVersion(30);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 31 && isBitcoin == true) { // Link blocks to prices
 | 
					    if (databaseSchemaVersion < 31 && isBitcoin == true) { // Link blocks to prices
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `prices` ADD `id` int NULL AUTO_INCREMENT UNIQUE');
 | 
					      await this.$executeQuery('ALTER TABLE `prices` ADD `id` int NULL AUTO_INCREMENT UNIQUE');
 | 
				
			||||||
      await this.$executeQuery('DROP TABLE IF EXISTS `blocks_prices`');
 | 
					      await this.$executeQuery('DROP TABLE IF EXISTS `blocks_prices`');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateBlocksPricesTableQuery(), await this.$checkIfTableExists('blocks_prices'));
 | 
					      await this.$executeQuery(this.getCreateBlocksPricesTableQuery(), await this.$checkIfTableExists('blocks_prices'));
 | 
				
			||||||
      this.updateToSchemaVersion(31);
 | 
					      await this.updateToSchemaVersion(31);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 32 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 32 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `blocks_summaries` ADD `template` JSON DEFAULT "[]"');
 | 
					      await this.$executeQuery('ALTER TABLE `blocks_summaries` ADD `template` JSON DEFAULT "[]"');
 | 
				
			||||||
      this.updateToSchemaVersion(32);
 | 
					      await this.updateToSchemaVersion(32);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 33 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 33 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `geo_names` CHANGE `type` `type` enum("city","country","division","continent","as_organization", "country_iso_code") NOT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `geo_names` CHANGE `type` `type` enum("city","country","division","continent","as_organization", "country_iso_code") NOT NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(33);
 | 
					      await this.updateToSchemaVersion(33);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 34 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 34 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD clearnet_tor_nodes int(11) NOT NULL DEFAULT "0"');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD clearnet_tor_nodes int(11) NOT NULL DEFAULT "0"');
 | 
				
			||||||
      this.updateToSchemaVersion(34);
 | 
					      await this.updateToSchemaVersion(34);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 35 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 35 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('DELETE from `lightning_stats` WHERE added > "2021-09-19"');
 | 
					      await this.$executeQuery('DELETE from `lightning_stats` WHERE added > "2021-09-19"');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD CONSTRAINT added_unique UNIQUE (added);');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` ADD CONSTRAINT added_unique UNIQUE (added);');
 | 
				
			||||||
      this.updateToSchemaVersion(35);
 | 
					      await this.updateToSchemaVersion(35);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 36 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 36 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD status TINYINT NOT NULL DEFAULT "1"');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD status TINYINT NOT NULL DEFAULT "1"');
 | 
				
			||||||
      this.updateToSchemaVersion(36);
 | 
					      await this.updateToSchemaVersion(36);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 37 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 37 && isBitcoin == true) {
 | 
				
			||||||
      await this.$executeQuery(this.getCreateLNNodesSocketsTableQuery(), await this.$checkIfTableExists('nodes_sockets'));
 | 
					      await this.$executeQuery(this.getCreateLNNodesSocketsTableQuery(), await this.$checkIfTableExists('nodes_sockets'));
 | 
				
			||||||
      this.updateToSchemaVersion(37);
 | 
					      await this.updateToSchemaVersion(37);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 38 && isBitcoin == true) {
 | 
					    if (databaseSchemaVersion < 38 && isBitcoin == true) {
 | 
				
			||||||
@ -371,57 +371,57 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery(`TRUNCATE node_stats`);
 | 
					      await this.$executeQuery(`TRUNCATE node_stats`);
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `lightning_stats` CHANGE `added` `added` timestamp NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `lightning_stats` CHANGE `added` `added` timestamp NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `node_stats` CHANGE `added` `added` timestamp NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `node_stats` CHANGE `added` `added` timestamp NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(38);
 | 
					      await this.updateToSchemaVersion(38);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 39 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 39 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD alias_search TEXT NULL DEFAULT NULL AFTER `alias`');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD alias_search TEXT NULL DEFAULT NULL AFTER `alias`');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE nodes ADD FULLTEXT(alias_search)');
 | 
					      await this.$executeQuery('ALTER TABLE nodes ADD FULLTEXT(alias_search)');
 | 
				
			||||||
      this.updateToSchemaVersion(39);
 | 
					      await this.updateToSchemaVersion(39);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 40 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 40 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD capacity bigint(20) unsigned DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD capacity bigint(20) unsigned DEFAULT NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD channels int(11) unsigned DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD channels int(11) unsigned DEFAULT NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `nodes` ADD INDEX `capacity` (`capacity`);');
 | 
					      await this.$executeQuery('ALTER TABLE `nodes` ADD INDEX `capacity` (`capacity`);');
 | 
				
			||||||
      this.updateToSchemaVersion(40);
 | 
					      await this.updateToSchemaVersion(40);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 41 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 41 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('UPDATE channels SET closing_reason = NULL WHERE closing_reason = 1');
 | 
					      await this.$executeQuery('UPDATE channels SET closing_reason = NULL WHERE closing_reason = 1');
 | 
				
			||||||
      this.updateToSchemaVersion(41);
 | 
					      await this.updateToSchemaVersion(41);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 42 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 42 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `channels` ADD closing_resolved tinyint(1) DEFAULT 0');
 | 
					      await this.$executeQuery('ALTER TABLE `channels` ADD closing_resolved tinyint(1) DEFAULT 0');
 | 
				
			||||||
      this.updateToSchemaVersion(42);
 | 
					      await this.updateToSchemaVersion(42);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 43 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 43 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery(this.getCreateLNNodeRecordsTableQuery(), await this.$checkIfTableExists('nodes_records'));
 | 
					      await this.$executeQuery(this.getCreateLNNodeRecordsTableQuery(), await this.$checkIfTableExists('nodes_records'));
 | 
				
			||||||
      this.updateToSchemaVersion(43);
 | 
					      await this.updateToSchemaVersion(43);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 44 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 44 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('UPDATE blocks_summaries SET template = NULL');
 | 
					      await this.$executeQuery('UPDATE blocks_summaries SET template = NULL');
 | 
				
			||||||
      this.updateToSchemaVersion(44);
 | 
					      await this.updateToSchemaVersion(44);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 45 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 45 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `blocks_audits` ADD fresh_txs JSON DEFAULT "[]"');
 | 
					      await this.$executeQuery('ALTER TABLE `blocks_audits` ADD fresh_txs JSON DEFAULT "[]"');
 | 
				
			||||||
      this.updateToSchemaVersion(45);
 | 
					      await this.updateToSchemaVersion(45);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 46) {
 | 
					    if (databaseSchemaVersion < 46) {
 | 
				
			||||||
      await this.$executeQuery(`ALTER TABLE blocks MODIFY blockTimestamp timestamp NOT NULL DEFAULT 0`);
 | 
					      await this.$executeQuery(`ALTER TABLE blocks MODIFY blockTimestamp timestamp NOT NULL DEFAULT 0`);
 | 
				
			||||||
      this.updateToSchemaVersion(46);
 | 
					      await this.updateToSchemaVersion(46);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 47) {
 | 
					    if (databaseSchemaVersion < 47) {
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `blocks` ADD cpfp_indexed tinyint(1) DEFAULT 0');
 | 
					      await this.$executeQuery('ALTER TABLE `blocks` ADD cpfp_indexed tinyint(1) DEFAULT 0');
 | 
				
			||||||
      await this.$executeQuery(this.getCreateCPFPTableQuery(), await this.$checkIfTableExists('cpfp_clusters'));
 | 
					      await this.$executeQuery(this.getCreateCPFPTableQuery(), await this.$checkIfTableExists('cpfp_clusters'));
 | 
				
			||||||
      await this.$executeQuery(this.getCreateTransactionsTableQuery(), await this.$checkIfTableExists('transactions'));
 | 
					      await this.$executeQuery(this.getCreateTransactionsTableQuery(), await this.$checkIfTableExists('transactions'));
 | 
				
			||||||
      this.updateToSchemaVersion(47);
 | 
					      await this.updateToSchemaVersion(47);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 48 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 48 && isBitcoin === true) {
 | 
				
			||||||
@ -435,12 +435,12 @@ class DatabaseMigration {
 | 
				
			|||||||
      await this.$executeQuery('ALTER TABLE `channels` ADD closed_by varchar(66) DEFAULT NULL');
 | 
					      await this.$executeQuery('ALTER TABLE `channels` ADD closed_by varchar(66) DEFAULT NULL');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `channels` ADD single_funded tinyint(1) DEFAULT 0');
 | 
					      await this.$executeQuery('ALTER TABLE `channels` ADD single_funded tinyint(1) DEFAULT 0');
 | 
				
			||||||
      await this.$executeQuery('ALTER TABLE `channels` ADD outputs JSON DEFAULT "[]"');
 | 
					      await this.$executeQuery('ALTER TABLE `channels` ADD outputs JSON DEFAULT "[]"');
 | 
				
			||||||
      this.updateToSchemaVersion(48);
 | 
					      await this.updateToSchemaVersion(48);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (databaseSchemaVersion < 49 && isBitcoin === true) {
 | 
					    if (databaseSchemaVersion < 49 && isBitcoin === true) {
 | 
				
			||||||
      await this.$executeQuery('TRUNCATE TABLE `blocks_audits`');
 | 
					      await this.$executeQuery('TRUNCATE TABLE `blocks_audits`');
 | 
				
			||||||
      this.updateToSchemaVersion(49);
 | 
					      await this.updateToSchemaVersion(49);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -63,40 +63,14 @@ export class TransactionPreviewComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
    this.fetchCpfpSubscription = this.fetchCpfp$
 | 
					    this.fetchCpfpSubscription = this.fetchCpfp$
 | 
				
			||||||
      .pipe(
 | 
					      .pipe(
 | 
				
			||||||
        switchMap((txId) =>
 | 
					        switchMap((txId) =>
 | 
				
			||||||
          this.apiService
 | 
					          this.apiService.getCpfpinfo$(txId).pipe(
 | 
				
			||||||
            .getCpfpinfo$(txId)
 | 
					            catchError((err) => {
 | 
				
			||||||
            .pipe(retryWhen((errors) => errors.pipe(delay(2000))))
 | 
					              return of(null);
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
      .subscribe((cpfpInfo) => {
 | 
					      .subscribe((cpfpInfo) => {
 | 
				
			||||||
        if (!this.tx) {
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (cpfpInfo.effectiveFeePerVsize) {
 | 
					 | 
				
			||||||
          this.tx.effectiveFeePerVsize = cpfpInfo.effectiveFeePerVsize;
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          const lowerFeeParents = cpfpInfo.ancestors.filter(
 | 
					 | 
				
			||||||
            (parent) => parent.fee / (parent.weight / 4) < this.tx.feePerVsize
 | 
					 | 
				
			||||||
          );
 | 
					 | 
				
			||||||
          let totalWeight =
 | 
					 | 
				
			||||||
            this.tx.weight +
 | 
					 | 
				
			||||||
            lowerFeeParents.reduce((prev, val) => prev + val.weight, 0);
 | 
					 | 
				
			||||||
          let totalFees =
 | 
					 | 
				
			||||||
            this.tx.fee +
 | 
					 | 
				
			||||||
            lowerFeeParents.reduce((prev, val) => prev + val.fee, 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          if (cpfpInfo?.bestDescendant) {
 | 
					 | 
				
			||||||
            totalWeight += cpfpInfo?.bestDescendant.weight;
 | 
					 | 
				
			||||||
            totalFees += cpfpInfo?.bestDescendant.fee;
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          this.tx.effectiveFeePerVsize = totalFees / (totalWeight / 4);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (!this.tx.status.confirmed) {
 | 
					 | 
				
			||||||
          this.stateService.markBlock$.next({
 | 
					 | 
				
			||||||
            txFeePerVSize: this.tx.effectiveFeePerVsize,
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        this.cpfpInfo = cpfpInfo;
 | 
					        this.cpfpInfo = cpfpInfo;
 | 
				
			||||||
        this.openGraphService.waitOver('cpfp-data-' + this.txId);
 | 
					        this.openGraphService.waitOver('cpfp-data-' + this.txId);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
				
			|||||||
@ -7,10 +7,11 @@ import {
 | 
				
			|||||||
  catchError,
 | 
					  catchError,
 | 
				
			||||||
  retryWhen,
 | 
					  retryWhen,
 | 
				
			||||||
  delay,
 | 
					  delay,
 | 
				
			||||||
  map
 | 
					  map,
 | 
				
			||||||
 | 
					  mergeMap
 | 
				
			||||||
} from 'rxjs/operators';
 | 
					} from 'rxjs/operators';
 | 
				
			||||||
import { Transaction } from '../../interfaces/electrs.interface';
 | 
					import { Transaction } from '../../interfaces/electrs.interface';
 | 
				
			||||||
import { of, merge, Subscription, Observable, Subject, timer, combineLatest, from } from 'rxjs';
 | 
					import { of, merge, Subscription, Observable, Subject, timer, combineLatest, from, throwError } from 'rxjs';
 | 
				
			||||||
import { StateService } from '../../services/state.service';
 | 
					import { StateService } from '../../services/state.service';
 | 
				
			||||||
import { WebsocketService } from '../../services/websocket.service';
 | 
					import { WebsocketService } from '../../services/websocket.service';
 | 
				
			||||||
import { AudioService } from '../../services/audio.service';
 | 
					import { AudioService } from '../../services/audio.service';
 | 
				
			||||||
@ -110,11 +111,24 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
 | 
				
			|||||||
        switchMap((txId) =>
 | 
					        switchMap((txId) =>
 | 
				
			||||||
          this.apiService
 | 
					          this.apiService
 | 
				
			||||||
            .getCpfpinfo$(txId)
 | 
					            .getCpfpinfo$(txId)
 | 
				
			||||||
            .pipe(retryWhen((errors) => errors.pipe(delay(2000))))
 | 
					            .pipe(retryWhen((errors) => errors.pipe(
 | 
				
			||||||
        )
 | 
					              mergeMap((error) => {
 | 
				
			||||||
 | 
					                if (!this.tx?.status || this.tx.status.confirmed) {
 | 
				
			||||||
 | 
					                  return throwError(error);
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                  return of(null);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              }),
 | 
				
			||||||
 | 
					              delay(2000)
 | 
				
			||||||
 | 
					            )))
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        catchError(() => {
 | 
				
			||||||
 | 
					          return of(null);
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
      .subscribe((cpfpInfo) => {
 | 
					      .subscribe((cpfpInfo) => {
 | 
				
			||||||
        if (!this.tx) {
 | 
					        if (!cpfpInfo || !this.tx) {
 | 
				
			||||||
 | 
					          this.cpfpInfo = null;
 | 
				
			||||||
          return;
 | 
					          return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (cpfpInfo.effectiveFeePerVsize) {
 | 
					        if (cpfpInfo.effectiveFeePerVsize) {
 | 
				
			||||||
 | 
				
			|||||||
@ -1842,13 +1842,13 @@ create database mempool_signet;
 | 
				
			|||||||
grant all on mempool_signet.* to '${MEMPOOL_SIGNET_USER}'@'localhost' identified by '${MEMPOOL_SIGNET_PASS}';
 | 
					grant all on mempool_signet.* to '${MEMPOOL_SIGNET_USER}'@'localhost' identified by '${MEMPOOL_SIGNET_PASS}';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create database mempool_mainnet_lightning;
 | 
					create database mempool_mainnet_lightning;
 | 
				
			||||||
grant all on mempool_mainnet_lightning.* to '${LN_MEMPOOL_MAINNET_USER}'@'%' identified by '${LN_MEMPOOL_MAINNET_PASS}';
 | 
					grant all on mempool_mainnet_lightning.* to '${LN_MEMPOOL_MAINNET_USER}'@'localhost' identified by '${LN_MEMPOOL_MAINNET_PASS}';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create database mempool_testnet_lightning;
 | 
					create database mempool_testnet_lightning;
 | 
				
			||||||
grant all on mempool_testnet_lightning.* to '${LN_MEMPOOL_TESTNET_USER}'@'%' identified by '${LN_MEMPOOL_TESTNET_PASS}';
 | 
					grant all on mempool_testnet_lightning.* to '${LN_MEMPOOL_TESTNET_USER}'@'localhost' identified by '${LN_MEMPOOL_TESTNET_PASS}';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create database mempool_signet_lightning;
 | 
					create database mempool_signet_lightning;
 | 
				
			||||||
grant all on mempool_signet_lightning.* to '${LN_MEMPOOL_SIGNET_USER}'@'%' identified by '${LN_MEMPOOL_SIGNET_PASS}';
 | 
					grant all on mempool_signet_lightning.* to '${LN_MEMPOOL_SIGNET_USER}'@'localhost' identified by '${LN_MEMPOOL_SIGNET_PASS}';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create database mempool_liquid;
 | 
					create database mempool_liquid;
 | 
				
			||||||
grant all on mempool_liquid.* to '${MEMPOOL_LIQUID_USER}'@'localhost' identified by '${MEMPOOL_LIQUID_PASS}';
 | 
					grant all on mempool_liquid.* to '${MEMPOOL_LIQUID_USER}'@'localhost' identified by '${MEMPOOL_LIQUID_PASS}';
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user