diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca7a937..8f444f7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,8 +45,8 @@ jobs: email: ${{ secrets.ZULIP_EMAIL }} organization-url: "https://hopr.zulipchat.com" type: "stream" - to: "Releases" - topic: "main" + to: "HOPRd" + topic: "Releases" content: | A new hoprd dAppNode package (dufour) version is available. - IPFS Hash: ${{ steps.publish.outputs.ipfs_hash }} diff --git a/DEVELOPING.md b/DEVELOPING.md index 2b1a378..9ab3d1e 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -8,7 +8,7 @@ There are three repositories: The `internal` is a fork of the `official` one. The `testnet` repo is configured specifically to use our `rotsee` testnet -Tha development happens on the internal repository and it has two branches: +The development happens on the internal repository and it has two branches: - `develop` which contains the edge version, not meant for publishing - `main` which is supposed to be in-sync with the `main` branch on the `official` repo diff --git a/Dockerfile b/Dockerfile index 18680e3..602675c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:${UPSTREAM_ # not used at the moment, but might be useful in the future ENV DAPPNODE=true -ADD hoprd.cfg.yaml /app/hoprd.cfg.yaml +ADD hoprd.cfg.yaml /app/hoprd/conf/hoprd.cfg.yaml ADD entrypoint.sh /bin/entrypoint.sh RUN chmod +rx /bin/entrypoint.sh diff --git a/dappnode_package.json b/dappnode_package.json index c618499..5293c6f 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -1,7 +1,7 @@ { "name": "hopr.public.dappnode.eth", "version": "1.0.19", - "upstreamVersion": "singapore", + "upstreamVersion": "kaunas", "description": "The HOPR protocol ensures everyone has control of their privacy, data, and identity. By running a HOPR Node, you can obtain HOPR tokens by relaying data and connect to the HOPR Network.", "type": "service", "architectures": [ @@ -21,7 +21,7 @@ "links": { "homepage": "https://hoprnet.org/", "ui": "http://admin.hopr.public.dappnode:4677/?apiEndpoint=http://hopr.public.dappnode:3001", - "api": "http://hopr.public.dappnode:3001/scalar", + "api": "http://hopr.public.dappnode:3001/swagger-ui/index.html", "docs": "https://docs.hoprnet.org" }, "repository": { @@ -111,16 +111,12 @@ "license": "GLP-3.0", "backup": [ { - "name": "db", - "path": "/app/hoprd-db/db" - }, - { - "name": "identity", - "path": "/app/hoprd-db/.hopr-identity" + "name": "data", + "path": "/app/hoprd/data" }, { "name": "config", - "path": "/app/hoprd.cfg.yaml" + "path": "/app/hoprd/conf" } ], "globalEnvs": [ diff --git a/docker-compose.yml b/docker-compose.yml index 0e49b98..a5bb722 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: args: # see https://console.cloud.google.com/artifacts/docker/hoprassociation/europe-west3/docker-images/hoprd?inv=1&invt=AbqEGg&project=hoprassociation&pli=1 UPSTREAM_VERSION: >- - 2.2.3@sha256:cad18ea69128bc9ae3c43fd776d172978c767eb51a2a001a9d410bb924c7bd51 + 3.0.0@sha256:fa9764f5e9927094960f63dfb68dbf6cbc237210559a890f1effa29da6e92ecd ports: - "1422:1422/udp" - "1422:1422/tcp" @@ -33,12 +33,13 @@ services: - "10000-10100:10000-10100/tcp" - "10000-10100:10000-10100/udp" volumes: - - "db:/app/hoprd-db" + - "data:/app/hoprd/data" + - "conf:/app/hoprd/conf" security_opt: - "seccomp:unconfined" environment: RUST_LOG: info - HOPRD_CONFIGURATION_FILE_PATH: /app/hoprd.cfg.yaml + HOPRD_CONFIGURATION_FILE_PATH: /app/hoprd/conf/hoprd.cfg.yaml HOPRD_HOST: "127.0.0.1:9091" HOPRD_SAFE_ADDRESS: 0x HOPRD_MODULE_ADDRESS: 0x @@ -61,7 +62,7 @@ services: build: context: ./hopr-admin image: >- - europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:2.1.14 + europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:3.0.3 ports: - "3000:4677" restart: unless-stopped @@ -70,4 +71,5 @@ services: limits: memory: 256M volumes: - db: {} + data: {} + conf: {} diff --git a/hopr-admin/Dockerfile b/hopr-admin/Dockerfile index d3a347a..8c48832 100644 --- a/hopr-admin/Dockerfile +++ b/hopr-admin/Dockerfile @@ -1,3 +1,3 @@ -FROM europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:2.1.14 +FROM europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:kaunas ENTRYPOINT ["nginx", "-g", "daemon off;"] diff --git a/hoprd.cfg.yaml b/hoprd.cfg.yaml index 5f5b4f6..96ec9dd 100644 --- a/hoprd.cfg.yaml +++ b/hoprd.cfg.yaml @@ -1,39 +1,30 @@ --- hopr: db: - data: /app/hoprd-db/db + data: /app/hoprd/data initialize: true force_initialize: false strategy: on_fail_continue: true allow_recursive: true strategies: - - !Aggregating - aggregation_threshold: 250 - unrealized_balance_ratio: 0.9 - aggregate_on_channel_close: true - !AutoRedeeming - redeem_only_aggregated: true - minimum_redeem_ticket_value: "2500000000000000000 HOPR" + redeem_only_aggregated: false + minimum_redeem_ticket_value: "1 wxHOPR" - !ClosureFinalizer max_closure_overdue: 300 - protocol: - heartbeat: - timeout: 15 - ticket_aggregation: - timeout: 15 chain: announce: true network: dufour keep_logs: true fast_sync: true safe_module: - safe_transaction_service_provider: https://safe-transaction.prod.hoprtech.net/ + safe_transaction_service_provider: https://safe-transaction.prod.hoprnet.link/ transport: announce_local_addresses: false prefer_local_addresses: false identity: - file: /app/hoprd-db/.hopr-identity + file: /app/hoprd/conf/hopr.id api: enable: true host: diff --git a/package-lock.json b/package-lock.json index d7e4b58..b734fcd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "hopr-dappnode", "devDependencies": { - "@dappnode/dappnodesdk": "^0.3.38" + "@dappnode/dappnodesdk": "^0.3.45" } }, "node_modules/@adraffy/ens-normalize": { @@ -37,14 +37,14 @@ } }, "node_modules/@dappnode/dappnodesdk": { - "version": "0.3.38", - "resolved": "https://registry.npmjs.org/@dappnode/dappnodesdk/-/dappnodesdk-0.3.38.tgz", - "integrity": "sha512-S0JiqblEyLJ0Idp4lEyezUKN0DWUbdKoN1MFcZaN2zf1ZRctcihPyUAarns3B0arOg5XiRpqutA+TzEKLvMvJg==", + "version": "0.3.45", + "resolved": "https://registry.npmjs.org/@dappnode/dappnodesdk/-/dappnodesdk-0.3.45.tgz", + "integrity": "sha512-7KG+T/jDueRxHEXK6sRSwtt+qSC9opFzHyZ5yMjVxiZ8PujxN++JdBXdyg4TKDzBnaurwn88gLdurm/89HyAzw==", "dev": true, "dependencies": { - "@dappnode/schemas": "^0.1.23", + "@dappnode/schemas": "^0.1.24", "@dappnode/toolkit": "^0.1.21", - "@dappnode/types": "^0.1.40", + "@dappnode/types": "^0.1.41", "@octokit/rest": "^20.1.1", "async-retry": "^1.2.3", "chalk": "^2.4.2", @@ -54,7 +54,7 @@ "ethers": "6.3.0", "figlet": "^1.2.3", "form-data": "^3.0.0", - "got": "^10.5.5", + "got": "^12.6.1", "graphql": "^16.6.0", "image-size": "^0.8.1", "inquirer": "^6.2.1", @@ -80,13 +80,13 @@ } }, "node_modules/@dappnode/schemas": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/@dappnode/schemas/-/schemas-0.1.23.tgz", - "integrity": "sha512-EOxo3gQzfl+uPDO4geC4211LyNEmzEtObPk3wOgq/cp/2+JftZdiMIUn3sOehs9QU/Z4iwsPr8tVlDELXV09/Q==", + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@dappnode/schemas/-/schemas-0.1.25.tgz", + "integrity": "sha512-ozAIT9jt7PQYS5UCxXJ4a/kQAoU63IIwfHOtEA8BynUvqQqe8R/mfM5poLZ0DtfEZkB7CXDqmOkMvvfm76CPGA==", "dev": true, "dependencies": { "@dappnode/types": "^0.1.40", - "ajv": "^8.12.0", + "ajv": "^8.17.1", "semver": "^7.5.0" } }, @@ -190,9 +190,9 @@ } }, "node_modules/@dappnode/types": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/@dappnode/types/-/types-0.1.40.tgz", - "integrity": "sha512-gq0PswPB4y09SLpK+MYJti841/jcFTjqoVT+rcrwvOsSEFk6KUyCLxLahFKUJ9Z5w5iBiSLeJ1kmNQk/PRvT9Q==", + "version": "0.1.41", + "resolved": "https://registry.npmjs.org/@dappnode/types/-/types-0.1.41.tgz", + "integrity": "sha512-lhPoVo50ZL+VimLl2laTehJIIADNzzGJgb+cgJ5a1mYYxLm3FjLAOLK+V2UII2ZfcCW7WJqOSw6gUXMRnJFRng==", "dev": true }, "node_modules/@fastify/busboy": { @@ -891,39 +891,27 @@ } }, "node_modules/@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", - "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, "dependencies": { - "defer-to-connect": "^2.0.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "node": ">=14.16" } }, "node_modules/@types/dns-packet": { @@ -941,15 +929,6 @@ "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", @@ -965,15 +944,6 @@ "undici-types": "~6.13.0" } }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/aes-js": { "version": "4.0.0-beta.3", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.3.tgz", @@ -1237,34 +1207,30 @@ } }, "node_modules/cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", - "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, - "dependencies": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=14.16" } }, "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dev": true, "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" } }, "node_modules/caseless": { @@ -1483,27 +1449,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clone-response/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -1622,15 +1567,30 @@ } }, "node_modules/decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "dependencies": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/defer-to-connect": { @@ -1740,12 +1700,6 @@ "node": ">=10" } }, - "node_modules/duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", - "dev": true - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1989,6 +1943,15 @@ "node": ">= 6" } }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "engines": { + "node": ">= 14.17" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -2017,15 +1980,12 @@ "dev": true }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2062,29 +2022,25 @@ } }, "node_modules/got": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", - "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", - "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", - "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", - "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", - "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" @@ -2204,9 +2160,9 @@ "dev": true }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true }, "node_modules/http-signature": { @@ -2224,6 +2180,19 @@ "npm": ">=1.3.7" } }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3304,12 +3273,15 @@ "dev": true }, "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/merge-options": { @@ -3355,12 +3327,12 @@ } }, "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3488,12 +3460,12 @@ } }, "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", + "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3557,12 +3529,12 @@ } }, "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12.20" } }, "node_modules/p-defer": { @@ -3577,21 +3549,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-fifo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", @@ -3611,15 +3568,6 @@ "node": ">=8" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", @@ -3657,18 +3605,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/parse-duration": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", @@ -3789,6 +3725,18 @@ "inherits": "~2.0.3" } }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/react-native-fetch-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", @@ -3894,13 +3842,22 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, "dependencies": { - "lowercase-keys": "^2.0.0" + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4254,15 +4211,6 @@ "node": ">=0.6.0" } }, - "node_modules/to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", - "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -4306,18 +4254,6 @@ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, - "node_modules/type-fest": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", - "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/uint8-varint": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/uint8-varint/-/uint8-varint-2.0.4.tgz", diff --git a/package.json b/package.json index dc5c504..e2e58d2 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,6 @@ "repository": "https://github.com/dappnode/DAppNodePackage-Hopr", "private": true, "devDependencies": { - "@dappnode/dappnodesdk": "^0.3.38" + "@dappnode/dappnodesdk": "^0.3.45" } } diff --git a/setup-wizard.yml b/setup-wizard.yml index bc90c4d..5aa2208 100644 --- a/setup-wizard.yml +++ b/setup-wizard.yml @@ -76,7 +76,7 @@ fields: - id: CONFIG target: type: fileUpload - path: /app/hoprd.cfg.yaml + path: /app/hoprd/conf/hoprd.cfg.yaml service: node title: Custom HOPR node configuration file required: false @@ -148,9 +148,9 @@ fields: title: Enable NAT mode required: false description: |- - By default the HOPR node assumes that it is running behind a NAT on a - dappnode. If this is not the case or proper port forwarding has been - set up this option can be set to `false` to disable NAT mode. + By default the HOPR node assumes that it is running behind a NAT when run on a dappnode. + If your DAppNode is connected directly to the modem, set this option to `false`. + If it’s connected through a router (behind NAT), leave it as `true`. secret: false pattern: ^(true|false)$ patternErrorMessage: Must be either `true` or `false`!