diff --git a/package-lock.json b/package-lock.json index d267e73..c040741 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,11 +10,11 @@ "dependencies": { "antd": "^4.2.0", "axios": "^0.21.1", + "bolt11": "^1.3.4", "emoji-picker-react": "^3.4.4", "fs": "0.0.1-security", "gh-pages": "^3.2.3", "google-protobuf": "^3.14.0", - "grpc": "^1.24.6", "grpc-web": "^1.2.1", "html-react-parser": "^1.2.4", "jdenticon": "^3.1.0", @@ -2939,15 +2939,6 @@ "@types/node": "*" } }, - "node_modules/@types/bytebuffer": { - "version": "5.0.42", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.42.tgz", - "integrity": "sha512-lEgKojWUAc/MG2t649oZS5AfYFP2xRNPoDuwDBlBMjHXd8MaGPgFgtCXUK7inZdBOygmVf10qxc1Us8GXC96aw==", - "dependencies": { - "@types/long": "*", - "@types/node": "*" - } - }, "node_modules/@types/eslint": { "version": "7.2.8", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", @@ -3015,11 +3006,6 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" }, - "node_modules/@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - }, "node_modules/@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", @@ -3564,11 +3550,6 @@ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -3822,15 +3803,6 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, - "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -3978,15 +3950,6 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "node_modules/ascli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", - "dependencies": { - "colour": "~0.7.1", - "optjs": "~3.2.2" - } - }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -4748,7 +4711,7 @@ "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "hasInstallScript": true }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { @@ -4796,9 +4759,9 @@ } }, "node_modules/base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "dependencies": { "safe-buffer": "^5.0.1" } @@ -4873,11 +4836,6 @@ "node": "*" } }, - "node_modules/bigi": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.2.tgz", - "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4891,48 +4849,41 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" } }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "dependencies": { - "safe-buffer": "^5.0.1" + "node_modules/bip174": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bip174/-/bip174-2.0.1.tgz", + "integrity": "sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ==", + "engines": { + "node": ">=8.0.0" } }, - "node_modules/bitcoin-ops": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz", - "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==" - }, "node_modules/bitcoinjs-lib": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-3.3.2.tgz", - "integrity": "sha512-l5qqvbaK8wwtANPf6oEffykycg4383XgEYdia1rI7/JpGf1jfRWlOUCvx5TiTZS7kyIvY4j/UhIQ2urLsvGkzw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.1.tgz", + "integrity": "sha512-x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==", "dependencies": { - "bech32": "^1.1.2", - "bigi": "^1.4.0", - "bip66": "^1.1.0", - "bitcoin-ops": "^1.3.0", - "bs58check": "^2.0.0", + "bech32": "^2.0.0", + "bip174": "^2.0.1", + "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "create-hmac": "^1.1.3", - "ecurve": "^1.0.0", - "merkle-lib": "^2.0.10", - "pushdata-bitcoin": "^1.0.1", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", "typeforce": "^1.11.3", - "varuint-bitcoin": "^1.0.4", + "varuint-bitcoin": "^1.1.2", "wif": "^2.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, + "node_modules/bitcoinjs-lib/node_modules/bech32": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", + "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -4993,18 +4944,18 @@ } }, "node_modules/bolt11": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/bolt11/-/bolt11-1.3.2.tgz", - "integrity": "sha512-WW86n1QdusD6t3j64B+GZLztj4skwoH/LBiiIrt7zpQvtaGJsRMavv22tDwoDBF/Yb143omPIq+R6sJaRRUP9w==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bolt11/-/bolt11-1.3.4.tgz", + "integrity": "sha512-x4lHDv0oid13lGlZU7cl/5gx9nRwjB2vgK/uB3c50802Wh+9WjWQMwzD2PCETHylUijx2iBAqUQYbx3ZgwF06Q==", "dependencies": { "@types/bn.js": "^4.11.3", "bech32": "^1.1.2", - "bitcoinjs-lib": "^3.3.1", + "bitcoinjs-lib": "^6.0.0", "bn.js": "^4.11.8", "create-hash": "^1.2.0", "lodash": "^4.17.11", "safe-buffer": "^5.1.1", - "secp256k1": "^3.4.0" + "secp256k1": "^4.0.2" } }, "node_modules/bolt11/node_modules/bn.js": { @@ -5264,17 +5215,6 @@ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, - "node_modules/bytebuffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", - "dependencies": { - "long": "~3" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -5795,16 +5735,6 @@ "node": ">= 10" } }, - "node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -5827,14 +5757,6 @@ "node": ">= 4.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", @@ -5897,14 +5819,6 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" }, - "node_modules/colour": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=", - "engines": { - "node": ">=0.8" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6033,11 +5947,6 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -6807,14 +6716,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -7051,11 +6952,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -7078,17 +6974,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -7354,19 +7239,6 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -7392,15 +7264,6 @@ "safer-buffer": "^2.1.0" } }, - "node_modules/ecurve": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", - "integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==", - "dependencies": { - "bigi": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -9217,7 +9080,8 @@ "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true }, "node_modules/filename-reserved-regex": { "version": "2.0.0", @@ -9663,14 +9527,6 @@ "node": ">=10" } }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dependencies": { - "minipass": "^2.6.0" - } - }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -9710,21 +9566,6 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -10074,24 +9915,6 @@ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "optional": true }, - "node_modules/grpc": { - "version": "1.24.6", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.6.tgz", - "integrity": "sha512-BtifKdClMYU0ZEo0Pdr2WV9ZH54AoEdIcp2BfJkh87g2R3HoNPLYKHRYefw/ByxrCdVDTAy3hkraFISpqsRcrw==", - "deprecated": "This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.", - "hasInstallScript": true, - "dependencies": { - "@types/bytebuffer": "^5.0.40", - "lodash.camelcase": "^4.3.0", - "lodash.clone": "^4.5.0", - "nan": "^2.13.2", - "node-pre-gyp": "^0.16.0", - "protobufjs": "^5.0.3" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/grpc-web": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz", @@ -10192,11 +10015,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -10818,14 +10636,6 @@ "node": ">= 4" } }, - "node_modules/ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dependencies": { - "minimatch": "^3.0.4" - } - }, "node_modules/immer": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", @@ -11113,14 +10923,6 @@ "node": ">= 0.4" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -11372,17 +11174,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", @@ -14142,17 +13933,6 @@ "webpack-sources": "^1.1.0" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -14276,11 +14056,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "node_modules/lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -14345,14 +14120,6 @@ "url": "https://tidelift.com/funding/github/npm/loglevel" } }, - "node_modules/long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", - "engines": { - "node": ">=0.6" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -14557,11 +14324,6 @@ "node": ">= 8" } }, - "node_modules/merkle-lib": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", - "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" - }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -14739,15 +14501,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, "node_modules/minipass-collect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", @@ -14829,14 +14582,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dependencies": { - "minipass": "^2.9.0" - } - }, "node_modules/mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -14931,7 +14676,8 @@ "node_modules/nan": { "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true }, "node_modules/nanoid": { "version": "3.1.22", @@ -14978,22 +14724,6 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, - "node_modules/needle": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", - "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -15026,6 +14756,11 @@ "tslib": "^2.0.3" } }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, "node_modules/node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -15034,6 +14769,16 @@ "node": ">= 6.0.0" } }, + "node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -15111,44 +14856,11 @@ "node": ">=10" } }, - "node_modules/node-pre-gyp": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.16.0.tgz", - "integrity": "sha512-4efGA+X/YXAHLi1hN8KaPrILULaUn2nWecFrn1k2I+99HpoyvcOGEbtcOxpDiUwPF2ZANMJDh32qwOUPenuR1g==", - "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", - "dependencies": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.3", - "needle": "^2.5.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, "node_modules/node-releases": { "version": "1.1.71", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -15190,29 +14902,6 @@ "node": ">=4" } }, - "node_modules/npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "node_modules/npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -15224,17 +14913,6 @@ "node": ">=8" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -15248,14 +14926,6 @@ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -15595,11 +15265,6 @@ "node": ">= 0.8.0" } }, - "node_modules/optjs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", - "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" - }, "node_modules/original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -15613,25 +15278,6 @@ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -15640,15 +15286,6 @@ "node": ">=0.10.0" } }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "node_modules/p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -16362,6 +15999,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "license": "MIT", "dependencies": { "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" @@ -17580,23 +17218,6 @@ "react-is": "^16.8.1" } }, - "node_modules/protobufjs": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", - "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", - "dependencies": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" - }, - "bin": { - "pbjs": "bin/pbjs" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -17673,14 +17294,6 @@ "node": ">=6" } }, - "node_modules/pushdata-bitcoin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz", - "integrity": "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=", - "dependencies": { - "bitcoin-ops": "^1.3.0" - } - }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -17832,20 +17445,6 @@ "node": ">= 0.8" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, "node_modules/rc-align": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.9.tgz", @@ -20136,29 +19735,19 @@ } }, "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, - "node_modules/secp256k1/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -20730,6 +20319,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -20758,7 +20348,8 @@ "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" }, "node_modules/sourcemap-codec": { "version": "1.4.8", @@ -21685,19 +21276,6 @@ "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", @@ -21808,14 +21386,6 @@ "node": ">=6" } }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -21939,6 +21509,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -22050,23 +21621,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "engines": { - "node": ">=4.5" - } - }, "node_modules/temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", @@ -23296,7 +22850,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "optional": true, "dependencies": { "anymatch": "^2.0.0", @@ -23709,7 +23263,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dependencies": { "anymatch": "^2.0.0", "async-each": "^1.0.1", @@ -24585,14 +24139,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, "node_modules/wif": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", @@ -24601,17 +24147,6 @@ "bs58check": "<3.0.0" } }, - "node_modules/window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -24849,18 +24384,6 @@ "microevent.ts": "~0.1.1" } }, - "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -24931,11 +24454,6 @@ "node": ">=0.4" } }, - "node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -24949,20 +24467,6 @@ "node": ">= 6" } }, - "node_modules/yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "dependencies": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - }, "node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -24983,14 +24487,6 @@ "node": ">=6" } }, - "node_modules/yargs/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -27204,15 +26700,6 @@ "@types/node": "*" } }, - "@types/bytebuffer": { - "version": "5.0.42", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.42.tgz", - "integrity": "sha512-lEgKojWUAc/MG2t649oZS5AfYFP2xRNPoDuwDBlBMjHXd8MaGPgFgtCXUK7inZdBOygmVf10qxc1Us8GXC96aw==", - "requires": { - "@types/long": "*", - "@types/node": "*" - } - }, "@types/eslint": { "version": "7.2.8", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", @@ -27280,11 +26767,6 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - }, "@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", @@ -27722,11 +27204,6 @@ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -27913,15 +27390,6 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -28027,15 +27495,6 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "ascli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", - "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" - } - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -28709,9 +28168,9 @@ } }, "base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "requires": { "safe-buffer": "^5.0.1" } @@ -28755,11 +28214,6 @@ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, - "bigi": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.2.tgz", - "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -28770,43 +28224,35 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, "requires": { "file-uri-to-path": "1.0.0" } }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bitcoin-ops": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz", - "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==" + "bip174": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bip174/-/bip174-2.0.1.tgz", + "integrity": "sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ==" }, "bitcoinjs-lib": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-3.3.2.tgz", - "integrity": "sha512-l5qqvbaK8wwtANPf6oEffykycg4383XgEYdia1rI7/JpGf1jfRWlOUCvx5TiTZS7kyIvY4j/UhIQ2urLsvGkzw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.1.tgz", + "integrity": "sha512-x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==", "requires": { - "bech32": "^1.1.2", - "bigi": "^1.4.0", - "bip66": "^1.1.0", - "bitcoin-ops": "^1.3.0", - "bs58check": "^2.0.0", + "bech32": "^2.0.0", + "bip174": "^2.0.1", + "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "create-hmac": "^1.1.3", - "ecurve": "^1.0.0", - "merkle-lib": "^2.0.10", - "pushdata-bitcoin": "^1.0.1", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", "typeforce": "^1.11.3", - "varuint-bitcoin": "^1.0.4", + "varuint-bitcoin": "^1.1.2", "wif": "^2.0.1" + }, + "dependencies": { + "bech32": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", + "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" + } } }, "bluebird": { @@ -28862,18 +28308,18 @@ } }, "bolt11": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/bolt11/-/bolt11-1.3.2.tgz", - "integrity": "sha512-WW86n1QdusD6t3j64B+GZLztj4skwoH/LBiiIrt7zpQvtaGJsRMavv22tDwoDBF/Yb143omPIq+R6sJaRRUP9w==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bolt11/-/bolt11-1.3.4.tgz", + "integrity": "sha512-x4lHDv0oid13lGlZU7cl/5gx9nRwjB2vgK/uB3c50802Wh+9WjWQMwzD2PCETHylUijx2iBAqUQYbx3ZgwF06Q==", "requires": { "@types/bn.js": "^4.11.3", "bech32": "^1.1.2", - "bitcoinjs-lib": "^3.3.1", + "bitcoinjs-lib": "^6.0.0", "bn.js": "^4.11.8", "create-hash": "^1.2.0", "lodash": "^4.17.11", "safe-buffer": "^5.1.1", - "secp256k1": "^3.4.0" + "secp256k1": "^4.0.2" }, "dependencies": { "bn.js": { @@ -29095,14 +28541,6 @@ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, - "bytebuffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", - "requires": { - "long": "~3" - } - }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -29509,16 +28947,6 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -29534,11 +28962,6 @@ "q": "^1.1.2" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", @@ -29594,11 +29017,6 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" }, - "colour": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -29708,11 +29126,6 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -30323,11 +29736,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -30512,11 +29920,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -30536,11 +29939,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -30754,16 +30152,6 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -30789,15 +30177,6 @@ "safer-buffer": "^2.1.0" } }, - "ecurve": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", - "integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==", - "requires": { - "bigi": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -32130,7 +31509,8 @@ "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true }, "filename-reserved-regex": { "version": "2.0.0", @@ -32475,14 +31855,6 @@ "universalify": "^2.0.0" } }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -32515,21 +31887,6 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -32785,19 +32142,6 @@ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "optional": true }, - "grpc": { - "version": "1.24.6", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.6.tgz", - "integrity": "sha512-BtifKdClMYU0ZEo0Pdr2WV9ZH54AoEdIcp2BfJkh87g2R3HoNPLYKHRYefw/ByxrCdVDTAy3hkraFISpqsRcrw==", - "requires": { - "@types/bytebuffer": "^5.0.40", - "lodash.camelcase": "^4.3.0", - "lodash.clone": "^4.5.0", - "nan": "^2.13.2", - "node-pre-gyp": "^0.16.0", - "protobufjs": "^5.0.3" - } - }, "grpc-web": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz", @@ -32867,11 +32211,6 @@ "has-symbols": "^1.0.2" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -33360,14 +32699,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, "immer": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", @@ -33587,11 +32918,6 @@ "side-channel": "^1.0.4" } }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -33759,14 +33085,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", @@ -35802,14 +35120,6 @@ "webpack-sources": "^1.1.0" } }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -35908,11 +35218,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -35970,11 +35275,6 @@ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" }, - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -36035,7 +35335,6 @@ }, "macaroon": { "version": "git+ssh://git@github.com/tierion/js-macaroon.git#f3654fd314f8fa778299b2286b87f78366a941e1", - "integrity": "sha512-kd+Pat0XPbtd891V42SUcufMFzWV4XjzFX8sr5vsg8JxyJZ+E3biWugYM6sDwCAsxSqwfDr/lXOG+b0D3qc5nA==", "from": "macaroon@git+https://github.com/tierion/js-macaroon.git#ts", "requires": { "sjcl": "^1.0.6", @@ -36155,11 +35454,6 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, - "merkle-lib": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", - "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -36291,15 +35585,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, "minipass-collect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", @@ -36369,14 +35654,6 @@ } } }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -36456,7 +35733,8 @@ "nan": { "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true }, "nanoid": { "version": "3.1.22", @@ -36494,16 +35772,6 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, - "needle": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", - "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -36533,11 +35801,21 @@ "tslib": "^2.0.3" } }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -36610,37 +35888,11 @@ } } }, - "node-pre-gyp": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.16.0.tgz", - "integrity": "sha512-4efGA+X/YXAHLi1hN8KaPrILULaUn2nWecFrn1k2I+99HpoyvcOGEbtcOxpDiUwPF2ZANMJDh32qwOUPenuR1g==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.3", - "needle": "^2.5.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, "node-releases": { "version": "1.1.71", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -36673,29 +35925,6 @@ "sort-keys": "^1.0.0" } }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -36704,17 +35933,6 @@ "path-key": "^3.0.0" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -36728,11 +35946,6 @@ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -36976,11 +36189,6 @@ "word-wrap": "^1.2.3" } }, - "optjs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", - "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" - }, "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -36994,33 +36202,11 @@ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -38558,17 +37744,6 @@ "react-is": "^16.8.1" } }, - "protobufjs": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", - "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", - "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" - } - }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -38643,14 +37818,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "pushdata-bitcoin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz", - "integrity": "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=", - "requires": { - "bitcoin-ops": "^1.3.0" - } - }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -38760,17 +37927,6 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, "rc-align": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.9.tgz", @@ -40506,25 +39662,13 @@ } }, "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, "select-hose": { @@ -41760,16 +40904,6 @@ "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "string.prototype.matchall": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", @@ -41852,11 +40986,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -42041,20 +41170,6 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, "temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", @@ -44052,14 +43167,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "wif": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", @@ -44068,11 +43175,6 @@ "bs58check": "<3.0.0" } }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -44291,15 +43393,6 @@ "microevent.ts": "~0.1.1" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -44350,11 +43443,6 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -44365,27 +43453,6 @@ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } - } - }, "yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", diff --git a/package.json b/package.json index b4fe7ee..30fe024 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,11 @@ "dependencies": { "antd": "^4.2.0", "axios": "^0.21.1", + "bolt11": "^1.3.4", "emoji-picker-react": "^3.4.4", "fs": "0.0.1-security", "gh-pages": "^3.2.3", "google-protobuf": "^3.14.0", - "grpc": "^1.24.6", "grpc-web": "^1.2.1", "html-react-parser": "^1.2.4", "jdenticon": "^3.1.0", diff --git a/src/components/content-pages/chat-history-input.js b/src/components/content-pages/chat-history-input.js index 7f7fe91..170268c 100644 --- a/src/components/content-pages/chat-history-input.js +++ b/src/components/content-pages/chat-history-input.js @@ -8,6 +8,7 @@ import { Dropdown, Menu, Divider, + Select } from "antd"; import { PlusOutlined, @@ -22,14 +23,14 @@ import Picker from "emoji-picker-react"; import { NotificationManager } from "react-notifications"; import messageClient from "../../services/messageServices"; +import paymentClient from "../../services/paymentServices"; import { appendToChatHistory } from "../../utils/discussion-utils"; import theme from "../../style/theme"; -import uploadImage from "../../utils/lsat/upload-image"; import sleep from "../../utils/system"; import { - messageToPayload, - payreqToPayload, + createC13nMpMessage, + createC13nPpMessage } from "../../payload-protocol/parsers"; import "./chat-history-input.css"; import ChatButton from "../../media/arrow-right.svg"; @@ -47,8 +48,10 @@ const ChatHistoryInput = (props) => { const [imageURL, setImageURL] = useState(""); const [uploadLoading, setUploadLoading] = useState(false); const [payreqModalActive, setPayreqModalActive] = useState(false); - const [payreqAmount, setPayreqAmount] = useState(0); + const [payreqAmount, setPayreqAmount] = useState(1); const [payreqDescription, setPayreqDescription] = useState(""); + const [payreqExpiry, setPayreqExpiry] = useState(0); + const [payreqPrivate, setPayreqPrivate] = useState(false); /** * This function sends a payload and the currently entered payload to the current discussion. @@ -64,7 +67,7 @@ const ChatHistoryInput = (props) => { : parseInt(amtMsat) > 1000 ? parseInt(amtMsat) : 1000, - payload: messageToPayload(text, attachmentList), + payload: createC13nMpMessage(text, attachmentList), options: { anonymous: props.anonymousActive, }, @@ -365,9 +368,6 @@ const ChatHistoryInput = (props) => { onOk={async () => { setUploadLoading(true); switch (imageURL.length) { - case 0: - uploadImage(props); - break; default: sendMessage("", [createAttachment("image", imageURL)]); } @@ -407,37 +407,57 @@ const ChatHistoryInput = (props) => { cryptoUtils.currentCryptoAmtToMsat(props, payreqAmount), "msat" ); - messageClient().sendMessage( + paymentClient().createInvoice( { - discussionId: props.selectedDiscussion.id, - payload: payreqToPayload( - cryptoUtils.currentCryptoAmtToMsat(props, payreqAmount), - payreqDescription - ), - amtMsat: 1000, + amtMsat: cryptoUtils.currentCryptoAmtToMsat(props, payreqAmount), + description: payreqDescription, + expiry: payreqExpiry, + private: payreqPrivate }, - (err, res) => { - if (err) { - NotificationManager.error("Could not send message"); - console.log(err); + (err, ress) => { + if(err) { + NotificationManager.error("Could not create invoice"); } - if (res) { - setPayreqAmount(0); - setPayreqDescription(""); - setPayreqModalActive(false); - props.selectedDiscussion.lastMsgId = res.sentMessage.id; - props.selectedDiscussion.lastReadMsgId = res.sentMessage.id; - appendToChatHistory(props, res.sentMessage); - props.updateCurrentFunds(); - props.setLastFundChange( - `-${Number( - res.sentMessage.amtMsat / 1000 + - res.sentMessage.totalFeesMsat / 1000 - )}` + if(ress) { + messageClient().sendMessage( + { + discussionId: props.selectedDiscussion.id, + payload: createC13nPpMessage( + "payreq", + ress.invoice.paymentRequest, + ress.invoice.memo + ), + amtMsat: 1000, + }, + (err, res) => { + if (err) { + NotificationManager.error("Could not send message"); + console.log(err); + } + if (res) { + setPayreqAmount(0); + setPayreqDescription(""); + setPayreqExpiry(-1); + setPayreqPrivate(false); + setPayreqModalActive(false); + props.selectedDiscussion.lastMsgId = res.sentMessage.id; + props.selectedDiscussion.lastReadMsgId = res.sentMessage.id; + appendToChatHistory(props, res.sentMessage); + props.updateChatScroll(); + props.updateCurrentFunds(); + props.setLastFundChange( + `-${Number( + res.sentMessage.amtMsat / 1000 + + res.sentMessage.totalFeesMsat / 1000 + )}` + ); + } + } ); } } ); + console.log("Calling sendMessage"); }} onCancel={() => { setPayreqModalActive(false); @@ -463,12 +483,12 @@ const ChatHistoryInput = (props) => { amount < parseFloat(cryptoUtils.retrieveDefaultCryptoAmount(props)) ) { - setAmount( + setPayreqAmount( parseFloat(cryptoUtils.retrieveDefaultCryptoAmount(props)) ); } - if (amount > 1000000) { - setAmount(1000000); + if (amount > 10000000) { + setPayreqAmount(10000000); } }} onFocus={() => { @@ -486,7 +506,31 @@ const ChatHistoryInput = (props) => { } }} /> +
+ Expiry: +
+ +
+ Private: +
+ { + setPayreqPrivate(value); + }} + /> + ); }; diff --git a/src/components/content-pages/chat-history.js b/src/components/content-pages/chat-history.js index 111a0e1..4494618 100644 --- a/src/components/content-pages/chat-history.js +++ b/src/components/content-pages/chat-history.js @@ -566,7 +566,9 @@ const ChatHistory = (props) => { }} renderItem={(item) => { return ( - +
{ props, item.payload, item.sender === props.selfInfo.address, - item.amtMsat + item.amtMsat, + item.discussionId )}
diff --git a/src/components/content-pages/message-info.js b/src/components/content-pages/message-info.js index 649c647..2314ed2 100644 --- a/src/components/content-pages/message-info.js +++ b/src/components/content-pages/message-info.js @@ -109,7 +109,7 @@ const MessageInfo = (props) => { { - return
{routeHopsList(item)}
; + return
{routeHopsList(item)}
; }} /> diff --git a/src/components/content-pages/open-channel.js b/src/components/content-pages/open-channel.js index 1558539..f4d45ae 100644 --- a/src/components/content-pages/open-channel.js +++ b/src/components/content-pages/open-channel.js @@ -71,12 +71,6 @@ const OpenChannel = (props) => { props.setVisible(false); }} onOk={async () => { - console.log(mode); - console.log(lightningAddress); - console.log(amount); - console.log(pushAmount); - console.log(minimumInputConfirmations); - console.log(targetConfirmationBlocks); const split = splitURI(lightningAddress); const address = split.address; const hostport = split.hostport; diff --git a/src/components/main.js b/src/components/main.js index 4dc34d6..edf088d 100644 --- a/src/components/main.js +++ b/src/components/main.js @@ -37,6 +37,7 @@ import notificationAudio from "../media/notification.mp3"; import { concatUserNames } from "../utils/discussion-utils"; import channelClient from "../services/channelServices"; import "./main.css"; +import { exportTextMessage } from "../payload-protocol/utils"; const { GetDiscussionsResponse } = require("../rpc/rpc_pb"); const { SubscribeMessageResponse } = require("../rpc/rpc_pb"); @@ -496,28 +497,23 @@ const Main = () => { appendToChatHistory(mainProps, res.receivedMessage); } + let messageText = exportTextMessage(res.receivedMessage.payload); if (!document.hasFocus()) { let audio = new Audio(notificationAudio); audio.play(); - let message = {}; - try { - message = JSON.parse(res.receivedMessage.payload); - } catch (e) { - message.content = res.receivedMessage.payload; - } new Notification( `${ concatUserNames(mainProps, [res.receivedMessage.sender]) || "Unknown" }: ${ - !message.content + !messageText ? `Sent you ${cryptoUtils.msatToCurrentCryptoUnit( mainProps, res.receivedMessage.amtMsat )}${selectedCryptoUnit}` - : message.content.length < 30 - ? message.content - : message.content.substring(0, 25) + "..." + : messageText.length < 32 + ? messageText + : messageText.substring(0, 32) + "..." }`, { icon: arcLogo, @@ -530,14 +526,14 @@ const Main = () => { if (!directlyToRoom) { NotificationManager.info( `${ - res.receivedMessage.payload === "" + !messageText ? `Sent you ${cryptoUtils.msatToCurrentCryptoUnit( mainProps, res.receivedMessage.amtMsat )}${selectedCryptoUnit}` - : res.receivedMessage.payload.length < 20 - ? res.receivedMessage.payload - : res.receivedMessage.payload.substring(0, 15) + "..." + : messageText < 25 + ? messageText + : messageText.substring(0, 25) + "..." }`, `${alias || "Unknown"}:`, 4000, diff --git a/src/payload-protocol/parsers.js b/src/payload-protocol/parsers.js index b811c3e..ef0fbb9 100644 --- a/src/payload-protocol/parsers.js +++ b/src/payload-protocol/parsers.js @@ -1,4 +1,3 @@ -import version from "./version"; import ReactMarkdown from "react-markdown"; import C13nImage from "../components/content-pages/markdown/c13n-image"; import c13nLink from "../components/content-pages/markdown/c13n-link"; @@ -6,15 +5,20 @@ import c13nLinkRef from "../components/content-pages/markdown/c13n-link-ref"; import c13nText from "../components/content-pages/markdown/c13n-text"; import c13nInlineCode from "../components/content-pages/markdown/c13n-inline-code"; -import { issuePayreq, checkPayreq, satisfyPayreq } from "../utils/payreq/payreq-tracker"; +import { checkMyPayreq, checkPayreq, registerPaidPayreq } from "../utils/payreq/payreq-tracker"; +import { appendToChatHistory } from "../utils/discussion-utils"; -import { Button, List } from "antd"; -import { CheckOutlined } from "@ant-design/icons"; +import { NotificationManager } from "react-notifications"; + +import { Button, List, Popconfirm } from "antd"; +import { CheckOutlined, CopyOutlined } from "@ant-design/icons"; + +import messageClient from "../services/messageServices"; import React from "react"; -import { sendPayreqPay } from "../utils/payreq/utils"; const cryptoUtils = require("../utils/crypto-utils"); +const lightningPayReq = require('bolt11'); /** * The markdown renderers. @@ -35,31 +39,39 @@ const renderers = (props) => { }; }; -const messageCore = () => { - return { - n: "c13n-cp", - v: version - }; -}; - /** * This function generates the JSX to represent the message inside the chat bubble. * @param {} props The global variables. * @param {string} payload The message data. - * @param {boolean} myMessage Flag indicating if message was send by this wallet. + * @param {boolean} myMessage Flag indicating if message was sent by this wallet. * @param {number} amtMsat The msat amount delivered by the message. * @returns The JSX representing the message. */ -const payloadToDom = (props, payload, myMessage, amtMsat) => { +const payloadToDom = (props, payload, myMessage, amtMsat, discussionId) => { let payloadObj; try { payloadObj = JSON.parse(payload); } catch (err) { payloadObj = payload; } + if (payloadObj.n === undefined) { + return payload; + } if (payloadObj.t === undefined) { return payload; } + switch (payloadObj.n) { + case "c13n-mp": + return c13nMpToDom(props, payloadObj, myMessage, amtMsat); + case "c13n-pp": + return c13nPpToDom(props, payloadObj, myMessage, discussionId); + default: + return payload; + } +}; + + +const c13nMpToDom = (props, payloadObj, myMessage, amtMsat) => { switch (payloadObj.t) { case "message": return [ @@ -102,7 +114,7 @@ const payloadToDom = (props, payload, myMessage, amtMsat) => { }} dataSource={payloadObj.attL} renderItem={(item) => { - switch(item.t){ + switch (item.t) { case 'image': return ( { renderers={renderers(props)} disallowedTypes={["paragraph"]} unwrapDisallowed={!!true} + key={`${Date.now()}${Math.random()}`} /> ); case 'file': - return( + return ( File ); } }} /> )]; + default: + break; + } +}; + + +const c13nPpToDom = (props, payloadObj, myMessage) => { + switch (payloadObj.t) { case "payreq": - issuePayreq(payloadObj.id); + let invoiceObj = {}; + if (payloadObj.c) { + try{ + invoiceObj = lightningPayReq.decode(payloadObj?.c); + } catch (e) {} + } + let invoiceTimeLeft = (invoiceObj?.timeExpireDate - Math.round(Date.now() / 1000)); + let invoicePaid = myMessage ? checkMyPayreq(payloadObj.c) : checkPayreq(payloadObj.c); return (
{

Request to { myMessage ? ' receive' : ' pay' - } {cryptoUtils.msatToCurrentCryptoUnit(props, payloadObj.amtMsat)} {props.selectedCryptoUnit}

+ } {cryptoUtils.msatToCurrentCryptoUnit(props, invoiceObj?.millisatoshis)} {props.selectedCryptoUnit} { - myMessage ? checkPayreq(payloadObj.id) + myMessage ? checkMyPayreq(payloadObj.c) ?

Paid

- :

Pending

- - - : checkPayreq(payloadObj.id) ? + : checkPayreq(payloadObj.c) ?

Paid

:
- + +
- } { fontSize: '10px' }} > - ID - {payloadObj.id} + Payreq: + + {`${payloadObj?.c?.substring( + 0, + 5 + )}...${payloadObj?.c?.substring( + payloadObj?.c?.length - 5, + payloadObj?.c?.length + )}: `} + + { + let copyText = document.getElementById( + "payreq" + payloadObj.c + ); + copyText.select(); + copyText.setSelectionRange(0, 99999); + document.execCommand("copy"); + NotificationManager.info("Copied to clipboard"); + }} + /> + {}} + /> + +
+ + Expiry in: + {invoiceTimeLeft > 0 ? secondsToDhms(invoiceTimeLeft) : (EXPIRED)}
); case "payreq_pay": - satisfyPayreq(payloadObj.id); - return ( + registerPaidPayreq(payloadObj.c); + return(
- - - - Paid request {payloadObj.id} - + {`${payloadObj?.c?.substring( + 0, + 5 + )}...${payloadObj?.c?.substring( + payloadObj?.c?.length - 5, + payloadObj?.c?.length + )}`} +
); } @@ -223,9 +323,10 @@ const payloadToDom = (props, payload, myMessage, amtMsat) => { * @param {*} message The entered message string. * @returns The message object. */ -const messageToPayload = (message, attachmentList) => { +const createC13nMpMessage = (message, attachmentList) => { let messageObj = { - ...messageCore(), + n: "c13n-mp", + v: "0.0.1c", t: "message", c: message, attL: attachmentList @@ -237,26 +338,25 @@ const messageToPayload = (message, attachmentList) => { } }; -const payreqToPayload = (amtMsat, description) => { - let messageObj = { - ...messageCore(), - t: "payreq", - amtMsat: amtMsat, - description: description, - id: Date.now() - }; - try { - return JSON.stringify(messageObj); - } catch (err) { - return ''; - } +const secondsToDhms = (seconds) => { + seconds = Number(seconds); + var d = Math.floor(seconds / (3600*24)); + var h = Math.floor(seconds % (3600*24) / 3600); + var m = Math.floor(seconds % 3600 / 60); + var s = Math.floor(seconds % 60); + var dDisplay = d > 0 ? d + "d " : ""; + var hDisplay = h > 0 ? h + "h " : ""; + var mDisplay = m > 0 ? m + "m " : ""; + return dDisplay + hDisplay + mDisplay; }; -const payreqPayToPayload = (id) => { +const createC13nPpMessage = (type, payreq, description) => { let messageObj = { - ...messageCore(), - t: "payreq_pay", - id: id + n: "c13n-pp", + v: "0.0.1a", + t: type, + c: payreq, + description: description }; try { return JSON.stringify(messageObj); @@ -267,7 +367,6 @@ const payreqPayToPayload = (id) => { export { payloadToDom, - messageToPayload, - payreqToPayload, - payreqPayToPayload + createC13nMpMessage, + createC13nPpMessage }; diff --git a/src/payload-protocol/protocol.md b/src/payload-protocol/protocol.md deleted file mode 100644 index f550810..0000000 --- a/src/payload-protocol/protocol.md +++ /dev/null @@ -1,28 +0,0 @@ -```js -{ - # Name of protocol - n: "c13n-cp" - # Version of protocol - v: "0.0.1c", - # Type of payload - t: "message" | "payreq" | "payreq_pay", - # Content related to payload type - # message: the message text - # payreq: description of payment request - # payreq_pay: description of payment request fulfillment - c: "", - # (optional -- only for payreq) The invoice of the payment request - invoice: "", - # (optional -- only for message) File / Media attachments - att: [{ - # Type of attachment - t: "image | file", - # Location / URL - u: "", - # Metadata - tags: "lsat", - # Visibility flag for chat - show: "true | false" - }], -} -``` \ No newline at end of file diff --git a/src/payload-protocol/protocols.md b/src/payload-protocol/protocols.md new file mode 100644 index 0000000..c35158b --- /dev/null +++ b/src/payload-protocol/protocols.md @@ -0,0 +1,40 @@ +```js +{ + # Name of protocol + n: "c13n-mp" + # Version of protocol + v: "0.0.1c", + # Type of payload + t: "message", + # Content related to payload type + # message: the message text + c: "", + # (Optional) File / Media attachments + att: [{ + # Type of attachment + t: "image" | "file", + # Location / URL + u: "", + # Metadata + tags: "lsat" | "", + # Visibility flag for chat + show: "true" | "false" + }] +} +``` + +```js +{ + # Name of protocol + n: "c13n-pp" + # Version of protocol + v: "0.0.1a", + # Type of payload + t: "payreq", + # Content related to payload type + # payreq: the payment request + c: "", + # (Optional) Description of payment request + d: "" +} +``` \ No newline at end of file diff --git a/src/payload-protocol/utils.js b/src/payload-protocol/utils.js index 1e68e24..f1dceb2 100644 --- a/src/payload-protocol/utils.js +++ b/src/payload-protocol/utils.js @@ -7,6 +7,28 @@ const createAttachment = (type, uri, tags, show) => { }; }; +const exportTextMessage = (payload) => { + let payloadObj = {}; + try{ + payloadObj = JSON.parse(payload); + }catch{ + return undefined; + } + if(payloadObj.n == "c13n-mp"){ + return payloadObj.c; + } + if(payloadObj.n == "c13n-pp"){ + if(payloadObj.t == "payreq"){ + return "New payment request"; + } + if(payloadObj.t == "payreq_pay"){ + return "Paid payment request"; + } + } + return undefined; +}; + export { - createAttachment + createAttachment, + exportTextMessage }; \ No newline at end of file diff --git a/src/rpc/rpc.proto b/src/rpc/rpc.proto index 0db3233..4ac2ad4 100644 --- a/src/rpc/rpc.proto +++ b/src/rpc/rpc.proto @@ -1,24 +1,12 @@ syntax = "proto3"; -option go_package = "git.programize.com/c13n/c13n-backend/rpc/services"; +option go_package = "github.com/c13n-io/c13n-go/rpc/services"; package services; import "google/protobuf/timestamp.proto"; import "validator.proto"; -/** - Corresponds to pagination parameters for requests. - Represents a request for page_size elements, - skipping the most recent skip_recent elements (reverse order). -*/ -message PageOptions { - /** The number of most recent elements to skip. */ - int64 skip_recent = 1 [(validator.field) = {msg_exists: true}]; - /** The number of elements to return. */ - int64 page_size = 2 [(validator.field) = {msg_exists: true}]; -} - /** Corresponds to pagination parameters for requests. Represents a request for page_size elements, @@ -147,13 +135,13 @@ message SelfBalanceResponse { message GetNodesRequest { } -/** Corresponds to a node query based on the node address. */ +/** Corresponds to a node query based on node address. */ message SearchNodeByAddressRequest { /** The node address to search. */ string address = 1 [(validator.field) = {regex: "^[a-z0-9]{66}$"}]; } -/** Corresponds to a node query based on the node alias. */ +/** Corresponds to a node query based on node alias. */ message SearchNodeByAliasRequest { /** The node alias substring to search. */ string alias = 1; @@ -178,12 +166,11 @@ message ConnectNodeRequest { } /** A ConnectNodeResponse is received in response to a ConnectNode request. */ -message ConnectNodeResponse{ +message ConnectNodeResponse { } /** - ChannelService exposes endpoints pertaining - to channel management. + ChannelService exposes endpoints pertaining to channel management. */ service ChannelService { /** @@ -203,16 +190,19 @@ message OpenChannelRequest { uint64 amt_msat = 2; /** The amount to be sent to the other party (in millisatoshi). */ uint64 push_amt_msat = 3; - /** The minimum number of confirmations each input - of the channel funding transaction must have. + /** The minimum number of confirmations + each input of the channel funding transaction must have. In case of a negative value being provided, unconfirmed funds can be used. */ int32 min_input_confs = 4; /** The number of blocks the funding transaction should confirm by. - This is used for fee estimation. + + Used for fee estimation. */ uint32 target_confirmation_block = 5; + /** The fee rate (satoshis per virtual byte) the funding transaction should cost. */ + uint64 sat_per_vbyte = 6; } /** An OpenChannelResponse is received in response to an OpenChannel call. */ @@ -224,8 +214,7 @@ message OpenChannelResponse { } /** - ContactService exposes endpoints pertaining to handling - nodes of the Lightning network and contacts. + ContactService exposes endpoints pertaining to contacts. */ service ContactService { /** @@ -330,7 +319,7 @@ service MessageService { rpc SubscribeMessages(SubscribeMessageRequest) returns (stream SubscribeMessageResponse) {} } -/** A message representing a message of the application. */ +/** Represents a message of the application. */ message Message { /** The unique id of the message. */ uint64 id = 1; @@ -373,7 +362,7 @@ message Message { string pay_req = 13; } -/** A message representing a route fulfilling a payment HTLC. */ +/** Represents a route fulfilling a payment HTLC. */ message PaymentRoute { /** The list of hops for this route. */ repeated PaymentHop hops = 1; @@ -385,7 +374,7 @@ message PaymentRoute { int64 route_fees_msat = 4; } -/** A message representing a hop of the route for sending a message. */ +/** Represents a hop of a route of a message. */ message PaymentHop { /** The channel id. */ uint64 chan_id = 1; @@ -397,7 +386,7 @@ message PaymentHop { int64 fee_msat = 4; } -/** MessageOptions represents messaging options. */ +/** Represents messaging options. */ message MessageOptions { /** The maximum fee allowed for a message (in millisatoshi). */ int64 fee_limit_msat = 1; @@ -481,7 +470,7 @@ service DiscussionService { Creates a unidirectional stream from server to client over which all discussions' info are sent. - The stream terminates when all discussions' info is transmitted. + The stream terminates when all discussion info is transmitted. */ rpc GetDiscussions(GetDiscussionsRequest) returns (stream GetDiscussionsResponse) {} /** @@ -516,6 +505,7 @@ message DiscussionInfo { uint64 id = 1 [(validator.field) = {msg_exists: true}]; /** The list of participants in the discussion. */ repeated string participants = 2 [(validator.field) = {repeated_count_min: 1}]; + /** The default options applicable for all discussion messages. */ DiscussionOptions options = 3; /** The id of the last read message in the discussion. */ uint64 last_read_msg_id = 4; @@ -525,8 +515,7 @@ message DiscussionInfo { /** DiscussionOptions represents the per-discussion options. */ message DiscussionOptions { - /** - The maximum fee allowed for sending a message (in millisatoshi). + /** The maximum fee allowed for sending a message (in millisatoshi). If not set, the default fee limit, as defined in the app package, is used. */ @@ -554,6 +543,7 @@ message GetDiscussionsResponse { message GetDiscussionHistoryByIDRequest { /** The discussion id of interest. */ uint64 id = 1 [(validator.field) = {msg_exists: true}]; + /** The pagination options of the request. */ KeySetPageOptions page_options = 2; } @@ -626,3 +616,133 @@ message RemoveDiscussionRequest { /** A RemoveDiscussionResponse is received in response to a RemoveDiscussion rpc call. */ message RemoveDiscussionResponse { } + +/** + PaymentService exposes payment and invoice functionality. +*/ +service PaymentService { + /** + Creates a new invoice. + */ + rpc CreateInvoice(CreateInvoiceRequest) returns (CreateInvoiceResponse) {} + + /** + Performs an invoice lookup. + */ + rpc LookupInvoice(LookupInvoiceRequest) returns (LookupInvoiceResponse) {} +} + +/** Corresponds to an invoice creation request. */ +message CreateInvoiceRequest { + /** Memo of the invoice. */ + string memo = 1; + /** The invoice amount (in millisatoshi). */ + uint64 amt_msat = 2; + /** Invoice expiry time (in seconds since creation). */ + int64 expiry = 3; + /** Whether to include hints for private channels. */ + bool private = 4; +} + +/** A CreateInvoiceResponse is received in response to an invoice creation request. */ +message CreateInvoiceResponse { + /** The created invoice. */ + Invoice invoice = 1; +} + +/** Corresponds to an invoice lookup request. */ +message LookupInvoiceRequest { + /** Payment Request */ + string pay_req = 1; +} + +/** A LookupResponse is received in response to an invoice lookup request. */ +message LookupInvoiceResponse { + /** The returned invoice. */ + Invoice invoice = 1; +} + +/** Represents an Lightning network invoice. */ +message Invoice { + /** The invoice memo. */ + string memo = 1; + /** The preimage hash. */ + string hash = 2; + /** The invoice preimage. */ + string preimage = 3; + /** The payment request of the invoice. */ + string payment_request = 4; + /** The value (amount requested) of the invoice (in millisatoshi). */ + uint64 value_msat = 5; + /** The amount paid to the invoice (in millisatoshi). */ + uint64 amt_paid_msat = 6; + /** The time the invoice was created. */ + google.protobuf.Timestamp created_timestamp = 7; + /** The time the invoice was settled. */ + google.protobuf.Timestamp settled_timestamp = 8; + /** The invoice expiry (in seconds since creation time). */ + int64 expiry = 9; + /** Whether the invoice contains hints for private channels. */ + bool private = 10; + /** Invoice route hints. */ + repeated RouteHint route_hints = 11; + /** The invoice state. */ + InvoiceState state = 12; + /** The add index of the invoice. */ + uint64 add_index = 13; + /** The settle index of the invoice. */ + uint64 settle_index = 14; + /** The set of HTLCs paying to the invoice. */ + repeated InvoiceHTLC invoice_htlcs = 15; +} + +/** Represents the state of an invoice. */ +enum InvoiceState { + INVOICE_OPEN = 0; + INVOICE_ACCEPTED = 1; + INVOICE_SETTLED = 2; + INVOICE_CANCELLED = 3; +} + +/** Represents a route hint for assistance in invoice payment. */ +message RouteHint { + /** A chain of hop hints that can reach the desetination. */ + repeated HopHint hop_hints = 1; +} + +/** Represents a hop hint. */ +message HopHint { + /** Public key of hop ingress node. */ + string pubkey = 1; + /** The short channel id of the channel to be used for the hop. */ + uint64 chan_id = 2; + /** The base fee of the channel (in millisatoshi). */ + uint32 fee_base_msat = 3; + /** The fee rate of the channel (in microsatoshi/sat). */ + uint32 fee_rate = 4; + /** The timelock delta of the channel. */ + uint32 cltv_expiry_delta = 5; +} + +/** Represents an HTLC paying to an invoice. */ +message InvoiceHTLC { + /** The short channel id of the channel the HTLC was arrived. */ + uint64 chan_id = 1; + /** The amount of this HTLC (in millisatoshi). */ + uint64 amt_msat = 2; + /** State of the HTLC. */ + InvoiceHTLCState state = 3; + /** HTLC accept timestamp. */ + google.protobuf.Timestamp accept_timestamp = 4; + /** HTLC resolve timestamp.*/ + google.protobuf.Timestamp resolve_timestamp = 5; + /** Block height at which this HTLC expires. */ + int32 expiry_height = 6; +} + +/** Represents the state of an invoice HTLC. */ +enum InvoiceHTLCState { + INVOICE_HTLC_ACCEPTED = 0; + INVOICE_HTLC_SETTLED = 1; + INVOICE_HTLC_CANCELLED = 2; +} diff --git a/src/rpc/rpc_grpc_web_pb.js b/src/rpc/rpc_grpc_web_pb.js index a22830f..753768a 100644 --- a/src/rpc/rpc_grpc_web_pb.js +++ b/src/rpc/rpc_grpc_web_pb.js @@ -1947,5 +1947,217 @@ proto.services.DiscussionServicePromiseClient.prototype.removeDiscussion = }; +/** + * @param {string} hostname + * @param {?Object} credentials + * @param {?Object} options + * @constructor + * @struct + * @final + */ +proto.services.PaymentServiceClient = + function(hostname, credentials, options) { + if (!options) options = {}; + options['format'] = 'text'; + + /** + * @private @const {!grpc.web.GrpcWebClientBase} The client + */ + this.client_ = new grpc.web.GrpcWebClientBase(options); + + /** + * @private @const {string} The hostname + */ + this.hostname_ = hostname; + +}; + + +/** + * @param {string} hostname + * @param {?Object} credentials + * @param {?Object} options + * @constructor + * @struct + * @final + */ +proto.services.PaymentServicePromiseClient = + function(hostname, credentials, options) { + if (!options) options = {}; + options['format'] = 'text'; + + /** + * @private @const {!grpc.web.GrpcWebClientBase} The client + */ + this.client_ = new grpc.web.GrpcWebClientBase(options); + + /** + * @private @const {string} The hostname + */ + this.hostname_ = hostname; + +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.services.CreateInvoiceRequest, + * !proto.services.CreateInvoiceResponse>} + */ +const methodDescriptor_PaymentService_CreateInvoice = new grpc.web.MethodDescriptor( + '/services.PaymentService/CreateInvoice', + grpc.web.MethodType.UNARY, + proto.services.CreateInvoiceRequest, + proto.services.CreateInvoiceResponse, + /** + * @param {!proto.services.CreateInvoiceRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.services.CreateInvoiceResponse.deserializeBinary +); + + +/** + * @const + * @type {!grpc.web.AbstractClientBase.MethodInfo< + * !proto.services.CreateInvoiceRequest, + * !proto.services.CreateInvoiceResponse>} + */ +const methodInfo_PaymentService_CreateInvoice = new grpc.web.AbstractClientBase.MethodInfo( + proto.services.CreateInvoiceResponse, + /** + * @param {!proto.services.CreateInvoiceRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.services.CreateInvoiceResponse.deserializeBinary +); + + +/** + * @param {!proto.services.CreateInvoiceRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.Error, ?proto.services.CreateInvoiceResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.services.PaymentServiceClient.prototype.createInvoice = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/services.PaymentService/CreateInvoice', + request, + metadata || {}, + methodDescriptor_PaymentService_CreateInvoice, + callback); +}; + + +/** + * @param {!proto.services.CreateInvoiceRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.services.PaymentServicePromiseClient.prototype.createInvoice = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/services.PaymentService/CreateInvoice', + request, + metadata || {}, + methodDescriptor_PaymentService_CreateInvoice); +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.services.LookupInvoiceRequest, + * !proto.services.LookupInvoiceResponse>} + */ +const methodDescriptor_PaymentService_LookupInvoice = new grpc.web.MethodDescriptor( + '/services.PaymentService/LookupInvoice', + grpc.web.MethodType.UNARY, + proto.services.LookupInvoiceRequest, + proto.services.LookupInvoiceResponse, + /** + * @param {!proto.services.LookupInvoiceRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.services.LookupInvoiceResponse.deserializeBinary +); + + +/** + * @const + * @type {!grpc.web.AbstractClientBase.MethodInfo< + * !proto.services.LookupInvoiceRequest, + * !proto.services.LookupInvoiceResponse>} + */ +const methodInfo_PaymentService_LookupInvoice = new grpc.web.AbstractClientBase.MethodInfo( + proto.services.LookupInvoiceResponse, + /** + * @param {!proto.services.LookupInvoiceRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.services.LookupInvoiceResponse.deserializeBinary +); + + +/** + * @param {!proto.services.LookupInvoiceRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.Error, ?proto.services.LookupInvoiceResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.services.PaymentServiceClient.prototype.lookupInvoice = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/services.PaymentService/LookupInvoice', + request, + metadata || {}, + methodDescriptor_PaymentService_LookupInvoice, + callback); +}; + + +/** + * @param {!proto.services.LookupInvoiceRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.services.PaymentServicePromiseClient.prototype.lookupInvoice = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/services.PaymentService/LookupInvoice', + request, + metadata || {}, + methodDescriptor_PaymentService_LookupInvoice); +}; + + module.exports = proto.services; diff --git a/src/rpc/rpc_pb.js b/src/rpc/rpc_pb.js index 9ff3857..f705699 100644 --- a/src/rpc/rpc_pb.js +++ b/src/rpc/rpc_pb.js @@ -21,6 +21,8 @@ goog.exportSymbol('proto.services.Chain', null, global); goog.exportSymbol('proto.services.ConnectNodeRequest', null, global); goog.exportSymbol('proto.services.ConnectNodeResponse', null, global); goog.exportSymbol('proto.services.ContactInfo', null, global); +goog.exportSymbol('proto.services.CreateInvoiceRequest', null, global); +goog.exportSymbol('proto.services.CreateInvoiceResponse', null, global); goog.exportSymbol('proto.services.DiscussionInfo', null, global); goog.exportSymbol('proto.services.DiscussionOptions', null, global); goog.exportSymbol('proto.services.EstimateMessageRequest', null, global); @@ -34,14 +36,20 @@ goog.exportSymbol('proto.services.GetDiscussionStatisticsResponse', null, global goog.exportSymbol('proto.services.GetDiscussionsRequest', null, global); goog.exportSymbol('proto.services.GetDiscussionsResponse', null, global); goog.exportSymbol('proto.services.GetNodesRequest', null, global); +goog.exportSymbol('proto.services.HopHint', null, global); +goog.exportSymbol('proto.services.Invoice', null, global); +goog.exportSymbol('proto.services.InvoiceHTLC', null, global); +goog.exportSymbol('proto.services.InvoiceHTLCState', null, global); +goog.exportSymbol('proto.services.InvoiceState', null, global); goog.exportSymbol('proto.services.KeySetPageOptions', null, global); +goog.exportSymbol('proto.services.LookupInvoiceRequest', null, global); +goog.exportSymbol('proto.services.LookupInvoiceResponse', null, global); goog.exportSymbol('proto.services.Message', null, global); goog.exportSymbol('proto.services.MessageOptions', null, global); goog.exportSymbol('proto.services.NodeInfo', null, global); goog.exportSymbol('proto.services.NodeInfoResponse', null, global); goog.exportSymbol('proto.services.OpenChannelRequest', null, global); goog.exportSymbol('proto.services.OpenChannelResponse', null, global); -goog.exportSymbol('proto.services.PageOptions', null, global); goog.exportSymbol('proto.services.PaymentHop', null, global); goog.exportSymbol('proto.services.PaymentRoute', null, global); goog.exportSymbol('proto.services.RemoveContactByAddressRequest', null, global); @@ -49,6 +57,7 @@ goog.exportSymbol('proto.services.RemoveContactByIDRequest', null, global); goog.exportSymbol('proto.services.RemoveContactResponse', null, global); goog.exportSymbol('proto.services.RemoveDiscussionRequest', null, global); goog.exportSymbol('proto.services.RemoveDiscussionResponse', null, global); +goog.exportSymbol('proto.services.RouteHint', null, global); goog.exportSymbol('proto.services.SearchNodeByAddressRequest', null, global); goog.exportSymbol('proto.services.SearchNodeByAliasRequest', null, global); goog.exportSymbol('proto.services.SelfBalanceRequest', null, global); @@ -64,174 +73,6 @@ goog.exportSymbol('proto.services.UpdateDiscussionResponse', null, global); goog.exportSymbol('proto.services.Version', null, global); goog.exportSymbol('proto.services.VersionRequest', null, global); -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.services.PageOptions = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.services.PageOptions, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.services.PageOptions.displayName = 'proto.services.PageOptions'; -} - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto suitable for use in Soy templates. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration - * @return {!Object} - */ - proto.services.PageOptions.prototype.toObject = function(opt_includeInstance) { - return proto.services.PageOptions.toObject(opt_includeInstance, this); - }; - - - /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.services.PageOptions} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ - proto.services.PageOptions.toObject = function(includeInstance, msg) { - var f, obj = { - skipRecent: jspb.Message.getFieldWithDefault(msg, 1, 0), - pageSize: jspb.Message.getFieldWithDefault(msg, 2, 0) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; - }; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.services.PageOptions} - */ -proto.services.PageOptions.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.services.PageOptions; - return proto.services.PageOptions.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.services.PageOptions} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.services.PageOptions} - */ -proto.services.PageOptions.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setSkipRecent(value); - break; - case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setPageSize(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.services.PageOptions.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.services.PageOptions.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.services.PageOptions} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.services.PageOptions.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSkipRecent(); - if (f !== 0) { - writer.writeInt64( - 1, - f - ); - } - f = message.getPageSize(); - if (f !== 0) { - writer.writeInt64( - 2, - f - ); - } -}; - - -/** - * optional int64 skip_recent = 1; - * @return {number} - */ -proto.services.PageOptions.prototype.getSkipRecent = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** @param {number} value */ -proto.services.PageOptions.prototype.setSkipRecent = function(value) { - jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional int64 page_size = 2; - * @return {number} - */ -proto.services.PageOptions.prototype.getPageSize = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** @param {number} value */ -proto.services.PageOptions.prototype.setPageSize = function(value) { - jspb.Message.setProto3IntField(this, 2, value); -}; - - /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2741,7 +2582,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { amtMsat: jspb.Message.getFieldWithDefault(msg, 2, 0), pushAmtMsat: jspb.Message.getFieldWithDefault(msg, 3, 0), minInputConfs: jspb.Message.getFieldWithDefault(msg, 4, 0), - targetConfirmationBlock: jspb.Message.getFieldWithDefault(msg, 5, 0) + targetConfirmationBlock: jspb.Message.getFieldWithDefault(msg, 5, 0), + satPerVbyte: jspb.Message.getFieldWithDefault(msg, 6, 0) }; if (includeInstance) { @@ -2798,6 +2640,10 @@ proto.services.OpenChannelRequest.deserializeBinaryFromReader = function(msg, re var value = /** @type {number} */ (reader.readUint32()); msg.setTargetConfirmationBlock(value); break; + case 6: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSatPerVbyte(value); + break; default: reader.skipField(); break; @@ -2862,6 +2708,13 @@ proto.services.OpenChannelRequest.serializeBinaryToWriter = function(message, wr f ); } + f = message.getSatPerVbyte(); + if (f !== 0) { + writer.writeUint64( + 6, + f + ); + } }; @@ -2940,6 +2793,21 @@ proto.services.OpenChannelRequest.prototype.setTargetConfirmationBlock = functio }; +/** + * optional uint64 sat_per_vbyte = 6; + * @return {number} + */ +proto.services.OpenChannelRequest.prototype.getSatPerVbyte = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** @param {number} value */ +proto.services.OpenChannelRequest.prototype.setSatPerVbyte = function(value) { + jspb.Message.setProto3IntField(this, 6, value); +}; + + /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -8917,4 +8785,2028 @@ proto.services.RemoveDiscussionResponse.serializeBinaryToWriter = function(messa }; +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.CreateInvoiceRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.CreateInvoiceRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.CreateInvoiceRequest.displayName = 'proto.services.CreateInvoiceRequest'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.CreateInvoiceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.services.CreateInvoiceRequest.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.CreateInvoiceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.CreateInvoiceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + memo: jspb.Message.getFieldWithDefault(msg, 1, ""), + amtMsat: jspb.Message.getFieldWithDefault(msg, 2, 0), + expiry: jspb.Message.getFieldWithDefault(msg, 3, 0), + pb_private: jspb.Message.getFieldWithDefault(msg, 4, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.CreateInvoiceRequest} + */ +proto.services.CreateInvoiceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.CreateInvoiceRequest; + return proto.services.CreateInvoiceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.CreateInvoiceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.CreateInvoiceRequest} + */ +proto.services.CreateInvoiceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMemo(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setAmtMsat(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setExpiry(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setPrivate(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.CreateInvoiceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.CreateInvoiceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.CreateInvoiceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.CreateInvoiceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMemo(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getAmtMsat(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getExpiry(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } + f = message.getPrivate(); + if (f) { + writer.writeBool( + 4, + f + ); + } +}; + + +/** + * optional string memo = 1; + * @return {string} + */ +proto.services.CreateInvoiceRequest.prototype.getMemo = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** @param {string} value */ +proto.services.CreateInvoiceRequest.prototype.setMemo = function(value) { + jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional uint64 amt_msat = 2; + * @return {number} + */ +proto.services.CreateInvoiceRequest.prototype.getAmtMsat = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** @param {number} value */ +proto.services.CreateInvoiceRequest.prototype.setAmtMsat = function(value) { + jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional int64 expiry = 3; + * @return {number} + */ +proto.services.CreateInvoiceRequest.prototype.getExpiry = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** @param {number} value */ +proto.services.CreateInvoiceRequest.prototype.setExpiry = function(value) { + jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional bool private = 4; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.services.CreateInvoiceRequest.prototype.getPrivate = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false)); +}; + + +/** @param {boolean} value */ +proto.services.CreateInvoiceRequest.prototype.setPrivate = function(value) { + jspb.Message.setProto3BooleanField(this, 4, value); +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.CreateInvoiceResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.CreateInvoiceResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.CreateInvoiceResponse.displayName = 'proto.services.CreateInvoiceResponse'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.CreateInvoiceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.services.CreateInvoiceResponse.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.CreateInvoiceResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.CreateInvoiceResponse.toObject = function(includeInstance, msg) { + var f, obj = { + invoice: (f = msg.getInvoice()) && proto.services.Invoice.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.CreateInvoiceResponse} + */ +proto.services.CreateInvoiceResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.CreateInvoiceResponse; + return proto.services.CreateInvoiceResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.CreateInvoiceResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.CreateInvoiceResponse} + */ +proto.services.CreateInvoiceResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.services.Invoice; + reader.readMessage(value,proto.services.Invoice.deserializeBinaryFromReader); + msg.setInvoice(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.CreateInvoiceResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.CreateInvoiceResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.CreateInvoiceResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.CreateInvoiceResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInvoice(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.services.Invoice.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Invoice invoice = 1; + * @return {?proto.services.Invoice} + */ +proto.services.CreateInvoiceResponse.prototype.getInvoice = function() { + return /** @type{?proto.services.Invoice} */ ( + jspb.Message.getWrapperField(this, proto.services.Invoice, 1)); +}; + + +/** @param {?proto.services.Invoice|undefined} value */ +proto.services.CreateInvoiceResponse.prototype.setInvoice = function(value) { + jspb.Message.setWrapperField(this, 1, value); +}; + + +proto.services.CreateInvoiceResponse.prototype.clearInvoice = function() { + this.setInvoice(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.CreateInvoiceResponse.prototype.hasInvoice = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.LookupInvoiceRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.LookupInvoiceRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.LookupInvoiceRequest.displayName = 'proto.services.LookupInvoiceRequest'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.LookupInvoiceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.services.LookupInvoiceRequest.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.LookupInvoiceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.LookupInvoiceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + payReq: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.LookupInvoiceRequest} + */ +proto.services.LookupInvoiceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.LookupInvoiceRequest; + return proto.services.LookupInvoiceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.LookupInvoiceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.LookupInvoiceRequest} + */ +proto.services.LookupInvoiceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setPayReq(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.LookupInvoiceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.LookupInvoiceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.LookupInvoiceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.LookupInvoiceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPayReq(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string pay_req = 1; + * @return {string} + */ +proto.services.LookupInvoiceRequest.prototype.getPayReq = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** @param {string} value */ +proto.services.LookupInvoiceRequest.prototype.setPayReq = function(value) { + jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.LookupInvoiceResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.LookupInvoiceResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.LookupInvoiceResponse.displayName = 'proto.services.LookupInvoiceResponse'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.LookupInvoiceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.services.LookupInvoiceResponse.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.LookupInvoiceResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.LookupInvoiceResponse.toObject = function(includeInstance, msg) { + var f, obj = { + invoice: (f = msg.getInvoice()) && proto.services.Invoice.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.LookupInvoiceResponse} + */ +proto.services.LookupInvoiceResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.LookupInvoiceResponse; + return proto.services.LookupInvoiceResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.LookupInvoiceResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.LookupInvoiceResponse} + */ +proto.services.LookupInvoiceResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.services.Invoice; + reader.readMessage(value,proto.services.Invoice.deserializeBinaryFromReader); + msg.setInvoice(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.LookupInvoiceResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.LookupInvoiceResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.LookupInvoiceResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.LookupInvoiceResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInvoice(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.services.Invoice.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Invoice invoice = 1; + * @return {?proto.services.Invoice} + */ +proto.services.LookupInvoiceResponse.prototype.getInvoice = function() { + return /** @type{?proto.services.Invoice} */ ( + jspb.Message.getWrapperField(this, proto.services.Invoice, 1)); +}; + + +/** @param {?proto.services.Invoice|undefined} value */ +proto.services.LookupInvoiceResponse.prototype.setInvoice = function(value) { + jspb.Message.setWrapperField(this, 1, value); +}; + + +proto.services.LookupInvoiceResponse.prototype.clearInvoice = function() { + this.setInvoice(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.LookupInvoiceResponse.prototype.hasInvoice = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.Invoice = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.services.Invoice.repeatedFields_, null); +}; +goog.inherits(proto.services.Invoice, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.Invoice.displayName = 'proto.services.Invoice'; +} +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.services.Invoice.repeatedFields_ = [11,15]; + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.Invoice.prototype.toObject = function(opt_includeInstance) { + return proto.services.Invoice.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.Invoice} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.Invoice.toObject = function(includeInstance, msg) { + var f, obj = { + memo: jspb.Message.getFieldWithDefault(msg, 1, ""), + hash: jspb.Message.getFieldWithDefault(msg, 2, ""), + preimage: jspb.Message.getFieldWithDefault(msg, 3, ""), + paymentRequest: jspb.Message.getFieldWithDefault(msg, 4, ""), + valueMsat: jspb.Message.getFieldWithDefault(msg, 5, 0), + amtPaidMsat: jspb.Message.getFieldWithDefault(msg, 6, 0), + createdTimestamp: (f = msg.getCreatedTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), + settledTimestamp: (f = msg.getSettledTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), + expiry: jspb.Message.getFieldWithDefault(msg, 9, 0), + pb_private: jspb.Message.getFieldWithDefault(msg, 10, false), + routeHintsList: jspb.Message.toObjectList(msg.getRouteHintsList(), + proto.services.RouteHint.toObject, includeInstance), + state: jspb.Message.getFieldWithDefault(msg, 12, 0), + addIndex: jspb.Message.getFieldWithDefault(msg, 13, 0), + settleIndex: jspb.Message.getFieldWithDefault(msg, 14, 0), + invoiceHtlcsList: jspb.Message.toObjectList(msg.getInvoiceHtlcsList(), + proto.services.InvoiceHTLC.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.Invoice} + */ +proto.services.Invoice.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.Invoice; + return proto.services.Invoice.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.Invoice} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.Invoice} + */ +proto.services.Invoice.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMemo(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setHash(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setPreimage(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setPaymentRequest(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint64()); + msg.setValueMsat(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint64()); + msg.setAmtPaidMsat(value); + break; + case 7: + var value = new google_protobuf_timestamp_pb.Timestamp; + reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); + msg.setCreatedTimestamp(value); + break; + case 8: + var value = new google_protobuf_timestamp_pb.Timestamp; + reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); + msg.setSettledTimestamp(value); + break; + case 9: + var value = /** @type {number} */ (reader.readInt64()); + msg.setExpiry(value); + break; + case 10: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setPrivate(value); + break; + case 11: + var value = new proto.services.RouteHint; + reader.readMessage(value,proto.services.RouteHint.deserializeBinaryFromReader); + msg.addRouteHints(value); + break; + case 12: + var value = /** @type {!proto.services.InvoiceState} */ (reader.readEnum()); + msg.setState(value); + break; + case 13: + var value = /** @type {number} */ (reader.readUint64()); + msg.setAddIndex(value); + break; + case 14: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSettleIndex(value); + break; + case 15: + var value = new proto.services.InvoiceHTLC; + reader.readMessage(value,proto.services.InvoiceHTLC.deserializeBinaryFromReader); + msg.addInvoiceHtlcs(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.Invoice.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.Invoice.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.Invoice} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.Invoice.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMemo(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getHash(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getPreimage(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getPaymentRequest(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getValueMsat(); + if (f !== 0) { + writer.writeUint64( + 5, + f + ); + } + f = message.getAmtPaidMsat(); + if (f !== 0) { + writer.writeUint64( + 6, + f + ); + } + f = message.getCreatedTimestamp(); + if (f != null) { + writer.writeMessage( + 7, + f, + google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + ); + } + f = message.getSettledTimestamp(); + if (f != null) { + writer.writeMessage( + 8, + f, + google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + ); + } + f = message.getExpiry(); + if (f !== 0) { + writer.writeInt64( + 9, + f + ); + } + f = message.getPrivate(); + if (f) { + writer.writeBool( + 10, + f + ); + } + f = message.getRouteHintsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 11, + f, + proto.services.RouteHint.serializeBinaryToWriter + ); + } + f = message.getState(); + if (f !== 0.0) { + writer.writeEnum( + 12, + f + ); + } + f = message.getAddIndex(); + if (f !== 0) { + writer.writeUint64( + 13, + f + ); + } + f = message.getSettleIndex(); + if (f !== 0) { + writer.writeUint64( + 14, + f + ); + } + f = message.getInvoiceHtlcsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 15, + f, + proto.services.InvoiceHTLC.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string memo = 1; + * @return {string} + */ +proto.services.Invoice.prototype.getMemo = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** @param {string} value */ +proto.services.Invoice.prototype.setMemo = function(value) { + jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string hash = 2; + * @return {string} + */ +proto.services.Invoice.prototype.getHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** @param {string} value */ +proto.services.Invoice.prototype.setHash = function(value) { + jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string preimage = 3; + * @return {string} + */ +proto.services.Invoice.prototype.getPreimage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** @param {string} value */ +proto.services.Invoice.prototype.setPreimage = function(value) { + jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional string payment_request = 4; + * @return {string} + */ +proto.services.Invoice.prototype.getPaymentRequest = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** @param {string} value */ +proto.services.Invoice.prototype.setPaymentRequest = function(value) { + jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional uint64 value_msat = 5; + * @return {number} + */ +proto.services.Invoice.prototype.getValueMsat = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** @param {number} value */ +proto.services.Invoice.prototype.setValueMsat = function(value) { + jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional uint64 amt_paid_msat = 6; + * @return {number} + */ +proto.services.Invoice.prototype.getAmtPaidMsat = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** @param {number} value */ +proto.services.Invoice.prototype.setAmtPaidMsat = function(value) { + jspb.Message.setProto3IntField(this, 6, value); +}; + + +/** + * optional google.protobuf.Timestamp created_timestamp = 7; + * @return {?proto.google.protobuf.Timestamp} + */ +proto.services.Invoice.prototype.getCreatedTimestamp = function() { + return /** @type{?proto.google.protobuf.Timestamp} */ ( + jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 7)); +}; + + +/** @param {?proto.google.protobuf.Timestamp|undefined} value */ +proto.services.Invoice.prototype.setCreatedTimestamp = function(value) { + jspb.Message.setWrapperField(this, 7, value); +}; + + +proto.services.Invoice.prototype.clearCreatedTimestamp = function() { + this.setCreatedTimestamp(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.Invoice.prototype.hasCreatedTimestamp = function() { + return jspb.Message.getField(this, 7) != null; +}; + + +/** + * optional google.protobuf.Timestamp settled_timestamp = 8; + * @return {?proto.google.protobuf.Timestamp} + */ +proto.services.Invoice.prototype.getSettledTimestamp = function() { + return /** @type{?proto.google.protobuf.Timestamp} */ ( + jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 8)); +}; + + +/** @param {?proto.google.protobuf.Timestamp|undefined} value */ +proto.services.Invoice.prototype.setSettledTimestamp = function(value) { + jspb.Message.setWrapperField(this, 8, value); +}; + + +proto.services.Invoice.prototype.clearSettledTimestamp = function() { + this.setSettledTimestamp(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.Invoice.prototype.hasSettledTimestamp = function() { + return jspb.Message.getField(this, 8) != null; +}; + + +/** + * optional int64 expiry = 9; + * @return {number} + */ +proto.services.Invoice.prototype.getExpiry = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); +}; + + +/** @param {number} value */ +proto.services.Invoice.prototype.setExpiry = function(value) { + jspb.Message.setProto3IntField(this, 9, value); +}; + + +/** + * optional bool private = 10; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.services.Invoice.prototype.getPrivate = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 10, false)); +}; + + +/** @param {boolean} value */ +proto.services.Invoice.prototype.setPrivate = function(value) { + jspb.Message.setProto3BooleanField(this, 10, value); +}; + + +/** + * repeated RouteHint route_hints = 11; + * @return {!Array} + */ +proto.services.Invoice.prototype.getRouteHintsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.services.RouteHint, 11)); +}; + + +/** @param {!Array} value */ +proto.services.Invoice.prototype.setRouteHintsList = function(value) { + jspb.Message.setRepeatedWrapperField(this, 11, value); +}; + + +/** + * @param {!proto.services.RouteHint=} opt_value + * @param {number=} opt_index + * @return {!proto.services.RouteHint} + */ +proto.services.Invoice.prototype.addRouteHints = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.services.RouteHint, opt_index); +}; + + +proto.services.Invoice.prototype.clearRouteHintsList = function() { + this.setRouteHintsList([]); +}; + + +/** + * optional InvoiceState state = 12; + * @return {!proto.services.InvoiceState} + */ +proto.services.Invoice.prototype.getState = function() { + return /** @type {!proto.services.InvoiceState} */ (jspb.Message.getFieldWithDefault(this, 12, 0)); +}; + + +/** @param {!proto.services.InvoiceState} value */ +proto.services.Invoice.prototype.setState = function(value) { + jspb.Message.setProto3EnumField(this, 12, value); +}; + + +/** + * optional uint64 add_index = 13; + * @return {number} + */ +proto.services.Invoice.prototype.getAddIndex = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0)); +}; + + +/** @param {number} value */ +proto.services.Invoice.prototype.setAddIndex = function(value) { + jspb.Message.setProto3IntField(this, 13, value); +}; + + +/** + * optional uint64 settle_index = 14; + * @return {number} + */ +proto.services.Invoice.prototype.getSettleIndex = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0)); +}; + + +/** @param {number} value */ +proto.services.Invoice.prototype.setSettleIndex = function(value) { + jspb.Message.setProto3IntField(this, 14, value); +}; + + +/** + * repeated InvoiceHTLC invoice_htlcs = 15; + * @return {!Array} + */ +proto.services.Invoice.prototype.getInvoiceHtlcsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.services.InvoiceHTLC, 15)); +}; + + +/** @param {!Array} value */ +proto.services.Invoice.prototype.setInvoiceHtlcsList = function(value) { + jspb.Message.setRepeatedWrapperField(this, 15, value); +}; + + +/** + * @param {!proto.services.InvoiceHTLC=} opt_value + * @param {number=} opt_index + * @return {!proto.services.InvoiceHTLC} + */ +proto.services.Invoice.prototype.addInvoiceHtlcs = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.services.InvoiceHTLC, opt_index); +}; + + +proto.services.Invoice.prototype.clearInvoiceHtlcsList = function() { + this.setInvoiceHtlcsList([]); +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.RouteHint = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.services.RouteHint.repeatedFields_, null); +}; +goog.inherits(proto.services.RouteHint, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.RouteHint.displayName = 'proto.services.RouteHint'; +} +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.services.RouteHint.repeatedFields_ = [1]; + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.RouteHint.prototype.toObject = function(opt_includeInstance) { + return proto.services.RouteHint.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.RouteHint} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.RouteHint.toObject = function(includeInstance, msg) { + var f, obj = { + hopHintsList: jspb.Message.toObjectList(msg.getHopHintsList(), + proto.services.HopHint.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.RouteHint} + */ +proto.services.RouteHint.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.RouteHint; + return proto.services.RouteHint.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.RouteHint} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.RouteHint} + */ +proto.services.RouteHint.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.services.HopHint; + reader.readMessage(value,proto.services.HopHint.deserializeBinaryFromReader); + msg.addHopHints(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.RouteHint.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.RouteHint.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.RouteHint} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.RouteHint.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getHopHintsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.services.HopHint.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated HopHint hop_hints = 1; + * @return {!Array} + */ +proto.services.RouteHint.prototype.getHopHintsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.services.HopHint, 1)); +}; + + +/** @param {!Array} value */ +proto.services.RouteHint.prototype.setHopHintsList = function(value) { + jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.services.HopHint=} opt_value + * @param {number=} opt_index + * @return {!proto.services.HopHint} + */ +proto.services.RouteHint.prototype.addHopHints = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.services.HopHint, opt_index); +}; + + +proto.services.RouteHint.prototype.clearHopHintsList = function() { + this.setHopHintsList([]); +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.HopHint = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.HopHint, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.HopHint.displayName = 'proto.services.HopHint'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.HopHint.prototype.toObject = function(opt_includeInstance) { + return proto.services.HopHint.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.HopHint} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.HopHint.toObject = function(includeInstance, msg) { + var f, obj = { + pubkey: jspb.Message.getFieldWithDefault(msg, 1, ""), + chanId: jspb.Message.getFieldWithDefault(msg, 2, 0), + feeBaseMsat: jspb.Message.getFieldWithDefault(msg, 3, 0), + feeRate: jspb.Message.getFieldWithDefault(msg, 4, 0), + cltvExpiryDelta: jspb.Message.getFieldWithDefault(msg, 5, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.HopHint} + */ +proto.services.HopHint.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.HopHint; + return proto.services.HopHint.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.HopHint} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.HopHint} + */ +proto.services.HopHint.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setPubkey(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setChanId(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFeeBaseMsat(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFeeRate(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCltvExpiryDelta(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.HopHint.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.HopHint.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.HopHint} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.HopHint.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPubkey(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getChanId(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getFeeBaseMsat(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getFeeRate(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getCltvExpiryDelta(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } +}; + + +/** + * optional string pubkey = 1; + * @return {string} + */ +proto.services.HopHint.prototype.getPubkey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** @param {string} value */ +proto.services.HopHint.prototype.setPubkey = function(value) { + jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional uint64 chan_id = 2; + * @return {number} + */ +proto.services.HopHint.prototype.getChanId = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** @param {number} value */ +proto.services.HopHint.prototype.setChanId = function(value) { + jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional uint32 fee_base_msat = 3; + * @return {number} + */ +proto.services.HopHint.prototype.getFeeBaseMsat = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** @param {number} value */ +proto.services.HopHint.prototype.setFeeBaseMsat = function(value) { + jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint32 fee_rate = 4; + * @return {number} + */ +proto.services.HopHint.prototype.getFeeRate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** @param {number} value */ +proto.services.HopHint.prototype.setFeeRate = function(value) { + jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional uint32 cltv_expiry_delta = 5; + * @return {number} + */ +proto.services.HopHint.prototype.getCltvExpiryDelta = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** @param {number} value */ +proto.services.HopHint.prototype.setCltvExpiryDelta = function(value) { + jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.services.InvoiceHTLC = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.services.InvoiceHTLC, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.services.InvoiceHTLC.displayName = 'proto.services.InvoiceHTLC'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ + proto.services.InvoiceHTLC.prototype.toObject = function(opt_includeInstance) { + return proto.services.InvoiceHTLC.toObject(opt_includeInstance, this); + }; + + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.services.InvoiceHTLC} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.services.InvoiceHTLC.toObject = function(includeInstance, msg) { + var f, obj = { + chanId: jspb.Message.getFieldWithDefault(msg, 1, 0), + amtMsat: jspb.Message.getFieldWithDefault(msg, 2, 0), + state: jspb.Message.getFieldWithDefault(msg, 3, 0), + acceptTimestamp: (f = msg.getAcceptTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), + resolveTimestamp: (f = msg.getResolveTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), + expiryHeight: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.services.InvoiceHTLC} + */ +proto.services.InvoiceHTLC.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.services.InvoiceHTLC; + return proto.services.InvoiceHTLC.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.services.InvoiceHTLC} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.services.InvoiceHTLC} + */ +proto.services.InvoiceHTLC.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setChanId(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setAmtMsat(value); + break; + case 3: + var value = /** @type {!proto.services.InvoiceHTLCState} */ (reader.readEnum()); + msg.setState(value); + break; + case 4: + var value = new google_protobuf_timestamp_pb.Timestamp; + reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); + msg.setAcceptTimestamp(value); + break; + case 5: + var value = new google_protobuf_timestamp_pb.Timestamp; + reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); + msg.setResolveTimestamp(value); + break; + case 6: + var value = /** @type {number} */ (reader.readInt32()); + msg.setExpiryHeight(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.services.InvoiceHTLC.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.services.InvoiceHTLC.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.services.InvoiceHTLC} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.services.InvoiceHTLC.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getChanId(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getAmtMsat(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getState(); + if (f !== 0.0) { + writer.writeEnum( + 3, + f + ); + } + f = message.getAcceptTimestamp(); + if (f != null) { + writer.writeMessage( + 4, + f, + google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + ); + } + f = message.getResolveTimestamp(); + if (f != null) { + writer.writeMessage( + 5, + f, + google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + ); + } + f = message.getExpiryHeight(); + if (f !== 0) { + writer.writeInt32( + 6, + f + ); + } +}; + + +/** + * optional uint64 chan_id = 1; + * @return {number} + */ +proto.services.InvoiceHTLC.prototype.getChanId = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** @param {number} value */ +proto.services.InvoiceHTLC.prototype.setChanId = function(value) { + jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 amt_msat = 2; + * @return {number} + */ +proto.services.InvoiceHTLC.prototype.getAmtMsat = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** @param {number} value */ +proto.services.InvoiceHTLC.prototype.setAmtMsat = function(value) { + jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional InvoiceHTLCState state = 3; + * @return {!proto.services.InvoiceHTLCState} + */ +proto.services.InvoiceHTLC.prototype.getState = function() { + return /** @type {!proto.services.InvoiceHTLCState} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** @param {!proto.services.InvoiceHTLCState} value */ +proto.services.InvoiceHTLC.prototype.setState = function(value) { + jspb.Message.setProto3EnumField(this, 3, value); +}; + + +/** + * optional google.protobuf.Timestamp accept_timestamp = 4; + * @return {?proto.google.protobuf.Timestamp} + */ +proto.services.InvoiceHTLC.prototype.getAcceptTimestamp = function() { + return /** @type{?proto.google.protobuf.Timestamp} */ ( + jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4)); +}; + + +/** @param {?proto.google.protobuf.Timestamp|undefined} value */ +proto.services.InvoiceHTLC.prototype.setAcceptTimestamp = function(value) { + jspb.Message.setWrapperField(this, 4, value); +}; + + +proto.services.InvoiceHTLC.prototype.clearAcceptTimestamp = function() { + this.setAcceptTimestamp(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.InvoiceHTLC.prototype.hasAcceptTimestamp = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional google.protobuf.Timestamp resolve_timestamp = 5; + * @return {?proto.google.protobuf.Timestamp} + */ +proto.services.InvoiceHTLC.prototype.getResolveTimestamp = function() { + return /** @type{?proto.google.protobuf.Timestamp} */ ( + jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5)); +}; + + +/** @param {?proto.google.protobuf.Timestamp|undefined} value */ +proto.services.InvoiceHTLC.prototype.setResolveTimestamp = function(value) { + jspb.Message.setWrapperField(this, 5, value); +}; + + +proto.services.InvoiceHTLC.prototype.clearResolveTimestamp = function() { + this.setResolveTimestamp(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.services.InvoiceHTLC.prototype.hasResolveTimestamp = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional int32 expiry_height = 6; + * @return {number} + */ +proto.services.InvoiceHTLC.prototype.getExpiryHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** @param {number} value */ +proto.services.InvoiceHTLC.prototype.setExpiryHeight = function(value) { + jspb.Message.setProto3IntField(this, 6, value); +}; + + +/** + * @enum {number} + */ +proto.services.InvoiceState = { + INVOICE_OPEN: 0, + INVOICE_ACCEPTED: 1, + INVOICE_SETTLED: 2, + INVOICE_CANCELLED: 3 +}; + +/** + * @enum {number} + */ +proto.services.InvoiceHTLCState = { + INVOICE_HTLC_ACCEPTED: 0, + INVOICE_HTLC_SETTLED: 1, + INVOICE_HTLC_CANCELLED: 2 +}; + goog.object.extend(exports, proto.services); diff --git a/src/services/paymentServices.js b/src/services/paymentServices.js new file mode 100644 index 0000000..daa34f2 --- /dev/null +++ b/src/services/paymentServices.js @@ -0,0 +1,40 @@ +import apiUrl from "../config/api-url"; +import authCreds from "../config/auth-creds"; + +const { + CreateInvoiceRequest, + CreateInvoiceResponse, + LookupInvoiceRequest, + LookupInvoiceResponse +} = require("../rpc/rpc_pb"); + +const { PaymentServiceClient } = require("../rpc/rpc_grpc_web_pb.js"); + +const rpcClient = new PaymentServiceClient(apiUrl(), {}); + +const client = new Object(); + +client.createInvoice = (req, callback) => { + const request = new CreateInvoiceRequest(); + request.setMemo(req.description); + request.setAmtMsat(req.amtMsat); + request.setExpiry(req.expiry); + request.setPrivate(req.private); + return rpcClient.createInvoice(request, { ...authCreds() }, (err, res) => + callback(err, res ? CreateInvoiceResponse.toObject(true, res) : undefined) + ); +}; + +client.lookupInvoice = (req, callback) => { + const request = new LookupInvoiceRequest(); + request.setPayReq(req.payReq); + return rpcClient.lookupInvoice(request, { ...authCreds() }, (err, res) => + callback(err, res ? LookupInvoiceResponse.toObject(true, res) : undefined) + ); +}; + +const paymentClient = () => { + return client; +}; + +export default paymentClient; diff --git a/src/utils/lsat/download-image.js b/src/utils/lsat/download-image.js deleted file mode 100644 index 7ec63ae..0000000 --- a/src/utils/lsat/download-image.js +++ /dev/null @@ -1,84 +0,0 @@ -import messageClient from "../../services/messageServices"; -import { appendToChatHistory } from '../../utils/discussion-utils'; - -const axios = require('axios').default; - -let cachedImages = {}; - -let preimage = ""; -let lsat = {}; - -const headerToLsat = (header) => { - const macaroonStr = header.split(' ')[1]; - const invoiceStr = header.split(' ')[2]; - const macaroon = macaroonStr.slice(10, -2); - const invoice = invoiceStr.slice(9, -1); - return { - invoice: invoice, - macaroon: macaroon - }; -}; - -const downloadImage = async (props, fullUrl) => { - if(cachedImages[fullUrl]) { - return cachedImages[fullUrl]; - } - console.log('Downloading file from LSAT server'); - await axios.get( - fullUrl, - { - timeout: 4000 - } - ).then((res) => { - }).catch((err) => { - let header = (err?.response?.headers['www-authenticate']); - console.log(header); - if (header) { - lsat = headerToLsat(header); - } - }); - if (lsat.invoice) { - messageClient().sendMessage( - { - payReq: lsat.invoice, - payload: "", - options: { - anonymous: true - } - }, - async (err, res) => { - if (res) { - console.log(res); - appendToChatHistory(props, res.sentMessage); - props.selectedDiscussion.lastMsgId = res.sentMessage.id; - props.selectedDiscussion.lastReadMsgId = res.sentMessage.id; - props.updateCurrentFunds(); - props.setLastFundChange(`-${Number(res.sentMessage.amtMsat / 1000 + res.sentMessage.totalFeesMsat / 1000)}`); - preimage = res.sentMessage.preimage; - axios.get( - fullUrl, - { - responseType: 'arraybuffer', - headers: { - 'Authorization': `LSAT ${lsat.macaroon}:${preimage}`, - }, - } - ).then((res) => { - const image64 = Buffer.from(res.data, 'binary').toString('base64'); - cachedImages[fullUrl] = "data:image/png;base64, " + image64; - }).catch((err) => { - console.log(err); - }); - } - if (err) { - console.log(err); - } - }); - } - -}; - -export { - downloadImage, - cachedImages, -}; diff --git a/src/utils/lsat/upload-image.js b/src/utils/lsat/upload-image.js deleted file mode 100644 index 0b26f4d..0000000 --- a/src/utils/lsat/upload-image.js +++ /dev/null @@ -1,95 +0,0 @@ -import { messageToPayload } from "../../payload-protocol/parsers"; -import { createAttachment } from "../../payload-protocol/utils"; - -import messageClient from "../../services/messageServices"; - -import { appendToChatHistory } from '../../utils/discussion-utils'; - -const axios = require('axios').default; - -let lsatUrl = 'https://kenovios.space:3001'; -let preimage = ""; -let lsat = {}; - -const headerToLsat = (header) => { - const macaroonStr = header.split(' ')[1]; - const invoiceStr = header.split(' ')[2]; - const macaroon = macaroonStr.slice(10, -2); - const invoice = invoiceStr.slice(9, -1); - return { - invoice: invoice, - macaroon: macaroon - }; -}; - -const uploadImage = async (props) => { - console.log('Uploading file to LSAT server'); - await axios.post( - lsatUrl + '/upload', - ).then((res) => { - }).catch((err) => { - let header = (err?.response?.headers['www-authenticate']); - console.log(header); - if (header) { - lsat = headerToLsat(header); - } - }); - if (lsat?.invoice) { - messageClient().sendMessage( - { - payReq: lsat.invoice, - payload: "", - options: { - anonymous: true - } - }, - async (err, res) => { - if (res) { - console.log(res); - preimage = res.sentMessage.preimage; - const fileElem = document.getElementById('fileInput'); - const file = fileElem.files[0]; - let formData = new FormData(); - formData.append('file', file); - - axios.post( - lsatUrl + '/upload', - formData, - { - headers: { - 'Authorization': `LSAT ${lsat.macaroon}:${preimage}`, - }, - } - ).then((res) => { - console.log(res); - let filename = res?.data?.filename; - let fullUrl = `${lsatUrl}/download?name=${filename}`; - messageClient().sendMessage( - { - payload: messageToPayload("", [createAttachment("image", fullUrl, "lsat", true)]), - amtMsat: 1000, - }, (err, res) => { - if (err) { - console.log(err); - } - if (res) { - props.selectedDiscussion.lastMsgId = res.sentMessage.id; - props.selectedDiscussion.lastReadMsgId = res.sentMessage.id; - appendToChatHistory(props, res.sentMessage); - props.updateCurrentFunds(); - props.setLastFundChange(`-${Number(res.sentMessage.amtMsat / 1000 + res.sentMessage.totalFeesMsat / 1000)}`); - } - }); - }).catch((err) => { - console.log(err.response); - }); - } - if (err) { - console.log(err); - } - }); - } - -}; - -export default uploadImage; diff --git a/src/utils/payreq/payreq-tracker.js b/src/utils/payreq/payreq-tracker.js index d93a951..06a9587 100644 --- a/src/utils/payreq/payreq-tracker.js +++ b/src/utils/payreq/payreq-tracker.js @@ -1,25 +1,41 @@ -let payreqs = {}; +import paymentClient from "../../services/paymentServices"; -const issuePayreq = (id) => { - if(!(id in payreqs)) { - payreqs[id] = false; - } +let paidPayreqs = {}; +let myPaidPayreqs = {}; + +const registerPaidPayreq = (payreq) => { + paidPayreqs[payreq] = true; }; -const satisfyPayreq = (id) => { - payreqs[id] = true; +const checkPayreq = (payreq) => { + return paidPayreqs[payreq] == true; }; -const checkPayreq = (id) => { - if(id in payreqs) { - return payreqs[id]; +const checkMyPayreq = (payreq) => { + if(myPaidPayreqs[payreq] == true) { + return true; } else { + paymentClient().lookupInvoice( + { + payReq: payreq + }, + (err, res) => { + if(err) { + console.log(err); + } + if(res) { + if(res?.invoice?.state == 2) { + myPaidPayreqs[payreq] = true; + } + } + } + ); return false; } }; export { - issuePayreq, - satisfyPayreq, - checkPayreq + registerPaidPayreq, + checkPayreq, + checkMyPayreq }; \ No newline at end of file diff --git a/src/utils/payreq/utils.js b/src/utils/payreq/utils.js deleted file mode 100644 index 9d0f34e..0000000 --- a/src/utils/payreq/utils.js +++ /dev/null @@ -1,35 +0,0 @@ -import { payreqPayToPayload } from "../../payload-protocol/parsers"; -import messageClient from "../../services/messageServices"; -import { appendToChatHistory } from "../discussion-utils"; - -const sendPayreqPay = (props, payreqObj) => { - console.log('Paying ', payreqObj); - messageClient().sendMessage( - { - discussionId: props.selectedDiscussion.id, - payload: payreqPayToPayload(payreqObj.id), - amtMsat: parseInt(payreqObj.amtMsat) - }, (err, res) => { - if (err) { - console.log(err); - } - if (res) { - console.log(res.sentMessage); - props.selectedDiscussion.lastMsgId = res.sentMessage.id; - props.selectedDiscussion.lastReadMsgId = res.sentMessage.id; - appendToChatHistory(props, res.sentMessage); - props.updateCurrentFunds(); - props.setLastFundChange( - `-${Number( - res.sentMessage.amtMsat / 1000 + - res.sentMessage.totalFeesMsat / 1000 - )}` - ); - } - } - ); -}; - -export { - sendPayreqPay -}; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ed69a24..2126d37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1713,14 +1713,6 @@ dependencies: "@types/node" "*" -"@types/bytebuffer@^5.0.40": - "integrity" "sha512-lEgKojWUAc/MG2t649oZS5AfYFP2xRNPoDuwDBlBMjHXd8MaGPgFgtCXUK7inZdBOygmVf10qxc1Us8GXC96aw==" - "resolved" "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.42.tgz" - "version" "5.0.42" - dependencies: - "@types/long" "*" - "@types/node" "*" - "@types/eslint@^7.2.6": "integrity" "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==" "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz" @@ -1788,11 +1780,6 @@ "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" "version" "0.0.29" -"@types/long@*": - "integrity" "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz" - "version" "4.0.1" - "@types/minimatch@*": "integrity" "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" @@ -2167,11 +2154,6 @@ "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" "version" "2.0.5" -"abbrev@1": - "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - "version" "1.1.1" - "accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.7": "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" @@ -2394,19 +2376,11 @@ "normalize-path" "^3.0.0" "picomatch" "^2.0.4" -"aproba@^1.0.3", "aproba@^1.1.1": +"aproba@^1.1.1": "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" "version" "1.2.0" -"are-we-there-yet@~1.1.2": - "integrity" "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^2.0.6" - "argparse@^1.0.7": "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -2519,14 +2493,6 @@ "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" "version" "2.0.6" -"ascli@~1": - "integrity" "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=" - "resolved" "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "colour" "~0.7.1" - "optjs" "~3.2.2" - "asn1.js@^5.2.0": "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" @@ -2853,9 +2819,9 @@ "version" "1.0.0" "base-x@^3.0.2": - "integrity" "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==" - "resolved" "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz" - "version" "3.0.8" + "integrity" "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==" + "resolved" "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" + "version" "3.0.9" dependencies: "safe-buffer" "^5.0.1" @@ -2894,6 +2860,11 @@ "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" "version" "1.1.4" +"bech32@^2.0.0": + "integrity" "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" + "resolved" "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz" + "version" "2.0.0" + "bfj@^7.0.2": "integrity" "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==" "resolved" "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" @@ -2909,11 +2880,6 @@ "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" "version" "5.2.2" -"bigi@^1.1.0", "bigi@^1.4.0": - "integrity" "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" - "resolved" "https://registry.npmjs.org/bigi/-/bigi-1.4.2.tgz" - "version" "1.4.2" - "binary-extensions@^1.0.0": "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" @@ -2924,44 +2890,22 @@ "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" "version" "2.2.0" -"bindings@^1.5.0": - "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" - "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "file-uri-to-path" "1.0.0" - -"bip66@^1.1.0", "bip66@^1.1.5": - "integrity" "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=" - "resolved" "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "safe-buffer" "^5.0.1" - -"bitcoin-ops@^1.3.0": - "integrity" "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==" - "resolved" "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz" - "version" "1.4.1" +"bip174@^2.0.1": + "integrity" "sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ==" + "resolved" "https://registry.npmjs.org/bip174/-/bip174-2.0.1.tgz" + "version" "2.0.1" -"bitcoinjs-lib@^3.3.1": - "integrity" "sha512-l5qqvbaK8wwtANPf6oEffykycg4383XgEYdia1rI7/JpGf1jfRWlOUCvx5TiTZS7kyIvY4j/UhIQ2urLsvGkzw==" - "resolved" "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-3.3.2.tgz" - "version" "3.3.2" +"bitcoinjs-lib@^6.0.0": + "integrity" "sha512-x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==" + "resolved" "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.1.tgz" + "version" "6.0.1" dependencies: - "bech32" "^1.1.2" - "bigi" "^1.4.0" - "bip66" "^1.1.0" - "bitcoin-ops" "^1.3.0" - "bs58check" "^2.0.0" + "bech32" "^2.0.0" + "bip174" "^2.0.1" + "bs58check" "^2.1.2" "create-hash" "^1.1.0" - "create-hmac" "^1.1.3" - "ecurve" "^1.0.0" - "merkle-lib" "^2.0.10" - "pushdata-bitcoin" "^1.0.1" - "randombytes" "^2.0.1" - "safe-buffer" "^5.0.1" "typeforce" "^1.11.3" - "varuint-bitcoin" "^1.0.4" + "varuint-bitcoin" "^1.1.2" "wif" "^2.0.1" "bluebird@^3.5.5": @@ -3010,19 +2954,19 @@ "raw-body" "2.4.0" "type-is" "~1.6.17" -"bolt11@^1.2.7": - "integrity" "sha512-WW86n1QdusD6t3j64B+GZLztj4skwoH/LBiiIrt7zpQvtaGJsRMavv22tDwoDBF/Yb143omPIq+R6sJaRRUP9w==" - "resolved" "https://registry.npmjs.org/bolt11/-/bolt11-1.3.2.tgz" - "version" "1.3.2" +"bolt11@^1.2.7", "bolt11@^1.3.4": + "integrity" "sha512-x4lHDv0oid13lGlZU7cl/5gx9nRwjB2vgK/uB3c50802Wh+9WjWQMwzD2PCETHylUijx2iBAqUQYbx3ZgwF06Q==" + "resolved" "https://registry.npmjs.org/bolt11/-/bolt11-1.3.4.tgz" + "version" "1.3.4" dependencies: "@types/bn.js" "^4.11.3" "bech32" "^1.1.2" - "bitcoinjs-lib" "^3.3.1" + "bitcoinjs-lib" "^6.0.0" "bn.js" "^4.11.8" "create-hash" "^1.2.0" "lodash" "^4.17.11" "safe-buffer" "^5.1.1" - "secp256k1" "^3.4.0" + "secp256k1" "^4.0.2" "bonjour@^3.5.0": "integrity" "sha1-jokKGD2O6aI5OzhExpGkK897yfU=" @@ -3082,7 +3026,7 @@ "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" "version" "1.0.0" -"browserify-aes@^1.0.0", "browserify-aes@^1.0.4", "browserify-aes@^1.0.6": +"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" "version" "1.2.0" @@ -3171,7 +3115,7 @@ dependencies: "base-x" "^3.0.2" -"bs58check@^2.0.0", "bs58check@<3.0.0": +"bs58check@^2.1.2", "bs58check@<3.0.0": "integrity" "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==" "resolved" "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz" "version" "2.1.2" @@ -3231,13 +3175,6 @@ "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" "version" "3.0.0" -"bytebuffer@~5": - "integrity" "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=" - "resolved" "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "long" "~3" - "bytes@3.0.0": "integrity" "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" @@ -3347,11 +3284,6 @@ "pascal-case" "^3.1.2" "tslib" "^2.0.3" -"camelcase@^2.0.1": - "integrity" "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" - "version" "2.1.1" - "camelcase@^5.0.0": "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" @@ -3574,15 +3506,6 @@ "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" "version" "3.0.0" -"cliui@^3.0.3": - "integrity" "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wrap-ansi" "^2.0.0" - "cliui@^5.0.0": "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" @@ -3615,11 +3538,6 @@ "chalk" "^2.4.1" "q" "^1.1.2" -"code-point-at@^1.0.0": - "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - "version" "1.1.0" - "collapse-white-space@^1.0.2": "integrity" "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" "resolved" "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" @@ -3683,11 +3601,6 @@ "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" "version" "1.2.2" -"colour@~0.7.1": - "integrity" "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" - "resolved" "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz" - "version" "0.7.1" - "combined-stream@^1.0.6", "combined-stream@~1.0.6": "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" @@ -3787,11 +3700,6 @@ "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" "version" "1.2.0" -"console-control-strings@^1.0.0", "console-control-strings@~1.1.0": - "integrity" "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - "version" "1.1.0" - "constants-browserify@^1.0.0": "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" @@ -3939,7 +3847,7 @@ "ripemd160" "^2.0.1" "sha.js" "^2.4.0" -"create-hmac@^1.1.0", "create-hmac@^1.1.3", "create-hmac@^1.1.4", "create-hmac@^1.1.7": +"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" "version" "1.1.7" @@ -4322,7 +4230,7 @@ dependencies: "ms" "2.0.0" -"decamelize@^1.1.1", "decamelize@^1.2.0": +"decamelize@^1.2.0": "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" "version" "1.2.0" @@ -4354,11 +4262,6 @@ "object-keys" "^1.1.1" "regexp.prototype.flags" "^1.2.0" -"deep-extend@^0.6.0": - "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - "version" "0.6.0" - "deep-is@^0.1.3", "deep-is@~0.1.3": "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" @@ -4436,11 +4339,6 @@ "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" "version" "1.0.0" -"delegates@^1.0.0": - "integrity" "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - "resolved" "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - "version" "1.0.0" - "depd@~1.1.2": "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" @@ -4459,11 +4357,6 @@ "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" "version" "1.0.4" -"detect-libc@^1.0.2": - "integrity" "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - "resolved" "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - "version" "1.0.3" - "detect-newline@^3.0.0": "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" @@ -4682,15 +4575,6 @@ "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz" "version" "8.2.0" -"drbg.js@^1.0.1": - "integrity" "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=" - "resolved" "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "browserify-aes" "^1.0.6" - "create-hash" "^1.1.2" - "create-hmac" "^1.1.4" - "duplexer@^0.1.1": "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" @@ -4714,14 +4598,6 @@ "jsbn" "~0.1.0" "safer-buffer" "^2.1.0" -"ecurve@^1.0.0": - "integrity" "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==" - "resolved" "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "bigi" "^1.1.0" - "safe-buffer" "^5.0.1" - "ee-first@1.1.1": "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" @@ -4737,7 +4613,7 @@ "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.705.tgz" "version" "1.3.705" -"elliptic@^6.5.2", "elliptic@^6.5.3": +"elliptic@^6.5.3", "elliptic@^6.5.4": "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" "version" "6.5.4" @@ -5853,13 +5729,6 @@ "jsonfile" "^6.0.1" "universalify" "^2.0.0" -"fs-minipass@^1.2.5": - "integrity" "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" - "version" "1.2.7" - dependencies: - "minipass" "^2.6.0" - "fs-minipass@^2.0.0": "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" @@ -5897,20 +5766,6 @@ "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" "version" "1.0.1" -"gauge@~2.7.3": - "integrity" "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" - "version" "2.7.4" - dependencies: - "aproba" "^1.0.3" - "console-control-strings" "^1.0.0" - "has-unicode" "^2.0.0" - "object-assign" "^4.1.0" - "signal-exit" "^3.0.0" - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wide-align" "^1.1.0" - "gensync@^1.0.0-beta.1", "gensync@^1.0.0-beta.2": "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -6116,18 +5971,6 @@ "resolved" "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz" "version" "1.2.1" -"grpc@^1.24.6": - "integrity" "sha512-BtifKdClMYU0ZEo0Pdr2WV9ZH54AoEdIcp2BfJkh87g2R3HoNPLYKHRYefw/ByxrCdVDTAy3hkraFISpqsRcrw==" - "resolved" "https://registry.npmjs.org/grpc/-/grpc-1.24.6.tgz" - "version" "1.24.6" - dependencies: - "@types/bytebuffer" "^5.0.40" - "lodash.camelcase" "^4.3.0" - "lodash.clone" "^4.5.0" - "nan" "^2.13.2" - "node-pre-gyp" "^0.16.0" - "protobufjs" "^5.0.3" - "gzip-size@5.1.1": "integrity" "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==" "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz" @@ -6186,11 +6029,6 @@ dependencies: "has-symbols" "^1.0.2" -"has-unicode@^2.0.0": - "integrity" "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - "resolved" "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - "version" "2.0.1" - "has-value@^0.3.1": "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" @@ -6480,7 +6318,7 @@ "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" "version" "1.1.1" -"iconv-lite@^0.4.24", "iconv-lite@^0.4.4", "iconv-lite@0.4.24": +"iconv-lite@^0.4.24", "iconv-lite@0.4.24": "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" "version" "0.4.24" @@ -6511,13 +6349,6 @@ "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" "version" "0.1.5" -"ignore-walk@^3.0.1": - "integrity" "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==" - "resolved" "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "minimatch" "^3.0.4" - "ignore@^4.0.6": "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" @@ -6632,7 +6463,7 @@ "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" "version" "2.0.3" -"ini@^1.3.5", "ini@~1.3.0": +"ini@^1.3.5": "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" "version" "1.3.8" @@ -6678,11 +6509,6 @@ "has" "^1.0.3" "side-channel" "^1.0.4" -"invert-kv@^1.0.0": - "integrity" "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - "resolved" "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - "version" "1.0.0" - "ip-regex@^2.1.0": "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" @@ -6888,13 +6714,6 @@ "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" "version" "2.1.1" -"is-fullwidth-code-point@^1.0.0": - "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "number-is-nan" "^1.0.0" - "is-fullwidth-code-point@^2.0.0": "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" @@ -7832,13 +7651,6 @@ "lodash" "^4.17.5" "webpack-sources" "^1.1.0" -"lcid@^1.0.0": - "integrity" "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=" - "resolved" "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "invert-kv" "^1.0.0" - "leven@^3.1.0": "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" @@ -7979,11 +7791,6 @@ "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" "version" "4.3.0" -"lodash.clone@^4.5.0": - "integrity" "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - "resolved" "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz" - "version" "4.5.0" - "lodash.clonedeep@^4.5.0": "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" @@ -8051,11 +7858,6 @@ "resolved" "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" "version" "1.7.1" -"long@~3": - "integrity" "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - "resolved" "https://registry.npmjs.org/long/-/long-3.2.0.tgz" - "version" "3.2.0" - "loose-envify@^1.0.0", "loose-envify@^1.1.0", "loose-envify@^1.4.0": "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" @@ -8099,7 +7901,6 @@ "uuid" "^3.3.3" "macaroon@git+https://github.com/tierion/js-macaroon.git#ts": - "integrity" "sha512-kd+Pat0XPbtd891V42SUcufMFzWV4XjzFX8sr5vsg8JxyJZ+E3biWugYM6sDwCAsxSqwfDr/lXOG+b0D3qc5nA==" "resolved" "git+ssh://git@github.com/tierion/js-macaroon.git#f3654fd314f8fa778299b2286b87f78366a941e1" "version" "3.1.0" dependencies: @@ -8232,11 +8033,6 @@ "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" "version" "1.4.1" -"merkle-lib@^2.0.10": - "integrity" "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" - "resolved" "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz" - "version" "2.0.10" - "methods@~1.1.2": "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" @@ -8370,14 +8166,6 @@ dependencies: "minipass" "^3.0.0" -"minipass@^2.6.0", "minipass@^2.8.6", "minipass@^2.9.0": - "integrity" "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" - "version" "2.9.0" - dependencies: - "safe-buffer" "^5.1.2" - "yallist" "^3.0.0" - "minipass@^3.0.0", "minipass@^3.1.1": "integrity" "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==" "resolved" "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz" @@ -8385,13 +8173,6 @@ dependencies: "yallist" "^4.0.0" -"minizlib@^1.2.1": - "integrity" "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" - "version" "1.3.3" - dependencies: - "minipass" "^2.9.0" - "minizlib@^2.1.1": "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -8424,7 +8205,7 @@ "for-in" "^1.0.2" "is-extendable" "^1.0.1" -"mkdirp@^0.5.0", "mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@^0.5.5", "mkdirp@~0.5.1": +"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@^0.5.5", "mkdirp@~0.5.1": "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" "version" "0.5.5" @@ -8496,11 +8277,6 @@ "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" "version" "0.0.8" -"nan@^2.13.2", "nan@^2.14.0": - "integrity" "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" - "resolved" "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz" - "version" "2.14.2" - "nanoid@^3.1.22": "integrity" "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==" "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz" @@ -8535,15 +8311,6 @@ "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" "version" "1.4.0" -"needle@^2.5.0": - "integrity" "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==" - "resolved" "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz" - "version" "2.6.0" - dependencies: - "debug" "^3.2.6" - "iconv-lite" "^0.4.4" - "sax" "^1.2.4" - "negotiator@0.6.2": "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" @@ -8572,11 +8339,21 @@ "lower-case" "^2.0.2" "tslib" "^2.0.3" +"node-addon-api@^2.0.0": + "integrity" "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" + "version" "2.0.2" + "node-forge@^0.10.0": "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" "version" "0.10.0" +"node-gyp-build@^4.2.0": + "integrity" "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + "resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz" + "version" "4.3.0" + "node-int64@^0.4.0": "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -8628,35 +8405,11 @@ "uuid" "^8.3.0" "which" "^2.0.2" -"node-pre-gyp@^0.16.0": - "integrity" "sha512-4efGA+X/YXAHLi1hN8KaPrILULaUn2nWecFrn1k2I+99HpoyvcOGEbtcOxpDiUwPF2ZANMJDh32qwOUPenuR1g==" - "resolved" "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.16.0.tgz" - "version" "0.16.0" - dependencies: - "detect-libc" "^1.0.2" - "mkdirp" "^0.5.3" - "needle" "^2.5.0" - "nopt" "^4.0.1" - "npm-packlist" "^1.1.6" - "npmlog" "^4.0.2" - "rc" "^1.2.7" - "rimraf" "^2.6.1" - "semver" "^5.3.0" - "tar" "^4.4.2" - "node-releases@^1.1.61", "node-releases@^1.1.70": "integrity" "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz" "version" "1.1.71" -"nopt@^4.0.1": - "integrity" "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "abbrev" "1" - "osenv" "^0.1.4" - "normalize-package-data@^2.3.2", "normalize-package-data@^2.5.0": "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -8699,27 +8452,6 @@ "query-string" "^4.1.0" "sort-keys" "^1.0.0" -"npm-bundled@^1.0.1": - "integrity" "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==" - "resolved" "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "npm-normalize-package-bin" "^1.0.1" - -"npm-normalize-package-bin@^1.0.1": - "integrity" "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - "resolved" "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" - "version" "1.0.1" - -"npm-packlist@^1.1.6": - "integrity" "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==" - "resolved" "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz" - "version" "1.4.8" - dependencies: - "ignore-walk" "^3.0.1" - "npm-bundled" "^1.0.1" - "npm-normalize-package-bin" "^1.0.1" - "npm-run-path@^2.0.0": "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" @@ -8734,16 +8466,6 @@ dependencies: "path-key" "^3.0.0" -"npmlog@^4.0.2": - "integrity" "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "are-we-there-yet" "~1.1.2" - "console-control-strings" "~1.1.0" - "gauge" "~2.7.3" - "set-blocking" "~2.0.0" - "nth-check@^1.0.2": "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" @@ -8756,11 +8478,6 @@ "resolved" "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" "version" "1.2.2" -"number-is-nan@^1.0.0": - "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - "version" "1.0.1" - "nwsapi@^2.2.0": "integrity" "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" @@ -8954,11 +8671,6 @@ "type-check" "^0.4.0" "word-wrap" "^1.2.3" -"optjs@~3.2.2": - "integrity" "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" - "resolved" "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz" - "version" "3.2.2" - "original@^1.0.0": "integrity" "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==" "resolved" "https://registry.npmjs.org/original/-/original-1.0.2.tgz" @@ -8971,31 +8683,11 @@ "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" "version" "0.3.0" -"os-homedir@^1.0.0": - "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - "version" "1.0.2" - -"os-locale@^1.4.0": - "integrity" "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=" - "resolved" "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "lcid" "^1.0.0" - -"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.2": +"os-tmpdir@~1.0.2": "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" "version" "1.0.2" -"osenv@^0.1.4": - "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" - "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "os-homedir" "^1.0.0" - "os-tmpdir" "^1.0.0" - "p-each-series@^2.1.0": "integrity" "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" "resolved" "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz" @@ -10124,16 +9816,6 @@ "object-assign" "^4.1.1" "react-is" "^16.8.1" -"protobufjs@^5.0.3": - "integrity" "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "ascli" "~1" - "bytebuffer" "~5" - "glob" "^7.0.5" - "yargs" "^3.10.0" - "proxy-addr@~2.0.5": "integrity" "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==" "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz" @@ -10204,13 +9886,6 @@ "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" "version" "1.3.2" -"pushdata-bitcoin@^1.0.1": - "integrity" "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=" - "resolved" "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "bitcoin-ops" "^1.3.0" - "q@^1.1.2": "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" @@ -10653,16 +10328,6 @@ "rc-resize-observer" "^1.0.0" "rc-util" "^5.0.7" -"rc@^1.2.7": - "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" - "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "deep-extend" "^0.6.0" - "ini" "~1.3.0" - "minimist" "^1.2.0" - "strip-json-comments" "~2.0.1" - "react-app-polyfill@^2.0.0": "integrity" "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==" "resolved" "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz" @@ -10919,7 +10584,7 @@ "parse-json" "^5.0.0" "type-fest" "^0.6.0" -"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.0.6", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": +"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" "version" "2.3.7" @@ -11302,7 +10967,7 @@ "resolved" "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" "version" "1.0.0" -"rimraf@^2.5.4", "rimraf@^2.6.1", "rimraf@^2.6.3": +"rimraf@^2.5.4", "rimraf@^2.6.3": "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" "version" "2.7.1" @@ -11457,7 +11122,7 @@ "schema-utils" "^3.0.0" "semver" "^7.3.2" -"sax@^1.2.4", "sax@~1.2.4": +"sax@~1.2.4": "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" "version" "1.2.4" @@ -11511,19 +11176,14 @@ dependencies: "compute-scroll-into-view" "^1.0.17" -"secp256k1@^3.4.0": - "integrity" "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==" - "resolved" "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz" - "version" "3.8.0" +"secp256k1@^4.0.2": + "integrity" "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==" + "resolved" "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz" + "version" "4.0.3" dependencies: - "bindings" "^1.5.0" - "bip66" "^1.1.5" - "bn.js" "^4.11.8" - "create-hash" "^1.2.0" - "drbg.js" "^1.0.1" - "elliptic" "^6.5.2" - "nan" "^2.14.0" - "safe-buffer" "^5.1.2" + "elliptic" "^6.5.4" + "node-addon-api" "^2.0.0" + "node-gyp-build" "^4.2.0" "select-hose@^2.0.0": "integrity" "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" @@ -11537,7 +11197,7 @@ dependencies: "node-forge" "^0.10.0" -"semver@^5.3.0", "semver@^5.4.1", "semver@^5.5.0", "semver@^5.5.1", "semver@^5.6.0", "semver@2 || 3 || 4 || 5": +"semver@^5.4.1", "semver@^5.5.0", "semver@^5.5.1", "semver@^5.6.0", "semver@2 || 3 || 4 || 5": "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" "version" "5.7.1" @@ -11647,7 +11307,7 @@ "parseurl" "~1.3.3" "send" "0.17.1" -"set-blocking@^2.0.0", "set-blocking@~2.0.0": +"set-blocking@^2.0.0": "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" "version" "2.0.0" @@ -12122,15 +11782,6 @@ "resolved" "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" "version" "3.0.1" -"string-width@^1.0.1", "string-width@^1.0.2 || 2": - "integrity" "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "code-point-at" "^1.0.0" - "is-fullwidth-code-point" "^1.0.0" - "strip-ansi" "^3.0.0" - "string-width@^3.0.0", "string-width@^3.1.0": "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" @@ -12275,11 +11926,6 @@ "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" "version" "3.1.1" -"strip-json-comments@~2.0.1": - "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" - "strip-outer@^1.0.1": "integrity" "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==" "resolved" "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" @@ -12413,19 +12059,6 @@ "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" "version" "1.1.3" -"tar@^4.4.2": - "integrity" "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==" - "resolved" "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz" - "version" "4.4.13" - dependencies: - "chownr" "^1.1.1" - "fs-minipass" "^1.2.5" - "minipass" "^2.8.6" - "minizlib" "^1.2.1" - "mkdirp" "^0.5.0" - "safe-buffer" "^5.1.2" - "yallist" "^3.0.3" - "tar@^6.0.2": "integrity" "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==" "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz" @@ -13122,7 +12755,7 @@ "spdx-correct" "^3.0.0" "spdx-expression-parse" "^3.0.0" -"varuint-bitcoin@^1.0.4": +"varuint-bitcoin@^1.1.2": "integrity" "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==" "resolved" "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz" "version" "1.1.2" @@ -13425,13 +13058,6 @@ dependencies: "isexe" "^2.0.0" -"wide-align@^1.1.0": - "integrity" "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==" - "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "string-width" "^1.0.2 || 2" - "wif@^2.0.1": "integrity" "sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=" "resolved" "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz" @@ -13439,11 +13065,6 @@ dependencies: "bs58check" "<3.0.0" -"window-size@^0.1.4": - "integrity" "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - "resolved" "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" - "version" "0.1.4" - "word-wrap@^1.2.3", "word-wrap@~1.2.3": "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" @@ -13616,14 +13237,6 @@ dependencies: "microevent.ts" "~0.1.1" -"wrap-ansi@^2.0.0": - "integrity" "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wrap-ansi@^5.1.0": "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" @@ -13696,17 +13309,12 @@ "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" "version" "4.0.2" -"y18n@^3.2.0": - "integrity" "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" - "version" "3.2.2" - "y18n@^4.0.0": "integrity" "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz" "version" "4.0.1" -"yallist@^3.0.0", "yallist@^3.0.2", "yallist@^3.0.3": +"yallist@^3.0.2": "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" "version" "3.1.1" @@ -13770,19 +13378,6 @@ "y18n" "^4.0.0" "yargs-parser" "^18.1.2" -"yargs@^3.10.0": - "integrity" "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" - "version" "3.32.0" - dependencies: - "camelcase" "^2.0.1" - "cliui" "^3.0.3" - "decamelize" "^1.1.1" - "os-locale" "^1.4.0" - "string-width" "^1.0.1" - "window-size" "^0.1.4" - "y18n" "^3.2.0" - "yocto-queue@^0.1.0": "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"