From c0e1be0f74a8b3151428bc906ab0d9a153228ddf Mon Sep 17 00:00:00 2001 From: kexkey Date: Mon, 28 Feb 2022 20:47:01 -0500 Subject: [PATCH 1/7] Releases/v0.8.0 (#246) * v0.8.0-rc.1 * cypherapps releases/v0.8.0 * Using published images v0.8.0-rc.1 * v0.8.0-rc.2 * Removed comments in builder and ask arch * Small improvement to build script * Right image tags when building locally * Added release-notes-v0.8.0.md * v0.8.0-rc.3 * v0.8.0-rc.4 * v0.8.0 final --- build.sh | 18 +++--- dist/setup.sh | 22 +++---- doc/release-notes/release-notes-v0.8.0.md | 76 +++++++++++++++++++++++ docker-build.sh | 37 ++++++++--- 4 files changed, 124 insertions(+), 29 deletions(-) create mode 100644 doc/release-notes/release-notes-v0.8.0.md diff --git a/build.sh b/build.sh index 92c8562..ef27e13 100755 --- a/build.sh +++ b/build.sh @@ -2,15 +2,15 @@ TRACING=1 -# CYPHERNODE VERSION "v0.7.0-dev" -CONF_VERSION="v0.7.0-dev-local" -GATEKEEPER_VERSION="v0.7.0-dev-local" -TOR_VERSION="v0.7.0-dev-local" -PROXY_VERSION="v0.7.0-dev-local" -NOTIFIER_VERSION="v0.7.0-dev-local" -PROXYCRON_VERSION="v0.7.0-dev-local" -OTSCLIENT_VERSION="v0.7.0-dev-local" -PYCOIN_VERSION="v0.7.0-dev-local" +# CYPHERNODE VERSION "v0.8.0" +CONF_VERSION="v0.8.0-local" +GATEKEEPER_VERSION="v0.8.0-local" +TOR_VERSION="v0.8.0-local" +PROXY_VERSION="v0.8.0-local" +NOTIFIER_VERSION="v0.8.0-local" +PROXYCRON_VERSION="v0.8.0-local" +OTSCLIENT_VERSION="v0.8.0-local" +PYCOIN_VERSION="v0.8.0-local" trace() { diff --git a/dist/setup.sh b/dist/setup.sh index 83ff08c..91e2043 100755 --- a/dist/setup.sh +++ b/dist/setup.sh @@ -859,17 +859,17 @@ ALWAYSYES=0 SUDO_REQUIRED=0 AUTOSTART=0 -# CYPHERNODE VERSION "v0.7.0-dev" -SETUP_VERSION="v0.7.0-dev" -CONF_VERSION="v0.7.0-dev" -GATEKEEPER_VERSION="v0.7.0-dev" -TOR_VERSION="v0.7.0-dev" -PROXY_VERSION="v0.7.0-dev" -NOTIFIER_VERSION="v0.7.0-dev" -PROXYCRON_VERSION="v0.7.0-dev" -OTSCLIENT_VERSION="v0.7.0-dev" -PYCOIN_VERSION="v0.7.0-dev" -CYPHERAPPS_VERSION="dev" +# CYPHERNODE VERSION "v0.8.0" +SETUP_VERSION="v0.8.0" +CONF_VERSION="v0.8.0" +GATEKEEPER_VERSION="v0.8.0" +TOR_VERSION="v0.8.0" +PROXY_VERSION="v0.8.0" +NOTIFIER_VERSION="v0.8.0" +PROXYCRON_VERSION="v0.8.0" +OTSCLIENT_VERSION="v0.8.0" +PYCOIN_VERSION="v0.8.0" +CYPHERAPPS_VERSION="v0.8.0" BITCOIN_VERSION="v22.0" LIGHTNING_VERSION="v0.10.2" TRAEFIK_VERSION="v1.7.9-alpine" diff --git a/doc/release-notes/release-notes-v0.8.0.md b/doc/release-notes/release-notes-v0.8.0.md new file mode 100644 index 0000000..4bdc1e7 --- /dev/null +++ b/doc/release-notes/release-notes-v0.8.0.md @@ -0,0 +1,76 @@ +# Cyphernode v0.8.0 + +Say hello to PostgreSQL! We moved from SQLite3 to PostgreSQL to take advantage of its enterprise-class features. Here are some of our motivations: + +- Better overall performance +- Easier to implement replicas / distributed redundancy +- Running in an independent container: can be used by other containers as well +- More/better administration tools +- Easier to configure C-lightning to use PostgreSQL +- Future development + +All of that may also be possible with SQLite3, but with a lot more work. + +If you have an existing Cyphernode installation with existing data, Cyphernode will take care of the migration: we built all the required ETL scripts that will hopefully flawlessly move your current instance to the new DBMS. + +There are also several improvements and new features in this release. Thanks go to [@pablof7z](https://twitter.com/pablof7z) @phillamy and @schulterklopfer for their valuable contributions, feedbacks and inputs! + +## New features + +- PostgreSQL: migrating from SQLite3 to PostgreSQL + - Automatic migration from current SQLite3 to new PostgreSQL (ETL) + - New Indexes + - Separate container +- Support for labels when: + - watching addresses + - getting new addresses +- New `ln_paystatus` endpoint +- New `validateaddress` endpoint +- New `deriveindex_bitcoind` endpoint (20x faster than Pycoin), also supports ypub/upub and zpub/vpub notations! +- New `derivepubpath_bitcoind` (20x faster than Pycoin), also supports ypub/upub and zpub/vpub notations! + +## Fixes and improvements + +- Refactoring of _manage_missed_conf_ and _confirmation management_ +- `ln_pay` now first pays using `legacy_pay` (MPP disabled) and on failure (for routing reasons), retry with the `pay` plugin (MPP enabled by default) +- Small fixes in `ln_pay` +- Small fixes in `ln_delinvoice` +- Small fixes in `ln_connectfund` +- Small fixes in LN webhooks +- `ln_listpays` can now take a `bolt11` string argument +- Sometimes, Gatekeeper was not compliant to JWT: now it is but still compatible with previous buggy version +- Fixed CN client examples +- Gatekeeper now returns _401 Unauthorized_ on authentication error and _403 Forbidden_ on authorization error +- Gatekeeper now waits for the Proxy to be ready before listening to requests +- More graceful shutdown on certain containers +- Docker now uses the `helloworld` endpoint to check Proxy's health +- Better way to determine slow machine during setup +- Better tests when starting up +- Fixed a bug when running Cyphernode as current user instead of dedicated user +- When trying to add a batcher that already exists (same `label`), it will now modify existing one +- Got rid of the full rawtx from the database! Let's use Bitcoin Core if needed +- `helloworld` endpoint now returns a JSON compliant response +- Added and improved tests: + - api_auth_docker/tests/test-gatekeeper.sh + - proxy_docker/app/tests/test-manage-missed.sh + - proxy_docker/app/tests/test-batching.sh + - proxy_docker/app/tests/test-derive.sh + - proxy_docker/app/tests/test-watchpub32.sh + - proxy_docker/app/tests/test-watches.sh +- Fixed typos and improved clarity in messages +- Bump ws from 5.2.2 to 5.2.3 in /cyphernodeconf_docker +- Bump path-parse from 1.0.6 to 1.0.7 in /cyphernodeconf_docker +- Bump tmpl from 1.0.4 to 1.0.5 in /cyphernodeconf_docker +- Bump validator from 10.11.0 to 13.7.0 in /cyphernodeconf_docker +- Code cleaning + +## Upgrades + +- C-lightning from v0.10.0 to v0.10.2 +- Bitcoin Core from v0.21.1 to v22.0 + +## Cypherapps + +- Batcher from v0.1.2 to v0.2.0 +- Spark Wallet from v0.2.17 to v0.3.0 +- Specter from v1.3.1 to v1.7.1 diff --git a/docker-build.sh b/docker-build.sh index 83d53cf..4431aeb 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Must be logged to docker hub: # docker login -u cyphernode @@ -59,18 +59,37 @@ x86_docker="amd64" arm_docker="arm" aarch64_docker="arm64" +v1="v0" +v2="v0.8" +v3="v0.8.0" + # Build amd64 and arm64 first, building for arm will trigger the manifest creation and push on hub -#arch_docker=${arm_docker} -#arch_docker=${aarch64_docker} -arch_docker=${x86_docker} +echo -e "\nBuild ${v3} for:\n" +echo "1) AMD 64 bits (Most PCs)" +echo "2) ARM 64 bits (RPi4, Mac M1)" +echo "3) ARM 32 bits (RPi2-3)" +echo -en "\nYour choice (1, 2, 3): " +read arch_input -v1="v0" -v2="v0.7" -v3="v0.7.0" +case "${arch_input}" in + 1) + arch_docker=${x86_docker} + ;; + 2) + arch_docker=${aarch64_docker} + ;; + 3) + arch_docker=${arm_docker} + ;; + *) + echo "Not a valid choice." + exit 1 + ;; +esac -echo "\nBuilding Cyphernode Core containers\n" -echo "arch_docker=$arch_docker\n" +echo -e "\nBuilding Cyphernode Core containers\n" +echo -e "arch_docker=$arch_docker\n" image "gatekeeper" "api_auth_docker/" ${arch_docker} \ && image "proxycron" "cron_docker/" ${arch_docker} \ From 296630ca8b8af1db315fc5b58fcc0338496ffe3c Mon Sep 17 00:00:00 2001 From: kexkey Date: Mon, 28 Feb 2022 21:34:27 -0500 Subject: [PATCH 2/7] Ready to dev for v0.9.0 --- build.sh | 18 +++++++++--------- dist/setup.sh | 22 +++++++++++----------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/build.sh b/build.sh index ef27e13..0199c9c 100755 --- a/build.sh +++ b/build.sh @@ -2,15 +2,15 @@ TRACING=1 -# CYPHERNODE VERSION "v0.8.0" -CONF_VERSION="v0.8.0-local" -GATEKEEPER_VERSION="v0.8.0-local" -TOR_VERSION="v0.8.0-local" -PROXY_VERSION="v0.8.0-local" -NOTIFIER_VERSION="v0.8.0-local" -PROXYCRON_VERSION="v0.8.0-local" -OTSCLIENT_VERSION="v0.8.0-local" -PYCOIN_VERSION="v0.8.0-local" +# CYPHERNODE VERSION "v0.9.0-dev" +CONF_VERSION="v0.9.0-dev-local" +GATEKEEPER_VERSION="v0.9.0-dev-local" +TOR_VERSION="v0.9.0-dev-local" +PROXY_VERSION="v0.9.0-dev-local" +NOTIFIER_VERSION="v0.9.0-dev-local" +PROXYCRON_VERSION="v0.9.0-dev-local" +OTSCLIENT_VERSION="v0.9.0-dev-local" +PYCOIN_VERSION="v0.9.0-dev-local" trace() { diff --git a/dist/setup.sh b/dist/setup.sh index 91e2043..615c595 100755 --- a/dist/setup.sh +++ b/dist/setup.sh @@ -859,17 +859,17 @@ ALWAYSYES=0 SUDO_REQUIRED=0 AUTOSTART=0 -# CYPHERNODE VERSION "v0.8.0" -SETUP_VERSION="v0.8.0" -CONF_VERSION="v0.8.0" -GATEKEEPER_VERSION="v0.8.0" -TOR_VERSION="v0.8.0" -PROXY_VERSION="v0.8.0" -NOTIFIER_VERSION="v0.8.0" -PROXYCRON_VERSION="v0.8.0" -OTSCLIENT_VERSION="v0.8.0" -PYCOIN_VERSION="v0.8.0" -CYPHERAPPS_VERSION="v0.8.0" +# CYPHERNODE VERSION "v0.9.0-dev" +SETUP_VERSION="v0.9.0-dev" +CONF_VERSION="v0.9.0-dev" +GATEKEEPER_VERSION="v0.9.0-dev" +TOR_VERSION="v0.9.0-dev" +PROXY_VERSION="v0.9.0-dev" +NOTIFIER_VERSION="v0.9.0-dev" +PROXYCRON_VERSION="v0.9.0-dev" +OTSCLIENT_VERSION="v0.9.0-dev" +PYCOIN_VERSION="v0.9.0-dev" +CYPHERAPPS_VERSION="dev" BITCOIN_VERSION="v22.0" LIGHTNING_VERSION="v0.10.2" TRAEFIK_VERSION="v1.7.9-alpine" From abe26d9c8e91e58c644f4ba988637d22bc915102 Mon Sep 17 00:00:00 2001 From: kexkey Date: Fri, 11 Mar 2022 15:18:38 -0500 Subject: [PATCH 3/7] Removed useless insert in tx for ancestors on computefees --- proxy_docker/app/script/computefees.sh | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/proxy_docker/app/script/computefees.sh b/proxy_docker/app/script/computefees.sh index 4f57874..082605e 100644 --- a/proxy_docker/app/script/computefees.sh +++ b/proxy_docker/app/script/computefees.sh @@ -52,14 +52,6 @@ compute_vin_total_amount() local vin_vout_amount=0 local vout local vin_total_amount=0 - local vin_hash - local vin_confirmations - local vin_timereceived - local vin_vsize - local vin_blockhash - local vin_blockheight - local vin_blocktime - local txid_already_inserted=true for vin_txid_vout in ${vin_txids_vout} do @@ -75,21 +67,6 @@ compute_vin_total_amount() trace "[compute_vin_total_amount] vin_vout_amount=${vin_vout_amount}" vin_total_amount=$(awk "BEGIN { printf(\"%.8f\", ${vin_total_amount}+${vin_vout_amount}); exit}") trace "[compute_vin_total_amount] vin_total_amount=${vin_total_amount}" - vin_hash=$(echo "${vin_raw_tx}" | jq -r ".result.hash") - vin_confirmations=$(echo "${vin_raw_tx}" | jq ".result.confirmations") - vin_timereceived=$(echo "${vin_raw_tx}" | jq ".result.time") - vin_size=$(echo "${vin_raw_tx}" | jq ".result.size") - vin_vsize=$(echo "${vin_raw_tx}" | jq ".result.vsize") - vin_blockhash=$(echo "${vin_raw_tx}" | jq -r ".result.blockhash") - vin_blockheight=$(echo "${vin_raw_tx}" | jq ".result.blockheight") - vin_blocktime=$(echo "${vin_raw_tx}" | jq ".result.blocktime") - - # Let's insert the vin tx in the DB just in case it would be useful - sql "INSERT INTO tx (txid, hash, confirmations, timereceived, size, vsize, blockhash, blockheight, blocktime)"\ -" VALUES ('${vin_txid}', '${vin_hash}', ${vin_confirmations}, ${vin_timereceived}, ${vin_size}, ${vin_vsize}, '${vin_blockhash}', ${vin_blockheight}, ${vin_blocktime})"\ -" ON CONFLICT (txid) DO"\ -" UPDATE SET blockhash='${vin_blockhash}', blockheight=${vin_blockheight}, blocktime=${vin_blocktime}, confirmations=${vin_confirmations}" - trace_rc $? done echo "${vin_total_amount}" From 8565843e9ac4a3ec780a588589332270ea08d32f Mon Sep 17 00:00:00 2001 From: kexkey Date: Fri, 18 Mar 2022 13:11:58 -0400 Subject: [PATCH 4/7] ln_pay: we now MPP pay first, legacypay on failure --- proxy_docker/app/script/call_lightningd.sh | 146 ++++++++++++--------- 1 file changed, 86 insertions(+), 60 deletions(-) diff --git a/proxy_docker/app/script/call_lightningd.sh b/proxy_docker/app/script/call_lightningd.sh index 4754d7d..e1e2232 100644 --- a/proxy_docker/app/script/call_lightningd.sh +++ b/proxy_docker/app/script/call_lightningd.sh @@ -303,8 +303,8 @@ ln_connectfund() { ln_pay() { trace "Entering ln_pay()..." - # Let's try to legacypay (MPP disabled) for 30 seconds. - # If this doesn't work for a routing reason, let's try to pay (MPP enabled) for 30 seconds. + # Let's try to pay (MPP enabled) for 85 seconds. + # If this doesn't work for a routing reason, let's try to legacypay (MPP disabled) for 85 seconds. # If this doesn't work, return an error. local result @@ -347,14 +347,39 @@ ln_pay() { trace "[ln_pay] Expected description <> Invoice description" returncode=1 else - # Amount and description are as expected (or empty description), let's pay! - trace "[ln_pay] Amount and description are as expected, let's try to pay without MPP!" + # Amount and description are as expected (or empty description), let's see if already paid + trace "[ln_pay] Amount and description are as expected, let's see if already paid" + result=$(ln_listpays "${bolt11}") + returncode=$? + trace_rc ${returncode} + trace "[ln_pay] result=${result}" + local complete pending failed + complete=$(echo "${result}" | jq -er '.pays | map(select(.status == "complete")) | last') + trace "[ln_pay] complete=${complete}" + pending=$(echo "${result}" | jq -er '.pays | map(select(.status == "pending")) | last') + trace "[ln_pay] pending=${pending}" + failed=$(echo "${result}" | jq -er '.pays | map(select(.status == "failed")) | last') + trace "[ln_pay] failed=${failed}" + + if [ "${complete}" != "null" ]; then + trace "[ln_pay] responding complete" + echo "${complete}" + return 0 + fi + if [ "${pending}" != "null" ]; then + trace "[ln_pay] responding pending" + echo "${pending}" + return 1 + fi + + # Payment not previously done, let's pay! + trace "[ln_pay] Payment not previously done, let's try to pay with MPP!" if [ "${invoice_msatoshi}" = "null" ]; then # "any" amount on the invoice, we force paying the expected_msatoshi provided to ln_pay by the user - result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} msatoshi=${expected_msatoshi} retry_for=30) + result=$(ln_call_lightningd pay -k bolt11=${bolt11} msatoshi=${expected_msatoshi} retry_for=85) else - result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} retry_for=30) + result=$(ln_call_lightningd pay -k bolt11=${bolt11} retry_for=85) fi returncode=$? trace_rc ${returncode} @@ -363,34 +388,31 @@ ln_pay() { # Successful payment example: # # { - # "id": 16, - # "payment_hash": "f00877afeec4d771c2db68af80b8afa5dad3b495dad498828327e484c93f67d5", - # "destination": "021ec6ccede19caa0bc7d7f9699c73e63cb2b79a4877529a60d7ac6a4ebb03487a", - # "msatoshi": 1234, - # "amount_msat": "1234msat", - # "msatoshi_sent": 1235, - # "amount_sent_msat": "1235msat", - # "created_at": 1633373202, - # "status": "complete", - # "payment_preimage": "373cd9a0f83426506f1535f6ca1f08f279f0bd82d257fd3fc8cd49fbc25750f2", - # "bolt11": "lntb1ps4kjlrpp57qy80tlwcnthrskmdzhcpw905hdd8dy4mt2f3q5ryljgfjflvl2sdq9u2d2zxqr3jscqp2sp5c2qykk0pdaeh2yrvn4cpkchsnyxwjnaptujggsd6ldqjfd8jhh3qrzjqwyx8nu2hygyvgc02cwdtvuxe0lcxz06qt3lpsldzcdr46my5epmj85hhvqqqtsqqqqqqqlgqqqqqqgq9q9qyyssqpnwtw6mzxu8pr5mrm8677ke8p5fjcu6dyrrvuy8j5f5p8mzv2phr2y0yx3z7mvgf5uqzzdytegg04u7hcu8ma50692cg69cdtsgw9hsph0xeha" - # } - - # Failure response examples: - # - # { - # "code": -32602, - # "message": "03c05f973d9c7218e7aec4f52c2c8ab395f51f41d627c398237b5ff056f46faf09: unknown destination node_id (no public channels?)" + # "destination": "029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb", + # "payment_hash": "0d1e62210e7af9a4146258652fd4cfecd2638086850583e994a103884e2b4e78", + # "created_at": 1631200188.550, + # "parts": 1, + # "msatoshi": 530114, + # "amount_msat": "530114msat", + # "msatoshi_sent": 530114, + # "amount_sent_msat": "530114msat", + # "payment_preimage": "2672c5fa280367222bf30db82566b78909927a67d5756d5ae0227b2ff8f3a907", + # "status": "complete" # } # - # { - # "code": 206, - # "message": "Route wanted fee of 16101625msat" - # } # + # Failed payment example: # { - # "code": 207, - # "message": "Invoice expired" + # "code": 210, + # "message": "Destination 029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb is not reachable directly and all routehints were unusable.", + # "attempts": [ + # { + # "status": "failed", + # "failreason": "Destination 029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb is not reachable directly and all routehints were unusable.", + # "partid": 0, + # "amount": "528214msat" + # } + # ] # } # @@ -413,18 +435,20 @@ ln_pay() { # Let's try pay if code NOT 207 or 201. - if [ "${code}" -eq "201" ] || [ "${code}" -eq "207" ] || [ "${code}" -lt "0" ]; then + if [ "${code}" -eq "201" ] || [ "${code}" -eq "207" ]; then trace "[ln_pay] Failure code, response will be the cli result." else - trace "[ln_pay] Ok let's deal with potential routing failures and retry with MPP..." + trace "[ln_pay] Ok let's deal with potential routing failures and retry without MPP..." if [ "${invoice_msatoshi}" = "null" ]; then # "any" amount on the invoice, we force paying the expected_msatoshi provided to ln_pay by the user - result=$(ln_call_lightningd pay -k bolt11=${bolt11} msatoshi=${expected_msatoshi} retry_for=30) + result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} msatoshi=${expected_msatoshi} retry_for=85) else - result=$(ln_call_lightningd pay -k bolt11=${bolt11} retry_for=30) + result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} retry_for=85) fi returncode=$? + trace_rc ${returncode} + trace "[ln_pay] result=${result}" if [ "${returncode}" -ne "0" ]; then trace "[ln_pay] Failed!" @@ -435,34 +459,36 @@ ln_pay() { # Successful payment example: # # { - # "destination": "029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb", - # "payment_hash": "0d1e62210e7af9a4146258652fd4cfecd2638086850583e994a103884e2b4e78", - # "created_at": 1631200188.550, - # "parts": 1, - # "msatoshi": 530114, - # "amount_msat": "530114msat", - # "msatoshi_sent": 530114, - # "amount_sent_msat": "530114msat", - # "payment_preimage": "2672c5fa280367222bf30db82566b78909927a67d5756d5ae0227b2ff8f3a907", - # "status": "complete" + # "id": 16, + # "payment_hash": "f00877afeec4d771c2db68af80b8afa5dad3b495dad498828327e484c93f67d5", + # "destination": "021ec6ccede19caa0bc7d7f9699c73e63cb2b79a4877529a60d7ac6a4ebb03487a", + # "msatoshi": 1234, + # "amount_msat": "1234msat", + # "msatoshi_sent": 1235, + # "amount_sent_msat": "1235msat", + # "created_at": 1633373202, + # "status": "complete", + # "payment_preimage": "373cd9a0f83426506f1535f6ca1f08f279f0bd82d257fd3fc8cd49fbc25750f2", + # "bolt11": "lntb1ps4kjlrpp57qy80tlwcnthrskmdzhcpw905hdd8dy4mt2f3q5ryljgfjflvl2sdq9u2d2zxqr3jscqp2sp5c2qykk0pdaeh2yrvn4cpkchsnyxwjnaptujggsd6ldqjfd8jhh3qrzjqwyx8nu2hygyvgc02cwdtvuxe0lcxz06qt3lpsldzcdr46my5epmj85hhvqqqtsqqqqqqqlgqqqqqqgq9q9qyyssqpnwtw6mzxu8pr5mrm8677ke8p5fjcu6dyrrvuy8j5f5p8mzv2phr2y0yx3z7mvgf5uqzzdytegg04u7hcu8ma50692cg69cdtsgw9hsph0xeha" # } - # - # - # Failed payment example: - # { - # "code": 210, - # "message": "Destination 029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb is not reachable directly and all routehints were unusable.", - # "attempts": [ - # { - # "status": "failed", - # "failreason": "Destination 029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb is not reachable directly and all routehints were unusable.", - # "partid": 0, - # "amount": "528214msat" - # } - # ] - # } - # + # Failure response examples: + # + # { + # "code": -32602, + # "message": "03c05f973d9c7218e7aec4f52c2c8ab395f51f41d627c398237b5ff056f46faf09: unknown destination node_id (no public channels?)" + # } + # + # { + # "code": 206, + # "message": "Route wanted fee of 16101625msat" + # } + # + # { + # "code": 207, + # "message": "Invoice expired" + # } + # fi else # code tag not found From e1f21d8a51013cc6c2ad8777a7122231c53ce869 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:33:03 -0400 Subject: [PATCH 5/7] Bump ajv from 6.10.0 to 6.12.3 in /cyphernodeconf_docker (#245) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.10.0 to 6.12.3. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.10.0...v6.12.3) --- updated-dependencies: - dependency-name: ajv dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cyphernodeconf_docker/package-lock.json | 20 ++++++++++---------- cyphernodeconf_docker/package.json | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cyphernodeconf_docker/package-lock.json b/cyphernodeconf_docker/package-lock.json index 89048b9..0d48c6e 100644 --- a/cyphernodeconf_docker/package-lock.json +++ b/cyphernodeconf_docker/package-lock.json @@ -485,11 +485,11 @@ "dev": true }, "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -1702,9 +1702,9 @@ "dev": true }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-json-stable-stringify": { "version": "2.0.0", @@ -5251,9 +5251,9 @@ } }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } diff --git a/cyphernodeconf_docker/package.json b/cyphernodeconf_docker/package.json index 992bfea..382b2a0 100644 --- a/cyphernodeconf_docker/package.json +++ b/cyphernodeconf_docker/package.json @@ -16,7 +16,7 @@ ], "dependencies": { "@rauschma/stringio": "^1.4.0", - "ajv": "^6.10.0", + "ajv": "^6.12.3", "chalk": "^2.4.2", "coinstring": "^2.3.0", "colorsys": "^1.0.22", From aacd38266f5c42547d91d515f647e16448e2b5ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:33:15 -0400 Subject: [PATCH 6/7] Bump tar from 4.4.8 to 4.4.19 in /cyphernodeconf_docker (#248) Bumps [tar](https://github.com/npm/node-tar) from 4.4.8 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-tar/compare/v4.4.8...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cyphernodeconf_docker/package-lock.json | 113 ++++++++++++++++++------ 1 file changed, 88 insertions(+), 25 deletions(-) diff --git a/cyphernodeconf_docker/package-lock.json b/cyphernodeconf_docker/package-lock.json index 0d48c6e..be9bd0f 100644 --- a/cyphernodeconf_docker/package-lock.json +++ b/cyphernodeconf_docker/package-lock.json @@ -873,6 +873,13 @@ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "optional": true + }, "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -1824,6 +1831,16 @@ "map-cache": "^0.2.2" } }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1886,9 +1903,7 @@ }, "chownr": { "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true + "bundled": true }, "code-point-at": { "version": "1.1.0", @@ -1944,8 +1959,6 @@ "fs-minipass": { "version": "1.2.5", "bundled": true, - "dev": true, - "optional": true, "requires": { "minipass": "^2.2.1" } @@ -2065,7 +2078,6 @@ "minipass": { "version": "2.3.5", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -2075,8 +2087,6 @@ "minizlib": { "version": "1.2.1", "bundled": true, - "dev": true, - "optional": true, "requires": { "minipass": "^2.2.1" } @@ -2265,7 +2275,6 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, "optional": true }, "safer-buffer": { @@ -2333,21 +2342,6 @@ "dev": true, "optional": true }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, "util-deprecate": { "version": "1.0.2", "bundled": true, @@ -2372,7 +2366,6 @@ "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, "optional": true } } @@ -3729,6 +3722,27 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -5019,6 +5033,48 @@ } } }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true, + "optional": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "optional": true + } + } + }, "test-exclude": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", @@ -5457,6 +5513,13 @@ "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "optional": true + }, "yargs": { "version": "12.0.5", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", From 807a3fea6de89ce1617d63ad6a72f129ee0d23be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:33:25 -0400 Subject: [PATCH 7/7] Bump ini from 1.3.5 to 1.3.8 in /cyphernodeconf_docker (#249) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) --- updated-dependencies: - dependency-name: ini dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cyphernodeconf_docker/package-lock.json | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/cyphernodeconf_docker/package-lock.json b/cyphernodeconf_docker/package-lock.json index be9bd0f..9e4b52a 100644 --- a/cyphernodeconf_docker/package-lock.json +++ b/cyphernodeconf_docker/package-lock.json @@ -2039,12 +2039,6 @@ "dev": true, "optional": true }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, @@ -2621,6 +2615,13 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "optional": true + }, "inquirer": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz",