| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | var https = require('https'); | 
					
						
							|  |  |  | var fs = require('fs'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | const CONFIG_FILE_NAME = 'mempool-frontend-config.json'; | 
					
						
							|  |  |  | let configContent = {}; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-11 22:11:29 +09:00
										 |  |  | var PATH = 'dist/mempool/browser/en-US/resources/'; | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | if (process.argv[2] && process.argv[2] === 'dev') { | 
					
						
							| 
									
										
										
										
											2020-05-02 16:59:14 +07:00
										 |  |  |   PATH = 'src/resources/'; | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | try { | 
					
						
							|  |  |  |   const rawConfig = fs.readFileSync(CONFIG_FILE_NAME); | 
					
						
							|  |  |  |   configContent = JSON.parse(rawConfig); | 
					
						
							|  |  |  |   console.log(`${CONFIG_FILE_NAME} file found, using provided config`); | 
					
						
							|  |  |  | } catch (e) { | 
					
						
							|  |  |  |   if (e.code !== 'ENOENT') { | 
					
						
							|  |  |  |     throw new Error(e); | 
					
						
							|  |  |  |   } else { | 
					
						
							|  |  |  |     console.log(`${CONFIG_FILE_NAME} file not found, using default config`); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | function download(filename, url) { | 
					
						
							| 
									
										
										
										
											2020-05-28 01:56:32 +07:00
										 |  |  |   https.get(url, (response) => { | 
					
						
							|  |  |  |     if (response.statusCode < 200 || response.statusCode > 299) { | 
					
						
							|  |  |  |       throw new Error('HTTP Error ' + response.statusCode + ' while fetching \'' + filename + '\''); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     response.pipe(fs.createWriteStream(filename)); | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  |   .on('error', function(e) { | 
					
						
							|  |  |  |     throw new Error(e); | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  |   }); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | const poolsJsonUrl = 'https://raw.githubusercontent.com/btccom/Blockchain-Known-Pools/master/pools.json'; | 
					
						
							|  |  |  | let assetsJsonUrl = 'https://raw.githubusercontent.com/mempool/asset_registry_db/master/index.json'; | 
					
						
							|  |  |  | let assetsMinimalJsonUrl = 'https://raw.githubusercontent.com/mempool/asset_registry_db/master/index.minimal.json'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (configContent.BASE_MODULE && configContent.BASE_MODULE === 'liquid') { | 
					
						
							|  |  |  |   assetsJsonUrl = 'https://raw.githubusercontent.com/Blockstream/asset_registry_db/master/index.json'; | 
					
						
							|  |  |  |   assetsMinimalJsonUrl = 'https://raw.githubusercontent.com/Blockstream/asset_registry_db/master/index.minimal.json'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 00:42:34 +04:00
										 |  |  | const testnetAssetsJsonUrl = 'https://raw.githubusercontent.com/Blockstream/asset_registry_testnet_db/master/index.json'; | 
					
						
							|  |  |  | const testnetAssetsMinimalJsonUrl = 'https://raw.githubusercontent.com/Blockstream/asset_registry_testnet_db/master/index.minimal.json'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | console.log('Downloading assets'); | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | download(PATH + 'assets.json', assetsJsonUrl); | 
					
						
							| 
									
										
										
										
											2020-05-02 14:04:33 +07:00
										 |  |  | console.log('Downloading assets minimal'); | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | download(PATH + 'assets.minimal.json', assetsMinimalJsonUrl); | 
					
						
							| 
									
										
										
										
											2020-05-10 00:35:21 +07:00
										 |  |  | console.log('Downloading mining pools info'); | 
					
						
							| 
									
										
										
										
											2021-08-05 01:31:22 +03:00
										 |  |  | download(PATH + 'pools.json', poolsJsonUrl); | 
					
						
							| 
									
										
										
										
											2021-12-29 00:42:34 +04:00
										 |  |  | console.log('Downloading testnet assets'); | 
					
						
							|  |  |  | download(PATH + 'assets-testnet.json', testnetAssetsJsonUrl); | 
					
						
							|  |  |  | console.log('Downloading testnet assets minimal'); | 
					
						
							|  |  |  | download(PATH + 'assets-testnet.minimal.json', testnetAssetsMinimalJsonUrl); | 
					
						
							|  |  |  | 
 |