mirror of
https://github.com/aljazceru/cyphernode.git
synced 2025-12-17 04:35:14 +01:00
Merge branch 'releases/v0.8.0-fix_test_monitor' of https://github.com/BHodl/cyphernode into releases/v0.8.0-fix_test_monitor
This commit is contained in:
18
build.sh
18
build.sh
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
TRACING=1
|
TRACING=1
|
||||||
|
|
||||||
# CYPHERNODE VERSION "v0.8.0"
|
# CYPHERNODE VERSION "v0.9.0-dev"
|
||||||
CONF_VERSION="v0.8.0-local"
|
CONF_VERSION="v0.9.0-dev-local"
|
||||||
GATEKEEPER_VERSION="v0.8.0-local"
|
GATEKEEPER_VERSION="v0.9.0-dev-local"
|
||||||
TOR_VERSION="v0.8.0-local"
|
TOR_VERSION="v0.9.0-dev-local"
|
||||||
PROXY_VERSION="v0.8.0-local"
|
PROXY_VERSION="v0.9.0-dev-local"
|
||||||
NOTIFIER_VERSION="v0.8.0-local"
|
NOTIFIER_VERSION="v0.9.0-dev-local"
|
||||||
PROXYCRON_VERSION="v0.8.0-local"
|
PROXYCRON_VERSION="v0.9.0-dev-local"
|
||||||
OTSCLIENT_VERSION="v0.8.0-local"
|
OTSCLIENT_VERSION="v0.9.0-dev-local"
|
||||||
PYCOIN_VERSION="v0.8.0-local"
|
PYCOIN_VERSION="v0.9.0-dev-local"
|
||||||
|
|
||||||
trace()
|
trace()
|
||||||
{
|
{
|
||||||
|
|||||||
146
cyphernodeconf_docker/package-lock.json
generated
146
cyphernodeconf_docker/package-lock.json
generated
@@ -485,11 +485,11 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "6.10.0",
|
"version": "6.12.3",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
|
||||||
"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
|
"integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"fast-deep-equal": "^2.0.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"fast-json-stable-stringify": "^2.0.0",
|
"fast-json-stable-stringify": "^2.0.0",
|
||||||
"json-schema-traverse": "^0.4.1",
|
"json-schema-traverse": "^0.4.1",
|
||||||
"uri-js": "^4.2.2"
|
"uri-js": "^4.2.2"
|
||||||
@@ -873,6 +873,13 @@
|
|||||||
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
|
||||||
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
|
"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": {
|
"ci-info": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
|
||||||
@@ -1702,9 +1709,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"fast-deep-equal": {
|
"fast-deep-equal": {
|
||||||
"version": "2.0.1",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
|
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||||
},
|
},
|
||||||
"fast-json-stable-stringify": {
|
"fast-json-stable-stringify": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -1824,6 +1831,16 @@
|
|||||||
"map-cache": "^0.2.2"
|
"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": {
|
"fs.realpath": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
@@ -1886,9 +1903,7 @@
|
|||||||
},
|
},
|
||||||
"chownr": {
|
"chownr": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"code-point-at": {
|
"code-point-at": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
@@ -1944,8 +1959,6 @@
|
|||||||
"fs-minipass": {
|
"fs-minipass": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.5",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"minipass": "^2.2.1"
|
"minipass": "^2.2.1"
|
||||||
}
|
}
|
||||||
@@ -2026,12 +2039,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"ini": {
|
|
||||||
"version": "1.3.5",
|
|
||||||
"bundled": true,
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"is-fullwidth-code-point": {
|
"is-fullwidth-code-point": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
@@ -2065,7 +2072,6 @@
|
|||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.3.5",
|
"version": "2.3.5",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "^5.1.2",
|
"safe-buffer": "^5.1.2",
|
||||||
@@ -2075,8 +2081,6 @@
|
|||||||
"minizlib": {
|
"minizlib": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"minipass": "^2.2.1"
|
"minipass": "^2.2.1"
|
||||||
}
|
}
|
||||||
@@ -2265,7 +2269,6 @@
|
|||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"safer-buffer": {
|
"safer-buffer": {
|
||||||
@@ -2333,21 +2336,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": 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": {
|
"util-deprecate": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
@@ -2372,7 +2360,6 @@
|
|||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
"optional": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2628,6 +2615,13 @@
|
|||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
"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": {
|
"inquirer": {
|
||||||
"version": "6.3.1",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz",
|
||||||
@@ -3729,6 +3723,27 @@
|
|||||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
"dev": true
|
"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": {
|
"mixin-deep": {
|
||||||
"version": "1.3.2",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
||||||
@@ -5019,6 +5034,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": {
|
"test-exclude": {
|
||||||
"version": "5.2.3",
|
"version": "5.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
|
||||||
@@ -5251,9 +5308,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"uri-js": {
|
"uri-js": {
|
||||||
"version": "4.2.2",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"punycode": "^2.1.0"
|
"punycode": "^2.1.0"
|
||||||
}
|
}
|
||||||
@@ -5457,6 +5514,13 @@
|
|||||||
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
|
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
|
||||||
"dev": true
|
"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": {
|
"yargs": {
|
||||||
"version": "12.0.5",
|
"version": "12.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rauschma/stringio": "^1.4.0",
|
"@rauschma/stringio": "^1.4.0",
|
||||||
"ajv": "^6.10.0",
|
"ajv": "^6.12.3",
|
||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"coinstring": "^2.3.0",
|
"coinstring": "^2.3.0",
|
||||||
"colorsys": "^1.0.22",
|
"colorsys": "^1.0.22",
|
||||||
|
|||||||
22
dist/setup.sh
vendored
22
dist/setup.sh
vendored
@@ -859,17 +859,17 @@ ALWAYSYES=0
|
|||||||
SUDO_REQUIRED=0
|
SUDO_REQUIRED=0
|
||||||
AUTOSTART=0
|
AUTOSTART=0
|
||||||
|
|
||||||
# CYPHERNODE VERSION "v0.8.0"
|
# CYPHERNODE VERSION "v0.9.0-dev"
|
||||||
SETUP_VERSION="v0.8.0"
|
SETUP_VERSION="v0.9.0-dev"
|
||||||
CONF_VERSION="v0.8.0"
|
CONF_VERSION="v0.9.0-dev"
|
||||||
GATEKEEPER_VERSION="v0.8.0"
|
GATEKEEPER_VERSION="v0.9.0-dev"
|
||||||
TOR_VERSION="v0.8.0"
|
TOR_VERSION="v0.9.0-dev"
|
||||||
PROXY_VERSION="v0.8.0"
|
PROXY_VERSION="v0.9.0-dev"
|
||||||
NOTIFIER_VERSION="v0.8.0"
|
NOTIFIER_VERSION="v0.9.0-dev"
|
||||||
PROXYCRON_VERSION="v0.8.0"
|
PROXYCRON_VERSION="v0.9.0-dev"
|
||||||
OTSCLIENT_VERSION="v0.8.0"
|
OTSCLIENT_VERSION="v0.9.0-dev"
|
||||||
PYCOIN_VERSION="v0.8.0"
|
PYCOIN_VERSION="v0.9.0-dev"
|
||||||
CYPHERAPPS_VERSION="v0.8.0"
|
CYPHERAPPS_VERSION="dev"
|
||||||
BITCOIN_VERSION="v22.0"
|
BITCOIN_VERSION="v22.0"
|
||||||
LIGHTNING_VERSION="v0.10.2"
|
LIGHTNING_VERSION="v0.10.2"
|
||||||
TRAEFIK_VERSION="v1.7.9-alpine"
|
TRAEFIK_VERSION="v1.7.9-alpine"
|
||||||
|
|||||||
@@ -303,8 +303,8 @@ ln_connectfund() {
|
|||||||
ln_pay() {
|
ln_pay() {
|
||||||
trace "Entering ln_pay()..."
|
trace "Entering ln_pay()..."
|
||||||
|
|
||||||
# Let's try to legacypay (MPP disabled) 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 pay (MPP enabled) for 30 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.
|
# If this doesn't work, return an error.
|
||||||
|
|
||||||
local result
|
local result
|
||||||
@@ -347,14 +347,39 @@ ln_pay() {
|
|||||||
trace "[ln_pay] Expected description <> Invoice description"
|
trace "[ln_pay] Expected description <> Invoice description"
|
||||||
returncode=1
|
returncode=1
|
||||||
else
|
else
|
||||||
# Amount and description are as expected (or empty description), let's pay!
|
# 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 try to pay without MPP!"
|
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
|
if [ "${invoice_msatoshi}" = "null" ]; then
|
||||||
# "any" amount on the invoice, we force paying the expected_msatoshi provided to ln_pay by the user
|
# "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
|
else
|
||||||
result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} retry_for=30)
|
result=$(ln_call_lightningd pay -k bolt11=${bolt11} retry_for=85)
|
||||||
fi
|
fi
|
||||||
returncode=$?
|
returncode=$?
|
||||||
trace_rc ${returncode}
|
trace_rc ${returncode}
|
||||||
@@ -363,34 +388,31 @@ ln_pay() {
|
|||||||
# Successful payment example:
|
# Successful payment example:
|
||||||
#
|
#
|
||||||
# {
|
# {
|
||||||
# "id": 16,
|
# "destination": "029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb",
|
||||||
# "payment_hash": "f00877afeec4d771c2db68af80b8afa5dad3b495dad498828327e484c93f67d5",
|
# "payment_hash": "0d1e62210e7af9a4146258652fd4cfecd2638086850583e994a103884e2b4e78",
|
||||||
# "destination": "021ec6ccede19caa0bc7d7f9699c73e63cb2b79a4877529a60d7ac6a4ebb03487a",
|
# "created_at": 1631200188.550,
|
||||||
# "msatoshi": 1234,
|
# "parts": 1,
|
||||||
# "amount_msat": "1234msat",
|
# "msatoshi": 530114,
|
||||||
# "msatoshi_sent": 1235,
|
# "amount_msat": "530114msat",
|
||||||
# "amount_sent_msat": "1235msat",
|
# "msatoshi_sent": 530114,
|
||||||
# "created_at": 1633373202,
|
# "amount_sent_msat": "530114msat",
|
||||||
# "status": "complete",
|
# "payment_preimage": "2672c5fa280367222bf30db82566b78909927a67d5756d5ae0227b2ff8f3a907",
|
||||||
# "payment_preimage": "373cd9a0f83426506f1535f6ca1f08f279f0bd82d257fd3fc8cd49fbc25750f2",
|
# "status": "complete"
|
||||||
# "bolt11": "lntb1ps4kjlrpp57qy80tlwcnthrskmdzhcpw905hdd8dy4mt2f3q5ryljgfjflvl2sdq9u2d2zxqr3jscqp2sp5c2qykk0pdaeh2yrvn4cpkchsnyxwjnaptujggsd6ldqjfd8jhh3qrzjqwyx8nu2hygyvgc02cwdtvuxe0lcxz06qt3lpsldzcdr46my5epmj85hhvqqqtsqqqqqqqlgqqqqqqgq9q9qyyssqpnwtw6mzxu8pr5mrm8677ke8p5fjcu6dyrrvuy8j5f5p8mzv2phr2y0yx3z7mvgf5uqzzdytegg04u7hcu8ma50692cg69cdtsgw9hsph0xeha"
|
|
||||||
# }
|
|
||||||
|
|
||||||
# Failure response examples:
|
|
||||||
#
|
|
||||||
# {
|
|
||||||
# "code": -32602,
|
|
||||||
# "message": "03c05f973d9c7218e7aec4f52c2c8ab395f51f41d627c398237b5ff056f46faf09: unknown destination node_id (no public channels?)"
|
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# {
|
|
||||||
# "code": 206,
|
|
||||||
# "message": "Route wanted fee of 16101625msat"
|
|
||||||
# }
|
|
||||||
#
|
#
|
||||||
|
# Failed payment example:
|
||||||
# {
|
# {
|
||||||
# "code": 207,
|
# "code": 210,
|
||||||
# "message": "Invoice expired"
|
# "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.
|
# 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."
|
trace "[ln_pay] Failure code, response will be the cli result."
|
||||||
else
|
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
|
if [ "${invoice_msatoshi}" = "null" ]; then
|
||||||
# "any" amount on the invoice, we force paying the expected_msatoshi provided to ln_pay by the user
|
# "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
|
else
|
||||||
result=$(ln_call_lightningd pay -k bolt11=${bolt11} retry_for=30)
|
result=$(ln_call_lightningd legacypay -k bolt11=${bolt11} retry_for=85)
|
||||||
fi
|
fi
|
||||||
returncode=$?
|
returncode=$?
|
||||||
|
trace_rc ${returncode}
|
||||||
|
trace "[ln_pay] result=${result}"
|
||||||
|
|
||||||
if [ "${returncode}" -ne "0" ]; then
|
if [ "${returncode}" -ne "0" ]; then
|
||||||
trace "[ln_pay] Failed!"
|
trace "[ln_pay] Failed!"
|
||||||
@@ -435,34 +459,36 @@ ln_pay() {
|
|||||||
# Successful payment example:
|
# Successful payment example:
|
||||||
#
|
#
|
||||||
# {
|
# {
|
||||||
# "destination": "029b26c73b2c19ec9bdddeeec97c313670c96b6414ceacae0fb1b3502e490a6cbb",
|
# "id": 16,
|
||||||
# "payment_hash": "0d1e62210e7af9a4146258652fd4cfecd2638086850583e994a103884e2b4e78",
|
# "payment_hash": "f00877afeec4d771c2db68af80b8afa5dad3b495dad498828327e484c93f67d5",
|
||||||
# "created_at": 1631200188.550,
|
# "destination": "021ec6ccede19caa0bc7d7f9699c73e63cb2b79a4877529a60d7ac6a4ebb03487a",
|
||||||
# "parts": 1,
|
# "msatoshi": 1234,
|
||||||
# "msatoshi": 530114,
|
# "amount_msat": "1234msat",
|
||||||
# "amount_msat": "530114msat",
|
# "msatoshi_sent": 1235,
|
||||||
# "msatoshi_sent": 530114,
|
# "amount_sent_msat": "1235msat",
|
||||||
# "amount_sent_msat": "530114msat",
|
# "created_at": 1633373202,
|
||||||
# "payment_preimage": "2672c5fa280367222bf30db82566b78909927a67d5756d5ae0227b2ff8f3a907",
|
# "status": "complete",
|
||||||
# "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
|
fi
|
||||||
else
|
else
|
||||||
# code tag not found
|
# code tag not found
|
||||||
|
|||||||
@@ -52,14 +52,6 @@ compute_vin_total_amount()
|
|||||||
local vin_vout_amount=0
|
local vin_vout_amount=0
|
||||||
local vout
|
local vout
|
||||||
local vin_total_amount=0
|
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}
|
for vin_txid_vout in ${vin_txids_vout}
|
||||||
do
|
do
|
||||||
@@ -75,21 +67,6 @@ compute_vin_total_amount()
|
|||||||
trace "[compute_vin_total_amount] vin_vout_amount=${vin_vout_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}")
|
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}"
|
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
|
done
|
||||||
|
|
||||||
echo "${vin_total_amount}"
|
echo "${vin_total_amount}"
|
||||||
|
|||||||
Reference in New Issue
Block a user