Merge pull request #1785 from RafaelTaranto/fix/schema-usage
LAM-687 LAM-520 fix: properly build schema before using it
This commit is contained in:
commit
f052c23594
11 changed files with 2045 additions and 2224 deletions
4089
new-lamassu-admin/package-lock.json
generated
4089
new-lamassu-admin/package-lock.json
generated
File diff suppressed because it is too large
Load diff
20
new-lamassu-admin/shell.nix
Normal file
20
new-lamassu-admin/shell.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
with import (fetchTarball {
|
||||||
|
name = "nixpkgs-194846768975b7ad2c4988bdb82572c00222c0d7";
|
||||||
|
url = https://github.com/NixOS/nixpkgs/archive/194846768975b7ad2c4988bdb82572c00222c0d7.tar.gz;
|
||||||
|
sha256 = "0snj72i9dm99jlnnmk8id8ffjnfg1k81lr7aw8d01kz3hdiraqil";
|
||||||
|
}) {};
|
||||||
|
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "node";
|
||||||
|
buildInputs = [
|
||||||
|
nodejs_22
|
||||||
|
openssl
|
||||||
|
python3
|
||||||
|
entr
|
||||||
|
yasm
|
||||||
|
];
|
||||||
|
shellHook = ''
|
||||||
|
export PATH="$PWD/node_modules/.bin/:$PATH"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -176,6 +176,7 @@ const Wallet = ({ name: SCREEN_KEY }) => {
|
||||||
coin={R.find(R.propEq('code', wizard))(cryptoCurrencies)}
|
coin={R.find(R.propEq('code', wizard))(cryptoCurrencies)}
|
||||||
onClose={() => setWizard(false)}
|
onClose={() => setWizard(false)}
|
||||||
save={save}
|
save={save}
|
||||||
|
schemas={schemas}
|
||||||
error={error?.message}
|
error={error?.message}
|
||||||
cryptoCurrencies={cryptoCurrencies}
|
cryptoCurrencies={cryptoCurrencies}
|
||||||
fiatCurrency={fiatCurrency}
|
fiatCurrency={fiatCurrency}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import React, { useState } from 'react'
|
||||||
import Modal from 'src/components/Modal'
|
import Modal from 'src/components/Modal'
|
||||||
import * as Yup from 'yup'
|
import * as Yup from 'yup'
|
||||||
|
|
||||||
import schema from 'src/pages/Services/schemas'
|
import _schema from 'src/pages/Services/schemas'
|
||||||
import { toNamespace } from 'src/utils/config'
|
import { toNamespace } from 'src/utils/config'
|
||||||
|
|
||||||
import WizardSplash from './WizardSplash'
|
import WizardSplash from './WizardSplash'
|
||||||
|
|
@ -21,6 +21,7 @@ const removeDeprecated = R.filter(({ deprecated }) => !deprecated)
|
||||||
|
|
||||||
const getItems = (accountsConfig, accounts, type, crypto) => {
|
const getItems = (accountsConfig, accounts, type, crypto) => {
|
||||||
const fConfig = removeDeprecated(filterConfig(crypto, type)(accountsConfig))
|
const fConfig = removeDeprecated(filterConfig(crypto, type)(accountsConfig))
|
||||||
|
const schema = _schema()
|
||||||
|
|
||||||
const find = code => accounts && accounts[code]
|
const find = code => accounts && accounts[code]
|
||||||
|
|
||||||
|
|
@ -38,6 +39,7 @@ const getItems = (accountsConfig, accounts, type, crypto) => {
|
||||||
const Wizard = ({
|
const Wizard = ({
|
||||||
coin,
|
coin,
|
||||||
onClose,
|
onClose,
|
||||||
|
schemas,
|
||||||
accountsConfig,
|
accountsConfig,
|
||||||
accounts,
|
accounts,
|
||||||
fiatCurrency,
|
fiatCurrency,
|
||||||
|
|
@ -128,6 +130,7 @@ const Wizard = ({
|
||||||
)}
|
)}
|
||||||
{step !== 0 && (
|
{step !== 0 && (
|
||||||
<WizardStep
|
<WizardStep
|
||||||
|
schemas={schemas}
|
||||||
coin={coin.display}
|
coin={coin.display}
|
||||||
fiatCurrency={fiatCurrency}
|
fiatCurrency={fiatCurrency}
|
||||||
error={error}
|
error={error}
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import FormRenderer from 'src/pages/Services/FormRenderer'
|
||||||
import { Button } from 'src/components/buttons'
|
import { Button } from 'src/components/buttons'
|
||||||
import { RadioGroup, Autocomplete } from 'src/components/inputs'
|
import { RadioGroup, Autocomplete } from 'src/components/inputs'
|
||||||
import { NumberInput } from 'src/components/inputs/formik'
|
import { NumberInput } from 'src/components/inputs/formik'
|
||||||
import schema from 'src/pages/Services/schemas'
|
|
||||||
import { startCase } from 'src/utils/string'
|
import { startCase } from 'src/utils/string'
|
||||||
|
|
||||||
import styles from './WizardStep.styles'
|
import styles from './WizardStep.styles'
|
||||||
|
|
@ -55,6 +54,7 @@ const reducer = (state, action) => {
|
||||||
const WizardStep = ({
|
const WizardStep = ({
|
||||||
type,
|
type,
|
||||||
schema: stepSchema,
|
schema: stepSchema,
|
||||||
|
schemas,
|
||||||
coin,
|
coin,
|
||||||
name,
|
name,
|
||||||
error,
|
error,
|
||||||
|
|
@ -176,8 +176,8 @@ const WizardStep = ({
|
||||||
{form && (
|
{form && (
|
||||||
<FormRenderer
|
<FormRenderer
|
||||||
save={it => innerContinue({ [type]: form.code }, { [form.code]: it })}
|
save={it => innerContinue({ [type]: form.code }, { [form.code]: it })}
|
||||||
elements={schema[form.code].elements}
|
elements={schemas[form.code].elements}
|
||||||
validationSchema={schema[form.code].validationSchema}
|
validationSchema={schemas[form.code].validationSchema}
|
||||||
value={getValue(form.code)}
|
value={getValue(form.code)}
|
||||||
buttonLabel={label}
|
buttonLabel={label}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react'
|
||||||
|
|
||||||
import { ActionButton } from 'src/components/buttons'
|
import { ActionButton } from 'src/components/buttons'
|
||||||
import { RadioGroup } from 'src/components/inputs'
|
import { RadioGroup } from 'src/components/inputs'
|
||||||
import schema from 'src/pages/Services/schemas'
|
import mailgunSchema from 'src/pages/Services/schemas/mailgun'
|
||||||
import styles from 'src/pages/Wizard/Radio.styles'
|
import styles from 'src/pages/Wizard/Radio.styles'
|
||||||
import { fromNamespace, toNamespace, namespaces } from 'src/utils/config'
|
import { fromNamespace, toNamespace, namespaces } from 'src/utils/config'
|
||||||
|
|
||||||
|
|
@ -125,8 +125,8 @@ const Mailgun = () => {
|
||||||
<FormRenderer
|
<FormRenderer
|
||||||
value={accounts.mailgun}
|
value={accounts.mailgun}
|
||||||
save={saveAccount}
|
save={saveAccount}
|
||||||
elements={schema.mailgun.elements}
|
elements={mailgunSchema.elements}
|
||||||
validationSchema={schema.mailgun.validationSchema}
|
validationSchema={mailgunSchema.validationSchema}
|
||||||
buttonLabel={'Save'}
|
buttonLabel={'Save'}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import FormRenderer from 'src/pages/Services/FormRenderer'
|
||||||
|
|
||||||
import { SupportLinkButton, Button } from 'src/components/buttons'
|
import { SupportLinkButton, Button } from 'src/components/buttons'
|
||||||
import { RadioGroup } from 'src/components/inputs'
|
import { RadioGroup } from 'src/components/inputs'
|
||||||
import schema from 'src/pages/Services/schemas'
|
import blockcypherSchema from 'src/pages/Services/schemas/blockcypher'
|
||||||
|
|
||||||
import styles from './Shared.styles'
|
import styles from './Shared.styles'
|
||||||
|
|
||||||
|
|
@ -95,8 +95,8 @@ const Blockcypher = ({ addData }) => {
|
||||||
<FormRenderer
|
<FormRenderer
|
||||||
value={accounts.blockcypher}
|
value={accounts.blockcypher}
|
||||||
save={save}
|
save={save}
|
||||||
elements={schema.blockcypher.elements}
|
elements={blockcypherSchema.elements}
|
||||||
validationSchema={schema.blockcypher.getValidationSchema}
|
validationSchema={blockcypherSchema.getValidationSchema}
|
||||||
buttonLabel={'Continue'}
|
buttonLabel={'Continue'}
|
||||||
buttonClass={classes.formButton}
|
buttonClass={classes.formButton}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react'
|
||||||
|
|
||||||
import { Button, SupportLinkButton } from 'src/components/buttons'
|
import { Button, SupportLinkButton } from 'src/components/buttons'
|
||||||
import { RadioGroup } from 'src/components/inputs'
|
import { RadioGroup } from 'src/components/inputs'
|
||||||
import schema from 'src/pages/Services/schemas'
|
import _schema from 'src/pages/Services/schemas'
|
||||||
|
|
||||||
import styles from './Shared.styles'
|
import styles from './Shared.styles'
|
||||||
import { getItems } from './getItems'
|
import { getItems } from './getItems'
|
||||||
|
|
@ -52,6 +52,7 @@ const ChooseExchange = ({ data: currentData, addData }) => {
|
||||||
const [selected, setSelected] = useState(null)
|
const [selected, setSelected] = useState(null)
|
||||||
const [error, setError] = useState(false)
|
const [error, setError] = useState(false)
|
||||||
|
|
||||||
|
const schema = _schema()
|
||||||
const accounts = data?.accounts ?? []
|
const accounts = data?.accounts ?? []
|
||||||
const accountsConfig = data?.accountsConfig ?? []
|
const accountsConfig = data?.accountsConfig ?? []
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react'
|
||||||
|
|
||||||
import { Button, SupportLinkButton } from 'src/components/buttons'
|
import { Button, SupportLinkButton } from 'src/components/buttons'
|
||||||
import { RadioGroup } from 'src/components/inputs'
|
import { RadioGroup } from 'src/components/inputs'
|
||||||
import schema from 'src/pages/Services/schemas'
|
import _schema from 'src/pages/Services/schemas'
|
||||||
import bitgo from 'src/pages/Services/schemas/singlebitgo'
|
import bitgo from 'src/pages/Services/schemas/singlebitgo'
|
||||||
|
|
||||||
import styles from './Shared.styles'
|
import styles from './Shared.styles'
|
||||||
|
|
@ -54,6 +54,8 @@ const isLocalHosted = it =>
|
||||||
|
|
||||||
const ChooseWallet = ({ data: currentData, addData }) => {
|
const ChooseWallet = ({ data: currentData, addData }) => {
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
|
// no need to fetch exchange config here
|
||||||
|
const schema = _schema()
|
||||||
const { data } = useQuery(GET_CONFIG)
|
const { data } = useQuery(GET_CONFIG)
|
||||||
const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {
|
const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {
|
||||||
onCompleted: () => submit()
|
onCompleted: () => submit()
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
import * as R from 'ramda'
|
import * as R from 'ramda'
|
||||||
|
|
||||||
import schema from 'src/pages/Services/schemas'
|
import _schema from 'src/pages/Services/schemas'
|
||||||
|
|
||||||
const contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))
|
const contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))
|
||||||
const sameClass = type => R.propEq('class', type)
|
const sameClass = type => R.propEq('class', type)
|
||||||
const filterConfig = (crypto, type) =>
|
const filterConfig = (crypto, type) =>
|
||||||
R.filter(it => sameClass(type)(it) && contains(crypto)(it))
|
R.filter(it => sameClass(type)(it) && contains(crypto)(it))
|
||||||
export const getItems = (accountsConfig, accounts, type, crypto) => {
|
export const getItems = (accountsConfig, accounts, type, crypto) => {
|
||||||
|
const schema = _schema()
|
||||||
const fConfig = filterConfig(crypto, type)(accountsConfig)
|
const fConfig = filterConfig(crypto, type)(accountsConfig)
|
||||||
const find = code => accounts && accounts[code]
|
const find = code => accounts && accounts[code]
|
||||||
|
|
||||||
|
|
|
||||||
125
package-lock.json
generated
125
package-lock.json
generated
|
|
@ -990,6 +990,38 @@
|
||||||
"secp256k1": "^4.0.2",
|
"secp256k1": "^4.0.2",
|
||||||
"secrets.js-grempe": "^1.1.0",
|
"secrets.js-grempe": "^1.1.0",
|
||||||
"superagent": "3.8.3"
|
"superagent": "3.8.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"bech32": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
|
||||||
|
},
|
||||||
|
"bitcoinjs-message": {
|
||||||
|
"version": "npm:@bitgo-forks/bitcoinjs-message@1.0.0-master.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-message/-/bitcoinjs-message-1.0.0-master.2.tgz",
|
||||||
|
"integrity": "sha512-XSDGM3rA75vcDxeKqHPexika/TgWUFWdfKTv1lV8TZTb5XFHHD6ARckLdMOBiCf29eZSzbJQvF/OIWqNqMl/2A==",
|
||||||
|
"requires": {
|
||||||
|
"bech32": "^1.1.3",
|
||||||
|
"bs58check": "^2.1.2",
|
||||||
|
"buffer-equals": "^1.0.3",
|
||||||
|
"create-hash": "^1.1.2",
|
||||||
|
"secp256k1": "5.0.0",
|
||||||
|
"varuint-bitcoin": "^1.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"secp256k1": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==",
|
||||||
|
"requires": {
|
||||||
|
"elliptic": "^6.5.4",
|
||||||
|
"node-addon-api": "^5.0.0",
|
||||||
|
"node-gyp-build": "^4.2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@bitgo/sdk-coin-bch": {
|
"@bitgo/sdk-coin-bch": {
|
||||||
|
|
@ -1105,11 +1137,6 @@
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
|
||||||
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
|
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
|
||||||
},
|
|
||||||
"buffer-equals": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-99MsCq0j5+RhubVEtKQgKaD6EM+UP3xJgIvQqwJ3SOLDUekzxMX1ylXBng+Wa2sh7mGT0W6RUly8ojjr1Tt6nA=="
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1203,40 +1230,6 @@
|
||||||
"fastpriorityqueue": "^0.7.1",
|
"fastpriorityqueue": "^0.7.1",
|
||||||
"typeforce": "^1.11.3",
|
"typeforce": "^1.11.3",
|
||||||
"varuint-bitcoin": "^1.1.2"
|
"varuint-bitcoin": "^1.1.2"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"bip174": {
|
|
||||||
"version": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.1.0-master.4.tgz",
|
|
||||||
"integrity": "sha512-WDRNzPSdJGDqQNqfN+L5KHNHFDmNOPYnUnT7NkEkfHWn5m1jSOfcf8Swaslt5P0xcSDiERdN2gZxFc6XtOqRYg=="
|
|
||||||
},
|
|
||||||
"bitcoinjs-lib": {
|
|
||||||
"version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.7.tgz",
|
|
||||||
"integrity": "sha512-FZle7954KnbbVXFCc5uYGtjq+0PFOnFxVchNwt3Kcv2nVusezTp29aeQwDi2Y+lM1dCoup2gJGXMkkREenY7KQ==",
|
|
||||||
"requires": {
|
|
||||||
"bech32": "^2.0.0",
|
|
||||||
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@bitgo/utxo-ord": {
|
"@bitgo/utxo-ord": {
|
||||||
|
|
@ -4318,6 +4311,11 @@
|
||||||
"safe-buffer": "^5.2.1"
|
"safe-buffer": "^5.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"bip174": {
|
||||||
|
"version": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.1.0-master.4.tgz",
|
||||||
|
"integrity": "sha512-WDRNzPSdJGDqQNqfN+L5KHNHFDmNOPYnUnT7NkEkfHWn5m1jSOfcf8Swaslt5P0xcSDiERdN2gZxFc6XtOqRYg=="
|
||||||
|
},
|
||||||
"bip32": {
|
"bip32": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz",
|
||||||
|
|
@ -4356,34 +4354,21 @@
|
||||||
"resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz",
|
||||||
"integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow=="
|
"integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow=="
|
||||||
},
|
},
|
||||||
"bitcoinjs-message": {
|
"bitcoinjs-lib": {
|
||||||
"version": "npm:@bitgo-forks/bitcoinjs-message@1.0.0-master.2",
|
"version": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.7",
|
||||||
"resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-message/-/bitcoinjs-message-1.0.0-master.2.tgz",
|
"resolved": "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.7.tgz",
|
||||||
"integrity": "sha512-XSDGM3rA75vcDxeKqHPexika/TgWUFWdfKTv1lV8TZTb5XFHHD6ARckLdMOBiCf29eZSzbJQvF/OIWqNqMl/2A==",
|
"integrity": "sha512-FZle7954KnbbVXFCc5uYGtjq+0PFOnFxVchNwt3Kcv2nVusezTp29aeQwDi2Y+lM1dCoup2gJGXMkkREenY7KQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bech32": "^1.1.3",
|
"bech32": "^2.0.0",
|
||||||
|
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
||||||
"bs58check": "^2.1.2",
|
"bs58check": "^2.1.2",
|
||||||
"buffer-equals": "^1.0.3",
|
"create-hash": "^1.1.0",
|
||||||
"create-hash": "^1.1.2",
|
"fastpriorityqueue": "^0.7.1",
|
||||||
"secp256k1": "5.0.0",
|
"json5": "^2.2.3",
|
||||||
"varuint-bitcoin": "^1.0.1"
|
"ripemd160": "^2.0.2",
|
||||||
},
|
"typeforce": "^1.11.3",
|
||||||
"dependencies": {
|
"varuint-bitcoin": "^1.1.2",
|
||||||
"bech32": {
|
"wif": "^2.0.1"
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
|
|
||||||
},
|
|
||||||
"secp256k1": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==",
|
|
||||||
"requires": {
|
|
||||||
"elliptic": "^6.5.4",
|
|
||||||
"node-addon-api": "^5.0.0",
|
|
||||||
"node-gyp-build": "^4.2.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bitcore-lib": {
|
"bitcore-lib": {
|
||||||
|
|
@ -6195,6 +6180,16 @@
|
||||||
"safe-buffer": "^5.0.1"
|
"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": {
|
"ecurve": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue