diff --git a/docs/_posts/2023-12-31-pre-release-robosats-decentralized.md b/docs/_posts/2023-12-31-pre-release-robosats-decentralized.md index dee2a7a6..ce5289db 100644 --- a/docs/_posts/2023-12-31-pre-release-robosats-decentralized.md +++ b/docs/_posts/2023-12-31-pre-release-robosats-decentralized.md @@ -6,19 +6,23 @@ date: 2023-12-31 01:01:01 -0500 categories: robosats update --- -**Note** Note this is a very early release, so expect to find bugs! If you find a bug that is stopping you from continuing your order, recover your robot in a v0.5.3 client and continue as usual. +**Note** this is a very early release, so expect to find bugs! If you find a bug that is stopping you from continuing your order, recover your robot in the v0.5.3 client of your coordinator and continue the trade as usual. {: .notice--primary} -We are thrilled to announce the launch for testing the new version of RoboSats v0.6.0. This is the biggest ever upgrade to RoboSats. We have, figuratively, lifted the house and built a basement below it :) +We are thrilled to announce the launch for testing of the new version of RoboSats v0.6.0. This is the biggest ever upgrade to RoboSats. We have, figuratively, lifted the house and built a basement below it :) This new version introduces a significant enhancement known as the **RoboSats Federation**, that effectively fully decentralizes RoboSats into many independent and fully redundant coordinators that will compete to host your orders. **Caution, READ!** Prior to hosting your order with a new coordinator, ensure you trust the RoboSats coordinator you select. A malicious p2p coordinator can potentially steal from you! {: .notice--secondary} +## How to test the pre-release? +The new federated client will now be permanently available in http://robodexarjwtfryec556cjdz3dfa7u47saek6lkftnkgshvgg2kcumqd.onion +(visit with Tor Browser) and http://dex.robosats.com (with extremely limited functionality). Once stable, it will be released as version v0.6.0 and you will be able to install it as usual on your node (e.g., [Umbrel](https://apps.umbrel.com/app/robosats), [StartOS](https://github.com/RoboSats/robosats-startos/releases), etc). + ## What is RoboSats Federation? -The RoboSats Federation is a set of rules that allows multiple RoboSats instances to work together under a unified client app. This federated client app enables users to seamlessly interact with any coordinator, track the coordinator reputation, verify transparently devFund donations, and more. The aim is to improve RoboSats robustness while keeping complexity down and providing robots a experience as close as possible to the app they are used to. +The RoboSats Federation is a set of rules that allows multiple RoboSats instances to work together under a unified client app. This federated client app enables users to seamlessly interact with any coordinator, track the coordinator reputation, verify transparently devFund donations, and more. The aim is to improve RoboSats robustness while keeping complexity down for the user, providing robots a experience as close as possible to the app they are used to. ## Key Features of the New Version ### Multiple Coordinators @@ -45,14 +49,14 @@ There is currently 4 registered coordinators: - [Satstralia](https://satstralia.com) - TheBigLake -If you want to help testing the new client without experimenting with novel coordinators you should pick the "Experimental" coordinator. Experimental is the same infrastructure you have been using so far in the non-decentralized client. +If you want to help testing the new client without experimenting with novel coordinators you should pick the "Experimental" coordinator. Experimental is the same coordinator infrastructure you have been using so far in the non-decentralized client. **They are also learning,** just like you. The RoboSats federation is new for everyone, so keep in mind some coordinators do not yet have much experience hosting trades. It is a learning experience for everyone. {: .notice--primary} ### DevFund Revenue -One of the challenges with decentralized instances is the detachment of operations and code development. Maintaining and implementing new features into the codebase is only be supported by donations. The RoboSats Federation addresses this issue by allowing coordinators to voluntarily stream Sats to the RoboSats Development fund, ensuring continued development and maintenance. Coordinators can freely opt to not donate Sats for development. Coordinators that donate part of their revenue for development have some advantages such as, their orders are better positioned in the Order book and better support from the developers in case help is needed. +Maintaining and implementing new features into the codebase is only supported by donations. The RoboSats Federation addresses this issue by allowing coordinators to voluntarily stream Sats to the RoboSats Development fund, ensuring continued development and maintenance. Coordinators can freely opt to not donate Sats for development. Coordinators that donate part of their revenue for development have some advantages such as, their orders are better positioned in the Order book and better support from the developers in case help is needed. ### Other improvements diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 698f56eb..1faa3082 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -33,7 +33,7 @@ "js-sha256": "^0.10.1", "leaflet": "^1.9.4", "light-bolt11-decoder": "^3.0.0", - "npm": "^10.2.5", + "npm": "^10.3.0", "openpgp": "^5.11.0", "react": "^18.2.0", "react-countdown": "^2.3.5", @@ -43,7 +43,7 @@ "react-image": "^4.1.0", "react-leaflet": "^4.2.1", "react-qr-code": "^2.0.11", - "react-router-dom": "^6.21.1", + "react-router-dom": "^6.21.2", "react-smooth-image": "^1.1.0", "react-world-flags": "^1.6.0", "reconnecting-websocket": "^4.4.0", @@ -67,13 +67,13 @@ "@typescript-eslint/eslint-plugin": "^5.35.1", "@typescript-eslint/parser": "^5.35.1", "babel-loader": "^9.1.3", - "copy-webpack-plugin": "^11.0.0", + "copy-webpack-plugin": "^12.0.1", "eslint": "^8.45.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard-with-typescript": "^36.1.0", "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^16.6.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", @@ -3879,9 +3879,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.1.tgz", - "integrity": "sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz", + "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==", "engines": { "node": ">=14.0.0" } @@ -3903,6 +3903,18 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@sindresorhus/merge-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", + "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sinonjs/commons": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", @@ -5703,20 +5715,20 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.1.tgz", + "integrity": "sha512-dhMfjJMYKDmmbG6Yn2pRSs1g8FgeQRtbE/JM6VAM9Xouk3KO1UVrwlLHLXxaI5F+o9WgnRfhFZzY9eV34O2gZQ==", "dev": true, "dependencies": { - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^13.1.1", + "globby": "^14.0.0", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -5727,31 +5739,44 @@ } }, "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6679,9 +6704,9 @@ } }, "node_modules/eslint-plugin-n": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.1.tgz", - "integrity": "sha512-M1kE5bVQRLBMDYRZwDhWzlzbp370SRRRC1MHqq4I3L2Tatey+9/2csc5mwLDPlmhJaDvkojbrNUME5/llpRyDg==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -7185,9 +7210,9 @@ "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -10335,9 +10360,9 @@ } }, "node_modules/npm": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.2.5.tgz", - "integrity": "sha512-lXdZ7titEN8CH5YJk9C/aYRU9JeDxQ4d8rwIIDsvH3SMjLjHTukB2CFstMiB30zXs4vCrPN2WH6cDq1yHBeJAw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.3.0.tgz", + "integrity": "sha512-9u5GFc1UqI2DLlGI7QdjkpIaBs3UhTtY8KoCqYJK24gV/j/tByaI4BA4R7RkOc+ASqZMzFPKt4Pj2Z8JcGo//A==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -10418,12 +10443,12 @@ "@npmcli/fs": "^3.1.0", "@npmcli/map-workspaces": "^3.0.4", "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.2", + "@npmcli/promise-spawn": "^7.0.1", + "@npmcli/run-script": "^7.0.3", "@sigstore/tuf": "^2.2.0", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^18.0.1", + "cacache": "^18.0.2", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", @@ -10571,7 +10596,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.2.2", + "version": "7.3.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -10617,7 +10642,7 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.0.3", + "version": "8.1.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -10671,7 +10696,7 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.3", + "version": "5.0.4", "inBundle": true, "license": "ISC", "dependencies": { @@ -10765,7 +10790,7 @@ } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "7.0.0", + "version": "7.0.1", "inBundle": true, "license": "ISC", "dependencies": { @@ -10787,7 +10812,7 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "7.0.2", + "version": "7.0.3", "inBundle": true, "license": "ISC", "dependencies": { @@ -10882,17 +10907,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/abort-controller": { - "version": "3.0.0", - "inBundle": true, - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/npm/node_modules/agent-base": { "version": "7.1.0", "inBundle": true, @@ -10949,13 +10963,9 @@ "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { - "version": "4.0.1", + "version": "4.0.2", "inBundle": true, "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^4.1.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -10965,25 +10975,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/bin-links": { "version": "4.0.3", "inBundle": true, @@ -11014,29 +11005,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/buffer": { - "version": "6.0.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/npm/node_modules/builtins": { "version": "5.0.1", "inBundle": true, @@ -11046,7 +11014,7 @@ } }, "node_modules/npm/node_modules/cacache": { - "version": "18.0.1", + "version": "18.0.2", "inBundle": true, "license": "ISC", "dependencies": { @@ -11315,11 +11283,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/delegates": { - "version": "1.0.0", - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", "inBundle": true, @@ -11360,22 +11323,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/event-target-shim": { - "version": "5.0.1", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/npm/node_modules/events": { - "version": "3.3.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/npm/node_modules/exponential-backoff": { "version": "3.1.1", "inBundle": true, @@ -11554,25 +11501,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "BSD-3-Clause" - }, "node_modules/npm/node_modules/ignore-walk": { "version": "6.0.4", "inBundle": true, @@ -11745,7 +11673,7 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.0.4", + "version": "6.0.5", "inBundle": true, "license": "ISC", "dependencies": { @@ -11764,7 +11692,7 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "7.0.5", + "version": "7.0.6", "inBundle": true, "license": "ISC", "dependencies": { @@ -11785,7 +11713,7 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.2", + "version": "5.0.3", "inBundle": true, "license": "ISC", "dependencies": { @@ -11820,7 +11748,7 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "6.0.4", + "version": "6.0.5", "inBundle": true, "license": "ISC", "dependencies": { @@ -12212,7 +12140,7 @@ } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "8.0.1", + "version": "8.0.2", "inBundle": true, "license": "ISC", "dependencies": { @@ -12369,7 +12297,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.13", + "version": "6.0.15", "inBundle": true, "license": "MIT", "dependencies": { @@ -12388,14 +12316,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/process": { - "version": "0.11.10", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", "inBundle": true, @@ -12492,21 +12412,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/readable-stream": { - "version": "4.4.2", - "inBundle": true, - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", "inBundle": true, @@ -12515,25 +12420,6 @@ "node": ">= 4" } }, - "node_modules/npm/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "inBundle": true, @@ -12688,14 +12574,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/string_decoder": { - "version": "1.3.0", - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", "inBundle": true, @@ -13830,11 +13708,11 @@ } }, "node_modules/react-router": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.1.tgz", - "integrity": "sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA==", + "version": "6.21.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.2.tgz", + "integrity": "sha512-jJcgiwDsnaHIeC+IN7atO0XiSRCrOsQAHHbChtJxmgqG2IaYQXSnhqGb5vk2CU/wBQA12Zt+TkbuJjIn65gzbA==", "dependencies": { - "@remix-run/router": "1.14.1" + "@remix-run/router": "1.14.2" }, "engines": { "node": ">=14.0.0" @@ -13844,12 +13722,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.1.tgz", - "integrity": "sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA==", + "version": "6.21.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.2.tgz", + "integrity": "sha512-tE13UukgUOh2/sqYr6jPzZTzmzc70aGRP4pAjG2if0IP3aUT+sBtAKUJh0qMh0zylJHGLmzS+XWVaON4UklHeg==", "dependencies": { - "@remix-run/router": "1.14.1", - "react-router": "6.21.1" + "@remix-run/router": "1.14.2", + "react-router": "6.21.2" }, "engines": { "node": ">=14.0.0" @@ -14288,9 +14166,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -15123,6 +15001,18 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", diff --git a/frontend/package.json b/frontend/package.json index 94d07491..d81a072c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -29,13 +29,13 @@ "@typescript-eslint/eslint-plugin": "^5.35.1", "@typescript-eslint/parser": "^5.35.1", "babel-loader": "^9.1.3", - "copy-webpack-plugin": "^11.0.0", + "copy-webpack-plugin": "^12.0.1", "eslint": "^8.45.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard-with-typescript": "^36.1.0", "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^16.6.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", @@ -72,7 +72,7 @@ "js-sha256": "^0.10.1", "leaflet": "^1.9.4", "light-bolt11-decoder": "^3.0.0", - "npm": "^10.2.5", + "npm": "^10.3.0", "openpgp": "^5.11.0", "react": "^18.2.0", "react-countdown": "^2.3.5", @@ -82,7 +82,7 @@ "react-image": "^4.1.0", "react-leaflet": "^4.2.1", "react-qr-code": "^2.0.11", - "react-router-dom": "^6.21.1", + "react-router-dom": "^6.21.2", "react-smooth-image": "^1.1.0", "react-world-flags": "^1.6.0", "reconnecting-websocket": "^4.4.0", diff --git a/mobile/package-lock.json b/mobile/package-lock.json index c2ae14a9..59142cb0 100644 --- a/mobile/package-lock.json +++ b/mobile/package-lock.json @@ -32,13 +32,13 @@ "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-n": "^15.7.0", - "eslint-plugin-prettier": "^5.1.2", + "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "jest": "^29.5.0", "metro-react-native-babel-preset": "^0.75.1", - "prettier": "^3.1.1", + "prettier": "^3.2.1", "react-test-renderer": "18.2.0", "typescript": "^5.3.3" } @@ -6778,9 +6778,9 @@ "license": "ISC" }, "node_modules/eslint-plugin-prettier": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", - "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -12369,9 +12369,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.1.tgz", + "integrity": "sha512-qSUWshj1IobVbKc226Gw2pync27t0Kf0EdufZa9j7uBSJay1CC+B3K5lAAZoqgX3ASiKuWsk6OmzKRetXNObWg==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/mobile/package.json b/mobile/package.json index 11c81934..9ac3b3c8 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -36,13 +36,13 @@ "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-n": "^15.7.0", - "eslint-plugin-prettier": "^5.1.2", + "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "jest": "^29.5.0", "metro-react-native-babel-preset": "^0.75.1", - "prettier": "^3.1.1", + "prettier": "^3.2.1", "react-test-renderer": "18.2.0", "typescript": "^5.3.3" }, diff --git a/requirements.txt b/requirements.txt index 42bc72b4..cd970fd4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ django-model-utils==4.3.1 django-redis==5.4.0 djangorestframework==3.14.0 channels==4.0.0 -channels-redis==4.1.0 +channels-redis==4.2.0 celery==5.3.6 grpcio==1.60.0 googleapis-common-protos==1.62.0 @@ -20,7 +20,7 @@ git+https://github.com/RoboSats/Robohash.git gunicorn==21.2.0 psycopg2==2.9.9 SQLAlchemy==2.0.16 -django-import-export==3.3.5 +django-import-export==3.3.6 requests[socks] python-gnupg==0.5.2 daphne==4.0.0 diff --git a/web/nginx.conf b/web/nginx.conf index bdd7c09c..8fd1a981 100644 --- a/web/nginx.conf +++ b/web/nginx.conf @@ -48,6 +48,10 @@ http { autoindex on; } + location /clearnetonion_verify { + alias /serve_misc/; + } + location = /favicon.ico { alias /usr/src/robosats/static/assets/images/favicon-96x96.png; }