Merge remote-tracking branch 'origin/master' into natsoni/federation-utxos-expiry
This commit is contained in:
		
						commit
						84e91b2c90
					
				
							
								
								
									
										335
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										335
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -9,7 +9,6 @@
 | 
			
		||||
      "version": "3.0.0-dev",
 | 
			
		||||
      "license": "GNU Affero General Public License v3.0",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/core": "^7.23.2",
 | 
			
		||||
        "@mempool/electrum-client": "1.1.9",
 | 
			
		||||
        "@types/node": "^18.15.3",
 | 
			
		||||
        "axios": "~1.6.1",
 | 
			
		||||
@ -26,7 +25,7 @@
 | 
			
		||||
      },
 | 
			
		||||
      "devDependencies": {
 | 
			
		||||
        "@babel/code-frame": "^7.18.6",
 | 
			
		||||
        "@babel/core": "^7.23.2",
 | 
			
		||||
        "@babel/core": "^7.24.0",
 | 
			
		||||
        "@types/compression": "^1.7.2",
 | 
			
		||||
        "@types/crypto-js": "^4.1.1",
 | 
			
		||||
        "@types/express": "^4.17.17",
 | 
			
		||||
@ -65,12 +64,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/code-frame": {
 | 
			
		||||
      "version": "7.22.13",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
 | 
			
		||||
      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/highlight": "^7.22.13",
 | 
			
		||||
        "@babel/highlight": "^7.23.4",
 | 
			
		||||
        "chalk": "^2.4.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
@ -78,30 +77,30 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/compat-data": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/core": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@ampproject/remapping": "^2.2.0",
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/generator": "^7.23.0",
 | 
			
		||||
        "@babel/helper-compilation-targets": "^7.22.15",
 | 
			
		||||
        "@babel/helper-module-transforms": "^7.23.0",
 | 
			
		||||
        "@babel/helpers": "^7.23.2",
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@babel/template": "^7.22.15",
 | 
			
		||||
        "@babel/traverse": "^7.23.2",
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/generator": "^7.23.6",
 | 
			
		||||
        "@babel/helper-compilation-targets": "^7.23.6",
 | 
			
		||||
        "@babel/helper-module-transforms": "^7.23.3",
 | 
			
		||||
        "@babel/helpers": "^7.24.0",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/template": "^7.24.0",
 | 
			
		||||
        "@babel/traverse": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0",
 | 
			
		||||
        "convert-source-map": "^2.0.0",
 | 
			
		||||
        "debug": "^4.1.0",
 | 
			
		||||
        "gensync": "^1.0.0-beta.2",
 | 
			
		||||
@ -123,12 +122,12 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/generator": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
 | 
			
		||||
      "version": "7.23.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
 | 
			
		||||
      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "@babel/types": "^7.23.6",
 | 
			
		||||
        "@jridgewell/gen-mapping": "^0.3.2",
 | 
			
		||||
        "@jridgewell/trace-mapping": "^0.3.17",
 | 
			
		||||
        "jsesc": "^2.5.1"
 | 
			
		||||
@ -152,14 +151,14 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/helper-compilation-targets": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
 | 
			
		||||
      "version": "7.23.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
 | 
			
		||||
      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/compat-data": "^7.22.9",
 | 
			
		||||
        "@babel/helper-validator-option": "^7.22.15",
 | 
			
		||||
        "browserslist": "^4.21.9",
 | 
			
		||||
        "@babel/compat-data": "^7.23.5",
 | 
			
		||||
        "@babel/helper-validator-option": "^7.23.5",
 | 
			
		||||
        "browserslist": "^4.22.2",
 | 
			
		||||
        "lru-cache": "^5.1.1",
 | 
			
		||||
        "semver": "^6.3.1"
 | 
			
		||||
      },
 | 
			
		||||
@ -214,9 +213,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/helper-module-transforms": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==",
 | 
			
		||||
      "version": "7.23.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
 | 
			
		||||
      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/helper-environment-visitor": "^7.22.20",
 | 
			
		||||
@ -266,9 +265,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/helper-string-parser": {
 | 
			
		||||
      "version": "7.22.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
 | 
			
		||||
      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
 | 
			
		||||
      "version": "7.23.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
 | 
			
		||||
      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
@ -284,32 +283,32 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/helper-validator-option": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/helpers": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/template": "^7.22.15",
 | 
			
		||||
        "@babel/traverse": "^7.23.2",
 | 
			
		||||
        "@babel/types": "^7.23.0"
 | 
			
		||||
        "@babel/template": "^7.24.0",
 | 
			
		||||
        "@babel/traverse": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/highlight": {
 | 
			
		||||
      "version": "7.22.20",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
 | 
			
		||||
      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
 | 
			
		||||
      "version": "7.23.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
 | 
			
		||||
      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/helper-validator-identifier": "^7.22.20",
 | 
			
		||||
@ -321,9 +320,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/parser": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "parser": "bin/babel-parser.js"
 | 
			
		||||
@ -510,34 +509,34 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/template": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/parser": "^7.22.15",
 | 
			
		||||
        "@babel/types": "^7.22.15"
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/traverse": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/generator": "^7.23.0",
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/generator": "^7.23.6",
 | 
			
		||||
        "@babel/helper-environment-visitor": "^7.22.20",
 | 
			
		||||
        "@babel/helper-function-name": "^7.23.0",
 | 
			
		||||
        "@babel/helper-hoist-variables": "^7.22.5",
 | 
			
		||||
        "@babel/helper-split-export-declaration": "^7.22.6",
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "debug": "^4.1.0",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0",
 | 
			
		||||
        "debug": "^4.3.1",
 | 
			
		||||
        "globals": "^11.1.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
@ -545,12 +544,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/types": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/helper-string-parser": "^7.22.5",
 | 
			
		||||
        "@babel/helper-string-parser": "^7.23.4",
 | 
			
		||||
        "@babel/helper-validator-identifier": "^7.22.20",
 | 
			
		||||
        "to-fast-properties": "^2.0.0"
 | 
			
		||||
      },
 | 
			
		||||
@ -2594,9 +2593,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/browserslist": {
 | 
			
		||||
      "version": "4.22.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
 | 
			
		||||
      "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
 | 
			
		||||
      "version": "4.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
@ -2613,9 +2612,9 @@
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "caniuse-lite": "^1.0.30001541",
 | 
			
		||||
        "electron-to-chromium": "^1.4.535",
 | 
			
		||||
        "node-releases": "^2.0.13",
 | 
			
		||||
        "caniuse-lite": "^1.0.30001587",
 | 
			
		||||
        "electron-to-chromium": "^1.4.668",
 | 
			
		||||
        "node-releases": "^2.0.14",
 | 
			
		||||
        "update-browserslist-db": "^1.0.13"
 | 
			
		||||
      },
 | 
			
		||||
      "bin": {
 | 
			
		||||
@ -2708,9 +2707,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/caniuse-lite": {
 | 
			
		||||
      "version": "1.0.30001547",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz",
 | 
			
		||||
      "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==",
 | 
			
		||||
      "version": "1.0.30001591",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz",
 | 
			
		||||
      "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
@ -3031,9 +3030,9 @@
 | 
			
		||||
      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/electron-to-chromium": {
 | 
			
		||||
      "version": "1.4.551",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.551.tgz",
 | 
			
		||||
      "integrity": "sha512-/Ng/W/kFv7wdEHYzxdK7Cv0BHEGSkSB3M0Ssl8Ndr1eMiYeas/+Mv4cNaDqamqWx6nd2uQZfPz6g25z25M/sdw==",
 | 
			
		||||
      "version": "1.4.686",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.686.tgz",
 | 
			
		||||
      "integrity": "sha512-3avY1B+vUzNxEgkBDpKOP8WarvUAEwpRaiCL0He5OKWEFxzaOFiq4WoZEZe7qh0ReS7DiWoHMnYoQCKxNZNzSg==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/emittery": {
 | 
			
		||||
@ -6192,9 +6191,9 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/node-releases": {
 | 
			
		||||
      "version": "2.0.13",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
 | 
			
		||||
      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
 | 
			
		||||
      "version": "2.0.14",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
 | 
			
		||||
      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/normalize-path": {
 | 
			
		||||
@ -7695,37 +7694,37 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/code-frame": {
 | 
			
		||||
      "version": "7.22.13",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
 | 
			
		||||
      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/highlight": "^7.22.13",
 | 
			
		||||
        "@babel/highlight": "^7.23.4",
 | 
			
		||||
        "chalk": "^2.4.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/compat-data": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/core": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@ampproject/remapping": "^2.2.0",
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/generator": "^7.23.0",
 | 
			
		||||
        "@babel/helper-compilation-targets": "^7.22.15",
 | 
			
		||||
        "@babel/helper-module-transforms": "^7.23.0",
 | 
			
		||||
        "@babel/helpers": "^7.23.2",
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@babel/template": "^7.22.15",
 | 
			
		||||
        "@babel/traverse": "^7.23.2",
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/generator": "^7.23.6",
 | 
			
		||||
        "@babel/helper-compilation-targets": "^7.23.6",
 | 
			
		||||
        "@babel/helper-module-transforms": "^7.23.3",
 | 
			
		||||
        "@babel/helpers": "^7.24.0",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/template": "^7.24.0",
 | 
			
		||||
        "@babel/traverse": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0",
 | 
			
		||||
        "convert-source-map": "^2.0.0",
 | 
			
		||||
        "debug": "^4.1.0",
 | 
			
		||||
        "gensync": "^1.0.0-beta.2",
 | 
			
		||||
@ -7742,12 +7741,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/generator": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
 | 
			
		||||
      "version": "7.23.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
 | 
			
		||||
      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "@babel/types": "^7.23.6",
 | 
			
		||||
        "@jridgewell/gen-mapping": "^0.3.2",
 | 
			
		||||
        "@jridgewell/trace-mapping": "^0.3.17",
 | 
			
		||||
        "jsesc": "^2.5.1"
 | 
			
		||||
@ -7767,14 +7766,14 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helper-compilation-targets": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
 | 
			
		||||
      "version": "7.23.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
 | 
			
		||||
      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/compat-data": "^7.22.9",
 | 
			
		||||
        "@babel/helper-validator-option": "^7.22.15",
 | 
			
		||||
        "browserslist": "^4.21.9",
 | 
			
		||||
        "@babel/compat-data": "^7.23.5",
 | 
			
		||||
        "@babel/helper-validator-option": "^7.23.5",
 | 
			
		||||
        "browserslist": "^4.22.2",
 | 
			
		||||
        "lru-cache": "^5.1.1",
 | 
			
		||||
        "semver": "^6.3.1"
 | 
			
		||||
      }
 | 
			
		||||
@ -7814,9 +7813,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helper-module-transforms": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==",
 | 
			
		||||
      "version": "7.23.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
 | 
			
		||||
      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/helper-environment-visitor": "^7.22.20",
 | 
			
		||||
@ -7851,9 +7850,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helper-string-parser": {
 | 
			
		||||
      "version": "7.22.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
 | 
			
		||||
      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
 | 
			
		||||
      "version": "7.23.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
 | 
			
		||||
      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helper-validator-identifier": {
 | 
			
		||||
@ -7863,26 +7862,26 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helper-validator-option": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
 | 
			
		||||
      "version": "7.23.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
 | 
			
		||||
      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/helpers": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/template": "^7.22.15",
 | 
			
		||||
        "@babel/traverse": "^7.23.2",
 | 
			
		||||
        "@babel/types": "^7.23.0"
 | 
			
		||||
        "@babel/template": "^7.24.0",
 | 
			
		||||
        "@babel/traverse": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/highlight": {
 | 
			
		||||
      "version": "7.22.20",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
 | 
			
		||||
      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
 | 
			
		||||
      "version": "7.23.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
 | 
			
		||||
      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/helper-validator-identifier": "^7.22.20",
 | 
			
		||||
@ -7891,9 +7890,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/parser": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/plugin-syntax-async-generators": {
 | 
			
		||||
@ -8023,41 +8022,41 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/template": {
 | 
			
		||||
      "version": "7.22.15",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
 | 
			
		||||
      "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/parser": "^7.22.15",
 | 
			
		||||
        "@babel/types": "^7.22.15"
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/traverse": {
 | 
			
		||||
      "version": "7.23.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
 | 
			
		||||
      "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/code-frame": "^7.22.13",
 | 
			
		||||
        "@babel/generator": "^7.23.0",
 | 
			
		||||
        "@babel/code-frame": "^7.23.5",
 | 
			
		||||
        "@babel/generator": "^7.23.6",
 | 
			
		||||
        "@babel/helper-environment-visitor": "^7.22.20",
 | 
			
		||||
        "@babel/helper-function-name": "^7.23.0",
 | 
			
		||||
        "@babel/helper-hoist-variables": "^7.22.5",
 | 
			
		||||
        "@babel/helper-split-export-declaration": "^7.22.6",
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@babel/types": "^7.23.0",
 | 
			
		||||
        "debug": "^4.1.0",
 | 
			
		||||
        "@babel/parser": "^7.24.0",
 | 
			
		||||
        "@babel/types": "^7.24.0",
 | 
			
		||||
        "debug": "^4.3.1",
 | 
			
		||||
        "globals": "^11.1.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@babel/types": {
 | 
			
		||||
      "version": "7.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
 | 
			
		||||
      "version": "7.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/helper-string-parser": "^7.22.5",
 | 
			
		||||
        "@babel/helper-string-parser": "^7.23.4",
 | 
			
		||||
        "@babel/helper-validator-identifier": "^7.22.20",
 | 
			
		||||
        "to-fast-properties": "^2.0.0"
 | 
			
		||||
      }
 | 
			
		||||
@ -9633,14 +9632,14 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "browserslist": {
 | 
			
		||||
      "version": "4.22.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
 | 
			
		||||
      "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
 | 
			
		||||
      "version": "4.23.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
 | 
			
		||||
      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "caniuse-lite": "^1.0.30001541",
 | 
			
		||||
        "electron-to-chromium": "^1.4.535",
 | 
			
		||||
        "node-releases": "^2.0.13",
 | 
			
		||||
        "caniuse-lite": "^1.0.30001587",
 | 
			
		||||
        "electron-to-chromium": "^1.4.668",
 | 
			
		||||
        "node-releases": "^2.0.14",
 | 
			
		||||
        "update-browserslist-db": "^1.0.13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@ -9712,9 +9711,9 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "caniuse-lite": {
 | 
			
		||||
      "version": "1.0.30001547",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz",
 | 
			
		||||
      "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==",
 | 
			
		||||
      "version": "1.0.30001591",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz",
 | 
			
		||||
      "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "chalk": {
 | 
			
		||||
@ -9942,9 +9941,9 @@
 | 
			
		||||
      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
 | 
			
		||||
    },
 | 
			
		||||
    "electron-to-chromium": {
 | 
			
		||||
      "version": "1.4.551",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.551.tgz",
 | 
			
		||||
      "integrity": "sha512-/Ng/W/kFv7wdEHYzxdK7Cv0BHEGSkSB3M0Ssl8Ndr1eMiYeas/+Mv4cNaDqamqWx6nd2uQZfPz6g25z25M/sdw==",
 | 
			
		||||
      "version": "1.4.686",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.686.tgz",
 | 
			
		||||
      "integrity": "sha512-3avY1B+vUzNxEgkBDpKOP8WarvUAEwpRaiCL0He5OKWEFxzaOFiq4WoZEZe7qh0ReS7DiWoHMnYoQCKxNZNzSg==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "emittery": {
 | 
			
		||||
@ -12298,9 +12297,9 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node-releases": {
 | 
			
		||||
      "version": "2.0.13",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
 | 
			
		||||
      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
 | 
			
		||||
      "version": "2.0.14",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
 | 
			
		||||
      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "normalize-path": {
 | 
			
		||||
 | 
			
		||||
@ -39,7 +39,7 @@
 | 
			
		||||
    "rust-build": "npm run rust-clean && cd rust-gbt && npm run build-release"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@babel/core": "^7.23.2",
 | 
			
		||||
    "@babel/core": "^7.24.0",
 | 
			
		||||
    "@mempool/electrum-client": "1.1.9",
 | 
			
		||||
    "@types/node": "^18.15.3",
 | 
			
		||||
    "axios": "~1.6.1",
 | 
			
		||||
@ -56,7 +56,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@babel/code-frame": "^7.18.6",
 | 
			
		||||
    "@babel/core": "^7.23.2",
 | 
			
		||||
    "@babel/core": "^7.24.0",
 | 
			
		||||
    "@types/compression": "^1.7.2",
 | 
			
		||||
    "@types/crypto-js": "^4.1.1",
 | 
			
		||||
    "@types/express": "^4.17.17",
 | 
			
		||||
 | 
			
		||||
@ -245,6 +245,8 @@ export class Common {
 | 
			
		||||
      flags |= TransactionFlags.v1;
 | 
			
		||||
    } else if (tx.version === 2) {
 | 
			
		||||
      flags |= TransactionFlags.v2;
 | 
			
		||||
    } else if (tx.version === 3) {
 | 
			
		||||
      flags |= TransactionFlags.v3;
 | 
			
		||||
    }
 | 
			
		||||
    const reusedInputAddresses: { [address: string ]: number } = {};
 | 
			
		||||
    const reusedOutputAddresses: { [address: string ]: number } = {};
 | 
			
		||||
 | 
			
		||||
@ -208,6 +208,7 @@ export const TransactionFlags = {
 | 
			
		||||
  no_rbf:                                                      0b00000010n,
 | 
			
		||||
  v1:                                                          0b00000100n,
 | 
			
		||||
  v2:                                                          0b00001000n,
 | 
			
		||||
  v3:                                                          0b00010000n,
 | 
			
		||||
  // address types
 | 
			
		||||
  p2pk:                                               0b00000001_00000000n,
 | 
			
		||||
  p2ms:                                               0b00000010_00000000n,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										30
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -32,7 +32,7 @@
 | 
			
		||||
        "browserify": "^17.0.0",
 | 
			
		||||
        "clipboard": "^2.0.11",
 | 
			
		||||
        "domino": "^2.1.6",
 | 
			
		||||
        "echarts": "~5.4.3",
 | 
			
		||||
        "echarts": "~5.5.0",
 | 
			
		||||
        "lightweight-charts": "~3.8.0",
 | 
			
		||||
        "ngx-echarts": "~16.2.0",
 | 
			
		||||
        "ngx-infinite-scroll": "^16.0.0",
 | 
			
		||||
@ -7783,12 +7783,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/echarts": {
 | 
			
		||||
      "version": "5.4.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
 | 
			
		||||
      "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
 | 
			
		||||
      "version": "5.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "tslib": "2.3.0",
 | 
			
		||||
        "zrender": "5.4.4"
 | 
			
		||||
        "zrender": "5.5.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/echarts/node_modules/tslib": {
 | 
			
		||||
@ -17319,9 +17319,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/zrender": {
 | 
			
		||||
      "version": "5.4.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
 | 
			
		||||
      "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
 | 
			
		||||
      "version": "5.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "tslib": "2.3.0"
 | 
			
		||||
      }
 | 
			
		||||
@ -22822,12 +22822,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "echarts": {
 | 
			
		||||
      "version": "5.4.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
 | 
			
		||||
      "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
 | 
			
		||||
      "version": "5.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "tslib": "2.3.0",
 | 
			
		||||
        "zrender": "5.4.4"
 | 
			
		||||
        "zrender": "5.5.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "tslib": {
 | 
			
		||||
@ -29869,9 +29869,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "zrender": {
 | 
			
		||||
      "version": "5.4.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
 | 
			
		||||
      "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
 | 
			
		||||
      "version": "5.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "tslib": "2.3.0"
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
@ -84,7 +84,7 @@
 | 
			
		||||
    "browserify": "^17.0.0",
 | 
			
		||||
    "clipboard": "^2.0.11",
 | 
			
		||||
    "domino": "^2.1.6",
 | 
			
		||||
    "echarts": "~5.4.3",
 | 
			
		||||
    "echarts": "~5.5.0",
 | 
			
		||||
    "lightweight-charts": "~3.8.0",
 | 
			
		||||
    "ngx-echarts": "~16.2.0",
 | 
			
		||||
    "ngx-infinite-scroll": "^16.0.0",
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@ import { SpriteUpdateParams, Square, Color, ViewUpdateParams } from './sprite-ty
 | 
			
		||||
import { hexToColor } from './utils';
 | 
			
		||||
import BlockScene from './block-scene';
 | 
			
		||||
import { TransactionStripped } from '../../interfaces/node-api.interface';
 | 
			
		||||
import { TransactionFlags } from '../../shared/filters.utils';
 | 
			
		||||
 | 
			
		||||
const hoverTransitionTime = 300;
 | 
			
		||||
const defaultHoverColor = hexToColor('1bd8f4');
 | 
			
		||||
@ -58,7 +59,7 @@ export default class TxView implements TransactionStripped {
 | 
			
		||||
    this.acc = tx.acc;
 | 
			
		||||
    this.rate = tx.rate;
 | 
			
		||||
    this.status = tx.status;
 | 
			
		||||
    this.bigintFlags = tx.flags ? BigInt(tx.flags) : 0n;
 | 
			
		||||
    this.bigintFlags = tx.flags ? (BigInt(tx.flags) ^ (this.acc ? TransactionFlags.acceleration : 0n)): 0n;
 | 
			
		||||
    this.initialised = false;
 | 
			
		||||
    this.vertexArray = scene.vertexArray;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
<div [ngClass]="{'widget': widget}">
 | 
			
		||||
<div [ngClass]="{'widget': widget, 'extra-margin-right': widget}">
 | 
			
		||||
 | 
			
		||||
  <div class="clearfix"></div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,12 @@
 | 
			
		||||
  margin-top: 13px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.extra-margin-right {
 | 
			
		||||
  @media (max-width: 380px) {
 | 
			
		||||
    margin-left: -10px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tr, td, th {
 | 
			
		||||
  border: 0px;
 | 
			
		||||
  padding-top: 0.65rem;
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ tr, td, th {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.transaction {
 | 
			
		||||
  width: 20%;
 | 
			
		||||
  width: 65%;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  text-overflow: ellipsis;
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
@ -57,7 +57,7 @@ tr, td, th {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.output {
 | 
			
		||||
  width: 20%;
 | 
			
		||||
  width: 50%;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  text-overflow: ellipsis;
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@
 | 
			
		||||
      <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}" id="btn-home">
 | 
			
		||||
        <a class="nav-link" [routerLink]="['/' | relativeUrl]" (click)="collapse()"><fa-icon [icon]="['fas', 'tachometer-alt']" [fixedWidth]="true" i18n-title="master-page.dashboard" title="Dashboard"></fa-icon></a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}" id="btn-home" *ngIf="stateService.env.ACCELERATOR">
 | 
			
		||||
      <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}" id="btn-home" *ngIf="network.val === '' && stateService.env.ACCELERATOR">
 | 
			
		||||
        <a class="nav-link" [routerLink]="['/acceleration' | relativeUrl]" (click)="collapse()">
 | 
			
		||||
          <fa-icon [icon]="['fas', 'rocket']" [fixedWidth]="true" i18n-title="master-page.accelerator-dashboard" title="Accelerator Dashboard"></fa-icon>
 | 
			
		||||
          <span class="badge badge-pill badge-warning beta" i18n="beta">beta</span>
 | 
			
		||||
 | 
			
		||||
@ -430,6 +430,7 @@
 | 
			
		||||
 | 
			
		||||
.card-title-liquid {
 | 
			
		||||
  padding-top: 20px;
 | 
			
		||||
  margin-left: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.in-progress-message {
 | 
			
		||||
 | 
			
		||||
@ -1017,7 +1017,7 @@ export const restApiDocsData = [
 | 
			
		||||
    fragment: "get-address-transactions",
 | 
			
		||||
    title: "GET Address Transactions",
 | 
			
		||||
    description: {
 | 
			
		||||
      default: "Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using <code>:last_seen_txid</code> (see below)."
 | 
			
		||||
      default: "Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using an <code>after_txid</code> query parameter."
 | 
			
		||||
    },
 | 
			
		||||
    urlString: "/address/:address/txs",
 | 
			
		||||
    showConditions: bitcoinNetworks.concat(liquidNetworks),
 | 
			
		||||
@ -10070,8 +10070,7 @@ export const restApiDocsData = [
 | 
			
		||||
    "id": 89,
 | 
			
		||||
    "user_id": 1,
 | 
			
		||||
    "txid": "ae2639469ec000ed1d14e2550cbb01794e1cd288a00cdc7cce18398ba3cc2ffe",
 | 
			
		||||
    "status": "failed",
 | 
			
		||||
    "estimated_fee": 247,
 | 
			
		||||
    "status": "failed"
 | 
			
		||||
    "fee_paid": 0,
 | 
			
		||||
    "added": 1706378712,
 | 
			
		||||
    "last_updated": 1706378712,
 | 
			
		||||
@ -10100,8 +10099,7 @@ export const restApiDocsData = [
 | 
			
		||||
    "id": 88,
 | 
			
		||||
    "user_id": 1,
 | 
			
		||||
    "txid": "c5840e89173331760e959a190b24e2a289121277ed7f8a095fe289b37cee9fde",
 | 
			
		||||
    "status": "completed",
 | 
			
		||||
    "estimated_fee": 223,
 | 
			
		||||
    "status": "completed"
 | 
			
		||||
    "fee_paid": 140019,
 | 
			
		||||
    "added": 1706378704,
 | 
			
		||||
    "last_updated": 1706380231,
 | 
			
		||||
@ -10130,8 +10128,7 @@ export const restApiDocsData = [
 | 
			
		||||
    "id": 87,
 | 
			
		||||
    "user_id": 1,
 | 
			
		||||
    "txid": "178b5b9b310f0d667d7ea563a2cdcc17bc8cd15261b58b1653860a724ca83458",
 | 
			
		||||
    "status": "completed",
 | 
			
		||||
    "estimated_fee": 115,
 | 
			
		||||
    "status": "completed"
 | 
			
		||||
    "fee_paid": 90062,
 | 
			
		||||
    "added": 1706378684,
 | 
			
		||||
    "last_updated": 1706380231,
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ export const TransactionFlags = {
 | 
			
		||||
  no_rbf:                                                      0b00000010n,
 | 
			
		||||
  v1:                                                          0b00000100n,
 | 
			
		||||
  v2:                                                          0b00001000n,
 | 
			
		||||
  multisig:                                                    0b00010000n,
 | 
			
		||||
  v3:                                                          0b00010000n,
 | 
			
		||||
  // address types
 | 
			
		||||
  p2pk:                                               0b00000001_00000000n,
 | 
			
		||||
  p2ms:                                               0b00000010_00000000n,
 | 
			
		||||
@ -34,6 +34,7 @@ export const TransactionFlags = {
 | 
			
		||||
  cpfp_parent:                               0b00000001_00000000_00000000n,
 | 
			
		||||
  cpfp_child:                                0b00000010_00000000_00000000n,
 | 
			
		||||
  replacement:                               0b00000100_00000000_00000000n,
 | 
			
		||||
  acceleration:                              0b00001000_00000000_00000000n,
 | 
			
		||||
  // data
 | 
			
		||||
  op_return:                        0b00000001_00000000_00000000_00000000n,
 | 
			
		||||
  fake_pubkey:                      0b00000010_00000000_00000000_00000000n,
 | 
			
		||||
@ -64,7 +65,7 @@ export const TransactionFilters: { [key: string]: Filter } = {
 | 
			
		||||
    no_rbf: { key: 'no_rbf', label: 'RBF disabled', flag: TransactionFlags.no_rbf, toggle: 'rbf', important: true },
 | 
			
		||||
    v1: { key: 'v1', label: 'Version 1', flag: TransactionFlags.v1, toggle: 'version' },
 | 
			
		||||
    v2: { key: 'v2', label: 'Version 2', flag: TransactionFlags.v2, toggle: 'version' },
 | 
			
		||||
    // multisig: { key: 'multisig', label: 'Multisig', flag: TransactionFlags.multisig },
 | 
			
		||||
    v3: { key: 'v3', label: 'Version 3', flag: TransactionFlags.v3, toggle: 'version' },
 | 
			
		||||
    /* address types */
 | 
			
		||||
    p2pk: { key: 'p2pk', label: 'P2PK', flag: TransactionFlags.p2pk, important: true },
 | 
			
		||||
    p2ms: { key: 'p2ms', label: 'Bare multisig', flag: TransactionFlags.p2ms, important: true },
 | 
			
		||||
@ -77,6 +78,7 @@ export const TransactionFilters: { [key: string]: Filter } = {
 | 
			
		||||
    cpfp_parent: { key: 'cpfp_parent', label: 'Paid for by child', flag: TransactionFlags.cpfp_parent, important: true },
 | 
			
		||||
    cpfp_child: { key: 'cpfp_child', label: 'Pays for parent', flag: TransactionFlags.cpfp_child, important: true },
 | 
			
		||||
    replacement: { key: 'replacement', label: 'Replacement', flag: TransactionFlags.replacement, important: true },
 | 
			
		||||
    acceleration: window?.['__env']?.ACCELERATOR ? { key: 'acceleration', label: 'Accelerated', flag: TransactionFlags.acceleration, important: false } : undefined,
 | 
			
		||||
    /* data */
 | 
			
		||||
    op_return: { key: 'op_return', label: 'OP_RETURN', flag: TransactionFlags.op_return, important: true },
 | 
			
		||||
    fake_pubkey: { key: 'fake_pubkey', label: 'Fake pubkey', flag: TransactionFlags.fake_pubkey },
 | 
			
		||||
@ -94,9 +96,9 @@ export const TransactionFilters: { [key: string]: Filter } = {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const FilterGroups: { label: string, filters: Filter[]}[] = [
 | 
			
		||||
  { label: 'Features', filters: ['rbf', 'no_rbf', 'v1', 'v2', 'multisig'] },
 | 
			
		||||
  { label: 'Features', filters: ['rbf', 'no_rbf', 'v1', 'v2', 'v3'] },
 | 
			
		||||
  { label: 'Address Types', filters: ['p2pk', 'p2ms', 'p2pkh', 'p2sh', 'p2wpkh', 'p2wsh', 'p2tr'] },
 | 
			
		||||
  { label: 'Behavior', filters: ['cpfp_parent', 'cpfp_child', 'replacement'] },
 | 
			
		||||
  { label: 'Behavior', filters: ['cpfp_parent', 'cpfp_child', 'replacement', 'acceleration'] },
 | 
			
		||||
  { label: 'Data', filters: ['op_return', 'fake_pubkey', 'inscription'] },
 | 
			
		||||
  { label: 'Heuristics', filters: ['coinjoin', 'consolidation', 'batch_payout'] },
 | 
			
		||||
  { label: 'Sighash Flags', filters: ['sighash_all', 'sighash_none', 'sighash_single', 'sighash_default', 'sighash_acp'] },
 | 
			
		||||
 | 
			
		||||
@ -64,15 +64,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3001",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3001"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3001"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
 | 
			
		||||
@ -64,15 +64,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3004",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3004"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3004"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
 | 
			
		||||
@ -57,15 +57,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3000"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3000"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "LIGHTNING": {
 | 
			
		||||
 | 
			
		||||
@ -78,15 +78,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3000",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3000"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3000"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
@ -145,15 +137,7 @@
 | 
			
		||||
      "node203.tk7.mempool.space",
 | 
			
		||||
      "node204.tk7.mempool.space",
 | 
			
		||||
      "node205.tk7.mempool.space",
 | 
			
		||||
      "node206.tk7.mempool.space",
 | 
			
		||||
      "node207.tk7.mempool.space",
 | 
			
		||||
      "node208.tk7.mempool.space",
 | 
			
		||||
      "node209.tk7.mempool.space",
 | 
			
		||||
      "node210.tk7.mempool.space",
 | 
			
		||||
      "node211.tk7.mempool.space",
 | 
			
		||||
      "node212.tk7.mempool.space",
 | 
			
		||||
      "node213.tk7.mempool.space",
 | 
			
		||||
      "node214.tk7.mempool.space"
 | 
			
		||||
      "node206.tk7.mempool.space"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "REDIS": {
 | 
			
		||||
 | 
			
		||||
@ -57,15 +57,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3003"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3003"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "LIGHTNING": {
 | 
			
		||||
 | 
			
		||||
@ -66,15 +66,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3003",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3003"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3003"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
 | 
			
		||||
@ -57,15 +57,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3002"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3002"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "LIGHTNING": {
 | 
			
		||||
 | 
			
		||||
@ -66,15 +66,7 @@
 | 
			
		||||
      "http://node203.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node204.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node205.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node206.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node207.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node208.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node209.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node210.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node211.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node212.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node213.tk7.mempool.space:3002",
 | 
			
		||||
      "http://node214.tk7.mempool.space:3002"
 | 
			
		||||
      "http://node206.tk7.mempool.space:3002"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								production/nginx/http-acl.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								production/nginx/http-acl.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
# used for "internal" API restriction
 | 
			
		||||
geo $remote_addr $mempool_external {
 | 
			
		||||
	127.0.0.1	'';
 | 
			
		||||
	::1		'';
 | 
			
		||||
	default		1;
 | 
			
		||||
}
 | 
			
		||||
@ -4,10 +4,17 @@
 | 
			
		||||
 | 
			
		||||
# Block the internal APIs of esplora
 | 
			
		||||
location /api/internal/ {
 | 
			
		||||
	return 403;
 | 
			
		||||
	if ($mempool_external) {
 | 
			
		||||
		return 403;
 | 
			
		||||
	}
 | 
			
		||||
	rewrite ^/api/(.*) /$1 break;
 | 
			
		||||
	try_files /dev/null @esplora-api-cache-disabled;
 | 
			
		||||
}
 | 
			
		||||
location /api/v1/internal/ {
 | 
			
		||||
	return 403;
 | 
			
		||||
	if ($mempool_external) {
 | 
			
		||||
		return 403;
 | 
			
		||||
	}
 | 
			
		||||
	try_files /dev/null @mempool-api-v1-cache-normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# websocket has special HTTP headers
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,7 @@ http {
 | 
			
		||||
 | 
			
		||||
	# HTTP basic configuration
 | 
			
		||||
	include mempool/production/nginx/http-basic.conf;
 | 
			
		||||
	include mempool/production/nginx/http-acl.conf;
 | 
			
		||||
	include mempool/production/nginx/http-proxy-cache.conf;
 | 
			
		||||
	include mempool/production/nginx/http-language.conf;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user