Merge branch 'master' into mononaut/v1-audit-improvements
This commit is contained in:
		
						commit
						62085581dd
					
				
							
								
								
									
										12
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								LICENSE
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
The Mempool Open Source Project®
 | 
					The Mempool Open Source Project®
 | 
				
			||||||
Copyright (c) 2019-2023 Mempool Space K.K. and other shadowy super-coders
 | 
					Copyright (c) 2019-2024 Mempool Space K.K. and other shadowy super-coders
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This program is free software; you can redistribute it and/or modify it under
 | 
					This program is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
the terms of the GNU Affero General Public License as published by the Free
 | 
					the terms of the GNU Affero General Public License as published by the Free
 | 
				
			||||||
@ -12,10 +12,12 @@ or any other contributor to The Mempool Open Source Project.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, 
 | 
					The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, 
 | 
				
			||||||
Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full 
 | 
					Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full 
 | 
				
			||||||
Bitcoin ecosystem™, Mempool Goggles™, the mempool Logo, the mempool Square logo, 
 | 
					Bitcoin ecosystem™, Mempool Goggles™, the mempool Logo, the mempool Square Logo, 
 | 
				
			||||||
the mempool Blocks logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical 
 | 
					the mempool block visualization Logo, the mempool Blocks Logo, the mempool 
 | 
				
			||||||
Logo, and the mempool.space Horizontal logo are registered trademarks or trademarks 
 | 
					transaction Logo, the mempool Blocks 3 | 2 Logo, the mempool research Logo, 
 | 
				
			||||||
of Mempool Space K.K in Japan, the United States, and/or other countries.
 | 
					the mempool.space Vertical Logo, and the mempool.space Horizontal Logo are 
 | 
				
			||||||
 | 
					registered trademarks or trademarks of Mempool Space K.K in Japan, 
 | 
				
			||||||
 | 
					the United States, and/or other countries.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See our full Trademark Policy and Guidelines for more details, published on 
 | 
					See our full Trademark Policy and Guidelines for more details, published on 
 | 
				
			||||||
<https://mempool.space/trademark-policy>.
 | 
					<https://mempool.space/trademark-policy>.
 | 
				
			||||||
 | 
				
			|||||||
