From e8a3d2ed11a80685af0002793a0028f645973030 Mon Sep 17 00:00:00 2001 From: Taranto Date: Sun, 30 Jul 2023 11:43:33 +0100 Subject: [PATCH 1/9] feat: add Telnyx sms support --- lib/new-admin/config/accounts.js | 1 + lib/new-settings-loader.js | 3 +- lib/plugins/sms/telnyx/telnyx.js | 27 ++ lib/sms.js | 2 +- .../src/pages/Services/schemas/index.js | 2 + .../src/pages/Services/schemas/telnyx.js | 44 +++ package-lock.json | 368 ++++++++++++++++-- package.json | 1 + 8 files changed, 409 insertions(+), 39 deletions(-) create mode 100644 lib/plugins/sms/telnyx/telnyx.js create mode 100644 new-lamassu-admin/src/pages/Services/schemas/telnyx.js diff --git a/lib/new-admin/config/accounts.js b/lib/new-admin/config/accounts.js index e0c49754..e17eb822 100644 --- a/lib/new-admin/config/accounts.js +++ b/lib/new-admin/config/accounts.js @@ -48,6 +48,7 @@ const ALL_ACCOUNTS = [ { code: 'mock-sms', display: 'Mock SMS', class: SMS, dev: true }, { code: 'mock-id-verify', display: 'Mock ID verifier', class: ID_VERIFIER, dev: true }, { code: 'twilio', display: 'Twilio', class: SMS }, + { code: 'telnyx', display: 'Telnyx', class: SMS }, { code: 'mailgun', display: 'Mailgun', class: EMAIL }, { code: 'none', display: 'None', class: ZERO_CONF, cryptos: ALL_CRYPTOS }, { code: 'blockcypher', display: 'Blockcypher', class: ZERO_CONF, cryptos: [BTC] }, diff --git a/lib/new-settings-loader.js b/lib/new-settings-loader.js index 072ffd0c..207bbe6d 100644 --- a/lib/new-settings-loader.js +++ b/lib/new-settings-loader.js @@ -23,7 +23,8 @@ const SECRET_FIELDS = [ 'binanceus.privateKey', 'cex.privateKey', 'binance.privateKey', - 'twilio.authToken' + 'twilio.authToken', + 'telnyx.apiKey' ] /* diff --git a/lib/plugins/sms/telnyx/telnyx.js b/lib/plugins/sms/telnyx/telnyx.js new file mode 100644 index 00000000..10253e82 --- /dev/null +++ b/lib/plugins/sms/telnyx/telnyx.js @@ -0,0 +1,27 @@ +const Telnyx = require('telnyx') + +const NAME = 'Telnyx' + +function sendMessage (account, rec) { + const telnyx = Telnyx(account.apiKey) + + const from = account.fromNumber + const text = rec.sms.body + const to = rec.sms.toNumber || account.toNumber + + return telnyx.messages.create({ from, to, text }) + .catch(err => { + throw new Error(`Telnyx error: ${err.message}`) + }) +} + +function getLookup () { + throw new Error('Telnyx error: lookup not supported') +} + + +module.exports = { + NAME, + sendMessage, + getLookup +} diff --git a/lib/sms.js b/lib/sms.js index f395e58d..68e498e9 100644 --- a/lib/sms.js +++ b/lib/sms.js @@ -25,7 +25,7 @@ function getSms (event, phone, content) { } function getPlugin (settings) { - const pluginCode = argv.mockSms ? 'mock-sms' : 'twilio' + const pluginCode = argv.mockSms ? 'mock-sms' : argv.telnyxSms ? 'telnyx' : 'twilio' const plugin = ph.load(ph.SMS, pluginCode) const account = settings.accounts[pluginCode] diff --git a/new-lamassu-admin/src/pages/Services/schemas/index.js b/new-lamassu-admin/src/pages/Services/schemas/index.js index c6b92f51..0056bc75 100644 --- a/new-lamassu-admin/src/pages/Services/schemas/index.js +++ b/new-lamassu-admin/src/pages/Services/schemas/index.js @@ -9,6 +9,7 @@ import infura from './infura' import itbit from './itbit' import kraken from './kraken' import mailgun from './mailgun' +import telnyx from './telnyx' import twilio from './twilio' export default { @@ -19,6 +20,7 @@ export default { [itbit.code]: itbit, [kraken.code]: kraken, [mailgun.code]: mailgun, + [telnyx.code]: telnyx, [twilio.code]: twilio, [binanceus.code]: binanceus, [cex.code]: cex, diff --git a/new-lamassu-admin/src/pages/Services/schemas/telnyx.js b/new-lamassu-admin/src/pages/Services/schemas/telnyx.js new file mode 100644 index 00000000..65db8ae7 --- /dev/null +++ b/new-lamassu-admin/src/pages/Services/schemas/telnyx.js @@ -0,0 +1,44 @@ +import * as Yup from 'yup' + +import SecretInputFormik from 'src/components/inputs/formik/SecretInput' +import TextInputFormik from 'src/components/inputs/formik/TextInput' + +import { secretTest } from './helper' + +export default { + code: 'telnyx', + name: 'Telnyx', + title: 'Telnyx (SMS)', + elements: [ + { + code: 'apiKey', + display: 'API Key', + component: SecretInputFormik + }, + { + code: 'fromNumber', + display: 'Telnyx Number (international format)', + component: TextInputFormik, + face: true + }, + { + code: 'toNumber', + display: 'Notifications Number (international format)', + component: TextInputFormik, + face: true + } + ], + getValidationSchema: account => { + return Yup.object().shape({ + apiKey: Yup.string('The API key must be a string') + .max(200, 'The API key is too long') + .test(secretTest(account?.apiKey, 'API key')), + fromNumber: Yup.string('The Telnyx number must be a string') + .max(100, 'The Telnyx number is too long') + .required('The Telnyx number is required'), + toNumber: Yup.string('The notifications number must be a string') + .max(100, 'The notifications number is too long') + .required('The notifications number is required') + }) + } +} diff --git a/package-lock.json b/package-lock.json index 0bc65cfc..7d7ed34c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -624,6 +624,11 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -638,7 +643,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -662,6 +667,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -911,6 +926,11 @@ "follow-redirects": "^1.14.7" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -925,7 +945,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -949,6 +969,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1183,6 +1213,11 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -1197,7 +1232,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -1221,6 +1256,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1330,6 +1375,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -1344,7 +1394,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -1368,6 +1418,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1544,6 +1604,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -1558,7 +1623,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -1582,6 +1647,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1700,6 +1775,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -1714,7 +1794,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -1738,6 +1818,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1872,7 +1962,7 @@ } }, "bip174": { - "version": "npm:@bitgo/bip174@3.0.0", + "version": "npm:bip174@3.0.0", "resolved": "https://registry.npmjs.org/@bitgo/bip174/-/bip174-3.0.0.tgz", "integrity": "sha512-Qv98vy6l1WgZwrxKx7IPYY91/+Z3tpALVSDn+Ic9qCsxygCq9gYw5eL8q3kd7LYTFLy/HgcqhcMOa83Spbp4JA==" }, @@ -1890,7 +1980,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo/bitcoinjs-lib@7.0.0-rc.3", + "version": "npm:bitcoinjs-lib@7.0.0-rc.3", "resolved": "https://registry.npmjs.org/@bitgo/bitcoinjs-lib/-/bitcoinjs-lib-7.0.0-rc.3.tgz", "integrity": "sha512-IjlaIAuVehVF8azp28n2Gk+xKZ/MdH4t8qOvH2flTSDuYDLcZNHGHXmwyHbOfZwfP5R1MKVrGd+dscm1jqhTkQ==", "requires": { @@ -1913,6 +2003,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2063,6 +2163,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2077,7 +2182,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2101,6 +2206,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2237,6 +2352,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2251,7 +2371,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2275,6 +2395,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2401,6 +2531,11 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2415,7 +2550,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2439,6 +2574,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2568,6 +2713,11 @@ "follow-redirects": "^1.14.7" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2582,7 +2732,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2606,6 +2756,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2761,6 +2921,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2775,7 +2940,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2799,6 +2964,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -2955,6 +3130,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -2969,7 +3149,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -2993,6 +3173,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -3144,6 +3334,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -3158,7 +3353,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -3182,6 +3377,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -3300,6 +3505,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -3314,7 +3524,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -3338,6 +3548,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -3457,6 +3677,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -3471,7 +3696,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -3495,6 +3720,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -3612,6 +3847,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -3626,7 +3866,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -3650,6 +3890,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -4148,6 +4398,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -4162,7 +4417,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -4186,6 +4441,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -4348,6 +4613,11 @@ "@types/node": "*" } }, + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, "bip32": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz", @@ -4362,7 +4632,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "version": "npm:bitcoinjs-lib@7.1.0-master.2", "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", "requires": { @@ -4386,6 +4656,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -4488,7 +4768,7 @@ } }, "bip174": { - "version": "npm:@bitgo/bip174@3.0.0", + "version": "npm:bip174@3.0.0", "resolved": "https://registry.npmjs.org/@bitgo/bip174/-/bip174-3.0.0.tgz", "integrity": "sha512-Qv98vy6l1WgZwrxKx7IPYY91/+Z3tpALVSDn+Ic9qCsxygCq9gYw5eL8q3kd7LYTFLy/HgcqhcMOa83Spbp4JA==" }, @@ -4506,7 +4786,7 @@ } }, "bitcoinjs-lib": { - "version": "npm:@bitgo/bitcoinjs-lib@7.0.0-rc.3", + "version": "npm:bitcoinjs-lib@7.0.0-rc.3", "resolved": "https://registry.npmjs.org/@bitgo/bitcoinjs-lib/-/bitcoinjs-lib-7.0.0-rc.3.tgz", "integrity": "sha512-IjlaIAuVehVF8azp28n2Gk+xKZ/MdH4t8qOvH2flTSDuYDLcZNHGHXmwyHbOfZwfP5R1MKVrGd+dscm1jqhTkQ==", "requires": { @@ -4529,6 +4809,16 @@ "ms": "^2.1.1" } }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -9137,11 +9427,6 @@ "safe-buffer": "^5.2.1" } }, - "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", - "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" - }, "bip32": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.4.tgz", @@ -11651,16 +11936,6 @@ "safe-buffer": "^5.0.1" } }, - "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", - "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", - "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", - "requires": { - "randombytes": "^2.1.0", - "typeforce": "^1.18.0", - "wif": "^2.0.6" - } - }, "ecurve": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", @@ -22403,6 +22678,25 @@ "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz", "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==" }, + "telnyx": { + "version": "1.25.5", + "resolved": "https://registry.npmjs.org/telnyx/-/telnyx-1.25.5.tgz", + "integrity": "sha512-Kcb1eq/Fm9T45j1JMdcoQP1GgJqVKbQldv0C26DhCrZX5e3+17OXyQbmgtSI6EYFQ4I3HSbCfXudwDRpGDOC7Q==", + "requires": { + "lodash.isplainobject": "^4.0.6", + "qs": "^6.6.0", + "safe-buffer": "^5.1.1", + "tweetnacl": "^1.0.1", + "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", diff --git a/package.json b/package.json index e32c6c55..ffd4297f 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "socket.io": "^2.0.3", "socket.io-client": "^2.0.3", "talisman": "^0.20.0", + "telnyx": "^1.25.5", "twilio": "^3.6.1", "uuid": "8.3.2", "web3": "1.7.1", From becd3e7a82965c8db5a234c863aea4b6d600a17c Mon Sep 17 00:00:00 2001 From: CrypticaScriptura <7396812+CrypticaScriptura@users.noreply.github.com> Date: Mon, 31 Jul 2023 17:49:27 -0400 Subject: [PATCH 2/9] chore: merge release-8.1 into telnyx (#1572) * fix: concurrency issues caused by poller * chore: version 8.1.4 (#1561) * Revert "chore: version 8.1.4 (#1561)" (#1562) This reverts commit eaa3dc572020ef4d33fb747daf307b3e65d2fce0. --------- Co-authored-by: Taranto --- lib/cash-out/cash-out-atomic.js | 6 ++++ lib/cash-out/cash-out-low.js | 5 +++ lib/middlewares/populateSettings.js | 2 +- lib/plugins.js | 8 ----- lib/poller.js | 49 ++++++++++++++++++++--------- package-lock.json | 2 +- package.json | 2 +- 7 files changed, 48 insertions(+), 26 deletions(-) diff --git a/lib/cash-out/cash-out-atomic.js b/lib/cash-out/cash-out-atomic.js index c82f6f65..8fbaa0f3 100644 --- a/lib/cash-out/cash-out-atomic.js +++ b/lib/cash-out/cash-out-atomic.js @@ -27,6 +27,12 @@ function atomic (tx, pi, fromClient) { const isStale = fromClient && oldTx && (oldTx.txVersion >= tx.txVersion) if (isStale) throw new E.StaleTxError({ txId: tx.id }) + const isStaleFromServer = !fromClient && oldTx && (oldTx.txVersion > tx.txVersion) + if (isStaleFromServer) { + logger.info('trying to update older version of tx', JSON.stringify(tx)) + return Promise.resolve() + } + return preProcess(t, oldTx, tx, pi) .then(preProcessedTx => cashOutLow.upsert(t, oldTx, preProcessedTx)) }) diff --git a/lib/cash-out/cash-out-low.js b/lib/cash-out/cash-out-low.js index 7ac5421c..7431334e 100644 --- a/lib/cash-out/cash-out-low.js +++ b/lib/cash-out/cash-out-low.js @@ -59,6 +59,11 @@ function diff (oldTx, newTx) { return updatedTx['customerId'] = newTx['customerId'] } return + case 'dispense': + if (!oldTx.dispense) { + return updatedTx[fieldKey] = newTx[fieldKey] + } + return default: return updatedTx[fieldKey] = newTx[fieldKey] } diff --git a/lib/middlewares/populateSettings.js b/lib/middlewares/populateSettings.js index 5f36fa69..07feb0bf 100644 --- a/lib/middlewares/populateSettings.js +++ b/lib/middlewares/populateSettings.js @@ -75,7 +75,7 @@ const populateSettings = function (req, res, next) { .catch(next) } - logger.debug('Fetching and caching a specific config version') + logger.debug('Fetching a cached specific config version') req.settings = cachedVersionedSettings return next() } diff --git a/lib/plugins.js b/lib/plugins.js index fd471836..8fd79dbe 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -342,13 +342,6 @@ function plugins (settings, deviceId) { return wallet.newAddress(settings, info, tx) } - function dispenseAck (tx) { - const cashOutConfig = configManager.getCashOut(deviceId, settings.config) - const cassettes = [cashOutConfig.cassette1, cashOutConfig.cassette2, cashOutConfig.cassette3, cashOutConfig.cassette4] - - return dbm.addDispense(deviceId, tx, cassettes) - } - function fiatBalance (fiatCode, cryptoCode) { const commissions = configManager.getCommissions(cryptoCode, deviceId, settings.config) return Promise.all([ @@ -864,7 +857,6 @@ function plugins (settings, deviceId) { isHd, isZeroConf, getStatus, - dispenseAck, getPhoneCode, executeTrades, pong, diff --git a/lib/poller.js b/lib/poller.js index 10e8343c..ca002612 100644 --- a/lib/poller.js +++ b/lib/poller.js @@ -16,7 +16,6 @@ const settingsLoader = require('./new-settings-loader') const NodeCache = require('node-cache') const util = require('util') const db = require('./db') -const state = require('./middlewares/state') const processBatches = require('./tx-batching-processing') const INCOMING_TX_INTERVAL = 30 * T.seconds @@ -99,8 +98,8 @@ function reload (schema) { }) } -function pi () { return cachedVariables.get(asyncLocalStorage.getStore().get('schema')).pi } -function settings () { return cachedVariables.get(asyncLocalStorage.getStore().get('schema')).settings } +function pi () { return cachedVariables.get('public').pi } +function settings () { return cachedVariables.get('public').settings } function initialSanctionsDownload () { const structs = sanctions.getStructs() @@ -146,19 +145,39 @@ function initializeEachSchema (schemas = ['public']) { }, schemas) } +function recursiveTimeout (func, timeout, ...vars) { + setTimeout(() => { + let promise = null + + const loadVariables = vars.length > 0 && typeof vars[0] === 'function' + if (loadVariables) { + const funcVars = [...vars] + funcVars[0] = vars[0]() + promise = func(...funcVars) + } else { + promise = func(...vars) + } + + promise.finally(() => { + recursiveTimeout(func, timeout, ...vars) + }) + }, timeout) +} + function addToQueue (func, interval, schema, queue, ...vars) { - return schemaCallbacks.get(schema).push(setInterval(() => { - return queue.enqueue().then(() => { - // get plugins or settings from the cache every time func is run - const loadVariables = vars.length > 0 && typeof vars[0] === 'function' - if (loadVariables) { - const funcVars = [...vars] - funcVars[0] = vars[0]() - return func(...funcVars) - } - return func(...vars) - }).catch(console.error) - }, interval)) + recursiveTimeout(func, interval, ...vars) + // return schemaCallbacks.get(schema).push(setInterval(() => { + // return queue.enqueue().then(() => { + // // get plugins or settings from the cache every time func is run + // const loadVariables = vars.length > 0 && typeof vars[0] === 'function' + // if (loadVariables) { + // const funcVars = [...vars] + // funcVars[0] = vars[0]() + // return func(...funcVars) + // } + // return func(...vars) + // }).catch(console.error) + // }, interval)) } function doPolling (schema) { diff --git a/package-lock.json b/package-lock.json index 7d7ed34c..ad523b83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "8.1.2", + "version": "8.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ffd4297f..f4d1ba42 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "8.1.2", + "version": "8.1.3", "license": "Unlicense", "author": "Lamassu (https://lamassu.is)", "dependencies": { From 84ceeda611ca394d104d0573e1f0f52a576bfc63 Mon Sep 17 00:00:00 2001 From: CrypticaScriptura <7396812+CrypticaScriptura@users.noreply.github.com> Date: Mon, 31 Jul 2023 18:03:04 -0400 Subject: [PATCH 3/9] chore: version 8.1.4 (#1573) --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad523b83..7930431c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "8.1.3", + "version": "8.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f4d1ba42..7605306a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "8.1.3", + "version": "8.1.4", "license": "Unlicense", "author": "Lamassu (https://lamassu.is)", "dependencies": { From 3b19caf3a7394b3784baa23b0fe8e26ecb6ae570 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 17 Aug 2023 12:33:15 +0100 Subject: [PATCH 4/9] feat: Vonage API --- lib/new-admin/config/accounts.js | 1 + lib/new-settings-loader.js | 3 +- lib/plugins/sms/vonage/vonage.js | 31 + .../src/pages/Services/schemas/index.js | 2 + .../src/pages/Services/schemas/vonage.js | 52 + package-lock.json | 1086 ++++++++++++++++- package.json | 2 + shell.nix | 10 +- 8 files changed, 1116 insertions(+), 71 deletions(-) create mode 100644 lib/plugins/sms/vonage/vonage.js create mode 100644 new-lamassu-admin/src/pages/Services/schemas/vonage.js diff --git a/lib/new-admin/config/accounts.js b/lib/new-admin/config/accounts.js index e17eb822..d32636db 100644 --- a/lib/new-admin/config/accounts.js +++ b/lib/new-admin/config/accounts.js @@ -49,6 +49,7 @@ const ALL_ACCOUNTS = [ { code: 'mock-id-verify', display: 'Mock ID verifier', class: ID_VERIFIER, dev: true }, { code: 'twilio', display: 'Twilio', class: SMS }, { code: 'telnyx', display: 'Telnyx', class: SMS }, + { code: 'vonage', display: 'Vonage', class: SMS }, { code: 'mailgun', display: 'Mailgun', class: EMAIL }, { code: 'none', display: 'None', class: ZERO_CONF, cryptos: ALL_CRYPTOS }, { code: 'blockcypher', display: 'Blockcypher', class: ZERO_CONF, cryptos: [BTC] }, diff --git a/lib/new-settings-loader.js b/lib/new-settings-loader.js index 207bbe6d..62b9d3fb 100644 --- a/lib/new-settings-loader.js +++ b/lib/new-settings-loader.js @@ -24,7 +24,8 @@ const SECRET_FIELDS = [ 'cex.privateKey', 'binance.privateKey', 'twilio.authToken', - 'telnyx.apiKey' + 'telnyx.apiKey', + 'vonage.apiSecret' ] /* diff --git a/lib/plugins/sms/vonage/vonage.js b/lib/plugins/sms/vonage/vonage.js new file mode 100644 index 00000000..e945f818 --- /dev/null +++ b/lib/plugins/sms/vonage/vonage.js @@ -0,0 +1,31 @@ +const { Auth } = require('@vonage/auth') +const { SMS } = require('@vonage/sms') + +const NAME = 'Vonage' + +function sendMessage (account, rec) { + const credentials = new Auth({ + apiKey: account.apiKey, + apiSecret: account.apiSecret + }) + + const from = account.fromNumber + const text = rec.sms.body + const to = rec.sms.toNumber || account.toNumber + + const smsClient = new SMS(credentials) + smsClient.send({ from, text, to }) + .catch(err => { + throw new Error(`Vonage error: ${err.message}`) + }) +} + +function getLookup () { + throw new Error('Vonage error: lookup not supported') +} + +module.exports = { + NAME, + sendMessage, + getLookup +} diff --git a/new-lamassu-admin/src/pages/Services/schemas/index.js b/new-lamassu-admin/src/pages/Services/schemas/index.js index 0056bc75..278546dc 100644 --- a/new-lamassu-admin/src/pages/Services/schemas/index.js +++ b/new-lamassu-admin/src/pages/Services/schemas/index.js @@ -11,6 +11,7 @@ import kraken from './kraken' import mailgun from './mailgun' import telnyx from './telnyx' import twilio from './twilio' +import vonage from './vonage' export default { [bitgo.code]: bitgo, @@ -21,6 +22,7 @@ export default { [kraken.code]: kraken, [mailgun.code]: mailgun, [telnyx.code]: telnyx, + [vonage.code]: vonage, [twilio.code]: twilio, [binanceus.code]: binanceus, [cex.code]: cex, diff --git a/new-lamassu-admin/src/pages/Services/schemas/vonage.js b/new-lamassu-admin/src/pages/Services/schemas/vonage.js new file mode 100644 index 00000000..01bb4b20 --- /dev/null +++ b/new-lamassu-admin/src/pages/Services/schemas/vonage.js @@ -0,0 +1,52 @@ +import * as Yup from 'yup' + +import SecretInputFormik from 'src/components/inputs/formik/SecretInput' +import TextInputFormik from 'src/components/inputs/formik/TextInput' + +import { secretTest } from './helper' + +export default { + code: 'vonage', + name: 'Vonage', + title: 'Vonage (SMS)', + elements: [ + { + code: 'apiKey', + display: 'API Key', + component: TextInputFormik + }, + { + code: 'apiSecret', + display: 'API Secret', + component: SecretInputFormik + }, + { + code: 'fromNumber', + display: 'Vonage Number (international format)', + component: TextInputFormik, + face: true + }, + { + code: 'toNumber', + display: 'Notifications Number (international format)', + component: TextInputFormik, + face: true + } + ], + getValidationSchema: account => { + return Yup.object().shape({ + apiKey: Yup.string('The API key must be a string') + .max(200, 'The API key is too long') + .required('The Vonage number is required'), + apiSecret: Yup.string('The API key must be a string') + .max(200, 'The API secret is too long') + .test(secretTest(account?.apiKey, 'API secret')), + fromNumber: Yup.string('The Vonage number must be a string') + .max(100, 'The Vonage number is too long') + .required('The Vonage number is required'), + toNumber: Yup.string('The notifications number must be a string') + .max(100, 'The notifications number is too long') + .required('The notifications number is required') + }) + } +} diff --git a/package-lock.json b/package-lock.json index 7930431c..ecf95847 100644 --- a/package-lock.json +++ b/package-lock.json @@ -608,6 +608,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -625,7 +666,7 @@ "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -651,7 +692,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -668,7 +708,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -857,6 +897,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -927,7 +1008,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -953,7 +1034,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -970,7 +1050,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -1197,6 +1277,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -1214,7 +1335,7 @@ "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -1240,7 +1361,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -1257,7 +1377,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -1364,6 +1484,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -1376,7 +1537,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -1402,7 +1563,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -1419,7 +1579,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -1593,6 +1753,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -1605,7 +1806,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -1631,7 +1832,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -1648,7 +1848,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -1764,6 +1964,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -1776,7 +2017,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -1802,7 +2043,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -1819,7 +2059,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -1950,6 +2190,46 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo/bip174@3.0.0", + "resolved": "https://registry.npmjs.org/@bitgo/bip174/-/bip174-3.0.0.tgz", + "integrity": "sha512-Qv98vy6l1WgZwrxKx7IPYY91/+Z3tpALVSDn+Ic9qCsxygCq9gYw5eL8q3kd7LYTFLy/HgcqhcMOa83Spbp4JA==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo/bitcoinjs-lib@7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@bitgo/bitcoinjs-lib/-/bitcoinjs-lib-7.0.0-rc.3.tgz", + "integrity": "sha512-IjlaIAuVehVF8azp28n2Gk+xKZ/MdH4t8qOvH2flTSDuYDLcZNHGHXmwyHbOfZwfP5R1MKVrGd+dscm1jqhTkQ==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo/bip174@3.0.0", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -1988,7 +2268,6 @@ "bip174": "npm:@bitgo/bip174@3.0.0", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2", @@ -2004,7 +2283,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -2152,6 +2431,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -2164,7 +2484,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -2190,7 +2510,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -2207,7 +2526,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -2341,6 +2660,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -2353,7 +2713,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -2379,7 +2739,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -2396,7 +2755,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -2515,6 +2874,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -2532,7 +2932,7 @@ "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -2558,7 +2958,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -2575,7 +2974,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -2694,6 +3093,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -2714,7 +3154,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -2740,7 +3180,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -2757,7 +3196,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -2910,6 +3349,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -2922,7 +3402,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -2948,7 +3428,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -2965,7 +3444,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -3119,6 +3598,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -3131,7 +3651,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -3157,7 +3677,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -3174,7 +3693,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -3323,6 +3842,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -3335,7 +3895,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -3361,7 +3921,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -3378,7 +3937,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -3494,6 +4053,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -3506,7 +4106,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -3532,7 +4132,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -3549,7 +4148,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -3666,6 +4265,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -3678,7 +4318,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -3704,7 +4344,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -3721,7 +4360,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -3836,6 +4475,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -3848,7 +4528,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -3874,7 +4554,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -3891,7 +4570,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -4009,6 +4688,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@ethersproject/abi": { @@ -4399,7 +5119,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -4425,7 +5145,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -4442,7 +5161,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -4602,6 +5321,47 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", + "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2", + "resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.2.tgz", + "integrity": "sha512-D62U1pWej8M+7gROykLGGPvFf0zFal10kAAbuaHuy1ohtwKLNHRiUz8dpdjEZBzNkF+pU+GQhItdiEJTslK4/A==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "json5": "^2.2.3", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -4614,7 +5374,7 @@ } }, "bip174": { - "version": "npm:@bitgo-forks/bip174@3.0.0-rc.1", + "version": "npm:bip174@3.0.0-rc.1", "resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.0.0-rc.1.tgz", "integrity": "sha512-eGi5die7Q7O3yPtkcGF1gD7qLlJLiLnYI4DpFTF6tUhUo71gy3RoXAAeeJA2fLpnVoJofXnLdLfpcO6OEZAsvw==" }, @@ -4640,7 +5400,6 @@ "bip174": "npm:@bitgo-forks/bip174@3.0.0-rc.1", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "json5": "^2.2.3", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", @@ -4657,7 +5416,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -4756,6 +5515,46 @@ "elliptic": "^6.5.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2" + }, + "dependencies": { + "bip174": { + "version": "npm:@bitgo/bip174@3.0.0", + "resolved": "https://registry.npmjs.org/@bitgo/bip174/-/bip174-3.0.0.tgz", + "integrity": "sha512-Qv98vy6l1WgZwrxKx7IPYY91/+Z3tpALVSDn+Ic9qCsxygCq9gYw5eL8q3kd7LYTFLy/HgcqhcMOa83Spbp4JA==" + }, + "bitcoinjs-lib": { + "version": "npm:@bitgo/bitcoinjs-lib@7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@bitgo/bitcoinjs-lib/-/bitcoinjs-lib-7.0.0-rc.3.tgz", + "integrity": "sha512-IjlaIAuVehVF8azp28n2Gk+xKZ/MdH4t8qOvH2flTSDuYDLcZNHGHXmwyHbOfZwfP5R1MKVrGd+dscm1jqhTkQ==", + "requires": { + "bech32": "^2.0.0", + "bip174": "npm:@bitgo/bip174@3.0.0", + "bs58check": "^2.1.2", + "create-hash": "^1.1.0", + "fastpriorityqueue": "^0.7.1", + "ripemd160": "^2.0.2", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2", + "wif": "^2.0.1" + }, + "dependencies": { + "fastpriorityqueue": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.4.tgz", + "integrity": "sha512-u7o5oa9R7CMOHo2i8P2/T2nRg5bg/0dDegDSJVzkVkMf/A318LNnujNLfpxlJeXUdDAefrVPqsDV624vUyxNfA==" + } + } + }, + "ecpair": { + "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", + "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", + "requires": { + "randombytes": "^2.1.0", + "typeforce": "^1.18.0", + "wif": "^2.0.6" + } + } } }, "@types/superagent": { @@ -4794,7 +5593,6 @@ "bip174": "npm:@bitgo/bip174@3.0.0", "bs58check": "^2.1.2", "create-hash": "^1.1.0", - "fastpriorityqueue": "^0.7.1", "ripemd160": "^2.0.2", "typeforce": "^1.11.3", "varuint-bitcoin": "^1.1.2", @@ -4810,7 +5608,7 @@ } }, "ecpair": { - "version": "npm:@bitgo/ecpair@2.1.0-rc.0", + "version": "npm:ecpair@2.1.0-rc.0", "resolved": "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz", "integrity": "sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==", "requires": { @@ -7827,6 +8625,150 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@vonage/auth": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vonage/auth/-/auth-1.5.0.tgz", + "integrity": "sha512-h2xEFKYW9IyEfFzf1OVzIVZj3/81qlY9S2LThPVFnkkbcXBe4Uph2So4giCF2to8sZ4WJNmFW63cd4S/i1qdgg==", + "requires": { + "@vonage/jwt": "^1.5.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@vonage/jwt": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vonage/jwt/-/jwt-1.5.0.tgz", + "integrity": "sha512-H2RCqrxkODC0qssT3l4/HpaKiZSuurqjD37WS1ohcuUJVBiVAIOIG5t6N0CobY1M/Oqe9RrNSOeIyMuSh+87+A==", + "requires": { + "debug": "^4.3.4", + "jsonwebtoken": "^9.0.0", + "uuid": "^9.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "jsonwebtoken": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz", + "integrity": "sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==", + "requires": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" + } + } + }, + "@vonage/server-client": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@vonage/server-client/-/server-client-1.7.0.tgz", + "integrity": "sha512-KxqGnlUQxtWOPF5QqGMNsYfPIAXvSPeR29vbetAB65UW+KXRn+NFubqSymcEU471woiYQ4wdg9UqvSlrNYJmdQ==", + "requires": { + "@vonage/auth": "^1.5.0", + "@vonage/vetch": "^1.5.0", + "debug": "^4.3.4", + "lodash.camelcase": "^4.3.0", + "lodash.isobject": "3.0.2", + "lodash.kebabcase": "^4.1.1", + "lodash.partial": "^4.2.1", + "lodash.snakecase": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@vonage/sms": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@vonage/sms/-/sms-1.7.0.tgz", + "integrity": "sha512-RLmBhWhlz5FrK8vhfzPvIkM8tq8+xDa8oXVFwIzKXAzXe+N/WChlDlKh6wlIR/SSNLW/9gAu4Z1s7A1HlUXvZw==", + "requires": { + "@vonage/server-client": "^1.7.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@vonage/vetch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vonage/vetch/-/vetch-1.5.0.tgz", + "integrity": "sha512-Bw0o5mOJOpBbUYUmYBzDRzZad8yE+897v0GlZj9tQ+weAj7JppXJzw2D4bUiXN4fggnnEhTFzIQ3roi9a+IQ0A==", + "requires": { + "debug": "^4.3.4", + "lodash.merge": "^4.6.2", + "node-fetch": "^2.6" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -13793,11 +14735,6 @@ "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==" }, - "fastpriorityqueue": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.2.tgz", - "integrity": "sha512-5DtIKh6vtOmEGkYdEPNNb+mxeYCnBiKbK3s4gq52l6cX8I5QaTDWWw0Wx/iYo80fVOblSycHu1/iJeqeNxG8Jw==" - }, "fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -17330,6 +18267,11 @@ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==" + }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", @@ -17340,17 +18282,31 @@ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, + "lodash.partial": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.partial/-/lodash.partial-4.2.1.tgz", + "integrity": "sha512-qsiGr0kiA31O7chhmKSUiEGtxXnYtwmaJF00TPAUW79C5PCfaVeLTUN3sLT+rEPcqZooPtiFcGhnphQzFhkqmg==" + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", diff --git a/package.json b/package.json index 7605306a..8b98a09c 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "@graphql-tools/merge": "^6.2.5", "@lamassu/coins": "1.3.0", "@simplewebauthn/server": "^3.0.0", + "@vonage/auth": "^1.5.0", + "@vonage/sms": "^1.7.0", "apollo-server-express": "2.25.1", "argon2": "0.28.2", "axios": "0.21.1", diff --git a/shell.nix b/shell.nix index 1ff52184..1cb09dd4 100644 --- a/shell.nix +++ b/shell.nix @@ -1,16 +1,16 @@ with import (fetchTarball { - name = "nixpkgs-19.03"; - url = https://github.com/NixOS/nixpkgs/archive/0b8799ecaaf0dc6b4c11583a3c96ca5b40fcfdfb.tar.gz; - sha256 = "11m4aig6cv0zi3gbq2xn9by29cfvnsxgzf9qsvz67qr0yq29ryyz"; + name = "8ad5e8"; + url = https://github.com/NixOS/nixpkgs/archive/8ad5e8132c5dcf977e308e7bf5517cc6cc0bf7d8.tar.gz; + sha256 = "17v6wigks04x1d63a2wcd7cc4z9ca6qr0f4xvw1pdw83f8a3c0nj"; }) {}; stdenv.mkDerivation { name = "node"; buildInputs = [ nodejs-14_x - python2Full + python3 openssl - postgresql_9_6 + postgresql ]; shellHook = '' export PATH="$PWD/node_modules/.bin/:$PATH" From f716e4202c5e05a7bf65ab041f108754e482f046 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Sat, 19 Aug 2023 10:56:54 +0100 Subject: [PATCH 5/9] feat: admin picked sms provider --- lib/sms.js | 3 +- .../src/pages/Notifications/Notifications.js | 18 +++++ .../sections/ThirdPartyProvider.js | 69 +++++++++++++++++++ 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js diff --git a/lib/sms.js b/lib/sms.js index 68e498e9..49f8f80c 100644 --- a/lib/sms.js +++ b/lib/sms.js @@ -25,7 +25,8 @@ function getSms (event, phone, content) { } function getPlugin (settings) { - const pluginCode = argv.mockSms ? 'mock-sms' : argv.telnyxSms ? 'telnyx' : 'twilio' + const smsProvider = settings.config.notifications_thirdParty_provider + const pluginCode = smsProvider ?? 'twilio' const plugin = ph.load(ph.SMS, pluginCode) const account = settings.accounts[pluginCode] diff --git a/new-lamassu-admin/src/pages/Notifications/Notifications.js b/new-lamassu-admin/src/pages/Notifications/Notifications.js index b79eb9a7..bb51cffd 100644 --- a/new-lamassu-admin/src/pages/Notifications/Notifications.js +++ b/new-lamassu-admin/src/pages/Notifications/Notifications.js @@ -19,11 +19,19 @@ import CryptoBalanceOverrides from './sections/CryptoBalanceOverrides' import FiatBalanceAlerts from './sections/FiatBalanceAlerts' import FiatBalanceOverrides from './sections/FiatBalanceOverrides' import Setup from './sections/Setup' +import ThirdPartyProvider from './sections/ThirdPartyProvider' import TransactionAlerts from './sections/TransactionAlerts' const GET_INFO = gql` query getData { config + accountsConfig { + code + display + class + cryptos + deprecated + } machines { name deviceId @@ -59,6 +67,7 @@ const Notifications = ({ displayCryptoAlerts = true, displayOverrides = true, displayTitle = true, + displayThirdPartyProvider = true, wizard = false }) => { const [section, setSection] = useState(null) @@ -86,6 +95,7 @@ const Notifications = ({ const config = fromNamespace(SCREEN_KEY)(data?.config) const machines = data?.machines + const accountsConfig = data?.accountsConfig const cryptoCurrencies = data?.cryptoCurrencies const twilioAvailable = R.has('twilio', data?.accounts || {}) const mailgunAvailable = R.has('mailgun', data?.accounts || {}) @@ -136,6 +146,7 @@ const Notifications = ({ setEditing, setSection, machines, + accountsConfig, cryptoCurrencies, twilioAvailable, setSmsSetupPopup, @@ -148,6 +159,13 @@ const Notifications = ({ <> {displayTitle && } + {displayThirdPartyProvider && ( +
+ +
+ )} {displaySetup && (
diff --git a/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js b/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js new file mode 100644 index 00000000..4312a2c5 --- /dev/null +++ b/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js @@ -0,0 +1,69 @@ +import * as R from 'ramda' +import React, { useContext } from 'react' +import * as Yup from 'yup' + +import { Table as EditableTable } from 'src/components/editableTable' +import Autocomplete from 'src/components/inputs/formik/Autocomplete' +import { toNamespace, fromNamespace } from 'src/utils/config' + +import NotificationsCtx from '../NotificationsContext' + +const filterClass = type => R.filter(it => it.class === type) + +const ThirdPartyProvider = () => { + const { save, data: _data, error, accountsConfig } = useContext( + NotificationsCtx + ) + + const data = fromNamespace('thirdParty')(_data) + + const filterOptions = type => filterClass(type)(accountsConfig || []) + + const getDisplayName = type => it => + R.compose( + R.prop('display'), + R.find(R.propEq('code', it)) + )(filterOptions(type)) + + const innerSave = async value => { + const config = toNamespace('thirdParty')(value?.thirdParty[0]) + await save('thirdParty', config) + } + + const ThirdPartySchema = Yup.object().shape({ + sms: Yup.string('The ticker must be a string').required( + 'The ticker is required' + ) + }) + + const elements = [ + { + name: 'sms', + size: 'sm', + view: getDisplayName('sms'), + width: 175, + input: Autocomplete, + inputProps: { + options: filterOptions('sms'), + valueProp: 'code', + labelProp: 'display' + } + } + ] + + return ( + + ) +} + +export default ThirdPartyProvider From e74574c60e3c86b703c88ee0e9c0c686e021ada1 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Sat, 19 Aug 2023 10:57:44 +0100 Subject: [PATCH 6/9] feat: initial whatsapp api --- lib/plugins/sms/whatsapp/whatsapp.js | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/plugins/sms/whatsapp/whatsapp.js diff --git a/lib/plugins/sms/whatsapp/whatsapp.js b/lib/plugins/sms/whatsapp/whatsapp.js new file mode 100644 index 00000000..dee498ef --- /dev/null +++ b/lib/plugins/sms/whatsapp/whatsapp.js @@ -0,0 +1,47 @@ +const axios = require('axios') + +const NAME = 'Whatsapp' + +function sendMessage (account, rec) { + const phoneId = account.phoneId + const token = account.apiKey + + const to = rec.sms.toNumber || account.toNumber + const template = rec.sms.template + + const url = `https://graph.facebook.com/v17.0/${phoneId}/messages` + + const config = { + headers:{ + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json' + } + } + + const data = { + messaging_product: 'whatsapp', + recipient_type: 'individual', + type: 'template', + to, + template: { + name: template, + language: { code: 'en_US' } + } + } + + axios.post(url, data, config) + .catch(err => { + // console.log(err) + throw new Error(`Whatsapp error: ${err.message}`) + }) +} + +function getLookup () { + throw new Error('Whatsapp error: lookup not supported') +} + +module.exports = { + NAME, + sendMessage, + getLookup +} From 9048c91a3293df3ee9b6592387aa1a486c045574 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Aug 2023 12:54:14 +0100 Subject: [PATCH 7/9] fix: config name for sms provider --- lib/sms.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sms.js b/lib/sms.js index 49f8f80c..fd42d1bf 100644 --- a/lib/sms.js +++ b/lib/sms.js @@ -25,7 +25,7 @@ function getSms (event, phone, content) { } function getPlugin (settings) { - const smsProvider = settings.config.notifications_thirdParty_provider + const smsProvider = settings.config.notifications_thirdParty_sms const pluginCode = smsProvider ?? 'twilio' const plugin = ph.load(ph.SMS, pluginCode) const account = settings.accounts[pluginCode] From bdd413a0ca0b61693dcff13e0f9ed0dcc5f3353b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Aug 2023 13:02:12 +0100 Subject: [PATCH 8/9] chore: remove unused params --- .vscode/launch.json | 2 +- INSTALL-NIX.md | 4 ++-- INSTALL.md | 4 ++-- README.md | 2 +- lib/plugins.js | 9 ++++----- lib/sms.js | 1 - package.json | 2 +- test/stress/test-server.js | 2 +- 8 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index fd6e3809..c9759230 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "name": "Launch Program", "program": "${workspaceRoot}/bin/lamassu-server", "cwd": "${workspaceRoot}", - "args": ["--mockSms"] + "args": [""] }, { "type": "node", diff --git a/INSTALL-NIX.md b/INSTALL-NIX.md index 62a55a37..da3994b6 100644 --- a/INSTALL-NIX.md +++ b/INSTALL-NIX.md @@ -86,7 +86,7 @@ Go to all the required, unconfigured red fields and choose some values. Choose m ### Run lamassu-server ``` -node bin/lamassu-server --mockSms --mockScoring +node bin/lamassu-server --mockScoring ``` ### Add a lamassu-machine @@ -100,7 +100,7 @@ Now continue with lamassu-machine instructions from the ``INSTALL.md`` file in [ To start the Lamassu server run: ``` -node bin/lamassu-server --mockSms --mockScoring +node bin/lamassu-server --mockScoring ``` To start the Lamassu Admin run: diff --git a/INSTALL.md b/INSTALL.md index 5630adc4..d2a80ea7 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -104,7 +104,7 @@ Go to all the required, unconfigured red fields and choose some values. Choose m ### Run lamassu-server ``` -node bin/lamassu-server --mockSms --mockScoring +node bin/lamassu-server --mockScoring ``` ### Add a lamassu-machine @@ -119,7 +119,7 @@ Now continue with lamassu-machine instructions from the ``INSTALL.md`` file in [ To start the Lamassu server run: ``` -node bin/lamassu-server --mockSms --mockScoring +node bin/lamassu-server --mockScoring ``` To start the Lamassu Admin run: diff --git a/README.md b/README.md index 22e62e79..3e555371 100644 --- a/README.md +++ b/README.md @@ -15,5 +15,5 @@ See [lamassu-remote-install/README.md](lamassu-remote-install/README.md). ## Running ```bash -node bin/lamassu-server --mockSms --mockScoring +node bin/lamassu-server --mockScoring ``` diff --git a/lib/plugins.js b/lib/plugins.js index 8fd79dbe..e8e4501f 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -1,5 +1,4 @@ const _ = require('lodash/fp') -const argv = require('minimist')(process.argv.slice(2)) const crypto = require('crypto') const pgp = require('pg-promise')() const dateFormat = require('dateformat') @@ -163,9 +162,7 @@ function plugins (settings, deviceId) { const virtualCassettes = [Math.max(...denominations) * 2] - const counts = argv.cassettes - ? argv.cassettes.split(',') - : rec.counts + const counts = rec.counts if (rec.counts.length !== denominations.length) { throw new Error('Denominations and respective counts do not match!') @@ -763,7 +760,9 @@ function plugins (settings, deviceId) { } function getPhoneCode (phone) { - const code = argv.mockSms + const notifications = configManager.getNotifications(settings.config) + + const code = notifications.thirdParty_sms === 'mock-sms' ? '123' : randomCode() diff --git a/lib/sms.js b/lib/sms.js index fd42d1bf..a4e24e78 100644 --- a/lib/sms.js +++ b/lib/sms.js @@ -2,7 +2,6 @@ const dateFormat = require('dateformat') const ph = require('./plugin-helper') -const argv = require('minimist')(process.argv.slice(2)) const { utils: coinUtils } = require('@lamassu/coins') const _ = require('lodash/fp') diff --git a/package.json b/package.json index 8b98a09c..411c4b1b 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,7 @@ "test": "mocha --recursive tests", "jtest": "jest --detectOpenHandles", "build-admin": "npm run build-admin:css && npm run build-admin:main && npm run build-admin:lamassu", - "server": "nodemon bin/lamassu-server --mockSms --mockScoring --logLevel silly", + "server": "nodemon bin/lamassu-server --mockScoring --logLevel silly", "admin-server": "nodemon bin/lamassu-admin-server --dev --logLevel silly", "graphql-server": "nodemon bin/new-graphql-dev-insecure", "watch": "concurrently \"npm:server\" \"npm:admin-server\" \"npm:graphql-server\"", diff --git a/test/stress/test-server.js b/test/stress/test-server.js index 8d9b1f5b..51569f7e 100644 --- a/test/stress/test-server.js +++ b/test/stress/test-server.js @@ -3,5 +3,5 @@ const cmd = require('./scripts') process.on('message', async (msg) => { console.log('Message from parent:', msg) - await cmd.execCommand(`node --prof LAMASSU_DB=STRESS_TEST ../../bin/lamassu-server --mockSms`) + await cmd.execCommand(`node --prof LAMASSU_DB=STRESS_TEST ../../bin/lamassu-server`) }) From 55d5b043b3b0ba96bf8a1bb519ddb3dff696fbda Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Aug 2023 13:06:30 +0100 Subject: [PATCH 9/9] chore: error message fix --- .../src/pages/Notifications/sections/ThirdPartyProvider.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js b/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js index 4312a2c5..33b9a654 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js +++ b/new-lamassu-admin/src/pages/Notifications/sections/ThirdPartyProvider.js @@ -31,9 +31,7 @@ const ThirdPartyProvider = () => { } const ThirdPartySchema = Yup.object().shape({ - sms: Yup.string('The ticker must be a string').required( - 'The ticker is required' - ) + sms: Yup.string('The sms must be a string').required('The sms is required') }) const elements = [