diff --git a/Dockerfile b/Dockerfile index 29afb77..602675c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,3 +5,8 @@ FROM europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:${UPSTREAM_ ENV DAPPNODE=true ADD hoprd.cfg.yaml /app/hoprd/conf/hoprd.cfg.yaml +ADD entrypoint.sh /bin/entrypoint.sh + +RUN chmod +rx /bin/entrypoint.sh + +ENTRYPOINT ["/bin/entrypoint.sh"] diff --git a/dappnode_package.json b/dappnode_package.json index 78ba5e5..86722eb 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -1,6 +1,6 @@ { "name": "hopr-testnet.public.dappnode.eth", - "version": "1.0.0", + "version": "1.0.19", "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", @@ -56,7 +56,7 @@ { "name": "GnosisVPN Session port", "description": "Port used for Gnosis VPN", - "port": 1422, + "port": 1522, "serviceName": "node" }, { diff --git a/docker-compose.yml b/docker-compose.yml index 52e320d..30dcf6e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: . args: - UPSTREAM_VERSION: latest + UPSTREAM_VERSION: 3.0.0@sha256:fa9764f5e9927094960f63dfb68dbf6cbc237210559a890f1effa29da6e92ecd ports: - "3101:3101/tcp" - 9191:9191/tcp @@ -26,8 +26,8 @@ services: - 9198:9198/udp - 9199:9199/tcp - 9199:9199/udp - - "10000-10100:10000-10100/tcp" - - "10000-10100:10000-10100/udp" + - "20000-20100:20000-20100/tcp" + - "20000-20100:20000-20100/udp" volumes: - "data:/app/hoprd/data" - "conf:/app/hoprd/conf" @@ -41,7 +41,7 @@ services: HOPRD_MODULE_ADDRESS: 0x HOPRD_PASSWORD: "" HOPRD_PROVIDER: "" - HOPRD_SESSION_PORT_RANGE: "10000:10100" + HOPRD_SESSION_PORT_RANGE: "20000:20100" HOPRD_MAX_BLOCK_RANGE: 100 HOPRD_MAX_RPC_REQUESTS_PER_SEC: 10 HOPRD_NAT: "true" @@ -58,7 +58,7 @@ services: build: context: ./hopr-admin image: >- - europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:kaunas + europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:3.0.3 ports: - "3100:4677" restart: unless-stopped diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..3c9a90e --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +env ${ADDITIONAL_ENVIRONMENT_VARS} /bin/docker-entrypoint.sh ${ADDITIONAL_CMDLINE_ARGS} diff --git a/hoprd.cfg.yaml b/hoprd.cfg.yaml index 211289c..c84eb18 100644 --- a/hoprd.cfg.yaml +++ b/hoprd.cfg.yaml @@ -8,18 +8,11 @@ hopr: 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: "0.25 wxHOPR" - !ClosureFinalizer max_closure_overdue: 300 - protocol: - ticket_aggregation: - timeout: 15 chain: announce: true network: rotsee diff --git a/package-lock.json b/package-lock.json index e02037f..d2eca02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "hopr-dappnode-testnet", "devDependencies": { - "@dappnode/dappnodesdk": "0.3" + "@dappnode/dappnodesdk": "0.3.45" } }, "node_modules/@adraffy/ens-normalize": { @@ -33,14 +33,15 @@ } }, "node_modules/@dappnode/dappnodesdk": { - "version": "0.3.22", + "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, - "license": "GPL-3.0", "dependencies": { - "@dappnode/schemas": "^0.1.20", + "@dappnode/schemas": "^0.1.24", "@dappnode/toolkit": "^0.1.21", - "@dappnode/types": "^0.1.39", - "@octokit/rest": "^18.0.12", + "@dappnode/types": "^0.1.41", + "@octokit/rest": "^20.1.1", "async-retry": "^1.2.3", "chalk": "^2.4.2", "cli-progress": "^3.8.2", @@ -49,7 +50,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", @@ -71,16 +72,17 @@ "dappnodesdk": "dist/dappnodesdk.js" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } }, "node_modules/@dappnode/schemas": { - "version": "0.1.20", + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@dappnode/schemas/-/schemas-0.1.25.tgz", + "integrity": "sha512-ozAIT9jt7PQYS5UCxXJ4a/kQAoU63IIwfHOtEA8BynUvqQqe8R/mfM5poLZ0DtfEZkB7CXDqmOkMvvfm76CPGA==", "dev": true, - "license": "GPL-3.0", "dependencies": { - "@dappnode/types": "^0.1.38", - "ajv": "^8.12.0", + "@dappnode/types": "^0.1.40", + "ajv": "^8.17.1", "semver": "^7.5.0" } }, @@ -157,9 +159,10 @@ } }, "node_modules/@dappnode/types": { - "version": "0.1.39", - "dev": true, - "license": "GPL-3.0" + "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": { "version": "2.1.1", @@ -578,123 +581,158 @@ "license": "MIT" }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3" + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "3.6.0", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz", + "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/graphql": { - "version": "4.8.0", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", + "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "dev": true, - "license": "MIT" + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", + "version": "11.4.4-cjs.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz", + "integrity": "sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^13.7.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=2" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", "dev": true, - "license": "MIT", + "engines": { + "node": ">= 18" + }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", + "version": "13.3.2-cjs.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz", + "integrity": "sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^13.8.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": "^5" } }, "node_modules/@octokit/request": { - "version": "5.6.3", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/rest": { - "version": "18.12.0", + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz", + "integrity": "sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.4.4-cjs.2", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.3.2-cjs.1" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "6.41.0", + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", "dev": true, - "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@protobufjs/aspromise": { @@ -771,36 +809,27 @@ } }, "node_modules/@sindresorhus/is": { - "version": "2.1.1", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, - "license": "MIT", "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", - "dev": true, - "license": "MIT", - "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": { @@ -813,16 +842,9 @@ }, "node_modules/@types/http-cache-semantics": { "version": "4.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -837,28 +859,21 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/aes-js": { "version": "4.0.0-beta.3", "dev": true, "license": "MIT" }, "node_modules/ajv": { - "version": "8.13.0", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -986,8 +1001,9 @@ }, "node_modules/before-after-hook": { "version": "2.2.3", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true }, "node_modules/bl": { "version": "4.1.0", @@ -1073,32 +1089,30 @@ "license": "MIT" }, "node_modules/cacheable-lookup": { - "version": "2.0.1", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=14.16" } }, "node_modules/cacheable-request": { - "version": "7.0.4", + "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, - "license": "MIT", "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": { @@ -1297,25 +1311,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/code-point-at": { "version": "1.1.0", "dev": true, @@ -1408,20 +1403,37 @@ } }, "node_modules/decompress-response": { - "version": "5.0.0", + "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, - "license": "MIT", "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": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } @@ -1436,8 +1448,9 @@ }, "node_modules/deprecation": { "version": "2.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true }, "node_modules/dns-over-http-resolver": { "version": "2.1.3", @@ -1515,11 +1528,6 @@ "node": ">=10" } }, - "node_modules/duplexer3": { - "version": "0.1.5", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "dev": true, @@ -1681,6 +1689,22 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/figlet": { "version": "1.7.0", "dev": true, @@ -1724,6 +1748,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", "dev": true, @@ -1748,14 +1781,12 @@ "license": "MIT" }, "node_modules/get-stream": { - "version": "5.2.0", + "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, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1789,28 +1820,25 @@ } }, "node_modules/got": { - "version": "10.7.0", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, - "license": "MIT", "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" + "@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" @@ -1918,9 +1946,10 @@ "license": "MIT" }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "dev": true, - "license": "BSD-2-Clause" + "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": { "version": "1.2.0", @@ -1936,6 +1965,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", "dev": true, @@ -2433,14 +2475,6 @@ "node": ">=8" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-promise": { "version": "2.2.2", "dev": true, @@ -2611,8 +2645,9 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "node_modules/json-schema": { "version": "0.4.0", @@ -2621,8 +2656,9 @@ }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -2645,8 +2681,9 @@ }, "node_modules/keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -2921,11 +2958,15 @@ "license": "Apache-2.0" }, "node_modules/lowercase-keys": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/merge-options": { @@ -2967,11 +3008,12 @@ } }, "node_modules/mimic-response": { - "version": "2.1.0", + "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, - "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3081,11 +3123,12 @@ } }, "node_modules/normalize-url": { - "version": "6.1.0", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3143,11 +3186,12 @@ } }, "node_modules/p-cancelable": { - "version": "2.1.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12.20" } }, "node_modules/p-defer": { @@ -3161,20 +3205,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-event": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-fifo": { "version": "1.0.0", "dev": true, @@ -3192,14 +3222,6 @@ "node": ">=8" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/p-map": { "version": "2.1.0", "dev": true, @@ -3234,17 +3256,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/parse-duration": { "version": "1.1.0", "dev": true, @@ -3357,6 +3368,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", "dev": true, @@ -3447,18 +3470,29 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "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", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, - "license": "MIT", "dependencies": { - "lowercase-keys": "^2.0.0" + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3778,14 +3812,6 @@ "node": ">=0.6.0" } }, - "node_modules/to-readable-stream": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/tough-cookie": { "version": "2.5.0", "dev": true, @@ -3824,17 +3850,6 @@ "dev": true, "license": "Unlicense" }, - "node_modules/type-fest": { - "version": "0.10.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/uint8-varint": { "version": "2.0.4", "dev": true, @@ -3883,8 +3898,9 @@ }, "node_modules/universal-user-agent": { "version": "6.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true }, "node_modules/uri-js": { "version": "4.4.1", diff --git a/package.json b/package.json index 2af48c1..81df9df 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,6 @@ "repository": "https://github.com/dappnode/DAppNodePackage-Hopr-Testnet", "private": true, "devDependencies": { - "@dappnode/dappnodesdk": "^0.3.45" + "@dappnode/dappnodesdk": "0.3.45" } } diff --git a/setup-wizard.yml b/setup-wizard.yml index d962e7e..a99da0c 100644 --- a/setup-wizard.yml +++ b/setup-wizard.yml @@ -35,28 +35,48 @@ fields: title: RPC Provider URL required: false description: |- - URL to the custom RPC provider this HOPR node should use. + URL to the custom RPC provider this HOPR node should use. Supports simple query strings. If your DAppnode is running a Gnosis Chain RPC endpoint, it is **strongly recommended** to use it here. *Example:* `http://nethermind-xdai.dappnode:8545` secret: false - pattern: "^http[s]{0,1}://[a-z0-9.-]{3,}(:[0-9]{2,5})?(/[a-z0-9.-/_]+)?$" + # Regular expression for matching URLs with simple query strings + # + # Components: + # - ^http[s]{0,1}:// : Matches HTTP or HTTPS protocol + # Examples: http://, https:// + # + # - [a-z0-9.-]{3,} : Matches domain name (min 3 chars) + # Allows: lowercase letters, numbers, dots, hyphens + # Examples: example.com, sub.example.com, my-domain.com + # + # - (:[0-9]{2,5})? : Optional port number (10-99999) + # Examples: :80, :8080, :44300 + # + # - (/[a-z0-9.-/_]*)? : Optional URL path + # Allows: slashes, lowercase letters, numbers, dots, hyphens, underscores + # Examples: /path, /path/to/resource, /api/v1/endpoint + # + # - (\?[a-z0-9._=&-]*)? : Optional query string + # Allows: lowercase letters, numbers, dots, underscores, equals signs, ampersands, hyphens + # Examples: ?param=value, ?id=123&type=test, ?user.name=john_doe + pattern: ^http[s]{0,1}:\/\/[a-z0-9.-]{3,}(:[0-9]{2,5})?(\/[a-z0-9.-/_]*)?(\?[a-z0-9._=&-]*)?$ patternErrorMessage: Must be a valid url starting with `http://` or `https://` - - id: IDENTITY - target: - type: fileUpload - path: /app/hoprd-db/.hopr-identity - service: node - title: Custom identity file - required: false - description: Upload custom identity file of a previously deployed HOPR node. - secret: false + # - id: IDENTITY + # target: + # type: fileUpload + # path: /app/hoprd-db/.hopr-identity + # service: node + # title: Custom identity file + # required: false + # description: Upload custom identity file of a previously deployed HOPR node. + # secret: false - 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 @@ -77,7 +97,7 @@ fields: *Example:* `0x010203040506070809aabbccddeeff00112233` secret: false - pattern: "^0x[a-fA-F0-9]{40}$" + pattern: ^0x[a-fA-F0-9]{40}$ patternErrorMessage: Must be a valid Ethereum address! - id: HOPRD_MODULE_ADDRESS @@ -94,7 +114,7 @@ fields: *Example:* `0x010203040506070809aabbccddeeff00112233` secret: false - pattern: "^0x[a-fA-F0-9]{40}$" + pattern: ^0x[a-fA-F0-9]{40}$ patternErrorMessage: Must be a valid Ethereum address! - id: HOPRD_HOST @@ -133,4 +153,4 @@ fields: set up this option can be set to `false` to disable NAT mode. secret: false pattern: ^(true|false)$ - patternErrorMessage: Must be either `true` or `false`! \ No newline at end of file + patternErrorMessage: Must be either `true` or `false`! diff --git a/shell.nix b/shell.nix index 1d9d110..77b8279 100644 --- a/shell.nix +++ b/shell.nix @@ -18,6 +18,7 @@ mkShell { envsubst # build utils + just nodejs_20 # custom pkg groups