@ -77,7 +77,7 @@ Query OK, 0 rows affected (0.00 sec)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#### Build
 | 
					#### Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_Make sure to use Node.js 16.10 and npm 7._
 | 
					_Make sure to use Node.js 20.x and npm 9.x or newer_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_The build process requires [Rust](https://www.rust-lang.org/tools/install) to be installed._
 | 
					_The build process requires [Rust](https://www.rust-lang.org/tools/install) to be installed._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										19
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										19
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,18 +1,19 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-backend",
 | 
					  "name": "mempool-backend",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "mempool-backend",
 | 
					      "name": "mempool-backend",
 | 
				
			||||||
      "version": "3.0.0-beta",
 | 
					      "version": "3.1.0-dev",
 | 
				
			||||||
      "hasInstallScript": true,
 | 
					      "hasInstallScript": true,
 | 
				
			||||||
      "license": "GNU Affero General Public License v3.0",
 | 
					      "license": "GNU Affero General Public License v3.0",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@babel/core": "^7.25.2",
 | 
				
			||||||
        "@mempool/electrum-client": "1.1.9",
 | 
					        "@mempool/electrum-client": "1.1.9",
 | 
				
			||||||
        "@types/node": "^18.15.3",
 | 
					        "@types/node": "^18.15.3",
 | 
				
			||||||
        "axios": "~1.7.2",
 | 
					        "axios": "~1.7.4",
 | 
				
			||||||
        "bitcoinjs-lib": "~6.1.3",
 | 
					        "bitcoinjs-lib": "~6.1.3",
 | 
				
			||||||
        "crypto-js": "~4.2.0",
 | 
					        "crypto-js": "~4.2.0",
 | 
				
			||||||
        "express": "~4.19.2",
 | 
					        "express": "~4.19.2",
 | 
				
			||||||
@ -2277,9 +2278,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/axios": {
 | 
					    "node_modules/axios": {
 | 
				
			||||||
      "version": "1.7.2",
 | 
					      "version": "1.7.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
 | 
					      "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "follow-redirects": "^1.15.6",
 | 
					        "follow-redirects": "^1.15.6",
 | 
				
			||||||
        "form-data": "^4.0.0",
 | 
					        "form-data": "^4.0.0",
 | 
				
			||||||
@ -9438,9 +9439,9 @@
 | 
				
			|||||||
      "integrity": "sha512-+H+kuK34PfMaI9PNU/NSjBKL5hh/KDM9J72kwYeYEm0A8B1AC4fuCy3qsjnA7lxklgyXsB68yn8Z2xoZEjgwCQ=="
 | 
					      "integrity": "sha512-+H+kuK34PfMaI9PNU/NSjBKL5hh/KDM9J72kwYeYEm0A8B1AC4fuCy3qsjnA7lxklgyXsB68yn8Z2xoZEjgwCQ=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "axios": {
 | 
					    "axios": {
 | 
				
			||||||
      "version": "1.7.2",
 | 
					      "version": "1.7.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
 | 
					      "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "follow-redirects": "^1.15.6",
 | 
					        "follow-redirects": "^1.15.6",
 | 
				
			||||||
        "form-data": "^4.0.0",
 | 
					        "form-data": "^4.0.0",
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-backend",
 | 
					  "name": "mempool-backend",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "description": "Bitcoin mempool visualizer and blockchain explorer backend",
 | 
					  "description": "Bitcoin mempool visualizer and blockchain explorer backend",
 | 
				
			||||||
  "license": "GNU Affero General Public License v3.0",
 | 
					  "license": "GNU Affero General Public License v3.0",
 | 
				
			||||||
  "homepage": "https://mempool.space",
 | 
					  "homepage": "https://mempool.space",
 | 
				
			||||||
@ -42,7 +42,7 @@
 | 
				
			|||||||
    "@babel/core": "^7.25.2",
 | 
					    "@babel/core": "^7.25.2",
 | 
				
			||||||
    "@mempool/electrum-client": "1.1.9",
 | 
					    "@mempool/electrum-client": "1.1.9",
 | 
				
			||||||
    "@types/node": "^18.15.3",
 | 
					    "@types/node": "^18.15.3",
 | 
				
			||||||
    "axios": "~1.7.2",
 | 
					    "axios": "~1.7.4",
 | 
				
			||||||
    "bitcoinjs-lib": "~6.1.3",
 | 
					    "bitcoinjs-lib": "~6.1.3",
 | 
				
			||||||
    "crypto-js": "~4.2.0",
 | 
					    "crypto-js": "~4.2.0",
 | 
				
			||||||
    "express": "~4.19.2",
 | 
					    "express": "~4.19.2",
 | 
				
			||||||
 | 
				
			|||||||
@ -33,7 +33,7 @@ $ npm run config:defaults:liquid
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### 3. Run the Frontend
 | 
					### 3. Run the Frontend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_Make sure to use Node.js 16.10 and npm 7._
 | 
					_Make sure to use Node.js 20.x and npm 9.x or newer._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Install project dependencies and run the frontend server:
 | 
					Install project dependencies and run the frontend server:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -70,7 +70,7 @@ Set up the [Mempool backend](../backend/) first, if you haven't already.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### 1. Build the Frontend
 | 
					### 1. Build the Frontend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_Make sure to use Node.js 16.10 and npm 7._
 | 
					_Make sure to use Node.js 20.x and npm 9.x or newer._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Build the frontend:
 | 
					Build the frontend:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -54,6 +54,10 @@
 | 
				
			|||||||
            "translation": "src/locale/messages.fr.xlf",
 | 
					            "translation": "src/locale/messages.fr.xlf",
 | 
				
			||||||
            "baseHref": "/fr/"
 | 
					            "baseHref": "/fr/"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
 | 
					          "hr": {
 | 
				
			||||||
 | 
					            "translation": "src/locale/messages.hr.xlf",
 | 
				
			||||||
 | 
					            "baseHref": "/hr/"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
          "ja": {
 | 
					          "ja": {
 | 
				
			||||||
            "translation": "src/locale/messages.ja.xlf",
 | 
					            "translation": "src/locale/messages.ja.xlf",
 | 
				
			||||||
            "baseHref": "/ja/"
 | 
					            "baseHref": "/ja/"
 | 
				
			||||||
 | 
				
			|||||||
@ -750,7 +750,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "backendInfo": {
 | 
					    "backendInfo": {
 | 
				
			||||||
      "hostname": "node205.tk7.mempool.space",
 | 
					      "hostname": "node205.tk7.mempool.space",
 | 
				
			||||||
      "version": "3.0.0-beta",
 | 
					      "version": "3.1.0-dev",
 | 
				
			||||||
      "gitCommit": "abbc8a134",
 | 
					      "gitCommit": "abbc8a134",
 | 
				
			||||||
      "lightning": false
 | 
					      "lightning": false
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										40
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										40
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-frontend",
 | 
					  "name": "mempool-frontend",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "mempool-frontend",
 | 
					      "name": "mempool-frontend",
 | 
				
			||||||
      "version": "3.0.0-beta",
 | 
					      "version": "3.1.0-dev",
 | 
				
			||||||
      "license": "GNU Affero General Public License v3.0",
 | 
					      "license": "GNU Affero General Public License v3.0",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@angular-devkit/build-angular": "^17.3.1",
 | 
					        "@angular-devkit/build-angular": "^17.3.1",
 | 
				
			||||||
@ -42,7 +42,7 @@
 | 
				
			|||||||
        "rxjs": "~7.8.1",
 | 
					        "rxjs": "~7.8.1",
 | 
				
			||||||
        "tinyify": "^4.0.0",
 | 
					        "tinyify": "^4.0.0",
 | 
				
			||||||
        "tlite": "^0.1.9",
 | 
					        "tlite": "^0.1.9",
 | 
				
			||||||
        "tslib": "~2.6.0",
 | 
					        "tslib": "~2.7.0",
 | 
				
			||||||
        "zone.js": "~0.14.4"
 | 
					        "zone.js": "~0.14.4"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "devDependencies": {
 | 
					      "devDependencies": {
 | 
				
			||||||
@ -699,6 +699,11 @@
 | 
				
			|||||||
        "node": ">=10"
 | 
					        "node": ">=10"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@angular-devkit/build-angular/node_modules/tslib": {
 | 
				
			||||||
 | 
					      "version": "2.6.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@angular-devkit/build-webpack": {
 | 
					    "node_modules/@angular-devkit/build-webpack": {
 | 
				
			||||||
      "version": "0.1703.1",
 | 
					      "version": "0.1703.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.1.tgz",
 | 
				
			||||||
@ -8805,9 +8810,9 @@
 | 
				
			|||||||
      "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
 | 
					      "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/elliptic": {
 | 
					    "node_modules/elliptic": {
 | 
				
			||||||
      "version": "6.5.4",
 | 
					      "version": "6.5.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
 | 
					      "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "bn.js": "^4.11.9",
 | 
					        "bn.js": "^4.11.9",
 | 
				
			||||||
        "brorand": "^1.1.0",
 | 
					        "brorand": "^1.1.0",
 | 
				
			||||||
@ -16925,9 +16930,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/tslib": {
 | 
					    "node_modules/tslib": {
 | 
				
			||||||
      "version": "2.6.2",
 | 
					      "version": "2.7.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
 | 
					      "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/tuf-js": {
 | 
					    "node_modules/tuf-js": {
 | 
				
			||||||
      "version": "2.2.0",
 | 
					      "version": "2.2.0",
 | 
				
			||||||
@ -18849,6 +18854,11 @@
 | 
				
			|||||||
          "requires": {
 | 
					          "requires": {
 | 
				
			||||||
            "lru-cache": "^6.0.0"
 | 
					            "lru-cache": "^6.0.0"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "tslib": {
 | 
				
			||||||
 | 
					          "version": "2.6.2",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -24723,9 +24733,9 @@
 | 
				
			|||||||
      "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
 | 
					      "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "elliptic": {
 | 
					    "elliptic": {
 | 
				
			||||||
      "version": "6.5.4",
 | 
					      "version": "6.5.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
 | 
					      "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "bn.js": "^4.11.9",
 | 
					        "bn.js": "^4.11.9",
 | 
				
			||||||
        "brorand": "^1.1.0",
 | 
					        "brorand": "^1.1.0",
 | 
				
			||||||
@ -30763,9 +30773,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "tslib": {
 | 
					    "tslib": {
 | 
				
			||||||
      "version": "2.6.2",
 | 
					      "version": "2.7.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
 | 
					      "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "tuf-js": {
 | 
					    "tuf-js": {
 | 
				
			||||||
      "version": "2.2.0",
 | 
					      "version": "2.2.0",
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-frontend",
 | 
					  "name": "mempool-frontend",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "description": "Bitcoin mempool visualizer and blockchain explorer backend",
 | 
					  "description": "Bitcoin mempool visualizer and blockchain explorer backend",
 | 
				
			||||||
  "license": "GNU Affero General Public License v3.0",
 | 
					  "license": "GNU Affero General Public License v3.0",
 | 
				
			||||||
  "homepage": "https://mempool.space",
 | 
					  "homepage": "https://mempool.space",
 | 
				
			||||||
@ -95,7 +95,7 @@
 | 
				
			|||||||
    "esbuild": "^0.23.0",
 | 
					    "esbuild": "^0.23.0",
 | 
				
			||||||
    "tinyify": "^4.0.0",
 | 
					    "tinyify": "^4.0.0",
 | 
				
			||||||
    "tlite": "^0.1.9",
 | 
					    "tlite": "^0.1.9",
 | 
				
			||||||
    "tslib": "~2.6.0",
 | 
					    "tslib": "~2.7.0",
 | 
				
			||||||
    "zone.js": "~0.14.4"
 | 
					    "zone.js": "~0.14.4"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
				
			|||||||
@ -53,7 +53,7 @@
 | 
				
			|||||||
        <span>Spiral</span>
 | 
					        <span>Spiral</span>
 | 
				
			||||||
      </a>
 | 
					      </a>
 | 
				
			||||||
      <a href="https://foundrydigital.com/" target="_blank" title="Foundry">
 | 
					      <a href="https://foundrydigital.com/" target="_blank" title="Foundry">
 | 
				
			||||||
        <svg xmlns="http://www.w3.org/2000/svg" id="b" data-name="Layer 2" style="zoom: 1;" width="32" height="76" viewBox="0 0 32 76">
 | 
					        <svg xmlns="http://www.w3.org/2000/svg" id="b" data-name="Layer 2" style="zoom: 1;" width="32" height="76" viewBox="0 0 32 76" class="image">
 | 
				
			||||||
          <defs>
 | 
					          <defs>
 | 
				
			||||||
            <style>
 | 
					            <style>
 | 
				
			||||||
              .d {
 | 
					              .d {
 | 
				
			||||||
@ -125,7 +125,9 @@
 | 
				
			|||||||
        <span>Blockstream</span>
 | 
					        <span>Blockstream</span>
 | 
				
			||||||
      </a>
 | 
					      </a>
 | 
				
			||||||
      <a href="https://unchained.com/" target="_blank" title="Unchained">
 | 
					      <a href="https://unchained.com/" target="_blank" title="Unchained">
 | 
				
			||||||
        <svg id="Layer_1" width="78" height="78" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 156.68 156.68"><defs><style>.cls-unchained-1{fill:#fff;}</style></defs><path class="cls-unchained-1" d="m78.34,0C35.07,0,0,35.07,0,78.34s35.07,78.34,78.34,78.34,78.34-35.07,78.34-78.34S121.6,0,78.34,0ZM20.23,109.5c-4.99-9.28-7.81-19.89-7.81-31.16C12.42,41.93,41.93,12.42,78.34,12.42c33.15,0,60.58,24.46,65.23,56.32h-37.48c-45.29,0-71.19,20.05-85.85,40.76Zm58.11,34.76c-12.42,0-24.04-3.44-33.96-9.41,3.94-8.85,9.11-18.7,15.84-28.9,20.99-31.8,52.2-31.19,76.49-31.19h7.45c.06,1.18.1,2.38.1,3.58,0,36.41-29.51,65.92-65.92,65.92Z"/><path class="cls-unchained-1" d="m91.98,42.4l-3.62-1.18c-3.94-1.29-7.03-4.38-8.32-8.32l-1.18-3.63c-.13-.39-.68-.39-.81,0l-1.18,3.63c-1.29,3.94-4.38,7.03-8.32,8.32l-3.62,1.18c-.39.13-.39.68,0,.81l3.62,1.18c3.94,1.29,7.03,4.38,8.32,8.32l1.18,3.63c.13.39.68.39.81,0l1.18-3.63c1.29-3.94,4.38-7.03,8.32-8.32l3.62-1.18c.39-.13.39-.68,0-.81Z"/></svg>
 | 
					        <svg id="Layer_1" width="78" height="78" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 156.68 156.68" class="image">
 | 
				
			||||||
 | 
					          <defs><style>.cls-unchained-1{fill:#fff;}</style></defs><path class="cls-unchained-1" d="m78.34,0C35.07,0,0,35.07,0,78.34s35.07,78.34,78.34,78.34,78.34-35.07,78.34-78.34S121.6,0,78.34,0ZM20.23,109.5c-4.99-9.28-7.81-19.89-7.81-31.16C12.42,41.93,41.93,12.42,78.34,12.42c33.15,0,60.58,24.46,65.23,56.32h-37.48c-45.29,0-71.19,20.05-85.85,40.76Zm58.11,34.76c-12.42,0-24.04-3.44-33.96-9.41,3.94-8.85,9.11-18.7,15.84-28.9,20.99-31.8,52.2-31.19,76.49-31.19h7.45c.06,1.18.1,2.38.1,3.58,0,36.41-29.51,65.92-65.92,65.92Z"/><path class="cls-unchained-1" d="m91.98,42.4l-3.62-1.18c-3.94-1.29-7.03-4.38-8.32-8.32l-1.18-3.63c-.13-.39-.68-.39-.81,0l-1.18,3.63c-1.29,3.94-4.38,7.03-8.32,8.32l-3.62,1.18c-.39.13-.39.68,0,.81l3.62,1.18c3.94,1.29,7.03,4.38,8.32,8.32l1.18,3.63c.13.39.68.39.81,0l1.18-3.63c1.29-3.94,4.38-7.03,8.32-8.32l3.62-1.18c.39-.13.39-.68,0-.81Z"/>
 | 
				
			||||||
 | 
					        </svg>
 | 
				
			||||||
        <span>Unchained</span>
 | 
					        <span>Unchained</span>
 | 
				
			||||||
      </a>
 | 
					      </a>
 | 
				
			||||||
      <a href="https://gemini.com/" target="_blank" title="Gemini">
 | 
					      <a href="https://gemini.com/" target="_blank" title="Gemini">
 | 
				
			||||||
@ -150,7 +152,7 @@
 | 
				
			|||||||
        <span>Bull Bitcoin</span>
 | 
					        <span>Bull Bitcoin</span>
 | 
				
			||||||
      </a>
 | 
					      </a>
 | 
				
			||||||
      <a href="https://exodus.com/" target="_blank" title="Exodus">
 | 
					      <a href="https://exodus.com/" target="_blank" title="Exodus">
 | 
				
			||||||
        <svg width="80" height="80" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
 | 
					        <svg width="80" height="80" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg" class="image">
 | 
				
			||||||
          <circle cx="250" cy="250" r="250" fill="#1F2033"/>
 | 
					          <circle cx="250" cy="250" r="250" fill="#1F2033"/>
 | 
				
			||||||
          <g clip-path="url(#clip0_2_14)">
 | 
					          <g clip-path="url(#clip0_2_14)">
 | 
				
			||||||
            <path d="M411.042 178.303L271.79 87V138.048L361.121 196.097L350.612 229.351H271.79V271.648H350.612L361.121 304.903L271.79 362.952V414L411.042 322.989L388.271 250.646L411.042 178.303Z" fill="url(#paint0_linear_2_14)"/>
 | 
					            <path d="M411.042 178.303L271.79 87V138.048L361.121 196.097L350.612 229.351H271.79V271.648H350.612L361.121 304.903L271.79 362.952V414L411.042 322.989L388.271 250.646L411.042 178.303Z" fill="url(#paint0_linear_2_14)"/>
 | 
				
			||||||
@ -435,7 +437,7 @@
 | 
				
			|||||||
      Trademark Notice<br>
 | 
					      Trademark Notice<br>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <p>
 | 
					    <p>
 | 
				
			||||||
      The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem®, Mempool Goggles™, the mempool logo, the mempool Square logo, the mempool Blocks logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical Logo, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.
 | 
					      The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem®, Mempool Goggles™, the mempool Logo, the mempool Square Logo, the mempool block visualization Logo, the mempool Blocks Logo, the mempool transaction Logo, the mempool Blocks 3 | 2 Logo, the mempool research Logo, the mempool.space Vertical Logo, and the mempool.space Horizontal Logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.
 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
    <p>
 | 
					    <p>
 | 
				
			||||||
      While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our <a href="https://mempool.space/trademark-policy">Trademark Policy and Guidelines</a> for more details, published on <https://mempool.space/trademark-policy>.
 | 
					      While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our <a href="https://mempool.space/trademark-policy">Trademark Policy and Guidelines</a> for more details, published on <https://mempool.space/trademark-policy>.
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  .image.not-rounded {
 | 
					  .image.not-rounded {
 | 
				
			||||||
    border-radius: 0;
 | 
					    border-radius: 0;
 | 
				
			||||||
    width: 60px;
 | 
					 | 
				
			||||||
    height: 60px;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .intro {
 | 
					  .intro {
 | 
				
			||||||
@ -158,9 +156,8 @@
 | 
				
			|||||||
          margin: 40px 29px 10px;
 | 
					          margin: 40px 29px 10px;
 | 
				
			||||||
          &.image.coldcard {
 | 
					          &.image.coldcard {
 | 
				
			||||||
            border-radius: 0;
 | 
					            border-radius: 0;
 | 
				
			||||||
            width: auto;
 | 
					            height: auto;
 | 
				
			||||||
            max-height: 50px;
 | 
					            margin: 20px 29px 20px;
 | 
				
			||||||
            margin: 40px 29px 14px 29px;
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
				
			|||||||
@ -67,13 +67,17 @@ export class ActiveAccelerationBox implements OnChanges {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const acceleratingPools = (poolList || []).filter(id => pools[id]).sort((a,b) => pools[a].lastEstimatedHashrate - pools[b].lastEstimatedHashrate);
 | 
					    const acceleratingPools = (poolList || []).filter(id => pools[id]).sort((a,b) => pools[a].lastEstimatedHashrate - pools[b].lastEstimatedHashrate);
 | 
				
			||||||
    const totalAcceleratedHashrate = acceleratingPools.reduce((total, pool) => total + pools[pool].lastEstimatedHashrate, 0);
 | 
					    const totalAcceleratedHashrate = acceleratingPools.reduce((total, pool) => total + pools[pool].lastEstimatedHashrate, 0);
 | 
				
			||||||
    const lightenStep = acceleratingPools.length ? (0.48 / acceleratingPools.length) : 0;
 | 
					    // Find the first pool with at least 1% of the total network hashrate
 | 
				
			||||||
 | 
					    const firstSignificantPool = acceleratingPools.findIndex(pool => pools[pool].lastEstimatedHashrate > this.miningStats.lastEstimatedHashrate / 100);
 | 
				
			||||||
 | 
					    const numSignificantPools = acceleratingPools.length - firstSignificantPool;
 | 
				
			||||||
    acceleratingPools.forEach((poolId, index) => {
 | 
					    acceleratingPools.forEach((poolId, index) => {
 | 
				
			||||||
      const pool = pools[poolId];
 | 
					      const pool = pools[poolId];
 | 
				
			||||||
      const poolShare = ((pool.lastEstimatedHashrate / this.miningStats.lastEstimatedHashrate) * 100).toFixed(1);
 | 
					      const poolShare = ((pool.lastEstimatedHashrate / this.miningStats.lastEstimatedHashrate) * 100).toFixed(1);
 | 
				
			||||||
      data.push(getDataItem(
 | 
					      data.push(getDataItem(
 | 
				
			||||||
        pool.lastEstimatedHashrate,
 | 
					        pool.lastEstimatedHashrate,
 | 
				
			||||||
        toRGB(lighten({ r: 147, g: 57, b: 244 }, index * lightenStep)),
 | 
					        index >= firstSignificantPool
 | 
				
			||||||
 | 
					          ? toRGB(lighten({ r: 147, g: 57, b: 244 }, 1 - (index - firstSignificantPool) / (numSignificantPools - 1)))
 | 
				
			||||||
 | 
					          : 'white',
 | 
				
			||||||
        `<b style="color: white">${pool.name} (${poolShare}%)</b>`,
 | 
					        `<b style="color: white">${pool.name} (${poolShare}%)</b>`,
 | 
				
			||||||
        true,
 | 
					        true,
 | 
				
			||||||
      ) as PieSeriesOption);
 | 
					      ) as PieSeriesOption);
 | 
				
			||||||
 | 
				
			|||||||
@ -213,7 +213,7 @@ export class MempoolBlocksComponent implements OnInit, OnChanges, OnDestroy {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        if (state.mempoolPosition) {
 | 
					        if (state.mempoolPosition) {
 | 
				
			||||||
          this.txPosition = state.mempoolPosition;
 | 
					          this.txPosition = state.mempoolPosition;
 | 
				
			||||||
          if (this.txPosition.accelerated && !oldTxPosition.accelerated) {
 | 
					          if (this.txPosition.accelerated && !oldTxPosition?.accelerated) {
 | 
				
			||||||
            this.acceleratingArrow = true;
 | 
					            this.acceleratingArrow = true;
 | 
				
			||||||
            setTimeout(() => {
 | 
					            setTimeout(() => {
 | 
				
			||||||
              this.acceleratingArrow = false;
 | 
					              this.acceleratingArrow = false;
 | 
				
			||||||
 | 
				
			|||||||
@ -293,7 +293,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
      })
 | 
					      })
 | 
				
			||||||
    ).subscribe((accelerationHistory) => {
 | 
					    ).subscribe((accelerationHistory) => {
 | 
				
			||||||
      for (const acceleration of accelerationHistory) {
 | 
					      for (const acceleration of accelerationHistory) {
 | 
				
			||||||
        if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional')) {
 | 
					        if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional') && acceleration.pools.includes(acceleration.minedByPoolUniqueId)) {
 | 
				
			||||||
          const boostCost = acceleration.boostCost || acceleration.bidBoost;
 | 
					          const boostCost = acceleration.boostCost || acceleration.bidBoost;
 | 
				
			||||||
          acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
 | 
					          acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
 | 
				
			||||||
          acceleration.boost = boostCost;
 | 
					          acceleration.boost = boostCost;
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@
 | 
				
			|||||||
  <div *ngIf="officialMempoolSpace">
 | 
					  <div *ngIf="officialMempoolSpace">
 | 
				
			||||||
    <h2>Trademark Policy and Guidelines</h2>
 | 
					    <h2>Trademark Policy and Guidelines</h2>
 | 
				
			||||||
    <h5>The Mempool Open Source Project ®</h5>
 | 
					    <h5>The Mempool Open Source Project ®</h5>
 | 
				
			||||||
    <h6>Updated: July 3, 2024</h6>
 | 
					    <h6>Updated: August 19, 2024</h6>
 | 
				
			||||||
    <br>
 | 
					    <br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="text-left">
 | 
					    <div class="text-left">
 | 
				
			||||||
@ -100,11 +100,26 @@
 | 
				
			|||||||
            <p>The Mempool Accelerator Logo</p>
 | 
					            <p>The Mempool Accelerator Logo</p>
 | 
				
			||||||
            <br><br>
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <img src="/resources/mempool-research.png" style="width: 500px; max-width: 80%">
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            <p>The mempool research Logo</p>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <app-svg-images name="goggles" height="96px"></app-svg-images>
 | 
					            <app-svg-images name="goggles" height="96px"></app-svg-images>
 | 
				
			||||||
            <br><br>
 | 
					            <br><br>
 | 
				
			||||||
            <p>The Mempool Goggles Logo</p>
 | 
					            <p>The Mempool Goggles Logo</p>
 | 
				
			||||||
            <br><br>
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <img src="/resources/mempool-transaction.png" style="width: 500px; max-width: 80%">
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            <p>The mempool transaction Logo</p>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <img src="/resources/mempool-block-visualization.png" style="width: 500px; max-width: 80%">
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            <p>The mempool block visualization Logo</p>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <img src="/resources/mempool-blocks-2-3-logo.jpeg" style="width: 500px; max-width: 80%">
 | 
					            <img src="/resources/mempool-blocks-2-3-logo.jpeg" style="width: 500px; max-width: 80%">
 | 
				
			||||||
            <br><br>
 | 
					            <br><br>
 | 
				
			||||||
            <p>The mempool Blocks Logo</p>
 | 
					            <p>The mempool Blocks Logo</p>
 | 
				
			||||||
 | 
				
			|||||||
@ -606,16 +606,11 @@
 | 
				
			|||||||
  @if (!isLoadingTx) {
 | 
					  @if (!isLoadingTx) {
 | 
				
			||||||
    <tr>
 | 
					    <tr>
 | 
				
			||||||
      <td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
 | 
					      <td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
 | 
				
			||||||
      <td class="text-wrap">{{ tx.fee | number }} <span class="symbol" i18n="shared.sat|sat">sat</span> 
 | 
					      <td class="text-wrap">{{ tx.fee | number }} <span class="symbol" i18n="shared.sat|sat">sat</span>
 | 
				
			||||||
        @if (accelerationInfo?.bidBoost) {
 | 
					        @if (accelerationInfo?.bidBoost ?? tx.feeDelta > 0) {
 | 
				
			||||||
          <span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ accelerationInfo.bidBoost | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
 | 
					          <span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ accelerationInfo?.bidBoost ?? tx.feeDelta | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
 | 
				
			||||||
          <span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + accelerationInfo.bidBoost"></app-fiat></span>
 | 
					        }
 | 
				
			||||||
        } @else if (tx.feeDelta && !accelerationInfo) {
 | 
					        <span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + ((accelerationInfo?.bidBoost ?? tx.feeDelta) || 0)"></app-fiat></span>
 | 
				
			||||||
          <span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ tx.feeDelta | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
 | 
					 | 
				
			||||||
          <span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + tx.feeDelta"></app-fiat></span>
 | 
					 | 
				
			||||||
        } @else {
 | 
					 | 
				
			||||||
          <span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee"></app-fiat></span>
 | 
					 | 
				
			||||||
        }        
 | 
					 | 
				
			||||||
      </td>
 | 
					      </td>
 | 
				
			||||||
    </tr>
 | 
					    </tr>
 | 
				
			||||||
  } @else {
 | 
					  } @else {
 | 
				
			||||||
 | 
				
			|||||||
@ -358,12 +358,18 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
 | 
				
			|||||||
      }),
 | 
					      }),
 | 
				
			||||||
    ).subscribe((accelerationHistory) => {
 | 
					    ).subscribe((accelerationHistory) => {
 | 
				
			||||||
      for (const acceleration of accelerationHistory) {
 | 
					      for (const acceleration of accelerationHistory) {
 | 
				
			||||||
        if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional')) {
 | 
					        if (acceleration.txid === this.txId) {
 | 
				
			||||||
          const boostCost = acceleration.boostCost || acceleration.bidBoost;
 | 
					          if (acceleration.status === 'completed' || acceleration.status === 'completed_provisional') {
 | 
				
			||||||
          acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
 | 
					            if (acceleration.pools.includes(acceleration.minedByPoolUniqueId)) {
 | 
				
			||||||
          acceleration.boost = boostCost;
 | 
					              const boostCost = acceleration.boostCost || acceleration.bidBoost;
 | 
				
			||||||
          this.tx.acceleratedAt = acceleration.added;
 | 
					              acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
 | 
				
			||||||
          this.accelerationInfo = acceleration;
 | 
					              acceleration.boost = boostCost;
 | 
				
			||||||
 | 
					              this.tx.acceleratedAt = acceleration.added;
 | 
				
			||||||
 | 
					              this.accelerationInfo = acceleration;  
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					              this.tx.feeDelta = undefined;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          this.waitingForAccelerationInfo = false;
 | 
					          this.waitingForAccelerationInfo = false;
 | 
				
			||||||
          this.setIsAccelerated();
 | 
					          this.setIsAccelerated();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1567,7 +1567,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="bdb8bbb38e4ca3c73e19dc4167fbe4aec316f818" datatype="html">
 | 
					      <trans-unit id="bdb8bbb38e4ca3c73e19dc4167fbe4aec316f818" datatype="html">
 | 
				
			||||||
        <source>Total Bid Boost</source>
 | 
					        <source>Total Bid Boost</source>
 | 
				
			||||||
        <target>Ukupno povećanje ponude</target>
 | 
					        <target>Total Bid Boost</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">11</context>
 | 
					          <context context-type="linenumber">11</context>
 | 
				
			||||||
@ -1969,7 +1969,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="841f2a74ae5095e6e37f5749f3cc1851cf36a420" datatype="html">
 | 
					      <trans-unit id="841f2a74ae5095e6e37f5749f3cc1851cf36a420" datatype="html">
 | 
				
			||||||
        <source>Avg Max Bid</source>
 | 
					        <source>Avg Max Bid</source>
 | 
				
			||||||
        <target>Prosječna maks. ponuda</target>
 | 
					        <target>Prosj. max ponuda</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/acceleration/pending-stats/pending-stats.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/acceleration/pending-stats/pending-stats.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">11</context>
 | 
					          <context context-type="linenumber">11</context>
 | 
				
			||||||
@ -3622,7 +3622,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="14779b0ce4cbc4d975a35a8fe074426228a324f3" datatype="html">
 | 
					      <trans-unit id="14779b0ce4cbc4d975a35a8fe074426228a324f3" datatype="html">
 | 
				
			||||||
        <source><x id="INTERPOLATION" equiv-text="transactions</ng-template>   </h2>   <ngb-pagination class="pagination-container float-ri"/> transactions</source>
 | 
					        <source><x id="INTERPOLATION" equiv-text="transactions</ng-template>   </h2>   <ngb-pagination class="pagination-container float-ri"/> transactions</source>
 | 
				
			||||||
        <target><x id="INTERPOLATION" equiv-text="transactions</ng-template>   </h2>   <ngb-pagination class="pagination-container float-ri"/> transakcije</target>
 | 
					        <target><x id="INTERPOLATION" equiv-text="transactions</ng-template>   </h2>   <ngb-pagination class="pagination-container float-ri"/> transakcija</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/block/block-transactions.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/block/block-transactions.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">5</context>
 | 
					          <context context-type="linenumber">5</context>
 | 
				
			||||||
@ -4046,7 +4046,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="8a7b4bd44c0ac71b2e72de0398b303257f7d2f54" datatype="html">
 | 
					      <trans-unit id="8a7b4bd44c0ac71b2e72de0398b303257f7d2f54" datatype="html">
 | 
				
			||||||
        <source>Blocks</source>
 | 
					        <source>Blocks</source>
 | 
				
			||||||
        <target>Blokovi</target>
 | 
					        <target>Blokova</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/blocks-list/blocks-list.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/blocks-list/blocks-list.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">4</context>
 | 
					          <context context-type="linenumber">4</context>
 | 
				
			||||||
@ -4360,7 +4360,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="23c872b0336e20284724607f2887da39bd8142c3" datatype="html">
 | 
					      <trans-unit id="23c872b0336e20284724607f2887da39bd8142c3" datatype="html">
 | 
				
			||||||
        <source>Previous fee</source>
 | 
					        <source>Previous fee</source>
 | 
				
			||||||
        <target>Prethodna naknada</target>
 | 
					        <target>Preth. naknada</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/custom-dashboard/custom-dashboard.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/custom-dashboard/custom-dashboard.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">107</context>
 | 
					          <context context-type="linenumber">107</context>
 | 
				
			||||||
@ -4594,7 +4594,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="1bb6965f8e1bbe40c076528ffd841da86f57f119" datatype="html">
 | 
					      <trans-unit id="1bb6965f8e1bbe40c076528ffd841da86f57f119" datatype="html">
 | 
				
			||||||
        <source><x id="INTERPOLATION" equiv-text="<span class="shared-block">blocks</span></ng-template>             <ng-"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="shared-block">"/>blocks<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></source>
 | 
					        <source><x id="INTERPOLATION" equiv-text="<span class="shared-block">blocks</span></ng-template>             <ng-"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="shared-block">"/>blocks<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></source>
 | 
				
			||||||
        <target><x id="INTERPOLATION" equiv-text="<span class="shared-block">blocks</span></ng-template>             <ng-"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="shared-block">"/>blokovi<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
 | 
					        <target><x id="INTERPOLATION" equiv-text="<span class="shared-block">blocks</span></ng-template>             <ng-"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="shared-block">"/>blokova<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/difficulty-mining/difficulty-mining.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/difficulty-mining/difficulty-mining.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">10,11</context>
 | 
					          <context context-type="linenumber">10,11</context>
 | 
				
			||||||
@ -4671,7 +4671,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="df71fa93f0503396ea2bb3ba5161323330314d6c" datatype="html">
 | 
					      <trans-unit id="df71fa93f0503396ea2bb3ba5161323330314d6c" datatype="html">
 | 
				
			||||||
        <source>Next Halving</source>
 | 
					        <source>Next Halving</source>
 | 
				
			||||||
        <target>Sljedeće prepolovljenje</target>
 | 
					        <target>Slj prepolovljenje</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/difficulty-mining/difficulty-mining.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/difficulty-mining/difficulty-mining.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">47</context>
 | 
					          <context context-type="linenumber">47</context>
 | 
				
			||||||
@ -5465,7 +5465,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="1a8246eba9a999ee881248c4767d63b875ef07fe" datatype="html">
 | 
					      <trans-unit id="1a8246eba9a999ee881248c4767d63b875ef07fe" datatype="html">
 | 
				
			||||||
        <source>blocks</source>
 | 
					        <source>blocks</source>
 | 
				
			||||||
        <target>blokovi</target>
 | 
					        <target>blokova</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">63</context>
 | 
					          <context context-type="linenumber">63</context>
 | 
				
			||||||
@ -5885,7 +5885,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="9ef8b357c32266f8423e24bf654006d3aa8fcd0b" datatype="html">
 | 
					      <trans-unit id="9ef8b357c32266f8423e24bf654006d3aa8fcd0b" datatype="html">
 | 
				
			||||||
        <source>Blocks (1w)</source>
 | 
					        <source>Blocks (1w)</source>
 | 
				
			||||||
        <target>Blokova (1w)</target>
 | 
					        <target>Blokova (1 tj)</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">25</context>
 | 
					          <context context-type="linenumber">25</context>
 | 
				
			||||||
@ -6165,7 +6165,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="3dc78651b2810cbb6e830fe7e57499d8cf6a8e4d" datatype="html">
 | 
					      <trans-unit id="3dc78651b2810cbb6e830fe7e57499d8cf6a8e4d" datatype="html">
 | 
				
			||||||
        <source>Blocks (24h)</source>
 | 
					        <source>Blocks (24h)</source>
 | 
				
			||||||
        <target>Blokovi (24h)</target>
 | 
					        <target>Blokova (24h)</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/pool/pool.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/pool/pool.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">120</context>
 | 
					          <context context-type="linenumber">120</context>
 | 
				
			||||||
@ -6815,7 +6815,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="time-until" datatype="html">
 | 
					      <trans-unit id="time-until" datatype="html">
 | 
				
			||||||
        <source>In ~<x id="DATE" equiv-text="dateStrings.i18nYear"/></source>
 | 
					        <source>In ~<x id="DATE" equiv-text="dateStrings.i18nYear"/></source>
 | 
				
			||||||
        <target>U ~<x id="DATE" equiv-text="dateStrings.i18nYear"/></target>
 | 
					        <target>Za ~<x id="DATE" equiv-text="dateStrings.i18nYear"/></target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/time/time.component.ts</context>
 | 
					          <context context-type="sourcefile">src/app/components/time/time.component.ts</context>
 | 
				
			||||||
          <context context-type="linenumber">188</context>
 | 
					          <context context-type="linenumber">188</context>
 | 
				
			||||||
 | 
				
			|||||||
@ -510,7 +510,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="e4b2d9e6a2ab9e6ca34027ec03beaac42b7badd4" datatype="html">
 | 
					      <trans-unit id="e4b2d9e6a2ab9e6ca34027ec03beaac42b7badd4" datatype="html">
 | 
				
			||||||
        <source>sats</source>
 | 
					        <source>sats</source>
 | 
				
			||||||
        <target>sats</target>
 | 
					        <target>sat</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/accelerate-checkout/accelerate-checkout.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/accelerate-checkout/accelerate-checkout.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">57</context>
 | 
					          <context context-type="linenumber">57</context>
 | 
				
			||||||
@ -881,7 +881,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="65fd4251d8ddfe4017d4d83f8cec6f5a80d89289" datatype="html">
 | 
					      <trans-unit id="65fd4251d8ddfe4017d4d83f8cec6f5a80d89289" datatype="html">
 | 
				
			||||||
        <source>Pay</source>
 | 
					        <source>Pay</source>
 | 
				
			||||||
        <target>Betale</target>
 | 
					        <target>Betal</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/accelerate-checkout/accelerate-checkout.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/accelerate-checkout/accelerate-checkout.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">378</context>
 | 
					          <context context-type="linenumber">378</context>
 | 
				
			||||||
@ -4846,7 +4846,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="615ba6c4511a36f93c225c725935fdbf16f162a5" datatype="html">
 | 
					      <trans-unit id="615ba6c4511a36f93c225c725935fdbf16f162a5" datatype="html">
 | 
				
			||||||
        <source>Amount (sats)</source>
 | 
					        <source>Amount (sats)</source>
 | 
				
			||||||
        <target>Beløp (sats)</target>
 | 
					        <target>Beløp (sat)</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/faucet/faucet.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/faucet/faucet.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">51</context>
 | 
					          <context context-type="linenumber">51</context>
 | 
				
			||||||
@ -6442,7 +6442,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="31443c29cb161e8aa661eb5035f675746ef95b45" datatype="html">
 | 
					      <trans-unit id="31443c29cb161e8aa661eb5035f675746ef95b45" datatype="html">
 | 
				
			||||||
        <source>sats/tx</source>
 | 
					        <source>sats/tx</source>
 | 
				
			||||||
        <target>sats/tx</target>
 | 
					        <target>sat/tx</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/components/reward-stats/reward-stats.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/components/reward-stats/reward-stats.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">33</context>
 | 
					          <context context-type="linenumber">33</context>
 | 
				
			||||||
@ -8145,7 +8145,7 @@
 | 
				
			|||||||
      </trans-unit>
 | 
					      </trans-unit>
 | 
				
			||||||
      <trans-unit id="6acd06bd5a3af583cd46c6d9f7954d7a2b44095e" datatype="html">
 | 
					      <trans-unit id="6acd06bd5a3af583cd46c6d9f7954d7a2b44095e" datatype="html">
 | 
				
			||||||
        <source>mSats</source>
 | 
					        <source>mSats</source>
 | 
				
			||||||
        <target>mSats</target>
 | 
					        <target>mSat</target>
 | 
				
			||||||
        <context-group purpose="location">
 | 
					        <context-group purpose="location">
 | 
				
			||||||
          <context context-type="sourcefile">src/app/lightning/channel/channel-box/channel-box.component.html</context>
 | 
					          <context context-type="sourcefile">src/app/lightning/channel/channel-box/channel-box.component.html</context>
 | 
				
			||||||
          <context context-type="linenumber">35</context>
 | 
					          <context context-type="linenumber">35</context>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-block-visualization.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-block-visualization.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-research.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-research.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 52 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-transaction.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								frontend/src/resources/mempool-transaction.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 60 KiB  | 
@ -84,11 +84,11 @@ pkg install -y zsh sudo git screen curl wget neovim rsync nginx openssl openssh-
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### Node.js + npm
 | 
					### Node.js + npm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Build Node.js v16.16.0 and npm v8 from source using `nvm`:
 | 
					Build Node.js v20.17.0 and npm v9 from source using `nvm`:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh
 | 
					curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | zsh
 | 
				
			||||||
source $HOME/.zshrc
 | 
					source $HOME/.zshrc
 | 
				
			||||||
nvm install v16.16.0 --shared-zlib
 | 
					nvm install v20.17.0 --shared-zlib
 | 
				
			||||||
nvm alias default node
 | 
					nvm alias default node
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -40,7 +40,7 @@ update_repo()
 | 
				
			|||||||
    git fetch origin || exit 1
 | 
					    git fetch origin || exit 1
 | 
				
			||||||
    for remote in origin;do
 | 
					    for remote in origin;do
 | 
				
			||||||
        git remote add "${remote}" "https://github.com/${remote}/mempool" >/dev/null 2>&1
 | 
					        git remote add "${remote}" "https://github.com/${remote}/mempool" >/dev/null 2>&1
 | 
				
			||||||
        git fetch "${remote}" || exit 1
 | 
					        git fetch "${remote}" --tags || exit 1
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ $(git tag -l "${REF}") ];then
 | 
					    if [ $(git tag -l "${REF}") ];then
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								unfurler/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								unfurler/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-unfurl",
 | 
					  "name": "mempool-unfurl",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "mempool-unfurl",
 | 
					      "name": "mempool-unfurl",
 | 
				
			||||||
      "version": "3.0.0-beta",
 | 
					      "version": "3.0.0",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@types/node": "^16.11.41",
 | 
					        "@types/node": "^16.11.41",
 | 
				
			||||||
        "ejs": "^3.1.10",
 | 
					        "ejs": "^3.1.10",
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "mempool-unfurl",
 | 
					  "name": "mempool-unfurl",
 | 
				
			||||||
  "version": "3.0.0-beta",
 | 
					  "version": "3.1.0-dev",
 | 
				
			||||||
  "description": "Renderer for mempool open graph link preview images",
 | 
					  "description": "Renderer for mempool open graph link preview images",
 | 
				
			||||||
  "repository": {
 | 
					  "repository": {
 | 
				
			||||||
    "type": "git",
 | 
					    "type": "git",
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user