diff --git a/.gitignore b/.gitignore index 12c18aa4a..8e74dfc48 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules .DS_Store bundle .cache +cache hot.json nohot.json config.json @@ -13,3 +14,4 @@ test/.userData .parcel-cache *.tsbuildinfo scripts +*.code-workspace diff --git a/app/App/Panel/Local/index.js b/app/App/Panel/Local/index.js index 03fa27d04..33d26e8f0 100644 --- a/app/App/Panel/Local/index.js +++ b/app/App/Panel/Local/index.js @@ -109,7 +109,11 @@ class Settings extends React.Component { inputLatticeSuffix (e) { e.preventDefault() clearTimeout(this.inputLatticeSuffixTimeout) - const value = e.target.value.replace(/\s+/g, '') + + // Lattice only supports a suffix of up to 24 characters, and we append "Frame-" + // to the front so limit it to 18 characters + const value = e.target.value.replace(/\s+/g, '').substring(0, 18) + this.setState({ latticeSuffix: value }) // TODO: Update to target specific Lattice device rather than global this.inputLatticeSuffixTimeout = setTimeout(() => link.send('tray:action', 'setLatticeSuffix', this.state.latticeSuffix), 1000) @@ -379,7 +383,9 @@ class Settings extends React.Component { onChange={(value) => link.send('tray:action', 'setLatticeAccountLimit', value)} options={[ { text: '5', value: 5 }, - { text: '10', value: 10 } + { text: '10', value: 10 }, + { text: '20', value: 20 }, + { text: '40', value: 40 }, ]} /> diff --git a/app/App/Panel/Main/Account/Requests/ChainRequest/index.js b/app/App/Panel/Main/Account/Requests/ChainRequest/index.js index bf5c82b7f..0f1e6dd5e 100644 --- a/app/App/Panel/Main/Account/Requests/ChainRequest/index.js +++ b/app/App/Panel/Main/Account/Requests/ChainRequest/index.js @@ -15,6 +15,7 @@ class ChainRequest extends React.Component { render () { const status = this.props.req.status const notice = this.props.req.notice + const type = this.props.req.type let requestClass = 'signerRequest' if (status === 'success') requestClass += ' signerRequestSuccess' if (status === 'declined') requestClass += ' signerRequestDeclined' @@ -50,36 +51,64 @@ class ChainRequest extends React.Component { ) : (
-
-
{svg.octicon('shield', { height: 20 })}
-
Add Chain
-
+ {type === 'switchChain' ? ( +
+
{svg.octicon('shield', { height: 20 })}
+
Switch Chain
+
+ ) : ( +
+
{svg.octicon('shield', { height: 20 })}
+
Add Chain
+
+ )}
{this.props.req.origin}
-
{'wants to add chain'}
-
{chain.name}
+
{type === 'switchChain' ? 'wants to switch to chain' : 'wants to add chain'}
+
{type === 'switchChain' ? ( + this.store('main.networks', chain.type, parseInt(chain.id), 'name') + ) : chain.name}
)} -
-
{ if (this.state.allowInput && this.props.onTop) link.send('tray:addChain', false, this.props.req) - }}> -
Decline
+ {type === 'switchChain' ? ( +
+
{ if (this.state.allowInput && this.props.onTop) link.send('tray:switchChain', false, false, this.props.req) + }}> +
Decline
+
+
{ if (this.state.allowInput && this.props.onTop) link.send('tray:switchChain', chain.type, parseInt(chain.id), this.props.req) + }}> +
Switch
+
-
{ if (this.state.allowInput && this.props.onTop) this.store.notify('addChain', this.props.req) - }}> -
Review
+ ) : ( +
+
{ if (this.state.allowInput && this.props.onTop) link.send('tray:addChain', false, this.props.req) + }}> +
Decline
+
+
{ if (this.state.allowInput && this.props.onTop) this.store.notify('addChain', this.props.req) + }}> +
Review
+
-
+ )}
) } diff --git a/app/App/Panel/Main/Account/Requests/TransactionRequest/TxFeeNew/index.js b/app/App/Panel/Main/Account/Requests/TransactionRequest/TxFeeNew/index.js index b6a9c8e4d..273c35f6f 100644 --- a/app/App/Panel/Main/Account/Requests/TransactionRequest/TxFeeNew/index.js +++ b/app/App/Panel/Main/Account/Requests/TransactionRequest/TxFeeNew/index.js @@ -11,7 +11,7 @@ class TxFee extends React.Component { super(props, context) this.chain = { type: 'ethereum', - id: parseInt(props.req.data.chainId, 'hex').toString() + id: parseInt(props.req.data.chainId, 'hex') } } toDisplayUSD (bn) { diff --git a/app/App/Panel/Main/Account/Requests/TransactionRequest/TxOverlay/TxFeeOverlay/index.js b/app/App/Panel/Main/Account/Requests/TransactionRequest/TxOverlay/TxFeeOverlay/index.js index c2fc44fab..3346e2bd6 100644 --- a/app/App/Panel/Main/Account/Requests/TransactionRequest/TxOverlay/TxFeeOverlay/index.js +++ b/app/App/Panel/Main/Account/Requests/TransactionRequest/TxOverlay/TxFeeOverlay/index.js @@ -9,6 +9,22 @@ import { usesBaseFee } from '../../../../../../../../../main/transaction' import BigNumber from 'bignumber.js' +function maxFee (tx = { chainId: '' }) { + const chainId = parseInt(tx.chainId) + + // for ETH-based chains, the max fee should be 2 ETH + if ([1, 3, 4, 5, 6, 10, 42, 61, 62, 63, 69, 42161, 421611].includes(chainId)) { + return 2 * 1e18 + } + + // for Fantom, the max fee should be 250 FTM + if ([250, 4002].includes(chainId)) { + return 250 * 1e18 + } + + // for all other chains, default to 10 of the chain's currency + return 10 * 1e18 +} //
//
@@ -20,8 +36,6 @@ import BigNumber from 'bignumber.js' //
//
-const FEE_MAX_TOTAL_ETH_WEI = 2 * 1e18 - class TxFeeOverlay extends React.Component { constructor (props, context) { super(props, context) @@ -95,8 +109,10 @@ class TxFeeOverlay extends React.Component { baseFee = this.limitRange(baseFee, 0, 9999) const priorityFee = parseFloat(this.state.priorityFee) const gasLimit = parseInt(this.state.gasLimit) - if (gweiToWei(baseFee + priorityFee) * gasLimit > FEE_MAX_TOTAL_ETH_WEI) { - baseFee = Math.floor(FEE_MAX_TOTAL_ETH_WEI / gasLimit / 1e9) - priorityFee + const maxTotalFee = maxFee(this.props.req.data) + + if (gweiToWei(baseFee + priorityFee) * gasLimit > maxTotalFee) { + baseFee = Math.floor(maxTotalFee / gasLimit / 1e9) - priorityFee } link.rpc('setBaseFee', gweiToWeiHex(baseFee), this.props.req.handlerId, e => { if (e) console.error(e) @@ -114,8 +130,10 @@ class TxFeeOverlay extends React.Component { priorityFee = this.limitRange(priorityFee, 0, 9999) const baseFee = parseFloat(this.state.baseFee) const gasLimit = parseInt(this.state.gasLimit) - if (gweiToWei(baseFee + priorityFee) * gasLimit > FEE_MAX_TOTAL_ETH_WEI) { - priorityFee = Math.floor(FEE_MAX_TOTAL_ETH_WEI / gasLimit / 1e9) - baseFee + const maxTotalFee = maxFee(this.props.req.data) + + if (gweiToWei(baseFee + priorityFee) * gasLimit > maxTotalFee) { + priorityFee = Math.floor(maxTotalFee / gasLimit / 1e9) - baseFee } link.rpc('setPriorityFee', gweiToWeiHex(priorityFee), this.props.req.handlerId, e => { if (e) console.error(e) @@ -134,8 +152,10 @@ class TxFeeOverlay extends React.Component { if (isNaN(gasPrice)) return gasPrice = this.limitRange(gasPrice, 0, 9999) const gasLimit = parseInt(this.state.gasLimit) - if (gweiToWei(gasPrice) * gasLimit > FEE_MAX_TOTAL_ETH_WEI) { - gasPrice = Math.floor(FEE_MAX_TOTAL_ETH_WEI / gasLimit / 1e9) + const maxTotalFee = maxFee(this.props.req.data) + + if (gweiToWei(gasPrice) * gasLimit > maxTotalFee) { + gasPrice = Math.floor(maxTotalFee / gasLimit / 1e9) } link.rpc('setGasPrice', gweiToWeiHex(gasPrice), this.props.req.handlerId, e => { if (e) console.error(e) @@ -150,17 +170,21 @@ class TxFeeOverlay extends React.Component { this.gasLimitSubmitTimeout = setTimeout(() => { gasLimit = parseInt(gasLimit) if (isNaN(gasLimit)) return - if (gasLimit > 12.5e6) gasLimit = 12.5e6 + if (gasLimit > 12.5e6) gasLimit = 12.5e6 + + const maxTotalFee = maxFee(this.props.req.data) + if (usesBaseFee(this.props.req.data)) { const baseFee = parseFloat(this.state.baseFee) const priorityFee = parseFloat(this.state.priorityFee) - if (gweiToWei(baseFee + priorityFee) * gasLimit > FEE_MAX_TOTAL_ETH_WEI) { - gasLimit = Math.floor(FEE_MAX_TOTAL_ETH_WEI / gweiToWei(baseFee + priorityFee)) + + if (gweiToWei(baseFee + priorityFee) * gasLimit > maxTotalFee) { + gasLimit = Math.floor(maxTotalFee / gweiToWei(baseFee + priorityFee)) } } else { const gasPrice = parseFloat(this.state.gasPrice) - if (gweiToWei(gasPrice) * gasLimit > FEE_MAX_TOTAL_ETH_WEI) { - gasLimit = Math.floor(FEE_MAX_TOTAL_ETH_WEI / gweiToWei(gasPrice)) + if (gweiToWei(gasPrice) * gasLimit > maxTotalFee) { + gasLimit = Math.floor(maxTotalFee / gweiToWei(gasPrice)) } } link.rpc('setGasLimit', '0x' + gasLimit.toString(16), this.props.req.handlerId, e => { diff --git a/app/App/Panel/Main/Account/Requests/TransactionRequest/index.js b/app/App/Panel/Main/Account/Requests/TransactionRequest/index.js index 5a63f25c5..288d57994 100644 --- a/app/App/Panel/Main/Account/Requests/TransactionRequest/index.js +++ b/app/App/Panel/Main/Account/Requests/TransactionRequest/index.js @@ -71,7 +71,7 @@ class TransactionRequest extends React.Component { super(props, context) this.chain = { type: 'ethereum', - id: parseInt(props.req.data.chainId, 'hex').toString() + id: parseInt(props.req.data.chainId, 'hex') } this.state = { allowInput: false, dataView: false } setTimeout(() => { diff --git a/app/App/Panel/Main/Account/Requests/index.js b/app/App/Panel/Main/Account/Requests/index.js index ca5336640..32d7ae949 100644 --- a/app/App/Panel/Main/Account/Requests/index.js +++ b/app/App/Panel/Main/Account/Requests/index.js @@ -146,7 +146,7 @@ class Requests extends React.Component { if (req.type === 'access') return if (req.type === 'sign') return if (req.type === 'signTypedData') return - if (req.type === 'addChain') return + if (req.type === 'addChain' || req.type === 'switchChain') return return null })}
diff --git a/app/App/Panel/Main/Account/SignerStatus/index.js b/app/App/Panel/Main/Account/SignerStatus/index.js index 274f37568..c823e5d44 100644 --- a/app/App/Panel/Main/Account/SignerStatus/index.js +++ b/app/App/Panel/Main/Account/SignerStatus/index.js @@ -21,30 +21,6 @@ class SignerStatus extends React.Component { this.inputRef = React.createRef() } - // clickListener (event) { - // console.log('found a clikc') - // const statusRef = ReactDOM.findDOMNode(this.statusRef.current) - // if (statusRef && statusRef.contains(event.target)) { - // console.log('inside statu ref') - // this.setState({ hideStatus: false }) - // } else { - // console.log('outside statu ref') - // this.setState({ hideStatus: true }) - // } - // // if (!element.contains(event.target)) { // or use: event.target.closest(selector) === null - // // element.style.display = 'none' - // // removeClickListener() - // // } - // } - - // componentDidMount () { - // document.addEventListener('mousedown', this.clickListener.bind(this)) - // } - - // componentWillUnmount () { - // document.removeEventListener('mousedown', this.clickListener.bind(this)) - // } - shake () { this.setState({ shake: true }) setTimeout(() => { diff --git a/app/App/Panel/Main/Account/Verify/index.js b/app/App/Panel/Main/Account/Verify/index.js index 9584164c1..66bbdd1ef 100644 --- a/app/App/Panel/Main/Account/Verify/index.js +++ b/app/App/Panel/Main/Account/Verify/index.js @@ -19,7 +19,7 @@ class Verify extends React.Component { } verifyAddress () { - link.rpc('verifyAddress', (err, res) => { + link.rpc('verifyAddress', err => { if (err) { this.setState({ verifyAddressSuccess: false, verifyAddressResponse: err }) } else { diff --git a/app/App/Panel/Main/Account/index.js b/app/App/Panel/Main/Account/index.js index 67aece8d7..5b36c895b 100644 --- a/app/App/Panel/Main/Account/index.js +++ b/app/App/Panel/Main/Account/index.js @@ -289,7 +289,7 @@ class _AccountMain extends React.Component { const chainId = this.store('main.currentNetwork.id') let slideHeight = 0 const modules = accountModuleOrder.map((id, i) => { - if (chainId !== '1' && id === 'inventory') return undefined + if (chainId !== 1 && id === 'inventory') return undefined const module = accountModules[id] || { height: 0 } slideHeight += module.height + 5 return this.renderModule(id, module, slideHeight - module.height - 5, i, id => { @@ -981,7 +981,7 @@ class Account extends React.Component { {!this.state.addressHover ? this.renderSignerIndicator() : null} {!this.state.addressHover ? ( <> -
+
{svg.grab(35)}
diff --git a/app/App/Panel/Main/Signer/index.js b/app/App/Panel/Main/Signer/index.js index 90df87c73..c9e34e6b0 100644 --- a/app/App/Panel/Main/Signer/index.js +++ b/app/App/Panel/Main/Signer/index.js @@ -32,7 +32,7 @@ class _Balances extends React.Component { setActive (active) { const { type, id } = this.store('main.currentNetwork') - if (type !== 'ethereum' || id !== '1') return + if (type !== 'ethereum' || id !== 1) return this.setState({ openActive: active }) this.openTimer = setTimeout(() => this.setState({ open: active }), 480) if (active && !this.state.openActive) { diff --git a/app/App/Panel/Main/style/index.styl b/app/App/Panel/Main/style/index.styl index 35840800c..163163b70 100644 --- a/app/App/Panel/Main/style/index.styl +++ b/app/App/Panel/Main/style/index.styl @@ -132,6 +132,36 @@ font-size 20px padding 18px + .panelHeaderAddChain + position absolute + right 12px + top 16px + bottom 0 + cursor pointer + height 32px + width 106px + border-radius 16px + background var(--ghostB) + display flex + justify-content center + align-items center + font-size 10px + font-weight 300 + overflow hidden + background-position 0 100% + text-transform uppercase + letter-spacing 2px + font-weight 600 + cursor pointer + + .panelHeaderAddChainInner + pointer-events none + margin-left 4px + margin-top -1px + + .panelHeaderAddChain:hover + color var(--good) + .panelHeaderUpdate position absolute right 12px diff --git a/app/App/Panel/Networks/index.js b/app/App/Panel/Networks/index.js index 042fa3704..0bfb41a1c 100644 --- a/app/App/Panel/Networks/index.js +++ b/app/App/Panel/Networks/index.js @@ -2,19 +2,9 @@ import React from 'react' import Restore from 'react-restore' import link from '../../../../resources/link' import svg from '../../../../resources/svg' -// import Client from '../Client' import Dropdown from '../../Components/Dropdown' -// - - -// import React from 'react' -// import Restore from 'react-restore' - -// import svg from '../../../../../resources/svg' -// import link from '../../../../../resources/link' - class _Network extends React.Component { constructor (props, context) { super(props, context) @@ -133,15 +123,6 @@ class _Network extends React.Component { if (this.state.primaryCustom === '') this.setState({ primaryCustom: this.customMessage }) } - componentDidMount () { - const { id, type } = this.props - this.store.observer(() => { - const primaryCustom = this.store('main.networks', type, id, 'connection.primary.custom') || this.customMessage - const secondaryCustom = this.store('main.networks', type, id, 'connection.secondary.custom') || this.customMessage - this.setState({ primaryCustom, secondaryCustom }) - }) - } - render () { const changed = ( this.state.id && @@ -186,7 +167,7 @@ class _Network extends React.Component { }} />
- {this.props.id === '1' ? ( + {this.props.id === 1 ? (
{svg.lock(9)}
) : (
{ @@ -295,7 +276,7 @@ class _Network extends React.Component { className='chainIdInput' value={this.state.id} spellCheck='false' onChange={(e) => { - if (type === 'ethereum' && id === '1') return + if (type === 'ethereum' && id === 1) return this.setState({ id: e.target.value }) }} onBlur={(e) => { @@ -306,7 +287,7 @@ class _Network extends React.Component { className='chainSymbolInput' value={this.state.symbol} spellCheck='false' onChange={(e) => { - if (type === 'ethereum' && id === '1') return + if (type === 'ethereum' && id === 1) return if (e.target.value.length > 8) return e.preventDefault() this.setState({ symbol: e.target.value }) }} @@ -317,7 +298,7 @@ class _Network extends React.Component { this.setState({ layer })} - options={type === 'ethereum' && id === '1' ? [ + options={type === 'ethereum' && id === 1 ? [ { text: 'mainnet', value: 'mainnet'} ] : [ { text: 'rollup', value: 'rollup'}, @@ -343,7 +324,7 @@ class _Network extends React.Component { ) : null} {this.state.showControls ? ( - type === 'ethereum' && id === '1' ? ( + type === 'ethereum' && id === 1 ? (
{svg.lock(11)} @@ -440,78 +421,6 @@ class Settings extends React.Component { } } - // okProtocol (location) { - // if (location === 'injected') return true - // if (location.endsWith('.ipc')) return true - // if (location.startsWith('wss://') || location.startsWith('ws://')) return true - // if (location.startsWith('https://') || location.startsWith('http://')) return true - // return false - // } - - // customSecondaryFocus () { - // if (this.state.secondaryCustom === this.customMessage) this.setState({ secondaryCustom: '' }) - // } - - // customSecondaryBlur () { - // if (this.state.secondaryCustom === '') this.setState({ secondaryCustom: this.customMessage }) - // } - - // customPrimaryFocus () { - // if (this.state.primaryCustom === this.customMessage) this.setState({ primaryCustom: '' }) - // } - - // customPrimaryBlur () { - // if (this.state.primaryCustom === '') this.setState({ primaryCustom: this.customMessage }) - // } - - // inputPrimaryCustom (e) { - // e.preventDefault() - // clearTimeout(this.customPrimaryInputTimeout) - // const value = e.target.value.replace(/\s+/g, '') - // this.setState({ primaryCustom: value }) - // const { type, id } = this.store('main.currentNetwork') - // this.customPrimaryInputTimeout = setTimeout(() => link.send('tray:action', 'setPrimaryCustom', type, id, this.state.primaryCustom), 1000) - // } - - // inputSecondaryCustom (e) { - // e.preventDefault() - // clearTimeout(this.customSecondaryInputTimeout) - // const value = e.target.value.replace(/\s+/g, '') - // this.setState({ secondaryCustom: value }) - // const { type, id } = this.store('main.currentNetwork') - // this.customSecondaryInputTimeout = setTimeout(() => link.send('tray:action', 'setSecondaryCustom', type, id, this.state.secondaryCustom), 1000) - // } - - // localShake (key) { - // const localShake = Object.assign({}, this.state.localShake) - // localShake[key] = true - // this.setState({ localShake }) - // setTimeout(() => { - // const localShake = Object.assign({}, this.state.localShake) - // localShake[key] = false - // this.setState({ localShake }) - // }, 1010) - // } - - // status (layer) { - // const { type, id } = this.store('main.currentNetwork') - // const connection = this.store('main.networks', type, id, 'connection', layer) - // let status = connection.status - // const current = connection.current - - // if (current === 'custom') { - // if (layer === 'primary' && this.state.primaryCustom !== '' && this.state.primaryCustom !== this.customMessage && !this.okProtocol(this.state.primaryCustom)) status = 'invalid target' - // if (layer === 'secondary' && this.state.secondaryCustom !== '' && this.state.secondaryCustom !== this.customMessage && !this.okProtocol(this.state.secondaryCustom)) status = 'invalid target' - // } - // if (status === 'connected' && !connection.network) status = 'loading' - // return ( - //
- // {this.indicator(status)} - //
{status}
- //
- // ) - // } - discord () { return (
this.store.notify('openExternal', { url: 'https://discord.gg/UH7NGqY' })}> @@ -529,16 +438,6 @@ class Settings extends React.Component { ) } - // indicator (status) { - // if (status === 'connected') { - // return
- // } else if (status === 'loading' || status === 'syncing' || status === 'pending' || status === 'standby') { - // return
- // } else { - // return
- // } - // } - selectNetwork (network) { const [type, id] = network.split(':') if (network.type !== type || network.id !== id) link.send('tray:action', 'selectNetwork', type, id) @@ -567,14 +466,6 @@ class Settings extends React.Component { } renderConnections (layer) { - // const { type, id } = this.store('main.currentNetwork') - // const networkPresets = this.store('main.networkPresets', type) - // let presets = networkPresets[id] || {} - // const { type, id } = this.store('main.currentNetwork') - // const networks = this.store('main.networks') - // const connection = networks[type][id].connection - // console.log(presets) - // const networks = this.store('main.networks') const nets = [] const networks = this.store('main.networks') Object.keys(networks).forEach(type => { @@ -621,8 +512,13 @@ class Settings extends React.Component { }) return (
this.expandNetwork(e, false)}> -
+
Chains
+
this.store.notify('addChain')}> +
+ {'Add Chain'} +
+
@@ -645,12 +541,6 @@ class Settings extends React.Component {
Other
{this.renderConnections('other')} -
-
this.store.notify('addChain')} - >Add a new chain
-
{this.discord()}
@@ -659,46 +549,3 @@ class Settings extends React.Component { } export default Restore.connect(Settings) - -//
-//
{provider.url}
-//
-// {this.store('node.provider') ? 'connected' : 'disconnected'} -//
-//
- -//
this.store.runLocalNode()}> -//
{'Run Local Node'}
-//
-//
-//
-//
- -/*
-
-
-
Local
-
link.send('tray:action', 'toggleConnection', 'primary')}> -
-
-
-
-
- {this.status(this.store('main..connection.local'))} -
-
this.localShake('custom')}> -
- {this.store('main..connection.local.type') ? ( -
{this.store('main..connection.local.type')}
- ) : (_ => { - const status = this.store('main..connection.local.status') - if (status === 'not found' || status === 'loading' || status === 'disconnected') return
scanning...
- return '' - })()} -
-
-
-
-
-
-
*/ diff --git a/app/App/Panel/Networks/style/index.styl b/app/App/Panel/Networks/style/index.styl index aee16e2ec..749f1862b 100644 --- a/app/App/Panel/Networks/style/index.styl +++ b/app/App/Panel/Networks/style/index.styl @@ -280,7 +280,7 @@ cursor pointer .discordInvite - margin 0px 8px 30px 8px + margin 30px 8px 30px 8px font-size 13px font-weight 300 border-radius 20px diff --git a/app/App/Panel/Notify/AddChain/index.js b/app/App/Panel/Notify/AddChain/index.js index d4f1a80e9..4f47312c6 100644 --- a/app/App/Panel/Notify/AddChain/index.js +++ b/app/App/Panel/Notify/AddChain/index.js @@ -16,13 +16,18 @@ class AddChain extends React.Component { this.newNetworkLayer = '' this.req = props.req this.chain = (this.req && this.req.chain) || {} + + const blockExplorerUrls = this.chain.blockExplorerUrls || [] + const rpcUrls = this.chain.rpcUrls || [] + const nativeChainCurrency = this.chain.nativeCurrency || {} + this.state = { newNetworkId: parseInt(this.chain.id, 'hex') || this.newNetworkIdDefault, newNetworkName: this.chain.name || this.newNetworkNameDefault, - newNetworkExplorer: this.chain.explorer || this.newNetworkExplorerDefault, - newNetworkRPCPrimary: this.chain.rpcUrl || this.newNetworkRPCPrimary, - newNetworkRPCSecondary: this.newNetworkRPCSecondary, - newNetworkSymbol: this.chain.symbol || this.newNetworkSymbolDefault, + newNetworkExplorer: blockExplorerUrls[0] || this.newNetworkExplorerDefault, + newNetworkRPCPrimary: rpcUrls[0] || this.newNetworkRPCPrimary, + newNetworkRPCSecondary: rpcUrls[1] || this.newNetworkRPCSecondary, + newNetworkSymbol: nativeChainCurrency.symbol || this.newNetworkSymbolDefault, newNetworkType: this.chain.type || this.newNetworkType, newNetworkLayer: this.chain.layer || 'other', localShake: {}, diff --git a/app/App/Panel/Phase/AddAragon/index.js b/app/App/Panel/Phase/AddAragon/index.js index 76595d0cb..30c79b188 100644 --- a/app/App/Panel/Phase/AddAragon/index.js +++ b/app/App/Panel/Phase/AddAragon/index.js @@ -205,8 +205,8 @@ class AddAragon extends React.Component { className='phaseItemSummary' onMouseDown={() => { const net = this.store('main.currentNetwork.id') const open = url => this.store.notify('openExternal', { url }) - if (net === '1') return open('https://mainnet.aragon.org') - if (net === '4') return open('https://rinkeby.aragon.org') + if (net === 1) return open('https://mainnet.aragon.org') + if (net === 4) return open('https://rinkeby.aragon.org') return open('https://aragon.org') }} >{'Don\'t have a dao? Create one'} diff --git a/app/App/Panel/Phase/AddPhrase/index.js b/app/App/Panel/Phase/AddPhrase/index.js index 2ab810d8b..31560f6e7 100644 --- a/app/App/Panel/Phase/AddPhrase/index.js +++ b/app/App/Panel/Phase/AddPhrase/index.js @@ -116,7 +116,7 @@ class AddPhrase extends React.Component {
{ this.adding() - if (this.store('main.currentNetwork.id') === '1') setTimeout(() => this.store.notify('hotAccountWarning'), 800) + if (this.store('main.currentNetwork.id') === 1) setTimeout(() => this.store.notify('hotAccountWarning'), 800) }} > Add Phrase Account diff --git a/dash/App/Add/AddAddress/index.js b/dash/App/Add/AddAddress/index.js index 907039357..e8161f583 100644 --- a/dash/App/Add/AddAddress/index.js +++ b/dash/App/Add/AddAddress/index.js @@ -60,7 +60,7 @@ class AddPhrase extends React.Component { } else { this.setState({ status: 'Successful', error: false }) setTimeout(() => { - this.store.toggleAddAccount() + this.props.close() }, 2000) } }) diff --git a/dash/App/Add/AddAragon/index.js b/dash/App/Add/AddAragon/index.js index 95eb51a17..f97315213 100644 --- a/dash/App/Add/AddAragon/index.js +++ b/dash/App/Add/AddAragon/index.js @@ -94,7 +94,7 @@ class AddAragon extends React.Component { } else { this.setState({ status: 'Successful', error: false }) setTimeout(() => { - this.store.toggleAddAccount() + this.props.close() }, 2000) } }) diff --git a/dash/App/Add/AddGnosisSafe/index.js b/dash/App/Add/AddGnosisSafe/index.js index 4210b3c74..4a3673b42 100644 --- a/dash/App/Add/AddGnosisSafe/index.js +++ b/dash/App/Add/AddGnosisSafe/index.js @@ -102,7 +102,7 @@ class AddAragon extends React.Component { } else { this.setState({ status: 'Successful', error: false }) setTimeout(() => { - this.store.toggleAddAccount() + this.props.close() }, 2000) } }) diff --git a/dash/App/Add/AddHardware/index.js b/dash/App/Add/AddHardware/index.js index 35b8fe071..f02fef906 100644 --- a/dash/App/Add/AddHardware/index.js +++ b/dash/App/Add/AddHardware/index.js @@ -51,7 +51,7 @@ class AddHardware extends React.Component { ) }).concat(tethered.map((signer, i) => { return ( -
this.store.toggleAddAccount()}> +
Device Found
Account Created
diff --git a/dash/App/Add/AddKeystore/index.js b/dash/App/Add/AddKeystore/index.js new file mode 100644 index 000000000..14170806a --- /dev/null +++ b/dash/App/Add/AddKeystore/index.js @@ -0,0 +1,188 @@ +import React from 'react' +import Restore from 'react-restore' + +import link from '../../../../resources/link' +import svg from '../../../../resources/svg' + +class AddRing extends React.Component { + constructor (...args) { + super(...args) + this.state = { + index: 0, + adding: false, + password: '', + status: '', + error: false, + mode: this.props.mode ? this.props.mode : 'manual', + keystore: '', + keystorePassword: '' + } + this.forms = { + keystorePassword: React.createRef(), + keystoreCreatePassword: React.createRef() + } + } + + onChange (key, e) { + e.preventDefault() + const update = {} + update[key] = e.target.value || '' + this.setState(update) + } + + onBlur (key, e) { + e.preventDefault() + const update = {} + update[key] = this.state[key] || '' + this.setState(update) + } + + onFocus (key, e) { + e.preventDefault() + if (this.state[key] === '') { + const update = {} + update[key] = '' + this.setState(update) + } + } + + next () { + this.blurActive() + this.setState({ index: ++this.state.index }) + this.focusActive() + } + + createKeystore () { + this.next() + link.rpc('createFromKeystore', this.state.keystore, this.state.keystorePassword, this.state.password, (err, signer) => { + if (err) { + this.setState({ status: err, error: true }) + } else { + this.setState({ status: 'Successful', error: false }) + setTimeout(() => { + this.props.close() + }, 2000) + } + }) + } + + addKeystore () { + this.setState({ mode: 'keystore' }) + this.next() + setTimeout(() => { + link.rpc('locateKeystore', (err, keystore) => { + if (err) { + this.setState({ keystore: '', error: err }) + } else { + this.setState({ keystore }) + this.next() + } + }) + }, 640) + } + + restart () { + this.setState({ index: 1, adding: false, password: '', mode: 'manual', privateKey: '', keystore: '', keystorePassword: '' }) + setTimeout(() => { + this.setState({ status: '', error: false }) + }, 500) + this.focusActive() + } + + keyPress (e, next) { + if (e.key === 'Enter') { + e.preventDefault() + next() + } + } + + adding () { + this.setState({ adding: true }) + } + + blurActive () { + const formInput = this.currentForm() + if (formInput) formInput.current.blur() + } + + focusActive () { + setTimeout(() => { + const formInput = this.currentForm() + if (formInput) formInput.current.focus() + }, 500) + } + + currentForm () { + let current + if (this.state.index === 2) current = this.forms.keystorePassword + if (this.state.index === 3) current = this.forms.keystoreCreatePassword + return current + } + + render () { + let itemClass = 'addAccountItem addAccountItemSmart addAccountItemAdding' + const { type, id } = this.store('main.currentNetwork') + const network = type + ':' + id + return ( +
+
+
+
+
+
+
{svg.octicon('key', { height: 23 })}
+
+
+
Keyring
+
+
this.props.close()}>{svg.close(24)}
+
A keyring account lets you add individual private keys to an account
+
+
+
{ + this.adding() + if (network === 'ethereum:1') setTimeout(() => this.store.notify('hotAccountWarning'), 800) + }} + > + Add Keyring Account +
+
+
+
+
Add Keystore File
+
this.addKeystore()}>Locate Keystore File (json)
+
+
+
Locating Keystore
+
+
+
Enter Keystore Password
+
+ this.onChange('keystorePassword', e)} onFocus={e => this.onFocus('keystorePassword', e)} onBlur={e => this.onBlur('keystorePassword', e)} onKeyPress={e => this.keyPress(e, () => this.next())} /> +
+
this.next()}>Next
+
+
+
Create Account Password
+
+
password must be 12 characters or longer
+ this.onChange('password', e)} onFocus={e => this.onFocus('password', e)} onBlur={e => this.onBlur('password', e)} onKeyPress={e => this.keyPress(e, () => this.createKeystore())} /> +
+
this.createKeystore()}>Create
+
+
+
{this.state.status}
+ {this.state.error ?
this.restart()}>try again
: null} +
+
+
+
+
+
+
+ ) + } +} + +export default Restore.connect(AddRing) diff --git a/dash/App/Add/AddPhrase/index.js b/dash/App/Add/AddPhrase/index.js index 87478090f..7169444b9 100644 --- a/dash/App/Add/AddPhrase/index.js +++ b/dash/App/Add/AddPhrase/index.js @@ -61,9 +61,9 @@ class AddPhrase extends React.Component { this.setState({ status: err, error: true }) } else { this.setState({ status: 'Successful', error: false, createdSignerId: signer.id }) - // setTimeout(() => { - // this.store.toggleAddAccount() - // }, 2000) + setTimeout(() => { + this.props.close() + }, 2000) } }) } diff --git a/dash/App/Add/AddRing/index.js b/dash/App/Add/AddRing/index.js index 5ef5464d2..f384ac436 100644 --- a/dash/App/Add/AddRing/index.js +++ b/dash/App/Add/AddRing/index.js @@ -14,15 +14,11 @@ class AddRing extends React.Component { status: '', error: false, mode: 'manual', - privateKey: '', - keystore: '', - keystorePassword: '' + privateKey: '' } this.forms = { enterPrivateKey: React.createRef(), - manualCreatePassword: React.createRef(), - keystorePassword: React.createRef(), - keystoreCreatePassword: React.createRef() + manualCreatePassword: React.createRef() } } @@ -63,52 +59,14 @@ class AddRing extends React.Component { } else { this.setState({ status: 'Successful', error: false }) setTimeout(() => { - this.store.toggleAddAccount() + this.props.close() }, 2000) } }) } - createKeystore () { - this.next() - link.rpc('createFromKeystore', this.state.keystore, this.state.keystorePassword, this.state.password, (err, signer) => { - if (err) { - this.setState({ status: err, error: true }) - } else { - this.setState({ status: 'Successful', error: false }) - setTimeout(() => { - this.store.toggleAddAccount() - }, 2000) - } - }) - } - - // restart () { - // this.setState({ index: 0, adding: true, phrase: '', password: '', status: '', success: false, error: false }) - // } - - addManual () { - this.setState({ mode: 'manual' }) - this.next() - } - - addKeystore () { - this.setState({ mode: 'keystore' }) - this.next() - setTimeout(() => { - link.rpc('locateKeystore', (err, keystore) => { - if (err) { - this.setState({ keystore: '', error: err }) - } else { - this.setState({ keystore }) - this.next() - } - }) - }, 640) - } - restart () { - this.setState({ index: 0, adding: false, password: '', mode: 'manual', privateKey: '', keystore: '', keystorePassword: '' }) + this.setState({ index: 0, adding: false, password: '', mode: 'manual', privateKey: '' }) setTimeout(() => { this.setState({ status: '', error: false }) }, 500) @@ -140,13 +98,8 @@ class AddRing extends React.Component { currentForm () { let current - if (this.state.mode === 'manual') { - if (this.state.index === 1) current = this.forms.enterPrivateKey - if (this.state.index === 2) current = this.forms.manualCreatePassword - } else if (this.state.mode === 'keystore') { - if (this.state.index === 2) current = this.forms.keystorePassword - if (this.state.index === 3) current = this.forms.keystoreCreatePassword - } + if (this.state.index === 0) current = this.forms.enterPrivateKey + if (this.state.index === 1) current = this.forms.manualCreatePassword return current } @@ -181,58 +134,24 @@ class AddRing extends React.Component {
-
Add Private Key
-
this.addManual()}>Enter Manually
-
this.addKeystore()}>Use Keystore.json
+
Enter Private Key
+
+ this.onChange('privateKey', e)} onFocus={e => this.onFocus('privateKey', e)} onBlur={e => this.onBlur('privateKey', e)} onKeyPress={e => this.keyPress(e, () => this.next())} /> +
+
this.next()}>Next
+
+
+
Create Password
+
+
password must be 12 characters or longer
+ this.onChange('password', e)} onFocus={e => this.onFocus('password', e)} onBlur={e => this.onBlur('password', e)} onKeyPress={e => this.keyPress(e, () => this.createManual())} /> +
+
this.createManual()}>Create
+
+
+
{this.state.status}
+ {this.state.error ?
this.restart()}>try again
: null}
- {this.state.mode === 'manual' ? ( - <> -
-
Enter Private Key
-
- this.onChange('privateKey', e)} onFocus={e => this.onFocus('privateKey', e)} onBlur={e => this.onBlur('privateKey', e)} onKeyPress={e => this.keyPress(e, () => this.next())} /> -
-
this.next()}>Next
-
-
-
Create Password
-
-
password must be 12 characters or longer
- this.onChange('password', e)} onFocus={e => this.onFocus('password', e)} onBlur={e => this.onBlur('password', e)} onKeyPress={e => this.keyPress(e, () => this.createManual())} /> -
-
this.createManual()}>Create
-
-
-
{this.state.status}
- {this.state.error ?
this.restart()}>try again
: null} -
- - ) : ( - <> -
-
Locating Keystore
-
-
-
Enter Keystore Password
-
- this.onChange('keystorePassword', e)} onFocus={e => this.onFocus('keystorePassword', e)} onBlur={e => this.onBlur('keystorePassword', e)} onKeyPress={e => this.keyPress(e, () => this.next())} /> -
-
this.next()}>Next
-
-
-
Create Account Password
-
-
password must be 12 characters or longer
- this.onChange('password', e)} onFocus={e => this.onFocus('password', e)} onBlur={e => this.onBlur('password', e)} onKeyPress={e => this.keyPress(e, () => this.createKeystore())} /> -
-
this.createKeystore()}>Create
-
-
-
{this.state.status}
- {this.state.error ?
this.restart()}>try again
: null} -
- - )}
diff --git a/dash/App/Add/index.js b/dash/App/Add/index.js index 01777bbac..90cba0e9c 100644 --- a/dash/App/Add/index.js +++ b/dash/App/Add/index.js @@ -32,7 +32,7 @@ class Add extends React.Component { } toggleAddAccount (state) { - if (state === 'entered' || state === 'exited') this.store.toggleAddAccount() + if (state === 'entered' || state === 'exited') this.props.close() } exit () { diff --git a/dash/App/index.js b/dash/App/index.js index d0030e3ae..d33f65d2b 100644 --- a/dash/App/index.js +++ b/dash/App/index.js @@ -10,6 +10,7 @@ import AddHardwareLattice from './Add/AddHardwareLattice' import AddAragon from './Add/AddAragon' import AddPhrase from './Add/AddPhrase' import AddRing from './Add/AddRing' +import AddKeystore from './Add/AddKeystore' import AddAddress from './Add/AddAddress' class AddAccounts extends React.Component { @@ -26,13 +27,20 @@ class AddAccounts extends React.Component {
) } - renderAddKeystore () { + renderAddKeyring () { return (
) } + renderAddKeystore () { + return ( +
+ +
+ ) + } renderAddSeed () { return (
@@ -83,13 +91,14 @@ class AddAccounts extends React.Component {
this.props.close()}>{svg.close(20)}
this.setState({ view: 'lattice' })}>GridPlus Lattice1
-
this.setState({ view: 'ledger' })}>Ledger Wallet
-
this.setState({ view: 'trezor' })}>Trezor Wallet
+
this.setState({ view: 'ledger' })}>Ledger Device
+
this.setState({ view: 'trezor' })}>Trezor Device
this.setState({ view: 'aragon' })}>Aragon DAO
{/*
this.setState({ view: 'gnosis' })}>Gnosis Safe
*/}
this.setState({ view: 'seed' })}>Seed Phrase
-
this.setState({ view: 'keystore' })}>Keystore
-
this.setState({ view: 'nonsigning' })}>A Non-signing Account
+
this.setState({ view: 'keyring' })}>Private Key
+
this.setState({ view: 'keystore' })}>Keystore File (json)
+
this.setState({ view: 'nonsigning' })}>Watch-only Account
) } @@ -109,6 +118,8 @@ class AddAccounts extends React.Component { return this.renderAddLattice() } else if (view === 'seed') { return this.renderAddSeed() + } else if (view === 'keyring') { + return this.renderAddKeyring() } else if (view === 'keystore') { return this.renderAddKeystore() } else if (view === 'nonsigning') { diff --git a/main/accounts/Account/index.js b/main/accounts/Account/index.js index 0dd12bc02..f78225be7 100644 --- a/main/accounts/Account/index.js +++ b/main/accounts/Account/index.js @@ -72,7 +72,7 @@ class Account { this.update() }, { type: 'ethereum', - id: '1' + id: 1 }) }) } @@ -83,7 +83,7 @@ class Account { async lookupAddress () { try { - this.ensName = await nebula.ens.lookupAddress(this.address) + this.ensName = (await nebula.ens.reverseLookup(this.address))[0] this.update() } catch (e) { log.error('lookupAddress Error:', e) diff --git a/main/accounts/aragon/index.js b/main/accounts/aragon/index.js index 612cc0641..3d64e102a 100644 --- a/main/accounts/aragon/index.js +++ b/main/accounts/aragon/index.js @@ -13,7 +13,9 @@ const registryAddress = () => { 3: '0x6afe2cacee211ea9179992f89dc61ff25c61e923', 4: '0x98df287b6c145399aaa709692c8d308357bc085d', 74: '0xede729eff031bc9f1a36f4361cd0d9585c9dc5f9', - 100: '0xaafca6b0c89521752e559650206d7c925fd0e530' + 100: '0xaafca6b0c89521752e559650206d7c925fd0e530', + 137: '0x3c70a0190d09f34519e6e218364451add21b7d4b', + 80001: '0x431f0eed904590b176f9ff8c36a1c4ff0ee9b982' } if (addresses[network]) return addresses[network] throw new Error('Unable to locate Aragon ENS registry for current network') diff --git a/main/accounts/index.js b/main/accounts/index.js index 059d7b3a4..c86b6834f 100644 --- a/main/accounts/index.js +++ b/main/accounts/index.js @@ -7,7 +7,7 @@ const fetch = require('node-fetch') const { addHexPrefix } = require('ethereumjs-util') // const bip39 = require('bip39') -const { usesBaseFee, signerCompatibility } = require('../transaction') +const { usesBaseFee, signerCompatibility, maxFee } = require('../transaction') const crypt = require('../crypt') const store = require('../store') @@ -34,8 +34,6 @@ const notify = (title, body, action) => { setTimeout(() => note.show(), 1000) } -const FEE_MAX = 2 * 1e18 - class Accounts extends EventEmitter { constructor () { super() @@ -174,7 +172,7 @@ class Accounts extends EventEmitter { if (currentAccount.requests[id].type !== 'transaction') return reject(new Error('Request is not transaction')) const data = JSON.parse(JSON.stringify(currentAccount.requests[id].data)) - const targetChain = { type: 'ethereum', id: parseInt(data.chainId, 'hex').toString()} + const targetChain = { type: 'ethereum', id: parseInt(data.chainId, 'hex')} const { levels } = store('main.networksMeta', targetChain.type, targetChain.id, 'gas.price') // Set the gas default to asap @@ -219,7 +217,7 @@ class Accounts extends EventEmitter { account.update() if (!account.requests[id].feeAtTime) { const network = targetChain - if (network.type === 'ethereum' && network.id === '1') { + if (network.type === 'ethereum' && network.id === 1) { fetch('https://api.etherscan.io/api?module=stats&action=ethprice&apikey=KU5RZ9156Q51F592A93RUKHW1HDBBUPX9W').then(res => res.json()).then(res => { if (res && res.message === 'OK' && res.result && res.result.ethusd) { const { gasUsed } = account.requests[id].tx.receipt @@ -386,7 +384,7 @@ class Accounts extends EventEmitter { // If chainId, update pending tx requests from that chain, otherwise update all pending tx requests const transactions = Object.entries(currentAccount.requests) .filter(([_, req]) => req.type === 'transaction' && !req.locked && !req.feesUpdatedByUser) - .filter(([_, req]) => !chainId || parseInt(req.data.chainId, 'hex').toString() === chainId) + .filter(([_, req]) => !chainId || parseInt(req.data.chainId, 'hex') === chainId) transactions.forEach(([id, req]) => { const tx = req.data @@ -487,6 +485,7 @@ class Accounts extends EventEmitter { } close () { + dataScanner.stop() dataScanner.kill() // usbDetect.stopMonitoring() } @@ -701,14 +700,17 @@ class Accounts extends EventEmitter { // No change if (newBaseFee === currentBaseFee) return cb() + const tx = currentAccount.requests[handlerId].data + // New max fee per gas const newMaxFeePerGas = newBaseFee + maxPriorityFeePerGas + const maxTotalFee = maxFee(tx) // Limit max fee - if (newMaxFeePerGas * gasLimit > FEE_MAX) { - currentAccount.requests[handlerId].data.maxFeePerGas = intToHex(Math.floor(FEE_MAX / gasLimit)) + if (newMaxFeePerGas * gasLimit > maxTotalFee) { + tx.maxFeePerGas = intToHex(Math.floor(maxTotalFee / gasLimit)) } else { - currentAccount.requests[handlerId].data.maxFeePerGas = intToHex(newMaxFeePerGas) + tx.maxFeePerGas = intToHex(newMaxFeePerGas) } // Complete update @@ -729,18 +731,21 @@ class Accounts extends EventEmitter { // No change if (newMaxPriorityFeePerGas === maxPriorityFeePerGas) return cb() + const tx = currentAccount.requests[handlerId].data + // New max fee per gas const newMaxFeePerGas = currentBaseFee + newMaxPriorityFeePerGas + const maxTotalFee = maxFee(tx) // Limit max fee - if (newMaxFeePerGas * gasLimit > FEE_MAX) { - const limitedMaxFeePerGas = Math.floor(FEE_MAX / gasLimit) + if (newMaxFeePerGas * gasLimit > maxTotalFee) { + const limitedMaxFeePerGas = Math.floor(maxTotalFee / gasLimit) const limitedMaxPriorityFeePerGas = limitedMaxFeePerGas - currentBaseFee - currentAccount.requests[handlerId].data.maxPriorityFeePerGas = intToHex(limitedMaxPriorityFeePerGas) - currentAccount.requests[handlerId].data.maxFeePerGas = intToHex(limitedMaxFeePerGas) + tx.maxPriorityFeePerGas = intToHex(limitedMaxPriorityFeePerGas) + tx.maxFeePerGas = intToHex(limitedMaxFeePerGas) } else { - currentAccount.requests[handlerId].data.maxFeePerGas = intToHex(newMaxFeePerGas) - currentAccount.requests[handlerId].data.maxPriorityFeePerGas = intToHex(newMaxPriorityFeePerGas) + tx.maxFeePerGas = intToHex(newMaxFeePerGas) + tx.maxPriorityFeePerGas = intToHex(newMaxPriorityFeePerGas) } const previousFee = { @@ -764,13 +769,16 @@ class Accounts extends EventEmitter { const newGasPrice = parseInt(this.limitedHexValue(price, 0, 9999 * 1e9), 'hex') // No change - if (newGasPrice === gasPrice) return cb() + if (newGasPrice === gasPrice) return cb() + + const tx = currentAccount.requests[handlerId].data + const maxTotalFee = maxFee(tx) // Limit max fee - if (newGasPrice * gasLimit > FEE_MAX) { - currentAccount.requests[handlerId].data.gasPrice = intToHex(Math.floor(FEE_MAX / gasLimit)) + if (newGasPrice * gasLimit > maxTotalFee) { + tx.gasPrice = intToHex(Math.floor(maxTotalFee / gasLimit)) } else { - currentAccount.requests[handlerId].data.gasPrice = intToHex(newGasPrice) + tx.gasPrice = intToHex(newGasPrice) } const previousFee = { @@ -787,16 +795,19 @@ class Accounts extends EventEmitter { setGasLimit (limit, handlerId, userUpdate, cb) { try { - const { currentAccount, maxFeePerGas, maxPriorityFeePerGas, gasPrice, txType } = this.txFeeUpdate(limit, handlerId, userUpdate, '0x0') + const { currentAccount, maxFeePerGas, gasPrice, txType } = this.txFeeUpdate(limit, handlerId, userUpdate, '0x0') // New values const newGasLimit = parseInt(this.limitedHexValue(limit, 0, 12.5e6), 'hex') + const tx = currentAccount.requests[handlerId].data + const maxTotalFee = maxFee(tx) + const fee = txType === '0x2' ? parseInt(maxFeePerGas, 'hex') : parseInt(gasPrice, 'hex') - if (newGasLimit * fee > FEE_MAX) { - currentAccount.requests[handlerId].data.gasLimit = intToHex(Math.floor(FEE_MAX / fee)) + if (newGasLimit * fee > maxTotalFee) { + tx.gasLimit = intToHex(Math.floor(maxTotalFee / fee)) } else { - currentAccount.requests[handlerId].data.gasLimit = intToHex(newGasLimit) + tx.gasLimit = intToHex(newGasLimit) } // Complete update @@ -832,7 +843,7 @@ class Accounts extends EventEmitter { } else { const { from, chainId } = txRequest.data - const targetChain = { type: 'ethereum', id: parseInt(chainId, 'hex').toString() } + const targetChain = { type: 'ethereum', id: parseInt(chainId, 'hex') } proxyProvider.emit('send', { id: 1, jsonrpc: '2.0', method: 'eth_getTransactionCount', params: [from, 'pending'] }, (res) => { if (res.result) { diff --git a/main/clients/Parity/index.js b/main/clients/Parity/index.js index 7fccd632a..d13cabaa2 100644 --- a/main/clients/Parity/index.js +++ b/main/clients/Parity/index.js @@ -41,9 +41,9 @@ class Parity extends EthereumClient { } _getChain (networkId) { - if (networkId === '1') return 'mainnet' - if (networkId === '3') return 'ropsten' - if (networkId === '42') return 'kovan' + if (networkId === 1) return 'mainnet' + if (networkId === 3) return 'ropsten' + if (networkId === 42) return 'kovan' } } diff --git a/main/externalData/balances/index.js b/main/externalData/balances/index.js index 75ba8352a..64b0e5f52 100644 --- a/main/externalData/balances/index.js +++ b/main/externalData/balances/index.js @@ -27,24 +27,34 @@ function balanceCalls (owner, tokens) { async function loadTokenBalances (chainId, address, tokens) { const calls = balanceCalls(address, tokens) + const BATCH_SIZE = 3000 - try { - const results = await multicall(chainId).call(calls) + const numBatches = Math.ceil(calls.length / BATCH_SIZE) - const balances = Object.entries(results.transformed) - .reduce((balances, [key, balance]) => { - const address = key.split('_')[0].toLowerCase() - balances[address] = balance + // multicall seems to time out sometimes with very large requests, so batch them + const fetches = [...Array(numBatches).keys()].map(async (_, batchIndex) => { + const batchStart = batchIndex * BATCH_SIZE + const batchEnd = batchStart + BATCH_SIZE - return balances - }, {}) + try { + const results = await multicall(chainId).call(calls.slice(batchStart, batchEnd)) + return Object.entries(results.transformed) + } catch (e) { + log.error(`unable to load token balances (batch ${batchStart}-${batchEnd}`, e) + return [] + } + }) + + const fetchResults = await Promise.all(fetches) + const balanceResults = [].concat(...fetchResults) - return balances - } catch (e) { - log.error('unable to load token balances', e) - } + return balanceResults + .reduce((balances, [key, balance]) => { + const address = key.split('_')[0].toLowerCase() + balances[address] = balance - return {} + return balances + }, {}) } async function getTokenBalances (address, omit = [], knownTokens) { diff --git a/main/externalData/coingecko/index.ts b/main/externalData/coingecko/index.ts index bbdd89677..786180f7f 100644 --- a/main/externalData/coingecko/index.ts +++ b/main/externalData/coingecko/index.ts @@ -1,6 +1,8 @@ -import fetch from 'node-fetch' import log from 'electron-log' +// @ts-ignore (no type file) +import fetch from 'node-fetch' + interface JsonResponse { status: number, json: () => Promise diff --git a/main/externalData/index.js b/main/externalData/index.js index c8f181240..793820c17 100644 --- a/main/externalData/index.js +++ b/main/externalData/index.js @@ -76,20 +76,28 @@ function createWorker () { scanWorker.on('error', err => { if (err.code === 'ERR_IPC_CHANNEL_CLOSED') { - console.error('scan worker IPC channel closed! restarting worker') + log.error('scan worker IPC channel closed!') kill() - setTimeout(restart, 1000 * 5) + + if (heartbeat) { + log.info('restarting scan worker after IPC channel closed') + setTimeout(restart, 1000 * 5) + } } log.error(new Error(`scan worker error with code: ${err.code}`)) }) scanWorker.on('exit', code => { - log.warn(`scan worker exited with code ${code}, restarting worker`) + log.warn(`scan worker exited with code ${code}`) kill() - setTimeout(restart, 1000 * 5) + + if (heartbeat) { + log.info(`restarting scan worker after exiting with code ${code}`) + setTimeout(restart, 1000 * 5) + } }) return scanWorker @@ -232,6 +240,10 @@ function restart () { function kill () { if (scanWorker) { + const eventTypes = ['message', 'error', 'exit'] + + eventTypes.forEach(evt => scanWorker.removeAllListeners(evt)) + scanWorker.kill() scanWorker = null } diff --git a/main/externalData/rates/index.ts b/main/externalData/rates/index.ts index a8217d377..9aee54d9a 100644 --- a/main/externalData/rates/index.ts +++ b/main/externalData/rates/index.ts @@ -58,7 +58,7 @@ async function loadPlatforms () { allPlatforms = platforms.reduce((platformMapping, platform) => { if (platform.chain_identifier) { - const chainId = platform.chain_identifier.toString() + const chainId = platform.chain_identifier return { ...platformMapping, [chainId]: platform.id } } @@ -111,7 +111,7 @@ async function loadRates (ids: string[], chainId: number) { try { const symbolQuotes = await fetchPrices(Object.keys(lookupIds.symbols)) - const tokenQuotes = await fetchTokenPrices(lookupIds.contracts, platforms[chainId.toString()] || 'ethereum') + const tokenQuotes = await fetchTokenPrices(lookupIds.contracts, platforms[chainId] || 'ethereum') return Object.entries({ ...symbolQuotes, ...tokenQuotes }).reduce((rates, [lookupId, quote]) => { const originalId = lookupIds.symbols[lookupId] || lookupId // could be symbol or contract address diff --git a/main/index.js b/main/index.js index 6ec96820d..4f4a5de0c 100644 --- a/main/index.js +++ b/main/index.js @@ -138,6 +138,11 @@ ipcMain.on('tray:addChain', (e, chain, req) => { accounts.resolveRequest(req) }) +ipcMain.on('tray:switchChain', (e, type, id, req) => { + if (type && id) store.selectNetwork(type, id) + accounts.resolveRequest(req) +}) + ipcMain.on('tray:adjustNonce', (e, handlerId, nonceAdjust) => { accounts.adjustNonce(handlerId, nonceAdjust) }) diff --git a/main/nebula/index.js b/main/nebula/index.js index 68b4a85cd..90224b6fa 100644 --- a/main/nebula/index.js +++ b/main/nebula/index.js @@ -1,5 +1,12 @@ -const ethProvider = require('eth-provider') +// delete the Electron version while requiring Nebula. this allows ipfs-utils to use +// node-fetch instead of electron-fetch +const electron = process.versions.electron +delete process.versions.electron + const nebula = require('nebula') +process.versions.electron = electron + +const ethProvider = require('eth-provider') const authToken = process.env.NEBULA_AUTH_TOKEN ? process.env.NEBULA_AUTH_TOKEN + '@' : '' const pylonUrl = `https://${authToken}@ipfs.nebula.land` diff --git a/main/provider/index.js b/main/provider/index.js index 9a7ba60b8..6b7a86362 100644 --- a/main/provider/index.js +++ b/main/provider/index.js @@ -26,14 +26,10 @@ const store = require('../store') const chains = require('../chains') const accounts = require('../accounts') -const { populate: populateTransaction, usesBaseFee } = require('../transaction') +const { populate: populateTransaction, usesBaseFee, maxFee } = require('../transaction') const version = require('../../package.json').version -function equalCaseInsensitive(s1, s2) { - return s1.toLowerCase() === s2.toLowerCase() -} - class Provider extends EventEmitter { constructor () { super() @@ -206,7 +202,7 @@ class Provider extends EventEmitter { const payload = req.payload const [address, data] = payload.params - accounts.signTypedData(req.version, address, data, (err, sig) => { + accounts.signTypedData(req.version, address, { ...data }, (err, sig) => { if (err) { this.resError(err.message, payload, res) cb(err.message) @@ -224,12 +220,11 @@ class Provider extends EventEmitter { }) } - feeTotalOverMax (rawTx) { - const FEE_MAX = 2 * 1e18 // 2 Ether + feeTotalOverMax (rawTx, maxTotalFee) { const maxFeePerGas = usesBaseFee(rawTx) ? parseInt(rawTx.maxFeePerGas, 'hex') : parseInt(rawTx.gasPrice, 'hex') const gasLimit = parseInt(rawTx.gasLimit, 'hex') const totalFee = maxFeePerGas * gasLimit - return totalFee > FEE_MAX + return totalFee > maxTotalFee } signAndSend (req, cb) { @@ -238,10 +233,19 @@ class Provider extends EventEmitter { if (this.handlers[req.handlerId]) this.handlers[req.handlerId](data) delete this.handlers[req.handlerId] } + const payload = req.payload + const maxTotalFee = maxFee(rawTx) + + if (this.feeTotalOverMax(rawTx, maxTotalFee)) { + const chainId = parseInt(rawTx.chainId) + const symbol = store(`main.networks.ethereum.${chainId}.symbol`) + const displayAmount = symbol + ? ` (${Math.floor(maxTotalFee / 1e18)} ${symbol})` + : '' + + const err = `Max fee is over hard limit${displayAmount}` - if (this.feeTotalOverMax(rawTx)) { - const err = 'Max fee is over hard limit (2 ETH)' this.resError(err, payload, res) cb(new Error(err)) } else { @@ -272,7 +276,7 @@ class Provider extends EventEmitter { } }, { type: 'ethereum', - id: parseInt(req.data.chainId, 'hex').toString() + id: parseInt(req.data.chainId, 'hex') }) } const broadcastTimer = setInterval(() => cast(), 1000) @@ -473,9 +477,10 @@ class Provider extends EventEmitter { if ( version !== 'V4' && - equalCaseInsensitive((currentAccount.lastSignerType || ''), 'ledger') + ['ledger', 'lattice'].includes((currentAccount.lastSignerType || '').toLowerCase()) ) { - return this.resError('Ledger only supports eth_signTypedData_v4+', payload, res) + const signerName = currentAccount.lastSignerType[0].toUpperCase() + currentAccount.lastSignerType.substring(1) + return this.resError(`${signerName} only supports eth_signTypedData_v4+`, payload, res) } const handlerId = uuid() @@ -506,32 +511,86 @@ class Provider extends EventEmitter { res({ id: payload.id, jsonrpc: '2.0', result: `Frame/v${version}` }) } + switchEthereumChain (payload, res) { + try { + const params = payload.params + if (!params || !params[0]) throw new Error('Params not supplied') + + const type = 'ethereum' + + const chainId = parseInt(params[0].chainId) + if (!Number.isInteger(chainId)) throw new Error('Invalid chain id') + + // Check if chain exists + const exists = Boolean(store('main.networks', type, chainId)) + if (exists === false) throw new Error('Chain does not exist') + + const handlerId = uuid() + this.handlers[handlerId] = res + + // Ask user if they want to switch chains + accounts.addRequest({ + handlerId, + type: 'switchChain', + chain: { + type, + id: params[0].chainId + }, + account: accounts.getAccounts()[0], + origin: payload._origin + }, res) + + } catch (e) { + return this.resError(e, payload, res) + } + } + addEthereumChain (payload, res) { if (!payload.params[0]) return this.resError('addChain request missing params', payload, res) - const id = payload.params[0].chainId const type = 'ethereum' - const name = payload.params[0].chainName - const explorer = payload.params[0].blockExplorerUrls ? payload.params[0].blockExplorerUrls[0] : '' - const symbol = payload.params[0].nativeCurrency ? payload.params[0].nativeCurrency.symbol : '' - const rpcUrl = payload.params[0].rpcUrls ? payload.params[0].rpcUrls[0] : '' + const { + chainId, + chainName, + nativeCurrency, + rpcUrls = [], + blockExplorerUrls = [], + iconUrls = [] + } = payload.params[0] + + if (!chainId) return this.resError('addChain request missing chainId', payload, res) + if (!chainName) return this.resError('addChain request missing chainName', payload, res) + if (!nativeCurrency) return this.resError('addChain request missing nativeCurrency', payload, res) const handlerId = uuid() this.handlers[handlerId] = res - accounts.addRequest({ - handlerId, - type: 'addChain', - chain : { - id, - type, - name, - explorer, - symbol, - rpcUrl - }, - account: accounts.getAccounts()[0], - origin: payload._origin - }, res) + + // Check if chain exists + const id = parseInt(chainId) + if (!Number.isInteger(id)) throw new Error('Invalid chain id') + + const exists = Boolean(store('main.networks', type, id)) + if (exists) { + // Ask user if they want to switch chains + this.switchEthereumChain(payload, res) + } else { + // Ask user if they want to add this chain + accounts.addRequest({ + handlerId, + type: 'addChain', + chain: { + type, + id: chainId, + name: chainName, + nativeCurrency, + rpcUrls, + blockExplorerUrls, + iconUrls + }, + account: accounts.getAccounts()[0], + origin: payload._origin + }, res) + } } sendAsync (payload, cb) { @@ -564,6 +623,7 @@ class Provider extends EventEmitter { } if (method === 'wallet_addEthereumChain') return this.addEthereumChain(payload, res) + if (method === 'wallet_switchEthereumChain') return this.switchEthereumChain(payload, res) // Connection dependant methods need to pass targetChain if (method === 'net_version') return this.getNetVersion(payload, res, targetChain) diff --git a/main/rpc/index.js b/main/rpc/index.js index 72f89191e..cee82964a 100644 --- a/main/rpc/index.js +++ b/main/rpc/index.js @@ -46,8 +46,24 @@ const rpc = { }, // setSignerIndex: signers.setSignerIndex, // unsetSigner: signers.unsetSigner, - trezorPin: (id, pin, cb) => signers.trezorPin(id, pin, cb), - trezorPhrase: (id, phrase, cb) => signers.trezorPhrase(id, phrase, cb), + trezorPin: (id, pin, cb) => { + const signer = signers.get(id) + if (signer && signer.setPin) { + signer.setPin(pin) + cb(null, { status: 'ok' }) + } else { + cb(new Error('Set pin not available')) + } + }, + trezorPhrase: (id, phrase, cb) => { + const signer = signers.get(id) + if (signer && signer.setPhrase) { + signer.setPhrase(phrase || '') + cb(null, { status: 'ok' }) + } else { + cb(new Error('Set phrase not available')) + } + }, createLattice: async (id, cb) => { try { cb(null, await signers.createLattice(id)) @@ -136,15 +152,17 @@ const rpc = { signers.createFromPhrase(phrase, password, cb) }, locateKeystore (cb) { - const keystore = dialog.showOpenDialog({ properties: ['openFile'] }) - if (keystore && keystore.length) { - fs.readFile(keystore[0], 'utf8', (err, data) => { - if (err) return cb(err) - try { cb(null, JSON.parse(data)) } catch (err) { cb(err) } - }) - } else { - cb(new Error('No Keystore Found')) - } + dialog.showOpenDialog({ properties: ['openFile'] }).then(file => { + const keystore = file || { filePaths: [] } + if ((keystore.filePaths || []).length > 0) { + fs.readFile(keystore.filePaths[0], 'utf8', (err, data) => { + if (err) return cb(err) + try { cb(null, JSON.parse(data)) } catch (err) { cb(err) } + }) + } else { + cb(new Error('No Keystore Found')) + } + }).catch(cb) }, createFromKeystore (keystore, keystorePassword, password, cb) { signers.createFromKeystore(keystore, keystorePassword, password, cb) @@ -167,14 +185,15 @@ const rpc = { lockSigner (id, cb) { signers.lock(id, cb) }, - remove (id, cb) { - signers.remove(id, cb) + remove (id) { + signers.remove(id) }, resolveAragonName (name, cb) { resolveName(name).then(result => cb(null, result)).catch(cb) }, verifyAddress (cb) { - accounts.verifyAddress(true, cb) + const res = (err, data) => cb(err, data || false) + accounts.verifyAddress(true, res) }, setBaseFee (fee, handlerId, cb) { accounts.setBaseFee(fee, handlerId, true, cb) diff --git a/main/signers/Signer/derive.js b/main/signers/Signer/derive.js deleted file mode 100644 index 40ef62efa..000000000 --- a/main/signers/Signer/derive.js +++ /dev/null @@ -1,20 +0,0 @@ -const HDKey = require('hdkey') -const { publicToAddress, toChecksumAddress } = require('ethereumjs-util') - -module.exports = (publicKey, chainCode, cb) => { - try { - const hdk = new HDKey() - hdk.publicKey = Buffer.from(publicKey, 'hex') - hdk.chainCode = Buffer.from(chainCode, 'hex') - const derive = index => { - const derivedKey = hdk.derive(`m/${index}`) - const address = publicToAddress(derivedKey.publicKey, true) - return toChecksumAddress(`0x${address.toString('hex')}`) - } - const accounts = [] - for (let i = 0; i < 100; i++) { accounts[i] = derive(i) } - cb(null, accounts) - } catch (e) { - cb(e) - } -} diff --git a/main/signers/Signer/derive.ts b/main/signers/Signer/derive.ts new file mode 100644 index 000000000..6ab7266e5 --- /dev/null +++ b/main/signers/Signer/derive.ts @@ -0,0 +1,36 @@ +//@ts-ignore +import HDKey from 'hdkey' + +import { publicToAddress, toChecksumAddress } from 'ethereumjs-util' + +export enum Derivation { + live = 'live', legacy = 'legacy', standard = 'standard', testnet = 'testnet' +} + +export function deriveHDAccounts (publicKey: string, chainCode: string, cb: (err: any, accounts: string[] | undefined) => void) { + try { + const hdk = new HDKey() + hdk.publicKey = Buffer.from(publicKey, 'hex') + hdk.chainCode = Buffer.from(chainCode, 'hex') + const derive = (index: number) => { + const derivedKey = hdk.derive(`m/${index}`) + const address = publicToAddress(derivedKey.publicKey, true) + return toChecksumAddress(`0x${address.toString('hex')}`) + } + const accounts = [] + for (let i = 0; i < 100; i++) { accounts[i] = derive(i) } + cb(null, accounts) + } catch (e) { + cb(e, undefined) + } +} + +const derivationPaths: { [key: string]: string } = { + [Derivation.legacy.valueOf()]: "44'/60'/0'", + [Derivation.standard.valueOf()]: "44'/60'/0'/0", + [Derivation.testnet.valueOf()]: "44'/1'/0'/0" +} + +export function getDerivationPath (derivation: Derivation) { + return derivationPaths[derivation.valueOf()] +} diff --git a/main/signers/Signer/index.js b/main/signers/Signer/index.ts similarity index 54% rename from main/signers/Signer/index.js rename to main/signers/Signer/index.ts index 5d214e920..01e6a1f72 100644 --- a/main/signers/Signer/index.js +++ b/main/signers/Signer/index.ts @@ -1,20 +1,30 @@ -// const HDKey = require('hdkey') -// const { publicToAddress, toChecksumAddress } = require('ethereumjs-util') - -// const deriveHDAccounts = require('worker-farm')(require.resolve('./derive')) -const log = require('electron-log') -const deriveHDAccounts = require('./derive') -const EventEmitter = require('events') -const crypt = require('../../crypt') - -class Signer extends EventEmitter { +import log from 'electron-log' +import EventEmitter from 'stream' + +import { AppVersion, TransactionData } from '../../transaction' +import { deriveHDAccounts } from './derive' +import crypt from '../../crypt' + +export type Callback = (err: Error | null, result: any | undefined) => void + +export default class Signer extends EventEmitter { + id = ''; + type = ''; + name = ''; + status = ''; + coinbase = '0x'; + model = ''; + appVersion: AppVersion = { major: 0, minor: 0, patch: 0 } + + addresses: string[]; + constructor () { super() + this.addresses = [] - this.requests = {} } - deriveHDAccounts (publicKey, chainCode, cb) { + deriveHDAccounts (publicKey: string, chainCode: string, cb: (err: any, accounts: string[] | undefined) => void) { deriveHDAccounts(publicKey, chainCode, cb) } @@ -22,28 +32,14 @@ class Signer extends EventEmitter { if (this.addresses && this.addresses.length) return crypt.stringToKey(this.addresses.join()).toString('hex') } - getCoinbase (cb) { + getCoinbase (cb: Callback) { cb(null, this.addresses[0]) } - verifyAddress (cb) { + verifyAddress (index: number, current: string, display: boolean, cb: Callback) { const err = new Error('Signer:' + this.type + ' did not implement verifyAddress method') log.error(err) - cb(err) - } - - getAccounts (cb) { - const account = this.addresses[this.index] - if (cb) cb(null, account ? [account] : []) - return account ? [account] : [] - } - - getSelectedAccounts () { - return this.addresses[this.index] ? [this.addresses[this.index]] : [] - } - - getSelectedAccount () { - return this.addresses[this.index] + cb(err, undefined) } summary () { @@ -53,7 +49,6 @@ class Signer extends EventEmitter { type: this.type, addresses: this.addresses, status: this.status, - liveAddressesFound: this.liveAddressesFound || 0, appVersion: this.appVersion || { major: 0, minor: 0, patch: 0 } } } @@ -71,17 +66,15 @@ class Signer extends EventEmitter { // windows.broadcast('main:action', 'updateSigner', this.summary()) } - signMessage (index, message, cb) { + signMessage (index: number, message: string, cb: Callback) { console.warn('Signer:' + this.type + ' did not implement a signMessage method') } - signTransaction (index, rawTx, cb) { + signTransaction (index: number, rawTx: TransactionData, cb: Callback) { console.warn('Signer:' + this.type + ' did not implement a signTransaction method') } - signTypedData (index, version, typedData, cb) { - return cb(new Error(`Signer: ${this.type} does not support eth_signTypedData`)) + signTypedData (index: number, version: string, typedData: string, cb: Callback) { + return cb(new Error(`Signer: ${this.type} does not support eth_signTypedData`), undefined) } } - -module.exports = Signer diff --git a/main/signers/adapters.ts b/main/signers/adapters.ts new file mode 100644 index 000000000..8a1e89ee9 --- /dev/null +++ b/main/signers/adapters.ts @@ -0,0 +1,107 @@ +import { EventEmitter } from 'stream' + +import usb from 'usb' +import HID from 'node-hid' +import Signer from './signer' + +function wait (ms: number) { + return new Promise(resolve => { + setTimeout(resolve, ms) + }) +} + +export class SignerAdapter extends EventEmitter { + adapterType: string; + + constructor (type: string) { + super() + + this.adapterType = type + } + + open () {} + close () {} + reload (signer: Signer) { } +} + +export class UsbSignerAdapter extends SignerAdapter { + private attachListener: (device: usb.Device) => void; + private detachListener: (device: usb.Device) => void; + + constructor (name: string) { + super(name) + + this.attachListener = async usbDevice => { + // it seems like the 'attach' event can be fired just before + // the USB device is ready to be read from, 200ms seems to + // always be enough time to wait + // TODO: is there a low-level programmatic way to try to communicate + // with the USB device and wait until its ready? + await wait(200) + + if (this.supportsDevice(usbDevice)) { + this.handleAttachedDevice(usbDevice) + } + } + + this.detachListener = usbDevice => { + if (this.supportsDevice(usbDevice)) { + this.handleDetachedDevice(usbDevice) + } + } + } + + open () { + usb.on('attach', this.attachListener) + usb.on('detach', this.detachListener) + + const attachedDevices = usb.getDeviceList() + + attachedDevices.forEach(usbDevice => { + if (this.supportsDevice(usbDevice)) { + this.handleAttachedDevice(usbDevice) + } + }) + } + + close () { + usb.removeListener('attach', this.attachListener) + usb.removeListener('detach', this.detachListener) + + const attachedDevices = usb.getDeviceList() + + attachedDevices.forEach(usbDevice => { + if (this.supportsDevice(usbDevice)) { + this.handleDetachedDevice(usbDevice) + } + }) + + super.close() + } + + findHid (usbDevice: usb.Device) { + return HID + .devices(usbDevice.deviceDescriptor.idVendor, usbDevice.deviceDescriptor.idProduct) + } + + deviceId (device: usb.Device) { + return [ + device.busNumber, + device.deviceAddress, + device.deviceDescriptor.idProduct, + device.deviceDescriptor.idVendor + ].join(':') + } + + supportsDevice (device: usb.Device) { + return false + } + + handleAttachedDevice (device: usb.Device) { + throw new Error(`attempted to attach device with no adapter: ${device.toString()}`) + } + + handleDetachedDevice (device: usb.Device) { + throw new Error(`attempted to detach device with no adapter: ${device.toString()}`) + } +} diff --git a/main/signers/hot/HotSigner/index.js b/main/signers/hot/HotSigner/index.js index a88c1df3c..391c2c22c 100644 --- a/main/signers/hot/HotSigner/index.js +++ b/main/signers/hot/HotSigner/index.js @@ -6,7 +6,7 @@ const { app } = require('electron') const log = require('electron-log') const { v4: uuid } = require('uuid') -const Signer = require('../../Signer') +const Signer = require('../../Signer').default const store = require('../../../store') // Mock windows module during tests const windows = app ? require('../../../windows') : { broadcast: () => {} } diff --git a/main/signers/hot/HotSigner/worker.js b/main/signers/hot/HotSigner/worker.js index 087b6eb3e..0628d2987 100644 --- a/main/signers/hot/HotSigner/worker.js +++ b/main/signers/hot/HotSigner/worker.js @@ -1,8 +1,14 @@ const crypto = require('crypto') const ethSigUtil = require('eth-sig-util') -const { hashPersonalMessage, toBuffer, ecsign, addHexPrefix, pubToAddress, ecrecover } = require('ethereumjs-util') +const { TransactionFactory } = require('@ethereumjs/tx') -const { sign } = require('../../../transaction') +const { hashPersonalMessage, + toBuffer, + ecsign, + addHexPrefix, + pubToAddress, + ecrecover +} = require('ethereumjs-util') class HotSignerWorker { constructor () { @@ -45,12 +51,11 @@ class HotSignerWorker { } signTransaction (key, rawTx, pseudoCallback) { - sign(rawTx, tx => { - const signedTx = tx.sign(key) - const serialized = signedTx.serialize().toString('hex') + const tx = TransactionFactory.fromTxData(rawTx) + const signedTx = tx.sign(key) + const serialized = signedTx.serialize().toString('hex') - pseudoCallback(null, addHexPrefix(serialized)) - }).catch(pseudoCallback) + pseudoCallback(null, addHexPrefix(serialized)) } verifyAddress ({ index, address }, pseudoCallback) { diff --git a/main/signers/hot/index.js b/main/signers/hot/index.js index 4ea66802b..054c2527f 100644 --- a/main/signers/hot/index.js +++ b/main/signers/hot/index.js @@ -10,6 +10,7 @@ const crypt = require('../../crypt') const SeedSigner = require('./SeedSigner') const RingSigner = require('./RingSigner') +const { stripHexPrefix } = require('ethereumjs-util') const USER_DATA = app ? app.getPath('userData') : './test/.userData' const SIGNERS_PATH = path.resolve(USER_DATA, 'signers') @@ -51,12 +52,15 @@ module.exports = { }) }, createFromPrivateKey: (signers, privateKey, password, cb) => { - if (!privateKey) return cb(new Error('Private key required to create hot signer')) + const privateKeyHex = stripHexPrefix(privateKey) + + if (!privateKeyHex) return cb(new Error('Private key required to create hot signer')) if (!password) return cb(new Error('Password required to create hot signer')) if (password.length < 12) return cb(new Error('Hot account password is too short')) if (zxcvbn(password).score < 3) return cb(new Error('Hot account password is too weak')) const signer = new RingSigner() - signer.addPrivateKey(privateKey, password, (err, result) => { + + signer.addPrivateKey(privateKeyHex, password, err => { if (err) { signer.close() return cb(err) diff --git a/main/signers/index.js b/main/signers/index.ts similarity index 52% rename from main/signers/index.js rename to main/signers/index.ts index 71e580e56..a12accded 100644 --- a/main/signers/index.js +++ b/main/signers/index.ts @@ -1,45 +1,92 @@ -const EventEmitter = require('events') -const log = require('electron-log') -const crypto = require('crypto') +// @ts-nocheck -const hot = require('./hot') -const ledger = require('./ledger') -const trezorConnect = require('./trezor-connect') -const lattice = require('./lattice') +import EventEmitter from 'events' +import log from 'electron-log' +import crypto from 'crypto' -const store = require('../store') +import Signer from './signer' +import { SignerAdapter } from './adapters' + +import hot from './hot' +import LedgerAdapter from './ledger/adapter' +import TrezorAdapter from './trezor/adapter' + +import lattice from './lattice' + +import store from '../store' + +const registeredAdapters = [ + new LedgerAdapter(), + new TrezorAdapter() +] + +interface AdapterSpec { + [key: string]: { + adapter: SignerAdapter, + listeners: { + event: string, + handler: (p: any) => void + }[] + } +} class Signers extends EventEmitter { + private adapters: AdapterSpec; + private signers: { [key: string]: Signer }; + constructor () { super() - this.signers = [] - // this.lattice = lattice(this) + + this.signers = {} + this.adapters = {} + + // TODO: convert these scans to adapters this.scans = { lattice: lattice.scan(this), - hot: hot.scan(this), - ledger: ledger.scan(this), - trezor: trezorConnect.scan(this) + hot: hot.scan(this) } + + registeredAdapters.forEach(this.addAdapter.bind(this)) } - trezorPin (id, pin, cb) { - const signer = this.get(id) - if (signer && signer.setPin) { - signer.setPin(pin) - cb(null, { status: 'ok' }) - } else { - cb(new Error('Set pin not avaliable...')) + addAdapter (adapter: SignerAdapter) { + const addFn = this.add.bind(this) + const removeFn = id => this.remove(id, false) + const updateFn = this.update.bind(this) + + adapter.on('add', addFn) + adapter.on('remove', removeFn) + adapter.on('update', updateFn) + + adapter.open() + + this.adapters[adapter.adapterType] = { + adapter, + listeners: [ + { + event: 'add', + handler: addFn + }, + { + event: 'remove', + handler: removeFn + }, + { + event: 'update', + handler: updateFn + } + ] } } - trezorPhrase (id, phrase, cb) { - const signer = this.get(id) - if (signer && signer.trezorPhrase) { - signer.trezorPhrase(phrase || '') - cb(null, { status: 'ok' }) - } else { - cb(new Error('Set phrase not avaliable...')) - } + removeAdapter (adapter: SignerAdapter) { + const adapterSpec = this.adapters[adapter.adapterType] + + adapterSpec.listeners.forEach(listener => { + adapter.removeListener(listener.event, listener.handler) + }) + + delete this.adapter[adapter.adapterType] } async latticePair (id, pin) { @@ -93,72 +140,77 @@ class Signers extends EventEmitter { } exists (id) { - return this.signers.find(s => s.id === id) + return id in this.signers } - add (signer) { - if (!this.signers.find(s => s.id === signer.id)) this.signers.push(signer) + add (signer: Signer) { + const id = signer.id + + if (!(id in this.signers)) { + this.signers[id] = signer + + store.newSigner(signer.summary()) + } } - remove (id) { - const index = this.signers.map(s => s.id).indexOf(id) - if (index > -1) { - const signer = this.signers[index] - signer.close() - // If hot signer -> erase from disk + remove (id: string, close = true) { + if (id in this.signers) { + store.removeSigner(id) + + const signer = this.signers[id] + + // for backwards compatibility, when all scans are converted to adapters + // they should close the signers before emitting the close event + if (close) signer.close() if (signer.delete) signer.delete() - this.signers.splice(index, 1) + + delete this.signers[id] } } - reload (id) { - const index = this.signers.map(s => s.id).indexOf(id) - if (index > -1) { - const signer = this.signers[index] - let { type } = signer - signer.close() - this.signers.splice(index, 1) - if (type === 'ring' || type === 'seed') type = 'hot' - if (this.scans[type] && typeof this.scans[type] === 'function') this.scans[type]() + update (signer: Signer) { + const id = signer.id + + if (id in this.signers) { + this.signers[id] = signer + + store.updateSigner(signer.summary()) + } else { + this.add(id, signer) } } - // removeAllSigners () { - // this.signers.forEach(signer => { - // signer.close() - // if (signer.delete) signer.delete() - // }) - // this.signers = [] - // const { app } = require('electron') - // const fs = require('fs') - // const path = require('path') - // const USER_DATA = app ? app.getPath('userData') : './test/.userData' - // const SIGNERS_PATH = path.resolve(USER_DATA, 'signers') - // const directory = SIGNERS_PATH - // fs.readdir(directory, (err, files) => { - // if (err) throw err - // for (const file of files) { - // fs.unlink(path.join(directory, file), err => { - // if (err) throw err - // }) - // } - // }) - // } + reload (id) { + const signer = this.signers[id] + + if (signer) { + const type = (signer.type === 'ring' || signer.type === 'seed') ? 'hot' : signer.type + + if (this.scans[type] && typeof this.scans[type] === 'function') { + signer.close() + delete this.signers[id] + + this.scans[type]() + } else if (type in this.adapters) { + this.adapters[type].adapter.reload(signer) + } + } + } find (f) { - return this.signers.find(f) + return Object.values(this.signers).find(f) } filter (f) { - return this.signers.filter(f) + return Object.values(this.signers).filter(f) } list () { - return this.signers + return Object.values(this.signers) } get (id) { - return this.signers.find(signer => signer.id === id) + return this.signers[id] } createFromPhrase (mnemonic, password, cb) { @@ -206,7 +258,7 @@ class Signers extends EventEmitter { } unlock (id, password, cb) { - const signer = this.signers.find(s => s.id === id) + const signer = this.signers[id] if (signer && signer.unlock) { signer.unlock(password, cb) } else { diff --git a/main/signers/lattice/Lattice/index.js b/main/signers/lattice/Lattice/index.js index 48ec84817..bd274cfb2 100644 --- a/main/signers/lattice/Lattice/index.js +++ b/main/signers/lattice/Lattice/index.js @@ -7,8 +7,9 @@ const { promisify } = require('util') const { sign, signerCompatibility, londonToLegacy } = require('../../../transaction') const store = require('../../../store') -const Signer = require('../../Signer') +const Signer = require('../../Signer').default +const ADDRESS_LIMIT = 10 const HARDENED_OFFSET = 0x80000000 function humanReadable (str) { @@ -35,7 +36,12 @@ class Lattice extends Signer { if (this.accountLimit !== store('main.latticeSettings.accountLimit')) { this.accountLimit = store('main.latticeSettings.accountLimit') - this.open() + + if (this.addresses.length < this.accountLimit) { + this.open() + } else { + this.update() + } } }) } @@ -48,6 +54,7 @@ class Lattice extends Signer { } else { baseUrl = 'https://signing.gridpl.us' } + suffix = store('main.latticeSettings.suffix') privKey = store('main.lattice', this.deviceId, 'privKey') @@ -62,7 +69,8 @@ class Lattice extends Signer { this.baseUrl = baseUrl this.privKey = privKey this.client = new Client({ - name: suffix ? `Frame-${suffix}` : 'Frame', + // Lattice supports a suffix with a max of 24 characters + name: suffix ? `Frame-${suffix.substring(0, 18)}` : 'Frame', crypto: crypto, timeout: 120000, baseUrl, @@ -106,10 +114,9 @@ class Lattice extends Signer { this.appVersion = { major, minor, patch } if (this.paired) { - if (this.addresses.length === 0) { - this.status = 'addresses' - this.update() - } + this.status = 'addresses' + this.update() + await this.deriveAddresses() } else { this.status = 'pair' @@ -154,20 +161,28 @@ class Lattice extends Signer { async deriveAddresses () { // TODO: Move these settings to be device spectifc const accountLimit = store('main.latticeSettings.accountLimit') + try { - const req = { - currency: 'ETH', - startPath: [HARDENED_OFFSET + 44, HARDENED_OFFSET + 60, HARDENED_OFFSET, 0, 0], - n: accountLimit, - skipCache: true - } - if (!this.client) throw new Error('Client not ready during deriveAddresse') + if (!this.client) throw new Error('Client not ready during deriveAddresses') + const getAddresses = promisify(this.client.getAddresses).bind(this.client) - const result = await getAddresses(req) + + while (this.addresses.length < accountLimit) { + const req = { + currency: 'ETH', + startPath: this._getPath(this.addresses.length), + n: Math.min(ADDRESS_LIMIT, accountLimit - this.addresses.length), + skipCache: true + } + + const loadedAddresses = await getAddresses(req) + this.addresses = [...this.addresses, ...loadedAddresses] + } + this.status = 'ok' - this.addresses = result this.update() - return result + + return this.addresses } catch (err) { if (err === 'Error from device: Invalid Request') return log.warn('Lattice: Invalid Request') if (err === 'Error from device: Device Busy') return log.warn('Lattice: Device Busy') @@ -253,6 +268,15 @@ class Lattice extends Signer { return (store('main.signers')[`lattice-${this.deviceId}`]) !== undefined } + summary () { + const summary = super.summary() + + return { + ...summary, + addresses: this.addresses.slice(0, this.accountLimit || this.addresses.length) + } + } + update () { // If this signer exists, update with current params if (this.signerExists()) @@ -279,14 +303,18 @@ class Lattice extends Signer { return Buffer.from(this.normalize(hex), 'hex') } + _getPath (index) { + return [HARDENED_OFFSET + 44, HARDENED_OFFSET + 60, HARDENED_OFFSET, 0, index] + } + // Standard Methods async _signMessage (index, protocol, payload) { const clientSign = promisify(this.client.sign).bind(this.client) const data = { - protocol: protocol, - payload: payload, - signerPath: [HARDENED_OFFSET + 44, HARDENED_OFFSET + 60, HARDENED_OFFSET, 0, index] // setup for other derivations + protocol, + payload, + signerPath: this._getPath(index) } const signOpts = { @@ -320,7 +348,13 @@ class Lattice extends Signer { } } - async signTypedData (index, typedData, cb) { + async signTypedData (index, version, typedData, cb) { + const versionNum = (version.match(/[Vv](\d+)/) || [])[1] + + if ((parseInt(versionNum) || 0) < 4) { + return cb(new Error(`Invalid version (${version}), Lattice only supports eth_signTypedData version 4+`), undefined) + } + try { const signature = await this._signMessage(index, 'eip712', typedData) @@ -342,7 +376,7 @@ class Lattice extends Signer { nonce: utils.hexToNumber(txJson.nonce), gasLimit: utils.hexToNumber(txJson.gasLimit), useEIP155: true, - signerPath: [HARDENED_OFFSET + 44, HARDENED_OFFSET + 60, HARDENED_OFFSET, 0, index] + signerPath: this._getPath(index) } if (type) { @@ -370,7 +404,7 @@ class Lattice extends Signer { const clientSign = promisify(this.client.sign).bind(this.client) return clientSign(signOpts).then(result => ({ - v: result.sig.v[0], + v: result.sig.v.toString('hex'), r: result.sig.r, s: result.sig.s })) diff --git a/main/signers/ledger/Ledger/eth.ts b/main/signers/ledger/Ledger/eth.ts new file mode 100644 index 000000000..edf9510b7 --- /dev/null +++ b/main/signers/ledger/Ledger/eth.ts @@ -0,0 +1,82 @@ +import { rlp, addHexPrefix, stripHexPrefix, padToEven } from 'ethereumjs-util' +import { TypedDataUtils, TypedMessage } from 'eth-sig-util' +import log from 'electron-log' + +import Transport from '@ledgerhq/hw-transport' +import Eth from '@ledgerhq/hw-app-eth' + +import { Derivation, getDerivationPath, deriveHDAccounts } from '../../Signer/derive' +import { sign, TransactionData } from '../../../transaction' + +export default class LedgerEthereumApp { + private eth: Eth; + + constructor (transport: Transport) { + this.eth = new Eth(transport) + } + + async close () { + return this.eth.transport.close() + } + + async deriveAddresses (derivation: Derivation) { + log.debug(`deriving ${derivation} Ledger addresses`) + + const path = getDerivationPath(derivation) + + const executor = async (resolve: (addresses: string[]) => void, reject: (err: any) => void) => { + try { + const result = await this.getAddress(path, false, true) + deriveHDAccounts(result.publicKey, result.chainCode || '', (err, addresses) => { + if (err) return reject(err) + resolve(addresses as string[]) + }) + } catch (err) { + reject(err) + } + } + + return new Promise(executor) + } + + async signMessage (path: string, message: string) { + const rawMessage = stripHexPrefix(message) + + const signature = await this.eth.signPersonalMessage(path, rawMessage) + const hashedSignature = signature.r + signature.s + padToEven((signature.v - 27).toString(16)) + + return addHexPrefix(hashedSignature) + } + + async signTypedData (path: string, typedData: TypedMessage) { + const { domain, types, primaryType, message } = TypedDataUtils.sanitizeData(typedData) + const domainSeparatorHex = TypedDataUtils.hashStruct('EIP712Domain', domain, types).toString('hex') + const hashStructMessageHex = TypedDataUtils.hashStruct(primaryType as string, message, types).toString('hex') + + const signature = await this.eth.signEIP712HashedMessage(path, domainSeparatorHex, hashStructMessageHex) + const hashedSignature = signature.r + signature.s + padToEven((signature.v - 27).toString(16)) + + return addHexPrefix(hashedSignature) + } + + async signTransaction (path: string, ledgerTx: TransactionData) { + const signedTx = await sign(ledgerTx, tx => { + // legacy transactions aren't RLP encoded before they're returned + const message = tx.getMessageToSign(false) + const legacyMessage = message[0] !== tx.type + const rawTxHex = legacyMessage ? rlp.encode(message).toString('hex') : message.toString('hex') + + return this.eth.signTransaction(path, rawTxHex) + }) + + return addHexPrefix(signedTx.serialize().toString('hex')) + } + + async getAddress (path: string, display: boolean, chainCode: boolean) { + return this.eth.getAddress(path, display, chainCode) + } + + async getAppConfiguration () { + return this.eth.getAppConfiguration() + } +} diff --git a/main/signers/ledger/Ledger/index.js b/main/signers/ledger/Ledger/index.js deleted file mode 100644 index 82e2f5a13..000000000 --- a/main/signers/ledger/Ledger/index.js +++ /dev/null @@ -1,542 +0,0 @@ -const { rlp, addHexPrefix, padToEven } = require('ethereumjs-util') -const log = require('electron-log') -const { v5: uuid } = require('uuid') -const ethSigUtil = require('eth-sig-util') -const Eth = require('@ledgerhq/hw-app-eth').default -const HID = require('node-hid') -const TransportNodeHid = require('@ledgerhq/hw-transport-node-hid').default - -const { sign, signerCompatibility, londonToLegacy } = require('../../../transaction') -const store = require('../../../store') -const Signer = require('../../Signer') - -const ns = '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' - -// Base Paths -const BASE_PATH_LEGACY = '44\'/60\'/0\'/' -const BASE_PATH_STANDARD = `44\'/60\'/0\'/0/` -const BASE_PATH_TESTNET = '44\'/1\'/0\'/0/' - -// Live Path -const BASE_PATH_LIVE = '44\'/60\'/' - - -class Ledger extends Signer { - constructor (devicePath, signers, scan) { - super() - this.devicePath = devicePath - this.addresses = [] - this.id = this.getId() - this.signers = signers - this.scan = scan - this.type = 'ledger' - this.status = 'initial' - this.busyCount = 0 - this.pause = false - this.coinbase = '0x' - this.handlers = {} - this.lastUse = Date.now() - this.derivation = store('main.ledger.derivation') - this.liveAccountLimit = store('main.ledger.liveAccountLimit') - this.varObserver = store.observer(() => { - if ( - this.derivation !== store('main.ledger.derivation') || - this.liveAccountLimit !== store('main.ledger.liveAccountLimit') - ) { - this.reset() - } - }) - this.deviceStatus() - } - - getPath (i = 0) { - if (this.derivation === 'legacy') { - return (BASE_PATH_LEGACY + i) - } else if (this.derivation === 'standard') { - return (BASE_PATH_STANDARD + i) - } else if (this.derivation === 'testnet') { - return (BASE_PATH_TESTNET + i) - } else { - return (BASE_PATH_LIVE + i + '\'/0/0') - } - } - - getId () { - return this.fingerprint() || uuid('Ledger' + this.devicePath, ns) - } - - update () { - if (this.invalid || this.status === 'Invalid sequence' || this.status === 'initial') return - const id = this.getId() - if (this.id !== id) { // Singer address representation changed - store.removeSigner(this.id) - this.id = id - } - store.updateSigner(this.summary()) - } - - async wait (time) { - return new Promise(resolve => setTimeout(resolve, time)) - } - - async getDevice () { - if (this.pause) throw new Error('Device access is paused') - if (Date.now() - this.lastUse < 300) await this.wait(300) - await this.releaseDevice() - this.pause = true - this.currentDevice = new HID.HID(this.devicePath) - this.currentTransport = new TransportNodeHid(this.currentDevice) - return new Eth(this.currentTransport) - } - - async releaseDevice () { - if (this.currentTransport) this.currentTransport.close() - if (this.currentDevice) this.currentDevice.close() - delete this.currentTransport - delete this.currentDevice - this.lastUse = Date.now() - await this.wait(300) - this.pause = false - } - - reset () { - this.pauseLive = true - this.derivation = store('main.ledger.derivation') - this.liveAccountLimit = store('main.ledger.liveAccountLimit') - this.status = 'loading' - this.addresses = [] - this.update() - this.deriveAddresses() - } - - async getDeviceAddress (i, cb = () => {}) { - if (this.pause) return cb(new Error('Device access is paused')) - try { - const { address } = await this.getAddress(this.getPath(i), false, true) - cb(null, address) - } catch (err) { - cb(err) - } - } - - async verifyAddress (index, current, display, cb = () => {}) { - if (this.verifyActive) { - log.info('verifyAddress Called but it\'s already active') - return cb(new Error('verifyAddress Called but it\'s already active')) - } - if (this.pause) { - log.info('Device access is paused') - return cb(new Error('Device access is paused')) - } - this.verifyActive = true - try { - const result = await this.getAddress(this.getPath(index), display, true) - const address = result.address.toLowerCase() - current = current.toLowerCase() - if (address !== current) { - log.error(new Error('Address does not match device')) - this.signers.remove(this.id) - cb(new Error('Address does not match device')) - } else { - log.info('Address matches device') - cb(null, true) - } - this.verifyActive = false - } catch (err) { - log.error('Verify Address Error') - log.error(err) - this.signers.remove(this.id) - cb(new Error('Verify Address Error')) - this.verifyActive = false - } - } - - async deriveAddresses () { - let addresses - if (this.pause) throw new Error('Device access is paused') - if (this.derivingAddresses) { - await this.wait(1000) - return await this.deriveAddresses() - } - clearTimeout(this.derivingAddressesErrorTimeout) - this.derivingAddresses = true - try { - // Derive addresses - if (this.derivation === 'legacy') { - addresses = await this._deriveLegacyAddresses() - } else if (this.derivation === 'standard') { - addresses = await this._deriveStandardAddresses() - } else if (this.derivation === 'testnet') { - addresses = await this._deriveTestnetAddresses() - } else { - addresses = await this._deriveLiveAddresses() - } - // Update signer - this.addresses = addresses - this.update() - this.derivingAddresses = false - } catch (e) { - log.error(e) - this.derivingAddressesErrorTimeout = setTimeout(() => { - this.derivingAddresses = false - }, 4000) - } - } - - close () { - if (this._pollStatus) clearTimeout(this._pollStatus) - if (this._deviceStatus) clearTimeout(this._deviceStatus) - if (this._signMessage) clearTimeout(this._signMessage) - if (this._signTransaction) clearTimeout(this._signTransaction) - if (this._scanTimer) clearTimeout(this._scanTimer) - this.releaseDevice() - this.varObserver.remove() - store.removeSigner(this.id) - super.close() - } - - pollStatus (interval = 21 * 1000) { // Detect sleep/wake - clearTimeout(this._pollStatus) - this._pollStatus = setTimeout(() => this.deviceStatus(), interval) - } - - async deviceStatus () { - if (this.status === 'Invalid sequence') return log.warn('INVALID SEQUENCE') - this.pollStatus() - if (this.pause || this.deviceStatusActive || this.verifyActive) return - this.deviceStatusActive = true - try { - // If signer has no addresses, try deriving them - if (!this.addresses.length) await this.deriveAddresses() - const { address } = await this.getAddress(this.getPath(0), false, true) - if (address !== this.coinbase || this.status !== 'ok') { - this.coinbase = address - this.deviceStatus() - } - this.status = 'ok' - - const version = (await this._getAppConfiguration()).version - const [major, minor, patch] = (version || '1.6.1').split('.') - this.appVersion = { major, minor, patch } - - if (!this.addresses.length) { - this.status = 'loading' - this.deriveAddresses() - } else { - this.busyCount = 0 - } - this.update() - this.deviceStatusActive = false - } catch (err) { - log.error(err) - log.error(err.message) - const deviceBusy = ( - err.message.startsWith('cannot open device with path') || - err.message === 'Device access is paused' || - err.message === 'Invalid channel' || - err.message === 'DisconnectedDevice' - ) - if (deviceBusy) { // Device is busy, try again - clearTimeout(this._deviceStatus) - if (++this.busyCount > 10) { - this.busyCount = 0 - log.info('>>>>>>> Busy: Limit (10) hit, cannot open device with path, will not try again') - } else { - this._deviceStatus = setTimeout(() => this.deviceStatus(), 700) - log.info('>>>>>>> Busy: cannot open device with path, will try again (deviceStatus)') - } - } else { - this.status = err.message - if (err.statusCode === 27904) this.status = 'Wrong application, select the Ethereum application on your Ledger' - if (err.statusCode === 26368) this.status = 'Select the Ethereum application on your Ledger' - if (err.statusCode === 26625 || err.statusCode === 26628) { - this.pollStatus(3000) - this.status = 'Confirm your Ledger is not asleep' - } - if (err.message === 'Cannot write to HID device') { - this.status = 'loading' - log.error('Device Status: Cannot write to HID device') - } - if (err.message === 'Invalid sequence') this.invalid = true - if (err.message.indexOf('UNKNOWN_ERROR') > -1) this.status = 'Please reconnect this Ledger device' - this.addresses = [] - this.update() - } - this.deviceStatusActive = false - } - } - - normalize (hex) { - if (hex == null) return '' - if (hex.startsWith('0x')) hex = hex.substring(2) - if (hex.length % 2 !== 0) hex = '0' + hex - return hex - } - - // Standard Methods - async signMessage (index, message, cb) { - try { - if (this.pause) throw new Error('Device access is paused') - const eth = await this.getDevice() - const result = await eth.signPersonalMessage(this.getPath(index), message.replace('0x', '')) - let v = (result.v - 27).toString(16) - if (v.length < 2) v = '0' + v - cb(null, '0x' + result.r + result.s + v) - await this.releaseDevice() - this.busyCount = 0 - } catch (err) { - const deviceBusy = ( - err.message.startsWith('cannot open device with path') || - err.message === 'Device access is paused' || - err.message === 'Invalid channel' || - err.message === 'DisconnectedDevice' - ) - if (deviceBusy) { - clearTimeout(this._signMessage) - if (++this.busyCount > 20) { - this.busyCount = 0 - return log.info('>>>>>>> Busy: Limit (10) hit, cannot open device with path, will not try again') - } else { - this._signMessage = setTimeout(() => this.signMessage(index, message, cb), 700) - return log.info('>>>>>>> Busy: cannot open device with path, will try again (signMessage)') - } - } - cb(err) - await this.releaseDevice() - log.error(err) - } - } - - async signTransaction (index, rawTx, cb) { - try { - if (this.pause) throw new Error('Device access is paused') - const eth = await this.getDevice() - const signerPath = this.getPath(index) - - const compatibility = signerCompatibility(rawTx, this.summary()) - const ledgerTx = compatibility.compatible ? { ...rawTx } : londonToLegacy(rawTx) - - const signedTx = await sign(ledgerTx, tx => { - // legacy transactions aren't RLP encoded before they're returned - const message = tx.getMessageToSign(false) - const legacyMessage = message[0] !== parseInt(tx.type) - const rawTxHex = legacyMessage ? rlp.encode(message).toString('hex') : message.toString('hex') - - return eth.signTransaction(signerPath, rawTxHex) - }) - - const signedTxSerialized = signedTx.serialize().toString('hex') - cb(null, addHexPrefix(signedTxSerialized)) - - this.releaseDevice() - } catch (err) { - log.error(err) - log.error(err.message) - const deviceBusy = ( - err.message.startsWith('cannot open device with path') || - err.message === 'Device access is paused' || - err.message === 'Invalid channel' || - err.message === 'DisconnectedDevice' - ) - if (deviceBusy) { - clearTimeout(this._signTransaction) - if (++this.busyCount > 20) { - this.busyCount = 0 - cb(err) - return log.info('>>>>>>> Busy: Limit (10) hit, cannot open device with path, will not try again') - } else { - this._signTransaction = setTimeout(() => this.signTransaction(index, rawTx, cb), 700) - return log.info('>>>>>>> Busy: cannot open device with path, will try again (signTransaction)') - } - } else { - cb(err) - } - this.releaseDevice() - log.error(err) - } - } - - async signTypedData (index, version, typedData, cb) { - const versionNum = (version.match(/[Vv](\d+)/) || [])[1] - - if ((parseInt(versionNum) || 0) < 4) { - return cb(new Error(`Invalid version (${version}), Ledger only supports eth_signTypedData version 4+`)) - } - - try { - if (this.pause) throw new Error('Device access is paused') - const eth = await this.getDevice() - const signerPath = this.getPath(index) - - const { domain, types, primaryType, message } = ethSigUtil.TypedDataUtils.sanitizeData(typedData) - const domainSeparatorHex = ethSigUtil.TypedDataUtils.hashStruct('EIP712Domain', domain, types).toString('hex') - const hashStructMessageHex = ethSigUtil.TypedDataUtils.hashStruct(primaryType, message, types).toString('hex') - - const signature = await eth.signEIP712HashedMessage(signerPath, domainSeparatorHex, hashStructMessageHex) - const hashedSignature = signature.r + signature.s + padToEven((signature.v - 27).toString(16)) - - cb(null, addHexPrefix(hashedSignature)) - - await this.releaseDevice() - } catch (e) { - cb(e) - } - } - - async getAddress (...args) { - try { - const eth = await this.getDevice() - const result = await eth.getAddress(...args) - await this.releaseDevice() - return result - } catch (err) { - await this.releaseDevice() - throw err - } - } - - async _getAppConfiguration () { - try { - const eth = await this.getDevice() - const result = await eth.getAppConfiguration() - await this.releaseDevice() - return result - } catch (err) { - await this.releaseDevice() - throw err - } - } - - async _deriveLiveAddresses () { - let addresses = [] - this.status = 'Deriving Live Addresses' - this.liveAddressesFound = 0 - for (let i = 0; i < this.liveAccountLimit; i++) { - if (this.pauseLive) { - this.status = 'loading' - addresses = [] - this.liveAddressesFound = 0 - this.update() - this.pauseLive = false - this._scanTimer = setTimeout(() => this.scan(), 300) - break - } - const { address } = await this.getAddress(this.getPath(i), false, false) - log.info(`Found Ledger Live address #${i}: ${address}`) - addresses.push(address) - this.liveAddressesFound = addresses.length - this.update() - } - return addresses - } - - _deriveLegacyAddresses () { - const executor = async (resolve, reject) => { - try { - const result = await this.getAddress(BASE_PATH_LEGACY, false, true) - this.deriveHDAccounts(result.publicKey, result.chainCode, (err, addresses) => { - if (err) reject(err) - else resolve(addresses) - }) - } catch (err) { - reject(err) - } - } - return new Promise(executor) - } - - _deriveStandardAddresses () { - const executor = async (resolve, reject) => { - try { - const result = await this.getAddress(BASE_PATH_STANDARD, false, true) - this.deriveHDAccounts(result.publicKey, result.chainCode, (err, addresses) => { - if (err) reject(err) - else resolve(addresses) - }) - } catch (err) { - reject(err) - } - } - return new Promise(executor) - } - - _deriveTestnetAddresses () { - const executor = async (resolve, reject) => { - try { - const result = await this.getAddress(BASE_PATH_TESTNET, false, true) - this.deriveHDAccounts(result.publicKey, result.chainCode, (err, addresses) => { - if (err) reject(err) - else resolve(addresses) - }) - } catch (err) { - reject(err) - } - } - return new Promise(executor) - } - - _deriveStandardAddresses () { - const executor = async (resolve, reject) => { - try { - let path - if (store('main.hardwareDerivation') === 'mainnet') { - path = BASE_PATH_STANDARD - } else { - path = BASE_PATH_STANDARD_TEST - } - const result = await this.getAddress(path, false, true) - this.deriveHDAccounts(result.publicKey, result.chainCode, (err, addresses) => { - if (err) reject(err) - else resolve(addresses) - }) - } catch (err) { - reject(err) - } - } - return new Promise(executor) - } -} - -module.exports = Ledger - -// const { hashTypedData } = require('../../../crypt/typedDataUtils') - -/// / NOTE: Commented out because Ledger does not support signTypedData at the moment -/// / see: https://github.com/floating/frame/issues/136 -/// / -// async signTypedData (index, typedData, cb) { -// if (this.pause) return cb(new Error('Device access is paused')) -// try { -// this.currentDevice = new HID.HID(this.devicePath) -// this.currentTransport = new TransportNodeHid(this.currentDevice) -// // let transport = await TransportNodeHid.open(this.devicePath) -// const eth = new Eth(this.currentTransport) -// const message = hashTypedData(typedData).toString('hex') - -// eth.signPersonalMessage(this.getPath(index), message.replace('0x', '')).then(result => { -// let v = (result['v'] - 27).toString(16) -// if (v.length < 2) v = '0' + v -// cb(null, '0x' + result['r'] + result['s'] + v) -// this.currentTransport.close() -// this.currentDevice.close() -// this.busyCount = 0 -// }).catch(err => { -// cb(err) -// this.currentTransport.close() -// this.currentDevice.close() -// }) -// } catch (err) { -// if (err.message.startsWith('cannot open device with path')) { -// clearTimeout(this._signMessage) -// if (++this.busyCount > 10) { -// this.busyCount = 0 -// return log.info('>>>>>>> Busy: Limit (10) hit, cannot open device with path, will not try again') -// } else { -// this._signMessage = setTimeout(() => this.signMessage(message, cb), 700) -// return log.info('>>>>>>> Busy: cannot open device with path, will try again (signMessage)') -// } -// } -// cb(err) -// log.error(err) -// } -// } diff --git a/main/signers/ledger/Ledger/index.ts b/main/signers/ledger/Ledger/index.ts new file mode 100644 index 000000000..960cdce5b --- /dev/null +++ b/main/signers/ledger/Ledger/index.ts @@ -0,0 +1,518 @@ +import log from 'electron-log' + +// @ts-ignore +import { v5 as uuid } from 'uuid' + +import TransportNodeHid from '@ledgerhq/hw-transport-node-hid' + +import { Request, RequestQueue } from './requestQueue' +import Signer, { Callback } from '../../Signer' +import LedgerEthereumApp from './eth' +import { Derivation, getDerivationPath } from '../../Signer/derive' +import { signerCompatibility, londonToLegacy, TransactionData } from '../../../transaction' + +const ns = '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' + +export const Status = { + INITIAL: 'Connecting', + OK: 'ok', + LOADING: 'loading', + DERIVING: 'Deriving addresses', + LOCKED: 'Please unlock your ledger', + WRONG_APP: 'Open your Ledger and select the Ethereum application', + DISCONNECTED: 'Disconnected', + NEEDS_RECONNECTION: 'Please reconnect this Ledger device' +} + +interface DeviceError { + statusCode: number, + message: string +} + +interface Address { + address: string, + publicKey: string, + chainCode?: string | undefined +} + +function wasRequestRejected(err: DeviceError) { + return [27013].includes(err.statusCode) +} +function isDeviceAsleep (err: DeviceError) { + return [27404, 26628].includes(err.statusCode) +} + +function needToOpenEthApp (err: DeviceError) { + return [27904, 27906, 25873, 25871].includes(err.statusCode) +} + +// additional status codes +// 27264: 'INCORRECT_DATA' + +function getStatusForError (err: DeviceError) { + if (needToOpenEthApp(err)) { + return Status.WRONG_APP + } + + if (isDeviceAsleep(err)) { + return Status.LOCKED + } + + if (wasRequestRejected(err)) { + return Status.OK + } + + return Status.NEEDS_RECONNECTION +} + +export default class Ledger extends Signer { + private eth: LedgerEthereumApp | undefined; + + devicePath: string; + + derivation: Derivation | undefined; + accountLimit = 5; + + // the Ledger device can only handle one request at a time; the transport will reject + // all incoming requests while its busy, so we need to make sure requests are only executed + // when the device is ready + private requestQueue = new RequestQueue() + private statusPoller = setTimeout(() => {}) + + constructor (devicePath: string) { + super() + + this.devicePath = devicePath + + this.addresses = [] + + this.id = uuid('Ledger' + this.devicePath, ns) + this.type = 'ledger' + this.status = Status.INITIAL + } + + async open () { + const transport = await TransportNodeHid.open(this.devicePath) + + this.eth = new LedgerEthereumApp(transport) + + this.requestQueue.start() + } + + close () { + this.emit('close') + this.removeAllListeners() + + super.close() + } + + async connect () { + try { + // since the Ledger doesn't provide information about whether the eth app is open or if + // the device is locked, the order of these checks is important in order to correctly determine + // the exact status based on the returned error codes + // 1. getAppConfiguration + // 2. checkDeviceStatus + // 3. deriveAddresses + + const config = await this.getAppConfiguration() + + this.updateStatus(Status.INITIAL) + this.emit('update') + + // during connection is the only time we can access the device without + // enqueuing the request, since no other requests should be active before + // the device is connected + await this.checkDeviceStatus() + + if (this.isReady()) { + const [major, minor, patch] = (config.version || '1.6.1').split('.').map(n => parseInt(n)) + const version = { major, minor, patch } + + this.appVersion = version + + this.deriveAddresses() + } + } catch (err) { + this.handleError(err as DeviceError) + + if (this.status !== Status.LOCKED) { + return this.disconnect() + } + } + } + + async disconnect () { + if (this.status === Status.OK) { + this.updateStatus(Status.DISCONNECTED) + this.emit('update') + } + + this.requestQueue.close() + + clearTimeout(this.statusPoller) + + if (this.eth) { + await this.eth.close() + this.eth = undefined + } + } + + private isReady () { + const readyStatuses = [Status.INITIAL, Status.OK] + + return readyStatuses.includes(this.status) + } + + private handleError (err: DeviceError) { + const errorStatus = getStatusForError(err) + + if (errorStatus === Status.LOCKED && this.status !== Status.LOCKED) { + this.updateStatus(Status.LOCKED) + + return this.emit('lock') + } + + if (errorStatus !== this.status) { + this.updateStatus(errorStatus) + this.emit('update') + + if (this.status === Status.NEEDS_RECONNECTION) { + this.disconnect() + } + } + } + + updateStatus (status: string) { + this.status = status + + if (this.status === Status.OK) { + clearInterval(this.statusPoller) + this.pollDeviceStatus(5000) + } + + if (this.status === Status.LOCKED) { + clearInterval(this.statusPoller) + this.pollDeviceStatus(500) + } + } + + private async checkDeviceStatus () { + const check = new Promise(async (resolve: (err: DeviceError | undefined) => void) => { + setTimeout(() => resolve({ statusCode: -1, message: 'status check timed out' }), 3000) + + try { + await this.eth?.getAddress("44'/60'/0'/0", false, false) + resolve(undefined) + } catch (e: any) { + const err = e as DeviceError + resolve({ message: err.message, statusCode: err.statusCode || -1 }) + } + }) + + return check.then(err => { + if (!err) { + // success, handle different status state transitions + + if (this.status === Status.LOCKED) { + // when the app is unlocked, stop checking status since we will respond + // to the unlock event and start checking for status when that's complete + clearTimeout(this.statusPoller) + + this.emit('unlock') + } + } else { + this.handleError(err) + } + + return err?.statusCode || 0 + }) + } + + private async pollDeviceStatus (frequency: number) { + const lastStatus = this.status + + this.statusPoller = setTimeout(() => { + const lastRequest = this.requestQueue.peekBack() + + // prevent spamming eth app checks + if (!lastRequest || lastRequest.type !== 'checkDeviceStatus') { + this.enqueueRequests({ + type: 'checkDeviceStatus', + execute: async () => { + if (lastStatus !== this.status) { + // check if the status changed since this event was enqueued, this + // will prevent unintended status transitions + return true + } + + return this.checkDeviceStatus() + } + }) + } + + this.pollDeviceStatus(frequency) + }, frequency) + } + + private enqueueRequests (...requests: Request[]) { + requests.forEach(req => this.requestQueue.add(req)) + } + + private getPath (index: number) { + if (this.derivation === Derivation.live) { + return `44'/60'/${index}'/0/0` + } + + if (!this.derivation) { + throw new Error('attempted to get path with unknown derivation!') + } + + return getDerivationPath(this.derivation) + '/' + index + } + + // *** request enqueuing methods *** // + + deriveAddresses () { + this.requestQueue.clear() + this.addresses = [] + + this.updateStatus(Status.DERIVING) + this.emit('update') + + if (this.derivation === Derivation.live) { + this.deriveLiveAddresses() + } else { + this.deriveHardwareAddresses() + } + } + + private deriveLiveAddresses () { + const requests = [] + + for (let i = 0; i < this.accountLimit; i++) { + requests.push({ + type: 'deriveAddresses', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to derive Live addresses but Eth app is not connected!') + + const path = this.getPath(i) + const { address } = await this.eth.getAddress(path, false, false) + + log.debug(`Found Ledger Live address #${i}: ${address}`) + + if (this.derivation === Derivation.live) { + // don't update if the derivation was changed while this request was running + if (this.status === Status.DERIVING) { + this.updateStatus(Status.OK) + } + + this.addresses = [...this.addresses, address] + + this.emit('update') + } + } catch (e) { + this.handleError(e as DeviceError) + } + } + }) + } + + this.enqueueRequests(...requests) + } + + private deriveHardwareAddresses () { + const targetDerivation = this.derivation + + this.enqueueRequests({ + type: 'deriveAddresses', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to derive hardware addresses but Eth app is not connected!') + if (!this.derivation) throw new Error('attempted to derive hardware addresses for unknown derivation!') + + const addresses = await this.eth.deriveAddresses(this.derivation) + + if (this.derivation === targetDerivation) { + // don't update if the derivation was changed while this request was running + if (this.status === Status.DERIVING) { + this.updateStatus(Status.OK) + } + + this.addresses = [...addresses] + + this.emit('update') + } + } catch (e) { + this.handleError(e as DeviceError) + } + } + }) + } + + verifyAddress (index: number, currentAddress: string, display = false, cb: Callback = () => {}) { + this.enqueueRequests({ + type: 'verifyAddress', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to verify address but Eth app is not connected!') + if (!this.derivation) throw new Error('attempted to verify address with unknown derivation!') + + const path = this.getPath(index) + const result = await this.getAddress(path, display, true) + + if (result.address.toLowerCase() !== currentAddress.toLowerCase()) { + const err = new Error('Address does not match device') + log.error(err) + + this.handleError({ statusCode: -1, message: 'failed to verify device address' }) + + return cb(err, undefined) + } + + log.debug('Address matches device') + + cb(null, true) + } catch (e) { + const err = e as DeviceError + const message = wasRequestRejected(err) ? 'Verify request rejected by user' : 'Verify address error' + + // if the address couldn't be verified for any reason the signer can no longer + // be used, so force it to be closed by setting the status code to unhandled error + this.handleError({ message, statusCode: -1 }) + log.error('error verifying message on Ledger', err.toString()) + + cb(new Error(message), undefined) + } + } + }) + } + + signMessage (index: number, message: string, cb: Callback) { + this.enqueueRequests({ + type: 'signMessage', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to sign message but Eth app is not connected!') + if (!this.derivation) throw new Error('attempted to sign message with unknown derivation!') + + const path = this.getPath(index) + const signedMessage = await this.eth.signMessage(path, message) + + log.debug('successfully signed message on Ledger: ', message) + + cb(null, signedMessage) + } catch (e) { + const err = e as DeviceError + const message = wasRequestRejected(err) ? 'Sign request rejected by user' : 'Sign message error' + + this.handleError(err) + log.error('error signing message on Ledger', err.toString()) + + cb(new Error(message), undefined) + } + } + }) + } + + signTypedData (index: number, version: string, typedData: any, cb: Callback) { + const versionNum = (version.match(/[Vv](\d+)/) || [])[1] + + if ((parseInt(versionNum) || 0) < 4) { + return cb(new Error(`Invalid version (${version}), Ledger only supports eth_signTypedData version 4+`), undefined) + } + + this.enqueueRequests({ + type: 'signTypedData', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to sign typed data but Eth app is not connected!') + if (!this.derivation) throw new Error('attempted to sign typed data with unknown derivation!') + + const path = this.getPath(index) + const signedData = await this.eth.signTypedData(path, typedData) + + log.debug('successfully signed typed data on Ledger: ', typedData) + + cb(null, signedData) + } catch (e) { + const err = e as DeviceError + const message = wasRequestRejected(err) ? 'Sign request rejected by user' : 'Sign message error' + + this.handleError(err) + log.error('error signing typed data on Ledger', err.toString()) + + cb(new Error(message), undefined) + } + } + }) + } + + signTransaction (index: number, rawTx: TransactionData, cb: Callback) { + const compatibility = signerCompatibility(rawTx, this.summary()) + const ledgerTx = compatibility.compatible ? { ...rawTx } : londonToLegacy(rawTx) + + this.enqueueRequests({ + type: 'signTransaction', + execute: async () => { + try { + if (!this.eth) throw new Error('attempted to sign transaction but Eth app is not connected!') + if (!this.derivation) throw new Error('attempted to sign transaction with unknown derivation!') + + const path = this.getPath(index) + const signedTx = await this.eth.signTransaction(path, ledgerTx) + + log.debug('successfully signed transaction on Ledger: ', ledgerTx) + + cb(null, signedTx) + } catch (e) { + const err = e as DeviceError + const message = wasRequestRejected(err) ? 'Sign request rejected by user' : 'Sign transaction error' + + this.handleError(err) + log.error('error signing transaction on Ledger', err.toString()) + + cb(new Error(message), undefined) + } + } + }) + } + + // *** direct device access methods *** // + + private async getAddress (path: string, display = false, chainCode = false) { + return new Promise((resolve: (address: Address) => void, reject) => { + if (!this.eth) { + return reject(new Error('tried to get address but Eth app is not connected!')) + } + + let fallback = setTimeout(() => {}) + + if (!display) { + // if display is true, the Ledger waits for user input so never time out + fallback = setTimeout(() => reject({ message: 'getAddress timed out', statusCode: -1 }), 3000) + } + + this.eth.getAddress(path, display, chainCode).then(resolve).catch(reject).finally(() => clearTimeout(fallback)) + }) + } + + private async getAppConfiguration () { + // if this call blocks and we are not yet connected it means that the Ledger is locked and + // the eth app is not open; if the Ledger is locked and eth app IS open, this should return successfully + + return new Promise((resolve: (config: { version: string }) => void, reject) => { + if (!this.eth) { + return reject(new Error('tried to get app configuration but Eth app is not connected!')) + } + + const fallback = setTimeout(() => { + const statusCode = (this.status === Status.INITIAL) ? 27904 : -1 + reject({ message: 'getAppConfiguration timed out', statusCode }) + }, 1000) + + this.eth.getAppConfiguration().then(resolve).catch(reject).finally(() => clearTimeout(fallback)) + }) + } +} diff --git a/main/signers/ledger/Ledger/requestQueue.ts b/main/signers/ledger/Ledger/requestQueue.ts new file mode 100644 index 000000000..6d8c79f64 --- /dev/null +++ b/main/signers/ledger/Ledger/requestQueue.ts @@ -0,0 +1,59 @@ +import log from 'electron-log' + +export interface Request { + execute: () => Promise, + type: string +} + +const noRequest = { + type: 'emptyQueue', + execute: () => Promise.resolve() +} + +export class RequestQueue { + private running = false; + private requestQueue: Array = [] + private requestPoller = setTimeout(() => {}) + + add (request: Request) { + this.requestQueue.push(request) + } + + pollRequest () { + // each request must return a promise + const request = (this.requestQueue.length === 0) + ? noRequest + : this.requestQueue.splice(0, 1)[0] + + request.execute() + .catch(err => log.warn('Ledger request queue caught unexpected error', err)) + .finally(() => { + if (this.running) { + this.requestPoller = setTimeout(this.pollRequest.bind(this), 200) + } + }) + } + + start () { + this.running = true + this.pollRequest() + } + + stop () { + this.running = false + clearTimeout(this.requestPoller) + } + + close () { + this.stop() + this.clear() + } + + clear () { + this.requestQueue = [] + } + + peekBack () { + return this.requestQueue[this.requestQueue.length - 1] + } +} diff --git a/main/signers/ledger/adapter.ts b/main/signers/ledger/adapter.ts new file mode 100644 index 000000000..a6f859d2c --- /dev/null +++ b/main/signers/ledger/adapter.ts @@ -0,0 +1,155 @@ +import usb from 'usb' +import log from 'electron-log' +import { getDevices as getLedgerDevices } from '@ledgerhq/hw-transport-node-hid-noevents' + +import { UsbSignerAdapter } from '../adapters' +import Ledger from './Ledger' +import store from '../../store' +import { Derivation } from '../Signer/derive' + +function updateDerivation (ledger: Ledger, derivation = store('main.ledger.derivation'), accountLimit = 0) { + const liveAccountLimit = accountLimit || (derivation === Derivation.live ? store('main.ledger.liveAccountLimit') : 0) + + ledger.derivation = derivation + ledger.accountLimit = liveAccountLimit +} + +export default class LedgerSignerAdapter extends UsbSignerAdapter { + private knownSigners: { [key: string]: Ledger }; + private disconnections: { devicePath: string, timeout: NodeJS.Timeout }[] + private observer: any; + + constructor () { + super('ledger') + + this.knownSigners = {} + this.disconnections = [] + } + + open () { + this.observer = store.observer(() => { + const ledgerDerivation = store('main.ledger.derivation') + const liveAccountLimit = store('main.ledger.liveAccountLimit') + + Object.values(this.knownSigners).forEach(ledger => { + if ( + ledger.derivation !== ledgerDerivation || + (ledger.derivation === 'live' && ledger.accountLimit !== liveAccountLimit) + ) { + updateDerivation(ledger, ledgerDerivation, liveAccountLimit) + ledger.deriveAddresses() + } + }) + }) + + super.open() + } + + close () { + this.observer.remove() + + super.close() + } + + reload (signer: Ledger) { + const ledger = Object.values(this.knownSigners).find(s => s.devicePath === signer.devicePath) + + if (ledger) { + ledger.disconnect() + .then(() => ledger.open()) + .then(() => ledger.connect()) + } + } + + async handleAttachedDevice (usbDevice: usb.Device) { + log.debug(`detected Ledger device attached`, usbDevice) + + const knownPaths = Object.values(this.knownSigners).map(d => d.devicePath) + const deviceId = this.deviceId(usbDevice) + + let devicePath = this.getAttachedDevicePath(knownPaths) + + if (!devicePath) { + // if this isn't a new device, check if there is a pending disconnection + const pendingDisconnection = this.disconnections.pop() + + if (!pendingDisconnection) { + log.error(`could not determine path for attached Ledger device`, usbDevice) + return + } + + clearTimeout(pendingDisconnection.timeout) + devicePath = pendingDisconnection.devicePath + } + + let [existingDeviceId, ledger] = Object.entries(this.knownSigners) + .find(([deviceId, ledger]) => ledger.devicePath === devicePath) || [] + + if (ledger && existingDeviceId) { + delete this.knownSigners[existingDeviceId] + } else { + ledger = new Ledger(devicePath) + + const emitUpdate = () => this.emit('update', ledger) + + ledger.on('update', emitUpdate) + ledger.on('error', emitUpdate) + ledger.on('lock', emitUpdate) + + ledger.on('close', () => { + this.emit('remove', ledger?.id) + }) + + ledger.on('unlock', () => { + ledger?.connect() + }) + + this.emit('add', ledger) + } + + this.knownSigners[deviceId] = ledger + + updateDerivation(ledger) + + await ledger.open() + await ledger.connect() + } + + handleDetachedDevice (usbDevice: usb.Device) { + log.debug(`detected Ledger device detached`, usbDevice) + + const deviceId = this.deviceId(usbDevice) + + if (deviceId in this.knownSigners) { + const ledger = this.knownSigners[deviceId] + + ledger.disconnect() + + // when a user exits the eth app, it takes a few seconds for the + // main ledger to reconnect via USB, so attempt to wait for this event + // instead of immediately removing the signer + this.disconnections.push({ + devicePath: ledger.devicePath, + timeout: setTimeout(() => { + const index = this.disconnections.findIndex(d => d.devicePath === ledger.devicePath) + this.disconnections.splice(index, 1) + + delete this.knownSigners[deviceId] + + ledger.close() + }, 5000) + }) + } + } + + private getAttachedDevicePath (knownDevicePaths: string[]) { + // check all Ledger devices and return the device that isn't yet known + const hid = getLedgerDevices().find(d => !knownDevicePaths.includes(d.path || '')) + + return hid?.path || '' + } + + supportsDevice (usbDevice: usb.Device) { + return usbDevice.deviceDescriptor.idVendor === 0x2c97 + } +} diff --git a/main/signers/ledger/index.js b/main/signers/ledger/index.js deleted file mode 100644 index 75fdfbdd7..000000000 --- a/main/signers/ledger/index.js +++ /dev/null @@ -1,44 +0,0 @@ -require('babel-polyfill') -const HID = require('node-hid') -const usb = require('usb') -const log = require('electron-log') -const Ledger = require('./Ledger') -// const isLedger = d => (['win32', 'darwin'].includes(process.platform) ? d.usagePage === 0xffa0 : d.interface === 0) && ((d.vendorId === 0x2581 && d.productId === 0x3b7c) || d.vendorId === 0x2c97) -const isLedger = d => ((d.vendorId === 0x2581 && d.productId === 0x3b7c) || d.vendorId === 0x2c97) && d.interface === 0 - -let scanTimer = null - -module.exports = { - scan: (signers) => { - log.info('Ledger Scanner Started...') - const scan = (followup = false) => { - clearTimeout(scanTimer) - const current = HID.devices().filter(isLedger) - signers.list().forEach((signer, i) => { - if (current.map(device => device.path).indexOf(signer.devicePath) === -1 && signer.type === 'ledger') { - log.info('Removing Ledger: ', signer.id) - signers.remove(signer.id) - } - }) - current.forEach(device => { - let signer = signers.find(signer => signer.devicePath === device.path) - const validInterface = d => ['win32', 'darwin'].includes(process.platform) ? d.usagePage === 0xffa0 : d.interface === 0 - if (validInterface(device)) { - if (!signer) { - log.info('Creating Ledger Signer: ...', device.path.substr(device.path.length - 5)) - signer = new Ledger(device.path, signers, scan) - signers.add(signer) - } else { - signer.deviceStatus() - } - log.info('Updating Ledger: ', JSON.stringify(signer.summary())) - } - }) - if (followup) scanTimer = setTimeout(() => scan(), 800) - } - usb.on('attach', () => scan(true)) - usb.on('detach', () => scan(true)) - scan(true) - return () => setTimeout(() => scan(true), 500) - } -} diff --git a/main/signers/trezor-connect/Trezor/index.js b/main/signers/trezor-connect/Trezor/index.js deleted file mode 100644 index e69d513a2..000000000 --- a/main/signers/trezor-connect/Trezor/index.js +++ /dev/null @@ -1,244 +0,0 @@ -const log = require('electron-log') -const utils = require('web3-utils') -const { padToEven, stripHexPrefix, addHexPrefix } = require('ethereumjs-util') - -const store = require('../../../store') -const Signer = require('../../Signer') -const flex = require('../../../flex') -const { sign, londonToLegacy } = require('../../../transaction') -const { v5: uuid } = require('uuid') - -const ns = '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' - -// Base Paths -const BASE_PATH_STANDARD = "m/44'/60'/0'/0" -const BASE_PATH_LEGACY = "m/44'/60'/0'" -const BASE_PATH_TESTNET = "m/44'/1'/0'/0" - -class Trezor extends Signer { - constructor (device, signers) { - super() - this.addresses = [] - this.signers = signers - this.device = device - this.id = this.getId() - this.type = 'trezor' - this.status = 'loading' - this.derivationPath = store('main.trezor.derivation') - this.basePath = () => { - if (this.derivationPath === 'testnet') { - return BASE_PATH_TESTNET - } else if (this.derivationPath === 'legacy') { - return BASE_PATH_LEGACY - } else { - return BASE_PATH_STANDARD - } - } - this.getPath = (i = 0) => this.basePath() + '/' + i - this.handlers = {} - this.deviceStatus() - this.derivationPathObserver = store.observer(() => { - if (this.derivationPath !== store('main.trezor.derivation')) { - this.derivationPath = store('main.trezor.derivation') - this.reset() - this.deviceStatus() - } - }) - setTimeout(() => { - this.deviceStatus() - }, 2000) - } - - getId () { - return this.fingerprint() || uuid('Trezor' + this.device.path, ns) - } - - update () { - if (this.closed) return - const id = this.getId() - if (this.id !== id) { // Singer address representation changed - store.removeSigner(this.id) - this.id = id - } - store.updateSigner(this.summary()) - } - - reset () { - this.status = 'loading' - this.addresses = [] - this.update() - } - - deviceStatus () { - this.lookupAddresses((err, addresses) => { - if (err) { - if (err === 'Device call in progress') return - this.status = 'loading' - if (err === 'ui-device_firmware_old') this.status = `Update Firmware (v${this.device.firmwareRelease.version.join('.')})` - if (err === 'ui-device_bootloader_mode') this.status = 'Device in Bootloader Mode' - this.addresses = [] - this.update() - } else if (addresses && addresses.length) { - if (addresses[0] !== this.coinbase || this.status !== 'ok') { - this.coinbase = addresses[0] - this.addresses = addresses - this.deviceStatus() - } - if (addresses.length > this.addresses.length) this.addresses = addresses - this.status = 'ok' - this.update() - } else { - this.status = 'Unable to find addresses' - this.addresses = [] - this.update() - } - }) - } - - close () { - this.derivationPathObserver.remove() - this.closed = true - store.removeSigner(this.id) - super.close() - } - - button (label) { - log.info(`Trezor button "${label}" was pressed`) - } - - getDeviceAddress (i, cb) { - flex.rpc('trezor.ethereumGetAddress', this.device.path, this.getPath(i), true, (err, result) => { - if (err) return cb(err) - cb(null, '0x' + result.message.address) - }) - } - - verifyAddress (index, current, display = false, cb = () => {}, attempt = 0) { - log.info('Verify Address, attempt: ' + attempt) - let timeout = false - const timer = setTimeout(() => { - timeout = true - this.signers.remove(this.id) - log.error('The flex.rpc, trezor.ethereumGetAddress call timed out') - cb(new Error('Address verification timed out')) - }, 60 * 1000) - flex.rpc('trezor.ethereumGetAddress', this.device.path, this.getPath(index), display, (err, result) => { - clearTimeout(timer) - if (timeout) return - if (err) { - if (err === 'Device call in progress' && attempt < 5) { - setTimeout(() => this.verifyAddress(index, current, display, cb, ++attempt), 1000 * (attempt + 1)) - } else { - log.info('Verify Address Error: ') - // TODO: Error Notification - log.error(err) - this.signers.remove(this.id) - cb(new Error('Verify Address Error')) - } - } else { - const address = result.address ? result.address.toLowerCase() : '' - const current = this.addresses[index] ? this.addresses[index].toLowerCase() : '' - log.info('Frame has the current address as: ' + current) - log.info('Trezor is reporting: ' + address) - if (address !== current) { - // TODO: Error Notification - log.error(new Error('Address does not match device')) - this.signers.remove(this.id) - cb(new Error('Address does not match device')) - } else { - log.info('Address matches device') - cb(null, true) - } - } - }) - } - - lookupAddresses (cb) { - flex.rpc('trezor.getPublicKey', this.device.path, this.basePath(), (err, result) => { - if (err) return cb(err) - this.deriveHDAccounts(result.publicKey, result.chainCode, cb) - }) - } - - needPhrase (cb) { - this.status = 'Enter Passphrase' - this.update() - this.trezorPhrase = (phrase) => { - this.status = 'loading' - this.update() - flex.rpc('trezor.inputPhrase', this.device.path, phrase, err => { - if (err) log.error(err) - setTimeout(() => this.deviceStatus(), 1000) - }) - } - } - - needPin () { - this.status = 'Need Pin' - this.update() - this.setPin = (pin) => { - this.status = 'loading' - this.update() - flex.rpc('trezor.inputPin', this.device.path, pin, err => { - if (err) log.error(err) - setTimeout(() => this.deviceStatus(), 250) - }) - } - } - - normalize (hex) { - return (hex && padToEven(stripHexPrefix(hex))) || '' - } - - hexToBuffer (hex) { - return Buffer.from(this.normalize(hex), 'hex') - } - - // Standard Methods - signMessage (index, message, cb) { - flex.rpc('trezor.ethereumSignMessage', this.device.path, this.getPath(index), this.normalize(message), (err, result) => { - if (err) { - log.error('signMessage Error') - log.error(err) - if (err.message === 'Unexpected message') err = new Error('Update Trezor Firmware') - cb(err) - } else { - cb(null, '0x' + result.signature) - } - }) - } - - _normalizeTransaction (rawTx) { - return { - nonce: this.normalize(rawTx.nonce), - gasPrice: this.normalize(rawTx.gasPrice), - gasLimit: this.normalize(rawTx.gasLimit), - to: this.normalize(rawTx.to), - value: this.normalize(rawTx.value), - data: this.normalize(rawTx.data), - chainId: utils.hexToNumber(rawTx.chainId) - } - } - - signTransaction (index, rawTx, cb) { - // as of 08-05-2021 Trezor doesn't support EIP-1559 transactions - const legacyTx = londonToLegacy(rawTx) - - const trezorTx = this._normalizeTransaction(legacyTx) - const path = this.getPath(index) - - sign(legacyTx, () => { - return new Promise((resolve, reject) => { - flex.rpc('trezor.ethereumSignTransaction', this.device.path, path, trezorTx, (err, result) => { - return err - ? reject(err) - : resolve({ v: result.v, r: result.r, s: result.s }) - }) - }) - }) - .then(signedTx => cb(null, addHexPrefix(signedTx.serialize().toString('hex')))) - .catch(err => cb(err.message)) - } -} - -module.exports = Trezor diff --git a/main/signers/trezor-connect/index.js b/main/signers/trezor-connect/index.js deleted file mode 100644 index f703eeffb..000000000 --- a/main/signers/trezor-connect/index.js +++ /dev/null @@ -1,38 +0,0 @@ -require('babel-polyfill') -const log = require('electron-log') -const flex = require('../../flex') -const Trezor = require('./Trezor') - -module.exports = { - scan: (signers) => { - flex.on('ready', () => { - flex.on('trezor:connect', device => { - log.info(':: Trezor Scan - Connected Device') - const signer = new Trezor(device, signers) - signers.add(signer) - }) - flex.on('trezor:disconnect', device => { - log.info(':: Trezor Scan - Disconnected Device') - const signer = signers.find(signer => (signer.device && signer.device.path) === device.path) - if (signer) signers.remove(signer.id) - }) - flex.on('trezor:update', device => { - log.info(':: Trezor Scan - Updated Device') - const signer = signers.find(signer => (signer.device && signer.device.path) === device.path) - if (signer) signer.update(device) - }) - flex.on('trezor:needPin', device => { - log.info(':: Trezor Scan - Device Needs Pin') - const signer = signers.find(signer => (signer.device && signer.device.path) === device.path) - if (signer) signer.needPin() - }) - flex.on('trezor:needPhrase', device => { - log.info(':: Trezor Scan - Device Needs Phrase') - const signer = signers.find(signer => (signer.device && signer.device.path) === device.path) - if (signer) signer.needPhrase() - }) - flex.rpc('trezor.scan', err => { if (err) return log.error(err) }) - }) - return () => flex.rpc('trezor.scan', err => { if (err) return log.error(err) }) - } -} diff --git a/main/signers/trezor/Trezor/index.ts b/main/signers/trezor/Trezor/index.ts new file mode 100644 index 000000000..e4b7b4141 --- /dev/null +++ b/main/signers/trezor/Trezor/index.ts @@ -0,0 +1,262 @@ +import log from 'electron-log' +import utils from 'web3-utils' +import { padToEven, stripHexPrefix, addHexPrefix } from 'ethereumjs-util' +import { Device as TrezorDevice } from 'trezor-connect' + +import Signer, { Callback } from '../../Signer' +import flex from '../../../flex' +import { sign, londonToLegacy, signerCompatibility, TransactionData } from '../../../transaction' + +// @ts-ignore +import { v5 as uuid } from 'uuid' +import { Derivation, getDerivationPath } from '../../signer/derive' +import { TypedTransaction } from '@ethereumjs/tx' + +const ns = '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' + +type FlexCallback = (err: string | null, result: any | undefined) => void + +export default class Trezor extends Signer { + private closed = false; + + device: TrezorDevice; + derivation: Derivation | undefined; + + constructor (device: TrezorDevice) { + super() + + this.addresses = [] + this.device = device + this.id = this.getId() + + const [major, minor, patch] = device.firmwareRelease?.release?.version || '1.8.0' + this.appVersion = { major, minor, patch } + this.model = ['Trezor', device.features?.model].join(' ').trim() + + this.type = 'trezor' + this.status = 'loading' + } + + async open () { + this.closed = false + + this.reset() + this.deviceStatus() + + setTimeout(() => { + this.deviceStatus() + }, 2000) + } + + close () { + this.closed = true + + this.emit('close') + this.removeAllListeners() + + super.close() + } + + update () { + if (this.closed) return + + this.emit('update') + } + + reset () { + this.status = 'loading' + this.addresses = [] + this.update() + } + + private getId () { + return uuid('Trezor' + this.device.path, ns) + } + + private getPath (index: number) { + return `${this.basePath()}/${index}` + } + + private basePath () { + if (!this.derivation) { + throw new Error('attempted to get base path with unknown derivation!') + } + + return `m/${getDerivationPath(this.derivation)}` + } + + deviceStatus () { + this.lookupAddresses((err, addresses) => { + if (err) { + if (err === 'Device call in progress') return + this.status = 'loading' + if (err === 'ui-device_firmware_old') this.status = `Update Firmware (v${this.device.firmwareRelease.release.version.join('.')})` + if (err === 'ui-device_bootloader_mode') this.status = 'Device in Bootloader Mode' + this.addresses = [] + this.update() + } else if (addresses && addresses.length) { + if (addresses[0] !== this.coinbase || this.status !== 'ok') { + this.coinbase = addresses[0] + this.addresses = addresses + this.deviceStatus() + } + if (addresses.length > this.addresses.length) this.addresses = addresses + this.status = 'ok' + this.update() + } else { + this.status = 'Unable to find addresses' + this.addresses = [] + this.update() + } + }) + } + + verifyAddress (index: number, currentAddress: string, display = false, cb: Callback = () => {}, attempt = 0) { + log.info('Verify Address, attempt: ' + attempt) + let timeout = false + const timer = setTimeout(() => { + timeout = true + + this.close() + + log.error('The flex.rpc, trezor.ethereumGetAddress call timed out') + cb(new Error('Address verification timed out'), undefined) + }, 60 * 1000) + + const rpcCallback: FlexCallback = (err, result) => { + clearTimeout(timer) + if (timeout) return + if (err) { + if (err === 'Device call in progress' && attempt < 5) { + setTimeout(() => this.verifyAddress(index, currentAddress, display, cb, ++attempt), 1000 * (attempt + 1)) + } else { + log.error('Verify address error: ', err) + + this.close() + + cb(new Error('Verify Address Error'), undefined) + } + } else { + const address = result.address ? result.address.toLowerCase() : '' + const current = this.addresses[index] ? this.addresses[index].toLowerCase() : '' + log.info('Frame has the current address as: ' + current) + log.info('Trezor is reporting: ' + address) + if (address !== current) { + // TODO: Error Notification + log.error(new Error('Address does not match device')) + + this.close() + + cb(new Error('Address does not match device'), undefined) + } else { + log.info('Address matches device') + cb(null, true) + } + } + } + + flex.rpc('trezor.ethereumGetAddress', this.device.path, this.getPath(index), display, rpcCallback) + } + + lookupAddresses (cb: FlexCallback) { + const rpcCallback: FlexCallback = (err, result) => { + return err + ? cb(err, undefined) + : this.deriveHDAccounts(result.publicKey, result.chainCode, cb) + } + + flex.rpc('trezor.getPublicKey', this.device.path, this.basePath(), rpcCallback) + } + + setPhrase (phrase: string) { + const rpcCallback: FlexCallback = err => { + if (err) log.error(err) + setTimeout(() => this.deviceStatus(), 1000) + } + + this.status = 'loading' + this.update() + + flex.rpc('trezor.inputPhrase', this.device.path, phrase, rpcCallback) + } + + setPin (pin: string) { + const rpcCallback: FlexCallback = err => { + if (err) log.error(err) + setTimeout(() => this.deviceStatus(), 250) + } + + this.status = 'loading' + this.update() + + flex.rpc('trezor.inputPin', this.device.path, pin, rpcCallback) + } + + // Standard Methods + signMessage (index: number, message: string, cb: Callback) { + const rpcCallback: Callback = (err, result) => { + if (err) { + log.error('signMessage Error') + log.error(err) + if (err.message === 'Unexpected message') err = new Error('Update Trezor Firmware') + cb(err, undefined) + } else { + cb(null, '0x' + result.signature) + } + } + + flex.rpc('trezor.ethereumSignMessage', this.device.path, this.getPath(index), this.normalize(message), rpcCallback) + } + + signTransaction (index: number, rawTx: TransactionData, cb: Callback) { + const compatibility = signerCompatibility(rawTx, this.summary()) + const compatibleTx = compatibility.compatible ? { ...rawTx } : londonToLegacy(rawTx) + + sign(compatibleTx, tx => { + return new Promise((resolve, reject) => { + const trezorTx = this.normalizeTransaction(rawTx.chainId, tx) + const path = this.getPath(index) + + const rpcCallback: Callback = (err, result) => { + return err + ? reject(err) + : resolve({ v: result.v, r: result.r, s: result.s }) + } + + flex.rpc('trezor.ethereumSignTransaction', this.device.path, path, trezorTx, rpcCallback) + }) + }) + .then(signedTx => cb(null, addHexPrefix(signedTx.serialize().toString('hex')))) + .catch(err => cb(err.message, undefined)) + } + + private normalize (hex: string) { + return (hex && padToEven(stripHexPrefix(hex))) || '' + } + + private normalizeTransaction (chainId: string, tx: TypedTransaction) { + const txJson = tx.toJSON() + + const unsignedTx = { + nonce: this.normalize(txJson.nonce || ''), + gasLimit: this.normalize(txJson.gasLimit || ''), + to: this.normalize(txJson.to || ''), + value: this.normalize(txJson.value || ''), + data: this.normalize(txJson.data || ''), + chainId: utils.hexToNumber(chainId) + } + + const optionalFields = ['gasPrice', 'maxFeePerGas', 'maxPriorityFeePerGas'] + + optionalFields.forEach(field => { + // @ts-ignore + const val: string = txJson[field] + if (val) { + // @ts-ignore + unsignedTx[field] = this.normalize(val) + } + }) + + return unsignedTx + } +} diff --git a/main/signers/trezor/adapter.ts b/main/signers/trezor/adapter.ts new file mode 100644 index 000000000..f4a1db7fd --- /dev/null +++ b/main/signers/trezor/adapter.ts @@ -0,0 +1,138 @@ +import log from 'electron-log' +import { Device as TrezorDevice } from 'trezor-connect' + +import flex from '../../flex' +import { SignerAdapter } from '../adapters' +import Trezor from './Trezor' +import store from '../../store' +import Signer from '../signer' + +export default class TrezorSignerAdapter extends SignerAdapter { + private flexListeners: { [event: string]: (device: TrezorDevice) => void }; + private knownSigners: { [id: string]: Trezor }; + private observer: any; + + constructor () { + super('trezor') + + this.flexListeners = {} + this.knownSigners = {} + } + + open () { + const connectListener = (device: TrezorDevice) => { + log.info(':: Trezor Scan - Connected Device') + + const trezor = new Trezor(device) + trezor.derivation = store('main.trezor.derivation') + + trezor.on('close', () => { + delete this.knownSigners[device.path] + + this.emit('remove', trezor.id) + }) + + trezor.on('update', () => { + this.emit('update', trezor) + }) + + this.knownSigners[device.path] = trezor + + this.emit('add', trezor) + + trezor.open() + } + + const disconnectListener = (device: TrezorDevice) => { + log.info(':: Trezor Scan - Disconnected Device') + + this.withSigner(device, signer => { + signer.close() + + delete this.knownSigners[device.path] + + this.emit('remove', signer.id) + }) + } + + const updateListener = (device: TrezorDevice) => { + log.debug(':: Trezor Scan - Updated Device') + this.withSigner(device, signer => this.emit('update', signer)) + } + + const needPinListener = (device: TrezorDevice) => { + log.debug(':: Trezor Scan - Device Needs Pin') + + this.withSigner(device, signer => { + signer.status = 'Need Pin', + signer.update() + }) + } + + const needPhraseListener = (device: TrezorDevice) => { + log.debug(':: Trezor Scan - Device Needs Phrase') + + this.withSigner(device, signer => { + signer.status = 'Enter Passphrase' + signer.update() + }) + } + + const scanListener = (err: any) => { + if (err) return log.error(err) + } + + const readyListener = () => { + this.observer = store.observer(() => { + const trezorDerivation = store('main.trezor.derivation') + + Object.values(this.knownSigners).forEach(trezor => { + if (trezor.derivation !== trezorDerivation) { + trezor.derivation = trezorDerivation + trezor.reset() + trezor.deviceStatus() + } + }) + }) + + this.flexListeners = { + 'trezor:connect': connectListener, + 'trezor:disconnect': disconnectListener, + 'trezor:update': updateListener, + 'trezor:needPin': needPinListener, + 'trezor:needPhrase': needPhraseListener, + 'trezor:scan': scanListener + } + + Object.entries(this.flexListeners).forEach(([event, listener]) => flex.on(event, listener)) + } + + flex.on('ready', readyListener) + + this.flexListeners.ready = readyListener + + super.open() + } + + close () { + this.observer.remove() + + Object.entries(this.flexListeners).forEach(([event, listener]) => flex.off(event, listener)) + + super.close() + } + + reload (signer: Signer) { + signer.open() + } + + private withSigner (device: TrezorDevice, fn: (signer: Trezor) => void) { + const signer = this.knownSigners[device.path] + + if (signer) { + fn(signer) + } else { + log.warn('got Trezor Connect event for unknown signer', device) + } + } +} diff --git a/main/store/actions/index.js b/main/store/actions/index.js index bfb679293..40b8b55c5 100644 --- a/main/store/actions/index.js +++ b/main/store/actions/index.js @@ -1,17 +1,19 @@ +import log from 'electron-log' + const panelActions = require('./panel') function validateNetworkSettings (network) { const networkId = parseInt(network.id) if ( - typeof (parseInt(networkId)) !== 'number' || + (!Number.isInteger(networkId)) || typeof (network.type) !== 'string' || typeof (network.name) !== 'string' || typeof (network.explorer) !== 'string' || typeof (network.symbol) !== 'string' || ['ethereum'].indexOf(network.type) === -1 ) { - throw new Error('Invalid network settings') + throw new Error('Invalid network settings ' + JSON.stringify(network)) } return networkId @@ -22,6 +24,8 @@ module.exports = { ...panelActions, // setSync: (u, key, payload) => u(key, () => payload), selectNetwork: (u, type, id) => { + id = parseInt(id) + if (!Number.isInteger(id)) return const reset = { status: 'loading', connected: false, type: '', network: '' } u('main.currentNetwork', selected => { u('main.networks', selected.type, selected.id, connection => { @@ -36,7 +40,7 @@ module.exports = { if (!active) { u('main.currentNetwork', (current) => { if (current.type === type && current.id === chainId) { - return { type: 'ethereum', id: '1' } + return { type: 'ethereum', id: 1 } } else { return current } @@ -289,33 +293,14 @@ module.exports = { return main }) } catch (e) { - console.error(e) + log.error(e) } }, updateNetwork: (u, net, newNet) => { try { - if ( - typeof (parseInt(net.id)) !== 'number' || - typeof (net.type) !== 'string' || - typeof (net.name) !== 'string' || - typeof (net.explorer) !== 'string' || - typeof (net.symbol) !== 'string' || - typeof (net.layer) !== 'string' || - ['ethereum'].indexOf(net.type) === -1 - ) { - throw new Error('Invalid network settings') - } - if ( - typeof (parseInt(newNet.id)) !== 'number' || - typeof (newNet.type) !== 'string' || - typeof (newNet.name) !== 'string' || - typeof (newNet.explorer) !== 'string' || - typeof (newNet.symbol) !== 'string' || - typeof (newNet.layer) !== 'string' || - ['ethereum'].indexOf(newNet.type) === -1 - ) { - throw new Error('Invalid new network settings') - } + net.id = validateNetworkSettings(net) + newNet.id = validateNetworkSettings(newNet) + u('main', main => { const updatedNetwork = Object.assign({}, main.networks[net.type][net.id], newNet) @@ -337,38 +322,38 @@ module.exports = { return main }) } catch (e) { - console.error(e) + log.error(e) } }, removeNetwork: (u, net) => { - // Cannot delete mainnet - if (net.type === 'ethereum' && net.id === '1') return - u('main', main => { - // If deleting a network that the user is currently on, move them to mainnet - if (net.type === main.currentNetwork.type && net.id === main.currentNetwork.id) { - main.currentNetwork.type = 'ethereum' - main.currentNetwork.id = '1' - } - let netCount = 0 - Object.keys(main.networks[net.type]).forEach(id => { - netCount++ - }) - if (netCount <= 1) return main // Cannot delete last network without adding a new network of this type first + try { + net.id = parseInt(net.id) - if (main.networks[net.type]) { - delete main.networks[net.type][net.id] - delete main.networksMeta[net.type][net.id] - } + // Cannot delete mainnet + if (!Number.isInteger(net.id)) throw new Error('Invalid chain id') + if (net.type === 'ethereum' && net.id === 1) throw new Error('Cannot remove mainnet') + u('main', main => { + // If deleting a network that the user is currently on, move them to mainnet + if (net.type === main.currentNetwork.type && net.id === main.currentNetwork.id) { + main.currentNetwork.type = 'ethereum' + main.currentNetwork.id = 1 + } + let netCount = 0 + Object.keys(main.networks[net.type]).forEach(id => { + netCount++ + }) + if (netCount <= 1) return main // Cannot delete last network without adding a new network of this type first - if (main.currentNetwork.type === net.type && main.currentNetwork.id === net.id) { // Change selected network if it's deleted while selected - const id = Object.keys(main.networks[net.type]).map(i => parseInt(i)).sort((a, b) => a - b)[0].toString() - const reset = { status: 'loading', connected: false, type: '', network: '' } - main.currentNetwork = { type: net.type, id } - main.networks[net.type][id].primary = Object.assign({}, main.networks[net.type][id].primary, reset) - main.networks[net.type][id].secondary = Object.assign({}, main.networks[net.type][id].secondary, reset) - } - return main - }) + if (main.networks[net.type]) { + delete main.networks[net.type][net.id] + delete main.networksMeta[net.type][net.id] + } + + return main + }) + } catch (e) { + log.error(e) + } }, // Flow addDapp: (u, namehash, data, options = { docked: false, added: false }) => { diff --git a/main/store/migrations/index.js b/main/store/migrations/index.js index 8c0b470c9..e3bb50cf2 100644 --- a/main/store/migrations/index.js +++ b/main/store/migrations/index.js @@ -51,7 +51,7 @@ const migrations = { initial.main.networks.ethereum[id].connection.primary.on = connection.local.on initial.main.networks.ethereum[id].connection.secondary.on = connection.secondary.on }) - initial.main.currentNetwork.id = connection.network + '' || initial.main.currentNetwork.id || '1' + initial.main.currentNetwork.id = connection.network || initial.main.currentNetwork.id || 1 } Object.keys(initial.main.networks.ethereum).forEach(id => { @@ -83,7 +83,7 @@ const migrations = { type: 'ethereum', symbol: 'MATIC', name: 'Polygon', - explorer: 'https://explorer.matic.network', + explorer: 'https://polygonscan.com', gas: { price: { selected: 'standard', @@ -202,7 +202,6 @@ const migrations = { return initial }, 10: initial => { // Add Optimism to persisted networks - // if (!initial.main.networks.ethereum[10]) { initial.main.networks.ethereum[10] = { id: 10, type: 'ethereum', @@ -338,6 +337,32 @@ const migrations = { } } + return initial + }, + 15: initial => { + // Polygon + if (initial.main.networks.ethereum['137']) { + const oldExplorer = initial.main.networks.ethereum['137'].explorer + + if (!oldExplorer || oldExplorer.endsWith('explorer.matic.network')) { + // only replace if it hasn't been changed from the initial setting + initial.main.networks.ethereum['137'].explorer = 'https://polygonscan.com' + } + } + + return initial + }, + 16: initial => { + if (initial.main.currentNetwork?.id) { + initial.main.currentNetwork.id = parseInt(initial.main.currentNetwork.id) + } + Object.keys(initial.main.networks.ethereum).forEach(chain => { + try { + initial.main.networks.ethereum[chain].id = parseInt(initial.main.networks.ethereum[chain].id) + } catch (e) { + log.error(e) + } + }) return initial } } diff --git a/main/store/state/index.js b/main/store/state/index.js index da0af6de5..e51aa708a 100644 --- a/main/store/state/index.js +++ b/main/store/state/index.js @@ -222,7 +222,7 @@ const initial = { }, currentNetwork: main('currentNetwork', { type: 'ethereum', - id: '1' + id: 1 }), networkPresets: { ethereum: { @@ -424,7 +424,7 @@ const initial = { layer: 'sidechain', symbol: 'MATIC', name: 'Polygon', - explorer: 'https://explorer.matic.network', + explorer: 'https://polygonscan.com', gas: { price: { selected: 'standard', diff --git a/main/transaction/index.ts b/main/transaction/index.ts index 01e7e965c..9f3fc6a36 100644 --- a/main/transaction/index.ts +++ b/main/transaction/index.ts @@ -1,5 +1,5 @@ import { BN, addHexPrefix, stripHexPrefix, bnToHex, intToHex } from 'ethereumjs-util' -import { JsonTx, TransactionFactory, TxData } from '@ethereumjs/tx' +import { JsonTx, TransactionFactory, TypedTransaction } from '@ethereumjs/tx' import Common from '@ethereumjs/common' import chainConfig from '../chains/config' @@ -8,6 +8,7 @@ const londonHardforkSigners: SignerCompatibilityByVersion = { seed: () => true, ring: () => true, ledger: version => version.major >= 2 || (version.major >= 1 && version.minor >= 9), + trezor: version => version.major >= 3 || (version.major >= 2 && version.minor >= 4 && version.patch >= 2), lattice: version => version.major >= 1 || version.minor >= 11 } @@ -21,7 +22,7 @@ interface Signature { s: string } -interface AppVersion { +export interface AppVersion { major: number, minor: number, patch: number @@ -34,6 +35,8 @@ export interface RawTransaction { export interface TransactionData extends JsonTx { warning?: string + chainId: string, + type: string } export interface SignerCompatibility { @@ -48,7 +51,6 @@ export interface SignerSummary { type: string, addresses: string[], status: string, - liveAddressesFound: number, appVersion: AppVersion } @@ -85,6 +87,23 @@ function usesBaseFee (rawTx: RawTransaction) { return typeSupportsBaseFee(rawTx.type) } +function maxFee (rawTx: RawTransaction) { + const chainId = parseInt(rawTx.chainId) + + // for ETH-based chains, the max fee should be 2 ETH + if ([1, 3, 4, 5, 6, 10, 42, 61, 62, 63, 69, 42161, 421611].includes(chainId)) { + return 2 * 1e18 + } + + // for Fantom, the max fee should be 250 FTM + if ([250, 4002].includes(chainId)) { + return 250 * 1e18 + } + + // for all other chains, default to 10 of the chain's currency + return 10 * 1e18 +} + function populate (rawTx: RawTransaction, chainConfig: Common, gas: any): TransactionData { const txData: TransactionData = { ...rawTx } @@ -116,10 +135,9 @@ function hexifySignature ({ v, r, s }: Signature) { } } -async function sign (rawTx: RawTransaction, signingFn: (tx: TxData) => Promise) { +async function sign (rawTx: TransactionData, signingFn: (tx: TypedTransaction) => Promise) { const common = chainConfig(parseInt(rawTx.chainId), parseInt(rawTx.type) === 2 ? 'london' : 'berlin') - // @ts-ignore const tx = TransactionFactory.fromTxData(rawTx, { common }) return signingFn(tx).then(sig => { @@ -138,6 +156,7 @@ async function sign (rawTx: RawTransaction, signingFn: (tx: TxData) => Promise=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-react-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.14.5.tgz", - "integrity": "sha512-LT/856RUBXAHjmvJuLuI6XYZZAZNMSS+N2Yf5EUoHgSWtiWrAaGh7t5saP7sPCq07uvWVxxK3gwwm3weA9gKLg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.15.4.tgz", + "integrity": "sha512-bT7jt6ozDCBuUUtmqxZJ6nImqJ2zdXjGehvyBSeeGO+eE4vBwsxTFM7aDp6UgUkxaQNaaYXcEJcDIdZOy2u8nA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", "dependencies": { "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", @@ -355,17 +359,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", - "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -417,98 +421,98 @@ } }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "dependencies": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -523,71 +527,71 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", "dependencies": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "engines": { "node": ">=6.9.0" } @@ -601,28 +605,28 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -642,12 +646,12 @@ } }, "node_modules/@babel/node": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.14.9.tgz", - "integrity": "sha512-7QJvGn3ID2TjoFst3UdLu3LOxn/Q6Nhr/mo0MENstbPHehl/0wnod2gmVDB+zDxRL6pFFS7z0WeBK3b94k4CLg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.15.8.tgz", + "integrity": "sha512-JbgTCrnx6IUECznEbQ7e2rbVYtrXKixSbEG2bxxbMkV648WdUf3tdc+ZUW2++dvnnAswcpwc76cRwf0xEQqsrw==", "dev": true, "dependencies": { - "@babel/register": "^7.14.5", + "@babel/register": "^7.15.3", "commander": "^4.0.1", "core-js": "^3.16.0", "node-environment-flags": "^1.0.5", @@ -665,9 +669,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -676,13 +680,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", "@babel/plugin-proposal-optional-chaining": "^7.14.5" }, "engines": { @@ -693,13 +697,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", - "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -726,12 +730,12 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, @@ -743,12 +747,12 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.5.tgz", - "integrity": "sha512-LYz5nvQcvYeRVjui1Ykn28i+3aUiXwQ/3MGoEy0InTaz1pJo/lAzmIDXX+BQny/oufgHzJ6vnEEiXQ8KZjEVFg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.8.tgz", + "integrity": "sha512-5n8+xGK7YDrXF+WAORg3P7LlCCdiaAyKLZi22eP2BwTy4kJ0kFUMMDCj4nQ8YrKyNZgjhU/9eRVqONnjB3us8g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-decorators": "^7.14.5" }, @@ -921,16 +925,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -1005,13 +1009,13 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -1468,17 +1472,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", - "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" }, "engines": { @@ -1579,9 +1583,9 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1657,14 +1661,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1675,15 +1679,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1756,9 +1760,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1881,14 +1885,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", - "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", + "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", "dependencies": { - "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-module-imports": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "semver": "^6.3.0" }, @@ -1923,13 +1927,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -1984,12 +1988,12 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz", - "integrity": "sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.8.tgz", + "integrity": "sha512-ZXIkJpbaf6/EsmjeTbiJN/yMxWPFWvlr7sEG1P95Xb4S4IBcrf2n7s/fItIhsAmOf8oSh3VJPDppO6ExfAfKRQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.15.0", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-typescript": "^7.14.5" }, @@ -2032,30 +2036,30 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", - "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", "@babel/plugin-proposal-dynamic-import": "^7.14.5", "@babel/plugin-proposal-export-namespace-from": "^7.14.5", "@babel/plugin-proposal-json-strings": "^7.14.5", "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -2074,39 +2078,39 @@ "@babel/plugin-transform-arrow-functions": "^7.14.5", "@babel/plugin-transform-async-to-generator": "^7.14.5", "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", "@babel/plugin-transform-computed-properties": "^7.14.5", "@babel/plugin-transform-destructuring": "^7.14.7", "@babel/plugin-transform-dotall-regex": "^7.14.5", "@babel/plugin-transform-duplicate-keys": "^7.14.5", "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", "@babel/plugin-transform-function-name": "^7.14.5", "@babel/plugin-transform-literals": "^7.14.5", "@babel/plugin-transform-member-expression-literals": "^7.14.5", "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.0", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", "@babel/plugin-transform-modules-umd": "^7.14.5", "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", "@babel/plugin-transform-new-target": "^7.14.5", "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", "@babel/plugin-transform-property-literals": "^7.14.5", "@babel/plugin-transform-regenerator": "^7.14.5", "@babel/plugin-transform-reserved-words": "^7.14.5", "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-spread": "^7.15.8", "@babel/plugin-transform-sticky-regex": "^7.14.5", "@babel/plugin-transform-template-literals": "^7.14.5", "@babel/plugin-transform-typeof-symbol": "^7.14.5", "@babel/plugin-transform-unicode-escapes": "^7.14.5", "@babel/plugin-transform-unicode-regex": "^7.14.5", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.0", + "@babel/types": "^7.15.6", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "core-js-compat": "^3.16.0", "semver": "^6.3.0" @@ -2200,9 +2204,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -2211,30 +2215,30 @@ } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", "dependencies": { "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", "dependencies": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2243,9 +2247,9 @@ } }, "node_modules/@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dependencies": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" @@ -2261,23 +2265,23 @@ "dev": true }, "node_modules/@chainsafe/libp2p-noise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.0.tgz", - "integrity": "sha512-Gky4Q83WpVyjccblKWTQNdi7IH6O55d6ykQyumvxjMKz3bwX222jAYZWpeEjuxleLUKPzFMJoS3c1W91Fqrwaw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.1.tgz", + "integrity": "sha512-/Fz86sZmnvRSf7FHxMPifzakxx9xK4KVYx6yi35KPZughop9ivJslUSCLhx/UqDHiuj3h9i04pVXET6nIjSJyQ==", "dependencies": { "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", "@stablelib/sha256": "^1.0.1", "@stablelib/x25519": "^1.0.1", "debug": "^4.3.1", - "it-buffer": "^0.1.1", - "it-length-prefixed": "^5.0.2", + "it-buffer": "^0.1.3", + "it-length-prefixed": "^5.0.3", "it-pair": "^1.0.0", - "it-pb-rpc": "^0.1.9", + "it-pb-rpc": "^0.1.11", "it-pipe": "^1.1.0", - "libp2p-crypto": "^0.19.0", - "peer-id": "^0.15.0", - "protobufjs": "^6.10.1", + "libp2p-crypto": "^0.19.7", + "peer-id": "^0.15.3", + "protobufjs": "^6.11.2", "uint8arrays": "^3.0.0" } }, @@ -2424,15 +2428,17 @@ } }, "node_modules/@ensdomains/address-encoder": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.2.5.tgz", - "integrity": "sha512-eG3wPf4UjB6Hi89HTQIET5VsngNwa0EWW99u1iAyz+DQqQGa5EKezWfFA3v9y239StH1rqRVtpPPPIIXYhKYhw==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.2.8.tgz", + "integrity": "sha512-dkpjaVL5gBmPZexDIqQTgUrmHp+/slm4hB03Rck2vbpOJLli0fWEYvvvVnWd6btepkVn6tVW8jGsrwUQBzSdyA==", "dependencies": { "bech32": "^1.1.3", "blakejs": "^1.1.0", "bn.js": "^4.11.8", "bs58": "^4.0.1", "crypto-addr-codec": "^0.1.7", + "js-crc": "^0.2.0", + "js-sha256": "^0.9.0", "js-sha512": "^0.8.0", "nano-base32": "^1.0.1", "ripemd160": "^2.0.2", @@ -2440,20 +2446,21 @@ } }, "node_modules/@ensdomains/content-hash": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.6.tgz", - "integrity": "sha512-DQy7C7KqOcKnZVE18fQSwRC3z5s2DuKt9IBCT1Pd8g3E7ibMu3+jGXjdOCOSQ43FOiMn8+jO020sVci5kwJrPg==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.7.tgz", + "integrity": "sha512-WNdGKCeubMIAfyPYTMlKeX6cgXKIEo42OcWPOLBiclzJwMibkVqpaGgWKVH9dniJq7bLXLa2tQ0k/F1pt6gUxA==", "dependencies": { "cids": "^1.1.5", "js-base64": "^3.6.0", - "multicodec": "^2.1.0", + "multicodec": "^3.2.0", "multihashes": "^2.0.0" } }, "node_modules/@ensdomains/content-hash/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.9.tgz", + "integrity": "sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "multibase": "^4.0.1", "multicodec": "^3.0.1", @@ -2465,15 +2472,6 @@ "npm": ">=3.0.0" } }, - "node_modules/@ensdomains/content-hash/node_modules/cids/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, "node_modules/@ensdomains/content-hash/node_modules/cids/node_modules/multihashes": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", @@ -2488,7 +2486,7 @@ "npm": ">=6.0.0" } }, - "node_modules/@ensdomains/content-hash/node_modules/cids/node_modules/multihashes/node_modules/varint": { + "node_modules/@ensdomains/content-hash/node_modules/cids/node_modules/varint": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" @@ -2497,6 +2495,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "@multiformats/base-x": "^4.0.1" }, @@ -2506,35 +2505,13 @@ } }, "node_modules/@ensdomains/content-hash/node_modules/multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "dependencies": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - } - }, - "node_modules/@ensdomains/content-hash/node_modules/multicodec/node_modules/multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.1.tgz", + "integrity": "sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==", "deprecated": "This module has been superseded by the multiformats module", "dependencies": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/@ensdomains/content-hash/node_modules/multicodec/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" } }, "node_modules/@ensdomains/content-hash/node_modules/multihashes": { @@ -2929,18 +2906,18 @@ "peer": true }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "peer": true, + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^13.9.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -2952,7 +2929,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2968,18 +2944,16 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "peer": true, + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dependencies": { - "type-fest": "^0.20.2" + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" @@ -2992,7 +2966,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3004,36 +2977,30 @@ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/@eslint/eslintrc/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "peer": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true, + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/@ethereum-waffle/chai": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.0.tgz", - "integrity": "sha512-GVaFKuFbFUclMkhHtQTDnWBnBQMJc/pAbfbFj/nnIK237WPLsO3KDDslA7m+MNEyTAOFrcc0CyfruAGGXAQw3g==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.1.tgz", + "integrity": "sha512-8mjgjWCe8XSCWuyJgVtJY8sm00VTczGBTDxBejgEBWN/J9x7QD8jdmWW8bfxdnqZbxiDCTvRFL58Wmd254BEqQ==", "dev": true, "peer": true, "dependencies": { "@ethereum-waffle/provider": "^3.4.0", - "ethers": "^5.0.0" + "ethers": "^5.4.7" }, "engines": { "node": ">=10.0" @@ -3062,6 +3029,17 @@ "node": ">=10.0" } }, + "node_modules/@ethereum-waffle/compiler/node_modules/@types/node-fetch": { + "version": "2.5.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", + "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, "node_modules/@ethereum-waffle/ens": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.3.0.tgz", @@ -3109,15 +3087,15 @@ } }, "node_modules/@ethereumjs/block": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.4.0.tgz", - "integrity": "sha512-umKAoTX32yXzErpIksPHodFc/5y8bmZMnOl6hWy5Vd8xId4+HKFUOyEiN16Y97zMwFRysRpcrR6wBejfqc6Bmg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.5.1.tgz", + "integrity": "sha512-MoY9bHKABOBK6BW0v1N1Oc0Cve4x/giX67M3TtrVBUsKQTj2eznLGKpydoitxWSZ+WgKKSVhfRMzbCGRwk7T5w==", "dev": true, "dependencies": { - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/tx": "^3.3.0", - "ethereumjs-util": "^7.1.0", - "merkle-patricia-tree": "^4.2.0" + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.1", + "ethereumjs-util": "^7.1.1", + "merkle-patricia-tree": "^4.2.1" } }, "node_modules/@ethereumjs/block/node_modules/level-ws": { @@ -3135,13 +3113,13 @@ } }, "node_modules/@ethereumjs/block/node_modules/merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "dependencies": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -3164,16 +3142,16 @@ } }, "node_modules/@ethereumjs/blockchain": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.4.0.tgz", - "integrity": "sha512-wAuKLaew6PL52kH8YPXO7PbjjKV12jivRSyHQehkESw4slSLLfYA6Jv7n5YxyT2ajD7KNMPVh7oyF/MU6HcOvg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.4.2.tgz", + "integrity": "sha512-AOAAwz/lw2lciG9gf5wHi7M/qknraXXnLR66lYgbQ04qfyFC3ZE5x/5rLVm1Vu+kfJLlKrYZTmA0IbOkc7kvgw==", "dev": true, "dependencies": { - "@ethereumjs/block": "^3.4.0", - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/ethash": "^1.0.0", + "@ethereumjs/block": "^3.5.1", + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/ethash": "^1.1.0", "debug": "^2.2.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.1", "level-mem": "^5.0.1", "lru-cache": "^5.1.1", "rlp": "^2.2.4", @@ -3196,23 +3174,24 @@ "dev": true }, "node_modules/@ethereumjs/common": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.4.0.tgz", - "integrity": "sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", + "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", "dependencies": { "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.0" + "ethereumjs-util": "^7.1.1" } }, "node_modules/@ethereumjs/ethash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.0.0.tgz", - "integrity": "sha512-iIqnGG6NMKesyOxv2YctB2guOVX18qMAWlj3QlZyrc+GqfzLqoihti+cVNQnyNxr7eYuPdqwLQOFuPe6g/uKjw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", "dev": true, "dependencies": { + "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.7", + "ethereumjs-util": "^7.1.1", "miller-rabin": "^4.0.0" } }, @@ -3226,31 +3205,31 @@ } }, "node_modules/@ethereumjs/tx": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.0.tgz", - "integrity": "sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", + "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", "dependencies": { - "@ethereumjs/common": "^2.4.0", - "ethereumjs-util": "^7.1.0" + "@ethereumjs/common": "^2.5.0", + "ethereumjs-util": "^7.1.2" } }, "node_modules/@ethereumjs/vm": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.5.2.tgz", - "integrity": "sha512-AydZ4wfvZAsBuFzs3xVSA2iU0hxhL8anXco3UW3oh9maVC34kTEytOfjHf06LTEfN0MF9LDQ4ciLa7If6ZN/sg==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.5.3.tgz", + "integrity": "sha512-0k5OreWnlgXYs54wohgO11jtGI05GDasj2EYxzuaStxTi15CS3vow5wGYELC1pG9xngE1F/mFmKi/f14XRuDow==", "dev": true, "dependencies": { - "@ethereumjs/block": "^3.4.0", - "@ethereumjs/blockchain": "^5.4.0", - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/tx": "^3.3.0", + "@ethereumjs/block": "^3.5.0", + "@ethereumjs/blockchain": "^5.4.1", + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.1", "async-eventemitter": "^0.2.4", "core-js-pure": "^3.0.1", "debug": "^2.2.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.1", "functional-red-black-tree": "^1.0.1", "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.0", + "merkle-patricia-tree": "^4.2.1", "rustbn.js": "~0.2.0", "util.promisify": "^1.0.1" } @@ -3279,13 +3258,13 @@ } }, "node_modules/@ethereumjs/vm/node_modules/merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "dependencies": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -3445,9 +3424,9 @@ } }, "node_modules/@ethersproject/bignumber": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", - "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.2.tgz", + "integrity": "sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA==", "funding": [ { "type": "individual", @@ -4021,342 +4000,6 @@ "react": ">=15" } }, - "node_modules/@hapi/accept": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-5.0.2.tgz", - "integrity": "sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/ammo": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-5.0.1.tgz", - "integrity": "sha512-FbCNwcTbnQP4VYYhLNGZmA76xb2aHg9AMPiy18NZyWMG310P5KdFGyA9v2rm5ujrIny77dEEIkMOwl0Xv+fSSA==", - "dependencies": { - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/b64": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-5.0.0.tgz", - "integrity": "sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==", - "dependencies": { - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/boom": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.4.tgz", - "integrity": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==", - "dependencies": { - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/bounce": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-2.0.0.tgz", - "integrity": "sha512-JesW92uyzOOyuzJKjoLHM1ThiOvHPOLDHw01YV8yh5nCso7sDwJho1h0Ad2N+E62bZyz46TG3xhAi/78Gsct6A==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/bourne": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-2.0.0.tgz", - "integrity": "sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==" - }, - "node_modules/@hapi/call": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@hapi/call/-/call-8.0.1.tgz", - "integrity": "sha512-bOff6GTdOnoe5b8oXRV3lwkQSb/LAWylvDMae6RgEWWntd0SHtkYbQukDHKlfaYtVnSAgIavJ0kqszF/AIBb6g==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/catbox": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-11.1.1.tgz", - "integrity": "sha512-u/8HvB7dD/6X8hsZIpskSDo4yMKpHxFd7NluoylhGrL6cUfYxdQPnvUp9YU2C6F9hsyBVLGulBd9vBN1ebfXOQ==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/podium": "4.x.x", - "@hapi/validate": "1.x.x" - } - }, - "node_modules/@hapi/catbox-memory": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-5.0.1.tgz", - "integrity": "sha512-QWw9nOYJq5PlvChLWV8i6hQHJYfvdqiXdvTupJFh0eqLZ64Xir7mKNi96d5/ZMUAqXPursfNDIDxjFgoEDUqeQ==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/content": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@hapi/content/-/content-5.0.2.tgz", - "integrity": "sha512-mre4dl1ygd4ZyOH3tiYBrOUBzV7Pu/EOs8VLGf58vtOEECWed8Uuw6B4iR9AN/8uQt42tB04qpVaMyoMQh0oMw==", - "dependencies": { - "@hapi/boom": "9.x.x" - } - }, - "node_modules/@hapi/cryptiles": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-5.1.0.tgz", - "integrity": "sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==", - "dependencies": { - "@hapi/boom": "9.x.x" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@hapi/file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/file/-/file-2.0.0.tgz", - "integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ==" - }, - "node_modules/@hapi/hapi": { - "version": "20.1.5", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.1.5.tgz", - "integrity": "sha512-BhJ5XFR9uWPUBj/z5pPqXSk8OnvQQU/EbQjwpmjZy0ymNEiq7kIhXkAmzXcntbBHta9o7zpW8XMeXnfV4wudXw==", - "dependencies": { - "@hapi/accept": "^5.0.1", - "@hapi/ammo": "^5.0.1", - "@hapi/boom": "^9.1.0", - "@hapi/bounce": "^2.0.0", - "@hapi/call": "^8.0.0", - "@hapi/catbox": "^11.1.1", - "@hapi/catbox-memory": "^5.0.0", - "@hapi/heavy": "^7.0.1", - "@hapi/hoek": "^9.0.4", - "@hapi/mimos": "^6.0.0", - "@hapi/podium": "^4.1.1", - "@hapi/shot": "^5.0.5", - "@hapi/somever": "^3.0.0", - "@hapi/statehood": "^7.0.3", - "@hapi/subtext": "^7.0.3", - "@hapi/teamwork": "^5.1.0", - "@hapi/topo": "^5.0.0", - "@hapi/validate": "^1.1.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@hapi/heavy": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-7.0.1.tgz", - "integrity": "sha512-vJ/vzRQ13MtRzz6Qd4zRHWS3FaUc/5uivV2TIuExGTM9Qk+7Zzqj0e2G7EpE6KztO9SalTbiIkTh7qFKj/33cA==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "node_modules/@hapi/inert": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-6.0.4.tgz", - "integrity": "sha512-tpmNqtCCAd+5Ts07bJmMaA79+ZUIf0zSWnQMaWtbcO4nGrO/yXB2AzoslfzFX2JEV9vGeF3FfL8mYw0pHl8VGg==", - "dependencies": { - "@hapi/ammo": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/bounce": "2.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x", - "lru-cache": "^6.0.0" - } - }, - "node_modules/@hapi/inert/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@hapi/inert/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@hapi/iron": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-6.0.0.tgz", - "integrity": "sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==", - "dependencies": { - "@hapi/b64": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/cryptiles": "5.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/mimos": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-6.0.0.tgz", - "integrity": "sha512-Op/67tr1I+JafN3R3XN5DucVSxKRT/Tc+tUszDwENoNpolxeXkhrJ2Czt6B6AAqrespHoivhgZBWYSuANN9QXg==", - "dependencies": { - "@hapi/hoek": "9.x.x", - "mime-db": "1.x.x" - } - }, - "node_modules/@hapi/nigel": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-4.0.2.tgz", - "integrity": "sha512-ht2KoEsDW22BxQOEkLEJaqfpoKPXxi7tvabXy7B/77eFtOyG5ZEstfZwxHQcqAiZhp58Ae5vkhEqI03kawkYNw==", - "dependencies": { - "@hapi/hoek": "^9.0.4", - "@hapi/vise": "^4.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@hapi/pez": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-5.0.3.tgz", - "integrity": "sha512-mpikYRJjtrbJgdDHG/H9ySqYqwJ+QU/D7FXsYciS9P7NYBXE2ayKDAy3H0ou6CohOCaxPuTV4SZ0D936+VomHA==", - "dependencies": { - "@hapi/b64": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/content": "^5.0.2", - "@hapi/hoek": "9.x.x", - "@hapi/nigel": "4.x.x" - } - }, - "node_modules/@hapi/podium": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-4.1.3.tgz", - "integrity": "sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==", - "dependencies": { - "@hapi/hoek": "9.x.x", - "@hapi/teamwork": "5.x.x", - "@hapi/validate": "1.x.x" - } - }, - "node_modules/@hapi/shot": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-5.0.5.tgz", - "integrity": "sha512-x5AMSZ5+j+Paa8KdfCoKh+klB78otxF+vcJR/IoN91Vo2e5ulXIW6HUsFTCU+4W6P/Etaip9nmdAx2zWDimB2A==", - "dependencies": { - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x" - } - }, - "node_modules/@hapi/somever": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-3.0.1.tgz", - "integrity": "sha512-4ZTSN3YAHtgpY/M4GOtHUXgi6uZtG9nEZfNI6QrArhK0XN/RDVgijlb9kOmXwCR5VclDSkBul9FBvhSuKXx9+w==", - "dependencies": { - "@hapi/bounce": "2.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/statehood": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-7.0.3.tgz", - "integrity": "sha512-pYB+pyCHkf2Amh67QAXz7e/DN9jcMplIL7Z6N8h0K+ZTy0b404JKPEYkbWHSnDtxLjJB/OtgElxocr2fMH4G7w==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/bounce": "2.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/cryptiles": "5.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/iron": "6.x.x", - "@hapi/validate": "1.x.x" - } - }, - "node_modules/@hapi/subtext": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-7.0.3.tgz", - "integrity": "sha512-CekDizZkDGERJ01C0+TzHlKtqdXZxzSWTOaH6THBrbOHnsr3GY+yiMZC+AfNCypfE17RaIakGIAbpL2Tk1z2+A==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/content": "^5.0.2", - "@hapi/file": "2.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/pez": "^5.0.1", - "@hapi/wreck": "17.x.x" - } - }, - "node_modules/@hapi/teamwork": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-5.1.0.tgz", - "integrity": "sha512-llqoQTrAJDTXxG3c4Kz/uzhBS1TsmSBa/XG5SPcVXgmffHE1nFtyLIK0hNJHCB3EuBKT84adzd1hZNY9GJLWtg==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@hapi/validate": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-1.1.3.tgz", - "integrity": "sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0" - } - }, - "node_modules/@hapi/vise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-4.0.0.tgz", - "integrity": "sha512-eYyLkuUiFZTer59h+SGy7hUm+qE9p+UemePTHLlIWppEd+wExn3Df5jO04bFQTm7nleF5V8CtuYQYb+VFpZ6Sg==", - "dependencies": { - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@hapi/wreck": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.1.0.tgz", - "integrity": "sha512-nx6sFyfqOpJ+EFrHX+XWwJAxs3ju4iHdbB/bwR8yTNZOiYmuhA8eCe7lYPtYmb4j7vyK/SlbaQsmTtUrMvPEBw==", - "dependencies": { - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "peer": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "peer": true - }, "node_modules/@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", @@ -4364,9 +4007,9 @@ "dev": true }, "node_modules/@ipld/car": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.16.tgz", - "integrity": "sha512-LvIXl7BYmy8em1PFB1l2Iu3/bFHYHy3h3x7HcDi9veoGSYi70dAIthJsXgkoYoGfRSLONR1FDjaoFjbbXk87Qw==", + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.18.tgz", + "integrity": "sha512-THOv4aYVojfcFNnhMvS1acRTMGIshnBeoLqms1a+jjKx6Z+3CM/y8BhJeLq4jNBKijxHApus7+ikHkC5UbfEHA==", "dependencies": { "@ipld/dag-cbor": "^6.0.0", "@types/varint": "^6.0.0", @@ -4375,18 +4018,18 @@ } }, "node_modules/@ipld/dag-cbor": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.9.tgz", - "integrity": "sha512-Kj8K8z2YMhupPJMHAn3jSVgGl/V7gT3Eki1dCE4bVhbli+vHS6lLObZXAcrTXMMHHYFmkSoOFdvwoYu5AU7lBA==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.11.tgz", + "integrity": "sha512-W9hpFAFS7+n0orqlq7w06ADeORealpTJ92jQZBZDywYMjOlcVfVKKKkVgCq/pUbwlSRqip+9kgzEvdfd5N3zcQ==", "dependencies": { "cborg": "^1.2.1", "multiformats": "^9.0.0" } }, "node_modules/@ipld/dag-pb": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.9.tgz", - "integrity": "sha512-6p8vgm3jMB7IKO4CAdZV/rbhBo/YvNLmiEot1vjtJalmASM+9DLbFIzHV0CAHkwlSsv3/UTsV7UzfDb6dGTHLQ==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.11.tgz", + "integrity": "sha512-M4PMBlKErEffK/APnmQ/78M+YouQ7L5w2Llpl9U6MgDXtfPisD5zQHxxDE8yYW1Ume45+suB1tBPF0uSdNQQEg==", "dependencies": { "multiformats": "^9.0.0" } @@ -4524,16 +4167,16 @@ } }, "node_modules/@jest/console": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.1.0.tgz", - "integrity": "sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.2.5.tgz", + "integrity": "sha512-smtlRF9vNKorRMCUtJ+yllIoiY8oFmfFG7xlzsAE76nKEwXNhjPOJIsc7Dv+AUitVt76t+KjIpUP9m98Crn2LQ==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.1.0", - "jest-util": "^27.1.0", + "jest-message-util": "^27.2.5", + "jest-util": "^27.2.5", "slash": "^3.0.0" }, "engines": { @@ -4611,37 +4254,36 @@ } }, "node_modules/@jest/core": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.1.0.tgz", - "integrity": "sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.2.5.tgz", + "integrity": "sha512-VR7mQ+jykHN4WO3OvusRJMk4xCa2MFLipMS+43fpcRGaYrN1KwMATfVEXif7ccgFKYGy5D1TVXTNE4mGq/KMMA==", "dev": true, "dependencies": { - "@jest/console": "^27.1.0", - "@jest/reporters": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/reporters": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.1.0", - "jest-config": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", + "jest-changed-files": "^27.2.5", + "jest-config": "^27.2.5", + "jest-haste-map": "^27.2.5", + "jest-message-util": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-resolve-dependencies": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "jest-watcher": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-resolve-dependencies": "^27.2.5", + "jest-runner": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", + "jest-watcher": "^27.2.5", "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -4729,62 +4371,72 @@ } }, "node_modules/@jest/environment": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.1.0.tgz", - "integrity": "sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.2.5.tgz", + "integrity": "sha512-XvUW3q6OUF+54SYFCgbbfCd/BKTwm5b2MGLoc2jINXQLKQDTCS2P2IrpPOtQ08WWZDGzbhAzVhOYta3J2arubg==", "dev": true, "dependencies": { - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0" + "jest-mock": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.1.0.tgz", - "integrity": "sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.2.5.tgz", + "integrity": "sha512-ZGUb6jg7BgwY+nmO0TW10bc7z7Hl2G/UTAvmxEyZ/GgNFoa31tY9/cgXmqcxnnZ7o5Xs7RAOz3G1SKIj8IVDlg==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", - "@sinonjs/fake-timers": "^7.0.2", + "@jest/types": "^27.2.5", + "@sinonjs/fake-timers": "^8.0.1", "@types/node": "*", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" + "jest-message-util": "^27.2.5", + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/@jest/fake-timers/node_modules/@sinonjs/fake-timers": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.0.1.tgz", + "integrity": "sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, "node_modules/@jest/globals": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.1.0.tgz", - "integrity": "sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.2.5.tgz", + "integrity": "sha512-naRI537GM+enFVJQs6DcwGYPn/0vgJNb06zGVbzXfDfe/epDPV73hP1vqO37PqSKDeOXM2KInr6ymYbL1HTP7g==", "dev": true, "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/types": "^27.1.0", - "expect": "^27.1.0" + "@jest/environment": "^27.2.5", + "@jest/types": "^27.2.5", + "expect": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/reporters": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.1.0.tgz", - "integrity": "sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.2.5.tgz", + "integrity": "sha512-zYuR9fap3Q3mxQ454VWF8I6jYHErh368NwcKHWO2uy2fwByqBzRHkf9j2ekMDM7PaSTWcLBSZyd7NNxR1iHxzQ==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", + "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -4795,15 +4447,15 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.0.0" + "v8-to-istanbul": "^8.1.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -4920,13 +4572,13 @@ } }, "node_modules/@jest/test-result": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.1.0.tgz", - "integrity": "sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.5.tgz", + "integrity": "sha512-ub7j3BrddxZ0BdSnM5JCF6cRZJ/7j3wgdX0+Dtwhw2Po+HKsELCiXUTvh+mgS4/89mpnU1CPhZxe2mTvuLPJJg==", "dev": true, "dependencies": { - "@jest/console": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/types": "^27.2.5", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -4935,36 +4587,36 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz", - "integrity": "sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.2.5.tgz", + "integrity": "sha512-8j8fHZRfnjbbdMitMAGFKaBZ6YqvFRFJlMJzcy3v75edTOqc7RY65S9JpMY6wT260zAcL2sTQRga/P4PglCu3Q==", "dev": true, "dependencies": { - "@jest/test-result": "^27.1.0", + "@jest/test-result": "^27.2.5", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-runtime": "^27.1.0" + "jest-haste-map": "^27.2.5", + "jest-runtime": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/transform": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.1.0.tgz", - "integrity": "sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.2.5.tgz", + "integrity": "sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ==", "dev": true, "dependencies": { "@babel/core": "^7.1.0", - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "babel-plugin-istanbul": "^6.0.0", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", + "jest-haste-map": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-util": "^27.1.0", + "jest-util": "^27.2.5", "micromatch": "^4.0.4", "pirates": "^4.0.1", "slash": "^3.0.0", @@ -5055,9 +4707,9 @@ } }, "node_modules/@jest/types": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz", - "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", + "integrity": "sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -5150,17 +4802,17 @@ } }, "node_modules/@ledgerhq/cryptoassets": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-6.5.0.tgz", - "integrity": "sha512-HBmcfb9WTlcsqlzlHfd7nZr49on7ftpWmKXvxZu9DinLS7EZ5ZjgSvmxrx39YCS5yONILBJoA/BSpg1RcCbSjQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-6.9.0.tgz", + "integrity": "sha512-NwGFky11PnRCFi2uSiVJvMbeTLSb0qVM0Xw24ovaYi36LO2SDI/iuTsa/rRSebdGUf8nuiHJFw45Z8D5ylVG5A==", "dependencies": { "invariant": "2" } }, "node_modules/@ledgerhq/devices": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.3.0.tgz", - "integrity": "sha512-DmVxqMAf3FhkpKjkbBCFVJ5DmesfplujeCLzFwO/zF5VGuwY7xxPqeSxlpusXJkqhEq+DbFzIDRWJYDf7rtXqg==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.7.0.tgz", + "integrity": "sha512-FWJfmdl8V300++OXLgBLpIi+IJoR/srWvxpXrWkc9hd3cNMxgeCl9opm84Y0oJDLBQL9AaERMrb+Cb1nZZR9Tw==", "dependencies": { "@ledgerhq/errors": "^6.2.0", "@ledgerhq/logs": "^6.2.0", @@ -5174,38 +4826,56 @@ "integrity": "sha512-eO03x8HJmG60WtlrMuahigW/rwywFdcGzCnihta/MjkM8BD9A660cKVkyIuheCcpaB7UV/r+QsRl9abHbjjaag==" }, "node_modules/@ledgerhq/hw-app-eth": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.5.0.tgz", - "integrity": "sha512-2M43aXxVX3xPwmluG/7zXRljSWSMdifi19V2JR5ezjBhpNg+fgrg6cYOkl7nhyrelsCCaRhWmn3+KCNrkFYLOQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.9.0.tgz", + "integrity": "sha512-sGQSuW3dXViuU3rPLBk2liUYil5zI2ZTco8IuXsJnoLMX7AbcUb1EaHGJdZKf8vrERNk3M4uf8aJdX5SiOEvYg==", "dependencies": { - "@ledgerhq/cryptoassets": "^6.5.0", + "@ledgerhq/cryptoassets": "^6.9.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", - "axios": "^0.21.1", + "axios": "^0.21.4", "bignumber.js": "^9.0.1", - "ethers": "^5.4.4" + "ethers": "^5.4.7" + } + }, + "node_modules/@ledgerhq/hw-app-eth/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" } }, "node_modules/@ledgerhq/hw-transport": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.3.0.tgz", - "integrity": "sha512-kdnVrgmxrFtKaRdkoaQBEa02RXgLzEBiooYbxA65BGSJig3PGWDS9LrqNpzLTZM1RQlivd9NLBmfwU2ze4chWA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.7.0.tgz", + "integrity": "sha512-w+PhW6Y4KXYdoCykkE1zt0VL6Ryf72RP8sZP8OH1O90hX/R/q9BMYKl8VNqTbqlrOrORgATlKkbmIJBjbngZew==", "dependencies": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", "events": "^3.3.0" } }, + "node_modules/@ledgerhq/hw-transport-mocker": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.7.0.tgz", + "integrity": "sha512-L6nL+WrPgLHDM2ElMCZN7bvshKqCYxtGBDrddZygKprg+fwjnkwuTCAzfLIXsvueJf+bxHWJD2V0HrQgQn58DA==", + "dev": true, + "dependencies": { + "@ledgerhq/hw-transport": "^6.7.0", + "@ledgerhq/logs": "^6.2.0" + } + }, "node_modules/@ledgerhq/hw-transport-node-hid": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.3.0.tgz", - "integrity": "sha512-0PaBDcDkTfmtEA3ndHlA9viRHA0LPSyvIm3GqXDN03QwrDeJDLnp+BZmp95YskujDWm+fk5j1PBSScvm4p9p/g==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.7.0.tgz", + "integrity": "sha512-KnycRv/BhTR+Fym4bXs3cycv/lTLplB6V56kqmhUvmupWabkaFUA+YICZwlsiLhVT1ogPh3NU9eZX7m8bu2vTQ==", "dependencies": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", - "@ledgerhq/hw-transport-node-hid-noevents": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", + "@ledgerhq/hw-transport-node-hid-noevents": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "lodash": "^4.17.21", "node-hid": "2.1.1", @@ -5213,25 +4883,25 @@ } }, "node_modules/@ledgerhq/hw-transport-node-hid-noevents": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.3.0.tgz", - "integrity": "sha512-07YmZg7wXl3T2lBe6xeuba3Sdbm2TfPZgXWSFBOMjf4LOCEpKedozv+eyUYMQtbCJeDFQhNG44qw61xfHyi6Ow==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.7.0.tgz", + "integrity": "sha512-SEl8VjTOtVtU/QlMpZHAL+KUZvWkmWHUlcFVNI86TOQjxFvjHyXyL8FLAmQtHWRlU/50DkcGGG86mkjdsHmAXw==", "dependencies": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "node-hid": "2.1.1" } }, "node_modules/@ledgerhq/hw-transport-web-ble": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-web-ble/-/hw-transport-web-ble-6.3.0.tgz", - "integrity": "sha512-nWQzVataZhpn67vi1y0WLHIekLM8xArPLRGS6YU7udzxfWkoaEJOfj0Jd2dZqY7NeVzeABK/xcre08mU/61BzQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-web-ble/-/hw-transport-web-ble-6.7.0.tgz", + "integrity": "sha512-Kte79uHgkVb+F3qa6zdgRH8W60zsAn1e4IJncxyHvAteyqCQS+WbLVKOUvKIGNrC0gNiFEFsFCC7b0wPknK3cg==", "dependencies": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "rxjs": "6" } @@ -5308,9 +4978,9 @@ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details." }, "node_modules/@makerdao/multicall/node_modules/ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "engines": { "node": ">=8.3.0" }, @@ -5419,9 +5089,9 @@ "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" }, "node_modules/@multiformats/murmur3": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.3.tgz", - "integrity": "sha512-pd56A/Bxu4FnZ55kQ1izk3XQgBZXdn4tQq/kvNxR0vtEJNbW7NJTnYDhnRJSH94OxycsOMDoKh6flS2VkFVTYg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.4.tgz", + "integrity": "sha512-skwYQeIVDxUhqJngCjzC9ZV3cSYkrHsyq2T4DDiMR2QAPkyv6JsKMCXj7FEhrgDqx5fB4Bkxv6+VLVNlDBbzJQ==", "dependencies": { "multiformats": "^9.4.1", "murmurhash3js-revisited": "^3.0.0" @@ -6172,6 +5842,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" + }, "node_modules/@solidity-parser/parser": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.11.1.tgz", @@ -6305,9 +5980,9 @@ } }, "node_modules/@sushiswap/default-token-list": { - "version": "14.11.0", - "resolved": "https://registry.npmjs.org/@sushiswap/default-token-list/-/default-token-list-14.11.0.tgz", - "integrity": "sha512-FYw3LSdNvoiUJdOxygDqkTwteMUpHwZBCTxQ7O78dW3/T9AkDhMQbPCj5B8cZzQ/mL2jJfdsZxu4r0Kh2sUjJg==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@sushiswap/default-token-list/-/default-token-list-17.0.0.tgz", + "integrity": "sha512-qLzN83CbG7n0GxwEjBaYu+Dd5y29VFVfFiiw6zWtmLozS4yZuFTwmq9vnqRZpxmvBQJGWfaQQMtl25csgE/a1w==" }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", @@ -6330,16 +6005,16 @@ } }, "node_modules/@truffle/hdwallet-provider": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.5.0.tgz", - "integrity": "sha512-nWgOBRT3ZCX7VAFVrDrWLvX405J502WlP5azmnWbM5r3fqDKUJlBdtHZTCGeiDKAT6twtpTUj6tO8mKmrjF8PA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.5.1.tgz", + "integrity": "sha512-sVt78Idr6k2Loi40Igc3A8ncy4zvUWdWaYYNRGaBPq67usR34tkp+RH+23PqU+alk44P0JwG3fNNEg1Hqwa3Xw==", "dependencies": { + "@ethereumjs/common": "^2.4.0", + "@ethereumjs/tx": "^3.3.0", "@trufflesuite/web3-provider-engine": "15.0.13-1", "eth-sig-util": "^3.0.1", "ethereum-cryptography": "^0.1.3", "ethereum-protocol": "^1.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", "ethereumjs-util": "^6.1.0", "ethereumjs-wallet": "^1.0.1" } @@ -6366,6 +6041,19 @@ "rlp": "^2.2.3" } }, + "node_modules/@truffle/hdwallet-provider/node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, "node_modules/@trufflesuite/eth-json-rpc-filters": { "version": "4.1.2-1", "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.2-1.tgz", @@ -6408,6 +6096,14 @@ "fast-safe-stringify": "^2.0.6" } }, + "node_modules/@trufflesuite/eth-json-rpc-infura/node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/@trufflesuite/eth-json-rpc-infura/node_modules/whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", @@ -6443,21 +6139,6 @@ "fast-safe-stringify": "^2.0.6" } }, - "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -6533,21 +6214,6 @@ "whatwg-fetch": "2.0.4" } }, - "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -6562,6 +6228,14 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/@trufflesuite/web3-provider-engine/node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/@trufflesuite/web3-provider-engine/node_modules/whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", @@ -6596,9 +6270,9 @@ "dev": true }, "node_modules/@types/babel__core": { - "version": "7.1.15", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", - "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==", + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -6645,26 +6319,11 @@ } }, "node_modules/@types/chai": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.21.tgz", - "integrity": "sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==", + "version": "4.2.22", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", + "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", "dev": true }, - "node_modules/@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, "node_modules/@types/debug": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", @@ -6692,9 +6351,9 @@ } }, "node_modules/@types/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", - "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, "dependencies": { "@types/node": "*" @@ -6745,9 +6404,9 @@ } }, "node_modules/@types/jest": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", - "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", + "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", "dev": true, "dependencies": { "jest-diff": "^27.0.0", @@ -6809,18 +6468,25 @@ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "node_modules/@types/node": { - "version": "16.7.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz", - "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg==" + "version": "16.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.0.tgz", + "integrity": "sha512-8MLkBIYQMuhRBQzGN9875bYsOhPnf/0rgXGo66S2FemHkhbn9qtsz9ywV1iCG+vbjigE4WUNVvw37Dx+L0qsPg==" }, "node_modules/@types/node-fetch": { - "version": "2.5.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", - "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-3.0.2.tgz", + "integrity": "sha512-3q5FyT6iuekUxXeL2qjcyIhtMJdfMF7RGhYXWKkYpdcW9k36A/+txXrjG0l+NMVkiC30jKNrcOqVlqBl7BcCHA==", "dev": true, "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" + "node-fetch": "*" + } + }, + "node_modules/@types/node-hid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/node-hid/-/node-hid-1.3.1.tgz", + "integrity": "sha512-VPxuGDCoDxOUKrTZPSok7IEmiK4cVLfj8Csu09FtG5uF+eqf1HETERHXQkO02Rk6j6YiiHxp0/DA9R4llvhEzQ==", + "dependencies": { + "@types/node": "*" } }, "node_modules/@types/pbkdf2": { @@ -6843,9 +6509,9 @@ } }, "node_modules/@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==", "dev": true }, "node_modules/@types/q": { @@ -6883,9 +6549,9 @@ "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==" }, "node_modules/@types/sinon": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.2.tgz", - "integrity": "sha512-BHn8Bpkapj8Wdfxvh2jWIUoaYB/9/XhsL0oOvBfRagJtKlSl9NWPcFOz2lRukI9szwGxFtYZCTejJSqsGDbdmw==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.4.tgz", + "integrity": "sha512-fOYjrxQv8zJsqOY6V6ecP4eZhQBxtY80X0er1VVnUIAIZo74jHm8e1vguG5Yt4Iv8W2Wr7TgibB8MfRe32k9pA==", "dev": true, "dependencies": { "@sinonjs/fake-timers": "^7.1.0" @@ -6913,6 +6579,14 @@ "integrity": "sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw==", "dev": true }, + "node_modules/@types/usb": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/usb/-/usb-1.5.3.tgz", + "integrity": "sha512-f0QO6/x5iWA+FU3VTDrnouVHyeKBnTCGkw5wqKDe7JJnGQgPtlBfWWua6gr/GCRzCZB7qE9mz0jOnSWvra8RBg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@types/varint/-/varint-6.0.0.tgz", @@ -6939,9 +6613,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.2.tgz", - "integrity": "sha512-JhZ+pNdKMfB0rXauaDlrIvm+U7V4m03PPOSVoPS66z8gf+G4Z/UW8UlrVIj2MRQOBzuoEvYtjS0bqYwnpZaS9Q==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.4.tgz", + "integrity": "sha512-D/wihO9WFYqwsmJI0e0qS+U09wIQtYRSBJlXWjTFGjouEuOCy0BU4N/ZK5utb00S5lW/9LO7vOpvGDd8M06NvQ==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -7202,14 +6876,15 @@ } }, "node_modules/abstract-leveldown": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.0.0.tgz", - "integrity": "sha512-mFAi5sB/UjpNYglrQ4irzdmr2mbQtE94OJbrAYuK2yRARjH/OACinN1meOAorfnaLPMQdFymSQMlkiDm9AXXKQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", "dependencies": { "buffer": "^6.0.3", + "catering": "^2.0.0", "is-buffer": "^2.0.5", "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.0", + "level-supports": "^2.0.1", "queue-microtask": "^1.2.3" }, "engines": { @@ -7252,9 +6927,9 @@ } }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", "bin": { "acorn": "bin/acorn" }, @@ -7272,6 +6947,18 @@ "acorn-walk": "^7.1.1" } }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -7328,9 +7015,9 @@ } }, "node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -7365,47 +7052,35 @@ "dev": true }, "node_modules/ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "dependencies": { - "string-width": "^3.0.0" + "string-width": "^4.1.0" } }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/ansi-align/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/ansi-colors": { @@ -7432,9 +7107,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } @@ -7499,9 +7174,9 @@ "dev": true }, "node_modules/app-builder-lib": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.11.9.tgz", - "integrity": "sha512-mS8aFN16IlzXzD1LwuheHliCI7wiJjC+agiCh+mxRtY8TKinb0vSI4pggib4RHvVq55l3RxDX4EEWGuqGMScIA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.13.1.tgz", + "integrity": "sha512-TsUe7gCdH1cnSknUcqwVRAAxsFxsxcU/BJvnKR8ASzjaZtePW7MU+AEaDVDUURycgYxQ9XeymGjmuQGS32jcbw==", "dev": true, "dependencies": { "@develar/schema-utils": "~2.6.5", @@ -7510,13 +7185,13 @@ "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chromium-pickle-js": "^0.2.0", "debug": "^4.3.2", "ejs": "^3.1.6", "electron-osx-sign": "^0.5.0", - "electron-publish": "22.11.9", + "electron-publish": "22.13.1", "fs-extra": "^10.0.0", "hosted-git-info": "^4.0.2", "is-ci": "^3.0.0", @@ -7544,9 +7219,9 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dependencies": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -7617,16 +7292,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -7656,14 +7331,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -7673,15 +7348,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -7699,9 +7373,9 @@ } }, "node_modules/asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", + "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", "dev": true, "dependencies": { "chromium-pickle-js": "^0.2.0", @@ -7790,12 +7464,11 @@ } }, "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/async": { @@ -7843,6 +7516,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -7883,9 +7557,9 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { "node": ">= 0.4" }, @@ -7912,11 +7586,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.23.0.tgz", + "integrity": "sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==", "dependencies": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.4" } }, "node_modules/babel-code-frame": { @@ -8092,16 +7766,16 @@ } }, "node_modules/babel-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.1.0.tgz", - "integrity": "sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.2.5.tgz", + "integrity": "sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g==", "dev": true, "dependencies": { - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.6", + "babel-preset-jest": "^27.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" @@ -8217,9 +7891,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz", - "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==", + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz", + "integrity": "sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -8253,12 +7927,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "core-js-compat": "^3.16.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -8321,12 +7995,12 @@ } }, "node_modules/babel-preset-jest": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz", - "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==", + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz", + "integrity": "sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.0.6", + "babel-plugin-jest-hoist": "^27.2.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { @@ -8571,9 +8245,9 @@ } }, "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==", "engines": { "node": ">= 0.6.0" } @@ -8597,14 +8271,6 @@ } ] }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -8656,11 +8322,6 @@ "file-uri-to-path": "1.0.0" } }, - "node_modules/bintrees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz", - "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=" - }, "node_modules/bip39": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", @@ -8734,21 +8395,36 @@ "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" }, "node_modules/blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "dependencies": { + "browser-readablestream-to-it": "^1.0.3" + } + }, + "node_modules/blockstore-core": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.2.tgz", - "integrity": "sha512-yD8tikfTlUGEOSHExz4vDCIQFLaBPXIL0KcxGQt9RbwMVXBEh+jokdJyStvTXPgWrdKfwgk7RX8GPsgrYzsyng==", + "resolved": "https://registry.npmjs.org/blockstore-core/-/blockstore-core-1.0.2.tgz", + "integrity": "sha512-CYOaAvgVoJDqxbGG4YVyLMZ5mmS+Icwn7oHnayPko/FGpiinixI/CGMrErbDSaVSkjhuea9tpU23tt+Jx13n+g==", "dependencies": { - "browser-readablestream-to-it": "^1.0.2" + "err-code": "^3.0.1", + "interface-blockstore": "^2.0.2", + "interface-store": "^2.0.1", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.4.7" } }, "node_modules/blockstore-datastore-adapter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/blockstore-datastore-adapter/-/blockstore-datastore-adapter-1.0.0.tgz", - "integrity": "sha512-0BrswHY38l2/ZU5wSeQCmBsq4p5FhAI4GuC6J7gTCRqCbjmPk0rdb+mf4qzVBFeHjYKVgrcxEMcdH0RcQZuoVw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/blockstore-datastore-adapter/-/blockstore-datastore-adapter-2.0.3.tgz", + "integrity": "sha512-s6j6ay+qLu7sOx5DanHJlg2dBX61B9Yrbg6qo8oP3oiWnj6ZFCad4CKVb8do1f4u/Q4r2XPuSM4JYCe684USrQ==", "dependencies": { + "blockstore-core": "^1.0.0", "err-code": "^3.0.1", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", "it-drain": "^1.0.1", "it-pushable": "^1.4.2", "multiformats": "^9.1.0" @@ -8907,16 +8583,16 @@ } }, "node_modules/boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dev": true, "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", + "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" @@ -8989,12 +8665,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/boxen/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -9014,14 +8684,14 @@ } }, "node_modules/boxen/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -9099,9 +8769,9 @@ "dev": true }, "node_modules/browser-readablestream-to-it": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz", - "integrity": "sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" }, "node_modules/browser-stdout": { "version": "1.3.1", @@ -9220,15 +8890,15 @@ } }, "node_modules/browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", "dependencies": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" @@ -9291,14 +8961,6 @@ "node": ">= 0.4.0" } }, - "node_modules/buf-compare": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", - "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -9375,18 +9037,21 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "node_modules/bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "hasInstallScript": true, "dependencies": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, "node_modules/builder-util": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.11.9.tgz", - "integrity": "sha512-phiEuT361Pzb8kNN2ZQDr7PHV+TTNMydqIow9Wcrl69VxM1q89qJPLvHsDhR9m9T0OCMHaO0UsZsJ8Jsx2LDJQ==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.13.1.tgz", + "integrity": "sha512-gMdoW9aQbWYxuQ4k4jT4An1BTo/hWzvsdv3pwNz18iNYnqn9j+xMllQOg9CHgfQYKSUd8VuMsZnbCvLO4NltYw==", "dev": true, "dependencies": { "@types/debug": "^4.1.6", @@ -9394,8 +9059,9 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "3.7.1", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.7.8", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", "debug": "^4.3.2", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", @@ -9406,9 +9072,9 @@ } }, "node_modules/builder-util-runtime": { - "version": "8.7.8", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.8.tgz", - "integrity": "sha512-j7V45HIXX5dzminZLVKlmgmqaXpt44CcpFVEjlkO6zPM3IQFjeb+jvOKcqygg5MK3Q1Q5l4Jj9m9xZp0Rc4TiQ==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.8.1.tgz", + "integrity": "sha512-xHxAzdsJmMV8m/N+INzYUKfyJASeKyKHnA1uGkY8Y8JKLI/c4BG+If+L0If2YETv96CiRASkvd02tIt2pvrchQ==", "dev": true, "dependencies": { "debug": "^4.3.2", @@ -9649,9 +9315,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001252", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz", - "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==", + "version": "1.0.30001267", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz", + "integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -9663,30 +9329,31 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "node_modules/catering": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.0.0.tgz", - "integrity": "sha512-aD/WmxhGwUGsVPrj8C80vH7C7GphJilYVSdudoV4u16XdrLF7CVyfBmENsc4tLTVsJJzCRid8GbwJ7mcPLee6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "dependencies": { + "queue-tick": "^1.0.0" + }, "engines": { "node": ">=6" } }, "node_modules/cbor": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-6.0.1.tgz", - "integrity": "sha512-gVJ2e/DFInWOriOUqNyrZe5xN8RSK49X7G+pLalz32GwKs1xHNXtrkcbV5K4+Z2X7qJiv6f700PnUEaJoIEPGQ==", - "hasInstallScript": true, + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.0.0.tgz", + "integrity": "sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig==", "dependencies": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" + "nofilter": "^3.0.2" }, "engines": { - "node": ">=10.18.0" + "node": ">=12.19" } }, "node_modules/cborg": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.0.tgz", - "integrity": "sha512-3t1+s45x5LiACi39HDiSubPZiKXU2rCreu0oi5A1nccQNDHnprCh9ZQKN1Za3eookOmL03e9oKEZ+LJs0iTE8A==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.1.tgz", + "integrity": "sha512-GKCylZR7os3Q9X+U3DiARfeFKQUdcZMAP8EKFSE91YbhJsxV71Z6PMOT2osVWprb+iWf6viyqD7peEkK0QCAAw==", "bin": { "cborg": "cli.js" } @@ -9798,6 +9465,7 @@ "version": "0.7.5", "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "buffer": "^5.5.0", "class-is": "^1.1.0", @@ -9814,6 +9482,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "buffer": "^5.6.0", "varint": "^5.0.0" @@ -9932,12 +9601,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -9948,14 +9611,14 @@ } }, "node_modules/cliui/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -10084,11 +9747,6 @@ "simple-swizzle": "^0.2.2" } }, - "node_modules/colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" - }, "node_modules/colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", @@ -10179,12 +9837,12 @@ } }, "node_modules/conf": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.2.tgz", - "integrity": "sha512-iyy4ArqyQ/yrzNASNBN+jaylu53JRuq0ztvL6KAWYHj4iN56BVuhy2SrzEEHBodNbacZr2Pd/4nWhoAwc66T1g==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.3.tgz", + "integrity": "sha512-4gtQ/Q36qVxBzMe6B7gWOAfni1VdhuHkIzxydHkclnwGmgN+eW4bb6jj73vigCfr7d3WlmqawvhZrpCUCTPYxQ==", "dependencies": { - "ajv": "^8.1.0", - "ajv-formats": "^2.0.2", + "ajv": "^8.6.3", + "ajv-formats": "^2.1.1", "atomically": "^1.7.0", "debounce-fn": "^4.0.0", "dot-prop": "^6.0.1", @@ -10312,15 +9970,6 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -10362,6 +10011,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -10372,9 +10022,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "node_modules/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "node_modules/copy-descriptor": { "version": "0.1.1", @@ -10385,22 +10035,10 @@ "node": ">=0.10.0" } }, - "node_modules/core-assert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", - "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", - "dependencies": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/core-js": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", - "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", "dev": true, "hasInstallScript": true, "funding": { @@ -10409,11 +10047,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.4.tgz", - "integrity": "sha512-IzCSomxRdahCYb6G3HiN6pl3JCiM0NMunRcNa1pIeC7g17Vd6Ue3AT9anQiENPIm/svThUVer1pIbLMDERIsFw==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "dependencies": { - "browserslist": "^4.16.8", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "funding": { @@ -10430,9 +10068,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.4.tgz", - "integrity": "sha512-bY1K3/1Jy9D8Jd12eoeVahNXHLfHFb4TXWI8SQ4y8bImR9qDPmGITBAfmcffTkgUvbJn87r8dILOTWW5kZzkgA==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.3.tgz", + "integrity": "sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw==", "dev": true, "hasInstallScript": true, "funding": { @@ -10441,9 +10079,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cors": { "version": "2.8.5", @@ -10606,6 +10244,14 @@ "node-fetch": "2.6.1" } }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -10683,15 +10329,14 @@ } }, "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "dev": true, "dependencies": { - "inherits": "^2.0.3", + "inherits": "^2.0.4", "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "source-map-resolve": "^0.6.0" } }, "node_modules/css-color-names": { @@ -10820,15 +10465,6 @@ "node": ">=0.8.0" } }, - "node_modules/css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "dependencies": { - "css": "^2.0.0" - } - }, "node_modules/css-select": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", @@ -10883,9 +10519,9 @@ } }, "node_modules/css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "engines": { "node": ">= 6" }, @@ -11074,9 +10710,9 @@ "dev": true }, "node_modules/csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" }, "node_modules/currently-unhandled": { "version": "0.4.1", @@ -11137,12 +10773,13 @@ } }, "node_modules/datastore-core": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-5.0.2.tgz", - "integrity": "sha512-jEOl/KDmI8mov8ZZEI4RoDOiYBQ8GVWWCK8e8Zu2vJSJqUVKVP128MPLc2fwOaz5h71ZdPA3IYh4ycwOjygYVQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-6.0.7.tgz", + "integrity": "sha512-y+RfRV3FXZK2kpHTwuoyIod3mHtleW/tDx5ilsn9cdIflxQb5rWrRc3GzRwPOnq2oEtN1W019BZOwC5h6p6g6Q==", "dependencies": { "debug": "^4.1.1", - "interface-datastore": "^5.1.1", + "err-code": "^3.0.1", + "interface-datastore": "^6.0.2", "it-drain": "^1.0.4", "it-filter": "^1.0.2", "it-map": "^1.0.5", @@ -11157,14 +10794,14 @@ } }, "node_modules/datastore-fs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-5.0.2.tgz", - "integrity": "sha512-dev6pLENwKPsJVBOTeR+Xg/FceK/0OwdzlrDan3LOFZ6Rbro2bwLd9vxT//nk9F+iJiK+Ba8J+eLOsoa8C9D8w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-6.0.1.tgz", + "integrity": "sha512-A0JTQx6LV91ddCdnFLFES5k4stJahfz8GwpnXdMSuZLcrP1Fwa/vcnKAdRlvXpJY83Gl3+skbjh0nV5LNy1w1w==", "dependencies": { - "datastore-core": "^5.0.0", + "datastore-core": "^6.0.5", "fast-write-atomic": "^0.2.0", - "interface-datastore": "^5.1.1", - "it-glob": "0.0.13", + "interface-datastore": "^6.0.2", + "it-glob": "^1.0.1", "it-map": "^1.0.5", "it-parallel-batch": "^1.0.9", "mkdirp": "^1.0.4" @@ -11182,26 +10819,28 @@ } }, "node_modules/datastore-level": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-6.0.2.tgz", - "integrity": "sha512-nVpI3TG4PNs6GszdJxCNF9Gc94tksKpAp6Ci4jrLKTf8EuoIumS1cQ44+1eg3E3ck8bG9Nu/x5AhL/5nxTNTyA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-7.0.1.tgz", + "integrity": "sha512-UCLOwKloaLYrcWVewSCOqVWEHUxz1PijsWHrI0dPZd3kODSWLSpW5CYylkWKPTX+JM7S1wENbiaz3i1188JXig==", "dependencies": { - "datastore-core": "^5.0.0", - "interface-datastore": "^5.1.1", + "datastore-core": "^6.0.5", + "interface-datastore": "^6.0.2", "it-filter": "^1.0.2", "it-map": "^1.0.5", + "it-sort": "^1.0.0", "it-take": "^1.0.1", "level": "^7.0.0" } }, "node_modules/datastore-pubsub": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-0.7.1.tgz", - "integrity": "sha512-nYXUgY+v57esfpJAS5bgTz4bmJkxa2jw4/DaI0BISaYiVaaKS3ozDLxhQicndXxWBCzEilDhv079DP0eB13twQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-1.0.0.tgz", + "integrity": "sha512-L2S3avrrOJUsApahmObTxUgepe+BcZzqo4svKDqcRZ8zZZj+RH/q9iJnr89kKs/6Rpidg/FLyV58jxQ8DiZ5Pg==", "dependencies": { + "datastore-core": "^6.0.7", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "uint8arrays": "^3.0.0" } }, @@ -11509,20 +11148,9 @@ } }, "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "node_modules/deep-strict-equal": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz", - "integrity": "sha1-SgeBR6irV/ag1PVUckPNIvROtOQ=", - "dependencies": { - "core-assert": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.2.2", @@ -11568,11 +11196,11 @@ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, "node_modules/deferred-leveldown": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-6.0.0.tgz", - "integrity": "sha512-F6CLAZzNeURojlH4MCigZr54tNz+xDSi06YXsDr5uLSKeF3JKnvnQWTqd+RETh2hbWTJR3qDzGicQOWS5ZQ1BQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-7.0.0.tgz", + "integrity": "sha512-QKN8NtuS3BC6m0B8vAnBls44tX1WXAFATUsJlruyAYbZpysWV3siH6o/i3g9DCHauzodksO60bdj5NazNbjCmg==", "dependencies": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "inherits": "^2.0.3" }, "engines": { @@ -11749,14 +11377,14 @@ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/dmg-builder": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.11.9.tgz", - "integrity": "sha512-9RCNW4oJI0zFswgumgbgopFZRZ+7zt6J7H6RQ3YB/vjehdfAxzWutFhiy3ExTwSX8QF9rAUWvfH5wk/hJjNrqA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.13.1.tgz", + "integrity": "sha512-qgfLN2fo4q2wIWNvbcKlZ71DLRDLvWIElOB7oxlSxUrMi6xhI+9v1Mh7E0FJ+r5UXhQzaQXaGuyMsQRbGgrSwg==", "dev": true, "dependencies": { - "app-builder-lib": "22.11.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "app-builder-lib": "22.13.1", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" @@ -12065,13 +11693,13 @@ } }, "node_modules/electron": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.2.3.tgz", - "integrity": "sha512-FzWhbKHjq7ZTpPQFaYiLPL64erC8/BOsu5NlNN9nQ6f7rIP8ygKlNAlQit3vbOcksQAwItDUCIw4sW0mcaRpCA==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-15.2.0.tgz", + "integrity": "sha512-kg0JdlsVbJgD/hO/A7o9VH8U44pQWkIsyt/sALxH6g8CiHQxMujLn2JfB2gyUfHXPT7m8vD4Z+CurS2KodEsWw==", "dev": true, "hasInstallScript": true, "dependencies": { - "@electron/get": "^1.0.1", + "@electron/get": "^1.13.0", "@types/node": "^14.6.2", "extract-zip": "^1.0.3" }, @@ -12083,17 +11711,17 @@ } }, "node_modules/electron-builder": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.11.9.tgz", - "integrity": "sha512-A+qopfZuFRuMBKLL6/L+VkFmPZFbQwvZEdnHRYlY7B58MhOANUGJKPVAm07U44IjSq5UK5U9/3xRDR7y3jnsug==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.13.1.tgz", + "integrity": "sha512-ajlI40L60qKBBxvpf770kcjxHAccMpEWpwsHAppytl3WmWgJfMut4Wz9VUFqyNtX/9a624QTatk6TqoxqewRug==", "dev": true, "dependencies": { "@types/yargs": "^17.0.1", - "app-builder-lib": "22.11.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "app-builder-lib": "22.13.1", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", - "dmg-builder": "22.11.9", + "dmg-builder": "22.13.1", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", @@ -12196,9 +11824,9 @@ "integrity": "sha512-nK/DwxPLtwWbggPCm27eMQhYHc3gzoZ+cokBK99diO4WsZJKrv5l44EUW8mRfWpmC8ZubnMyp6GTUIJyTc9AJA==" }, "node_modules/electron-notarize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.0.tgz", - "integrity": "sha512-Dmp/jm2y3PTcjmjVe+jCT0sjsbBfbNuk7GOPtduZce2iae1hgAPnlNErk6x70TalsGIL5Ip3liSryqde/6eB5w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.1.tgz", + "integrity": "sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -12272,14 +11900,14 @@ "dev": true }, "node_modules/electron-publish": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.11.9.tgz", - "integrity": "sha512-jFMiAsNvssne8RKMihZhPjGr4fJOBIj6N1WCG6jIl99lw1PGl45uCd4yXDxd8fMUvY4f6221LcbUA+ov/jFQnA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.13.1.tgz", + "integrity": "sha512-5nCXhnsqrRxP5NsZxUKjiMkcFmQglXp7i/YY4rp3h1s1psg3utOIkM29Z93YTSXicZJU1J+8811eo5HX1vpoKg==", "dev": true, "dependencies": { "@types/fs-extra": "^9.0.11", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -12357,9 +11985,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.823", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.823.tgz", - "integrity": "sha512-jbwqBmqo9ZBWNfz6EKDTx66rqRDt87ZbOxtUegYNpkVMX6z93PMaFbDy7/LIPRwMI/5T4GVcYkROWDPQm9Ni7A==" + "version": "1.3.870", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.870.tgz", + "integrity": "sha512-PiJMshfq6PL+i1V+nKLwhHbCKeD8eAz8rvO9Cwk/7cChOHJBtufmjajLyYLsSRHguRFiOCVx3XzJLeZsIAYfSA==" }, "node_modules/electron-updater": { "version": "4.3.9", @@ -12389,9 +12017,9 @@ } }, "node_modules/electron/node_modules/@types/node": { - "version": "14.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz", - "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw==", + "version": "14.17.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.27.tgz", + "integrity": "sha512-94+Ahf9IcaDuJTle/2b+wzvjmutxXAEXU6O81JHblYXUg2BDG+dnBy7VxIPHKAyEEDHzCMQydTJuWvrE+Aanzw==", "dev": true }, "node_modules/electron/node_modules/debug": { @@ -12451,10 +12079,9 @@ } }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -12473,11 +12100,11 @@ } }, "node_modules/encoding-down": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-7.0.0.tgz", - "integrity": "sha512-hor6z2W/ZrVqDYMawQp7VtfEt6BrvYw+mgjWLauUMZsIBjMt1/k5aa+JreLbtjwJdkjrZ39TU+pV5GpHPGRpog==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-7.1.0.tgz", + "integrity": "sha512-ky47X5jP84ryk5EQmvedQzELwVJPjCgXDQZGeb9F6r4PdChByCGHTBrVcF3h8ynKVJ1wVbkxTsDC8zBROPypgQ==", "dependencies": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "inherits": "^2.0.3", "level-codec": "^10.0.0", "level-errors": "^3.0.0" @@ -12494,100 +12121,31 @@ "once": "^1.4.0" } }, - "node_modules/engine.io": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz", - "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/engine.io-client": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.2.0.tgz", - "integrity": "sha512-BcIBXGBkT7wKecwnfrSV79G2X5lSUSgeAGgoo60plXf8UsQEvCQww/KMwXSMhVjb98fFYNq20CC5eo8IOAPqsg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.1.tgz", + "integrity": "sha512-/7xmDxU2i9aYmqz7ekseB2jUfUYvJ5s3+OJcEvObloQNB31wd+0j68kmLVAoZG7Qu0FzB+EN46hsc3bY/kjgSw==", "dependencies": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", + "engine.io-parser": "~5.0.0", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.4.2", + "ws": "~8.2.3", "xmlhttprequest-ssl": "~2.0.0", "yeast": "0.1.2" } }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/engine.io-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz", - "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==", - "dependencies": { - "base64-arraybuffer": "0.1.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/enhance-visitors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/enhance-visitors/-/enhance-visitors-1.0.0.tgz", - "integrity": "sha1-qpRdBdpGVnKh69OP7i7T2oUY6Vo=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.0.tgz", + "integrity": "sha512-wn6QavHEqXoM+cg+x8uUG7GhxLBCfKEKNEsCNc7V2ugj3gB3lK91l1MuZiy6xFB2V9D1eew0aWkmpiT/aBb/KA==", "dependencies": { - "lodash": "^4.13.1" + "base64-arraybuffer": "~1.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/enquirer": { @@ -12623,9 +12181,9 @@ "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/errno": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz", - "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { "prr": "~1.0.1" }, @@ -12642,21 +12200,24 @@ } }, "node_modules/es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", - "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -12715,9 +12276,12 @@ } }, "node_modules/es6-promisify": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", - "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==", + "engines": { + "node": ">=6" + } }, "node_modules/es6-symbol": { "version": "3.1.3", @@ -12780,15 +12344,6 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -12851,32 +12406,28 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "peer": true, + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.4.0", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -12884,7 +12435,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash.merge": "^4.6.2", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -12893,7 +12444,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -12908,9 +12459,9 @@ } }, "node_modules/eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", "dev": true, "funding": [ { @@ -12930,7 +12481,7 @@ "eslint": "^7.12.1", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" + "eslint-plugin-promise": "^4.2.1 || ^5.0.0" } }, "node_modules/eslint-config-standard-jsx": { @@ -12977,12 +12528,13 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", + "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", "dev": true, "dependencies": { "debug": "^3.2.7", + "find-up": "^2.1.0", "pkg-dir": "^2.0.0" }, "engines": { @@ -13010,112 +12562,6 @@ "node": ">=4" } }, - "node_modules/eslint-plugin-ava": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-12.0.0.tgz", - "integrity": "sha512-v8/GY1IWQn2nOBdVtD/6e0Y6A9PRFjY86a1m5r5FUel+C7iyoQVt7gKqaAc1iRXcQkZq2DDG0aTiQptgnq51cA==", - "dependencies": { - "deep-strict-equal": "^0.2.0", - "enhance-visitors": "^1.0.0", - "eslint-utils": "^2.1.0", - "espree": "^7.3.1", - "espurify": "^2.0.1", - "import-modules": "^2.1.0", - "micro-spelling-correcter": "^1.1.1", - "pkg-dir": "^5.0.0", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14" - }, - "peerDependencies": { - "eslint": ">=7.22.0" - } - }, - "node_modules/eslint-plugin-ava/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-ava/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-ava/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-ava/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-ava/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-plugin-ava/node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-ava/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, "node_modules/eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", @@ -13136,24 +12582,26 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", + "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.6.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" }, "engines": { "node": ">=4" @@ -13172,108 +12620,35 @@ } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/eslint-plugin-import/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { + "node_modules/eslint-plugin-import/node_modules/pkg-up": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/eslint-plugin-import/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", @@ -13313,31 +12688,36 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", "dev": true, "engines": { - "node": ">=6" + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0" } }, "node_modules/eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz", + "integrity": "sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", - "has": "^1.0.3", + "estraverse": "^5.2.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.hasown": "^1.0.0", + "object.values": "^1.1.4", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" }, "engines": { "node": ">=4" @@ -13358,6 +12738,19 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -13370,6 +12763,14 @@ "node": ">=8.0.0" } }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -13392,20 +12793,10 @@ "node": ">=4" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "peer": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, "node_modules/eslint/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -13421,7 +12812,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13436,7 +12826,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -13445,7 +12834,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13461,7 +12849,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13472,37 +12859,22 @@ "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "peer": true, "engines": { "node": ">=10" } }, "node_modules/eslint/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "peer": true, + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dependencies": { - "type-fest": "^0.20.2" + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" @@ -13515,7 +12887,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, "engines": { "node": ">=8" } @@ -13524,7 +12895,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -13536,20 +12906,17 @@ "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/eslint/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "peer": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13558,15 +12925,11 @@ } }, "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true, + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/espree": { @@ -13582,6 +12945,17 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -13594,11 +12968,6 @@ "node": ">=4" } }, - "node_modules/espurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", - "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==" - }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -13610,14 +12979,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -13629,7 +12990,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", @@ -13637,14 +12998,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -13716,11 +13069,11 @@ } }, "node_modules/eth-provider": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.9.3.tgz", - "integrity": "sha512-D6A4JlXFIWuEkh1lebgkx98RUe2dtgNZwjlKwhRYZCd4OGqSBb6OCx9XHw9BiQdNGAxjxj38dlxBoSiGxvZAkw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.9.4.tgz", + "integrity": "sha512-E54KIx4m84rJellKAzb42B0O2TKAjW24QMQZWooNEqFuj+R97uGzPt3GhLbQbQbaIM9nfwiWqnejU82PKJG9Ew==", "dependencies": { - "ethereum-provider": "0.4.3", + "ethereum-provider": "0.4.4", "events": "3.3.0", "oboe": "2.1.5", "uuid": "8.3.2", @@ -13853,9 +13206,9 @@ "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" }, "node_modules/ethereum-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.4.3.tgz", - "integrity": "sha512-NVdah6tDhKO5CjBcuZ774YbiKchTy1PK/SyEsKdGA7Rv1cFg2TW0WPnzK2+BrQ6Y9XxL+wxStfWgfC4ZklRghg==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.4.4.tgz", + "integrity": "sha512-yrakFKeYnx+MMtL5Ngoy65Y6DqheG0sZRDLdvdLh0oIP5mIRj4He3P+QqKqm1yb57Th4ZbFljluqAY8ufgtfeA==", "dependencies": { "events": "3.3.0" } @@ -13926,6 +13279,19 @@ "rlp": "^2.2.3" } }, + "node_modules/ethereumjs-abi/node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, "node_modules/ethereumjs-account": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", @@ -13963,21 +13329,6 @@ "merkle-patricia-tree": "^2.1.2" } }, - "node_modules/ethereumjs-block/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ethereumjs-block/node_modules/ethereumjs-tx/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, "node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -13999,47 +13350,43 @@ "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." }, "node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", + "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" } }, - "node_modules/ethereumjs-tx/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } + "node_modules/ethereumjs-tx/node_modules/ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" }, "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "dependencies": { - "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", "create-hash": "^1.1.2", "elliptic": "^6.5.2", "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" } }, "node_modules/ethereumjs-util": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", - "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", + "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", "create-hash": "^1.1.2", "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", "rlp": "^2.2.4" }, "engines": { @@ -14105,6 +13452,16 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, "node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", @@ -14119,34 +13476,38 @@ "rlp": "^2.2.3" } }, + "node_modules/ethereumjs-vm/node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, "node_modules/ethereumjs-wallet": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz", - "integrity": "sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.2.tgz", + "integrity": "sha512-CCWV4RESJgRdHIvFciVQFnCHfqyhXWchTPlkfp28Qc53ufs+doi5I/cV2+xeK9+qEo25XCWfP9MiL+WEPAZfdA==", "dependencies": { - "aes-js": "^3.1.1", + "aes-js": "^3.1.2", "bs58check": "^2.1.2", "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^7.0.2", - "randombytes": "^2.0.6", + "ethereumjs-util": "^7.1.2", + "randombytes": "^2.1.0", "scrypt-js": "^3.0.1", "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "node_modules/ethereumjs-wallet/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" + "uuid": "^8.3.2" } }, "node_modules/ethers": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", - "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.7.tgz", + "integrity": "sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew==", "funding": [ { "type": "individual", @@ -14164,7 +13525,7 @@ "@ethersproject/address": "5.4.0", "@ethersproject/base64": "5.4.0", "@ethersproject/basex": "5.4.0", - "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bignumber": "5.4.2", "@ethersproject/bytes": "5.4.0", "@ethersproject/constants": "5.4.0", "@ethersproject/contracts": "5.4.1", @@ -14237,19 +13598,6 @@ "npm": ">=3" } }, - "node_modules/ethjs-contract/node_modules/ethjs-util": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", - "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, "node_modules/ethjs-contract/node_modules/js-sha3": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", @@ -14306,19 +13654,6 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" }, - "node_modules/ethjs-format/node_modules/ethjs-util": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", - "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, "node_modules/ethjs-query": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/ethjs-query/-/ethjs-query-0.2.9.tgz", @@ -14365,9 +13700,9 @@ "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" }, "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", + "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -14504,16 +13839,16 @@ } }, "node_modules/expect": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.1.0.tgz", - "integrity": "sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.5.tgz", + "integrity": "sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "ansi-styles": "^5.0.0", "jest-get-type": "^27.0.6", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", "jest-regex-util": "^27.0.6" }, "engines": { @@ -14602,9 +13937,9 @@ } }, "node_modules/ext": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", - "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dependencies": { "type": "^2.5.0" } @@ -14750,6 +14085,18 @@ "node": ">=0.4.0" } }, + "node_modules/falafel/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/falafel/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -14995,9 +14342,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fast-safe-stringify": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", - "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "node_modules/fast-write-atomic": { "version": "0.2.1", @@ -15056,7 +14403,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -15223,7 +14569,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "peer": true, "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -15235,8 +14580,7 @@ "node_modules/flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "peer": true + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" }, "node_modules/fnv1a": { "version": "1.0.1", @@ -15244,9 +14588,9 @@ "integrity": "sha1-kV4tbQI8Q9UiStn20qPEFW9XEvU=" }, "node_modules/follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==", "funding": [ { "type": "individual", @@ -15297,6 +14641,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -26690,6 +26035,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -26713,9 +26073,9 @@ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -26894,9 +26254,9 @@ } }, "node_modules/gridplus-sdk": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/gridplus-sdk/-/gridplus-sdk-0.8.4.tgz", - "integrity": "sha512-uxm7aaz0F3+TxhXM/I8hAg10E6WOx0G7mN9V+JO+5/9btcqRYxK7s1D/mo7gwU53DqJPiQhmx21g+fPOvE967w==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/gridplus-sdk/-/gridplus-sdk-0.8.7.tgz", + "integrity": "sha512-+onUgulKe+m3oKuxC73ny9oDriHugTK/bNTVyin1ILSFkibrH453ttgoGXEaOas+azhy+++P+kj+sD9X6Tmn0w==", "dependencies": { "aes-js": "^3.1.1", "bech32": "^2.0.0", @@ -26989,9 +26349,9 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/hardhat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.6.1.tgz", - "integrity": "sha512-0LozdYbPsiTc6ZXsfDQUTV3L0p4CMO5TRbd5qmeWiCYGmhd+7Mvdg4N+nA8w0g3gZ2OKFUmHIYlAbExI488ceQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.6.6.tgz", + "integrity": "sha512-GneZAwvNxf3cNobYTmMSp2qGX/yJyUmHD/xjW+8zF2AgWkLS33CHmGn4aRFKqfjsk7BS7FU6jqMmmZhHHO3gUw==", "dev": true, "dependencies": { "@ethereumjs/block": "^3.4.0", @@ -27126,13 +26486,13 @@ } }, "node_modules/hardhat/node_modules/merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "dependencies": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -27261,9 +26621,9 @@ } }, "node_modules/hardhat/node_modules/ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true, "engines": { "node": ">=8.3.0" @@ -27714,14 +27074,14 @@ } }, "node_modules/htmlnano/node_modules/terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" @@ -27917,9 +27277,9 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, "node_modules/immutable": { - "version": "4.0.0-rc.14", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.14.tgz", - "integrity": "sha512-pfkvmRKJSoW7JFx0QeYlAmT+kNYvn5j0u7bnpNq4N2RCvHSTlLT208G8jgaquNe+Q8kCPHKOSpxJkyvLDpYq0w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "node_modules/import-fresh": { @@ -27947,9 +27307,9 @@ } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -28044,17 +27404,6 @@ "node": ">=8" } }, - "node_modules/import-modules": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", - "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -28097,39 +27446,28 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/interface-blockstore": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.1.tgz", - "integrity": "sha512-OYo8QXdM1UgIxftFKBgD+yM6tvHbtPu7TTgTPJS4VXY4xBwOM2sJTH8Mhe/EOGJDLXc0D0mscmlWyEhc3GSiJA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.2.tgz", + "integrity": "sha512-2OonKanTF7xnlqe879EgYwv94e7jYO20dDMyqkDum7b9RnhdMkiLAOkeStlvxX1sZBLjcThyHzFTUYTK4ohKpg==", "dependencies": { - "err-code": "^3.0.1", - "interface-store": "^0.1.1", - "it-all": "^1.0.5", - "it-drain": "^1.0.4", - "it-filter": "^1.0.2", - "it-take": "^1.0.1", + "interface-store": "^2.0.1", "multiformats": "^9.0.4" } }, "node_modules/interface-datastore": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.2.tgz", - "integrity": "sha512-nRFl19/IkilNzuPdCUJHejyJCZrVAk4lIRcRXJkekuTdaiagIEnCd9GfmTTQlo2afiVISk8Iy/PxSgnfmrdEIw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.0.3.tgz", + "integrity": "sha512-61eOyzh7zH1ks/56hPudW6pbqsOdoHSYMVjuqlIlZGjyg0svR6DHlCcaeSJfWW8t6dsPl1n7qKBdk8ZqPzXuLA==", "dependencies": { - "err-code": "^3.0.1", - "interface-store": "^0.1.1", - "ipfs-utils": "^8.1.2", - "it-all": "^1.0.2", - "it-drain": "^1.0.1", - "it-filter": "^1.0.2", - "it-take": "^1.0.1", + "interface-store": "^2.0.1", "nanoid": "^3.0.2", "uint8arrays": "^3.0.0" } }, "node_modules/interface-store": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-0.1.1.tgz", - "integrity": "sha512-ynnjIOybDZc0Brep3HHSa2RVlo/M5g7kuL/leui7o21EusKcLJS170vCJ8rliisc3c4jyd9ao5PthkGlBaX29g==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.1.tgz", + "integrity": "sha512-TfjYMdk4RlaGPA0VGk8fVPM+xhFbjiA2mTv1AqhiFh3N+ZEwoJnmDu/EBdKXzl80nyd0pvKui3RTC3zFgHMjTA==" }, "node_modules/internal-slot": { "version": "1.0.3", @@ -28206,24 +27544,25 @@ } }, "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "engines": { - "node": ">= 0.10" + "node": ">= 10" } }, "node_modules/ipfs-bitswap": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-6.0.1.tgz", - "integrity": "sha512-LfVPBnN3GJL2rTKyUcHaQnhV1VVKZ3PK48XjUNyEorBA03e/fCP7I7Eds3GHSTWR+GFVDqmkIXTEP9S0zQmWqQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-7.0.0.tgz", + "integrity": "sha512-wPylBHigqH9vHtk9dvuY0dn/CZnZuGn9C+L5oUtv14zkxFP7Kh/sT6VSCRXSH84MbVaVaO+ydRJTMf+yibzdHg==", "dependencies": { "@vascosantos/moving-average": "^1.1.0", "abort-controller": "^3.0.0", "any-signal": "^2.1.2", + "blockstore-core": "^1.0.2", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-blockstore": "^1.0.0", + "interface-blockstore": "^2.0.2", "it-length-prefixed": "^5.0.2", "it-pipe": "^1.1.0", "just-debounce-it": "^1.1.0", @@ -28251,39 +27590,39 @@ } }, "node_modules/ipfs-core": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4.tgz", - "integrity": "sha512-XVCRSoVzhFcn/vyhpKFS397KFGE1HtslwYMW1j/qC/E53+g4G5aIrqFLtWc+STbK39+G6cZyzBdnlyZwCB4Zzg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1.tgz", + "integrity": "sha512-V9eP1K0Gr3MHqbWzLNQrMoVm4Pi58o0hVWutjbaLxv67sOgQBVY0qcMBs+EdEwsANrVPUktUBfoeykkClh3gwQ==", "dependencies": { "@chainsafe/libp2p-noise": "^4.0.0", "@ipld/car": "^3.1.0", "@ipld/dag-cbor": "^6.0.5", "@ipld/dag-pb": "^2.1.3", "@multiformats/murmur3": "^1.0.1", - "abort-controller": "^3.0.0", + "any-signal": "^2.1.2", "array-shuffle": "^2.0.0", - "blockstore-datastore-adapter": "^1.0.0", - "datastore-core": "^5.0.1", - "datastore-fs": "^5.0.2", - "datastore-level": "^6.0.2", - "datastore-pubsub": "^0.7.0", + "blockstore-core": "^1.0.2", + "blockstore-datastore-adapter": "^2.0.2", + "datastore-core": "^6.0.7", + "datastore-pubsub": "^1.0.0", "debug": "^4.1.1", "dlv": "^1.1.3", "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "hashlru": "^2.3.0", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", - "ipfs-bitswap": "^6.0.0", - "ipfs-core-types": "^0.7.0", - "ipfs-core-utils": "^0.10.2", - "ipfs-http-client": "^52.0.2", - "ipfs-repo": "^12.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", + "ipfs-bitswap": "^7.0.0", + "ipfs-core-config": "^0.1.1", + "ipfs-core-types": "^0.8.1", + "ipfs-core-utils": "^0.11.1", + "ipfs-http-client": "^53.0.1", + "ipfs-repo": "^13.0.4", "ipfs-unixfs": "^6.0.3", "ipfs-unixfs-exporter": "^7.0.3", "ipfs-unixfs-importer": "^9.0.3", - "ipfs-utils": "^8.1.4", - "ipns": "^0.13.3", + "ipfs-utils": "^9.0.2", + "ipns": "^0.15.0", "is-domain-name": "^1.0.1", "is-ipfs": "^6.0.1", "it-all": "^1.0.4", @@ -28293,26 +27632,19 @@ "it-last": "^1.0.4", "it-map": "^1.0.4", "it-merge": "^1.0.2", + "it-parallel": "^1.0.0", "it-peekable": "^1.0.2", "it-pipe": "^1.1.0", "it-pushable": "^1.4.2", "it-tar": "^4.0.0", "it-to-buffer": "^2.0.0", "just-safe-set": "^2.2.1", - "libp2p": "^0.32.0", + "libp2p": "^0.33.0", "libp2p-bootstrap": "^0.13.0", "libp2p-crypto": "^0.19.7", "libp2p-delegated-content-routing": "^0.11.0", "libp2p-delegated-peer-routing": "^0.10.0", - "libp2p-floodsub": "^0.27.0", - "libp2p-gossipsub": "^0.11.1", - "libp2p-kad-dht": "^0.23.1", - "libp2p-mdns": "^0.17.0", - "libp2p-mplex": "^0.10.2", "libp2p-record": "^0.10.3", - "libp2p-tcp": "^0.17.1", - "libp2p-webrtc-star": "^0.23.0", - "libp2p-websockets": "^0.16.1", "mafmt": "^10.0.0", "merge-options": "^3.0.4", "mortice": "^2.0.0", @@ -28320,51 +27652,85 @@ "multiaddr-to-uri": "^8.0.0", "multiformats": "^9.4.1", "native-abort-controller": "^1.0.3", - "p-queue": "^6.6.1", "pako": "^1.0.2", "parse-duration": "^1.0.0", "peer-id": "^0.15.1", - "streaming-iterables": "^6.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/ipfs-core-config": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-core-config/-/ipfs-core-config-0.1.1.tgz", + "integrity": "sha512-AF96rTDRhtDm8fR1KNj/9LhWtc8JG8LKr9GvTAi2EReUHcEFp+kigS0sty9lFnBZDKDRFmMWyUcwO2uGiYyazA==", + "dependencies": { + "@chainsafe/libp2p-noise": "^4.0.0", + "blockstore-datastore-adapter": "^2.0.2", + "datastore-core": "^6.0.7", + "datastore-fs": "^6.0.1", + "datastore-level": "^7.0.1", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "hashlru": "^2.3.0", + "ipfs-repo": "^13.0.4", + "ipfs-utils": "^9.0.2", + "ipns": "^0.15.0", + "is-ipfs": "^6.0.1", + "it-all": "^1.0.4", + "it-drain": "^1.0.3", + "libp2p-floodsub": "^0.27.0", + "libp2p-gossipsub": "^0.11.1", + "libp2p-kad-dht": "^0.25.0", + "libp2p-mdns": "^0.17.0", + "libp2p-mplex": "^0.10.2", + "libp2p-tcp": "^0.17.1", + "libp2p-webrtc-star": "^0.24.0", + "libp2p-websockets": "^0.16.2", + "p-queue": "^6.6.1", "uint8arrays": "^3.0.0" } }, "node_modules/ipfs-core-types": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.7.0.tgz", - "integrity": "sha512-tWJ5aJPPKeMHccPIx9EEXRZl1vsgu4rJpSPMFjjLz2JkGr6tSyCkxCOvsdSTsscfITx+NQcvcyPQb39O12fGOw==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.8.1.tgz", + "integrity": "sha512-9pfHaPGbl8EWeQZTSodN/y+lBQ9vyh6RYvpmw6Ik0ksy5QLj7soEkH4msHO78t5ZMeChpPIYpZS/oo1bOld1cw==", "dependencies": { - "interface-datastore": "^5.0.0", + "interface-datastore": "^6.0.2", "multiaddr": "^10.0.0", "multiformats": "^9.4.1" } }, "node_modules/ipfs-core-utils": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.10.2.tgz", - "integrity": "sha512-xyTqw9epOJZsa2opFp9L+7Ul/xRmWnqT8uiFW51O40jXNo95MLPgZJAOH4W5FgOR/ckpHHse+Yvqab+2YXsH3A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.11.1.tgz", + "integrity": "sha512-SYBTeESuLgjYeDh8meCgttHV/LlES8FbljIDCySp+DpgPxYJA4EyC4GhywBaneQc/X3GWvHEzvW5b7ADluFcAw==", "dependencies": { "any-signal": "^2.1.2", "blob-to-it": "^1.0.1", "browser-readablestream-to-it": "^1.0.1", + "debug": "^4.1.1", "err-code": "^3.0.1", - "ipfs-core-types": "^0.7.0", + "ipfs-core-types": "^0.8.1", "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^8.1.4", + "ipfs-utils": "^9.0.2", "it-all": "^1.0.4", "it-map": "^1.0.4", "it-peekable": "^1.0.2", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", "multiaddr": "^10.0.0", "multiaddr-to-uri": "^8.0.0", "multiformats": "^9.4.1", + "nanoid": "^3.1.23", "parse-duration": "^1.0.0", "timeout-abort-controller": "^1.1.1", "uint8arrays": "^3.0.0" } }, "node_modules/ipfs-http-client": { - "version": "52.0.2", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-52.0.2.tgz", - "integrity": "sha512-KdtKqGxu3AvfrButz1RVTwcaAgk09ageelQeEFDjknNIZYmOHi1TdC2r2rnf9sbPuyPqM20OTVtsXb/OSc0iYg==", + "version": "53.0.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-53.0.1.tgz", + "integrity": "sha512-0hmm5esSxoArEtVE9jeLwLw3pJm6rJA1kWKW+3Nqs2O8TQVSot8u1nzopF/yJ2IJGd5PHJc2JxqtEdVzV+p7nQ==", "dependencies": { "@ipld/dag-cbor": "^6.0.5", "@ipld/dag-pb": "^2.1.3", @@ -28372,17 +27738,14 @@ "any-signal": "^2.1.2", "debug": "^4.1.1", "err-code": "^3.0.1", - "form-data": "^4.0.0", - "ipfs-core-types": "^0.7.0", - "ipfs-core-utils": "^0.10.2", - "ipfs-utils": "^8.1.4", + "ipfs-core-types": "^0.8.1", + "ipfs-core-utils": "^0.11.1", + "ipfs-utils": "^9.0.2", "it-first": "^1.0.6", "it-last": "^1.0.4", - "it-to-stream": "^1.0.0", "merge-options": "^3.0.4", "multiaddr": "^10.0.0", "multiformats": "^9.4.1", - "nanoid": "^3.1.12", "native-abort-controller": "^1.0.3", "parse-duration": "^1.0.0", "stream-to-it": "^0.2.2", @@ -28393,34 +27756,23 @@ "npm": ">=3.0.0" } }, - "node_modules/ipfs-http-client/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ipfs-repo": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-12.0.0.tgz", - "integrity": "sha512-boEfHtBZMc9ES4BHIX3m8090Egi+lRm/EVCvG/rjEctQOnPKduGzVXpgqApzNKNiCcHZgGLTO7WCIL+djgg7Zw==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-13.0.5.tgz", + "integrity": "sha512-lmS/BKBg04/jqfyhOXZSIoeqArFqI8g/3jdqOjD1MQ90bXkDzIuE8aTFqSUss+LN0qMnltTlXd0kdOKwMomQRA==", "dependencies": { "@ipld/dag-pb": "^2.1.0", "bytes": "^3.1.0", "cborg": "^1.3.4", + "datastore-core": "^6.0.7", "debug": "^4.1.0", "err-code": "^3.0.1", - "eslint-plugin-ava": "^12.0.0", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", - "ipfs-repo-migrations": "^10.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", + "ipfs-repo-migrations": "^11.0.1", + "it-drain": "^1.0.1", "it-filter": "^1.0.2", + "it-first": "^1.0.2", "it-map": "^1.0.5", "it-merge": "^1.0.2", "it-parallel-batch": "^1.0.9", @@ -28433,42 +27785,33 @@ "multiformats": "^9.0.4", "p-queue": "^6.0.0", "proper-lockfile": "^4.0.0", - "sort-keys": "^4.0.0", + "sort-keys": "^4.2.0", "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" } }, "node_modules/ipfs-repo-migrations": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-10.0.0.tgz", - "integrity": "sha512-TkvHXFs2ujGNyUKpN8nqWlfWm1poe0qXq0xg+GkkvJH7SDPx6j2OEqmqF/ocBgmazOlz50nE88I0RMAjQ0o5QQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-11.0.1.tgz", + "integrity": "sha512-pDMmEs1gYwJP5CfxHFcyxi+o6E6QS0XRCQsOZjahC5k/0qDiBofUyv+0SMnvcvpuQwmHy+3cxS36J/d0ODDrsQ==", "dependencies": { "@ipld/dag-pb": "^2.0.0", "cborg": "^1.3.1", - "datastore-core": "^5.0.0", + "datastore-core": "^6.0.7", "debug": "^4.1.0", "fnv1a": "^1.0.1", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", "it-length": "^1.0.1", "multiformats": "^9.0.0", - "proper-lockfile": "^4.1.1", "protobufjs": "^6.10.2", "uint8arrays": "^3.0.0", "varint": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" } }, "node_modules/ipfs-unixfs": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.5.tgz", - "integrity": "sha512-D8Z3EsegLxOBc2L8oMyZw/FRUDQG0ZZAaBRfzMrRsGnj7RFI7OlV1hU54aMeDxFYFviKNnUdsyEFI2zUWmgGvw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.6.tgz", + "integrity": "sha512-gTkjYKXuHnqIf6EFfS+ESaYEl3I3aaQQ0UX8MhpNzreMLEuMnuqpoI/uLLllTZa31WRplKixabbpRTSmTYRNwA==", "dependencies": { "err-code": "^3.0.1", "protobufjs": "^6.10.2" @@ -28479,9 +27822,9 @@ } }, "node_modules/ipfs-unixfs-exporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-7.0.5.tgz", - "integrity": "sha512-H/fBcBHO4kMivj2JyqwVmp90JIxKEsRpgkyifkZxmslttcTgivrOM3s7xeLuj6EkchkqyHS9+wurdv83WFOFpQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-7.0.6.tgz", + "integrity": "sha512-PkKB+hTbHhKLqgj0PqSNQ/n7dKsu/lC29jLK8nUXOX4EM6c+RnedohdCY7khT10/hfC7oADbpFs/QJfuH2DaAg==", "dependencies": { "@ipld/dag-cbor": "^6.0.4", "@ipld/dag-pb": "^2.0.2", @@ -28489,7 +27832,7 @@ "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "interface-blockstore": "^1.0.0", - "ipfs-unixfs": "^6.0.5", + "ipfs-unixfs": "^6.0.6", "it-last": "^1.0.5", "multiformats": "^9.4.2", "uint8arrays": "^3.0.0" @@ -28499,10 +27842,29 @@ "npm": ">=6.0.0" } }, + "node_modules/ipfs-unixfs-exporter/node_modules/interface-blockstore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.2.tgz", + "integrity": "sha512-e8rHqaBSOsBPpSaB+wwVa9mR5ntU+t1yzXpOFC16cSKCNsV+h6n8SjekPQcdODVBN2h8t45CsOqRAnUfm1guEw==", + "dependencies": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "it-all": "^1.0.5", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.0.4" + } + }, + "node_modules/ipfs-unixfs-exporter/node_modules/interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + }, "node_modules/ipfs-unixfs-importer": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-9.0.5.tgz", - "integrity": "sha512-+Xxqu7WKC/cFd/IP5bCPw4E29CybU0k/exxNJCCn/QDrSm+o25Dz4IFCLc9jXvffi9Za8gCMywZFeM2HbB5Dyg==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-9.0.6.tgz", + "integrity": "sha512-FgzODqg4pvToEMZ88mFkHcU0s25CljmnqX2VX7K/VQDckiZIxhIiUTQRqQg/C7Em4uCzVp8YCxKUvl++w6kvNg==", "dependencies": { "@ipld/dag-pb": "^2.0.2", "@multiformats/murmur3": "^1.0.3", @@ -28510,7 +27872,7 @@ "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "interface-blockstore": "^1.0.0", - "ipfs-unixfs": "^6.0.5", + "ipfs-unixfs": "^6.0.6", "it-all": "^1.0.5", "it-batch": "^1.0.8", "it-first": "^1.0.6", @@ -28525,10 +27887,29 @@ "npm": ">=6.0.0" } }, + "node_modules/ipfs-unixfs-importer/node_modules/interface-blockstore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.2.tgz", + "integrity": "sha512-e8rHqaBSOsBPpSaB+wwVa9mR5ntU+t1yzXpOFC16cSKCNsV+h6n8SjekPQcdODVBN2h8t45CsOqRAnUfm1guEw==", + "dependencies": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "it-all": "^1.0.5", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.0.4" + } + }, + "node_modules/ipfs-unixfs-importer/node_modules/interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + }, "node_modules/ipfs-utils": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", - "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.2.tgz", + "integrity": "sha512-o0DjVfd1kcr09fAYMkSnZ56ZkfoAzZhFWkizG3/tL7svukZpqyGyRxNlF58F+hsrn/oL8ouAP9x+4Hdf8XM+hg==", "dependencies": { "abort-controller": "^3.0.0", "any-signal": "^2.1.0", @@ -28537,7 +27918,7 @@ "err-code": "^3.0.1", "is-electron": "^2.2.0", "iso-url": "^1.1.5", - "it-glob": "~0.0.11", + "it-glob": "^1.0.1", "it-to-stream": "^1.0.0", "merge-options": "^3.0.4", "nanoid": "^3.1.20", @@ -28589,410 +27970,15 @@ "node": "4.x || >=6.0.0" } }, - "node_modules/ipld-block": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/ipld-block/-/ipld-block-0.10.1.tgz", - "integrity": "sha512-lPMfW9tA2hVZw9hdO/YSppTxFmA0+5zxcefBOlCTOn+12RLyy+pdepKMbQw8u0KESFu3pYVmabNRWuFGcgHLLw==", - "dependencies": { - "cids": "^1.0.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-block/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "dependencies": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-block/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-block/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-block/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-block/node_modules/multihashes/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/ipld-dag-cbor": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.17.1.tgz", - "integrity": "sha512-Bakj/cnxQBdscORyf4LRHxQJQfoaY8KWc7PWROQgX+aw5FCzBt8ga0VM/59K+ABOznsqNvyLR/wz/oYImOpXJw==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "cids": "^1.0.0", - "is-circular": "^1.0.2", - "multicodec": "^3.0.1", - "multihashing-async": "^2.0.0", - "uint8arrays": "^2.1.3" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "dependencies": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/ipld-dag-cbor/node_modules/uint8arrays": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", - "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.20.0.tgz", - "integrity": "sha512-zfM0EdaolqNjAxIrtpuGKvXxWk5YtH9jKinBuQGTcngOsWFQhyybGCTJHGNGGtRjHNJi2hz5Udy/8pzv4kcKyg==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "^1.0.0", - "class-is": "^1.1.0", - "multicodec": "^2.0.0", - "multihashing-async": "^2.0.0", - "protons": "^2.0.0", - "reset": "^0.1.0", - "run": "^1.4.0", - "stable": "^0.1.8", - "uint8arrays": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "dependencies": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/cids/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/cids/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-pb/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "dependencies": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/multihashes/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ipld-dag-pb/node_modules/multihashes/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/ipld-dag-pb/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/ipld-dag-pb/node_modules/uint8arrays/node_modules/multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-6.0.0.tgz", - "integrity": "sha512-UK7fjncAzs59iu/o2kwYtb8jgTtW6B+cNWIiNpAJkfRwqoMk1xD/6i25ktzwe4qO8gQgoR9RxA5ibC23nq8BLg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "^1.0.0", - "multicodec": "^2.0.0", - "multihashing-async": "^2.0.0" - } - }, - "node_modules/ipld-raw/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "dependencies": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw/node_modules/cids/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-raw/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "dependencies": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec/node_modules/multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/ipld-raw/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-raw/node_modules/multihashes/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, "node_modules/ipns": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.13.4.tgz", - "integrity": "sha512-8fPbYdhtA9y3IBuNCW2KRdWIHZlcBk3AS8W+h7YuBn8ftUla6kQ1ngWiO9Z/Pf1ZtIJdoIXLQWpkmJDlGy/ung==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.15.0.tgz", + "integrity": "sha512-BkCjHCLxaZkvybM69+wJlJPZQfH8dN6q4kzGMReKYlSweRtVBdC/U8FFGDPF7Y8MvUgzwNREsbbv0n5NmL4keg==", "dependencies": { "cborg": "^1.3.3", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "libp2p-crypto": "^0.19.5", "long": "^4.0.0", "multiformats": "^9.4.5", @@ -29150,11 +28136,6 @@ "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", "dev": true }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "node_modules/is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", @@ -29170,9 +28151,9 @@ } }, "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dependencies": { "has": "^1.0.3" }, @@ -29282,11 +28263,6 @@ "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" }, - "node_modules/is-error": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", - "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==" - }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -29360,9 +28336,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" }, @@ -29578,6 +28554,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -29618,11 +28602,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.7.tgz", - "integrity": "sha512-VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "dependencies": { - "available-typed-arrays": "^1.0.4", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-abstract": "^1.18.5", "foreach": "^2.0.5", @@ -29653,6 +28637,17 @@ "dev": true, "peer": true }, + "node_modules/is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "dependencies": { + "call-bind": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -29764,9 +28759,9 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", + "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", "dev": true, "engines": { "node": ">=8" @@ -29856,9 +28851,9 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -29866,7 +28861,7 @@ "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { @@ -29879,9 +28874,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", + "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -29904,14 +28899,14 @@ } }, "node_modules/it-all": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", - "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "node_modules/it-batch": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.8.tgz", - "integrity": "sha512-RfEa1rxOPnicXvaXJ1qNThxPrq8/Lc+KwSVWHFEEOp2CrjpjhR5WfmBJozhkbzZ/r/Gl0HjzVVrt0NpG8qczDQ==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.9.tgz", + "integrity": "sha512-7Q7HXewMhNFltTsAMdSz6luNhyhkhEtGGbYek/8Xb/GiqYMtwUmopE1ocPSiJKKp3rM4Dt045sNFoUu+KZGNyA==" }, "node_modules/it-buffer": { "version": "0.1.3", @@ -29954,24 +28949,24 @@ } }, "node_modules/it-drain": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", - "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "node_modules/it-filter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", - "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "node_modules/it-first": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz", - "integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "node_modules/it-glob": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz", - "integrity": "sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dependencies": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -29988,14 +28983,14 @@ } }, "node_modules/it-last": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.5.tgz", - "integrity": "sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" }, "node_modules/it-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.3.tgz", - "integrity": "sha512-iZduLNprLW2OJCa1LtFvogh4DVhInt2jbqgvCgWQIX6v1z3IJpKvfkDutslKIgztEuhqm3QRLn16dhspVsaayw==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.4.tgz", + "integrity": "sha512-KN4jXzp77/GQ4fxUGMbsJx3ALUZ6SP3E79tzs2weGghtImDLFZzua/l3fOK0LN/hMH0M330HJRZWwYZfDNuCIA==" }, "node_modules/it-length-prefixed": { "version": "5.0.3", @@ -30031,14 +29026,14 @@ } }, "node_modules/it-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", - "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "node_modules/it-merge": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.2.tgz", - "integrity": "sha512-bp+h4X3tQ83/a2MvaeP4nRi+52z2AO2y8tf2OzDdaSXKMC0n0gVtHrJUDaE+kiIkBiUtTt1hp7vJHMM0VtCfGA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.4.tgz", + "integrity": "sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==", "dependencies": { "it-pushable": "^1.4.0" } @@ -30051,12 +29046,20 @@ "get-iterator": "^1.0.2" } }, + "node_modules/it-parallel": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-parallel/-/it-parallel-1.0.0.tgz", + "integrity": "sha512-kYlBKkNoHGOX++1Pf3M8IZOfozuTIln7F3Ldk2C/XnNW/XkqBqtiEWDoJHI0mkUHenxWnbaaCioM/aNQimNPlA==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, "node_modules/it-parallel-batch": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.9.tgz", - "integrity": "sha512-lfCxXsHoEtgyWj5HLrEQXlZF0p3c0hfYeVJAbxQIHIzHLq4lkYplUIe3UGxYl4n1Sjpcs6YL/87352399aVeIA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.10.tgz", + "integrity": "sha512-3+4gW15xdf/BOx9zij0QVnB1bDGSLOTABlaVm7ebHH1S9gDUgd5aLNb0WsFXPTfKe104iC6lxdzfbMGh1B07rg==", "dependencies": { - "it-batch": "^1.0.8" + "it-batch": "^1.0.9" } }, "node_modules/it-pb-rpc": { @@ -30070,9 +29073,9 @@ } }, "node_modules/it-peekable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.2.tgz", - "integrity": "sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" }, "node_modules/it-pipe": { "version": "1.1.0", @@ -30095,10 +29098,18 @@ "bl": "^5.0.0" } }, - "node_modules/it-take": { + "node_modules/it-sort": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", - "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-1.0.1.tgz", + "integrity": "sha512-c+C48cP7XMMebB9irLrJs2EmpLILId8NYSojqAqN8etE8ienx0azBgaKvZHYH1DkerqIul0Fl2FqISu2BZgTEQ==", + "dependencies": { + "it-all": "^1.0.6" + } + }, + "node_modules/it-take": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "node_modules/it-tar": { "version": "4.0.0", @@ -30137,9 +29148,9 @@ } }, "node_modules/it-to-buffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-2.0.1.tgz", - "integrity": "sha512-LLye4AbgXlCRy/GOWSsMVu7wx1lrHbVPJBAz7Q8n4np1TVuBwttvOeEr+HbvM3cT6ucZHXj9YOz6ZlosqSwmlQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-2.0.2.tgz", + "integrity": "sha512-Frbv1sphcNFvD807Qw5fXpK4L7iuqShYSI7k30PfpJiy5IxdqMyaulWpLyl1hIJVVpkG+1UrJafFCnatzmZf5g==", "dependencies": { "uint8arrays": "^3.0.0" } @@ -30236,9 +29247,9 @@ } }, "node_modules/it-ws/node_modules/ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "engines": { "node": ">=8.3.0" }, @@ -30280,14 +29291,14 @@ "dev": true }, "node_modules/jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.1.0.tgz", - "integrity": "sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.2.5.tgz", + "integrity": "sha512-vDMzXcpQN4Ycaqu+vO7LX8pZwNNoKMhc+gSp6q1D8S6ftRk8gNW8cni3YFxknP95jxzQo23Lul0BI2FrWgnwYQ==", "dev": true, "dependencies": { - "@jest/core": "^27.1.0", + "@jest/core": "^27.2.5", "import-local": "^3.0.2", - "jest-cli": "^27.1.0" + "jest-cli": "^27.2.5" }, "bin": { "jest": "bin/jest.js" @@ -30305,12 +29316,12 @@ } }, "node_modules/jest-changed-files": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.0.tgz", - "integrity": "sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.2.5.tgz", + "integrity": "sha512-jfnNJzF89csUKRPKJ4MwZ1SH27wTmX2xiAIHUHrsb/OYd9Jbo4/SXxJ17/nnx6RIifpthk3Y+LEeOk+/dDeGdw==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "execa": "^5.0.0", "throat": "^6.0.1" }, @@ -30319,27 +29330,27 @@ } }, "node_modules/jest-circus": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.1.0.tgz", - "integrity": "sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.2.5.tgz", + "integrity": "sha512-eyL9IcrAxm3Saq3rmajFCwpaxaRMGJ1KJs+7hlTDinXpJmeR3P02bheM3CYohE7UfwOBmrFMJHjgo/WPcLTM+Q==", "dev": true, "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", + "jest-each": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" @@ -30419,23 +29430,23 @@ } }, "node_modules/jest-cli": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.1.0.tgz", - "integrity": "sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.2.5.tgz", + "integrity": "sha512-XzfcOXi5WQrXqFYsDxq5RDOKY4FNIgBgvgf3ZBz4e/j5/aWep5KnsAYH5OFPMdX/TP/LFsYQMRH7kzJUMh6JKg==", "dev": true, "dependencies": { - "@jest/core": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/core": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "import-local": "^3.0.2", - "jest-config": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-config": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "prompts": "^2.0.1", - "yargs": "^16.0.3" + "yargs": "^16.2.0" }, "bin": { "jest": "bin/jest.js" @@ -30501,12 +29512,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -30526,14 +29531,14 @@ } }, "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -30579,32 +29584,32 @@ } }, "node_modules/jest-config": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.1.0.tgz", - "integrity": "sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.2.5.tgz", + "integrity": "sha512-QdENtn9b5rIIYGlbDNEcgY9LDL5kcokJnXrp7x8AGjHob/XFqw1Z6p+gjfna2sUulQsQ3ce2Fvntnv+7fKYDhQ==", "dev": true, "dependencies": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.1.0", - "@jest/types": "^27.1.0", - "babel-jest": "^27.1.0", + "@jest/test-sequencer": "^27.2.5", + "@jest/types": "^27.2.5", + "babel-jest": "^27.2.5", "chalk": "^4.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", "graceful-fs": "^4.2.4", "is-ci": "^3.0.0", - "jest-circus": "^27.1.0", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", + "jest-circus": "^27.2.5", + "jest-environment-jsdom": "^27.2.5", + "jest-environment-node": "^27.2.5", "jest-get-type": "^27.0.6", - "jest-jasmine2": "^27.1.0", + "jest-jasmine2": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-runner": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "micromatch": "^4.0.4", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -30689,15 +29694,15 @@ } }, "node_modules/jest-diff": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz", - "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.5.tgz", + "integrity": "sha512-7gfwwyYkeslOOVQY4tVq5TaQa92mWfC9COsVYMNVYyJTOYAqbIkoD3twi5A+h+tAPtAelRxkqY6/xu+jwTr0dA==", "dev": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.0.6", "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -30786,16 +29791,16 @@ } }, "node_modules/jest-each": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.1.0.tgz", - "integrity": "sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.2.5.tgz", + "integrity": "sha512-HUPWIbJT0bXarRwKu/m7lYzqxR4GM5EhKOsu0z3t0SKtbFN6skQhpAUADM4qFShBXb9zoOuag5lcrR1x/WM+Ag==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "jest-get-type": "^27.0.6", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0" + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -30872,17 +29877,17 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz", - "integrity": "sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.2.5.tgz", + "integrity": "sha512-QtRpOh/RQKuXniaWcoFE2ElwP6tQcyxHu0hlk32880g0KczdonCs5P1sk5+weu/OVzh5V4Bt1rXuQthI01mBLg==", "dev": true, "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0", + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5", "jsdom": "^16.6.0" }, "engines": { @@ -30890,17 +29895,17 @@ } }, "node_modules/jest-environment-node": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.1.0.tgz", - "integrity": "sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.2.5.tgz", + "integrity": "sha512-0o1LT4grm7iwrS8fIoLtwJxb/hoa3GsH7pP10P02Jpj7Mi4BXy65u46m89vEM2WfD1uFJQ2+dfDiWZNA2e6bJg==", "dev": true, "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -30916,12 +29921,12 @@ } }, "node_modules/jest-haste-map": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.1.0.tgz", - "integrity": "sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.5.tgz", + "integrity": "sha512-pzO+Gw2WLponaSi0ilpzYBE0kuVJstoXBX8YWyUebR8VaXuX4tzzn0Zp23c/WaETo7XYTGv2e8KdnpiskAFMhQ==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", @@ -30929,8 +29934,8 @@ "graceful-fs": "^4.2.4", "jest-regex-util": "^27.0.6", "jest-serializer": "^27.0.6", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "micromatch": "^4.0.4", "walker": "^1.0.7" }, @@ -30942,28 +29947,28 @@ } }, "node_modules/jest-jasmine2": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz", - "integrity": "sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz", + "integrity": "sha512-hdxY9Cm/CjLqu2tXeAoQHPgA4vcqlweVXYOg1+S9FeFdznB9Rti+eEBKDDkmOy9iqr4Xfbq95OkC4NFbXXPCAQ==", "dev": true, "dependencies": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.1.0", + "@jest/environment": "^27.2.5", "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", + "jest-each": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5", "throat": "^6.0.1" }, "engines": { @@ -31041,28 +30046,28 @@ } }, "node_modules/jest-leak-detector": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz", - "integrity": "sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.2.5.tgz", + "integrity": "sha512-HYsi3GUR72bYhOGB5C5saF9sPdxGzSjX7soSQS+BqDRysc7sPeBwPbhbuT8DnOpijnKjgwWQ8JqvbmReYnt3aQ==", "dev": true, "dependencies": { "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz", - "integrity": "sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz", + "integrity": "sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^27.1.0", + "jest-diff": "^27.2.5", "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -31139,18 +30144,18 @@ } }, "node_modules/jest-message-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.1.0.tgz", - "integrity": "sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.5.tgz", + "integrity": "sha512-ggXSLoPfIYcbmZ8glgEJZ8b+e0Msw/iddRmgkoO7lDAr9SmI65IIfv7VnvTnV4FGnIIUIjzM+fHRHO5RBvyAbQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "micromatch": "^4.0.4", - "pretty-format": "^27.1.0", + "pretty-format": "^27.2.5", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -31229,12 +30234,12 @@ } }, "node_modules/jest-mock": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.0.tgz", - "integrity": "sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.2.5.tgz", + "integrity": "sha512-HiMB3LqE9RzmeMzZARi2Bz3NoymxyP0gCid4y42ca1djffNtYFKgI220aC1VP1mUZ8rbpqZbHZOJ15093bZV/Q==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*" }, "engines": { @@ -31268,19 +30273,19 @@ } }, "node_modules/jest-resolve": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.1.0.tgz", - "integrity": "sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.5.tgz", + "integrity": "sha512-q5irwS3oS73SKy3+FM/HL2T7WJftrk9BRzrXF92f7net5HMlS7lJMg/ZwxLB4YohKqjSsdksEw7n/jvMxV7EKg==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "escalade": "^3.1.1", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", + "jest-haste-map": "^27.2.5", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "resolve": "^1.20.0", "slash": "^3.0.0" }, @@ -31289,14 +30294,14 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz", - "integrity": "sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.5.tgz", + "integrity": "sha512-BSjefped31bcvvCh++/pN9ueqqN1n0+p8/58yScuWfklLm2tbPbS9d251vJhAy0ZI2pL/0IaGhOTJrs9Y4FJlg==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-snapshot": "^27.1.0" + "jest-snapshot": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -31373,31 +30378,31 @@ } }, "node_modules/jest-runner": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.1.0.tgz", - "integrity": "sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.2.5.tgz", + "integrity": "sha512-n41vw9RLg5TKAnEeJK9d6pGOsBOpwE89XBniK+AD1k26oIIy3V7ogM1scbDjSheji8MUPC9pNgCrZ/FHLVDNgg==", "dev": true, "dependencies": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/environment": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "jest-docblock": "^27.0.6", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-leak-detector": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-environment-jsdom": "^27.2.5", + "jest-environment-node": "^27.2.5", + "jest-haste-map": "^27.2.5", + "jest-leak-detector": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "source-map-support": "^0.5.6", "throat": "^6.0.1" }, @@ -31476,19 +30481,19 @@ } }, "node_modules/jest-runtime": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.1.0.tgz", - "integrity": "sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.2.5.tgz", + "integrity": "sha512-N0WRZ3QszKyZ3Dm27HTBbBuestsSd3Ud5ooVho47XZJ8aSKO/X1Ag8M1dNx9XzfGVRNdB/xCA3lz8MJwIzPLLA==", "dev": true, "dependencies": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/globals": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/globals": "^27.2.5", "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/yargs": "^16.0.0", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", @@ -31497,17 +30502,17 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-mock": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "slash": "^3.0.0", "strip-bom": "^4.0.0", - "yargs": "^16.0.3" + "yargs": "^16.2.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -31571,12 +30576,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-runtime/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -31596,14 +30595,14 @@ } }, "node_modules/jest-runtime/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -31662,9 +30661,9 @@ } }, "node_modules/jest-snapshot": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.1.0.tgz", - "integrity": "sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.5.tgz", + "integrity": "sha512-2/Jkn+VN6Abwz0llBltZaiJMnL8b1j5Bp/gRIxe9YR3FCEh9qp0TXVV0dcpTGZ8AcJV1SZGQkczewkI9LP5yGw==", "dev": true, "dependencies": { "@babel/core": "^7.7.2", @@ -31673,23 +30672,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/babel__traverse": "^7.0.4", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "graceful-fs": "^4.2.4", - "jest-diff": "^27.1.0", + "jest-diff": "^27.2.5", "jest-get-type": "^27.0.6", - "jest-haste-map": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-util": "^27.2.5", "natural-compare": "^1.4.0", - "pretty-format": "^27.1.0", + "pretty-format": "^27.2.5", "semver": "^7.3.2" }, "engines": { @@ -31767,12 +30766,12 @@ } }, "node_modules/jest-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz", - "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.2.5.tgz", + "integrity": "sha512-QRhDC6XxISntMzFRd/OQ6TGsjbzA5ONO0tlAj2ElHs155x1aEr0rkYJBEysG6H/gZVH3oGFzCdAB/GA8leh8NQ==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", @@ -31854,17 +30853,17 @@ } }, "node_modules/jest-validate": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.1.0.tgz", - "integrity": "sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.5.tgz", + "integrity": "sha512-XgYtjS89nhVe+UfkbLgcm+GgXKWgL80t9nTcNeejyO3t0Sj/yHE8BtIJqjZu9NXQksYbGImoQRXmQ1gP+Guffw==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^27.0.6", "leven": "^3.1.0", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -31953,17 +30952,17 @@ } }, "node_modules/jest-watcher": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.1.0.tgz", - "integrity": "sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.2.5.tgz", + "integrity": "sha512-umV4qGozg2Dn6DTTtqAh9puPw+DGLK9AQas7+mWjiK8t0fWMpxKg8ZXReZw7L4C88DqorsGUiDgwHNZ+jkVrkQ==", "dev": true, "dependencies": { - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.1.0", + "jest-util": "^27.2.5", "string-length": "^4.0.1" }, "engines": { @@ -32041,9 +31040,9 @@ } }, "node_modules/jest-worker": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.0.tgz", - "integrity": "sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "dev": true, "dependencies": { "@types/node": "*", @@ -32084,9 +31083,9 @@ "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "node_modules/js-base64": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.1.tgz", - "integrity": "sha512-Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz", + "integrity": "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==" }, "node_modules/js-beautify": { "version": "1.14.0", @@ -32108,6 +31107,11 @@ "node": ">=10" } }, + "node_modules/js-crc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/js-crc/-/js-crc-0.2.0.tgz", + "integrity": "sha1-9yxcdhgXa/91zIEqHO2949jraDk=" + }, "node_modules/js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -32117,6 +31121,11 @@ "node": ">=0.10.0" } }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + }, "node_modules/js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -32194,22 +31203,10 @@ } } }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/jsdom/node_modules/ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true, "engines": { "node": ">=8.3.0" @@ -32351,12 +31348,12 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", "dev": true, "dependencies": { - "array-includes": "^3.1.2", + "array-includes": "^3.1.3", "object.assign": "^4.1.2" }, "engines": { @@ -32428,9 +31425,9 @@ } }, "node_modules/keypair": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.3.tgz", - "integrity": "sha512-0wjZ2z/SfZZq01+3/8jYLd8aEShSa+aat1zyPGQY3IuKoEAp6DJGvu2zt6snELrQU9jbCkIlCyNOD7RdQbHhkQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" }, "node_modules/keyv": { "version": "3.1.0", @@ -32507,13 +31504,13 @@ } }, "node_modules/level": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-7.0.0.tgz", - "integrity": "sha512-QrBnjcWywalh86ms9hfizvxT5aBHrgWEu6rLChS9tFE2wwFU3aI1r0v+2SSZIyeUr4O4PFo8+sCc1kebahdhlw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-7.0.1.tgz", + "integrity": "sha512-w3E64+ALx2eZf8RV5JL4kIcE0BFAvQscRYd1yU4YVqZN9RGTQxXSvH202xvK15yZwFFxRXe60f13LJjcJ//I4Q==", "dependencies": { - "level-js": "^6.0.0", - "level-packager": "^6.0.0", - "leveldown": "^6.0.0" + "level-js": "^6.1.0", + "level-packager": "^6.0.1", + "leveldown": "^6.1.0" }, "engines": { "node": ">=10.12.0" @@ -32566,12 +31563,9 @@ } }, "node_modules/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-MZXOQT061uEjxxxq4C/Jf+M3RdEKK9e3NbxlN7yOp1LDYoLVAhE2i1j0b7XqXfl8FjFtUL7phwr3Sn0wXXoMqA==", - "dependencies": { - "errno": "^1.0.0" - }, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.1.tgz", + "integrity": "sha512-tqTL2DxzPDzpwl0iV5+rBCv65HWbHp6eutluHNcVIftKZlQN//b6GEnZDM2CvGZvzGYMwyPtYppYnydBQd2SMQ==", "engines": { "node": ">=10" } @@ -32602,14 +31596,15 @@ } }, "node_modules/level-js": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-6.0.0.tgz", - "integrity": "sha512-7dp7JuaoQoqKW4ZGvrV1RB5f51/ktLdEo9fSDsh3Ofmg7sKCMu3X0CIngbY/IUz/YyskhN7LRvEVIkZHCY3LKQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-6.1.0.tgz", + "integrity": "sha512-i7mPtkZm68aewfv0FnIUWvFUFfoyzIvVKnUmuQGrelEkP72vSPTaA1SGneWWoCV5KZJG4wlzbJLp1WxVNGuc6A==", "dependencies": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "buffer": "^6.0.3", "inherits": "^2.0.3", - "ltgt": "^2.1.2" + "ltgt": "^2.1.2", + "run-parallel-limit": "^1.1.0" } }, "node_modules/level-js/node_modules/buffer": { @@ -32708,18 +31703,6 @@ "node": ">=6" } }, - "node_modules/level-mem/node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/level-mem/node_modules/immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", @@ -32829,21 +31812,21 @@ } }, "node_modules/level-packager": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-6.0.0.tgz", - "integrity": "sha512-me656XRWfOVqs9wc+mWckZ6Rb1GuP33ndN4ZntDXwXFspX8cGA++Y+YqJsdE/mjTiipTuxXf047Z4rV62nOVuw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-6.0.1.tgz", + "integrity": "sha512-8Ezr0XM6hmAwqX9uu8IGzGNkWz/9doyPA8Oo9/D7qcMI6meJC+XhIbNYHukJhIn8OGdlzQs/JPcL9B8lA2F6EQ==", "dependencies": { - "encoding-down": "^7.0.0", - "levelup": "^5.0.0" + "encoding-down": "^7.1.0", + "levelup": "^5.1.1" }, "engines": { "node": ">=10" } }, "node_modules/level-supports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.0.0.tgz", - "integrity": "sha512-8UJgzo1pvWP1wq80ZlkL19fPeK7tlyy0sBY90+2pj0x/kvzHCoLDWyuFJJMrsTn33oc7hbMkS3SkjCxMRPHWaw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.0.2.tgz", + "integrity": "sha512-dU1W7OnntoCXeNfy9c93K7KEoGNsuP+zZLbUQrIbBzhdZ75U0h8GEcioqmJc1QpYVORyFfeR+kyFeNx2N4t7lg==", "engines": { "node": ">=10" } @@ -32895,29 +31878,29 @@ } }, "node_modules/leveldown": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.0.1.tgz", - "integrity": "sha512-D1fz5G58UrLBg5pXcN1pNxWtNLXwBiZsYt06XqjhD5zBHj/ws7xvZe3K0ZAhCbYuL9b4nbRCim8Z15HYWL2exQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", "hasInstallScript": true, "dependencies": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "napi-macros": "~2.0.0", - "node-gyp-build": "~4.2.1" + "node-gyp-build": "^4.3.0" }, "engines": { "node": ">=10.12.0" } }, "node_modules/levelup": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.0.1.tgz", - "integrity": "sha512-MJvQgBRQmB+E5+d6Qbxqm05N4U9NzOxGNhXx0rR8maRBwmVuVV+m4IV3N4HzZJW8JwiJ0jj92RZaytcD+Hr1CA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.1.1.tgz", + "integrity": "sha512-0mFCcHcEebOwsQuk00WJwjLI6oCjbBuEYdh/RaRqhjnyVlzqf41T1NnDtCedumZ56qyIh8euLFDqV1KfzTAVhg==", "dependencies": { "catering": "^2.0.0", - "deferred-leveldown": "^6.0.0", - "level-errors": "^3.0.0", + "deferred-leveldown": "^7.0.0", + "level-errors": "^3.0.1", "level-iterator-stream": "^5.0.0", - "level-supports": "^2.0.0", + "level-supports": "^2.0.1", "queue-microtask": "^1.2.3" }, "engines": { @@ -32946,23 +31929,24 @@ } }, "node_modules/libp2p": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.32.4.tgz", - "integrity": "sha512-GSImpWJmjFqjXrv9sgJfwaWhMF+J07nNZJknobvgWXXki9W/1a5UsNVyw/1Z2licvsc+aUmCxDgV92lbUvTeSw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.33.0.tgz", + "integrity": "sha512-ZNcxWJWNBmlLa9STcYbZyS3so/JEpI7kNLjIUIhIdntjJC9z+OMbGiqfPFcaMejMpjb/j+qpsqsiayjG0p9qIA==", "dependencies": { "@motrix/nat-api": "^0.3.1", "@vascosantos/moving-average": "^1.1.0", "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", "aggregate-error": "^3.1.0", "any-signal": "^2.1.1", "bignumber.js": "^9.0.1", "class-is": "^1.1.0", "debug": "^4.3.1", "err-code": "^3.0.0", - "es6-promisify": "^6.1.1", + "es6-promisify": "^7.0.0", "events": "^3.3.0", "hashlru": "^2.3.0", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "it-all": "^1.0.4", "it-buffer": "^0.1.2", "it-drain": "^1.0.3", @@ -33076,26 +32060,26 @@ } }, "node_modules/libp2p-gossipsub": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.11.1.tgz", - "integrity": "sha512-apWeUsCoCIaXFw7NMAm/UH3OiODS/00hRc3ZSckvrV3lRfXh6TU1Q+IbPX0Z4u0ODo7eLXuq6n+JpYitlkB2qg==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.11.4.tgz", + "integrity": "sha512-CqI+VgB2k+rVr+OKRPLj8g7EekMM5PciIOWFnG8R1z38/it5JyvyZCVtXcaMO5EaSPwlRiiXpi4kPmxQdntIUg==", "dependencies": { "@types/debug": "^4.1.5", "debug": "^4.3.1", "denque": "^1.5.0", "err-code": "^3.0.1", "it-pipe": "^1.1.0", - "libp2p-interfaces": "^1.0.1", - "peer-id": "^0.15.0", + "libp2p-interfaces": "^1.1.0", + "peer-id": "^0.15.3", "protobufjs": "^6.11.2", "time-cache": "^0.3.0", "uint8arrays": "^3.0.0" } }, "node_modules/libp2p-interfaces": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.1.0.tgz", - "integrity": "sha512-5nc/HZJgeks1qfkyYQdI84hcZLF4SJKJSUx33JpO0w7v7R+obz+HOwk0GSa4/ZvQHjX+/+OWC4NYVA0yZxZXag==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.1.1.tgz", + "integrity": "sha512-DjV+iou2j3jAzczaSzUIg/XU83ddFlxEpWXAeQIGnl3Y87uDAfmElC0wWtkhN/rfwJS4644iacxxy2/a+RQ/7Q==", "dependencies": { "abort-controller": "^3.0.0", "abortable-iterator": "^3.0.0", @@ -33107,23 +32091,25 @@ "libp2p-crypto": "^0.19.5", "multiaddr": "^10.0.0", "multiformats": "^9.1.2", + "p-queue": "^6.6.2", "peer-id": "^0.15.0", "protobufjs": "^6.10.2", "uint8arrays": "^3.0.0" } }, "node_modules/libp2p-kad-dht": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.23.2.tgz", - "integrity": "sha512-bwKY15upVSNOCE0g2gaiQOucWd9MALP/x3HcmGp0lmbMW4QvfOku+6FWmqZns5Jbk1wP25vbTkMy5bmYkTGQrw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.25.0.tgz", + "integrity": "sha512-xZpCpdAVjLRoj1CHKM0wG9qbjaV4BtxtYrKYlXXfq/pfH7M7XPRQSLB2BMM8bkBEqONCykxXRsXVa6/jviPbsg==", "dependencies": { - "abort-controller": "^3.0.0", + "datastore-core": "^6.0.7", "debug": "^4.3.1", "err-code": "^3.0.0", "hashlru": "^2.3.0", "heap": "~0.2.6", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "it-first": "^1.0.4", + "it-length": "^1.0.3", "it-length-prefixed": "^5.0.2", "it-pipe": "^1.1.0", "k-bucket": "^5.1.0", @@ -33135,13 +32121,11 @@ "p-map": "^4.0.0", "p-queue": "^6.6.2", "p-timeout": "^4.1.0", - "p-times": "^3.0.0", "peer-id": "^0.15.0", "protobufjs": "^6.10.2", "streaming-iterables": "^6.0.0", "uint8arrays": "^3.0.0", - "varint": "^6.0.0", - "xor-distance": "^2.0.0" + "varint": "^6.0.0" }, "engines": { "node": ">=14.0.0" @@ -33174,9 +32158,9 @@ } }, "node_modules/libp2p-record": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.5.tgz", - "integrity": "sha512-2HAjCE44xH6mHazduDl/3pZ2kRW6XZNWv1r0etMRtTRAZUsoUbbVRXiMLA7fovMthYEwqsjThXFsOgPsJSQU5A==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.6.tgz", + "integrity": "sha512-CbdO2P9DQn/DKll6R/J4nIw6Qt8xbUTfxYgJjpP9oz3izHKkpGQo0mPTe0NyuFTGIQ4OprrxqWqG5v8ZCGBqqw==", "dependencies": { "err-code": "^3.0.1", "multiformats": "^9.4.5", @@ -33188,9 +32172,9 @@ } }, "node_modules/libp2p-tcp": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.1.tgz", - "integrity": "sha512-Kxqb0gEi1BZT0guhWbmeyG+XhJHqod6jM3NvSvjwUaD6XmKFVt9yj4IPGnTfKPOSrkcWwAUhk6Qbv0eKSHlCnw==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz", + "integrity": "sha512-SAdgDB4Rm0olPbyvanKP5JBaiRwbIOo0Nt++WYe1U2B6akg2uatsDOtulfpnc1gsL1B5vamnOpOzKaDj4kkt8g==", "dependencies": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", @@ -33265,51 +32249,36 @@ } }, "node_modules/libp2p-webrtc-star": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.23.0.tgz", - "integrity": "sha512-0dLuSFMBQug/Y08kwV6/aOgh2Sn1Nq3GBY6h0o0eQXvVtKFOL+HkbFmcC4jkkaabVvu8JUaYRV2JHlUxJJru9A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.24.0.tgz", + "integrity": "sha512-DvWflJF6QOsP+jqFQf8Z8cZgb6+dS8WCXFlDbROYEWXRiz2K7Dl3adCt2Z0Nqo/UTE4IVhzEttQY109rPPSTsA==", "dependencies": { - "@hapi/hapi": "^20.0.0", - "@hapi/inert": "^6.0.3", "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", "debug": "^4.2.0", "err-code": "^3.0.1", - "ipfs-utils": "^8.1.2", + "ipfs-utils": "^9.0.1", "it-pipe": "^1.1.0", "libp2p-utils": "^0.4.0", "libp2p-webrtc-peer": "^10.0.1", "mafmt": "^10.0.0", - "menoetius": "0.0.2", - "minimist": "^1.2.5", "multiaddr": "^10.0.0", "p-defer": "^3.0.0", "peer-id": "^0.15.0", - "prom-client": "^13.0.0", - "socket.io": "^4.1.2", "socket.io-client": "^4.1.2", - "stream-to-it": "^0.2.2", - "streaming-iterables": "^6.0.0" - }, - "bin": { - "star-sig": "src/sig-server/bin.js", - "star-signal": "src/sig-server/bin.js", - "webrtc-star": "src/sig-server/bin.js" - }, - "engines": { - "node": ">=14.0.0" + "stream-to-it": "^0.2.2" } }, "node_modules/libp2p-websockets": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.1.tgz", - "integrity": "sha512-HXaCdlAkG5RDZCehEnkoVzQjT1C6NIaCKLERkkZ1ArKG77K7Y7uy+8y81uNZhy4OLQ8jGUMyOvKnjw6EjKJPmw==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.2.tgz", + "integrity": "sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==", "dependencies": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", "debug": "^4.3.1", "err-code": "^3.0.1", - "ipfs-utils": "^8.1.2", + "ipfs-utils": "^9.0.1", "it-ws": "^4.0.0", "libp2p-utils": "^0.4.0", "mafmt": "^10.0.0", @@ -33398,8 +32367,7 @@ "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "peer": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -33427,12 +32395,6 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "node_modules/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==", - "peer": true - }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -33447,8 +32409,7 @@ "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "peer": true + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" }, "node_modules/lodash.uniq": { "version": "4.5.0", @@ -33643,13 +32604,10 @@ } }, "node_modules/mcl-wasm": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.8.tgz", - "integrity": "sha512-qNHlYO6wuEtSoH5A8TcZfCEHtw8gGPqF6hLZpQn2SVd/Mck0ELIKOkmj072D98S9B9CI/jZybTUC96q1P2/ZDw==", + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", "dev": true, - "dependencies": { - "typescript": "^4.3.4" - }, "engines": { "node": ">=8.9.0" } @@ -33766,28 +32724,6 @@ "node": ">= 0.10.0" } }, - "node_modules/menoetius": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/menoetius/-/menoetius-0.0.2.tgz", - "integrity": "sha512-7W0ayHMNgvEdFh+m3m29KA87nvT0JIGCXeSZa26fiSof+bwpg+olEjD8AAvtxZ3uhTcp2d+5r1dcV/KhR8PBVQ==", - "dependencies": { - "prom-client": "^11.5.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/menoetius/node_modules/prom-client": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz", - "integrity": "sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==", - "dependencies": { - "tdigest": "^0.1.1" - }, - "engines": { - "node": ">=6.1" - } - }, "node_modules/meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", @@ -33882,17 +32818,6 @@ "abstract-leveldown": "~2.6.0" } }, - "node_modules/merkle-patricia-tree/node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -34008,11 +32933,6 @@ "node": ">= 0.6" } }, - "node_modules/micro-spelling-correcter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/micro-spelling-correcter/-/micro-spelling-correcter-1.1.1.tgz", - "integrity": "sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==" - }, "node_modules/micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -34051,19 +32971,19 @@ } }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" }, "engines": { "node": ">= 0.6" @@ -34210,9 +33130,9 @@ } }, "node_modules/mnemonist": { - "version": "0.38.3", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "version": "0.38.4", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.4.tgz", + "integrity": "sha512-mflgW0gEWmVLbDDE2gJbOh3+RltTN7CgV9jV25qyCnyLN9FtoltWr7ZtAEDeD9u8W4oFAoolR6fBWieXdn3u8Q==", "dev": true, "dependencies": { "obliterator": "^1.6.1" @@ -34330,6 +33250,12 @@ "ms": "^2.1.1" } }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "node_modules/mocha/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -34647,9 +33573,9 @@ } }, "node_modules/multicast-dns": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.3.tgz", - "integrity": "sha512-TzxgGSLRLB7tqAlzjgd2x2ZE0cDsGFq4rs9W4yE5xp+7hlRXeUQGtXZsTGfGw2FwWB45rfe8DtXMYBpZGMLUng==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", + "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -34662,7 +33588,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "stable api reached", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "varint": "^5.0.0" } @@ -34673,9 +33599,9 @@ "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" }, "node_modules/multiformats": { - "version": "9.4.6", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz", - "integrity": "sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag==" + "version": "9.4.8", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.8.tgz", + "integrity": "sha512-EOJL02/kv+FD5hoItMhKgkYUUruJYMYFq4NQ6YkCh3jVQ5CuHo+OKdHeR50hAxEQmXQ9yvrM9BxLIk42xtfwnQ==" }, "node_modules/multihashes": { "version": "0.4.21", @@ -34702,59 +33628,6 @@ "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" }, - "node_modules/multihashing-async": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-2.1.4.tgz", - "integrity": "sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg==", - "dependencies": { - "blakejs": "^1.1.0", - "err-code": "^3.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^4.0.1", - "murmurhash3js-revisited": "^3.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, "node_modules/multistream-select": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-2.0.1.tgz", @@ -34805,9 +33678,9 @@ "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" }, "node_modules/nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -34924,9 +33797,9 @@ "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" }, "node_modules/native-abort-controller": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", - "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", "peerDependencies": { "abort-controller": "*" } @@ -34968,26 +33841,27 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/nebula": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/nebula/-/nebula-0.0.4.tgz", - "integrity": "sha512-2amkGezK/FDfX8gwMY9pycpRQRbHWHOTIQ9u7doC+YXqZIJxgE8dcOIhnYN3Ex7qe4/oJsBGhDRrIZmEaSpTTQ==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/nebula/-/nebula-0.0.6.tgz", + "integrity": "sha512-tRyO9e5oqeI7xC8Tn23TxHt/QxvaBe/cuBSrhveg3H2sD3A0TPddH1PTA7itWchqvKxEgQ7Gf5qvBljRiCkyKQ==", "dependencies": { - "@ensdomains/address-encoder": "0.2.5", - "@ensdomains/content-hash": "2.5.6", - "cbor": "6.0.1", - "eth-provider": "0.7.0", - "ethers": "5.3.1", - "ipfs-http-client": "47.0", - "solc": "0.8.1" + "@ensdomains/address-encoder": "0.2.8", + "@ensdomains/content-hash": "2.5.7", + "cbor": "8.0.0", + "eth-ens-namehash": "2.0.8", + "eth-provider": "0.9.4", + "ethers": "5.4.6", + "ipfs-http-client": "52.0", + "solc": "0.8.6" }, "bin": { "nebula": "cli/parser.js" } }, - "node_modules/nebula/node_modules/@ethersproject/abi": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.3.1.tgz", - "integrity": "sha512-F98FWTJG7nWWAQ4DcV6R0cSlrj67MWK3ylahuFbzkumem5cLWg1p7fZ3vIdRoS1c7TEf55Lvyx0w7ICR47IImw==", + "node_modules/nebula/node_modules/@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", "funding": [ { "type": "individual", @@ -34999,89 +33873,43 @@ } ], "dependencies": { - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" } }, - "node_modules/nebula/node_modules/@ethersproject/abstract-provider": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.3.0.tgz", - "integrity": "sha512-1+MLhGP1GwxBDBNwMWVmhCsvKwh4gK7oIfOrmlmePNeskg1NhIrYssraJBieaFNHUYfKEd/1DjiVZMw8Qu5Cxw==", + "node_modules/nebula/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/networks": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/web": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/abstract-signer": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.3.0.tgz", - "integrity": "sha512-w8IFwOYqiPrtvosPuArZ3+QPR2nmdVTRrVY8uJYL3NNfMmQfTy3V3l2wbzX47UUlNbPJY+gKvzJAyvK1onZxJg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "type": "consulting", + "url": "https://feross.org/support" } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/nebula/node_modules/@ethersproject/address": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.3.0.tgz", - "integrity": "sha512-29TgjzEBK+gUEUAOfWCG7s9IxLNLCqvr+oDSk6L9TXD0VLvZJKhJV479tKQqheVA81OeGxfpdxYtUVH8hqlCvA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/rlp": "^5.3.0" - } + "node_modules/nebula/node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, - "node_modules/nebula/node_modules/@ethersproject/base64": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.3.0.tgz", - "integrity": "sha512-JIqgtOmgKcbc2sjGWTXyXktqUhvFUDte8fPVsAaOrcPiJf6YotNF+nsrOYGC9pbHBEGSuSBp3QR0varkO8JHEw==", + "node_modules/nebula/node_modules/ethers": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", + "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", "funding": [ { "type": "individual", @@ -35093,1080 +33921,210 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.3.0" + "@ethersproject/abi": "5.4.1", + "@ethersproject/abstract-provider": "5.4.1", + "@ethersproject/abstract-signer": "5.4.1", + "@ethersproject/address": "5.4.0", + "@ethersproject/base64": "5.4.0", + "@ethersproject/basex": "5.4.0", + "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bytes": "5.4.0", + "@ethersproject/constants": "5.4.0", + "@ethersproject/contracts": "5.4.1", + "@ethersproject/hash": "5.4.0", + "@ethersproject/hdnode": "5.4.0", + "@ethersproject/json-wallets": "5.4.0", + "@ethersproject/keccak256": "5.4.0", + "@ethersproject/logger": "5.4.1", + "@ethersproject/networks": "5.4.2", + "@ethersproject/pbkdf2": "5.4.0", + "@ethersproject/properties": "5.4.1", + "@ethersproject/providers": "5.4.5", + "@ethersproject/random": "5.4.0", + "@ethersproject/rlp": "5.4.0", + "@ethersproject/sha2": "5.4.0", + "@ethersproject/signing-key": "5.4.0", + "@ethersproject/solidity": "5.4.0", + "@ethersproject/strings": "5.4.0", + "@ethersproject/transactions": "5.4.0", + "@ethersproject/units": "5.4.0", + "@ethersproject/wallet": "5.4.0", + "@ethersproject/web": "5.4.0", + "@ethersproject/wordlists": "5.4.0" } }, - "node_modules/nebula/node_modules/@ethersproject/basex": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.3.0.tgz", - "integrity": "sha512-8J4nS6t/SOnoCgr3DF5WCSRLC5YwTKYpZWJqeyYQLX+86TwPhtzvHXacODzcDII9tWKhVg6g0Bka8JCBWXsCiQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/properties": "^5.3.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/nebula/node_modules/@ethersproject/bignumber": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.3.0.tgz", - "integrity": "sha512-5xguJ+Q1/zRMgHgDCaqAexx/8DwDVLRemw2i6uR8KyGjwGdXI8f32QZZ1cKGucBN6ekJvpUpHy6XAuQnTv0mPA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "bn.js": "^4.11.9" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, - "node_modules/nebula/node_modules/@ethersproject/bytes": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.3.0.tgz", - "integrity": "sha512-rqLJjdVqCcn7glPer7Fxh87PRqlnRScVAoxcIP3PmOUNApMWJ6yRdOFfo2KvPAdO7Le3yEI1o0YW+Yvr7XCYvw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/interface-datastore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.2.0.tgz", + "integrity": "sha512-nthO4C4BMJM2j9x/mT2KFa/g/sbcY8yf9j/kOBgli3u5mq9ZdPvQyDxi0OhKzr4JmoM81OYh5xcFjyebquqwvA==", "dependencies": { - "@ethersproject/logger": "^5.3.0" + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "ipfs-utils": "^8.1.2", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" } }, - "node_modules/nebula/node_modules/@ethersproject/constants": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.3.0.tgz", - "integrity": "sha512-4y1feNOwEpgjAfiCFWOHznvv6qUF/H6uI0UKp8xdhftb+H+FbKflXg1pOgH5qs4Sr7EYBL+zPyPb+YD5g1aEyw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + }, + "node_modules/nebula/node_modules/ipfs-core-types": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.7.3.tgz", + "integrity": "sha512-FkmOlqhEf3yG0K8Qt7We7kqA0xKjj8pe0dmNK593I3cgMP0MQS/xjMj1CXVdGeZc5Nn5CJ+TsuQydPbJ+7Y8eQ==", "dependencies": { - "@ethersproject/bignumber": "^5.3.0" + "interface-datastore": "^5.2.0", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.1" } }, - "node_modules/nebula/node_modules/@ethersproject/contracts": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.3.0.tgz", - "integrity": "sha512-eDyQ8ltykvyQqnGZxb/c1e0OnEtzqXhNNC4BX8nhYBCaoBrYYuK/1fLmyEvc5+XUMoxNhwpYkoSSwvPLci7/Zg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/ipfs-core-utils": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.10.5.tgz", + "integrity": "sha512-WPRbMkbn/99pKMF3h8x1/c19+eTXVWOZu1+cmlc3NLR6gMlCd8KNpcq9OCAvs9G1JHx3w/FbEWHnqJm0TJMvrw==", "dependencies": { - "@ethersproject/abi": "^5.3.0", - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/transactions": "^5.3.0" + "any-signal": "^2.1.2", + "blob-to-it": "^1.0.1", + "browser-readablestream-to-it": "^1.0.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.7.3", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^8.1.4", + "it-all": "^1.0.4", + "it-map": "^1.0.4", + "it-peekable": "^1.0.2", + "multiaddr": "^10.0.0", + "multiaddr-to-uri": "^8.0.0", + "multiformats": "^9.4.1", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^3.0.0" } }, - "node_modules/nebula/node_modules/@ethersproject/hash": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.3.0.tgz", - "integrity": "sha512-gAFZSjUPQ32CIfoKSMtMEQ+IO0kQxqhwz9fCIFt2DtAq2u4pWt8mL9Z5P0r6KkLcQU8LE9FmuPPyd+JvBzmr1w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/ipfs-http-client": { + "version": "52.0.5", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-52.0.5.tgz", + "integrity": "sha512-vQ2z6JdBcIJvf6N1Bh/ZdpYBa7fgl0jFV8Rn3HaADhHnIZ/dou8e6nSxHkBPpw2OUyR4ljjjsDvmy2SIIQXohA==", "dependencies": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" + "@ipld/dag-cbor": "^6.0.5", + "@ipld/dag-pb": "^2.1.3", + "abort-controller": "^3.0.0", + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "form-data": "^4.0.0", + "ipfs-core-types": "^0.7.3", + "ipfs-core-utils": "^0.10.5", + "ipfs-utils": "^8.1.4", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.1", + "nanoid": "^3.1.12", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=3.0.0" } }, - "node_modules/nebula/node_modules/@ethersproject/hdnode": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.3.0.tgz", - "integrity": "sha512-zLmmtLNoDMGoYRdjOab01Zqkvp+TmZyCGDAMQF1Bs3yZyBs/kzTNi1qJjR1jVUcPP5CWGtjFwY8iNG8oNV9J8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/basex": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/pbkdf2": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/wordlists": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/json-wallets": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.3.0.tgz", - "integrity": "sha512-/xwbqaIb5grUIGNmeEaz8GdcpmDr++X8WT4Jqcclnxow8PXCUHFeDxjf3O+nSuoqOYG/Ds0+BI5xuQKbva6Xkw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/nebula/node_modules/ipfs-utils": { + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", + "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", "dependencies": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hdnode": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/pbkdf2": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "abort-controller": "^3.0.0", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "react-native-fetch-api": "^2.0.0", + "stream-to-it": "^0.2.2" } }, - "node_modules/nebula/node_modules/@ethersproject/keccak256": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.3.0.tgz", - "integrity": "sha512-Gv2YqgIUmRbYVNIibafT0qGaeGYLIA/EdWHJ7JcVxVSs2vyxafGxOJ5VpSBHWeOIsE6OOaCelYowhuuTicgdFQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "js-sha3": "0.5.7" - } - }, - "node_modules/nebula/node_modules/@ethersproject/logger": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.3.0.tgz", - "integrity": "sha512-8bwJ2gxJGkZZnpQSq5uSiZSJjyVTWmlGft4oH8vxHdvO1Asy4TwVepAhPgxIQIMxXZFUNMych1YjIV4oQ4I7dA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/nebula/node_modules/@ethersproject/networks": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.3.1.tgz", - "integrity": "sha512-6uQKHkYChlsfeiZhQ8IHIqGE/sQsf25o9ZxAYpMxi15dLPzz3IxOEF5KiSD32aHwsjXVBKBSlo+teAXLlYJybw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/pbkdf2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.3.0.tgz", - "integrity": "sha512-Q9ChVU6gBFiex0FSdtzo4b0SAKz3ZYcYVFLrEWHL0FnHvNk3J3WgAtRNtBQGQYn/T5wkoTdZttMbfBkFlaiWcA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/sha2": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/properties": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.3.0.tgz", - "integrity": "sha512-PaHxJyM5/bfusk6vr3yP//JMnm4UEojpzuWGTmtL5X4uNhNnFNvlYilZLyDr4I9cTkIbipCMsAuIcXWsmdRnEw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/providers": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.3.1.tgz", - "integrity": "sha512-HC63vENTrur6/JKEhcQbA8PRDj1FAesdpX98IW+xAAo3EAkf70ou5fMIA3KCGzJDLNTeYA4C2Bonz849tVLekg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/basex": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/networks": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/rlp": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/web": "^5.3.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/nebula/node_modules/@ethersproject/providers/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/nebula/node_modules/@ethersproject/random": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.3.0.tgz", - "integrity": "sha512-A5SL/4inutSwt3Fh2OD0x2gz+x6GHmuUnIPkR7zAiTidMD2N8F6tZdMF1hlQKWVCcVMWhEQg8mWijhEzm6BBYw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/rlp": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.3.0.tgz", - "integrity": "sha512-oI0joYpsRanl9guDubaW+1NbcpK0vJ3F/6Wpcanzcnqq+oaW9O5E98liwkEDPcb16BUTLIJ+ZF8GPIHYxJ/5Pw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/sha2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.3.0.tgz", - "integrity": "sha512-r5ftlwKcocYEuFz2JbeKOT5SAsCV4m1RJDsTOEfQ5L67ZC7NFDK5i7maPdn1bx4nPhylF9VAwxSrQ1esmwzylg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "hash.js": "1.1.7" - } - }, - "node_modules/nebula/node_modules/@ethersproject/signing-key": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.3.0.tgz", - "integrity": "sha512-+DX/GwHAd0ok1bgedV1cKO0zfK7P/9aEyNoaYiRsGHpCecN7mhLqcdoUiUzE7Uz86LBsxm5ssK0qA1kBB47fbQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/nebula/node_modules/@ethersproject/solidity": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.3.0.tgz", - "integrity": "sha512-uLRBaNUiISHbut94XKewJgQh6UmydWTBp71I7I21pkjVXfZO2dJ5EOo3jCnumJc01M4LOm79dlNNmF3oGIvweQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/strings": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.3.0.tgz", - "integrity": "sha512-j/AzIGZ503cvhuF2ldRSjB0BrKzpsBMtCieDtn4TYMMZMQ9zScJn9wLzTQl/bRNvJbBE6TOspK0r8/Ngae/f2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/transactions": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.3.0.tgz", - "integrity": "sha512-cdfK8VVyW2oEBCXhURG0WQ6AICL/r6Gmjh0e4Bvbv6MCn/GBd8FeBH3rtl7ho+AW50csMKeGv3m3K1HSHB2jMQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/rlp": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/units": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.3.0.tgz", - "integrity": "sha512-BkfccZGwfJ6Ob+AelpIrgAzuNhrN2VLp3AILnkqTOv+yBdsc83V4AYf25XC/u0rHnWl6f4POaietPwlMqP2vUg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/wallet": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.3.0.tgz", - "integrity": "sha512-boYBLydG6671p9QoG6EinNnNzbm7DNOjVT20eV8J6HQEq4aUaGiA2CytF2vK+2rOEWbzhZqoNDt6AlkE1LlsTg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/hdnode": "^5.3.0", - "@ethersproject/json-wallets": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/wordlists": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/web": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.3.0.tgz", - "integrity": "sha512-Ni6/DHnY6k/TD41LEkv0RQDx4jqWz5e/RZvrSecsxGYycF+MFy2z++T/yGc2peRunLOTIFwEksgEGGlbwfYmhQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/@ethersproject/wordlists": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.3.0.tgz", - "integrity": "sha512-JcwumCZcsUxgWpiFU/BRy6b4KlTRdOmYvOKZcAw/3sdF93/pZyPW5Od2hFkHS8oWp4xS06YQ+qHqQhdcxdHafQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "node_modules/nebula/node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" - }, - "node_modules/nebula/node_modules/any-signal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-1.2.0.tgz", - "integrity": "sha512-Cl08k4xItix3jvu4cxO/dt2rQ6iUAjO66pTyRMub+WL1VXeAyZydCpD8GqWTPKfdL28U0R0UucmQVsUsBnvCmQ==", - "dependencies": { - "abort-controller": "^3.0.0" - } - }, - "node_modules/nebula/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/nebula/node_modules/blob-to-it": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-0.0.2.tgz", - "integrity": "sha512-3/NRr0mUWQTkS71MYEC1teLbT5BTs7RZ6VMPXDV6qApjw3B4TAZspQuvDkYfHuD/XzL5p/RO91x5XRPeJvcCqg==", - "dependencies": { - "browser-readablestream-to-it": "^0.0.2" - } - }, - "node_modules/nebula/node_modules/browser-readablestream-to-it": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-0.0.2.tgz", - "integrity": "sha512-bbiTccngeAbPmpTUJcUyr6JhivADKV9xkNJVLdA91vjdzXyFBZ6fgrzElQsV3k1UNGQACRTl3p4y+cEGG9U48A==" - }, - "node_modules/nebula/node_modules/cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "dependencies": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/nebula/node_modules/cids/node_modules/multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "dependencies": { - "@multiformats/base-x": "^4.0.1" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/nebula/node_modules/cids/node_modules/multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "dependencies": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/nebula/node_modules/cids/node_modules/multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "dependencies": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/nebula/node_modules/cids/node_modules/multihashes/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/nebula/node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/nebula/node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/nebula/node_modules/eth-provider": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.7.0.tgz", - "integrity": "sha512-6YJfLNN5PcQKrnqN6BGpDP/+YKr8wf/AergP++aVqNBfVl1uH/0U3pCm5BzJ3UoAnY5FfgA5MPt/TQgU8q54kA==", - "dependencies": { - "ethereum-provider": "0.2.2", - "events": "3.3.0", - "oboe": "2.1.5", - "uuid": "8.3.2", - "ws": "7.5.0", - "xhr2-cookies": "1.1.0" - } - }, - "node_modules/nebula/node_modules/ethereum-provider": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.2.2.tgz", - "integrity": "sha512-147DaU4nccfYYCAKhrILdgSWTjjZX2NnmcZJx12frM+cNw8cGTbpQPpi4xApagIk7HlN16ZncCP5uyOiZN7n3g==", - "dependencies": { - "events": "3.2.0" - } - }, - "node_modules/nebula/node_modules/ethereum-provider/node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/nebula/node_modules/ethers": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.3.1.tgz", - "integrity": "sha512-xCKmC0gsZ9gks89ZfK3B1y6LlPdvX5fxDtu9SytnpdDJR1M7pmJI+4H0AxQPMgUYr7GtQdmECLR0gWdJQ+lZYw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.3.1", - "@ethersproject/abstract-provider": "5.3.0", - "@ethersproject/abstract-signer": "5.3.0", - "@ethersproject/address": "5.3.0", - "@ethersproject/base64": "5.3.0", - "@ethersproject/basex": "5.3.0", - "@ethersproject/bignumber": "5.3.0", - "@ethersproject/bytes": "5.3.0", - "@ethersproject/constants": "5.3.0", - "@ethersproject/contracts": "5.3.0", - "@ethersproject/hash": "5.3.0", - "@ethersproject/hdnode": "5.3.0", - "@ethersproject/json-wallets": "5.3.0", - "@ethersproject/keccak256": "5.3.0", - "@ethersproject/logger": "5.3.0", - "@ethersproject/networks": "5.3.1", - "@ethersproject/pbkdf2": "5.3.0", - "@ethersproject/properties": "5.3.0", - "@ethersproject/providers": "5.3.1", - "@ethersproject/random": "5.3.0", - "@ethersproject/rlp": "5.3.0", - "@ethersproject/sha2": "5.3.0", - "@ethersproject/signing-key": "5.3.0", - "@ethersproject/solidity": "5.3.0", - "@ethersproject/strings": "5.3.0", - "@ethersproject/transactions": "5.3.0", - "@ethersproject/units": "5.3.0", - "@ethersproject/wallet": "5.3.0", - "@ethersproject/web": "5.3.0", - "@ethersproject/wordlists": "5.3.0" - } - }, - "node_modules/nebula/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/nebula/node_modules/ipfs-core-utils": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.4.0.tgz", - "integrity": "sha512-IBPFvYjWPfVFpCeYUL/0gCUOabdBhh7aO5i4tU//UlF2gVCXPH4PRYlbBH9WM83zE2+o4vDi+dBXsdAI6nLPAg==", - "dependencies": { - "blob-to-it": "0.0.2", - "browser-readablestream-to-it": "0.0.2", - "cids": "^1.0.0", - "err-code": "^2.0.0", - "ipfs-utils": "^3.0.0", - "it-all": "^1.0.1", - "it-map": "^1.0.2", - "it-peekable": "0.0.1", - "uint8arrays": "^1.1.0" - } - }, - "node_modules/nebula/node_modules/ipfs-core-utils/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/nebula/node_modules/ipfs-http-client": { - "version": "47.0.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-47.0.1.tgz", - "integrity": "sha512-IAQf+uTLvXw5QFOzbyhu/5lH3rn7jEwwwdCGaNKVhoPI7yfyOV0wRse3hVWejjP1Id0P9mKuMKG8rhcY7pVAdQ==", - "dependencies": { - "abort-controller": "^3.0.0", - "any-signal": "^1.1.0", - "bignumber.js": "^9.0.0", - "cids": "^1.0.0", - "debug": "^4.1.0", - "form-data": "^3.0.0", - "ipfs-core-utils": "^0.4.0", - "ipfs-utils": "^3.0.0", - "ipld-block": "^0.10.0", - "ipld-dag-cbor": "^0.17.0", - "ipld-dag-pb": "^0.20.0", - "ipld-raw": "^6.0.0", - "iso-url": "^0.4.7", - "it-last": "^1.0.2", - "it-map": "^1.0.2", - "it-tar": "^1.2.2", - "it-to-buffer": "^1.0.0", - "it-to-stream": "^0.1.1", - "merge-options": "^2.0.0", - "multiaddr": "^8.0.0", - "multiaddr-to-uri": "^6.0.0", - "multibase": "^3.0.0", - "multicodec": "^2.0.0", - "multihashes": "^3.0.1", - "nanoid": "^3.0.2", - "node-fetch": "^2.6.0", - "parse-duration": "^0.4.4", - "stream-to-it": "^0.2.1", - "uint8arrays": "^1.1.0" - }, + "node_modules/nebula/node_modules/iso-url": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz", + "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==", "engines": { - "node": ">=10.3.0", - "npm": ">=3.0.0" - } - }, - "node_modules/nebula/node_modules/ipfs-http-client/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/nebula/node_modules/ipfs-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-3.0.0.tgz", - "integrity": "sha512-qahDc+fghrM57sbySr2TeWjaVR/RH/YEB/hvdAjiTbjESeD87qZawrXwj+19Q2LtGmFGusKNLo5wExeuI5ZfDQ==", - "dependencies": { - "abort-controller": "^3.0.0", - "any-signal": "^1.1.0", - "buffer": "^5.6.0", - "err-code": "^2.0.0", - "fs-extra": "^9.0.1", - "is-electron": "^2.2.0", - "iso-url": "^0.4.7", - "it-glob": "0.0.8", - "merge-options": "^2.0.0", - "nanoid": "^3.1.3", - "node-fetch": "^2.6.0", - "stream-to-it": "^0.2.0" - } - }, - "node_modules/nebula/node_modules/it-concat": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-concat/-/it-concat-1.0.3.tgz", - "integrity": "sha512-sjeZQ1BWQ9U/W2oI09kZgUyvSWzQahTkOkLIsnEPgyqZFaF9ME5gV6An4nMjlyhXKWQMKEakQU8oRHs2SdmeyA==", - "dependencies": { - "bl": "^4.0.0" + "node": ">=12" } }, "node_modules/nebula/node_modules/it-glob": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.8.tgz", - "integrity": "sha512-PmIAgb64aJPM6wwT1UTlNDAJnNgdGrvr0vRr3AYCngcUuq1KaAovuz0dQAmUkaXudDG3EQzc7OttuLW9DaL3YQ==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz", + "integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==", "dependencies": { - "fs-extra": "^8.1.0", + "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" } }, - "node_modules/nebula/node_modules/it-glob/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } + "node_modules/nebula/node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "node_modules/nebula/node_modules/it-glob/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/nebula/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/nebula/node_modules/it-glob/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/nebula/node_modules/it-peekable": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-0.0.1.tgz", - "integrity": "sha512-fd0JzbNldseeq+FFWthbqYB991UpKNyjPG6LqFhIOmJviCxSompMyoopKIXvLPLY+fBhhv2CT5PT31O/lEnTHw==" - }, - "node_modules/nebula/node_modules/it-reader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-2.1.0.tgz", - "integrity": "sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw==", - "dependencies": { - "bl": "^4.0.0" - } - }, - "node_modules/nebula/node_modules/it-tar": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/it-tar/-/it-tar-1.2.2.tgz", - "integrity": "sha512-M8V4a9I+x/vwXTjqvixcEZbQZHjwDIb8iUQ+D4M2QbhAdNs3WKVSl+45u5/F2XFx6jYMFOGzMVlKNK/uONgNIA==", - "dependencies": { - "bl": "^4.0.0", - "buffer": "^5.4.3", - "iso-constants": "^0.1.2", - "it-concat": "^1.0.0", - "it-reader": "^2.0.0", - "p-defer": "^3.0.0" - } - }, - "node_modules/nebula/node_modules/it-to-buffer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-1.0.5.tgz", - "integrity": "sha512-dczvg0VeXkfr2i2IQ3GGWEATBbk4Uggr+YnvBz76/Yp0zFJZTIOeDCz2KyFDxSDHNI62OlldbJXWmDPb5nFQeg==", - "dependencies": { - "buffer": "^5.5.0" - } - }, - "node_modules/nebula/node_modules/it-to-stream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.2.tgz", - "integrity": "sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==", - "dependencies": { - "buffer": "^5.6.0", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "node_modules/nebula/node_modules/merge-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-2.0.0.tgz", - "integrity": "sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==", - "dependencies": { - "is-plain-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nebula/node_modules/multiaddr": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz", - "integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==", - "dependencies": { - "cids": "^1.0.0", - "class-is": "^1.1.0", - "dns-over-http-resolver": "^1.0.0", - "err-code": "^2.0.3", - "is-ip": "^3.1.0", - "multibase": "^3.0.0", - "uint8arrays": "^1.1.0", - "varint": "^5.0.0" - } - }, - "node_modules/nebula/node_modules/multiaddr-to-uri": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz", - "integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==", - "dependencies": { - "multiaddr": "^8.0.0" - } - }, - "node_modules/nebula/node_modules/multiaddr/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/nebula/node_modules/multiaddr/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/nebula/node_modules/multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/nebula/node_modules/multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "dependencies": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - } - }, - "node_modules/nebula/node_modules/multicodec/node_modules/uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "dependencies": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "node_modules/nebula/node_modules/multihashes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.2.tgz", - "integrity": "sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ==", - "dependencies": { - "multibase": "^3.1.0", - "uint8arrays": "^2.0.5", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/nebula/node_modules/multihashes/node_modules/uint8arrays": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", - "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/nebula/node_modules/parse-duration": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.4.4.tgz", - "integrity": "sha512-KbAJuYGUhZkB9gotDiKLnZ7Z3VTacK3fgwmDdB6ZVDtJbMBT6MfLga0WJaYpPDu0mzqT0NgHtHDt5PY4l0nidg==" - }, - "node_modules/nebula/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/nebula/node_modules/node-fetch": { + "name": "@achingbrain/node-fetch", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", + "license": "MIT", "engines": { - "node": ">= 6" + "node": "4.x || >=6.0.0" } }, "node_modules/nebula/node_modules/rimraf": { @@ -36189,10 +34147,9 @@ } }, "node_modules/nebula/node_modules/solc": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.1.tgz", - "integrity": "sha512-rqB8wlL20I/k+ibCgNGqXaoXBngKTUb3JCsCazwEvxJ9C9RcXNGRsiqgB1xZs37IjINMp0E3xGiuMjGYTBQnUg==", - "deprecated": "Package actually contains version 0.8.0.", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.6.tgz", + "integrity": "sha512-miiDaWdaUnD7A6Cktb/2ug9f+ajcOCDYRr7vgbPEsMoutSlBtp5rca57oMg8iHSuM7jilwdxePujWI/+rbNftQ==", "dependencies": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -36211,51 +34168,6 @@ "node": ">=8.0.0" } }, - "node_modules/nebula/node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/nebula/node_modules/solc/node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/nebula/node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/nebula/node_modules/ws": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", - "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -36284,9 +34196,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", - "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", "dependencies": { "semver": "^5.4.1" } @@ -36333,9 +34245,9 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", "engines": { "node": "4.x || >=6.0.0" } @@ -36349,9 +34261,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -36450,32 +34362,27 @@ } }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", + "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==" }, "node_modules/node-watch": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.1.tgz", - "integrity": "sha512-UWblPYuZYrkCQCW5PxAwYSxaELNBLUckrTBBk8xr1/bUgyOkYYTsUcV4e3ytcazFEOyiRyiUrsG37pu6I0I05g==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.2.tgz", + "integrity": "sha512-g53VjSARRv1JdST0LZRIg8RiuLr1TaBbVPsVvxh0/0Ymvi0xYUjDuoqQQAWtHJQUXhiShowPT/aXKNeHBcyQsw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "engines": { - "node": ">=8" + "node": ">=12.19" } }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" - }, "node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -36569,9 +34476,9 @@ } }, "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dependencies": { "boolbase": "^1.0.0" }, @@ -36705,29 +34612,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -36737,14 +34643,14 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.8" @@ -36753,6 +34659,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -36766,14 +34685,14 @@ } }, "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -37029,18 +34948,6 @@ "node": ">=8" } }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-fifo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", @@ -37208,20 +35115,6 @@ "node": ">=10" } }, - "node_modules/p-times": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-times/-/p-times-3.0.0.tgz", - "integrity": "sha512-/Z7mcs8Liie8E7IHI9SBtmkHVW/GjLroQ94ALoAMIG20mqFMuh56/3WYhtOTqX9ccRSOxgaCkFC94Bat1Ofskg==", - "dependencies": { - "p-map": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -37911,9 +35804,9 @@ } }, "node_modules/parse-duration": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.0.tgz", - "integrity": "sha512-X4kUkCTHU1N/kEbwK9FpUJ0UZQa90VzeczfS704frR30gljxDG0pSziws06XlK+CGRSo/1wtG1mFIdBFQTMQNw==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", + "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==" }, "node_modules/parse-headers": { "version": "2.0.4", @@ -38275,6 +36168,11 @@ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", "dev": true }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -38629,14 +36527,13 @@ } }, "node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" @@ -39259,6 +37156,12 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, "node_modules/postcss/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -39268,18 +37171,6 @@ "node": ">=0.10.0" } }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/posthtml": { "version": "0.11.6", "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", @@ -39460,9 +37351,9 @@ } }, "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true, "peer": true, "bin": { @@ -39473,13 +37364,13 @@ } }, "node_modules/pretty-format": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz", - "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.5.tgz", + "integrity": "sha512-+nYn2z9GgicO9JiqmY25Xtq8SYfZ/5VCpEU3pppHHNAhd1y+ZXxmNPd1evmNcAd6Hz4iBV2kf0UpGth5A/VJ7g==", "dev": true, "dependencies": { - "@jest/types": "^27.1.0", - "ansi-regex": "^5.0.0", + "@jest/types": "^27.2.5", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" }, @@ -39519,11 +37410,13 @@ } }, "node_modules/private-ip": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.2.1.tgz", - "integrity": "sha512-jN1WT/br/VNW9xEcwHr6DjtOKxQ5qOIqmh7o+co2TWgq56pZJw99iO3UT1tWdfgsQiyK9FqG4ji3ykwpjFqITA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.3.0.tgz", + "integrity": "sha512-3lTFzg+Z1Q2VNQChw8AW2c5LM7getyUJ67SqeWtvnkUO4gihjbf5oIEK4+jAQ4v1sCqOVV7r+GzKrgowW/W3tw==", "dependencies": { "ip-regex": "^4.3.0", + "ipaddr.js": "^2.0.1", + "is-ip": "^3.1.0", "netmask": "^2.0.2" } }, @@ -39548,17 +37441,6 @@ "node": ">=0.4.0" } }, - "node_modules/prom-client": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-13.2.0.tgz", - "integrity": "sha512-wGr5mlNNdRNzEhRYXgboUU2LxHWIojxscJKmtG3R8f4/KiWqyYgXTLHs0+Ted7tG3zFT7pgHJbtomzZ1L0ARaQ==", - "dependencies": { - "tdigest": "^0.1.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/promise-timeout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/promise-timeout/-/promise-timeout-1.3.0.tgz", @@ -39577,9 +37459,9 @@ } }, "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { "kleur": "^3.0.3", @@ -39653,27 +37535,6 @@ "pbts": "bin/pbts" } }, - "node_modules/protocol-buffers-schema": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.2.tgz", - "integrity": "sha512-LPzSaBYp/TcbuSlpGwqT5jR9kvJ3Zp5ic2N5c2ybx6XB/lSfEHq2D7ja8AgoxHoMD91wXFALJoXsvshKPuXyew==" - }, - "node_modules/protons": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/protons/-/protons-2.0.3.tgz", - "integrity": "sha512-j6JikP/H7gNybNinZhAHMN07Vjr1i4lVupg598l4I9gSTjJqOvKnwjzYX2PzvBTSVf2eZ2nWv4vG+mtW8L6tpA==", - "dependencies": { - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/protons/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -39686,6 +37547,14 @@ "node": ">= 0.10" } }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -39886,6 +37755,11 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==" + }, "node_modules/quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -39947,9 +37821,9 @@ } }, "node_modules/radspec": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/radspec/-/radspec-1.11.0.tgz", - "integrity": "sha512-/77PHRjNaaFUyxCqz7bxyRswc4OhF3H3u6OTde7aHsYl/5s+7Cgi24Ia/hx6l/5fuNps57vgiMSbY6mceA+ovA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/radspec/-/radspec-1.12.0.tgz", + "integrity": "sha512-saDAxoy3bxYJvmg2pMupg5FbvW4F0C5QzNMPnkW4Z6B6iHd/1xjeRfzdmZ6WU4OVGbSldR21QjTQjpNEZ3Uo8Q==", "dependencies": { "@babel/runtime": "^7.1.2", "bn.js": "^4.11.8", @@ -40241,12 +38115,12 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "dependencies": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" @@ -40332,17 +38206,17 @@ } }, "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" @@ -40379,9 +38253,9 @@ "dev": true }, "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -40603,14 +38477,6 @@ "dev": true, "peer": true }, - "node_modules/reset": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/reset/-/reset-0.1.0.tgz", - "integrity": "sha1-n8cxQXGZWubLC35YsGznUir0uvs=", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -40766,11 +38632,11 @@ } }, "node_modules/rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "dependencies": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" }, "bin": { "rlp": "bin/rlp" @@ -40787,6 +38653,11 @@ "rlp": "bin/rlp" } }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, "node_modules/roarr": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", @@ -40805,18 +38676,26 @@ "node": ">=8.0" } }, - "node_modules/run": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/run/-/run-1.4.0.tgz", - "integrity": "sha1-4X2ekEOrL+F3dsspnhI3848LT/o=", + "node_modules/run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "minimatch": "*" - }, - "bin": { - "runjs": "cli.js" - }, - "engines": { - "node": ">=v0.9.0" + "queue-microtask": "^1.2.2" } }, "node_modules/rustbn.js": { @@ -41334,22 +39213,9 @@ "dev": true }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/signed-varint/node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -41584,54 +39450,41 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/socket.io": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz", - "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~5.2.0", - "socket.io-adapter": "~2.3.2", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" + "node_modules/snapdragon/node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/socket.io-adapter": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", - "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==" - }, "node_modules/socket.io-client": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz", - "integrity": "sha512-3GJ2KMh7inJUNAOjgf8NaKJZJa9uRyfryh2LrVJyKyxmzoXlfW9DeDNqylJn0ovOFt4e/kRLNWzMt/YqqEWYSA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.0.tgz", + "integrity": "sha512-Cg3N7UWGTT2kYFZ1yShbGyrYDcqiMMv53cLNvOvweGJojwZ3N7x4fB+fyfNaq64tRUjV0Qljyj7nMV8+myBgqg==", "dependencies": { - "@types/component-emitter": "^1.2.10", + "@socket.io/component-emitter": "~3.0.0", "backo2": "~1.0.2", - "component-emitter": "~1.3.0", "debug": "~4.3.2", - "engine.io-client": "~5.2.0", + "engine.io-client": "~6.0.1", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" + "socket.io-parser": "~4.1.1" }, "engines": { "node": ">=10.0.0" } }, "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", + "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1" }, "engines": { @@ -41745,22 +39598,19 @@ } }, "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", "dev": true, "dependencies": { "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "decode-uri-component": "^0.2.0" } }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -41914,12 +39764,13 @@ "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true }, "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -41959,9 +39810,9 @@ } }, "node_modules/standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", - "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.4.tgz", + "integrity": "sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ==", "dev": true, "funding": [ { @@ -41978,20 +39829,20 @@ } ], "dependencies": { - "eslint": "~7.13.0", - "eslint-config-standard": "16.0.2", + "eslint": "~7.18.0", + "eslint-config-standard": "16.0.3", "eslint-config-standard-jsx": "10.0.0", - "eslint-plugin-import": "~2.22.1", + "eslint-plugin-import": "~2.24.2", "eslint-plugin-node": "~11.1.0", - "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.21.5", + "eslint-plugin-promise": "~5.1.0", + "eslint-plugin-react": "~7.25.1", "standard-engine": "^14.0.1" }, "bin": { "standard": "bin/cmd.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10.12.0" } }, "node_modules/standard-engine": { @@ -42023,369 +39874,6 @@ "node": ">=8.10" } }, - "node_modules/standard/node_modules/@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/standard/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/standard/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/standard/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/standard/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/standard/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/standard/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/standard/node_modules/eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/standard/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/standard/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/standard/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/standard/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/standard/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/standard/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard/node_modules/slice-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/standard/node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/standard/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/standard/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/standard/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/standardx": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/standardx/-/standardx-7.0.0.tgz", @@ -42453,6 +39941,15 @@ "source-map": "~0.6.1" } }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/static-eval/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -42584,6 +40081,15 @@ "node": ">=4" } }, + "node_modules/static-module/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/static-module/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -42787,14 +40293,14 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -42830,11 +40336,11 @@ } }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -42946,12 +40452,12 @@ } }, "node_modules/stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz", + "integrity": "sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==", "dev": true, "dependencies": { - "css-parse": "~2.0.0", + "css": "^3.0.0", "debug": "~3.1.0", "glob": "^7.1.6", "mkdirp": "~1.0.4", @@ -43125,6 +40631,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dev": true, "dependencies": { "chalk": "^2.4.1", @@ -43388,17 +40895,16 @@ "dev": true }, "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "peer": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "dependencies": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=10.0.0" @@ -43408,7 +40914,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -43419,20 +40924,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/table/node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/table/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -43443,20 +40938,12 @@ "node_modules/table/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "peer": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "peer": true, "engines": { "node": ">=8" } @@ -43465,7 +40952,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -43479,14 +40965,13 @@ } }, "node_modules/table/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "peer": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -43577,14 +41062,6 @@ } ] }, - "node_modules/tdigest": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", - "integrity": "sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=", - "dependencies": { - "bintrees": "1.0.1" - } - }, "node_modules/temp-file": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", @@ -43818,9 +41295,9 @@ } }, "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "node_modules/to-arraybuffer": { @@ -44045,9 +41522,9 @@ } }, "node_modules/trezor-connect": { - "version": "8.1.29", - "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-8.1.29.tgz", - "integrity": "sha512-SYIT2C3mqNxTsDTglqgz6FyhgXbBFBo0q5WH9ABkyLUarjPNNt2PrmmgF5nT78RE5GwX5QvHoGl9Efis6+4e5Q==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-8.2.1.tgz", + "integrity": "sha512-YqGgB6E440j8DHaIJCZumtjg5LdUgQyow2pzQRAIVFchhbTOgU3FnWGO3vEeRn9UQuY3pj8xVo0A0GKEtHAW8g==", "dependencies": { "@babel/runtime": "^7.12.5", "events": "^3.2.0", @@ -44195,16 +41672,16 @@ } }, "node_modules/ts-jest": { - "version": "27.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", - "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.6.tgz", + "integrity": "sha512-XWkEBbrkyUWJdK9FwiCVdBZ7ZmT7sxcKtyVEZNmo7u8eQw6NHmtYEM2WpkX9VfnRI0DjSr6INfEHC9vCFhsFnQ==", "dev": true, "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", "jest-util": "^27.0.0", "json5": "2.x", - "lodash": "4.x", + "lodash.memoize": "4.x", "make-error": "1.x", "semver": "7.x", "yargs-parser": "20.x" @@ -44458,10 +41935,11 @@ } }, "node_modules/typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -44630,6 +42108,15 @@ "source-map": "~0.6.1" } }, + "node_modules/uncss/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/uncss/node_modules/html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -44852,40 +42339,40 @@ "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, "engines": { "node": ">=4" @@ -45217,51 +42704,22 @@ } }, "node_modules/usb": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/usb/-/usb-1.7.2.tgz", - "integrity": "sha512-SfVSItgsD9+YfEpcK1UZ8tQ7e8GdxQ0xoQtB773omNBKTVj3IuFJNKjwSnpE58FGcV4tUoKLHmBMc018RUY5SA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/usb/-/usb-1.8.0.tgz", + "integrity": "sha512-lA0q2tjDEAq1YUsW6nQ+asw92TtFrQ8rhMd11jAoFhK3xItZUupJ7npZDSmVOpQqQhhdFmX/YciqyywupA/wOQ==", "hasInstallScript": true, "dependencies": { - "bindings": "^1.4.0", - "node-addon-api": "3.0.2", - "prebuild-install": "^5.3.3" + "node-addon-api": "^4.2.0", + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">=10" + "node": ">=10.16.0" } }, "node_modules/usb/node_modules/node-addon-api": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", - "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==" - }, - "node_modules/usb/node_modules/prebuild-install": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", - "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==", - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.2.0.tgz", + "integrity": "sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q==" }, "node_modules/use": { "version": "3.1.1", @@ -45273,12 +42731,15 @@ } }, "node_modules/utf-8-validate": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz", - "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "hasInstallScript": true, "dependencies": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, "node_modules/utf8": { @@ -45349,9 +42810,9 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "node_modules/v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -45445,6 +42906,11 @@ "extsprintf": "^1.2.0" } }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, "node_modules/vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", @@ -45727,9 +43193,9 @@ } }, "node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-core/node_modules/bn.js": { "version": "4.11.8", @@ -45765,22 +43231,22 @@ } }, "node_modules/web3-eth": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.2.tgz", - "integrity": "sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg==", - "dependencies": { - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-eth-accounts": "1.5.2", - "web3-eth-contract": "1.5.2", - "web3-eth-ens": "1.5.2", - "web3-eth-iban": "1.5.2", - "web3-eth-personal": "1.5.2", - "web3-net": "1.5.2", - "web3-utils": "1.5.2" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.6.0.tgz", + "integrity": "sha512-qJMvai//r0be6I9ghU24/152f0zgJfYC23TMszN3Y6jse1JtjCBP2TlTibFcvkUN1RRdIUY5giqO7ZqAYAmp7w==", + "dependencies": { + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-eth-accounts": "1.6.0", + "web3-eth-contract": "1.6.0", + "web3-eth-ens": "1.6.0", + "web3-eth-iban": "1.6.0", + "web3-eth-personal": "1.6.0", + "web3-net": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" @@ -45915,9 +43381,9 @@ } }, "node_modules/web3-eth-accounts": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz", - "integrity": "sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.6.0.tgz", + "integrity": "sha512-2f6HS4KIH4laAsNCOfbNX3dRiQosqSY2TRK86C8jtAA/QKGdx+5qlPfYzbI2RjG81iayb2+mVbHIaEaBGZ8sGw==", "dependencies": { "@ethereumjs/common": "^2.3.0", "@ethereumjs/tx": "^3.2.1", @@ -45926,10 +43392,10 @@ "ethereumjs-util": "^7.0.10", "scrypt-js": "^3.0.1", "uuid": "3.3.2", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" @@ -45944,9 +43410,9 @@ } }, "node_modules/web3-eth-accounts/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-eth-accounts/node_modules/eth-lib": { "version": "0.2.8", @@ -45986,54 +43452,54 @@ } }, "node_modules/web3-eth-accounts/node_modules/web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "dependencies": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "dependencies": { "eventemitter3": "4.0.4" }, @@ -46042,50 +43508,50 @@ } }, "node_modules/web3-eth-accounts/node_modules/web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "dependencies": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "dependencies": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "dependencies": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" }, "engines": { @@ -46093,24 +43559,24 @@ } }, "node_modules/web3-eth-accounts/node_modules/web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts/node_modules/web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" }, "engines": { @@ -46118,18 +43584,18 @@ } }, "node_modules/web3-eth-contract": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz", - "integrity": "sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.6.0.tgz", + "integrity": "sha512-ZUtO77zFnxuFtrc+D+iJ3AzNgFXAVcKnhEYN7f1PNz/mFjbtE6dJ+ujO0mvMbxIZF02t9IZv0CIXRpK0rDvZAw==", "dependencies": { "@types/bn.js": "^4.11.5", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" @@ -46160,9 +43626,9 @@ } }, "node_modules/web3-eth-contract/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-eth-contract/node_modules/eventemitter3": { "version": "4.0.4", @@ -46183,54 +43649,54 @@ } }, "node_modules/web3-eth-contract/node_modules/web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "dependencies": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "dependencies": { "eventemitter3": "4.0.4" }, @@ -46239,62 +43705,62 @@ } }, "node_modules/web3-eth-contract/node_modules/web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "dependencies": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "dependencies": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "dependencies": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "dependencies": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" }, "engines": { @@ -46302,24 +43768,24 @@ } }, "node_modules/web3-eth-contract/node_modules/web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-contract/node_modules/web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" }, "engines": { @@ -46327,18 +43793,18 @@ } }, "node_modules/web3-eth-ens": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz", - "integrity": "sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.6.0.tgz", + "integrity": "sha512-AG24PNv9qbYHSpjHcU2pViOII0jvIR7TeojJ2bxXSDqfcgHuRp3NZGKv6xFvT4uNI4LEQHUhSC7bzHoNF5t8CA==", "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-eth-contract": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-eth-contract": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" @@ -46369,9 +43835,9 @@ } }, "node_modules/web3-eth-ens/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-eth-ens/node_modules/eventemitter3": { "version": "4.0.4", @@ -46392,54 +43858,54 @@ } }, "node_modules/web3-eth-ens/node_modules/web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "dependencies": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "dependencies": { "eventemitter3": "4.0.4" }, @@ -46448,62 +43914,62 @@ } }, "node_modules/web3-eth-ens/node_modules/web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "dependencies": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "dependencies": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "dependencies": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "dependencies": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" }, "engines": { @@ -46511,24 +43977,24 @@ } }, "node_modules/web3-eth-ens/node_modules/web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens/node_modules/web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" }, "engines": { @@ -46597,9 +44063,9 @@ } }, "node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-eth-personal/node_modules/bn.js": { "version": "4.11.8", @@ -46659,9 +44125,9 @@ } }, "node_modules/web3-eth/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3-eth/node_modules/eventemitter3": { "version": "4.0.4", @@ -46682,54 +44148,54 @@ } }, "node_modules/web3-eth/node_modules/web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "dependencies": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "dependencies": { "eventemitter3": "4.0.4" }, @@ -46738,91 +44204,91 @@ } }, "node_modules/web3-eth/node_modules/web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "dependencies": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "dependencies": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "dependencies": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-eth-personal": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", - "integrity": "sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.6.0.tgz", + "integrity": "sha512-8ohf4qAwbShf4RwES2tLHVqa+pHZnS5Q6tV80sU//bivmlZeyO1W4UWyNn59vu9KPpEYvLseOOC6Muxuvr8mFQ==", "dependencies": { "@types/node": "^12.12.6", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-net": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-net": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-net": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.2.tgz", - "integrity": "sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.6.0.tgz", + "integrity": "sha512-LFfG95ovTT2sNHkO1TEfsaKpYcxOSUtbuwHQ0K3G0e5nevKDJkPEFIqIcob40yiwcWoqEjENJP9Bjk8CRrZ99Q==", "dependencies": { - "web3-core": "1.5.2", - "web3-core-method": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-method": "1.6.0", + "web3-utils": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "dependencies": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" }, "engines": { @@ -46830,24 +44296,24 @@ } }, "node_modules/web3-eth/node_modules/web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth/node_modules/web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" }, "engines": { @@ -46961,13 +44427,13 @@ } }, "node_modules/web3-utils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", - "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.6.0.tgz", + "integrity": "sha512-bgCAWAeQnJF035YTFxrcHJ5mGEfTi/McsjqldZiXRwlHK7L1PyOqvXiQLE053dlzvy1kdAxWl/sSSfLMyNUAXg==", "dependencies": { "bn.js": "^4.11.9", - "eth-lib": "0.2.8", "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", @@ -46977,16 +44443,6 @@ "node": ">=8.0.0" } }, - "node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, "node_modules/web3/node_modules/@types/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", @@ -46996,9 +44452,9 @@ } }, "node_modules/web3/node_modules/@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "node_modules/web3/node_modules/bn.js": { "version": "4.11.8", @@ -47015,6 +44471,43 @@ "xhr-request-promise": "^0.1.2" } }, + "node_modules/web3/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/web3/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/web3/node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, "node_modules/web3/node_modules/uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -47262,22 +44755,17 @@ "dev": true, "peer": true }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" - }, "node_modules/which-typed-array": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.6.tgz", - "integrity": "sha512-DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "dependencies": { - "available-typed-arrays": "^1.0.4", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-abstract": "^1.18.5", "foreach": "^2.0.5", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.6" + "is-typed-array": "^1.1.7" }, "engines": { "node": ">= 0.4" @@ -47306,12 +44794,6 @@ "node": ">=8" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/widest-line/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -47322,14 +44804,14 @@ } }, "node_modules/widest-line/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -47411,12 +44893,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -47427,14 +44903,14 @@ } }, "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -47445,18 +44921,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -47470,9 +44934,9 @@ } }, "node_modules/ws": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.1.tgz", - "integrity": "sha512-XkgWpJU3sHU7gX8f13NqTn6KQ85bd1WU7noBHTT8fSohx7OS1TPY8k+cyRPCzFkia7C4mM229yeHr1qK9sM4JQ==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", "engines": { "node": ">=10.0.0" }, @@ -47628,11 +45092,6 @@ "node": ">=0.4.0" } }, - "node_modules/xor-distance": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xor-distance/-/xor-distance-2.0.0.tgz", - "integrity": "sha512-AsAqZfPAuWx7qB/0kyRDUEvoU3QKsHWzHU9smFlkaiprEpGfJ/NBbLze2Uq0rdkxCxkNM9uOLvz/KoNBCbZiLQ==" - }, "node_modules/xsalsa20": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", @@ -47669,9 +45128,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "dependencies": { "cliui": "^7.0.2", @@ -47736,6 +45195,12 @@ "wrap-ansi": "^5.1.0" } }, + "node_modules/yargs-unparser/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "node_modules/yargs-unparser/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -47883,12 +45348,6 @@ "decamelize": "^1.2.0" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -47899,14 +45358,14 @@ } }, "node_modules/yargs/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -47935,17 +45394,6 @@ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zxcvbn": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz", @@ -47982,17 +45430,17 @@ } }, "@aragon/truffle-config-v4": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@aragon/truffle-config-v4/-/truffle-config-v4-1.1.1.tgz", - "integrity": "sha512-R6clPUtXS5J8J2lqavQlYkOshIeVa9gDhLqBH+WZG05Mh/wEyXTLTYTEgK0GbEr7S239fqil8CJTj202JeN3YQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@aragon/truffle-config-v4/-/truffle-config-v4-1.2.0.tgz", + "integrity": "sha512-eXxUpHr9D/VYLVsHzaPL4FTz4bCESGvnnHqsP2BB74B4ZlopoIVwdur9flxHIxw4ROoh6xGyrEnScw4zVD2ifw==", "requires": { "@truffle/hdwallet-provider": "^1.0.0" } }, "@aragon/wrapper": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aragon/wrapper/-/wrapper-5.2.0.tgz", - "integrity": "sha512-iJjQQmMCxLMW/vIFhmfE9urZATpE3D3xhA4YTnBCwUIhd+xC6k8FR+/h5Lyi1iAwDHviXHS+QOWaRX7ifmWBaw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@aragon/wrapper/-/wrapper-5.5.0.tgz", + "integrity": "sha512-B9JnuA8N2YqUaxc4VTi3KqZEb9tdmB4/UQmRQKw1xSWHG+PoV0tpTOcNyz2csAd2HhYyIW5Sl/ZWVcQVtmQkwA==", "requires": { "@aragon/os": "^4.2.1", "@aragon/rpc-messenger": "^2.0.0", @@ -48003,7 +45451,7 @@ "ethjs-ens": "^2.0.1", "localforage": "^1.7.3", "localforage-memoryStorageDriver": "^0.9.2", - "radspec": "^1.8.0", + "radspec": "^1.12.0", "rxjs": "^6.5.2", "web3": "1.2.6", "web3-eth-abi": "1.2.6", @@ -48077,9 +45525,9 @@ "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==" }, "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", "requires": { "@babel/highlight": "^7.14.5" } @@ -48090,19 +45538,19 @@ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" }, "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "requires": { + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -48119,48 +45567,48 @@ } }, "@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", "requires": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.15.6", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-react-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.14.5.tgz", - "integrity": "sha512-LT/856RUBXAHjmvJuLuI6XYZZAZNMSS+N2Yf5EUoHgSWtiWrAaGh7t5saP7sPCq07uvWVxxK3gwwm3weA9gKLg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.15.4.tgz", + "integrity": "sha512-bT7jt6ozDCBuUUtmqxZJ6nImqJ2zdXjGehvyBSeeGO+eE4vBwsxTFM7aDp6UgUkxaQNaaYXcEJcDIdZOy2u8nA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", "requires": { "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", @@ -48176,17 +45624,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", - "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" } }, "@babel/helper-create-regexp-features-plugin": { @@ -48222,77 +45670,77 @@ } }, "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "requires": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-plugin-utils": { @@ -48301,56 +45749,56 @@ "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", "requires": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.15.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/helper-validator-option": { "version": "7.14.5", @@ -48358,25 +45806,25 @@ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" }, "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { @@ -48390,12 +45838,12 @@ } }, "@babel/node": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.14.9.tgz", - "integrity": "sha512-7QJvGn3ID2TjoFst3UdLu3LOxn/Q6Nhr/mo0MENstbPHehl/0wnod2gmVDB+zDxRL6pFFS7z0WeBK3b94k4CLg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.15.8.tgz", + "integrity": "sha512-JbgTCrnx6IUECznEbQ7e2rbVYtrXKixSbEG2bxxbMkV648WdUf3tdc+ZUW2++dvnnAswcpwc76cRwf0xEQqsrw==", "dev": true, "requires": { - "@babel/register": "^7.14.5", + "@babel/register": "^7.15.3", "commander": "^4.0.1", "core-js": "^3.16.0", "node-environment-flags": "^1.0.5", @@ -48404,29 +45852,29 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==" + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", - "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -48441,23 +45889,23 @@ } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.5.tgz", - "integrity": "sha512-LYz5nvQcvYeRVjui1Ykn28i+3aUiXwQ/3MGoEy0InTaz1pJo/lAzmIDXX+BQny/oufgHzJ6vnEEiXQ8KZjEVFg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.8.tgz", + "integrity": "sha512-5n8+xGK7YDrXF+WAORg3P7LlCCdiaAyKLZi22eP2BwTy4kJ0kFUMMDCj4nQ8YrKyNZgjhU/9eRVqONnjB3us8g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-decorators": "^7.14.5" } @@ -48564,16 +46012,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.15.4" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -48618,13 +46066,13 @@ } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } @@ -48922,17 +46370,17 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", - "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" } }, @@ -48994,9 +46442,9 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -49042,27 +46490,27 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" } }, @@ -49105,9 +46553,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -49182,14 +46630,14 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", - "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", + "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", "requires": { - "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-module-imports": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "semver": "^6.3.0" }, @@ -49211,13 +46659,13 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" } }, "@babel/plugin-transform-sticky-regex": { @@ -49248,12 +46696,12 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz", - "integrity": "sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.8.tgz", + "integrity": "sha512-ZXIkJpbaf6/EsmjeTbiJN/yMxWPFWvlr7sEG1P95Xb4S4IBcrf2n7s/fItIhsAmOf8oSh3VJPDppO6ExfAfKRQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.0", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-typescript": "^7.14.5" } @@ -49278,30 +46726,30 @@ } }, "@babel/preset-env": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", - "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "requires": { "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", "@babel/plugin-proposal-dynamic-import": "^7.14.5", "@babel/plugin-proposal-export-namespace-from": "^7.14.5", "@babel/plugin-proposal-json-strings": "^7.14.5", "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -49320,39 +46768,39 @@ "@babel/plugin-transform-arrow-functions": "^7.14.5", "@babel/plugin-transform-async-to-generator": "^7.14.5", "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", "@babel/plugin-transform-computed-properties": "^7.14.5", "@babel/plugin-transform-destructuring": "^7.14.7", "@babel/plugin-transform-dotall-regex": "^7.14.5", "@babel/plugin-transform-duplicate-keys": "^7.14.5", "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", "@babel/plugin-transform-function-name": "^7.14.5", "@babel/plugin-transform-literals": "^7.14.5", "@babel/plugin-transform-member-expression-literals": "^7.14.5", "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.0", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", "@babel/plugin-transform-modules-umd": "^7.14.5", "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", "@babel/plugin-transform-new-target": "^7.14.5", "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", "@babel/plugin-transform-property-literals": "^7.14.5", "@babel/plugin-transform-regenerator": "^7.14.5", "@babel/plugin-transform-reserved-words": "^7.14.5", "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-spread": "^7.15.8", "@babel/plugin-transform-sticky-regex": "^7.14.5", "@babel/plugin-transform-template-literals": "^7.14.5", "@babel/plugin-transform-typeof-symbol": "^7.14.5", "@babel/plugin-transform-unicode-escapes": "^7.14.5", "@babel/plugin-transform-unicode-regex": "^7.14.5", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.0", + "@babel/types": "^7.15.6", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "core-js-compat": "^3.16.0", "semver": "^6.3.0" @@ -49418,43 +46866,43 @@ } }, "@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", "requires": { "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", "requires": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "requires": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" @@ -49467,23 +46915,23 @@ "dev": true }, "@chainsafe/libp2p-noise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.0.tgz", - "integrity": "sha512-Gky4Q83WpVyjccblKWTQNdi7IH6O55d6ykQyumvxjMKz3bwX222jAYZWpeEjuxleLUKPzFMJoS3c1W91Fqrwaw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.1.tgz", + "integrity": "sha512-/Fz86sZmnvRSf7FHxMPifzakxx9xK4KVYx6yi35KPZughop9ivJslUSCLhx/UqDHiuj3h9i04pVXET6nIjSJyQ==", "requires": { "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", "@stablelib/sha256": "^1.0.1", "@stablelib/x25519": "^1.0.1", "debug": "^4.3.1", - "it-buffer": "^0.1.1", - "it-length-prefixed": "^5.0.2", + "it-buffer": "^0.1.3", + "it-length-prefixed": "^5.0.3", "it-pair": "^1.0.0", - "it-pb-rpc": "^0.1.9", + "it-pb-rpc": "^0.1.11", "it-pipe": "^1.1.0", - "libp2p-crypto": "^0.19.0", - "peer-id": "^0.15.0", - "protobufjs": "^6.10.1", + "libp2p-crypto": "^0.19.7", + "peer-id": "^0.15.3", + "protobufjs": "^6.11.2", "uint8arrays": "^3.0.0" } }, @@ -49603,15 +47051,17 @@ } }, "@ensdomains/address-encoder": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.2.5.tgz", - "integrity": "sha512-eG3wPf4UjB6Hi89HTQIET5VsngNwa0EWW99u1iAyz+DQqQGa5EKezWfFA3v9y239StH1rqRVtpPPPIIXYhKYhw==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.2.8.tgz", + "integrity": "sha512-dkpjaVL5gBmPZexDIqQTgUrmHp+/slm4hB03Rck2vbpOJLli0fWEYvvvVnWd6btepkVn6tVW8jGsrwUQBzSdyA==", "requires": { "bech32": "^1.1.3", "blakejs": "^1.1.0", "bn.js": "^4.11.8", "bs58": "^4.0.1", "crypto-addr-codec": "^0.1.7", + "js-crc": "^0.2.0", + "js-sha256": "^0.9.0", "js-sha512": "^0.8.0", "nano-base32": "^1.0.1", "ripemd160": "^2.0.2", @@ -49619,20 +47069,20 @@ } }, "@ensdomains/content-hash": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.6.tgz", - "integrity": "sha512-DQy7C7KqOcKnZVE18fQSwRC3z5s2DuKt9IBCT1Pd8g3E7ibMu3+jGXjdOCOSQ43FOiMn8+jO020sVci5kwJrPg==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.7.tgz", + "integrity": "sha512-WNdGKCeubMIAfyPYTMlKeX6cgXKIEo42OcWPOLBiclzJwMibkVqpaGgWKVH9dniJq7bLXLa2tQ0k/F1pt6gUxA==", "requires": { "cids": "^1.1.5", "js-base64": "^3.6.0", - "multicodec": "^2.1.0", + "multicodec": "^3.2.0", "multihashes": "^2.0.0" }, "dependencies": { "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.9.tgz", + "integrity": "sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==", "requires": { "multibase": "^4.0.1", "multicodec": "^3.0.1", @@ -49640,15 +47090,6 @@ "uint8arrays": "^3.0.0" }, "dependencies": { - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, "multihashes": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", @@ -49657,14 +47098,12 @@ "multibase": "^4.0.1", "uint8arrays": "^3.0.0", "varint": "^5.0.2" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } } + }, + "varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" } } }, @@ -49677,32 +47116,12 @@ } }, "multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.1.tgz", + "integrity": "sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==", "requires": { - "uint8arrays": "1.1.0", + "uint8arrays": "^3.0.0", "varint": "^6.0.0" - }, - "dependencies": { - "multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "requires": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - } - }, - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - } } }, "multihashes": { @@ -50035,18 +47454,18 @@ "peer": true }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "peer": true, + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^13.9.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -50055,7 +47474,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -50067,25 +47485,22 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, "requires": { "sprintf-js": "~1.0.2" } }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "peer": true, + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "requires": { - "type-fest": "^0.20.2" + "type-fest": "^0.8.1" } }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -50094,32 +47509,29 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "peer": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, "@ethereum-waffle/chai": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.0.tgz", - "integrity": "sha512-GVaFKuFbFUclMkhHtQTDnWBnBQMJc/pAbfbFj/nnIK237WPLsO3KDDslA7m+MNEyTAOFrcc0CyfruAGGXAQw3g==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.1.tgz", + "integrity": "sha512-8mjgjWCe8XSCWuyJgVtJY8sm00VTczGBTDxBejgEBWN/J9x7QD8jdmWW8bfxdnqZbxiDCTvRFL58Wmd254BEqQ==", "dev": true, "peer": true, "requires": { "@ethereum-waffle/provider": "^3.4.0", - "ethers": "^5.0.0" + "ethers": "^5.4.7" } }, "@ethereum-waffle/compiler": { @@ -50140,6 +47552,19 @@ "solc": "^0.6.3", "ts-generator": "^0.1.1", "typechain": "^3.0.0" + }, + "dependencies": { + "@types/node-fetch": { + "version": "2.5.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", + "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + } + } } }, "@ethereum-waffle/ens": { @@ -50180,15 +47605,15 @@ } }, "@ethereumjs/block": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.4.0.tgz", - "integrity": "sha512-umKAoTX32yXzErpIksPHodFc/5y8bmZMnOl6hWy5Vd8xId4+HKFUOyEiN16Y97zMwFRysRpcrR6wBejfqc6Bmg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.5.1.tgz", + "integrity": "sha512-MoY9bHKABOBK6BW0v1N1Oc0Cve4x/giX67M3TtrVBUsKQTj2eznLGKpydoitxWSZ+WgKKSVhfRMzbCGRwk7T5w==", "dev": true, "requires": { - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/tx": "^3.3.0", - "ethereumjs-util": "^7.1.0", - "merkle-patricia-tree": "^4.2.0" + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.1", + "ethereumjs-util": "^7.1.1", + "merkle-patricia-tree": "^4.2.1" }, "dependencies": { "level-ws": { @@ -50203,13 +47628,13 @@ } }, "merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "requires": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -50231,16 +47656,16 @@ } }, "@ethereumjs/blockchain": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.4.0.tgz", - "integrity": "sha512-wAuKLaew6PL52kH8YPXO7PbjjKV12jivRSyHQehkESw4slSLLfYA6Jv7n5YxyT2ajD7KNMPVh7oyF/MU6HcOvg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.4.2.tgz", + "integrity": "sha512-AOAAwz/lw2lciG9gf5wHi7M/qknraXXnLR66lYgbQ04qfyFC3ZE5x/5rLVm1Vu+kfJLlKrYZTmA0IbOkc7kvgw==", "dev": true, "requires": { - "@ethereumjs/block": "^3.4.0", - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/ethash": "^1.0.0", + "@ethereumjs/block": "^3.5.1", + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/ethash": "^1.1.0", "debug": "^2.2.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.1", "level-mem": "^5.0.1", "lru-cache": "^5.1.1", "rlp": "^2.2.4", @@ -50265,23 +47690,24 @@ } }, "@ethereumjs/common": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.4.0.tgz", - "integrity": "sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", + "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", "requires": { "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.0" + "ethereumjs-util": "^7.1.1" } }, "@ethereumjs/ethash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.0.0.tgz", - "integrity": "sha512-iIqnGG6NMKesyOxv2YctB2guOVX18qMAWlj3QlZyrc+GqfzLqoihti+cVNQnyNxr7eYuPdqwLQOFuPe6g/uKjw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", "dev": true, "requires": { + "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.7", + "ethereumjs-util": "^7.1.1", "miller-rabin": "^4.0.0" }, "dependencies": { @@ -50297,31 +47723,31 @@ } }, "@ethereumjs/tx": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.0.tgz", - "integrity": "sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", + "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", "requires": { - "@ethereumjs/common": "^2.4.0", - "ethereumjs-util": "^7.1.0" + "@ethereumjs/common": "^2.5.0", + "ethereumjs-util": "^7.1.2" } }, "@ethereumjs/vm": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.5.2.tgz", - "integrity": "sha512-AydZ4wfvZAsBuFzs3xVSA2iU0hxhL8anXco3UW3oh9maVC34kTEytOfjHf06LTEfN0MF9LDQ4ciLa7If6ZN/sg==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.5.3.tgz", + "integrity": "sha512-0k5OreWnlgXYs54wohgO11jtGI05GDasj2EYxzuaStxTi15CS3vow5wGYELC1pG9xngE1F/mFmKi/f14XRuDow==", "dev": true, "requires": { - "@ethereumjs/block": "^3.4.0", - "@ethereumjs/blockchain": "^5.4.0", - "@ethereumjs/common": "^2.4.0", - "@ethereumjs/tx": "^3.3.0", + "@ethereumjs/block": "^3.5.0", + "@ethereumjs/blockchain": "^5.4.1", + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.1", "async-eventemitter": "^0.2.4", "core-js-pure": "^3.0.1", "debug": "^2.2.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.1", "functional-red-black-tree": "^1.0.1", "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.0", + "merkle-patricia-tree": "^4.2.1", "rustbn.js": "~0.2.0", "util.promisify": "^1.0.1" }, @@ -50347,13 +47773,13 @@ } }, "merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "requires": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -50452,9 +47878,9 @@ } }, "@ethersproject/bignumber": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", - "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.2.tgz", + "integrity": "sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA==", "requires": { "@ethersproject/bytes": "^5.4.0", "@ethersproject/logger": "^5.4.0", @@ -50771,326 +48197,6 @@ "prop-types": "^15.6.1" } }, - "@hapi/accept": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-5.0.2.tgz", - "integrity": "sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/ammo": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-5.0.1.tgz", - "integrity": "sha512-FbCNwcTbnQP4VYYhLNGZmA76xb2aHg9AMPiy18NZyWMG310P5KdFGyA9v2rm5ujrIny77dEEIkMOwl0Xv+fSSA==", - "requires": { - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/b64": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-5.0.0.tgz", - "integrity": "sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==", - "requires": { - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/boom": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.4.tgz", - "integrity": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==", - "requires": { - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/bounce": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-2.0.0.tgz", - "integrity": "sha512-JesW92uyzOOyuzJKjoLHM1ThiOvHPOLDHw01YV8yh5nCso7sDwJho1h0Ad2N+E62bZyz46TG3xhAi/78Gsct6A==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/bourne": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-2.0.0.tgz", - "integrity": "sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==" - }, - "@hapi/call": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@hapi/call/-/call-8.0.1.tgz", - "integrity": "sha512-bOff6GTdOnoe5b8oXRV3lwkQSb/LAWylvDMae6RgEWWntd0SHtkYbQukDHKlfaYtVnSAgIavJ0kqszF/AIBb6g==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/catbox": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-11.1.1.tgz", - "integrity": "sha512-u/8HvB7dD/6X8hsZIpskSDo4yMKpHxFd7NluoylhGrL6cUfYxdQPnvUp9YU2C6F9hsyBVLGulBd9vBN1ebfXOQ==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/podium": "4.x.x", - "@hapi/validate": "1.x.x" - } - }, - "@hapi/catbox-memory": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-5.0.1.tgz", - "integrity": "sha512-QWw9nOYJq5PlvChLWV8i6hQHJYfvdqiXdvTupJFh0eqLZ64Xir7mKNi96d5/ZMUAqXPursfNDIDxjFgoEDUqeQ==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/content": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@hapi/content/-/content-5.0.2.tgz", - "integrity": "sha512-mre4dl1ygd4ZyOH3tiYBrOUBzV7Pu/EOs8VLGf58vtOEECWed8Uuw6B4iR9AN/8uQt42tB04qpVaMyoMQh0oMw==", - "requires": { - "@hapi/boom": "9.x.x" - } - }, - "@hapi/cryptiles": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-5.1.0.tgz", - "integrity": "sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==", - "requires": { - "@hapi/boom": "9.x.x" - } - }, - "@hapi/file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/file/-/file-2.0.0.tgz", - "integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ==" - }, - "@hapi/hapi": { - "version": "20.1.5", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.1.5.tgz", - "integrity": "sha512-BhJ5XFR9uWPUBj/z5pPqXSk8OnvQQU/EbQjwpmjZy0ymNEiq7kIhXkAmzXcntbBHta9o7zpW8XMeXnfV4wudXw==", - "requires": { - "@hapi/accept": "^5.0.1", - "@hapi/ammo": "^5.0.1", - "@hapi/boom": "^9.1.0", - "@hapi/bounce": "^2.0.0", - "@hapi/call": "^8.0.0", - "@hapi/catbox": "^11.1.1", - "@hapi/catbox-memory": "^5.0.0", - "@hapi/heavy": "^7.0.1", - "@hapi/hoek": "^9.0.4", - "@hapi/mimos": "^6.0.0", - "@hapi/podium": "^4.1.1", - "@hapi/shot": "^5.0.5", - "@hapi/somever": "^3.0.0", - "@hapi/statehood": "^7.0.3", - "@hapi/subtext": "^7.0.3", - "@hapi/teamwork": "^5.1.0", - "@hapi/topo": "^5.0.0", - "@hapi/validate": "^1.1.1" - } - }, - "@hapi/heavy": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-7.0.1.tgz", - "integrity": "sha512-vJ/vzRQ13MtRzz6Qd4zRHWS3FaUc/5uivV2TIuExGTM9Qk+7Zzqj0e2G7EpE6KztO9SalTbiIkTh7qFKj/33cA==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x" - } - }, - "@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "@hapi/inert": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-6.0.4.tgz", - "integrity": "sha512-tpmNqtCCAd+5Ts07bJmMaA79+ZUIf0zSWnQMaWtbcO4nGrO/yXB2AzoslfzFX2JEV9vGeF3FfL8mYw0pHl8VGg==", - "requires": { - "@hapi/ammo": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/bounce": "2.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x", - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@hapi/iron": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-6.0.0.tgz", - "integrity": "sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==", - "requires": { - "@hapi/b64": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/cryptiles": "5.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/mimos": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-6.0.0.tgz", - "integrity": "sha512-Op/67tr1I+JafN3R3XN5DucVSxKRT/Tc+tUszDwENoNpolxeXkhrJ2Czt6B6AAqrespHoivhgZBWYSuANN9QXg==", - "requires": { - "@hapi/hoek": "9.x.x", - "mime-db": "1.x.x" - } - }, - "@hapi/nigel": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-4.0.2.tgz", - "integrity": "sha512-ht2KoEsDW22BxQOEkLEJaqfpoKPXxi7tvabXy7B/77eFtOyG5ZEstfZwxHQcqAiZhp58Ae5vkhEqI03kawkYNw==", - "requires": { - "@hapi/hoek": "^9.0.4", - "@hapi/vise": "^4.0.0" - } - }, - "@hapi/pez": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-5.0.3.tgz", - "integrity": "sha512-mpikYRJjtrbJgdDHG/H9ySqYqwJ+QU/D7FXsYciS9P7NYBXE2ayKDAy3H0ou6CohOCaxPuTV4SZ0D936+VomHA==", - "requires": { - "@hapi/b64": "5.x.x", - "@hapi/boom": "9.x.x", - "@hapi/content": "^5.0.2", - "@hapi/hoek": "9.x.x", - "@hapi/nigel": "4.x.x" - } - }, - "@hapi/podium": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-4.1.3.tgz", - "integrity": "sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==", - "requires": { - "@hapi/hoek": "9.x.x", - "@hapi/teamwork": "5.x.x", - "@hapi/validate": "1.x.x" - } - }, - "@hapi/shot": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-5.0.5.tgz", - "integrity": "sha512-x5AMSZ5+j+Paa8KdfCoKh+klB78otxF+vcJR/IoN91Vo2e5ulXIW6HUsFTCU+4W6P/Etaip9nmdAx2zWDimB2A==", - "requires": { - "@hapi/hoek": "9.x.x", - "@hapi/validate": "1.x.x" - } - }, - "@hapi/somever": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-3.0.1.tgz", - "integrity": "sha512-4ZTSN3YAHtgpY/M4GOtHUXgi6uZtG9nEZfNI6QrArhK0XN/RDVgijlb9kOmXwCR5VclDSkBul9FBvhSuKXx9+w==", - "requires": { - "@hapi/bounce": "2.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/statehood": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-7.0.3.tgz", - "integrity": "sha512-pYB+pyCHkf2Amh67QAXz7e/DN9jcMplIL7Z6N8h0K+ZTy0b404JKPEYkbWHSnDtxLjJB/OtgElxocr2fMH4G7w==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/bounce": "2.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/cryptiles": "5.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/iron": "6.x.x", - "@hapi/validate": "1.x.x" - } - }, - "@hapi/subtext": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-7.0.3.tgz", - "integrity": "sha512-CekDizZkDGERJ01C0+TzHlKtqdXZxzSWTOaH6THBrbOHnsr3GY+yiMZC+AfNCypfE17RaIakGIAbpL2Tk1z2+A==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/content": "^5.0.2", - "@hapi/file": "2.x.x", - "@hapi/hoek": "9.x.x", - "@hapi/pez": "^5.0.1", - "@hapi/wreck": "17.x.x" - } - }, - "@hapi/teamwork": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-5.1.0.tgz", - "integrity": "sha512-llqoQTrAJDTXxG3c4Kz/uzhBS1TsmSBa/XG5SPcVXgmffHE1nFtyLIK0hNJHCB3EuBKT84adzd1hZNY9GJLWtg==" - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@hapi/validate": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-1.1.3.tgz", - "integrity": "sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0" - } - }, - "@hapi/vise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-4.0.0.tgz", - "integrity": "sha512-eYyLkuUiFZTer59h+SGy7hUm+qE9p+UemePTHLlIWppEd+wExn3Df5jO04bFQTm7nleF5V8CtuYQYb+VFpZ6Sg==", - "requires": { - "@hapi/hoek": "9.x.x" - } - }, - "@hapi/wreck": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.1.0.tgz", - "integrity": "sha512-nx6sFyfqOpJ+EFrHX+XWwJAxs3ju4iHdbB/bwR8yTNZOiYmuhA8eCe7lYPtYmb4j7vyK/SlbaQsmTtUrMvPEBw==", - "requires": { - "@hapi/boom": "9.x.x", - "@hapi/bourne": "2.x.x", - "@hapi/hoek": "9.x.x" - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "peer": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "peer": true - }, "@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", @@ -51098,9 +48204,9 @@ "dev": true }, "@ipld/car": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.16.tgz", - "integrity": "sha512-LvIXl7BYmy8em1PFB1l2Iu3/bFHYHy3h3x7HcDi9veoGSYi70dAIthJsXgkoYoGfRSLONR1FDjaoFjbbXk87Qw==", + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.18.tgz", + "integrity": "sha512-THOv4aYVojfcFNnhMvS1acRTMGIshnBeoLqms1a+jjKx6Z+3CM/y8BhJeLq4jNBKijxHApus7+ikHkC5UbfEHA==", "requires": { "@ipld/dag-cbor": "^6.0.0", "@types/varint": "^6.0.0", @@ -51109,18 +48215,18 @@ } }, "@ipld/dag-cbor": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.9.tgz", - "integrity": "sha512-Kj8K8z2YMhupPJMHAn3jSVgGl/V7gT3Eki1dCE4bVhbli+vHS6lLObZXAcrTXMMHHYFmkSoOFdvwoYu5AU7lBA==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.11.tgz", + "integrity": "sha512-W9hpFAFS7+n0orqlq7w06ADeORealpTJ92jQZBZDywYMjOlcVfVKKKkVgCq/pUbwlSRqip+9kgzEvdfd5N3zcQ==", "requires": { "cborg": "^1.2.1", "multiformats": "^9.0.0" } }, "@ipld/dag-pb": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.9.tgz", - "integrity": "sha512-6p8vgm3jMB7IKO4CAdZV/rbhBo/YvNLmiEot1vjtJalmASM+9DLbFIzHV0CAHkwlSsv3/UTsV7UzfDb6dGTHLQ==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.11.tgz", + "integrity": "sha512-M4PMBlKErEffK/APnmQ/78M+YouQ7L5w2Llpl9U6MgDXtfPisD5zQHxxDE8yYW1Ume45+suB1tBPF0uSdNQQEg==", "requires": { "multiformats": "^9.0.0" } @@ -51227,16 +48333,16 @@ "dev": true }, "@jest/console": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.1.0.tgz", - "integrity": "sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.2.5.tgz", + "integrity": "sha512-smtlRF9vNKorRMCUtJ+yllIoiY8oFmfFG7xlzsAE76nKEwXNhjPOJIsc7Dv+AUitVt76t+KjIpUP9m98Crn2LQ==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.1.0", - "jest-util": "^27.1.0", + "jest-message-util": "^27.2.5", + "jest-util": "^27.2.5", "slash": "^3.0.0" }, "dependencies": { @@ -51292,37 +48398,36 @@ } }, "@jest/core": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.1.0.tgz", - "integrity": "sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.2.5.tgz", + "integrity": "sha512-VR7mQ+jykHN4WO3OvusRJMk4xCa2MFLipMS+43fpcRGaYrN1KwMATfVEXif7ccgFKYGy5D1TVXTNE4mGq/KMMA==", "dev": true, "requires": { - "@jest/console": "^27.1.0", - "@jest/reporters": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/reporters": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.1.0", - "jest-config": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", + "jest-changed-files": "^27.2.5", + "jest-config": "^27.2.5", + "jest-haste-map": "^27.2.5", + "jest-message-util": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-resolve-dependencies": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "jest-watcher": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-resolve-dependencies": "^27.2.5", + "jest-runner": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", + "jest-watcher": "^27.2.5", "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -51380,53 +48485,65 @@ } }, "@jest/environment": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.1.0.tgz", - "integrity": "sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.2.5.tgz", + "integrity": "sha512-XvUW3q6OUF+54SYFCgbbfCd/BKTwm5b2MGLoc2jINXQLKQDTCS2P2IrpPOtQ08WWZDGzbhAzVhOYta3J2arubg==", "dev": true, "requires": { - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0" + "jest-mock": "^27.2.5" } }, "@jest/fake-timers": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.1.0.tgz", - "integrity": "sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.2.5.tgz", + "integrity": "sha512-ZGUb6jg7BgwY+nmO0TW10bc7z7Hl2G/UTAvmxEyZ/GgNFoa31tY9/cgXmqcxnnZ7o5Xs7RAOz3G1SKIj8IVDlg==", "dev": true, "requires": { - "@jest/types": "^27.1.0", - "@sinonjs/fake-timers": "^7.0.2", + "@jest/types": "^27.2.5", + "@sinonjs/fake-timers": "^8.0.1", "@types/node": "*", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" + "jest-message-util": "^27.2.5", + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.0.1.tgz", + "integrity": "sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + } } }, "@jest/globals": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.1.0.tgz", - "integrity": "sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.2.5.tgz", + "integrity": "sha512-naRI537GM+enFVJQs6DcwGYPn/0vgJNb06zGVbzXfDfe/epDPV73hP1vqO37PqSKDeOXM2KInr6ymYbL1HTP7g==", "dev": true, "requires": { - "@jest/environment": "^27.1.0", - "@jest/types": "^27.1.0", - "expect": "^27.1.0" + "@jest/environment": "^27.2.5", + "@jest/types": "^27.2.5", + "expect": "^27.2.5" } }, "@jest/reporters": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.1.0.tgz", - "integrity": "sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.2.5.tgz", + "integrity": "sha512-zYuR9fap3Q3mxQ454VWF8I6jYHErh368NwcKHWO2uy2fwByqBzRHkf9j2ekMDM7PaSTWcLBSZyd7NNxR1iHxzQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", + "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -51437,15 +48554,15 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.0.0" + "v8-to-istanbul": "^8.1.0" }, "dependencies": { "ansi-styles": { @@ -51525,45 +48642,45 @@ } }, "@jest/test-result": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.1.0.tgz", - "integrity": "sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.5.tgz", + "integrity": "sha512-ub7j3BrddxZ0BdSnM5JCF6cRZJ/7j3wgdX0+Dtwhw2Po+HKsELCiXUTvh+mgS4/89mpnU1CPhZxe2mTvuLPJJg==", "dev": true, "requires": { - "@jest/console": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/types": "^27.2.5", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz", - "integrity": "sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.2.5.tgz", + "integrity": "sha512-8j8fHZRfnjbbdMitMAGFKaBZ6YqvFRFJlMJzcy3v75edTOqc7RY65S9JpMY6wT260zAcL2sTQRga/P4PglCu3Q==", "dev": true, "requires": { - "@jest/test-result": "^27.1.0", + "@jest/test-result": "^27.2.5", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-runtime": "^27.1.0" + "jest-haste-map": "^27.2.5", + "jest-runtime": "^27.2.5" } }, "@jest/transform": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.1.0.tgz", - "integrity": "sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.2.5.tgz", + "integrity": "sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "babel-plugin-istanbul": "^6.0.0", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", + "jest-haste-map": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-util": "^27.1.0", + "jest-util": "^27.2.5", "micromatch": "^4.0.4", "pirates": "^4.0.1", "slash": "^3.0.0", @@ -51629,9 +48746,9 @@ } }, "@jest/types": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz", - "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", + "integrity": "sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -51702,17 +48819,17 @@ } }, "@ledgerhq/cryptoassets": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-6.5.0.tgz", - "integrity": "sha512-HBmcfb9WTlcsqlzlHfd7nZr49on7ftpWmKXvxZu9DinLS7EZ5ZjgSvmxrx39YCS5yONILBJoA/BSpg1RcCbSjQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-6.9.0.tgz", + "integrity": "sha512-NwGFky11PnRCFi2uSiVJvMbeTLSb0qVM0Xw24ovaYi36LO2SDI/iuTsa/rRSebdGUf8nuiHJFw45Z8D5ylVG5A==", "requires": { "invariant": "2" } }, "@ledgerhq/devices": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.3.0.tgz", - "integrity": "sha512-DmVxqMAf3FhkpKjkbBCFVJ5DmesfplujeCLzFwO/zF5VGuwY7xxPqeSxlpusXJkqhEq+DbFzIDRWJYDf7rtXqg==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.7.0.tgz", + "integrity": "sha512-FWJfmdl8V300++OXLgBLpIi+IJoR/srWvxpXrWkc9hd3cNMxgeCl9opm84Y0oJDLBQL9AaERMrb+Cb1nZZR9Tw==", "requires": { "@ledgerhq/errors": "^6.2.0", "@ledgerhq/logs": "^6.2.0", @@ -51726,38 +48843,58 @@ "integrity": "sha512-eO03x8HJmG60WtlrMuahigW/rwywFdcGzCnihta/MjkM8BD9A660cKVkyIuheCcpaB7UV/r+QsRl9abHbjjaag==" }, "@ledgerhq/hw-app-eth": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.5.0.tgz", - "integrity": "sha512-2M43aXxVX3xPwmluG/7zXRljSWSMdifi19V2JR5ezjBhpNg+fgrg6cYOkl7nhyrelsCCaRhWmn3+KCNrkFYLOQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.9.0.tgz", + "integrity": "sha512-sGQSuW3dXViuU3rPLBk2liUYil5zI2ZTco8IuXsJnoLMX7AbcUb1EaHGJdZKf8vrERNk3M4uf8aJdX5SiOEvYg==", "requires": { - "@ledgerhq/cryptoassets": "^6.5.0", + "@ledgerhq/cryptoassets": "^6.9.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", - "axios": "^0.21.1", + "axios": "^0.21.4", "bignumber.js": "^9.0.1", - "ethers": "^5.4.4" + "ethers": "^5.4.7" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + } } }, "@ledgerhq/hw-transport": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.3.0.tgz", - "integrity": "sha512-kdnVrgmxrFtKaRdkoaQBEa02RXgLzEBiooYbxA65BGSJig3PGWDS9LrqNpzLTZM1RQlivd9NLBmfwU2ze4chWA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.7.0.tgz", + "integrity": "sha512-w+PhW6Y4KXYdoCykkE1zt0VL6Ryf72RP8sZP8OH1O90hX/R/q9BMYKl8VNqTbqlrOrORgATlKkbmIJBjbngZew==", "requires": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", "events": "^3.3.0" } }, + "@ledgerhq/hw-transport-mocker": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.7.0.tgz", + "integrity": "sha512-L6nL+WrPgLHDM2ElMCZN7bvshKqCYxtGBDrddZygKprg+fwjnkwuTCAzfLIXsvueJf+bxHWJD2V0HrQgQn58DA==", + "dev": true, + "requires": { + "@ledgerhq/hw-transport": "^6.7.0", + "@ledgerhq/logs": "^6.2.0" + } + }, "@ledgerhq/hw-transport-node-hid": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.3.0.tgz", - "integrity": "sha512-0PaBDcDkTfmtEA3ndHlA9viRHA0LPSyvIm3GqXDN03QwrDeJDLnp+BZmp95YskujDWm+fk5j1PBSScvm4p9p/g==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.7.0.tgz", + "integrity": "sha512-KnycRv/BhTR+Fym4bXs3cycv/lTLplB6V56kqmhUvmupWabkaFUA+YICZwlsiLhVT1ogPh3NU9eZX7m8bu2vTQ==", "requires": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", - "@ledgerhq/hw-transport-node-hid-noevents": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", + "@ledgerhq/hw-transport-node-hid-noevents": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "lodash": "^4.17.21", "node-hid": "2.1.1", @@ -51765,25 +48902,25 @@ } }, "@ledgerhq/hw-transport-node-hid-noevents": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.3.0.tgz", - "integrity": "sha512-07YmZg7wXl3T2lBe6xeuba3Sdbm2TfPZgXWSFBOMjf4LOCEpKedozv+eyUYMQtbCJeDFQhNG44qw61xfHyi6Ow==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.7.0.tgz", + "integrity": "sha512-SEl8VjTOtVtU/QlMpZHAL+KUZvWkmWHUlcFVNI86TOQjxFvjHyXyL8FLAmQtHWRlU/50DkcGGG86mkjdsHmAXw==", "requires": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "node-hid": "2.1.1" } }, "@ledgerhq/hw-transport-web-ble": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-web-ble/-/hw-transport-web-ble-6.3.0.tgz", - "integrity": "sha512-nWQzVataZhpn67vi1y0WLHIekLM8xArPLRGS6YU7udzxfWkoaEJOfj0Jd2dZqY7NeVzeABK/xcre08mU/61BzQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-web-ble/-/hw-transport-web-ble-6.7.0.tgz", + "integrity": "sha512-Kte79uHgkVb+F3qa6zdgRH8W60zsAn1e4IJncxyHvAteyqCQS+WbLVKOUvKIGNrC0gNiFEFsFCC7b0wPknK3cg==", "requires": { - "@ledgerhq/devices": "^6.3.0", + "@ledgerhq/devices": "^6.7.0", "@ledgerhq/errors": "^6.2.0", - "@ledgerhq/hw-transport": "^6.3.0", + "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/logs": "^6.2.0", "rxjs": "6" } @@ -51859,9 +48996,9 @@ "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" }, "ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "requires": {} } } @@ -51937,9 +49074,9 @@ "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" }, "@multiformats/murmur3": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.3.tgz", - "integrity": "sha512-pd56A/Bxu4FnZ55kQ1izk3XQgBZXdn4tQq/kvNxR0vtEJNbW7NJTnYDhnRJSH94OxycsOMDoKh6flS2VkFVTYg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.4.tgz", + "integrity": "sha512-skwYQeIVDxUhqJngCjzC9ZV3cSYkrHsyq2T4DDiMR2QAPkyv6JsKMCXj7FEhrgDqx5fB4Bkxv6+VLVNlDBbzJQ==", "requires": { "multiformats": "^9.4.1", "murmurhash3js-revisited": "^3.0.0" @@ -52605,6 +49742,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" + }, "@solidity-parser/parser": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.11.1.tgz", @@ -52738,9 +49880,9 @@ } }, "@sushiswap/default-token-list": { - "version": "14.11.0", - "resolved": "https://registry.npmjs.org/@sushiswap/default-token-list/-/default-token-list-14.11.0.tgz", - "integrity": "sha512-FYw3LSdNvoiUJdOxygDqkTwteMUpHwZBCTxQ7O78dW3/T9AkDhMQbPCj5B8cZzQ/mL2jJfdsZxu4r0Kh2sUjJg==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@sushiswap/default-token-list/-/default-token-list-17.0.0.tgz", + "integrity": "sha512-qLzN83CbG7n0GxwEjBaYu+Dd5y29VFVfFiiw6zWtmLozS4yZuFTwmq9vnqRZpxmvBQJGWfaQQMtl25csgE/a1w==" }, "@szmarczak/http-timer": { "version": "1.1.2", @@ -52757,16 +49899,16 @@ "dev": true }, "@truffle/hdwallet-provider": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.5.0.tgz", - "integrity": "sha512-nWgOBRT3ZCX7VAFVrDrWLvX405J502WlP5azmnWbM5r3fqDKUJlBdtHZTCGeiDKAT6twtpTUj6tO8mKmrjF8PA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.5.1.tgz", + "integrity": "sha512-sVt78Idr6k2Loi40Igc3A8ncy4zvUWdWaYYNRGaBPq67usR34tkp+RH+23PqU+alk44P0JwG3fNNEg1Hqwa3Xw==", "requires": { + "@ethereumjs/common": "^2.4.0", + "@ethereumjs/tx": "^3.3.0", "@trufflesuite/web3-provider-engine": "15.0.13-1", "eth-sig-util": "^3.0.1", "ethereum-cryptography": "^0.1.3", "ethereum-protocol": "^1.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", "ethereumjs-util": "^6.1.0", "ethereumjs-wallet": "^1.0.1" }, @@ -52792,6 +49934,15 @@ "ethjs-util": "0.1.6", "rlp": "^2.2.3" } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } } } }, @@ -52836,6 +49987,11 @@ "fast-safe-stringify": "^2.0.6" } }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, "whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", @@ -52872,20 +50028,6 @@ "fast-safe-stringify": "^2.0.6" } }, - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -52965,20 +50107,6 @@ "whatwg-fetch": "2.0.4" } }, - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -52993,6 +50121,11 @@ "safe-buffer": "^5.1.1" } }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, "whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", @@ -53025,9 +50158,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.15", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", - "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==", + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -53074,26 +50207,11 @@ } }, "@types/chai": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.21.tgz", - "integrity": "sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==", + "version": "4.2.22", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", + "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", "dev": true }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, "@types/debug": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", @@ -53120,9 +50238,9 @@ } }, "@types/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", - "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, "requires": { "@types/node": "*" @@ -53173,9 +50291,9 @@ } }, "@types/jest": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", - "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", + "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", "dev": true, "requires": { "jest-diff": "^27.0.0", @@ -53237,18 +50355,25 @@ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "@types/node": { - "version": "16.7.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz", - "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg==" + "version": "16.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.0.tgz", + "integrity": "sha512-8MLkBIYQMuhRBQzGN9875bYsOhPnf/0rgXGo66S2FemHkhbn9qtsz9ywV1iCG+vbjigE4WUNVvw37Dx+L0qsPg==" }, "@types/node-fetch": { - "version": "2.5.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", - "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-3.0.2.tgz", + "integrity": "sha512-3q5FyT6iuekUxXeL2qjcyIhtMJdfMF7RGhYXWKkYpdcW9k36A/+txXrjG0l+NMVkiC30jKNrcOqVlqBl7BcCHA==", "dev": true, "requires": { - "@types/node": "*", - "form-data": "^3.0.0" + "node-fetch": "*" + } + }, + "@types/node-hid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/node-hid/-/node-hid-1.3.1.tgz", + "integrity": "sha512-VPxuGDCoDxOUKrTZPSok7IEmiK4cVLfj8Csu09FtG5uF+eqf1HETERHXQkO02Rk6j6YiiHxp0/DA9R4llvhEzQ==", + "requires": { + "@types/node": "*" } }, "@types/pbkdf2": { @@ -53271,9 +50396,9 @@ } }, "@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==", "dev": true }, "@types/q": { @@ -53311,9 +50436,9 @@ "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==" }, "@types/sinon": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.2.tgz", - "integrity": "sha512-BHn8Bpkapj8Wdfxvh2jWIUoaYB/9/XhsL0oOvBfRagJtKlSl9NWPcFOz2lRukI9szwGxFtYZCTejJSqsGDbdmw==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.4.tgz", + "integrity": "sha512-fOYjrxQv8zJsqOY6V6ecP4eZhQBxtY80X0er1VVnUIAIZo74jHm8e1vguG5Yt4Iv8W2Wr7TgibB8MfRe32k9pA==", "dev": true, "requires": { "@sinonjs/fake-timers": "^7.1.0" @@ -53341,6 +50466,14 @@ "integrity": "sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw==", "dev": true }, + "@types/usb": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/usb/-/usb-1.5.3.tgz", + "integrity": "sha512-f0QO6/x5iWA+FU3VTDrnouVHyeKBnTCGkw5wqKDe7JJnGQgPtlBfWWua6gr/GCRzCZB7qE9mz0jOnSWvra8RBg==", + "requires": { + "@types/node": "*" + } + }, "@types/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@types/varint/-/varint-6.0.0.tgz", @@ -53367,9 +50500,9 @@ } }, "@types/yargs": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.2.tgz", - "integrity": "sha512-JhZ+pNdKMfB0rXauaDlrIvm+U7V4m03PPOSVoPS66z8gf+G4Z/UW8UlrVIj2MRQOBzuoEvYtjS0bqYwnpZaS9Q==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.4.tgz", + "integrity": "sha512-D/wihO9WFYqwsmJI0e0qS+U09wIQtYRSBJlXWjTFGjouEuOCy0BU4N/ZK5utb00S5lW/9LO7vOpvGDd8M06NvQ==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -53618,14 +50751,15 @@ } }, "abstract-leveldown": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.0.0.tgz", - "integrity": "sha512-mFAi5sB/UjpNYglrQ4irzdmr2mbQtE94OJbrAYuK2yRARjH/OACinN1meOAorfnaLPMQdFymSQMlkiDm9AXXKQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", "requires": { "buffer": "^6.0.3", + "catering": "^2.0.0", "is-buffer": "^2.0.5", "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.0", + "level-supports": "^2.0.1", "queue-microtask": "^1.2.3" }, "dependencies": { @@ -53650,9 +50784,9 @@ } }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" }, "acorn-globals": { "version": "6.0.0", @@ -53662,6 +50796,14 @@ "requires": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } } }, "acorn-jsx": { @@ -53706,9 +50848,9 @@ } }, "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -53731,38 +50873,29 @@ "dev": true }, "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "requires": { - "string-width": "^3.0.0" + "string-width": "^4.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } } } @@ -53782,9 +50915,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -53834,9 +50967,9 @@ "dev": true }, "app-builder-lib": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.11.9.tgz", - "integrity": "sha512-mS8aFN16IlzXzD1LwuheHliCI7wiJjC+agiCh+mxRtY8TKinb0vSI4pggib4RHvVq55l3RxDX4EEWGuqGMScIA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.13.1.tgz", + "integrity": "sha512-TsUe7gCdH1cnSknUcqwVRAAxsFxsxcU/BJvnKR8ASzjaZtePW7MU+AEaDVDUURycgYxQ9XeymGjmuQGS32jcbw==", "dev": true, "requires": { "@develar/schema-utils": "~2.6.5", @@ -53845,13 +50978,13 @@ "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chromium-pickle-js": "^0.2.0", "debug": "^4.3.2", "ejs": "^3.1.6", "electron-osx-sign": "^0.5.0", - "electron-publish": "22.11.9", + "electron-publish": "22.13.1", "fs-extra": "^10.0.0", "hosted-git-info": "^4.0.2", "is-ci": "^3.0.0", @@ -53876,9 +51009,9 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -53934,16 +51067,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" } }, "array-shuffle": { @@ -53958,26 +51091,25 @@ "dev": true }, "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" } }, "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" } }, "arrify": { @@ -53986,9 +51118,9 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" }, "asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", + "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", "dev": true, "requires": { "@types/glob": "^7.1.1", @@ -54064,10 +51196,9 @@ "dev": true }, "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, "async": { "version": "2.6.3", @@ -54110,7 +51241,8 @@ "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true }, "atob": { "version": "2.1.2", @@ -54136,9 +51268,9 @@ } }, "available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "await-semaphore": { "version": "0.1.3", @@ -54156,11 +51288,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.23.0.tgz", + "integrity": "sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.4" } }, "babel-code-frame": { @@ -54311,16 +51443,16 @@ } }, "babel-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.1.0.tgz", - "integrity": "sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.2.5.tgz", + "integrity": "sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g==", "dev": true, "requires": { - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.6", + "babel-preset-jest": "^27.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" @@ -54408,9 +51540,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz", - "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==", + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz", + "integrity": "sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -54437,12 +51569,12 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "core-js-compat": "^3.16.2" } }, "babel-plugin-polyfill-regenerator": { @@ -54496,12 +51628,12 @@ } }, "babel-preset-jest": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz", - "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==", + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz", + "integrity": "sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^27.0.6", + "babel-plugin-jest-hoist": "^27.2.0", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -54719,20 +51851,15 @@ } }, "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==" }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -54777,11 +51904,6 @@ "file-uri-to-path": "1.0.0" } }, - "bintrees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz", - "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=" - }, "bip39": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", @@ -54842,21 +51964,36 @@ "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" }, "blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "requires": { + "browser-readablestream-to-it": "^1.0.3" + } + }, + "blockstore-core": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.2.tgz", - "integrity": "sha512-yD8tikfTlUGEOSHExz4vDCIQFLaBPXIL0KcxGQt9RbwMVXBEh+jokdJyStvTXPgWrdKfwgk7RX8GPsgrYzsyng==", + "resolved": "https://registry.npmjs.org/blockstore-core/-/blockstore-core-1.0.2.tgz", + "integrity": "sha512-CYOaAvgVoJDqxbGG4YVyLMZ5mmS+Icwn7oHnayPko/FGpiinixI/CGMrErbDSaVSkjhuea9tpU23tt+Jx13n+g==", "requires": { - "browser-readablestream-to-it": "^1.0.2" + "err-code": "^3.0.1", + "interface-blockstore": "^2.0.2", + "interface-store": "^2.0.1", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.4.7" } }, "blockstore-datastore-adapter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/blockstore-datastore-adapter/-/blockstore-datastore-adapter-1.0.0.tgz", - "integrity": "sha512-0BrswHY38l2/ZU5wSeQCmBsq4p5FhAI4GuC6J7gTCRqCbjmPk0rdb+mf4qzVBFeHjYKVgrcxEMcdH0RcQZuoVw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/blockstore-datastore-adapter/-/blockstore-datastore-adapter-2.0.3.tgz", + "integrity": "sha512-s6j6ay+qLu7sOx5DanHJlg2dBX61B9Yrbg6qo8oP3oiWnj6ZFCad4CKVb8do1f4u/Q4r2XPuSM4JYCe684USrQ==", "requires": { + "blockstore-core": "^1.0.0", "err-code": "^3.0.1", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", "it-drain": "^1.0.1", "it-pushable": "^1.4.2", "multiformats": "^9.1.0" @@ -54998,16 +52135,16 @@ } }, "boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dev": true, "requires": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", + "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" @@ -55053,12 +52190,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -55072,14 +52203,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "supports-color": { @@ -55141,9 +52272,9 @@ "dev": true }, "browser-readablestream-to-it": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz", - "integrity": "sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" }, "browser-stdout": { "version": "1.3.1", @@ -55249,15 +52380,15 @@ } }, "browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", "requires": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" } }, "bs-logger": { @@ -55301,11 +52432,6 @@ "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" }, - "buf-compare": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", - "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=" - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -55362,17 +52488,17 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "requires": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" } }, "builder-util": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.11.9.tgz", - "integrity": "sha512-phiEuT361Pzb8kNN2ZQDr7PHV+TTNMydqIow9Wcrl69VxM1q89qJPLvHsDhR9m9T0OCMHaO0UsZsJ8Jsx2LDJQ==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.13.1.tgz", + "integrity": "sha512-gMdoW9aQbWYxuQ4k4jT4An1BTo/hWzvsdv3pwNz18iNYnqn9j+xMllQOg9CHgfQYKSUd8VuMsZnbCvLO4NltYw==", "dev": true, "requires": { "@types/debug": "^4.1.6", @@ -55380,8 +52506,9 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "3.7.1", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.7.8", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", "debug": "^4.3.2", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", @@ -55443,9 +52570,9 @@ } }, "builder-util-runtime": { - "version": "8.7.8", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.8.tgz", - "integrity": "sha512-j7V45HIXX5dzminZLVKlmgmqaXpt44CcpFVEjlkO6zPM3IQFjeb+jvOKcqygg5MK3Q1Q5l4Jj9m9xZp0Rc4TiQ==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.8.1.tgz", + "integrity": "sha512-xHxAzdsJmMV8m/N+INzYUKfyJASeKyKHnA1uGkY8Y8JKLI/c4BG+If+L0If2YETv96CiRASkvd02tIt2pvrchQ==", "dev": true, "requires": { "debug": "^4.3.2", @@ -55583,9 +52710,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001252", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz", - "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==" + "version": "1.0.30001267", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz", + "integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg==" }, "caseless": { "version": "0.12.0", @@ -55593,23 +52720,25 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "catering": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.0.0.tgz", - "integrity": "sha512-aD/WmxhGwUGsVPrj8C80vH7C7GphJilYVSdudoV4u16XdrLF7CVyfBmENsc4tLTVsJJzCRid8GbwJ7mcPLee6Q==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "requires": { + "queue-tick": "^1.0.0" + } }, "cbor": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-6.0.1.tgz", - "integrity": "sha512-gVJ2e/DFInWOriOUqNyrZe5xN8RSK49X7G+pLalz32GwKs1xHNXtrkcbV5K4+Z2X7qJiv6f700PnUEaJoIEPGQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.0.0.tgz", + "integrity": "sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig==", "requires": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" + "nofilter": "^3.0.2" } }, "cborg": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.0.tgz", - "integrity": "sha512-3t1+s45x5LiACi39HDiSubPZiKXU2rCreu0oi5A1nccQNDHnprCh9ZQKN1Za3eookOmL03e9oKEZ+LJs0iTE8A==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.1.tgz", + "integrity": "sha512-GKCylZR7os3Q9X+U3DiARfeFKQUdcZMAP8EKFSE91YbhJsxV71Z6PMOT2osVWprb+iWf6viyqD7peEkK0QCAAw==" }, "chalk": { "version": "2.4.2", @@ -55808,12 +52937,6 @@ "wrap-ansi": "^7.0.0" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -55821,14 +52944,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -55934,11 +53057,6 @@ "simple-swizzle": "^0.2.2" } }, - "colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" - }, "colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", @@ -56011,12 +53129,12 @@ } }, "conf": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.2.tgz", - "integrity": "sha512-iyy4ArqyQ/yrzNASNBN+jaylu53JRuq0ztvL6KAWYHj4iN56BVuhy2SrzEEHBodNbacZr2Pd/4nWhoAwc66T1g==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.3.tgz", + "integrity": "sha512-4gtQ/Q36qVxBzMe6B7gWOAfni1VdhuHkIzxydHkclnwGmgN+eW4bb6jj73vigCfr7d3WlmqawvhZrpCUCTPYxQ==", "requires": { - "ajv": "^8.1.0", - "ajv-formats": "^2.0.2", + "ajv": "^8.6.3", + "ajv-formats": "^2.1.1", "atomically": "^1.7.0", "debounce-fn": "^4.0.0", "dot-prop": "^6.0.1", @@ -56115,12 +53233,6 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -56155,7 +53267,8 @@ "cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true }, "cookie-signature": { "version": "1.0.6", @@ -56163,9 +53276,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "copy-descriptor": { "version": "0.1.1", @@ -56173,27 +53286,18 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "core-assert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", - "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", - "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" - } - }, "core-js": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", - "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", "dev": true }, "core-js-compat": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.4.tgz", - "integrity": "sha512-IzCSomxRdahCYb6G3HiN6pl3JCiM0NMunRcNa1pIeC7g17Vd6Ue3AT9anQiENPIm/svThUVer1pIbLMDERIsFw==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "requires": { - "browserslist": "^4.16.8", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "dependencies": { @@ -56205,15 +53309,15 @@ } }, "core-js-pure": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.4.tgz", - "integrity": "sha512-bY1K3/1Jy9D8Jd12eoeVahNXHLfHFb4TXWI8SQ4y8bImR9qDPmGITBAfmcffTkgUvbJn87r8dILOTWW5kZzkgA==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.3.tgz", + "integrity": "sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw==", "dev": true }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cors": { "version": "2.8.5", @@ -56346,6 +53450,13 @@ "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", "requires": { "node-fetch": "2.6.1" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + } } }, "cross-spawn": { @@ -56404,15 +53515,14 @@ "dev": true }, "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "dev": true, "requires": { - "inherits": "^2.0.3", + "inherits": "^2.0.4", "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "source-map-resolve": "^0.6.0" }, "dependencies": { "source-map": { @@ -56523,15 +53633,6 @@ } } }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "requires": { - "css": "^2.0.0" - } - }, "css-select": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", @@ -56579,9 +53680,9 @@ } }, "css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" }, "cssesc": { "version": "3.0.0", @@ -56723,9 +53824,9 @@ } }, "csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" }, "currently-unhandled": { "version": "0.4.1", @@ -56777,12 +53878,13 @@ } }, "datastore-core": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-5.0.2.tgz", - "integrity": "sha512-jEOl/KDmI8mov8ZZEI4RoDOiYBQ8GVWWCK8e8Zu2vJSJqUVKVP128MPLc2fwOaz5h71ZdPA3IYh4ycwOjygYVQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-6.0.7.tgz", + "integrity": "sha512-y+RfRV3FXZK2kpHTwuoyIod3mHtleW/tDx5ilsn9cdIflxQb5rWrRc3GzRwPOnq2oEtN1W019BZOwC5h6p6g6Q==", "requires": { "debug": "^4.1.1", - "interface-datastore": "^5.1.1", + "err-code": "^3.0.1", + "interface-datastore": "^6.0.2", "it-drain": "^1.0.4", "it-filter": "^1.0.2", "it-map": "^1.0.5", @@ -56794,14 +53896,14 @@ } }, "datastore-fs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-5.0.2.tgz", - "integrity": "sha512-dev6pLENwKPsJVBOTeR+Xg/FceK/0OwdzlrDan3LOFZ6Rbro2bwLd9vxT//nk9F+iJiK+Ba8J+eLOsoa8C9D8w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-6.0.1.tgz", + "integrity": "sha512-A0JTQx6LV91ddCdnFLFES5k4stJahfz8GwpnXdMSuZLcrP1Fwa/vcnKAdRlvXpJY83Gl3+skbjh0nV5LNy1w1w==", "requires": { - "datastore-core": "^5.0.0", + "datastore-core": "^6.0.5", "fast-write-atomic": "^0.2.0", - "interface-datastore": "^5.1.1", - "it-glob": "0.0.13", + "interface-datastore": "^6.0.2", + "it-glob": "^1.0.1", "it-map": "^1.0.5", "it-parallel-batch": "^1.0.9", "mkdirp": "^1.0.4" @@ -56815,26 +53917,28 @@ } }, "datastore-level": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-6.0.2.tgz", - "integrity": "sha512-nVpI3TG4PNs6GszdJxCNF9Gc94tksKpAp6Ci4jrLKTf8EuoIumS1cQ44+1eg3E3ck8bG9Nu/x5AhL/5nxTNTyA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-7.0.1.tgz", + "integrity": "sha512-UCLOwKloaLYrcWVewSCOqVWEHUxz1PijsWHrI0dPZd3kODSWLSpW5CYylkWKPTX+JM7S1wENbiaz3i1188JXig==", "requires": { - "datastore-core": "^5.0.0", - "interface-datastore": "^5.1.1", + "datastore-core": "^6.0.5", + "interface-datastore": "^6.0.2", "it-filter": "^1.0.2", "it-map": "^1.0.5", + "it-sort": "^1.0.0", "it-take": "^1.0.1", "level": "^7.0.0" } }, "datastore-pubsub": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-0.7.1.tgz", - "integrity": "sha512-nYXUgY+v57esfpJAS5bgTz4bmJkxa2jw4/DaI0BISaYiVaaKS3ozDLxhQicndXxWBCzEilDhv079DP0eB13twQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-1.0.0.tgz", + "integrity": "sha512-L2S3avrrOJUsApahmObTxUgepe+BcZzqo4svKDqcRZ8zZZj+RH/q9iJnr89kKs/6Rpidg/FLyV58jxQ8DiZ5Pg==", "requires": { + "datastore-core": "^6.0.7", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "uint8arrays": "^3.0.0" } }, @@ -57071,17 +54175,9 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deep-strict-equal": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz", - "integrity": "sha1-SgeBR6irV/ag1PVUckPNIvROtOQ=", - "requires": { - "core-assert": "^0.2.0" - } + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { "version": "4.2.2", @@ -57120,11 +54216,11 @@ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, "deferred-leveldown": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-6.0.0.tgz", - "integrity": "sha512-F6CLAZzNeURojlH4MCigZr54tNz+xDSi06YXsDr5uLSKeF3JKnvnQWTqd+RETh2hbWTJR3qDzGicQOWS5ZQ1BQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-7.0.0.tgz", + "integrity": "sha512-QKN8NtuS3BC6m0B8vAnBls44tX1WXAFATUsJlruyAYbZpysWV3siH6o/i3g9DCHauzodksO60bdj5NazNbjCmg==", "requires": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "inherits": "^2.0.3" } }, @@ -57261,14 +54357,14 @@ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "dmg-builder": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.11.9.tgz", - "integrity": "sha512-9RCNW4oJI0zFswgumgbgopFZRZ+7zt6J7H6RQ3YB/vjehdfAxzWutFhiy3ExTwSX8QF9rAUWvfH5wk/hJjNrqA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.13.1.tgz", + "integrity": "sha512-qgfLN2fo4q2wIWNvbcKlZ71DLRDLvWIElOB7oxlSxUrMi6xhI+9v1Mh7E0FJ+r5UXhQzaQXaGuyMsQRbGgrSwg==", "dev": true, "requires": { - "app-builder-lib": "22.11.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "app-builder-lib": "22.13.1", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "dmg-license": "^1.0.9", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", @@ -57518,20 +54614,20 @@ } }, "electron": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.2.3.tgz", - "integrity": "sha512-FzWhbKHjq7ZTpPQFaYiLPL64erC8/BOsu5NlNN9nQ6f7rIP8ygKlNAlQit3vbOcksQAwItDUCIw4sW0mcaRpCA==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-15.2.0.tgz", + "integrity": "sha512-kg0JdlsVbJgD/hO/A7o9VH8U44pQWkIsyt/sALxH6g8CiHQxMujLn2JfB2gyUfHXPT7m8vD4Z+CurS2KodEsWw==", "dev": true, "requires": { - "@electron/get": "^1.0.1", + "@electron/get": "^1.13.0", "@types/node": "^14.6.2", "extract-zip": "^1.0.3" }, "dependencies": { "@types/node": { - "version": "14.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz", - "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw==", + "version": "14.17.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.27.tgz", + "integrity": "sha512-94+Ahf9IcaDuJTle/2b+wzvjmutxXAEXU6O81JHblYXUg2BDG+dnBy7VxIPHKAyEEDHzCMQydTJuWvrE+Aanzw==", "dev": true }, "debug": { @@ -57564,17 +54660,17 @@ } }, "electron-builder": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.11.9.tgz", - "integrity": "sha512-A+qopfZuFRuMBKLL6/L+VkFmPZFbQwvZEdnHRYlY7B58MhOANUGJKPVAm07U44IjSq5UK5U9/3xRDR7y3jnsug==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.13.1.tgz", + "integrity": "sha512-ajlI40L60qKBBxvpf770kcjxHAccMpEWpwsHAppytl3WmWgJfMut4Wz9VUFqyNtX/9a624QTatk6TqoxqewRug==", "dev": true, "requires": { "@types/yargs": "^17.0.1", - "app-builder-lib": "22.11.9", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "app-builder-lib": "22.13.1", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", - "dmg-builder": "22.11.9", + "dmg-builder": "22.13.1", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", @@ -57648,9 +54744,9 @@ "integrity": "sha512-nK/DwxPLtwWbggPCm27eMQhYHc3gzoZ+cokBK99diO4WsZJKrv5l44EUW8mRfWpmC8ZubnMyp6GTUIJyTc9AJA==" }, "electron-notarize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.0.tgz", - "integrity": "sha512-Dmp/jm2y3PTcjmjVe+jCT0sjsbBfbNuk7GOPtduZce2iae1hgAPnlNErk6x70TalsGIL5Ip3liSryqde/6eB5w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.1.tgz", + "integrity": "sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -57712,14 +54808,14 @@ } }, "electron-publish": { - "version": "22.11.9", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.11.9.tgz", - "integrity": "sha512-jFMiAsNvssne8RKMihZhPjGr4fJOBIj6N1WCG6jIl99lw1PGl45uCd4yXDxd8fMUvY4f6221LcbUA+ov/jFQnA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.13.1.tgz", + "integrity": "sha512-5nCXhnsqrRxP5NsZxUKjiMkcFmQglXp7i/YY4rp3h1s1psg3utOIkM29Z93YTSXicZJU1J+8811eo5HX1vpoKg==", "dev": true, "requires": { "@types/fs-extra": "^9.0.11", - "builder-util": "22.11.9", - "builder-util-runtime": "8.7.8", + "builder-util": "22.13.1", + "builder-util-runtime": "8.8.1", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -57778,9 +54874,9 @@ } }, "electron-to-chromium": { - "version": "1.3.823", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.823.tgz", - "integrity": "sha512-jbwqBmqo9ZBWNfz6EKDTx66rqRDt87ZbOxtUegYNpkVMX6z93PMaFbDy7/LIPRwMI/5T4GVcYkROWDPQm9Ni7A==" + "version": "1.3.870", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.870.tgz", + "integrity": "sha512-PiJMshfq6PL+i1V+nKLwhHbCKeD8eAz8rvO9Cwk/7cChOHJBtufmjajLyYLsSRHguRFiOCVx3XzJLeZsIAYfSA==" }, "electron-updater": { "version": "4.3.9", @@ -57829,10 +54925,9 @@ "dev": true }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "encodeurl": { "version": "1.0.2", @@ -57848,11 +54943,11 @@ } }, "encoding-down": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-7.0.0.tgz", - "integrity": "sha512-hor6z2W/ZrVqDYMawQp7VtfEt6BrvYw+mgjWLauUMZsIBjMt1/k5aa+JreLbtjwJdkjrZ39TU+pV5GpHPGRpog==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-7.1.0.tgz", + "integrity": "sha512-ky47X5jP84ryk5EQmvedQzELwVJPjCgXDQZGeb9F6r4PdChByCGHTBrVcF3h8ynKVJ1wVbkxTsDC8zBROPypgQ==", "requires": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "inherits": "^2.0.3", "level-codec": "^10.0.0", "level-errors": "^3.0.0" @@ -57866,67 +54961,28 @@ "once": "^1.4.0" } }, - "engine.io": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz", - "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==", - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "dependencies": { - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } - } - }, "engine.io-client": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.2.0.tgz", - "integrity": "sha512-BcIBXGBkT7wKecwnfrSV79G2X5lSUSgeAGgoo60plXf8UsQEvCQww/KMwXSMhVjb98fFYNq20CC5eo8IOAPqsg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.1.tgz", + "integrity": "sha512-/7xmDxU2i9aYmqz7ekseB2jUfUYvJ5s3+OJcEvObloQNB31wd+0j68kmLVAoZG7Qu0FzB+EN46hsc3bY/kjgSw==", "requires": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", + "engine.io-parser": "~5.0.0", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.4.2", + "ws": "~8.2.3", "xmlhttprequest-ssl": "~2.0.0", "yeast": "0.1.2" - }, - "dependencies": { - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } } }, "engine.io-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz", - "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==", - "requires": { - "base64-arraybuffer": "0.1.4" - } - }, - "enhance-visitors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/enhance-visitors/-/enhance-visitors-1.0.0.tgz", - "integrity": "sha1-qpRdBdpGVnKh69OP7i7T2oUY6Vo=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.0.tgz", + "integrity": "sha512-wn6QavHEqXoM+cg+x8uUG7GhxLBCfKEKNEsCNc7V2ugj3gB3lK91l1MuZiy6xFB2V9D1eew0aWkmpiT/aBb/KA==", "requires": { - "lodash": "^4.13.1" + "base64-arraybuffer": "~1.0.1" } }, "enquirer": { @@ -57953,9 +55009,9 @@ "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "errno": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz", - "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } @@ -57969,21 +55025,24 @@ } }, "es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", - "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -58030,9 +55089,9 @@ } }, "es6-promisify": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", - "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==" }, "es6-symbol": { "version": "3.1.3", @@ -58077,12 +55136,6 @@ "source-map": "~0.6.1" }, "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -58132,32 +55185,28 @@ } }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "peer": true, + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.4.0", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -58165,7 +55214,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash.merge": "^4.6.2", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -58174,25 +55223,15 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "peer": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -58204,7 +55243,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -58213,7 +55251,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, "requires": { "sprintf-js": "~1.0.2" } @@ -58222,7 +55259,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -58232,7 +55268,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, "requires": { "color-name": "~1.1.4" } @@ -58240,41 +55275,30 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "peer": true + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "peer": true, + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "requires": { - "type-fest": "^0.20.2" + "type-fest": "^0.8.1" } }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -58283,36 +55307,32 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "peer": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, "requires": { "has-flag": "^4.0.0" } }, "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, "eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", "dev": true, "requires": {} }, @@ -58345,12 +55365,13 @@ } }, "eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", + "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", "dev": true, "requires": { "debug": "^3.2.7", + "find-up": "^2.1.0", "pkg-dir": "^2.0.0" }, "dependencies": { @@ -58374,75 +55395,6 @@ } } }, - "eslint-plugin-ava": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-12.0.0.tgz", - "integrity": "sha512-v8/GY1IWQn2nOBdVtD/6e0Y6A9PRFjY86a1m5r5FUel+C7iyoQVt7gKqaAc1iRXcQkZq2DDG0aTiQptgnq51cA==", - "requires": { - "deep-strict-equal": "^0.2.0", - "enhance-visitors": "^1.0.0", - "eslint-utils": "^2.1.0", - "espree": "^7.3.1", - "espurify": "^2.0.1", - "import-modules": "^2.1.0", - "micro-spelling-correcter": "^1.1.1", - "pkg-dir": "^5.0.0", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "requires": { - "find-up": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, "eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", @@ -58454,24 +55406,26 @@ } }, "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", + "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.6.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" }, "dependencies": { "debug": { @@ -58484,25 +55438,12 @@ } }, "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "esutils": "^2.0.2" } }, "ms": { @@ -58511,56 +55452,14 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { + "pkg-up": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "^2.1.0" } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true } } }, @@ -58593,28 +55492,31 @@ } }, "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", + "dev": true, + "requires": {} }, "eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz", + "integrity": "sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", - "has": "^1.0.3", + "estraverse": "^5.2.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.hasown": "^1.0.0", + "object.values": "^1.1.4", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" }, "dependencies": { "doctrine": { @@ -58625,6 +55527,16 @@ "requires": { "esutils": "^2.0.2" } + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } } } }, @@ -58635,6 +55547,13 @@ "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } } }, "eslint-utils": { @@ -58658,6 +55577,13 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } } }, "esprima": { @@ -58665,24 +55591,12 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "espurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", - "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==" - }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } } }, "esrecurse": { @@ -58691,19 +55605,12 @@ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" }, "esutils": { "version": "2.0.3", @@ -58771,11 +55678,11 @@ } }, "eth-provider": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.9.3.tgz", - "integrity": "sha512-D6A4JlXFIWuEkh1lebgkx98RUe2dtgNZwjlKwhRYZCd4OGqSBb6OCx9XHw9BiQdNGAxjxj38dlxBoSiGxvZAkw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.9.4.tgz", + "integrity": "sha512-E54KIx4m84rJellKAzb42B0O2TKAjW24QMQZWooNEqFuj+R97uGzPt3GhLbQbQbaIM9nfwiWqnejU82PKJG9Ew==", "requires": { - "ethereum-provider": "0.4.3", + "ethereum-provider": "0.4.4", "events": "3.3.0", "oboe": "2.1.5", "uuid": "8.3.2", @@ -58897,9 +55804,9 @@ "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" }, "ethereum-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.4.3.tgz", - "integrity": "sha512-NVdah6tDhKO5CjBcuZ774YbiKchTy1PK/SyEsKdGA7Rv1cFg2TW0WPnzK2+BrQ6Y9XxL+wxStfWgfC4ZklRghg==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.4.4.tgz", + "integrity": "sha512-yrakFKeYnx+MMtL5Ngoy65Y6DqheG0sZRDLdvdLh0oIP5mIRj4He3P+QqKqm1yb57Th4ZbFljluqAY8ufgtfeA==", "requires": { "events": "3.3.0" } @@ -58959,6 +55866,15 @@ "ethjs-util": "0.1.6", "rlp": "^2.2.3" } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } } } }, @@ -59000,22 +55916,6 @@ "merkle-patricia-tree": "^2.1.2" }, "dependencies": { - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - }, - "dependencies": { - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - } - } - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -59038,48 +55938,44 @@ "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==" }, "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", + "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" }, "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } + "ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" }, "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { - "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", "create-hash": "^1.1.2", "elliptic": "^6.5.2", "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" } } } }, "ethereumjs-util": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", - "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", + "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", "create-hash": "^1.1.2", "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", "rlp": "^2.2.4" }, "dependencies": { @@ -59144,6 +56040,15 @@ } } }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, "ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", @@ -59157,35 +56062,37 @@ "ethjs-util": "0.1.6", "rlp": "^2.2.3" } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } } } }, "ethereumjs-wallet": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz", - "integrity": "sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.2.tgz", + "integrity": "sha512-CCWV4RESJgRdHIvFciVQFnCHfqyhXWchTPlkfp28Qc53ufs+doi5I/cV2+xeK9+qEo25XCWfP9MiL+WEPAZfdA==", "requires": { - "aes-js": "^3.1.1", + "aes-js": "^3.1.2", "bs58check": "^2.1.2", "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^7.0.2", - "randombytes": "^2.0.6", + "ethereumjs-util": "^7.1.2", + "randombytes": "^2.1.0", "scrypt-js": "^3.0.1", "utf8": "^3.0.0", - "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==" - } + "uuid": "^8.3.2" } }, "ethers": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", - "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.7.tgz", + "integrity": "sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew==", "requires": { "@ethersproject/abi": "5.4.1", "@ethersproject/abstract-provider": "5.4.1", @@ -59193,7 +56100,7 @@ "@ethersproject/address": "5.4.0", "@ethersproject/base64": "5.4.0", "@ethersproject/basex": "5.4.0", - "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bignumber": "5.4.2", "@ethersproject/bytes": "5.4.0", "@ethersproject/constants": "5.4.0", "@ethersproject/contracts": "5.4.1", @@ -59258,15 +56165,6 @@ "js-sha3": "0.5.5" }, "dependencies": { - "ethjs-util": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", - "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, "js-sha3": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", @@ -59318,15 +56216,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "ethjs-util": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", - "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } } } }, @@ -59366,9 +56255,9 @@ } }, "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz", + "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=", "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -59475,16 +56364,16 @@ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, "expect": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.1.0.tgz", - "integrity": "sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.5.tgz", + "integrity": "sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "ansi-styles": "^5.0.0", "jest-get-type": "^27.0.6", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", "jest-regex-util": "^27.0.6" }, "dependencies": { @@ -59559,9 +56448,9 @@ } }, "ext": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", - "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "requires": { "type": "^2.5.0" }, @@ -59679,6 +56568,12 @@ "object-keys": "^1.0.6" }, "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -59892,9 +56787,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fast-safe-stringify": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", - "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "fast-write-atomic": { "version": "0.2.1", @@ -59952,7 +56847,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, "requires": { "flat-cache": "^3.0.4" } @@ -60090,7 +56984,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "peer": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -60099,8 +56992,7 @@ "flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "peer": true + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" }, "fnv1a": { "version": "1.0.1", @@ -60108,9 +57000,9 @@ "integrity": "sha1-kV4tbQI8Q9UiStn20qPEFW9XEvU=" }, "follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==" + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" }, "for-each": { "version": "0.3.3", @@ -60141,6 +57033,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -69072,6 +65965,15 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -69092,9 +65994,9 @@ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -69238,9 +66140,9 @@ } }, "gridplus-sdk": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/gridplus-sdk/-/gridplus-sdk-0.8.4.tgz", - "integrity": "sha512-uxm7aaz0F3+TxhXM/I8hAg10E6WOx0G7mN9V+JO+5/9btcqRYxK7s1D/mo7gwU53DqJPiQhmx21g+fPOvE967w==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/gridplus-sdk/-/gridplus-sdk-0.8.7.tgz", + "integrity": "sha512-+onUgulKe+m3oKuxC73ny9oDriHugTK/bNTVyin1ILSFkibrH453ttgoGXEaOas+azhy+++P+kj+sD9X6Tmn0w==", "requires": { "aes-js": "^3.1.1", "bech32": "^2.0.0", @@ -69319,9 +66221,9 @@ } }, "hardhat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.6.1.tgz", - "integrity": "sha512-0LozdYbPsiTc6ZXsfDQUTV3L0p4CMO5TRbd5qmeWiCYGmhd+7Mvdg4N+nA8w0g3gZ2OKFUmHIYlAbExI488ceQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.6.6.tgz", + "integrity": "sha512-GneZAwvNxf3cNobYTmMSp2qGX/yJyUmHD/xjW+8zF2AgWkLS33CHmGn4aRFKqfjsk7BS7FU6jqMmmZhHHO3gUw==", "dev": true, "requires": { "@ethereumjs/block": "^3.4.0", @@ -69446,13 +66348,13 @@ } }, "merkle-patricia-tree": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.1.tgz", - "integrity": "sha512-25reMgrT8PhJy0Ba0U7fMZD2oobS1FPWB9vQa0uBpJYIQYYuFXEHoqEkTqA/UzX+s9br3pmUVVY/TOsFt/x0oQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz", + "integrity": "sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q==", "dev": true, "requires": { "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.0", + "ethereumjs-util": "^7.1.2", "level-mem": "^5.0.1", "level-ws": "^2.0.0", "readable-stream": "^3.6.0", @@ -69555,9 +66457,9 @@ "dev": true }, "ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true, "requires": {} } @@ -69905,14 +66807,14 @@ "dev": true }, "terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" } } } @@ -70049,9 +66951,9 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, "immutable": { - "version": "4.0.0-rc.14", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.14.tgz", - "integrity": "sha512-pfkvmRKJSoW7JFx0QeYlAmT+kNYvn5j0u7bnpNq4N2RCvHSTlLT208G8jgaquNe+Q8kCPHKOSpxJkyvLDpYq0w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "import-fresh": { @@ -70070,9 +66972,9 @@ "dev": true }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -70139,11 +67041,6 @@ } } }, - "import-modules": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", - "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==" - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -70180,39 +67077,28 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "interface-blockstore": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.1.tgz", - "integrity": "sha512-OYo8QXdM1UgIxftFKBgD+yM6tvHbtPu7TTgTPJS4VXY4xBwOM2sJTH8Mhe/EOGJDLXc0D0mscmlWyEhc3GSiJA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.2.tgz", + "integrity": "sha512-2OonKanTF7xnlqe879EgYwv94e7jYO20dDMyqkDum7b9RnhdMkiLAOkeStlvxX1sZBLjcThyHzFTUYTK4ohKpg==", "requires": { - "err-code": "^3.0.1", - "interface-store": "^0.1.1", - "it-all": "^1.0.5", - "it-drain": "^1.0.4", - "it-filter": "^1.0.2", - "it-take": "^1.0.1", + "interface-store": "^2.0.1", "multiformats": "^9.0.4" } }, "interface-datastore": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.2.tgz", - "integrity": "sha512-nRFl19/IkilNzuPdCUJHejyJCZrVAk4lIRcRXJkekuTdaiagIEnCd9GfmTTQlo2afiVISk8Iy/PxSgnfmrdEIw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.0.3.tgz", + "integrity": "sha512-61eOyzh7zH1ks/56hPudW6pbqsOdoHSYMVjuqlIlZGjyg0svR6DHlCcaeSJfWW8t6dsPl1n7qKBdk8ZqPzXuLA==", "requires": { - "err-code": "^3.0.1", - "interface-store": "^0.1.1", - "ipfs-utils": "^8.1.2", - "it-all": "^1.0.2", - "it-drain": "^1.0.1", - "it-filter": "^1.0.2", - "it-take": "^1.0.1", + "interface-store": "^2.0.1", "nanoid": "^3.0.2", "uint8arrays": "^3.0.0" } }, "interface-store": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-0.1.1.tgz", - "integrity": "sha512-ynnjIOybDZc0Brep3HHSa2RVlo/M5g7kuL/leui7o21EusKcLJS170vCJ8rliisc3c4jyd9ao5PthkGlBaX29g==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.1.tgz", + "integrity": "sha512-TfjYMdk4RlaGPA0VGk8fVPM+xhFbjiA2mTv1AqhiFh3N+ZEwoJnmDu/EBdKXzl80nyd0pvKui3RTC3zFgHMjTA==" }, "internal-slot": { "version": "1.0.3", @@ -70274,21 +67160,22 @@ "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" }, "ipfs-bitswap": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-6.0.1.tgz", - "integrity": "sha512-LfVPBnN3GJL2rTKyUcHaQnhV1VVKZ3PK48XjUNyEorBA03e/fCP7I7Eds3GHSTWR+GFVDqmkIXTEP9S0zQmWqQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-7.0.0.tgz", + "integrity": "sha512-wPylBHigqH9vHtk9dvuY0dn/CZnZuGn9C+L5oUtv14zkxFP7Kh/sT6VSCRXSH84MbVaVaO+ydRJTMf+yibzdHg==", "requires": { "@vascosantos/moving-average": "^1.1.0", "abort-controller": "^3.0.0", "any-signal": "^2.1.2", + "blockstore-core": "^1.0.2", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-blockstore": "^1.0.0", + "interface-blockstore": "^2.0.2", "it-length-prefixed": "^5.0.2", "it-pipe": "^1.1.0", "just-debounce-it": "^1.1.0", @@ -70315,39 +67202,39 @@ } }, "ipfs-core": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4.tgz", - "integrity": "sha512-XVCRSoVzhFcn/vyhpKFS397KFGE1HtslwYMW1j/qC/E53+g4G5aIrqFLtWc+STbK39+G6cZyzBdnlyZwCB4Zzg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1.tgz", + "integrity": "sha512-V9eP1K0Gr3MHqbWzLNQrMoVm4Pi58o0hVWutjbaLxv67sOgQBVY0qcMBs+EdEwsANrVPUktUBfoeykkClh3gwQ==", "requires": { "@chainsafe/libp2p-noise": "^4.0.0", "@ipld/car": "^3.1.0", "@ipld/dag-cbor": "^6.0.5", "@ipld/dag-pb": "^2.1.3", "@multiformats/murmur3": "^1.0.1", - "abort-controller": "^3.0.0", + "any-signal": "^2.1.2", "array-shuffle": "^2.0.0", - "blockstore-datastore-adapter": "^1.0.0", - "datastore-core": "^5.0.1", - "datastore-fs": "^5.0.2", - "datastore-level": "^6.0.2", - "datastore-pubsub": "^0.7.0", + "blockstore-core": "^1.0.2", + "blockstore-datastore-adapter": "^2.0.2", + "datastore-core": "^6.0.7", + "datastore-pubsub": "^1.0.0", "debug": "^4.1.1", "dlv": "^1.1.3", "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "hashlru": "^2.3.0", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", - "ipfs-bitswap": "^6.0.0", - "ipfs-core-types": "^0.7.0", - "ipfs-core-utils": "^0.10.2", - "ipfs-http-client": "^52.0.2", - "ipfs-repo": "^12.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", + "ipfs-bitswap": "^7.0.0", + "ipfs-core-config": "^0.1.1", + "ipfs-core-types": "^0.8.1", + "ipfs-core-utils": "^0.11.1", + "ipfs-http-client": "^53.0.1", + "ipfs-repo": "^13.0.4", "ipfs-unixfs": "^6.0.3", "ipfs-unixfs-exporter": "^7.0.3", "ipfs-unixfs-importer": "^9.0.3", - "ipfs-utils": "^8.1.4", - "ipns": "^0.13.3", + "ipfs-utils": "^9.0.2", + "ipns": "^0.15.0", "is-domain-name": "^1.0.1", "is-ipfs": "^6.0.1", "it-all": "^1.0.4", @@ -70357,26 +67244,19 @@ "it-last": "^1.0.4", "it-map": "^1.0.4", "it-merge": "^1.0.2", + "it-parallel": "^1.0.0", "it-peekable": "^1.0.2", "it-pipe": "^1.1.0", "it-pushable": "^1.4.2", "it-tar": "^4.0.0", "it-to-buffer": "^2.0.0", "just-safe-set": "^2.2.1", - "libp2p": "^0.32.0", + "libp2p": "^0.33.0", "libp2p-bootstrap": "^0.13.0", "libp2p-crypto": "^0.19.7", "libp2p-delegated-content-routing": "^0.11.0", "libp2p-delegated-peer-routing": "^0.10.0", - "libp2p-floodsub": "^0.27.0", - "libp2p-gossipsub": "^0.11.1", - "libp2p-kad-dht": "^0.23.1", - "libp2p-mdns": "^0.17.0", - "libp2p-mplex": "^0.10.2", "libp2p-record": "^0.10.3", - "libp2p-tcp": "^0.17.1", - "libp2p-webrtc-star": "^0.23.0", - "libp2p-websockets": "^0.16.1", "mafmt": "^10.0.0", "merge-options": "^3.0.4", "mortice": "^2.0.0", @@ -70384,51 +67264,85 @@ "multiaddr-to-uri": "^8.0.0", "multiformats": "^9.4.1", "native-abort-controller": "^1.0.3", - "p-queue": "^6.6.1", "pako": "^1.0.2", "parse-duration": "^1.0.0", "peer-id": "^0.15.1", - "streaming-iterables": "^6.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^3.0.0" + } + }, + "ipfs-core-config": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-core-config/-/ipfs-core-config-0.1.1.tgz", + "integrity": "sha512-AF96rTDRhtDm8fR1KNj/9LhWtc8JG8LKr9GvTAi2EReUHcEFp+kigS0sty9lFnBZDKDRFmMWyUcwO2uGiYyazA==", + "requires": { + "@chainsafe/libp2p-noise": "^4.0.0", + "blockstore-datastore-adapter": "^2.0.2", + "datastore-core": "^6.0.7", + "datastore-fs": "^6.0.1", + "datastore-level": "^7.0.1", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "hashlru": "^2.3.0", + "ipfs-repo": "^13.0.4", + "ipfs-utils": "^9.0.2", + "ipns": "^0.15.0", + "is-ipfs": "^6.0.1", + "it-all": "^1.0.4", + "it-drain": "^1.0.3", + "libp2p-floodsub": "^0.27.0", + "libp2p-gossipsub": "^0.11.1", + "libp2p-kad-dht": "^0.25.0", + "libp2p-mdns": "^0.17.0", + "libp2p-mplex": "^0.10.2", + "libp2p-tcp": "^0.17.1", + "libp2p-webrtc-star": "^0.24.0", + "libp2p-websockets": "^0.16.2", + "p-queue": "^6.6.1", "uint8arrays": "^3.0.0" } }, "ipfs-core-types": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.7.0.tgz", - "integrity": "sha512-tWJ5aJPPKeMHccPIx9EEXRZl1vsgu4rJpSPMFjjLz2JkGr6tSyCkxCOvsdSTsscfITx+NQcvcyPQb39O12fGOw==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.8.1.tgz", + "integrity": "sha512-9pfHaPGbl8EWeQZTSodN/y+lBQ9vyh6RYvpmw6Ik0ksy5QLj7soEkH4msHO78t5ZMeChpPIYpZS/oo1bOld1cw==", "requires": { - "interface-datastore": "^5.0.0", + "interface-datastore": "^6.0.2", "multiaddr": "^10.0.0", "multiformats": "^9.4.1" } }, "ipfs-core-utils": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.10.2.tgz", - "integrity": "sha512-xyTqw9epOJZsa2opFp9L+7Ul/xRmWnqT8uiFW51O40jXNo95MLPgZJAOH4W5FgOR/ckpHHse+Yvqab+2YXsH3A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.11.1.tgz", + "integrity": "sha512-SYBTeESuLgjYeDh8meCgttHV/LlES8FbljIDCySp+DpgPxYJA4EyC4GhywBaneQc/X3GWvHEzvW5b7ADluFcAw==", "requires": { "any-signal": "^2.1.2", "blob-to-it": "^1.0.1", "browser-readablestream-to-it": "^1.0.1", + "debug": "^4.1.1", "err-code": "^3.0.1", - "ipfs-core-types": "^0.7.0", + "ipfs-core-types": "^0.8.1", "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^8.1.4", + "ipfs-utils": "^9.0.2", "it-all": "^1.0.4", "it-map": "^1.0.4", "it-peekable": "^1.0.2", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", "multiaddr": "^10.0.0", "multiaddr-to-uri": "^8.0.0", "multiformats": "^9.4.1", + "nanoid": "^3.1.23", "parse-duration": "^1.0.0", "timeout-abort-controller": "^1.1.1", "uint8arrays": "^3.0.0" } }, "ipfs-http-client": { - "version": "52.0.2", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-52.0.2.tgz", - "integrity": "sha512-KdtKqGxu3AvfrButz1RVTwcaAgk09ageelQeEFDjknNIZYmOHi1TdC2r2rnf9sbPuyPqM20OTVtsXb/OSc0iYg==", + "version": "53.0.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-53.0.1.tgz", + "integrity": "sha512-0hmm5esSxoArEtVE9jeLwLw3pJm6rJA1kWKW+3Nqs2O8TQVSot8u1nzopF/yJ2IJGd5PHJc2JxqtEdVzV+p7nQ==", "requires": { "@ipld/dag-cbor": "^6.0.5", "@ipld/dag-pb": "^2.1.3", @@ -70436,50 +67350,37 @@ "any-signal": "^2.1.2", "debug": "^4.1.1", "err-code": "^3.0.1", - "form-data": "^4.0.0", - "ipfs-core-types": "^0.7.0", - "ipfs-core-utils": "^0.10.2", - "ipfs-utils": "^8.1.4", + "ipfs-core-types": "^0.8.1", + "ipfs-core-utils": "^0.11.1", + "ipfs-utils": "^9.0.2", "it-first": "^1.0.6", "it-last": "^1.0.4", - "it-to-stream": "^1.0.0", "merge-options": "^3.0.4", "multiaddr": "^10.0.0", "multiformats": "^9.4.1", - "nanoid": "^3.1.12", "native-abort-controller": "^1.0.3", "parse-duration": "^1.0.0", "stream-to-it": "^0.2.2", "uint8arrays": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } } }, "ipfs-repo": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-12.0.0.tgz", - "integrity": "sha512-boEfHtBZMc9ES4BHIX3m8090Egi+lRm/EVCvG/rjEctQOnPKduGzVXpgqApzNKNiCcHZgGLTO7WCIL+djgg7Zw==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-13.0.5.tgz", + "integrity": "sha512-lmS/BKBg04/jqfyhOXZSIoeqArFqI8g/3jdqOjD1MQ90bXkDzIuE8aTFqSUss+LN0qMnltTlXd0kdOKwMomQRA==", "requires": { "@ipld/dag-pb": "^2.1.0", "bytes": "^3.1.0", "cborg": "^1.3.4", + "datastore-core": "^6.0.7", "debug": "^4.1.0", "err-code": "^3.0.1", - "eslint-plugin-ava": "^12.0.0", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", - "ipfs-repo-migrations": "^10.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", + "ipfs-repo-migrations": "^11.0.1", + "it-drain": "^1.0.1", "it-filter": "^1.0.2", + "it-first": "^1.0.2", "it-map": "^1.0.5", "it-merge": "^1.0.2", "it-parallel-batch": "^1.0.9", @@ -70492,43 +67393,42 @@ "multiformats": "^9.0.4", "p-queue": "^6.0.0", "proper-lockfile": "^4.0.0", - "sort-keys": "^4.0.0", + "sort-keys": "^4.2.0", "uint8arrays": "^3.0.0" } }, "ipfs-repo-migrations": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-10.0.0.tgz", - "integrity": "sha512-TkvHXFs2ujGNyUKpN8nqWlfWm1poe0qXq0xg+GkkvJH7SDPx6j2OEqmqF/ocBgmazOlz50nE88I0RMAjQ0o5QQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-11.0.1.tgz", + "integrity": "sha512-pDMmEs1gYwJP5CfxHFcyxi+o6E6QS0XRCQsOZjahC5k/0qDiBofUyv+0SMnvcvpuQwmHy+3cxS36J/d0ODDrsQ==", "requires": { "@ipld/dag-pb": "^2.0.0", "cborg": "^1.3.1", - "datastore-core": "^5.0.0", + "datastore-core": "^6.0.7", "debug": "^4.1.0", "fnv1a": "^1.0.1", - "interface-blockstore": "^1.0.0", - "interface-datastore": "^5.0.0", + "interface-blockstore": "^2.0.2", + "interface-datastore": "^6.0.2", "it-length": "^1.0.1", "multiformats": "^9.0.0", - "proper-lockfile": "^4.1.1", "protobufjs": "^6.10.2", "uint8arrays": "^3.0.0", "varint": "^6.0.0" } }, "ipfs-unixfs": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.5.tgz", - "integrity": "sha512-D8Z3EsegLxOBc2L8oMyZw/FRUDQG0ZZAaBRfzMrRsGnj7RFI7OlV1hU54aMeDxFYFviKNnUdsyEFI2zUWmgGvw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.6.tgz", + "integrity": "sha512-gTkjYKXuHnqIf6EFfS+ESaYEl3I3aaQQ0UX8MhpNzreMLEuMnuqpoI/uLLllTZa31WRplKixabbpRTSmTYRNwA==", "requires": { "err-code": "^3.0.1", "protobufjs": "^6.10.2" } }, "ipfs-unixfs-exporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-7.0.5.tgz", - "integrity": "sha512-H/fBcBHO4kMivj2JyqwVmp90JIxKEsRpgkyifkZxmslttcTgivrOM3s7xeLuj6EkchkqyHS9+wurdv83WFOFpQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-7.0.6.tgz", + "integrity": "sha512-PkKB+hTbHhKLqgj0PqSNQ/n7dKsu/lC29jLK8nUXOX4EM6c+RnedohdCY7khT10/hfC7oADbpFs/QJfuH2DaAg==", "requires": { "@ipld/dag-cbor": "^6.0.4", "@ipld/dag-pb": "^2.0.2", @@ -70536,16 +67436,37 @@ "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "interface-blockstore": "^1.0.0", - "ipfs-unixfs": "^6.0.5", + "ipfs-unixfs": "^6.0.6", "it-last": "^1.0.5", "multiformats": "^9.4.2", "uint8arrays": "^3.0.0" + }, + "dependencies": { + "interface-blockstore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.2.tgz", + "integrity": "sha512-e8rHqaBSOsBPpSaB+wwVa9mR5ntU+t1yzXpOFC16cSKCNsV+h6n8SjekPQcdODVBN2h8t45CsOqRAnUfm1guEw==", + "requires": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "it-all": "^1.0.5", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.0.4" + } + }, + "interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + } } }, "ipfs-unixfs-importer": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-9.0.5.tgz", - "integrity": "sha512-+Xxqu7WKC/cFd/IP5bCPw4E29CybU0k/exxNJCCn/QDrSm+o25Dz4IFCLc9jXvffi9Za8gCMywZFeM2HbB5Dyg==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-9.0.6.tgz", + "integrity": "sha512-FgzODqg4pvToEMZ88mFkHcU0s25CljmnqX2VX7K/VQDckiZIxhIiUTQRqQg/C7Em4uCzVp8YCxKUvl++w6kvNg==", "requires": { "@ipld/dag-pb": "^2.0.2", "@multiformats/murmur3": "^1.0.3", @@ -70553,7 +67474,7 @@ "err-code": "^3.0.1", "hamt-sharding": "^2.0.0", "interface-blockstore": "^1.0.0", - "ipfs-unixfs": "^6.0.5", + "ipfs-unixfs": "^6.0.6", "it-all": "^1.0.5", "it-batch": "^1.0.8", "it-first": "^1.0.6", @@ -70562,12 +67483,33 @@ "multiformats": "^9.4.2", "rabin-wasm": "^0.1.4", "uint8arrays": "^3.0.0" + }, + "dependencies": { + "interface-blockstore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-1.0.2.tgz", + "integrity": "sha512-e8rHqaBSOsBPpSaB+wwVa9mR5ntU+t1yzXpOFC16cSKCNsV+h6n8SjekPQcdODVBN2h8t45CsOqRAnUfm1guEw==", + "requires": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "it-all": "^1.0.5", + "it-drain": "^1.0.4", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "multiformats": "^9.0.4" + } + }, + "interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + } } }, "ipfs-utils": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", - "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.2.tgz", + "integrity": "sha512-o0DjVfd1kcr09fAYMkSnZ56ZkfoAzZhFWkizG3/tL7svukZpqyGyRxNlF58F+hsrn/oL8ouAP9x+4Hdf8XM+hg==", "requires": { "abort-controller": "^3.0.0", "any-signal": "^2.1.0", @@ -70576,7 +67518,7 @@ "err-code": "^3.0.1", "is-electron": "^2.2.0", "iso-url": "^1.1.5", - "it-glob": "~0.0.11", + "it-glob": "^1.0.1", "it-to-stream": "^1.0.0", "merge-options": "^3.0.4", "nanoid": "^3.1.20", @@ -70607,365 +67549,15 @@ } } }, - "ipld-block": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/ipld-block/-/ipld-block-0.10.1.tgz", - "integrity": "sha512-lPMfW9tA2hVZw9hdO/YSppTxFmA0+5zxcefBOlCTOn+12RLyy+pdepKMbQw8u0KESFu3pYVmabNRWuFGcgHLLw==", - "requires": { - "cids": "^1.0.0", - "class-is": "^1.1.0" - }, - "dependencies": { - "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "requires": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - } - }, - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.17.1.tgz", - "integrity": "sha512-Bakj/cnxQBdscORyf4LRHxQJQfoaY8KWc7PWROQgX+aw5FCzBt8ga0VM/59K+ABOznsqNvyLR/wz/oYImOpXJw==", - "requires": { - "borc": "^2.1.2", - "cids": "^1.0.0", - "is-circular": "^1.0.2", - "multicodec": "^3.0.1", - "multihashing-async": "^2.0.0", - "uint8arrays": "^2.1.3" - }, - "dependencies": { - "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "requires": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - }, - "dependencies": { - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "dependencies": { - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - }, - "uint8arrays": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", - "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.20.0.tgz", - "integrity": "sha512-zfM0EdaolqNjAxIrtpuGKvXxWk5YtH9jKinBuQGTcngOsWFQhyybGCTJHGNGGtRjHNJi2hz5Udy/8pzv4kcKyg==", - "requires": { - "cids": "^1.0.0", - "class-is": "^1.1.0", - "multicodec": "^2.0.0", - "multihashing-async": "^2.0.0", - "protons": "^2.0.0", - "reset": "^0.1.0", - "run": "^1.4.0", - "stable": "^0.1.8", - "uint8arrays": "^1.0.0" - }, - "dependencies": { - "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "requires": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "requires": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "dependencies": { - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - }, - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - }, - "dependencies": { - "multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "requires": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - } - } - } - } - } - }, - "ipld-raw": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-6.0.0.tgz", - "integrity": "sha512-UK7fjncAzs59iu/o2kwYtb8jgTtW6B+cNWIiNpAJkfRwqoMk1xD/6i25ktzwe4qO8gQgoR9RxA5ibC23nq8BLg==", - "requires": { - "cids": "^1.0.0", - "multicodec": "^2.0.0", - "multihashing-async": "^2.0.0" - }, - "dependencies": { - "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", - "requires": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - } - } - }, - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "requires": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - }, - "dependencies": { - "multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "requires": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" - } - }, - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - } - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - } - } - }, "ipns": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.13.4.tgz", - "integrity": "sha512-8fPbYdhtA9y3IBuNCW2KRdWIHZlcBk3AS8W+h7YuBn8ftUla6kQ1ngWiO9Z/Pf1ZtIJdoIXLQWpkmJDlGy/ung==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.15.0.tgz", + "integrity": "sha512-BkCjHCLxaZkvybM69+wJlJPZQfH8dN6q4kzGMReKYlSweRtVBdC/U8FFGDPF7Y8MvUgzwNREsbbv0n5NmL4keg==", "requires": { "cborg": "^1.3.3", "debug": "^4.2.0", "err-code": "^3.0.1", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "libp2p-crypto": "^0.19.5", "long": "^4.0.0", "multiformats": "^9.4.5", @@ -71074,11 +67666,6 @@ } } }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", @@ -71094,9 +67681,9 @@ } }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "requires": { "has": "^1.0.3" } @@ -71177,11 +67764,6 @@ "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" }, - "is-error": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", - "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==" - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -71228,9 +67810,9 @@ } }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } @@ -71377,6 +67959,11 @@ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -71399,11 +67986,11 @@ } }, "is-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.7.tgz", - "integrity": "sha512-VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "requires": { - "available-typed-arrays": "^1.0.4", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-abstract": "^1.18.5", "foreach": "^2.0.5", @@ -71428,6 +68015,14 @@ "dev": true, "peer": true }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "requires": { + "call-bind": "^1.0.0" + } + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -71511,9 +68106,9 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", + "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", "dev": true }, "istanbul-lib-instrument": { @@ -71580,9 +68175,9 @@ } }, "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -71599,9 +68194,9 @@ } }, "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", + "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -71618,14 +68213,14 @@ } }, "it-all": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", - "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "it-batch": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.8.tgz", - "integrity": "sha512-RfEa1rxOPnicXvaXJ1qNThxPrq8/Lc+KwSVWHFEEOp2CrjpjhR5WfmBJozhkbzZ/r/Gl0HjzVVrt0NpG8qczDQ==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.9.tgz", + "integrity": "sha512-7Q7HXewMhNFltTsAMdSz6luNhyhkhEtGGbYek/8Xb/GiqYMtwUmopE1ocPSiJKKp3rM4Dt045sNFoUu+KZGNyA==" }, "it-buffer": { "version": "0.1.3", @@ -71656,24 +68251,24 @@ } }, "it-drain": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", - "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "it-filter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", - "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "it-first": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz", - "integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "it-glob": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz", - "integrity": "sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "requires": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -71690,14 +68285,14 @@ } }, "it-last": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.5.tgz", - "integrity": "sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" }, "it-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.3.tgz", - "integrity": "sha512-iZduLNprLW2OJCa1LtFvogh4DVhInt2jbqgvCgWQIX6v1z3IJpKvfkDutslKIgztEuhqm3QRLn16dhspVsaayw==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.4.tgz", + "integrity": "sha512-KN4jXzp77/GQ4fxUGMbsJx3ALUZ6SP3E79tzs2weGghtImDLFZzua/l3fOK0LN/hMH0M330HJRZWwYZfDNuCIA==" }, "it-length-prefixed": { "version": "5.0.3", @@ -71721,14 +68316,14 @@ } }, "it-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", - "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "it-merge": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.2.tgz", - "integrity": "sha512-bp+h4X3tQ83/a2MvaeP4nRi+52z2AO2y8tf2OzDdaSXKMC0n0gVtHrJUDaE+kiIkBiUtTt1hp7vJHMM0VtCfGA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.4.tgz", + "integrity": "sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==", "requires": { "it-pushable": "^1.4.0" } @@ -71741,12 +68336,20 @@ "get-iterator": "^1.0.2" } }, + "it-parallel": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-parallel/-/it-parallel-1.0.0.tgz", + "integrity": "sha512-kYlBKkNoHGOX++1Pf3M8IZOfozuTIln7F3Ldk2C/XnNW/XkqBqtiEWDoJHI0mkUHenxWnbaaCioM/aNQimNPlA==", + "requires": { + "p-defer": "^3.0.0" + } + }, "it-parallel-batch": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.9.tgz", - "integrity": "sha512-lfCxXsHoEtgyWj5HLrEQXlZF0p3c0hfYeVJAbxQIHIzHLq4lkYplUIe3UGxYl4n1Sjpcs6YL/87352399aVeIA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.10.tgz", + "integrity": "sha512-3+4gW15xdf/BOx9zij0QVnB1bDGSLOTABlaVm7ebHH1S9gDUgd5aLNb0WsFXPTfKe104iC6lxdzfbMGh1B07rg==", "requires": { - "it-batch": "^1.0.8" + "it-batch": "^1.0.9" } }, "it-pb-rpc": { @@ -71760,9 +68363,9 @@ } }, "it-peekable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.2.tgz", - "integrity": "sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" }, "it-pipe": { "version": "1.1.0", @@ -71785,10 +68388,18 @@ "bl": "^5.0.0" } }, - "it-take": { + "it-sort": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", - "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-1.0.1.tgz", + "integrity": "sha512-c+C48cP7XMMebB9irLrJs2EmpLILId8NYSojqAqN8etE8ienx0azBgaKvZHYH1DkerqIul0Fl2FqISu2BZgTEQ==", + "requires": { + "it-all": "^1.0.6" + } + }, + "it-take": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "it-tar": { "version": "4.0.0", @@ -71815,9 +68426,9 @@ } }, "it-to-buffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-2.0.1.tgz", - "integrity": "sha512-LLye4AbgXlCRy/GOWSsMVu7wx1lrHbVPJBAz7Q8n4np1TVuBwttvOeEr+HbvM3cT6ucZHXj9YOz6ZlosqSwmlQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-2.0.2.tgz", + "integrity": "sha512-Frbv1sphcNFvD807Qw5fXpK4L7iuqShYSI7k30PfpJiy5IxdqMyaulWpLyl1hIJVVpkG+1UrJafFCnatzmZf5g==", "requires": { "uint8arrays": "^3.0.0" } @@ -71882,9 +68493,9 @@ "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==" }, "ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "requires": {} } } @@ -71910,49 +68521,49 @@ } }, "jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.1.0.tgz", - "integrity": "sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.2.5.tgz", + "integrity": "sha512-vDMzXcpQN4Ycaqu+vO7LX8pZwNNoKMhc+gSp6q1D8S6ftRk8gNW8cni3YFxknP95jxzQo23Lul0BI2FrWgnwYQ==", "dev": true, "requires": { - "@jest/core": "^27.1.0", + "@jest/core": "^27.2.5", "import-local": "^3.0.2", - "jest-cli": "^27.1.0" + "jest-cli": "^27.2.5" } }, "jest-changed-files": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.0.tgz", - "integrity": "sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.2.5.tgz", + "integrity": "sha512-jfnNJzF89csUKRPKJ4MwZ1SH27wTmX2xiAIHUHrsb/OYd9Jbo4/SXxJ17/nnx6RIifpthk3Y+LEeOk+/dDeGdw==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "execa": "^5.0.0", "throat": "^6.0.1" } }, "jest-circus": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.1.0.tgz", - "integrity": "sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.2.5.tgz", + "integrity": "sha512-eyL9IcrAxm3Saq3rmajFCwpaxaRMGJ1KJs+7hlTDinXpJmeR3P02bheM3CYohE7UfwOBmrFMJHjgo/WPcLTM+Q==", "dev": true, "requires": { - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", + "jest-each": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" @@ -72010,23 +68621,23 @@ } }, "jest-cli": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.1.0.tgz", - "integrity": "sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.2.5.tgz", + "integrity": "sha512-XzfcOXi5WQrXqFYsDxq5RDOKY4FNIgBgvgf3ZBz4e/j5/aWep5KnsAYH5OFPMdX/TP/LFsYQMRH7kzJUMh6JKg==", "dev": true, "requires": { - "@jest/core": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/core": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "import-local": "^3.0.2", - "jest-config": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-config": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "prompts": "^2.0.1", - "yargs": "^16.0.3" + "yargs": "^16.2.0" }, "dependencies": { "ansi-styles": { @@ -72063,12 +68674,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -72082,14 +68687,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "supports-color": { @@ -72125,32 +68730,32 @@ } }, "jest-config": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.1.0.tgz", - "integrity": "sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.2.5.tgz", + "integrity": "sha512-QdENtn9b5rIIYGlbDNEcgY9LDL5kcokJnXrp7x8AGjHob/XFqw1Z6p+gjfna2sUulQsQ3ce2Fvntnv+7fKYDhQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.1.0", - "@jest/types": "^27.1.0", - "babel-jest": "^27.1.0", + "@jest/test-sequencer": "^27.2.5", + "@jest/types": "^27.2.5", + "babel-jest": "^27.2.5", "chalk": "^4.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", "graceful-fs": "^4.2.4", "is-ci": "^3.0.0", - "jest-circus": "^27.1.0", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", + "jest-circus": "^27.2.5", + "jest-environment-jsdom": "^27.2.5", + "jest-environment-node": "^27.2.5", "jest-get-type": "^27.0.6", - "jest-jasmine2": "^27.1.0", + "jest-jasmine2": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-runner": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "micromatch": "^4.0.4", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "dependencies": { "ansi-styles": { @@ -72205,15 +68810,15 @@ } }, "jest-diff": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz", - "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.5.tgz", + "integrity": "sha512-7gfwwyYkeslOOVQY4tVq5TaQa92mWfC9COsVYMNVYyJTOYAqbIkoD3twi5A+h+tAPtAelRxkqY6/xu+jwTr0dA==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^27.0.6", "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "dependencies": { "ansi-styles": { @@ -72277,16 +68882,16 @@ } }, "jest-each": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.1.0.tgz", - "integrity": "sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.2.5.tgz", + "integrity": "sha512-HUPWIbJT0bXarRwKu/m7lYzqxR4GM5EhKOsu0z3t0SKtbFN6skQhpAUADM4qFShBXb9zoOuag5lcrR1x/WM+Ag==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "jest-get-type": "^27.0.6", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0" + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5" }, "dependencies": { "ansi-styles": { @@ -72341,32 +68946,32 @@ } }, "jest-environment-jsdom": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz", - "integrity": "sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.2.5.tgz", + "integrity": "sha512-QtRpOh/RQKuXniaWcoFE2ElwP6tQcyxHu0hlk32880g0KczdonCs5P1sk5+weu/OVzh5V4Bt1rXuQthI01mBLg==", "dev": true, "requires": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0", + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5", "jsdom": "^16.6.0" } }, "jest-environment-node": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.1.0.tgz", - "integrity": "sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.2.5.tgz", + "integrity": "sha512-0o1LT4grm7iwrS8fIoLtwJxb/hoa3GsH7pP10P02Jpj7Mi4BXy65u46m89vEM2WfD1uFJQ2+dfDiWZNA2e6bJg==", "dev": true, "requires": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" + "jest-mock": "^27.2.5", + "jest-util": "^27.2.5" } }, "jest-get-type": { @@ -72376,12 +68981,12 @@ "dev": true }, "jest-haste-map": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.1.0.tgz", - "integrity": "sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.5.tgz", + "integrity": "sha512-pzO+Gw2WLponaSi0ilpzYBE0kuVJstoXBX8YWyUebR8VaXuX4tzzn0Zp23c/WaETo7XYTGv2e8KdnpiskAFMhQ==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", @@ -72390,35 +68995,35 @@ "graceful-fs": "^4.2.4", "jest-regex-util": "^27.0.6", "jest-serializer": "^27.0.6", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "micromatch": "^4.0.4", "walker": "^1.0.7" } }, "jest-jasmine2": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz", - "integrity": "sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz", + "integrity": "sha512-hdxY9Cm/CjLqu2tXeAoQHPgA4vcqlweVXYOg1+S9FeFdznB9Rti+eEBKDDkmOy9iqr4Xfbq95OkC4NFbXXPCAQ==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.1.0", + "@jest/environment": "^27.2.5", "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", + "jest-each": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "pretty-format": "^27.2.5", "throat": "^6.0.1" }, "dependencies": { @@ -72474,25 +69079,25 @@ } }, "jest-leak-detector": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz", - "integrity": "sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.2.5.tgz", + "integrity": "sha512-HYsi3GUR72bYhOGB5C5saF9sPdxGzSjX7soSQS+BqDRysc7sPeBwPbhbuT8DnOpijnKjgwWQ8JqvbmReYnt3aQ==", "dev": true, "requires": { "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" } }, "jest-matcher-utils": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz", - "integrity": "sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz", + "integrity": "sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^27.1.0", + "jest-diff": "^27.2.5", "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "dependencies": { "ansi-styles": { @@ -72547,18 +69152,18 @@ } }, "jest-message-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.1.0.tgz", - "integrity": "sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.5.tgz", + "integrity": "sha512-ggXSLoPfIYcbmZ8glgEJZ8b+e0Msw/iddRmgkoO7lDAr9SmI65IIfv7VnvTnV4FGnIIUIjzM+fHRHO5RBvyAbQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "micromatch": "^4.0.4", - "pretty-format": "^27.1.0", + "pretty-format": "^27.2.5", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -72615,12 +69220,12 @@ } }, "jest-mock": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.0.tgz", - "integrity": "sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.2.5.tgz", + "integrity": "sha512-HiMB3LqE9RzmeMzZARi2Bz3NoymxyP0gCid4y42ca1djffNtYFKgI220aC1VP1mUZ8rbpqZbHZOJ15093bZV/Q==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*" } }, @@ -72638,19 +69243,19 @@ "dev": true }, "jest-resolve": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.1.0.tgz", - "integrity": "sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.5.tgz", + "integrity": "sha512-q5irwS3oS73SKy3+FM/HL2T7WJftrk9BRzrXF92f7net5HMlS7lJMg/ZwxLB4YohKqjSsdksEw7n/jvMxV7EKg==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "chalk": "^4.0.0", "escalade": "^3.1.1", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", + "jest-haste-map": "^27.2.5", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "resolve": "^1.20.0", "slash": "^3.0.0" }, @@ -72707,42 +69312,42 @@ } }, "jest-resolve-dependencies": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz", - "integrity": "sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.5.tgz", + "integrity": "sha512-BSjefped31bcvvCh++/pN9ueqqN1n0+p8/58yScuWfklLm2tbPbS9d251vJhAy0ZI2pL/0IaGhOTJrs9Y4FJlg==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-snapshot": "^27.1.0" + "jest-snapshot": "^27.2.5" } }, "jest-runner": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.1.0.tgz", - "integrity": "sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.2.5.tgz", + "integrity": "sha512-n41vw9RLg5TKAnEeJK9d6pGOsBOpwE89XBniK+AD1k26oIIy3V7ogM1scbDjSheji8MUPC9pNgCrZ/FHLVDNgg==", "dev": true, "requires": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/environment": "^27.2.5", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "jest-docblock": "^27.0.6", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-leak-detector": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", + "jest-environment-jsdom": "^27.2.5", + "jest-environment-node": "^27.2.5", + "jest-haste-map": "^27.2.5", + "jest-leak-detector": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-runtime": "^27.2.5", + "jest-util": "^27.2.5", + "jest-worker": "^27.2.5", "source-map-support": "^0.5.6", "throat": "^6.0.1" }, @@ -72799,19 +69404,19 @@ } }, "jest-runtime": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.1.0.tgz", - "integrity": "sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.2.5.tgz", + "integrity": "sha512-N0WRZ3QszKyZ3Dm27HTBbBuestsSd3Ud5ooVho47XZJ8aSKO/X1Ag8M1dNx9XzfGVRNdB/xCA3lz8MJwIzPLLA==", "dev": true, "requires": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/globals": "^27.1.0", + "@jest/console": "^27.2.5", + "@jest/environment": "^27.2.5", + "@jest/fake-timers": "^27.2.5", + "@jest/globals": "^27.2.5", "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/yargs": "^16.0.0", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", @@ -72820,17 +69425,17 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-mock": "^27.2.5", "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", + "jest-resolve": "^27.2.5", + "jest-snapshot": "^27.2.5", + "jest-util": "^27.2.5", + "jest-validate": "^27.2.5", "slash": "^3.0.0", "strip-bom": "^4.0.0", - "yargs": "^16.0.3" + "yargs": "^16.2.0" }, "dependencies": { "@types/yargs": { @@ -72876,12 +69481,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -72895,14 +69494,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "supports-color": { @@ -72948,9 +69547,9 @@ } }, "jest-snapshot": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.1.0.tgz", - "integrity": "sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.5.tgz", + "integrity": "sha512-2/Jkn+VN6Abwz0llBltZaiJMnL8b1j5Bp/gRIxe9YR3FCEh9qp0TXVV0dcpTGZ8AcJV1SZGQkczewkI9LP5yGw==", "dev": true, "requires": { "@babel/core": "^7.7.2", @@ -72959,23 +69558,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/transform": "^27.2.5", + "@jest/types": "^27.2.5", "@types/babel__traverse": "^7.0.4", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.1.0", + "expect": "^27.2.5", "graceful-fs": "^4.2.4", - "jest-diff": "^27.1.0", + "jest-diff": "^27.2.5", "jest-get-type": "^27.0.6", - "jest-haste-map": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", + "jest-haste-map": "^27.2.5", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-resolve": "^27.2.5", + "jest-util": "^27.2.5", "natural-compare": "^1.4.0", - "pretty-format": "^27.1.0", + "pretty-format": "^27.2.5", "semver": "^7.3.2" }, "dependencies": { @@ -73031,12 +69630,12 @@ } }, "jest-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz", - "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.2.5.tgz", + "integrity": "sha512-QRhDC6XxISntMzFRd/OQ6TGsjbzA5ONO0tlAj2ElHs155x1aEr0rkYJBEysG6H/gZVH3oGFzCdAB/GA8leh8NQ==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "@types/node": "*", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", @@ -73096,17 +69695,17 @@ } }, "jest-validate": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.1.0.tgz", - "integrity": "sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.5.tgz", + "integrity": "sha512-XgYtjS89nhVe+UfkbLgcm+GgXKWgL80t9nTcNeejyO3t0Sj/yHE8BtIJqjZu9NXQksYbGImoQRXmQ1gP+Guffw==", "dev": true, "requires": { - "@jest/types": "^27.1.0", + "@jest/types": "^27.2.5", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^27.0.6", "leven": "^3.1.0", - "pretty-format": "^27.1.0" + "pretty-format": "^27.2.5" }, "dependencies": { "ansi-styles": { @@ -73167,17 +69766,17 @@ } }, "jest-watcher": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.1.0.tgz", - "integrity": "sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.2.5.tgz", + "integrity": "sha512-umV4qGozg2Dn6DTTtqAh9puPw+DGLK9AQas7+mWjiK8t0fWMpxKg8ZXReZw7L4C88DqorsGUiDgwHNZ+jkVrkQ==", "dev": true, "requires": { - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", + "@jest/test-result": "^27.2.5", + "@jest/types": "^27.2.5", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.1.0", + "jest-util": "^27.2.5", "string-length": "^4.0.1" }, "dependencies": { @@ -73233,9 +69832,9 @@ } }, "jest-worker": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.0.tgz", - "integrity": "sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "dev": true, "requires": { "@types/node": "*", @@ -73266,9 +69865,9 @@ "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "js-base64": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.1.tgz", - "integrity": "sha512-Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz", + "integrity": "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==" }, "js-beautify": { "version": "1.14.0", @@ -73282,12 +69881,22 @@ "nopt": "^5.0.0" } }, + "js-crc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/js-crc/-/js-crc-0.2.0.tgz", + "integrity": "sha1-9yxcdhgXa/91zIEqHO2949jraDk=" + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + }, "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -73351,16 +69960,10 @@ "xml-name-validator": "^3.0.0" }, "dependencies": { - "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true - }, "ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true, "requires": {} } @@ -73470,12 +70073,12 @@ } }, "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", "dev": true, "requires": { - "array-includes": "^3.1.2", + "array-includes": "^3.1.3", "object.assign": "^4.1.2" } }, @@ -73539,9 +70142,9 @@ } }, "keypair": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.3.tgz", - "integrity": "sha512-0wjZ2z/SfZZq01+3/8jYLd8aEShSa+aat1zyPGQY3IuKoEAp6DJGvu2zt6snELrQU9jbCkIlCyNOD7RdQbHhkQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" }, "keyv": { "version": "3.1.0", @@ -73606,13 +70209,13 @@ } }, "level": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-7.0.0.tgz", - "integrity": "sha512-QrBnjcWywalh86ms9hfizvxT5aBHrgWEu6rLChS9tFE2wwFU3aI1r0v+2SSZIyeUr4O4PFo8+sCc1kebahdhlw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-7.0.1.tgz", + "integrity": "sha512-w3E64+ALx2eZf8RV5JL4kIcE0BFAvQscRYd1yU4YVqZN9RGTQxXSvH202xvK15yZwFFxRXe60f13LJjcJ//I4Q==", "requires": { - "level-js": "^6.0.0", - "level-packager": "^6.0.0", - "leveldown": "^6.0.0" + "level-js": "^6.1.0", + "level-packager": "^6.0.1", + "leveldown": "^6.1.0" } }, "level-codec": { @@ -73640,12 +70243,9 @@ "integrity": "sha512-UHGiIdj+uiFQorOrURRvJF3Ei0uHc89ciM/aRi0qsWDV2f0HXypeXUPhJKL6DsONgSR76Pc0AI4sKYEYYRn2Dg==" }, "level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-MZXOQT061uEjxxxq4C/Jf+M3RdEKK9e3NbxlN7yOp1LDYoLVAhE2i1j0b7XqXfl8FjFtUL7phwr3Sn0wXXoMqA==", - "requires": { - "errno": "^1.0.0" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.1.tgz", + "integrity": "sha512-tqTL2DxzPDzpwl0iV5+rBCv65HWbHp6eutluHNcVIftKZlQN//b6GEnZDM2CvGZvzGYMwyPtYppYnydBQd2SMQ==" }, "level-iterator-stream": { "version": "5.0.0", @@ -73669,14 +70269,15 @@ } }, "level-js": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-6.0.0.tgz", - "integrity": "sha512-7dp7JuaoQoqKW4ZGvrV1RB5f51/ktLdEo9fSDsh3Ofmg7sKCMu3X0CIngbY/IUz/YyskhN7LRvEVIkZHCY3LKQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-6.1.0.tgz", + "integrity": "sha512-i7mPtkZm68aewfv0FnIUWvFUFfoyzIvVKnUmuQGrelEkP72vSPTaA1SGneWWoCV5KZJG4wlzbJLp1WxVNGuc6A==", "requires": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "buffer": "^6.0.3", "inherits": "^2.0.3", - "ltgt": "^2.1.2" + "ltgt": "^2.1.2", + "run-parallel-limit": "^1.1.0" }, "dependencies": { "buffer": { @@ -73750,15 +70351,6 @@ "level-errors": "^2.0.0" } }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", @@ -73846,18 +70438,18 @@ } }, "level-packager": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-6.0.0.tgz", - "integrity": "sha512-me656XRWfOVqs9wc+mWckZ6Rb1GuP33ndN4ZntDXwXFspX8cGA++Y+YqJsdE/mjTiipTuxXf047Z4rV62nOVuw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-6.0.1.tgz", + "integrity": "sha512-8Ezr0XM6hmAwqX9uu8IGzGNkWz/9doyPA8Oo9/D7qcMI6meJC+XhIbNYHukJhIn8OGdlzQs/JPcL9B8lA2F6EQ==", "requires": { - "encoding-down": "^7.0.0", - "levelup": "^5.0.0" + "encoding-down": "^7.1.0", + "levelup": "^5.1.1" } }, "level-supports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.0.0.tgz", - "integrity": "sha512-8UJgzo1pvWP1wq80ZlkL19fPeK7tlyy0sBY90+2pj0x/kvzHCoLDWyuFJJMrsTn33oc7hbMkS3SkjCxMRPHWaw==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.0.2.tgz", + "integrity": "sha512-dU1W7OnntoCXeNfy9c93K7KEoGNsuP+zZLbUQrIbBzhdZ75U0h8GEcioqmJc1QpYVORyFfeR+kyFeNx2N4t7lg==" }, "level-ws": { "version": "0.0.0", @@ -73905,25 +70497,25 @@ } }, "leveldown": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.0.1.tgz", - "integrity": "sha512-D1fz5G58UrLBg5pXcN1pNxWtNLXwBiZsYt06XqjhD5zBHj/ws7xvZe3K0ZAhCbYuL9b4nbRCim8Z15HYWL2exQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", "requires": { - "abstract-leveldown": "^7.0.0", + "abstract-leveldown": "^7.2.0", "napi-macros": "~2.0.0", - "node-gyp-build": "~4.2.1" + "node-gyp-build": "^4.3.0" } }, "levelup": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.0.1.tgz", - "integrity": "sha512-MJvQgBRQmB+E5+d6Qbxqm05N4U9NzOxGNhXx0rR8maRBwmVuVV+m4IV3N4HzZJW8JwiJ0jj92RZaytcD+Hr1CA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.1.1.tgz", + "integrity": "sha512-0mFCcHcEebOwsQuk00WJwjLI6oCjbBuEYdh/RaRqhjnyVlzqf41T1NnDtCedumZ56qyIh8euLFDqV1KfzTAVhg==", "requires": { "catering": "^2.0.0", - "deferred-leveldown": "^6.0.0", - "level-errors": "^3.0.0", + "deferred-leveldown": "^7.0.0", + "level-errors": "^3.0.1", "level-iterator-stream": "^5.0.0", - "level-supports": "^2.0.0", + "level-supports": "^2.0.1", "queue-microtask": "^1.2.3" } }, @@ -73943,23 +70535,24 @@ } }, "libp2p": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.32.4.tgz", - "integrity": "sha512-GSImpWJmjFqjXrv9sgJfwaWhMF+J07nNZJknobvgWXXki9W/1a5UsNVyw/1Z2licvsc+aUmCxDgV92lbUvTeSw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.33.0.tgz", + "integrity": "sha512-ZNcxWJWNBmlLa9STcYbZyS3so/JEpI7kNLjIUIhIdntjJC9z+OMbGiqfPFcaMejMpjb/j+qpsqsiayjG0p9qIA==", "requires": { "@motrix/nat-api": "^0.3.1", "@vascosantos/moving-average": "^1.1.0", "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", "aggregate-error": "^3.1.0", "any-signal": "^2.1.1", "bignumber.js": "^9.0.1", "class-is": "^1.1.0", "debug": "^4.3.1", "err-code": "^3.0.0", - "es6-promisify": "^6.1.1", + "es6-promisify": "^7.0.0", "events": "^3.3.0", "hashlru": "^2.3.0", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "it-all": "^1.0.4", "it-buffer": "^0.1.2", "it-drain": "^1.0.3", @@ -74064,26 +70657,26 @@ } }, "libp2p-gossipsub": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.11.1.tgz", - "integrity": "sha512-apWeUsCoCIaXFw7NMAm/UH3OiODS/00hRc3ZSckvrV3lRfXh6TU1Q+IbPX0Z4u0ODo7eLXuq6n+JpYitlkB2qg==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.11.4.tgz", + "integrity": "sha512-CqI+VgB2k+rVr+OKRPLj8g7EekMM5PciIOWFnG8R1z38/it5JyvyZCVtXcaMO5EaSPwlRiiXpi4kPmxQdntIUg==", "requires": { "@types/debug": "^4.1.5", "debug": "^4.3.1", "denque": "^1.5.0", "err-code": "^3.0.1", "it-pipe": "^1.1.0", - "libp2p-interfaces": "^1.0.1", - "peer-id": "^0.15.0", + "libp2p-interfaces": "^1.1.0", + "peer-id": "^0.15.3", "protobufjs": "^6.11.2", "time-cache": "^0.3.0", "uint8arrays": "^3.0.0" } }, "libp2p-interfaces": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.1.0.tgz", - "integrity": "sha512-5nc/HZJgeks1qfkyYQdI84hcZLF4SJKJSUx33JpO0w7v7R+obz+HOwk0GSa4/ZvQHjX+/+OWC4NYVA0yZxZXag==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.1.1.tgz", + "integrity": "sha512-DjV+iou2j3jAzczaSzUIg/XU83ddFlxEpWXAeQIGnl3Y87uDAfmElC0wWtkhN/rfwJS4644iacxxy2/a+RQ/7Q==", "requires": { "abort-controller": "^3.0.0", "abortable-iterator": "^3.0.0", @@ -74095,23 +70688,25 @@ "libp2p-crypto": "^0.19.5", "multiaddr": "^10.0.0", "multiformats": "^9.1.2", + "p-queue": "^6.6.2", "peer-id": "^0.15.0", "protobufjs": "^6.10.2", "uint8arrays": "^3.0.0" } }, "libp2p-kad-dht": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.23.2.tgz", - "integrity": "sha512-bwKY15upVSNOCE0g2gaiQOucWd9MALP/x3HcmGp0lmbMW4QvfOku+6FWmqZns5Jbk1wP25vbTkMy5bmYkTGQrw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.25.0.tgz", + "integrity": "sha512-xZpCpdAVjLRoj1CHKM0wG9qbjaV4BtxtYrKYlXXfq/pfH7M7XPRQSLB2BMM8bkBEqONCykxXRsXVa6/jviPbsg==", "requires": { - "abort-controller": "^3.0.0", + "datastore-core": "^6.0.7", "debug": "^4.3.1", "err-code": "^3.0.0", "hashlru": "^2.3.0", "heap": "~0.2.6", - "interface-datastore": "^5.1.1", + "interface-datastore": "^6.0.2", "it-first": "^1.0.4", + "it-length": "^1.0.3", "it-length-prefixed": "^5.0.2", "it-pipe": "^1.1.0", "k-bucket": "^5.1.0", @@ -74123,13 +70718,11 @@ "p-map": "^4.0.0", "p-queue": "^6.6.2", "p-timeout": "^4.1.0", - "p-times": "^3.0.0", "peer-id": "^0.15.0", "protobufjs": "^6.10.2", "streaming-iterables": "^6.0.0", "uint8arrays": "^3.0.0", - "varint": "^6.0.0", - "xor-distance": "^2.0.0" + "varint": "^6.0.0" } }, "libp2p-mdns": { @@ -74159,9 +70752,9 @@ } }, "libp2p-record": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.5.tgz", - "integrity": "sha512-2HAjCE44xH6mHazduDl/3pZ2kRW6XZNWv1r0etMRtTRAZUsoUbbVRXiMLA7fovMthYEwqsjThXFsOgPsJSQU5A==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.6.tgz", + "integrity": "sha512-CbdO2P9DQn/DKll6R/J4nIw6Qt8xbUTfxYgJjpP9oz3izHKkpGQo0mPTe0NyuFTGIQ4OprrxqWqG5v8ZCGBqqw==", "requires": { "err-code": "^3.0.1", "multiformats": "^9.4.5", @@ -74170,9 +70763,9 @@ } }, "libp2p-tcp": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.1.tgz", - "integrity": "sha512-Kxqb0gEi1BZT0guhWbmeyG+XhJHqod6jM3NvSvjwUaD6XmKFVt9yj4IPGnTfKPOSrkcWwAUhk6Qbv0eKSHlCnw==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz", + "integrity": "sha512-SAdgDB4Rm0olPbyvanKP5JBaiRwbIOo0Nt++WYe1U2B6akg2uatsDOtulfpnc1gsL1B5vamnOpOzKaDj4kkt8g==", "requires": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", @@ -74229,43 +70822,36 @@ } }, "libp2p-webrtc-star": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.23.0.tgz", - "integrity": "sha512-0dLuSFMBQug/Y08kwV6/aOgh2Sn1Nq3GBY6h0o0eQXvVtKFOL+HkbFmcC4jkkaabVvu8JUaYRV2JHlUxJJru9A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.24.0.tgz", + "integrity": "sha512-DvWflJF6QOsP+jqFQf8Z8cZgb6+dS8WCXFlDbROYEWXRiz2K7Dl3adCt2Z0Nqo/UTE4IVhzEttQY109rPPSTsA==", "requires": { - "@hapi/hapi": "^20.0.0", - "@hapi/inert": "^6.0.3", "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", "debug": "^4.2.0", "err-code": "^3.0.1", - "ipfs-utils": "^8.1.2", + "ipfs-utils": "^9.0.1", "it-pipe": "^1.1.0", "libp2p-utils": "^0.4.0", "libp2p-webrtc-peer": "^10.0.1", "mafmt": "^10.0.0", - "menoetius": "0.0.2", - "minimist": "^1.2.5", "multiaddr": "^10.0.0", "p-defer": "^3.0.0", "peer-id": "^0.15.0", - "prom-client": "^13.0.0", - "socket.io": "^4.1.2", "socket.io-client": "^4.1.2", - "stream-to-it": "^0.2.2", - "streaming-iterables": "^6.0.0" + "stream-to-it": "^0.2.2" } }, "libp2p-websockets": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.1.tgz", - "integrity": "sha512-HXaCdlAkG5RDZCehEnkoVzQjT1C6NIaCKLERkkZ1ArKG77K7Y7uy+8y81uNZhy4OLQ8jGUMyOvKnjw6EjKJPmw==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.2.tgz", + "integrity": "sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==", "requires": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", "debug": "^4.3.1", "err-code": "^3.0.1", - "ipfs-utils": "^8.1.2", + "ipfs-utils": "^9.0.1", "it-ws": "^4.0.0", "libp2p-utils": "^0.4.0", "mafmt": "^10.0.0", @@ -74347,8 +70933,7 @@ "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "peer": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.debounce": { "version": "4.0.8", @@ -74376,12 +70961,6 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "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==", - "peer": true - }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -74396,8 +70975,7 @@ "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "peer": true + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" }, "lodash.uniq": { "version": "4.5.0", @@ -74557,13 +71135,10 @@ } }, "mcl-wasm": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.8.tgz", - "integrity": "sha512-qNHlYO6wuEtSoH5A8TcZfCEHtw8gGPqF6hLZpQn2SVd/Mck0ELIKOkmj072D98S9B9CI/jZybTUC96q1P2/ZDw==", - "dev": true, - "requires": { - "typescript": "^4.3.4" - } + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "dev": true }, "md5.js": { "version": "1.3.5", @@ -74647,24 +71222,6 @@ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, - "menoetius": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/menoetius/-/menoetius-0.0.2.tgz", - "integrity": "sha512-7W0ayHMNgvEdFh+m3m29KA87nvT0JIGCXeSZa26fiSof+bwpg+olEjD8AAvtxZ3uhTcp2d+5r1dcV/KhR8PBVQ==", - "requires": { - "prom-client": "^11.5.3" - }, - "dependencies": { - "prom-client": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz", - "integrity": "sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==", - "requires": { - "tdigest": "^0.1.1" - } - } - } - }, "meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", @@ -74750,14 +71307,6 @@ "abstract-leveldown": "~2.6.0" } }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -74873,11 +71422,6 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, - "micro-spelling-correcter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/micro-spelling-correcter/-/micro-spelling-correcter-1.1.1.tgz", - "integrity": "sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==" - }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -74904,16 +71448,16 @@ "dev": true }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" } }, "mimic-fn": { @@ -75033,9 +71577,9 @@ } }, "mnemonist": { - "version": "0.38.3", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "version": "0.38.4", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.4.tgz", + "integrity": "sha512-mflgW0gEWmVLbDDE2gJbOh3+RltTN7CgV9jV25qyCnyLN9FtoltWr7ZtAEDeD9u8W4oFAoolR6fBWieXdn3u8Q==", "dev": true, "requires": { "obliterator": "^1.6.1" @@ -75130,6 +71674,12 @@ "ms": "^2.1.1" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -75392,9 +71942,9 @@ } }, "multicast-dns": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.3.tgz", - "integrity": "sha512-TzxgGSLRLB7tqAlzjgd2x2ZE0cDsGFq4rs9W4yE5xp+7hlRXeUQGtXZsTGfGw2FwWB45rfe8DtXMYBpZGMLUng==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", + "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", "requires": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -75416,9 +71966,9 @@ } }, "multiformats": { - "version": "9.4.6", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz", - "integrity": "sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag==" + "version": "9.4.8", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.8.tgz", + "integrity": "sha512-EOJL02/kv+FD5hoItMhKgkYUUruJYMYFq4NQ6YkCh3jVQ5CuHo+OKdHeR50hAxEQmXQ9yvrM9BxLIk42xtfwnQ==" }, "multihashes": { "version": "0.4.21", @@ -75446,49 +71996,6 @@ } } }, - "multihashing-async": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-2.1.4.tgz", - "integrity": "sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg==", - "requires": { - "blakejs": "^1.1.0", - "err-code": "^3.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^4.0.1", - "murmurhash3js-revisited": "^3.0.0", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - }, "multistream-select": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-2.0.1.tgz", @@ -75532,9 +72039,9 @@ "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" }, "nanomatch": { "version": "1.2.13", @@ -75569,575 +72076,136 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" - }, - "native-abort-controller": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", - "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==", - "requires": {} - }, - "native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "requires": {} - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "ndarray": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", - "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", - "requires": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - } - } - }, - "ndarray-pack": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", - "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", - "requires": { - "cwise-compiler": "^1.1.2", - "ndarray": "^1.0.13" - } - }, - "nebula": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/nebula/-/nebula-0.0.4.tgz", - "integrity": "sha512-2amkGezK/FDfX8gwMY9pycpRQRbHWHOTIQ9u7doC+YXqZIJxgE8dcOIhnYN3Ex7qe4/oJsBGhDRrIZmEaSpTTQ==", - "requires": { - "@ensdomains/address-encoder": "0.2.5", - "@ensdomains/content-hash": "2.5.6", - "cbor": "6.0.1", - "eth-provider": "0.7.0", - "ethers": "5.3.1", - "ipfs-http-client": "47.0", - "solc": "0.8.1" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.3.1.tgz", - "integrity": "sha512-F98FWTJG7nWWAQ4DcV6R0cSlrj67MWK3ylahuFbzkumem5cLWg1p7fZ3vIdRoS1c7TEf55Lvyx0w7ICR47IImw==", - "requires": { - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.3.0.tgz", - "integrity": "sha512-1+MLhGP1GwxBDBNwMWVmhCsvKwh4gK7oIfOrmlmePNeskg1NhIrYssraJBieaFNHUYfKEd/1DjiVZMw8Qu5Cxw==", - "requires": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/networks": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/web": "^5.3.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.3.0.tgz", - "integrity": "sha512-w8IFwOYqiPrtvosPuArZ3+QPR2nmdVTRrVY8uJYL3NNfMmQfTy3V3l2wbzX47UUlNbPJY+gKvzJAyvK1onZxJg==", - "requires": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0" - } - }, - "@ethersproject/address": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.3.0.tgz", - "integrity": "sha512-29TgjzEBK+gUEUAOfWCG7s9IxLNLCqvr+oDSk6L9TXD0VLvZJKhJV479tKQqheVA81OeGxfpdxYtUVH8hqlCvA==", - "requires": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/rlp": "^5.3.0" - } - }, - "@ethersproject/base64": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.3.0.tgz", - "integrity": "sha512-JIqgtOmgKcbc2sjGWTXyXktqUhvFUDte8fPVsAaOrcPiJf6YotNF+nsrOYGC9pbHBEGSuSBp3QR0varkO8JHEw==", - "requires": { - "@ethersproject/bytes": "^5.3.0" - } - }, - "@ethersproject/basex": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.3.0.tgz", - "integrity": "sha512-8J4nS6t/SOnoCgr3DF5WCSRLC5YwTKYpZWJqeyYQLX+86TwPhtzvHXacODzcDII9tWKhVg6g0Bka8JCBWXsCiQ==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/properties": "^5.3.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.3.0.tgz", - "integrity": "sha512-5xguJ+Q1/zRMgHgDCaqAexx/8DwDVLRemw2i6uR8KyGjwGdXI8f32QZZ1cKGucBN6ekJvpUpHy6XAuQnTv0mPA==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "bn.js": "^4.11.9" - } - }, - "@ethersproject/bytes": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.3.0.tgz", - "integrity": "sha512-rqLJjdVqCcn7glPer7Fxh87PRqlnRScVAoxcIP3PmOUNApMWJ6yRdOFfo2KvPAdO7Le3yEI1o0YW+Yvr7XCYvw==", - "requires": { - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/constants": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.3.0.tgz", - "integrity": "sha512-4y1feNOwEpgjAfiCFWOHznvv6qUF/H6uI0UKp8xdhftb+H+FbKflXg1pOgH5qs4Sr7EYBL+zPyPb+YD5g1aEyw==", - "requires": { - "@ethersproject/bignumber": "^5.3.0" - } - }, - "@ethersproject/contracts": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.3.0.tgz", - "integrity": "sha512-eDyQ8ltykvyQqnGZxb/c1e0OnEtzqXhNNC4BX8nhYBCaoBrYYuK/1fLmyEvc5+XUMoxNhwpYkoSSwvPLci7/Zg==", - "requires": { - "@ethersproject/abi": "^5.3.0", - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/transactions": "^5.3.0" - } - }, - "@ethersproject/hash": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.3.0.tgz", - "integrity": "sha512-gAFZSjUPQ32CIfoKSMtMEQ+IO0kQxqhwz9fCIFt2DtAq2u4pWt8mL9Z5P0r6KkLcQU8LE9FmuPPyd+JvBzmr1w==", - "requires": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.3.0.tgz", - "integrity": "sha512-zLmmtLNoDMGoYRdjOab01Zqkvp+TmZyCGDAMQF1Bs3yZyBs/kzTNi1qJjR1jVUcPP5CWGtjFwY8iNG8oNV9J8g==", - "requires": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/basex": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/pbkdf2": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/wordlists": "^5.3.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.3.0.tgz", - "integrity": "sha512-/xwbqaIb5grUIGNmeEaz8GdcpmDr++X8WT4Jqcclnxow8PXCUHFeDxjf3O+nSuoqOYG/Ds0+BI5xuQKbva6Xkw==", - "requires": { - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hdnode": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/pbkdf2": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.3.0.tgz", - "integrity": "sha512-Gv2YqgIUmRbYVNIibafT0qGaeGYLIA/EdWHJ7JcVxVSs2vyxafGxOJ5VpSBHWeOIsE6OOaCelYowhuuTicgdFQ==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "js-sha3": "0.5.7" - } - }, - "@ethersproject/logger": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.3.0.tgz", - "integrity": "sha512-8bwJ2gxJGkZZnpQSq5uSiZSJjyVTWmlGft4oH8vxHdvO1Asy4TwVepAhPgxIQIMxXZFUNMych1YjIV4oQ4I7dA==" - }, - "@ethersproject/networks": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.3.1.tgz", - "integrity": "sha512-6uQKHkYChlsfeiZhQ8IHIqGE/sQsf25o9ZxAYpMxi15dLPzz3IxOEF5KiSD32aHwsjXVBKBSlo+teAXLlYJybw==", - "requires": { - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.3.0.tgz", - "integrity": "sha512-Q9ChVU6gBFiex0FSdtzo4b0SAKz3ZYcYVFLrEWHL0FnHvNk3J3WgAtRNtBQGQYn/T5wkoTdZttMbfBkFlaiWcA==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/sha2": "^5.3.0" - } - }, - "@ethersproject/properties": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.3.0.tgz", - "integrity": "sha512-PaHxJyM5/bfusk6vr3yP//JMnm4UEojpzuWGTmtL5X4uNhNnFNvlYilZLyDr4I9cTkIbipCMsAuIcXWsmdRnEw==", - "requires": { - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/providers": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.3.1.tgz", - "integrity": "sha512-HC63vENTrur6/JKEhcQbA8PRDj1FAesdpX98IW+xAAo3EAkf70ou5fMIA3KCGzJDLNTeYA4C2Bonz849tVLekg==", - "requires": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/basex": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/networks": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/rlp": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/strings": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/web": "^5.3.0", - "bech32": "1.1.4", - "ws": "7.4.6" - }, - "dependencies": { - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } - } - }, - "@ethersproject/random": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.3.0.tgz", - "integrity": "sha512-A5SL/4inutSwt3Fh2OD0x2gz+x6GHmuUnIPkR7zAiTidMD2N8F6tZdMF1hlQKWVCcVMWhEQg8mWijhEzm6BBYw==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/rlp": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.3.0.tgz", - "integrity": "sha512-oI0joYpsRanl9guDubaW+1NbcpK0vJ3F/6Wpcanzcnqq+oaW9O5E98liwkEDPcb16BUTLIJ+ZF8GPIHYxJ/5Pw==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/sha2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.3.0.tgz", - "integrity": "sha512-r5ftlwKcocYEuFz2JbeKOT5SAsCV4m1RJDsTOEfQ5L67ZC7NFDK5i7maPdn1bx4nPhylF9VAwxSrQ1esmwzylg==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.3.0.tgz", - "integrity": "sha512-+DX/GwHAd0ok1bgedV1cKO0zfK7P/9aEyNoaYiRsGHpCecN7mhLqcdoUiUzE7Uz86LBsxm5ssK0qA1kBB47fbQ==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.3.0.tgz", - "integrity": "sha512-uLRBaNUiISHbut94XKewJgQh6UmydWTBp71I7I21pkjVXfZO2dJ5EOo3jCnumJc01M4LOm79dlNNmF3oGIvweQ==", - "requires": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/sha2": "^5.3.0", - "@ethersproject/strings": "^5.3.0" - } - }, - "@ethersproject/strings": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.3.0.tgz", - "integrity": "sha512-j/AzIGZ503cvhuF2ldRSjB0BrKzpsBMtCieDtn4TYMMZMQ9zScJn9wLzTQl/bRNvJbBE6TOspK0r8/Ngae/f2Q==", - "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/transactions": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.3.0.tgz", - "integrity": "sha512-cdfK8VVyW2oEBCXhURG0WQ6AICL/r6Gmjh0e4Bvbv6MCn/GBd8FeBH3rtl7ho+AW50csMKeGv3m3K1HSHB2jMQ==", - "requires": { - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/rlp": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0" - } - }, - "@ethersproject/units": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.3.0.tgz", - "integrity": "sha512-BkfccZGwfJ6Ob+AelpIrgAzuNhrN2VLp3AILnkqTOv+yBdsc83V4AYf25XC/u0rHnWl6f4POaietPwlMqP2vUg==", + "dev": true, "requires": { - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/constants": "^5.3.0", - "@ethersproject/logger": "^5.3.0" - } - }, - "@ethersproject/wallet": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.3.0.tgz", - "integrity": "sha512-boYBLydG6671p9QoG6EinNnNzbm7DNOjVT20eV8J6HQEq4aUaGiA2CytF2vK+2rOEWbzhZqoNDt6AlkE1LlsTg==", - "requires": { - "@ethersproject/abstract-provider": "^5.3.0", - "@ethersproject/abstract-signer": "^5.3.0", - "@ethersproject/address": "^5.3.0", - "@ethersproject/bignumber": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/hdnode": "^5.3.0", - "@ethersproject/json-wallets": "^5.3.0", - "@ethersproject/keccak256": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0", - "@ethersproject/transactions": "^5.3.0", - "@ethersproject/wordlists": "^5.3.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, - "@ethersproject/web": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.3.0.tgz", - "integrity": "sha512-Ni6/DHnY6k/TD41LEkv0RQDx4jqWz5e/RZvrSecsxGYycF+MFy2z++T/yGc2peRunLOTIFwEksgEGGlbwfYmhQ==", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { - "@ethersproject/base64": "^5.3.0", - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" + "kind-of": "^6.0.0" } }, - "@ethersproject/wordlists": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.3.0.tgz", - "integrity": "sha512-JcwumCZcsUxgWpiFU/BRy6b4KlTRdOmYvOKZcAw/3sdF93/pZyPW5Od2hFkHS8oWp4xS06YQ+qHqQhdcxdHafQ==", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { - "@ethersproject/bytes": "^5.3.0", - "@ethersproject/hash": "^5.3.0", - "@ethersproject/logger": "^5.3.0", - "@ethersproject/properties": "^5.3.0", - "@ethersproject/strings": "^5.3.0" + "kind-of": "^6.0.0" } }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" - }, - "any-signal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-1.2.0.tgz", - "integrity": "sha512-Cl08k4xItix3jvu4cxO/dt2rQ6iUAjO66pTyRMub+WL1VXeAyZydCpD8GqWTPKfdL28U0R0UucmQVsUsBnvCmQ==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { - "abort-controller": "^3.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "is-plain-object": "^2.0.4" } - }, - "blob-to-it": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-0.0.2.tgz", - "integrity": "sha512-3/NRr0mUWQTkS71MYEC1teLbT5BTs7RZ6VMPXDV6qApjw3B4TAZspQuvDkYfHuD/XzL5p/RO91x5XRPeJvcCqg==", + } + } + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "requires": {} + }, + "native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "requires": {} + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "requires": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } + } + }, + "ndarray-pack": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", + "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", + "requires": { + "cwise-compiler": "^1.1.2", + "ndarray": "^1.0.13" + } + }, + "nebula": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/nebula/-/nebula-0.0.6.tgz", + "integrity": "sha512-tRyO9e5oqeI7xC8Tn23TxHt/QxvaBe/cuBSrhveg3H2sD3A0TPddH1PTA7itWchqvKxEgQ7Gf5qvBljRiCkyKQ==", + "requires": { + "@ensdomains/address-encoder": "0.2.8", + "@ensdomains/content-hash": "2.5.7", + "cbor": "8.0.0", + "eth-ens-namehash": "2.0.8", + "eth-provider": "0.9.4", + "ethers": "5.4.6", + "ipfs-http-client": "52.0", + "solc": "0.8.6" + }, + "dependencies": { + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", "requires": { - "browser-readablestream-to-it": "^0.0.2" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" } }, - "browser-readablestream-to-it": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-0.0.2.tgz", - "integrity": "sha512-bbiTccngeAbPmpTUJcUyr6JhivADKV9xkNJVLdA91vjdzXyFBZ6fgrzElQsV3k1UNGQACRTl3p4y+cEGG9U48A==" - }, - "cids": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", - "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "multibase": "^4.0.1", - "multicodec": "^3.0.1", - "multihashes": "^4.0.1", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "requires": { - "@multiformats/base-x": "^4.0.1" - } - }, - "multicodec": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.0.tgz", - "integrity": "sha512-egjp5aOrXeffr4VU0Qcmq9JtNuk61F0z/CJwK+yk+MQpkNTZPu6Uq2rIUzMq23fgAgMIgM6iE6SugF3zMvdoYg==", - "requires": { - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "multihashes": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", - "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", - "requires": { - "multibase": "^4.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.2" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - } + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, "commander": { @@ -76145,379 +72213,200 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "ethers": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", + "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", + "requires": { + "@ethersproject/abi": "5.4.1", + "@ethersproject/abstract-provider": "5.4.1", + "@ethersproject/abstract-signer": "5.4.1", + "@ethersproject/address": "5.4.0", + "@ethersproject/base64": "5.4.0", + "@ethersproject/basex": "5.4.0", + "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bytes": "5.4.0", + "@ethersproject/constants": "5.4.0", + "@ethersproject/contracts": "5.4.1", + "@ethersproject/hash": "5.4.0", + "@ethersproject/hdnode": "5.4.0", + "@ethersproject/json-wallets": "5.4.0", + "@ethersproject/keccak256": "5.4.0", + "@ethersproject/logger": "5.4.1", + "@ethersproject/networks": "5.4.2", + "@ethersproject/pbkdf2": "5.4.0", + "@ethersproject/properties": "5.4.1", + "@ethersproject/providers": "5.4.5", + "@ethersproject/random": "5.4.0", + "@ethersproject/rlp": "5.4.0", + "@ethersproject/sha2": "5.4.0", + "@ethersproject/signing-key": "5.4.0", + "@ethersproject/solidity": "5.4.0", + "@ethersproject/strings": "5.4.0", + "@ethersproject/transactions": "5.4.0", + "@ethersproject/units": "5.4.0", + "@ethersproject/wallet": "5.4.0", + "@ethersproject/web": "5.4.0", + "@ethersproject/wordlists": "5.4.0" + } }, - "eth-provider": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/eth-provider/-/eth-provider-0.7.0.tgz", - "integrity": "sha512-6YJfLNN5PcQKrnqN6BGpDP/+YKr8wf/AergP++aVqNBfVl1uH/0U3pCm5BzJ3UoAnY5FfgA5MPt/TQgU8q54kA==", + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { - "ethereum-provider": "0.2.2", - "events": "3.3.0", - "oboe": "2.1.5", - "uuid": "8.3.2", - "ws": "7.5.0", - "xhr2-cookies": "1.1.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "ethereum-provider": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ethereum-provider/-/ethereum-provider-0.2.2.tgz", - "integrity": "sha512-147DaU4nccfYYCAKhrILdgSWTjjZX2NnmcZJx12frM+cNw8cGTbpQPpi4xApagIk7HlN16ZncCP5uyOiZN7n3g==", + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { - "events": "3.2.0" - }, - "dependencies": { - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - } + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, - "ethers": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.3.1.tgz", - "integrity": "sha512-xCKmC0gsZ9gks89ZfK3B1y6LlPdvX5fxDtu9SytnpdDJR1M7pmJI+4H0AxQPMgUYr7GtQdmECLR0gWdJQ+lZYw==", - "requires": { - "@ethersproject/abi": "5.3.1", - "@ethersproject/abstract-provider": "5.3.0", - "@ethersproject/abstract-signer": "5.3.0", - "@ethersproject/address": "5.3.0", - "@ethersproject/base64": "5.3.0", - "@ethersproject/basex": "5.3.0", - "@ethersproject/bignumber": "5.3.0", - "@ethersproject/bytes": "5.3.0", - "@ethersproject/constants": "5.3.0", - "@ethersproject/contracts": "5.3.0", - "@ethersproject/hash": "5.3.0", - "@ethersproject/hdnode": "5.3.0", - "@ethersproject/json-wallets": "5.3.0", - "@ethersproject/keccak256": "5.3.0", - "@ethersproject/logger": "5.3.0", - "@ethersproject/networks": "5.3.1", - "@ethersproject/pbkdf2": "5.3.0", - "@ethersproject/properties": "5.3.0", - "@ethersproject/providers": "5.3.1", - "@ethersproject/random": "5.3.0", - "@ethersproject/rlp": "5.3.0", - "@ethersproject/sha2": "5.3.0", - "@ethersproject/signing-key": "5.3.0", - "@ethersproject/solidity": "5.3.0", - "@ethersproject/strings": "5.3.0", - "@ethersproject/transactions": "5.3.0", - "@ethersproject/units": "5.3.0", - "@ethersproject/wallet": "5.3.0", - "@ethersproject/web": "5.3.0", - "@ethersproject/wordlists": "5.3.0" + "interface-datastore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.2.0.tgz", + "integrity": "sha512-nthO4C4BMJM2j9x/mT2KFa/g/sbcY8yf9j/kOBgli3u5mq9ZdPvQyDxi0OhKzr4JmoM81OYh5xcFjyebquqwvA==", + "requires": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "ipfs-utils": "^8.1.2", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + }, + "ipfs-core-types": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.7.3.tgz", + "integrity": "sha512-FkmOlqhEf3yG0K8Qt7We7kqA0xKjj8pe0dmNK593I3cgMP0MQS/xjMj1CXVdGeZc5Nn5CJ+TsuQydPbJ+7Y8eQ==", "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "interface-datastore": "^5.2.0", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.1" } }, "ipfs-core-utils": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.4.0.tgz", - "integrity": "sha512-IBPFvYjWPfVFpCeYUL/0gCUOabdBhh7aO5i4tU//UlF2gVCXPH4PRYlbBH9WM83zE2+o4vDi+dBXsdAI6nLPAg==", - "requires": { - "blob-to-it": "0.0.2", - "browser-readablestream-to-it": "0.0.2", - "cids": "^1.0.0", - "err-code": "^2.0.0", - "ipfs-utils": "^3.0.0", - "it-all": "^1.0.1", - "it-map": "^1.0.2", - "it-peekable": "0.0.1", - "uint8arrays": "^1.1.0" - }, - "dependencies": { - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - } + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.10.5.tgz", + "integrity": "sha512-WPRbMkbn/99pKMF3h8x1/c19+eTXVWOZu1+cmlc3NLR6gMlCd8KNpcq9OCAvs9G1JHx3w/FbEWHnqJm0TJMvrw==", + "requires": { + "any-signal": "^2.1.2", + "blob-to-it": "^1.0.1", + "browser-readablestream-to-it": "^1.0.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.7.3", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^8.1.4", + "it-all": "^1.0.4", + "it-map": "^1.0.4", + "it-peekable": "^1.0.2", + "multiaddr": "^10.0.0", + "multiaddr-to-uri": "^8.0.0", + "multiformats": "^9.4.1", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^3.0.0" } }, "ipfs-http-client": { - "version": "47.0.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-47.0.1.tgz", - "integrity": "sha512-IAQf+uTLvXw5QFOzbyhu/5lH3rn7jEwwwdCGaNKVhoPI7yfyOV0wRse3hVWejjP1Id0P9mKuMKG8rhcY7pVAdQ==", + "version": "52.0.5", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-52.0.5.tgz", + "integrity": "sha512-vQ2z6JdBcIJvf6N1Bh/ZdpYBa7fgl0jFV8Rn3HaADhHnIZ/dou8e6nSxHkBPpw2OUyR4ljjjsDvmy2SIIQXohA==", "requires": { + "@ipld/dag-cbor": "^6.0.5", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "any-signal": "^1.1.0", - "bignumber.js": "^9.0.0", - "cids": "^1.0.0", - "debug": "^4.1.0", - "form-data": "^3.0.0", - "ipfs-core-utils": "^0.4.0", - "ipfs-utils": "^3.0.0", - "ipld-block": "^0.10.0", - "ipld-dag-cbor": "^0.17.0", - "ipld-dag-pb": "^0.20.0", - "ipld-raw": "^6.0.0", - "iso-url": "^0.4.7", - "it-last": "^1.0.2", - "it-map": "^1.0.2", - "it-tar": "^1.2.2", - "it-to-buffer": "^1.0.0", - "it-to-stream": "^0.1.1", - "merge-options": "^2.0.0", - "multiaddr": "^8.0.0", - "multiaddr-to-uri": "^6.0.0", - "multibase": "^3.0.0", - "multicodec": "^2.0.0", - "multihashes": "^3.0.1", - "nanoid": "^3.0.2", - "node-fetch": "^2.6.0", - "parse-duration": "^0.4.4", - "stream-to-it": "^0.2.1", - "uint8arrays": "^1.1.0" - }, - "dependencies": { - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - } + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "form-data": "^4.0.0", + "ipfs-core-types": "^0.7.3", + "ipfs-core-utils": "^0.10.5", + "ipfs-utils": "^8.1.4", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.1", + "nanoid": "^3.1.12", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" } }, "ipfs-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-3.0.0.tgz", - "integrity": "sha512-qahDc+fghrM57sbySr2TeWjaVR/RH/YEB/hvdAjiTbjESeD87qZawrXwj+19Q2LtGmFGusKNLo5wExeuI5ZfDQ==", + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", + "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", "requires": { "abort-controller": "^3.0.0", - "any-signal": "^1.1.0", - "buffer": "^5.6.0", - "err-code": "^2.0.0", - "fs-extra": "^9.0.1", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", "is-electron": "^2.2.0", - "iso-url": "^0.4.7", - "it-glob": "0.0.8", - "merge-options": "^2.0.0", - "nanoid": "^3.1.3", - "node-fetch": "^2.6.0", - "stream-to-it": "^0.2.0" + "iso-url": "^1.1.5", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "react-native-fetch-api": "^2.0.0", + "stream-to-it": "^0.2.2" } }, - "it-concat": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-concat/-/it-concat-1.0.3.tgz", - "integrity": "sha512-sjeZQ1BWQ9U/W2oI09kZgUyvSWzQahTkOkLIsnEPgyqZFaF9ME5gV6An4nMjlyhXKWQMKEakQU8oRHs2SdmeyA==", - "requires": { - "bl": "^4.0.0" - } + "iso-url": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz", + "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==" }, "it-glob": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.8.tgz", - "integrity": "sha512-PmIAgb64aJPM6wwT1UTlNDAJnNgdGrvr0vRr3AYCngcUuq1KaAovuz0dQAmUkaXudDG3EQzc7OttuLW9DaL3YQ==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz", + "integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==", "requires": { - "fs-extra": "^8.1.0", + "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "it-peekable": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-0.0.1.tgz", - "integrity": "sha512-fd0JzbNldseeq+FFWthbqYB991UpKNyjPG6LqFhIOmJviCxSompMyoopKIXvLPLY+fBhhv2CT5PT31O/lEnTHw==" - }, - "it-reader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-2.1.0.tgz", - "integrity": "sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw==", - "requires": { - "bl": "^4.0.0" - } - }, - "it-tar": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/it-tar/-/it-tar-1.2.2.tgz", - "integrity": "sha512-M8V4a9I+x/vwXTjqvixcEZbQZHjwDIb8iUQ+D4M2QbhAdNs3WKVSl+45u5/F2XFx6jYMFOGzMVlKNK/uONgNIA==", - "requires": { - "bl": "^4.0.0", - "buffer": "^5.4.3", - "iso-constants": "^0.1.2", - "it-concat": "^1.0.0", - "it-reader": "^2.0.0", - "p-defer": "^3.0.0" - } - }, - "it-to-buffer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-to-buffer/-/it-to-buffer-1.0.5.tgz", - "integrity": "sha512-dczvg0VeXkfr2i2IQ3GGWEATBbk4Uggr+YnvBz76/Yp0zFJZTIOeDCz2KyFDxSDHNI62OlldbJXWmDPb5nFQeg==", - "requires": { - "buffer": "^5.5.0" - } - }, - "it-to-stream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.2.tgz", - "integrity": "sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==", - "requires": { - "buffer": "^5.6.0", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "merge-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-2.0.0.tgz", - "integrity": "sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==", - "requires": { - "is-plain-obj": "^2.0.0" - } - }, - "multiaddr": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz", - "integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==", - "requires": { - "cids": "^1.0.0", - "class-is": "^1.1.0", - "dns-over-http-resolver": "^1.0.0", - "err-code": "^2.0.3", - "is-ip": "^3.1.0", - "multibase": "^3.0.0", - "uint8arrays": "^1.1.0", - "varint": "^5.0.0" - }, - "dependencies": { - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - }, - "multiaddr-to-uri": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz", - "integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==", - "requires": { - "multiaddr": "^8.0.0" - } - }, - "multibase": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", - "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", - "requires": { - "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.6" } }, - "multicodec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", - "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", - "requires": { - "uint8arrays": "1.1.0", - "varint": "^6.0.0" - }, - "dependencies": { - "uint8arrays": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", - "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", - "requires": { - "multibase": "^3.0.0", - "web-encoding": "^1.0.2" - } - } - } + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "multihashes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.2.tgz", - "integrity": "sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ==", + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "multibase": "^3.1.0", - "uint8arrays": "^2.0.5", - "varint": "^6.0.0" - }, - "dependencies": { - "uint8arrays": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", - "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", - "requires": { - "multiformats": "^9.4.2" - } - } + "graceful-fs": "^4.1.6" } }, - "parse-duration": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.4.4.tgz", - "integrity": "sha512-KbAJuYGUhZkB9gotDiKLnZ7Z3VTacK3fgwmDdB6ZVDtJbMBT6MfLga0WJaYpPDu0mzqT0NgHtHDt5PY4l0nidg==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "node-fetch": { + "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==" }, "rimraf": { "version": "2.7.1", @@ -76533,9 +72422,9 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "solc": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.1.tgz", - "integrity": "sha512-rqB8wlL20I/k+ibCgNGqXaoXBngKTUb3JCsCazwEvxJ9C9RcXNGRsiqgB1xZs37IjINMp0E3xGiuMjGYTBQnUg==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.6.tgz", + "integrity": "sha512-miiDaWdaUnD7A6Cktb/2ug9f+ajcOCDYRr7vgbPEsMoutSlBtp5rca57oMg8iHSuM7jilwdxePujWI/+rbNftQ==", "requires": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -76546,40 +72435,7 @@ "require-from-string": "^2.0.0", "semver": "^5.5.0", "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - } } - }, - "ws": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", - "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", - "requires": {} } } }, @@ -76605,9 +72461,9 @@ "dev": true }, "node-abi": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", - "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", "requires": { "semver": "^5.4.1" }, @@ -76649,9 +72505,9 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==" }, "node-forge": { "version": "0.10.0", @@ -76659,9 +72515,9 @@ "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" }, "node-hid": { "version": "2.1.1", @@ -76749,25 +72605,20 @@ "dev": true }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", + "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==" }, "node-watch": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.1.tgz", - "integrity": "sha512-UWblPYuZYrkCQCW5PxAwYSxaELNBLUckrTBBk8xr1/bUgyOkYYTsUcV4e3ytcazFEOyiRyiUrsG37pu6I0I05g==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.2.tgz", + "integrity": "sha512-g53VjSARRv1JdST0LZRIg8RiuLr1TaBbVPsVvxh0/0Ymvi0xYUjDuoqQQAWtHJQUXhiShowPT/aXKNeHBcyQsw==", "dev": true }, "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==" - }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" }, "nopt": { "version": "5.0.0", @@ -76843,9 +72694,9 @@ } }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "requires": { "boolbase": "^1.0.0" } @@ -76946,37 +72797,46 @@ } }, "object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" + } + }, + "object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" } }, "object.pick": { @@ -76989,14 +72849,14 @@ } }, "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "obliterator": { @@ -77191,12 +73051,6 @@ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, "p-fifo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", @@ -77313,14 +73167,6 @@ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==" }, - "p-times": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-times/-/p-times-3.0.0.tgz", - "integrity": "sha512-/Z7mcs8Liie8E7IHI9SBtmkHVW/GjLroQ94ALoAMIG20mqFMuh56/3WYhtOTqX9ccRSOxgaCkFC94Bat1Ofskg==", - "requires": { - "p-map": "^4.0.0" - } - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -77906,9 +73752,9 @@ } }, "parse-duration": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.0.tgz", - "integrity": "sha512-X4kUkCTHU1N/kEbwK9FpUJ0UZQa90VzeczfS704frR30gljxDG0pSziws06XlK+CGRSo/1wtG1mFIdBFQTMQNw==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", + "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==" }, "parse-headers": { "version": "2.0.4", @@ -78194,6 +74040,11 @@ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -78451,30 +74302,26 @@ "dev": true }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -79131,20 +74978,20 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true, "peer": true }, "pretty-format": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz", - "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.5.tgz", + "integrity": "sha512-+nYn2z9GgicO9JiqmY25Xtq8SYfZ/5VCpEU3pppHHNAhd1y+ZXxmNPd1evmNcAd6Hz4iBV2kf0UpGth5A/VJ7g==", "dev": true, "requires": { - "@jest/types": "^27.1.0", - "ansi-regex": "^5.0.0", + "@jest/types": "^27.2.5", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" }, @@ -79168,11 +75015,13 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "private-ip": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.2.1.tgz", - "integrity": "sha512-jN1WT/br/VNW9xEcwHr6DjtOKxQ5qOIqmh7o+co2TWgq56pZJw99iO3UT1tWdfgsQiyK9FqG4ji3ykwpjFqITA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.3.0.tgz", + "integrity": "sha512-3lTFzg+Z1Q2VNQChw8AW2c5LM7getyUJ67SqeWtvnkUO4gihjbf5oIEK4+jAQ4v1sCqOVV7r+GzKrgowW/W3tw==", "requires": { "ip-regex": "^4.3.0", + "ipaddr.js": "^2.0.1", + "is-ip": "^3.1.0", "netmask": "^2.0.2" } }, @@ -79191,14 +75040,6 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, - "prom-client": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-13.2.0.tgz", - "integrity": "sha512-wGr5mlNNdRNzEhRYXgboUU2LxHWIojxscJKmtG3R8f4/KiWqyYgXTLHs0+Ted7tG3zFT7pgHJbtomzZ1L0ARaQ==", - "requires": { - "tdigest": "^0.1.1" - } - }, "promise-timeout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/promise-timeout/-/promise-timeout-1.3.0.tgz", @@ -79214,9 +75055,9 @@ } }, "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -79283,29 +75124,6 @@ "long": "^4.0.0" } }, - "protocol-buffers-schema": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.2.tgz", - "integrity": "sha512-LPzSaBYp/TcbuSlpGwqT5jR9kvJ3Zp5ic2N5c2ybx6XB/lSfEHq2D7ja8AgoxHoMD91wXFALJoXsvshKPuXyew==" - }, - "protons": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/protons/-/protons-2.0.3.tgz", - "integrity": "sha512-j6JikP/H7gNybNinZhAHMN07Vjr1i4lVupg598l4I9gSTjJqOvKnwjzYX2PzvBTSVf2eZ2nWv4vG+mtW8L6tpA==", - "requires": { - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "uint8arrays": "^3.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -79313,6 +75131,13 @@ "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } } }, "prr": { @@ -79455,6 +75280,11 @@ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==" + }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -79505,9 +75335,9 @@ } }, "radspec": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/radspec/-/radspec-1.11.0.tgz", - "integrity": "sha512-/77PHRjNaaFUyxCqz7bxyRswc4OhF3H3u6OTde7aHsYl/5s+7Cgi24Ia/hx6l/5fuNps57vgiMSbY6mceA+ovA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/radspec/-/radspec-1.12.0.tgz", + "integrity": "sha512-saDAxoy3bxYJvmg2pMupg5FbvW4F0C5QzNMPnkW4Z6B6iHd/1xjeRfzdmZ6WU4OVGbSldR21QjTQjpNEZ3Uo8Q==", "requires": { "@babel/runtime": "^7.1.2", "bn.js": "^4.11.8", @@ -79757,12 +75587,12 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { @@ -79826,17 +75656,17 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "registry-auth-token": { @@ -79864,9 +75694,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -80031,11 +75861,6 @@ "dev": true, "peer": true }, - "reset": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/reset/-/reset-0.1.0.tgz", - "integrity": "sha1-n8cxQXGZWubLC35YsGznUir0uvs=" - }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -80158,11 +75983,18 @@ "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==" }, "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } } }, "rlp-browser": { @@ -80188,12 +76020,12 @@ "sprintf-js": "^1.1.2" } }, - "run": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/run/-/run-1.4.0.tgz", - "integrity": "sha1-4X2ekEOrL+F3dsspnhI3848LT/o=", + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", "requires": { - "minimatch": "*" + "queue-microtask": "^1.2.2" } }, "rustbn.js": { @@ -80613,24 +76445,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", - "requires": { - "varint": "~5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - } - } + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "simple-concat": { "version": "1.0.1", @@ -80738,6 +76555,19 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } } } }, @@ -80818,48 +76648,25 @@ } } }, - "socket.io": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz", - "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~5.2.0", - "socket.io-adapter": "~2.3.2", - "socket.io-parser": "~4.0.4" - } - }, - "socket.io-adapter": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", - "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==" - }, "socket.io-client": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz", - "integrity": "sha512-3GJ2KMh7inJUNAOjgf8NaKJZJa9uRyfryh2LrVJyKyxmzoXlfW9DeDNqylJn0ovOFt4e/kRLNWzMt/YqqEWYSA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.0.tgz", + "integrity": "sha512-Cg3N7UWGTT2kYFZ1yShbGyrYDcqiMMv53cLNvOvweGJojwZ3N7x4fB+fyfNaq64tRUjV0Qljyj7nMV8+myBgqg==", "requires": { - "@types/component-emitter": "^1.2.10", + "@socket.io/component-emitter": "~3.0.0", "backo2": "~1.0.2", - "component-emitter": "~1.3.0", "debug": "~4.3.2", - "engine.io-client": "~5.2.0", + "engine.io-client": "~6.0.1", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" + "socket.io-parser": "~4.1.1" } }, "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", + "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1" } }, @@ -80951,22 +76758,19 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", "dev": true, "requires": { "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "decode-uri-component": "^0.2.0" } }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -81097,12 +76901,13 @@ "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true }, "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -81134,309 +76939,19 @@ } }, "standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", - "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.4.tgz", + "integrity": "sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ==", "dev": true, "requires": { - "eslint": "~7.13.0", - "eslint-config-standard": "16.0.2", + "eslint": "~7.18.0", + "eslint-config-standard": "16.0.3", "eslint-config-standard-jsx": "10.0.0", - "eslint-plugin-import": "~2.22.1", + "eslint-plugin-import": "~2.24.2", "eslint-plugin-node": "~11.1.0", - "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.21.5", + "eslint-plugin-promise": "~5.1.0", + "eslint-plugin-react": "~7.25.1", "standard-engine": "^14.0.1" - }, - "dependencies": { - "@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } } }, "standard-engine": { @@ -81489,6 +77004,12 @@ "source-map": "~0.6.1" } }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -81588,6 +77109,12 @@ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -81744,14 +77271,14 @@ } }, "string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -81778,11 +77305,11 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-bom": { @@ -81862,12 +77389,12 @@ } }, "stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz", + "integrity": "sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==", "dev": true, "requires": { - "css-parse": "~2.0.0", + "css": "^3.0.0", "debug": "~3.1.0", "glob": "^7.1.6", "mkdirp": "~1.0.4", @@ -82226,39 +77753,30 @@ "dev": true }, "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "peer": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "requires": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "requires": { "color-convert": "^2.0.1" } }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "peer": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, "requires": { "color-name": "~1.1.4" } @@ -82266,26 +77784,17 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "peer": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "peer": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "peer": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -82293,14 +77802,13 @@ } }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "peer": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -82371,14 +77879,6 @@ } } }, - "tdigest": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", - "integrity": "sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=", - "requires": { - "bintrees": "1.0.1" - } - }, "temp-file": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", @@ -82580,9 +78080,9 @@ } }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { @@ -82761,9 +78261,9 @@ } }, "trezor-connect": { - "version": "8.1.29", - "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-8.1.29.tgz", - "integrity": "sha512-SYIT2C3mqNxTsDTglqgz6FyhgXbBFBo0q5WH9ABkyLUarjPNNt2PrmmgF5nT78RE5GwX5QvHoGl9Efis6+4e5Q==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-8.2.1.tgz", + "integrity": "sha512-YqGgB6E440j8DHaIJCZumtjg5LdUgQyow2pzQRAIVFchhbTOgU3FnWGO3vEeRn9UQuY3pj8xVo0A0GKEtHAW8g==", "requires": { "@babel/runtime": "^7.12.5", "events": "^3.2.0", @@ -82895,16 +78395,16 @@ } }, "ts-jest": { - "version": "27.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", - "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.6.tgz", + "integrity": "sha512-XWkEBbrkyUWJdK9FwiCVdBZ7ZmT7sxcKtyVEZNmo7u8eQw6NHmtYEM2WpkX9VfnRI0DjSr6INfEHC9vCFhsFnQ==", "dev": true, "requires": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", "jest-util": "^27.0.0", "json5": "2.x", - "lodash": "4.x", + "lodash.memoize": "4.x", "make-error": "1.x", "semver": "7.x", "yargs-parser": "20.x" @@ -83099,10 +78599,11 @@ } }, "typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", - "dev": true + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true, + "peer": true }, "typical": { "version": "2.6.1", @@ -83237,6 +78738,12 @@ "source-map": "~0.6.1" } }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -83428,31 +78935,31 @@ "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "unicode-trie": { @@ -83719,41 +79226,18 @@ } }, "usb": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/usb/-/usb-1.7.2.tgz", - "integrity": "sha512-SfVSItgsD9+YfEpcK1UZ8tQ7e8GdxQ0xoQtB773omNBKTVj3IuFJNKjwSnpE58FGcV4tUoKLHmBMc018RUY5SA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/usb/-/usb-1.8.0.tgz", + "integrity": "sha512-lA0q2tjDEAq1YUsW6nQ+asw92TtFrQ8rhMd11jAoFhK3xItZUupJ7npZDSmVOpQqQhhdFmX/YciqyywupA/wOQ==", "requires": { - "bindings": "^1.4.0", - "node-addon-api": "3.0.2", - "prebuild-install": "^5.3.3" + "node-addon-api": "^4.2.0", + "node-gyp-build": "^4.3.0" }, "dependencies": { "node-addon-api": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", - "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==" - }, - "prebuild-install": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", - "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==", - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - } + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.2.0.tgz", + "integrity": "sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q==" } } }, @@ -83764,11 +79248,11 @@ "dev": true }, "utf-8-validate": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz", - "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "requires": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" } }, "utf8": { @@ -83832,9 +79316,9 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -83907,6 +79391,13 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + } } }, "vlq": { @@ -84005,9 +79496,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "bn.js": { "version": "4.11.8", @@ -84024,6 +79515,38 @@ "xhr-request-promise": "^0.1.2" } }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -84168,9 +79691,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "bn.js": { "version": "4.11.8", @@ -84336,22 +79859,22 @@ } }, "web3-eth": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.2.tgz", - "integrity": "sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg==", - "requires": { - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-eth-accounts": "1.5.2", - "web3-eth-contract": "1.5.2", - "web3-eth-ens": "1.5.2", - "web3-eth-iban": "1.5.2", - "web3-eth-personal": "1.5.2", - "web3-net": "1.5.2", - "web3-utils": "1.5.2" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.6.0.tgz", + "integrity": "sha512-qJMvai//r0be6I9ghU24/152f0zgJfYC23TMszN3Y6jse1JtjCBP2TlTibFcvkUN1RRdIUY5giqO7ZqAYAmp7w==", + "requires": { + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-eth-accounts": "1.6.0", + "web3-eth-contract": "1.6.0", + "web3-eth-ens": "1.6.0", + "web3-eth-iban": "1.6.0", + "web3-eth-personal": "1.6.0", + "web3-net": "1.6.0", + "web3-utils": "1.6.0" }, "dependencies": { "@ethersproject/abi": { @@ -84379,9 +79902,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "eventemitter3": { "version": "4.0.4", @@ -84402,136 +79925,136 @@ } }, "web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "requires": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "requires": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "requires": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" } }, "web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "requires": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "requires": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-eth-personal": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", - "integrity": "sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.6.0.tgz", + "integrity": "sha512-8ohf4qAwbShf4RwES2tLHVqa+pHZnS5Q6tV80sU//bivmlZeyO1W4UWyNn59vu9KPpEYvLseOOC6Muxuvr8mFQ==", "requires": { "@types/node": "^12.12.6", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-net": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-net": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-net": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.2.tgz", - "integrity": "sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.6.0.tgz", + "integrity": "sha512-LFfG95ovTT2sNHkO1TEfsaKpYcxOSUtbuwHQ0K3G0e5nevKDJkPEFIqIcob40yiwcWoqEjENJP9Bjk8CRrZ99Q==", "requires": { - "web3-core": "1.5.2", - "web3-core-method": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-method": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "requires": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "requires": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" } } @@ -84663,9 +80186,9 @@ } }, "web3-eth-accounts": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz", - "integrity": "sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.6.0.tgz", + "integrity": "sha512-2f6HS4KIH4laAsNCOfbNX3dRiQosqSY2TRK86C8jtAA/QKGdx+5qlPfYzbI2RjG81iayb2+mVbHIaEaBGZ8sGw==", "requires": { "@ethereumjs/common": "^2.3.0", "@ethereumjs/tx": "^3.2.1", @@ -84674,10 +80197,10 @@ "ethereumjs-util": "^7.0.10", "scrypt-js": "^3.0.1", "uuid": "3.3.2", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-utils": "1.6.0" }, "dependencies": { "@types/bn.js": { @@ -84689,9 +80212,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "eth-lib": { "version": "0.2.8", @@ -84727,122 +80250,122 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "requires": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "requires": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "requires": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" } }, "web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "requires": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "requires": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "requires": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" } } } }, "web3-eth-contract": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz", - "integrity": "sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.6.0.tgz", + "integrity": "sha512-ZUtO77zFnxuFtrc+D+iJ3AzNgFXAVcKnhEYN7f1PNz/mFjbtE6dJ+ujO0mvMbxIZF02t9IZv0CIXRpK0rDvZAw==", "requires": { "@types/bn.js": "^4.11.5", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-utils": "1.6.0" }, "dependencies": { "@ethersproject/abi": { @@ -84870,9 +80393,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "eventemitter3": { "version": "4.0.4", @@ -84893,131 +80416,131 @@ } }, "web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "requires": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "requires": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "requires": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" } }, "web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "requires": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "requires": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "requires": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "requires": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" } } } }, "web3-eth-ens": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz", - "integrity": "sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.6.0.tgz", + "integrity": "sha512-AG24PNv9qbYHSpjHcU2pViOII0jvIR7TeojJ2bxXSDqfcgHuRp3NZGKv6xFvT4uNI4LEQHUhSC7bzHoNF5t8CA==", "requires": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "web3-core": "1.5.2", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-eth-abi": "1.5.2", - "web3-eth-contract": "1.5.2", - "web3-utils": "1.5.2" + "web3-core": "1.6.0", + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-eth-abi": "1.6.0", + "web3-eth-contract": "1.6.0", + "web3-utils": "1.6.0" }, "dependencies": { "@ethersproject/abi": { @@ -85045,9 +80568,9 @@ } }, "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "eventemitter3": { "version": "4.0.4", @@ -85068,113 +80591,113 @@ } }, "web3-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", - "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.6.0.tgz", + "integrity": "sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g==", "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.2", - "web3-core-method": "1.5.2", - "web3-core-requestmanager": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-method": "1.6.0", + "web3-core-requestmanager": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-helpers": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", - "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz", + "integrity": "sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg==", "requires": { - "web3-eth-iban": "1.5.2", - "web3-utils": "1.5.2" + "web3-eth-iban": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-method": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", - "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.6.0.tgz", + "integrity": "sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g==", "requires": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.2", - "web3-core-promievent": "1.5.2", - "web3-core-subscriptions": "1.5.2", - "web3-utils": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-core-promievent": "1.6.0", + "web3-core-subscriptions": "1.6.0", + "web3-utils": "1.6.0" } }, "web3-core-promievent": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", - "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz", + "integrity": "sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ==", "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", - "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz", + "integrity": "sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA==", "requires": { "util": "^0.12.0", - "web3-core-helpers": "1.5.2", - "web3-providers-http": "1.5.2", - "web3-providers-ipc": "1.5.2", - "web3-providers-ws": "1.5.2" + "web3-core-helpers": "1.6.0", + "web3-providers-http": "1.6.0", + "web3-providers-ipc": "1.6.0", + "web3-providers-ws": "1.6.0" } }, "web3-core-subscriptions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", - "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz", + "integrity": "sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-eth-abi": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", - "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz", + "integrity": "sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA==", "requires": { "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-eth-iban": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", - "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz", + "integrity": "sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw==", "requires": { "bn.js": "^4.11.9", - "web3-utils": "1.5.2" + "web3-utils": "1.6.0" } }, "web3-providers-http": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", - "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.6.0.tgz", + "integrity": "sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA==", "requires": { - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", - "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz", + "integrity": "sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA==", "requires": { "oboe": "2.1.5", - "web3-core-helpers": "1.5.2" + "web3-core-helpers": "1.6.0" } }, "web3-providers-ws": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", - "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz", + "integrity": "sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.2", + "web3-core-helpers": "1.6.0", "websocket": "^1.0.32" } } @@ -85235,9 +80758,9 @@ }, "dependencies": { "@types/node": { - "version": "12.20.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.21.tgz", - "integrity": "sha512-Qk7rOvV2A4vNgXNS88vEvbJE1NDFPCQ8AU+pNElrU2bA4yrRDef3fg3SUe+xkwyin3Bpg/Xh5JkNWTlsOcS2tA==" + "version": "12.20.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.33.tgz", + "integrity": "sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw==" }, "bn.js": { "version": "4.11.8", @@ -85364,29 +80887,17 @@ } }, "web3-utils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", - "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.6.0.tgz", + "integrity": "sha512-bgCAWAeQnJF035YTFxrcHJ5mGEfTi/McsjqldZiXRwlHK7L1PyOqvXiQLE053dlzvy1kdAxWl/sSSfLMyNUAXg==", "requires": { "bn.js": "^4.11.9", - "eth-lib": "0.2.8", "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } } }, "webidl-conversions": { @@ -85500,22 +81011,17 @@ "dev": true, "peer": true }, - "which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" - }, "which-typed-array": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.6.tgz", - "integrity": "sha512-DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "requires": { - "available-typed-arrays": "^1.0.4", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-abstract": "^1.18.5", "foreach": "^2.0.5", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.6" + "is-typed-array": "^1.1.7" } }, "wide-align": { @@ -85535,12 +81041,6 @@ "string-width": "^4.0.0" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -85548,14 +81048,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -85612,12 +81112,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -85625,14 +81119,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -85642,15 +81136,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -85664,9 +81149,9 @@ } }, "ws": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.1.tgz", - "integrity": "sha512-XkgWpJU3sHU7gX8f13NqTn6KQ85bd1WU7noBHTT8fSohx7OS1TPY8k+cyRPCzFkia7C4mM229yeHr1qK9sM4JQ==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", "requires": {} }, "xdg-basedir": { @@ -85788,11 +81273,6 @@ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" }, - "xor-distance": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xor-distance/-/xor-distance-2.0.0.tgz", - "integrity": "sha512-AsAqZfPAuWx7qB/0kyRDUEvoU3QKsHWzHU9smFlkaiprEpGfJ/NBbLze2Uq0rdkxCxkNM9uOLvz/KoNBCbZiLQ==" - }, "xsalsa20": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", @@ -85820,9 +81300,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -85834,12 +81314,6 @@ "yargs-parser": "^20.2.2" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -85847,14 +81321,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "yargs-parser": { @@ -85908,6 +81382,12 @@ "wrap-ansi": "^5.1.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -86044,11 +81524,6 @@ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, "zxcvbn": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz", diff --git a/package.json b/package.json index 37be51b63..e371018d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "frame", - "version": "0.5.0-beta.6", + "version": "0.5.0-beta.7", "description": "System-wide web3", "main": "compiled", "build": { @@ -62,7 +62,7 @@ "release": "npm run compile && sleep 4 && npm run bundle && sleep 4 && electron-builder -c.snap.publish=github", "postinstall": "electron-builder install-app-deps", "test": "npm run test:unit && npm run test:e2e", - "test:unit": "npm run compile && jest --env=node --detectOpenHandles --runInBand --testPathIgnorePatterns=e2e", + "test:unit": "npm run compile && jest --env=node --testPathIgnorePatterns=e2e --detectOpenHandles --runInBand", "test:e2e": "jest --env=node --detectOpenHandles --runInBand --testPathPattern=e2e", "test:e2e:nodeploy": "jest --env=node --detectOpenHandles --runInBand --testPathPattern=e2e --testPathIgnorePatterns=deploy", "standard": "standardx --fix --verbose", @@ -84,40 +84,43 @@ }, "license": "GPL-3.0", "dependencies": { - "@aragon/wrapper": "5.2.0", - "@ethereumjs/tx": "3.3.0", + "@aragon/wrapper": "5.5.0", + "@ethereumjs/common": "2.5.0", + "@ethereumjs/tx": "3.3.2", "@ethersproject/abi": "5.4.1", "@ethersproject/hash": "5.4.0", "@githubprimer/octicons-react": "8.5.0", - "@ledgerhq/hw-app-eth": "6.5.0", - "@ledgerhq/hw-transport-node-hid": "6.3.0", - "@ledgerhq/hw-transport-web-ble": "6.3.0", + "@ledgerhq/hw-app-eth": "6.9.0", + "@ledgerhq/hw-transport-node-hid": "6.7.0", + "@ledgerhq/hw-transport-web-ble": "6.7.0", "@makerdao/multicall": "0.12.0", - "@sushiswap/default-token-list": "14.11.0", + "@sushiswap/default-token-list": "17.0.0", + "@types/node-hid": "1.3.1", + "@types/usb": "1.5.3", "abi-codec": "0.0.9", "auto-launch": "5.0.5", - "axios": "0.21.1", + "axios": "0.23.0", "babel-polyfill": "6.26.0", "bip39": "3.0.4", "cheerio": "1.0.0-rc.10", - "conf": "10.0.2", + "conf": "10.0.3", "content-hash": "2.5.2", "cross-env": "7.0.3", "electron-log": "4.4.1", "electron-updater": "4.3.9", "eth-ens-namehash": "2.0.8", - "eth-provider": "0.9.3", + "eth-provider": "0.9.4", "eth-sig-util": "3.0.1", "ethereum-public-key-to-address": "0.0.5", "extract-zip": "2.0.1", "fs-extra": "10.0.0", "get-pixels": "3.3.3", - "gridplus-sdk": "0.8.4", + "gridplus-sdk": "0.8.7", "hdkey": "2.0.1", - "ipfs-core": "0.10.4", - "ipfs-http-client": "52.0.2", - "nebula": "0.0.4", - "node-fetch": "2.6.1", + "ipfs-core": "0.11.1", + "ipfs-http-client": "53.0.1", + "nebula": "0.0.6", + "node-fetch": "2.6.2", "node-hid": "2.1.1", "query-string": "7.0.1", "react": "17.0.2", @@ -125,17 +128,17 @@ "react-restore": "0.5.0", "react-transition-group": "4.4.2", "semver": "7.3.5", - "trezor-connect": "8.1.29", - "usb": "1.7.2", + "trezor-connect": "8.2.1", + "usb": "1.8.0", "uuid": "8.3.2", - "web3-utils": "1.5.2", - "ws": "8.2.1", + "web3-utils": "1.6.0", + "ws": "8.2.3", "zxcvbn": "4.4.2" }, "devDependencies": { - "@babel/core": "7.15.0", - "@babel/node": "7.14.9", - "@babel/plugin-proposal-decorators": "7.14.5", + "@babel/core": "7.15.8", + "@babel/node": "7.15.8", + "@babel/plugin-proposal-decorators": "7.15.8", "@babel/plugin-proposal-do-expressions": "7.14.5", "@babel/plugin-proposal-export-default-from": "7.14.5", "@babel/plugin-proposal-function-bind": "7.14.5", @@ -143,28 +146,29 @@ "@babel/plugin-proposal-pipeline-operator": "7.15.0", "@babel/plugin-proposal-throw-expressions": "7.14.5", "@babel/plugin-syntax-import-meta": "7.10.4", - "@babel/preset-env": "7.15.0", + "@babel/preset-env": "7.15.8", "@babel/preset-react": "7.14.5", "@babel/preset-typescript": "7.15.0", + "@ledgerhq/hw-transport-mocker": "6.7.0", "@nomiclabs/hardhat-waffle": "2.0.1", "@types/ethereum-protocol": "1.0.2", - "@types/jest": "27.0.1", - "@types/node": "16.7.8", - "@types/node-fetch": "2.5.12", + "@types/jest": "27.0.2", + "@types/node": "16.11.0", + "@types/node-fetch": "3.0.2", "babel-eslint": "10.1.0", "cli-sleep": "1.0.1", - "electron": "13.2.3", - "electron-builder": "22.11.9", - "electron-notarize": "1.1.0", + "electron": "15.2.0", + "electron-builder": "22.13.1", + "electron-notarize": "1.1.1", "ganache-cli": "6.12.2", - "hardhat": "2.6.1", - "jest": "27.1.0", - "node-watch": "0.7.1", + "hardhat": "2.6.6", + "jest": "27.2.5", + "node-watch": "0.7.2", "parcel-bundler": "1.12.3", "shx": "0.3.3", "standardx": "7.0.0", - "stylus": "0.54.8", - "ts-jest": "27.0.5" + "stylus": "0.55.0", + "ts-jest": "27.0.6" }, "standard": { "parser": "babel-eslint", diff --git a/test/main/accounts/index.test.js b/test/main/accounts/index.test.js index ca57f53ba..a7ce2d7cc 100644 --- a/test/main/accounts/index.test.js +++ b/test/main/accounts/index.test.js @@ -51,6 +51,7 @@ beforeEach(() => { handlerId: 1, type: 'transaction', data: { + chainId: '0x1', gasLimit: weiToHex(21000), gasPrice: gweiToHex(30), type: '0x2', diff --git a/test/main/provider/index.test.js b/test/main/provider/index.test.js index 6dfb03ce3..b99878156 100644 --- a/test/main/provider/index.test.js +++ b/test/main/provider/index.test.js @@ -3,12 +3,10 @@ import { utils } from 'ethers' import { addHexPrefix } from 'ethereumjs-util' import log from 'electron-log' -log.transports.console.level = false - const mockAccounts = {} const mockStore = { 'main.accounts': { - "0x22dd63c3619818fdbc262c78baee43cb61e9cccf": {} + '0x22dd63c3619818fdbc262c78baee43cb61e9cccf': {} }, 'main.currentNetwork': { type: 'ethereum', @@ -45,6 +43,8 @@ jest.mock('../../../main/store', () => { }) beforeAll(async () => { + log.transports.console.level = false + mockConnection = new MockConnection() // need to import this after mocks are set up @@ -52,6 +52,10 @@ beforeAll(async () => { provider.handlers = {} }) +afterAll(() => { + log.transports.console.level = 'debug' +}) + describe('#getRawTx', () => { it('leaves a valid value unchanged', () => { const tx = provider.getRawTx({ value: '0x2540be400' }) @@ -98,7 +102,11 @@ describe('#send', () => { }) mockAccounts.current = jest.fn(() => ({ id: address, getAccounts: () => [address] })) - mockAccounts.addRequest = req => accountRequests.push(req) + mockAccounts.addRequest = (req, res) => { + accountRequests.push(req) + if (res) res() + } + mockAccounts.getAccounts = () => [address] }) describe('#eth_chainId', () => { @@ -117,6 +125,101 @@ describe('#send', () => { }) }) + describe('#wallet_addEthereumChain', () => { + it('adds the current chain to the store', done => { + send({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: '0x1234', // A 0x-prefixed hexadecimal string + chainName: 'New Chain', + nativeCurrency: { + name: 'New', + symbol: 'NEW', // 2-6 characters long + decimals: 18 + }, + rpcUrls: ['https://pylon.link'], + blockExplorerUrls: ['https://pylon.link'], + iconUrls: [''] // Currently ignored + } + ] + }, () => { + try { + expect(accountRequests).toHaveLength(1) + expect(accountRequests[0].handlerId).toBeTruthy() + expect(accountRequests[0].type).toBe('addChain') + done() + } catch (e) { + done(e) + } + }) + }) + + it('adds switch chain request if chain exists', done => { + send({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: '0x1', // A 0x-prefixed hexadecimal string + chainName: 'Mainnet', + nativeCurrency: { + name: 'Ether', + symbol: 'ETH', // 2-6 characters long + decimals: 18 + }, + rpcUrls: ['https://pylon.link'], + blockExplorerUrls: ['https://pylon.link'], + iconUrls: [''] // Currently ignored + } + ] + }, () => { + try { + expect(accountRequests).toHaveLength(1) + expect(accountRequests[0].handlerId).toBeTruthy() + expect(accountRequests[0].type).toBe('switchChain') + done() + } catch (e) { + done(e) + } + }) + }) + }) + + describe('#wallet_switchEthereumChain', () => { + it('switches to chain if chain exists in store', done => { + send({ + method: 'wallet_switchEthereumChain', + params: [{ + chainId: '0x1' + }] + }, () => { + try { + expect(accountRequests).toHaveLength(1) + expect(accountRequests[0].handlerId).toBeTruthy() + expect(accountRequests[0].type).toBe('switchChain') + done() + } catch (e) { + done(e) + } + }) + }) + it('rejects switch if chain doesn\'t exist in the store', done => { + send({ + method: 'wallet_switchEthereumChain', + params: [{ + chainId: '0x1234' + }] + }, () => { + try { + expect(accountRequests).toHaveLength(0) + done() + } catch (e) { + done(e) + } + }) + }) + }) + describe('#eth_getTransactionByHash', () => { const txHash = '0x06c1c968d4bd20c0ebfed34f6f34d8a5d189d9d2ce801f2ee8dd45dac32628d5' const request = { method: 'eth_getTransactionByHash', params: [txHash] } @@ -309,7 +412,20 @@ describe('#send', () => { const params = [address, typedData] send({ method: 'eth_signTypedData_v3', params }, err => { - expect(err.error.message).toBeTruthy() + expect(err.error.message).toMatch(/Ledger/) + expect(err.error.code).toBe(-1) + done() + }) + }, 100) + + it('does not submit a V3 request to a Lattice', done => { + mockAccounts.current = () => ({ id: address, getAccounts: () => [address], lastSignerType: 'lattice' }) + + // Lattice only supports V4+ + const params = [address, typedData] + + send({ method: 'eth_signTypedData_v3', params }, err => { + expect(err.error.message).toMatch(/Lattice/) expect(err.error.code).toBe(-1) done() }) @@ -340,9 +456,24 @@ describe('#signAndSend', () => { data: tx } }) + + it('allows a Fantom transaction with fees over the mainnet hard limit', done => { + // 200 gwei * 10M gas = 2 FTM + tx.chainId = '0xfa' + tx.type = '0x0' + tx.gasPrice = utils.parseUnits('210', 'gwei').toHexString() + tx.gasLimit = addHexPrefix((1e7).toString(16)) + + mockAccounts.signTransaction = () => done() + + signAndSend(err => { + done('unexpected error :' + err.message) + }) + }) - it('does not allow a pre-EIP-1559 transaction with fees that exceed the hard limit', done => { + it('does not allow a pre-EIP-1559 transaction with fees that exceeds the hard limit', done => { // 200 gwei * 10M gas = 2 ETH + tx.chainId = '0x1' tx.type = '0x0' tx.gasPrice = utils.parseUnits('210', 'gwei').toHexString() tx.gasLimit = addHexPrefix((1e7).toString(16)) @@ -355,6 +486,7 @@ describe('#signAndSend', () => { it('does not allow a post-EIP-1559 transaction with fees that exceed the hard limit', done => { // 200 gwei * 10M gas = 2 ETH + tx.chainId = '0x1' tx.type = '0x2' tx.maxFeePerGas = utils.parseUnits('210', 'gwei').toHexString() tx.gasLimit = addHexPrefix((1e7).toString(16)) diff --git a/test/main/signers/ledger/Ledger/eth.test.js b/test/main/signers/ledger/Ledger/eth.test.js new file mode 100644 index 000000000..9b6d3d3f5 --- /dev/null +++ b/test/main/signers/ledger/Ledger/eth.test.js @@ -0,0 +1,331 @@ +import LedgerEthereumApp from '../../../../../main/signers/ledger/Ledger/eth' +import { Derivation } from '../../../../../main/signers/Signer/derive' +import log from 'electron-log' + +import { + openTransportReplayer, + RecordStore, +} from '@ledgerhq/hw-transport-mocker' + +// ------------------- +// uncomment this version of eth app creation to record interactions with the Ledger so they can be replayed. +// when test is done, call `recordStore.toString()` to print ADPU exchange codes. +// it also seems there is a bug in the `createTransportRecorder()` code, to fix it, change the line +// (_a = DecoratedTransport.constructor).open.apply(...) in the `open` +// method definition to (_a = DecoratedTransport).open.apply(...) +// ------------------- + +// let recordStore = RecordStore.fromString('') + +// async function createEthApp () { + +// const Recorder = createTransportRecorder(TransportNodeHid, recordStore) + +// return Recorder.open(getDevices()[0].path).then(t => { +// return new LedgerEthereumApp(t) +// }) +// } + +beforeAll(() => { + log.transports.console.level = false +}) + +afterAll(() => { + log.transports.console.level = 'debug' +}) + +async function createEthApp (replayCodes = '') { + const record = RecordStore.fromString(replayCodes) + const transport = await openTransportReplayer(record) + + return new LedgerEthereumApp(transport) +} + +describe('#deriveAddresses', () => { + it('derives legacy addresses', async () => { + const replayData = ` + => e00200010d038000002c8000003c80000000 + <= 4104953d5604f014fc80e9dc6b53b2b21bac4a302aaa387edd03966feb9906f40f019a6ff8f0d28338d28edc3dd518414313e7a200281e98f371791da3814a02b3022846383432303066463835333344394266343739346445333130373465454339303733396635383332f2c0f99fea11ef57a110f8184b6139d7dc7f0a66091e6ad8cf02ebae74b6ce119000 + ` + + const ethApp = await createEthApp(replayData) + const addresses = await ethApp.deriveAddresses(Derivation.legacy) + + expect(addresses.length).toBe(100) + expect(addresses[0].toLowerCase()).toBe('0x46bdba9c90ea453426d0b8d4a7a8a99b8a9dade5') + }, 200) + + it('derives standard addresses', async () => { + const replayData = ` + => e002000111048000002c8000003c8000000000000000 + <= 4104859f899683f20dbf6140126aabadb61d3c14f6b4ab125a5f8017e3ed790ada06ccd136314c44f75869d35e769ef757aa98873277f452a15d5f379afda7501f372834364264624139433930456134353334323664304238643441374138413939623841396441644535507c01b73ae632f464ee3219fca2b0ed77c1e30610d4fa55a5d9a79b8a9e07e89000 + ` + + const ethApp = await createEthApp(replayData) + const addresses = await ethApp.deriveAddresses(Derivation.standard) + + expect(addresses.length).toBe(100) + expect(addresses[5].toLowerCase()).toBe('0xe001da2733a5dc2ce5191de0534282683f05f0b8') + }, 200) + + it('derives testnet addresses', async () => { + const replayData = ` + => e002000111048000002c800000018000000000000000 + <= 4104ebe39e90499809ab8006d70e57ef44c27bc4d741ba9128d5d63abd9a25cb399b7a7b2d5e4f537d5c5d437b08c2c7de3dd9bd60022edfcea76a423bd3f9f0cfbe2831353339303341424439373543633937374465313632466236344446326344313739343034364338f53fe9e4eb5e26fda34b4377c58e0a32ac822548ab9419aa917af5d7e104eb729000 + ` + + const ethApp = await createEthApp(replayData) + const addresses = await ethApp.deriveAddresses(Derivation.testnet) + + expect(addresses.length).toBe(100) + expect(addresses[3].toLowerCase()).toBe('0xaffb4ca2ed8738dd409b7563052b3e7c7bdaabdb') + }, 200) + + it('fails to find addresses for an unknown derivation', async () => { + const ethApp = await createEthApp() + + try { + await ethApp.deriveAddresses(Derivation.live) + throw new Error('live addresses derived incorrectly!') + } catch (e) { + expect(e).toBeTruthy() + } + }, 100) +}) + +describe('#signMessage', () => { + it('signs a message with a hex prefix', async () => { + const replayData = ` + => e008000026058000002c8000003c8000000000000000000000020000000d68656c6c6f2c204672616d6521 + <= 1b5dfbee187e688cddacd854f3ed514c5a0a84ae972fe9ddeafb06436c92d7b1421ad9b725c7270d2c5b32ef824e0700ae354471a644d9cd06cb9f3422feba21319000 + ` + + const ethApp = await createEthApp(replayData) + const signature = await ethApp.signMessage("44'/60'/0'/0/2", '0x68656c6c6f2c204672616d6521') + + expect(signature).toBe('0x5dfbee187e688cddacd854f3ed514c5a0a84ae972fe9ddeafb06436c92d7b1421ad9b725c7270d2c5b32ef824e0700ae354471a644d9cd06cb9f3422feba213100') + }, 100) + + it('signs a message with no hex prefix', async () => { + const replayData = ` + => e008000026058000002c800000018000000000000000000000060000000d68656c6c6f2c204672616d6521 + <= 1ce5d40722e7df2660b8f7b68367ea885ddc68d4da701bb04565f60252909127e72cfe480f7227a2a3f6e8753d4ac9f4e3526f65d78fa3fbcc1ec3b3148bd85e329000 + ` + + const ethApp = await createEthApp(replayData) + const signature = await ethApp.signMessage("44'/1'/0'/0/6", '68656c6c6f2c204672616d6521') + + expect(signature).toBe('0xe5d40722e7df2660b8f7b68367ea885ddc68d4da701bb04565f60252909127e72cfe480f7227a2a3f6e8753d4ac9f4e3526f65d78fa3fbcc1ec3b3148bd85e3201') + }, 100) + + it('fails to sign a message with an invalid BIP 32 path', async () => { + const replayData = ` + => e008000012000000000d68656c6c6f2c204672616d6521 + <= 6a80 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signMessage('badpath', '0x68656c6c6f2c204672616d6521') + throw new Error('signed message with invalid path!') + } catch (e) { + expect(e.statusCode).toBe(27264) + } + }, 100) + + it('fails to sign a message when rejected by the user', async () => { + const replayData = ` + => e008000022048000002c8000003c80000001000000040000000d68656c6c6f2c204672616d6521 + <= 6985 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signMessage("44'/60'/1'/4", '0x68656c6c6f2c204672616d6521') + throw new Error('signed rejected message!') + } catch (e) { + expect(e.statusCode).toBe(27013) + } + }, 100) +}) + +describe('#signTypedData', () => { + const typedData = { + domain: { + chainId: '4', + name: 'Ether Mail', + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + version: '1' + }, + message: { + contents: 'Hello, Bob!', + from: { + name: 'Cow', + wallets: [ + '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + '0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF' + ] + }, + to: [ + { + name: 'Bob', + wallets: [ + '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + '0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57', + '0xB0B0b0b0b0b0B000000000000000000000000000' + ] + } + ] + }, + primaryType: 'Mail', + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' } + ], + Group: [ + { name: 'name', type: 'string' }, + { name: 'members', type: 'Person[]' } + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person[]' }, + { name: 'contents', type: 'string' } + ], + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallets', type: 'address[]' } + ] + } + } + + it('signs valid v4 typed data', async () => { + const replayData = ` + => e00c000051048000002c8000003c80000000000000003173a9c41e96ee138ed70f662fc9412ce2542bd7135229c5ca739a62faff853beb4221181ff3f1a83ea7313993ca9218496e424604ba9492bb4052c03d5c3df8 + <= 1bee800a5a7e4e1668a8ebab2a5bce4c96424e0f80b7ba08fc48e063393196e0851c0f9dab8909655368974e8aec6dba5c15772d575189e31b894fb7f8286c63b99000 + ` + + const ethApp = await createEthApp(replayData) + const signature = await ethApp.signTypedData("44'/60'/0'/0", typedData) + + expect(signature).toBe('0xee800a5a7e4e1668a8ebab2a5bce4c96424e0f80b7ba08fc48e063393196e0851c0f9dab8909655368974e8aec6dba5c15772d575189e31b894fb7f8286c63b900') + }, 100) + + it('fails to sign typed data with an invalid BIP 32 path', async () => { + const replayData = ` + => e00c000041003173a9c41e96ee138ed70f662fc9412ce2542bd7135229c5ca739a62faff853beb4221181ff3f1a83ea7313993ca9218496e424604ba9492bb4052c03d5c3df8 + <= 6a80 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signTypedData('badpath', typedData) + throw new Error('signed typed data with invalid path!') + } catch (e) { + expect(e.statusCode).toBe(27264) + } + }, 100) + + it('fails to sign typed data when rejected by the user', async () => { + const replayData = ` + => e00c000051048000002c8000003c80000000000000003173a9c41e96ee138ed70f662fc9412ce2542bd7135229c5ca739a62faff853beb4221181ff3f1a83ea7313993ca9218496e424604ba9492bb4052c03d5c3df8 + <= 6985 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signTypedData("44'/60'/0'/0", typedData) + throw new Error('signed rejected typed data!') + } catch (e) { + expect(e.statusCode).toBe(27013) + } + }, 100) +}) + +describe('#signTransaction', () => { + const legacyTx = { + from: '0x46bdba9c90ea453426d0b8d4a7a8a99b8a9dade5', + to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', + value: '0x5af3107a4000', + data: '0x', + gasLimit: '0x5208', + gasPrice: '0x1dcd65000', + chainId: '0x4', + type: '0x0', + nonce: '0x5' + } + + const eip1559Tx = { + from: '0x46bdba9c90ea453426d0b8d4a7a8a99b8a9dade5', + to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', + value: '0x5af3107a4000', + data: '0x', + gasLimit: '0x5208', + chainId: '0x4', + type: '0x2', + maxPriorityFeePerGas: '0x3b9aca00', + maxFeePerGas: '0x3b9aca0b', + nonce: '0x6' + } + + it('signs a pre-EIP-1193 transaction', async () => { + const replayData = ` + => e00400003c048000002c8000003c8000000000000000ea058501dcd65000825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a400080048080 + <= 2b87cdd3a45082a1d86c4dab5a1944360a69543dba2acacea01f19133a7ddef11578365690e4bdcf1bb58242bb673d53f94d525bee4217b0f191048eaca8cade739000 + ` + const ethApp = await createEthApp(replayData) + const signature = await ethApp.signTransaction("44'/60'/0'/0", legacyTx) + + expect(signature).toBe('0xf86a058501dcd65000825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a4000802ba087cdd3a45082a1d86c4dab5a1944360a69543dba2acacea01f19133a7ddef115a078365690e4bdcf1bb58242bb673d53f94d525bee4217b0f191048eaca8cade73') + }, 100) + + it('signs an EIP-1193 transaction', async () => { + const replayData = ` + => e004000040048000002c8000003c800000000000000002ed0406843b9aca00843b9aca0b825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a400080c0 + <= 01ebefc9f798b04e3952310d6b82c48fda245df9edef77507d06025cdc5af4efa1570784cbcf84a0f03cac7771fbfeee4f4759034baf42ca735065554afa600ee39000 + ` + + const ethApp = await createEthApp(replayData) + const signature = await ethApp.signTransaction("44'/60'/0'/0", eip1559Tx) + + expect(signature).toBe('0x02f8700406843b9aca00843b9aca0b825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a400080c001a0ebefc9f798b04e3952310d6b82c48fda245df9edef77507d06025cdc5af4efa1a0570784cbcf84a0f03cac7771fbfeee4f4759034baf42ca735065554afa600ee3') + }, 100) + + it('fails to sign a transaction with an invalid BIP 32 path', async () => { + const replayData = ` + => e004000040048000002c8000003c800000000000000002ed0406843b9aca00843b9aca0b825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a400080c0 + <= 6a80 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signTransaction('badpath', eip1559Tx) + throw new Error('signed transaction with invalid path!') + } catch (e) { + expect(e).toBeTruthy() + } + }, 100) + + it('fails to sign a transaction when rejected by the user', async () => { + const replayData = ` + => e004000040048000002c8000003c800000000000000002ed0406843b9aca00843b9aca0b825208942f318c334780961fb129d2a6c30d0763d9a5c970865af3107a400080c0 + <= 6985 + ` + + const ethApp = await createEthApp(replayData) + + try { + await ethApp.signTransaction("44'/60'/0'/0", eip1559Tx) + throw new Error('signed rejected transaction!') + } catch (e) { + expect(e.statusCode).toBe(27013) + } + }, 100) +}) diff --git a/test/main/signers/ledger/Ledger/index.test.js b/test/main/signers/ledger/Ledger/index.test.js new file mode 100644 index 000000000..57def6957 --- /dev/null +++ b/test/main/signers/ledger/Ledger/index.test.js @@ -0,0 +1,486 @@ +import Ledger, { Status } from '../../../../../main/signers/ledger/Ledger' +import Eth from '../../../../../main/signers/ledger/Ledger/eth' +import { Derivation } from '../../../../../main/signers/Signer/derive' +import log from 'electron-log' + +jest.mock('../../../../../main/signers/ledger/Ledger/eth') +jest.mock('@ledgerhq/hw-transport-node-hid') + +function runNextRequest () { + // move forward in time to allow the queue to process one request + jest.advanceTimersByTime(200) +} + +async function connectEthApp () { + Eth.mock.instances[0].getAppConfiguration.mockResolvedValue({ version: '2.0.1' }) + + return new Promise(resolve => { + ledger.on('update', () => { + if (ledger.status === Status.OK) resolve() + }) + + // connect and run initial request to derive addresses + ledger.connect().then(runNextRequest) + }) +} + +function verifyDone(done, expectations) { + verify(done, expectations, true) +} + +function verify(done, expectations, complete = false) { + try { + expectations() + if (complete) done() + } catch (e) { done(e) } +} + +function verifyPromise(resolve, reject, expectations) { + try { + expectations() + resolve() + } catch (e) { reject(e) } +} + +const addresses = [ + '0xf10326c1c6884b094e03d616cc8c7b920e3f73e0', + '0xa16002db5438b5862270a9e404346e3c3b059eeb' +] + +let ledger + +beforeAll(() => { + jest.useFakeTimers() + log.transports.console.level = false +}) + +beforeEach(async () => { + Eth.mockClear() + + ledger = new Ledger('usb-path') + ledger.derivation = Derivation.legacy + + await ledger.open() + + Eth.mock.instances[0].deriveAddresses.mockImplementation(() => Promise.resolve(addresses)) +}) + +afterEach(async () => { + ledger.removeAllListeners() + await ledger.disconnect() +}) + +afterAll(() => { + jest.useRealTimers() + log.transports.console.level = 'debug' +}) + +describe('#connect', () => { + describe('when the eth app is open', () => { + beforeEach(() => { + Eth.mock.instances[0].getAppConfiguration.mockResolvedValue({ version: '1.9.2' }) + }) + + it('sets the version', async () => { + await ledger.connect() + + expect(ledger.appVersion).toEqual({ + major: 1, minor: 9, patch: 2 + }) + }) + + it('detects that the app is locked', done => { + const stateFlow = [] + + Eth.mock.instances[0].getAddress.mockRejectedValue({ statusCode: 27404 }) + + ledger.on('update', () => { + stateFlow.push(ledger.status) + + verify(done, () => { + expect(stateFlow).toEqual([Status.INITIAL]) + expect(ledger.status).toBe(Status.INITIAL) + }) + }) + + ledger.once('lock', () => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.LOCKED) + expect(ledger.eth).toBeDefined() + }) + }) + + ledger.connect() + }) + + it('derives addresses after connecting', done => { + const stateFlow = [] + + ledger.on('update', () => { + stateFlow.push(ledger.status) + + if (ledger.status === Status.OK) { + verifyDone(done, () => { + expect(ledger.addresses).toEqual(addresses) + expect(stateFlow).toEqual([Status.INITIAL, Status.DERIVING, Status.OK]) + }) + } + }) + + ledger.connect().then(runNextRequest) + }) + }) + + describe('when the eth app is not open', () => { + // these status codes all represent a different app or the Ledger main menu being open + const statusCodes = [27904, 27906, 25873, 25871] + + statusCodes.forEach(code => { + it(`sets the status to wrong application and disconnects the signer when the status code is ${code}`, async () => { + Eth.mock.instances[0].getAppConfiguration.mockRejectedValue({ statusCode: code }) + + ledger.on('update', () => { + expect(ledger.status).toEqual(Status.WRONG_APP) + }) + + await ledger.connect() + + expect(ledger.eth).not.toBeDefined() + }) + }) + }) +}) + +describe('#deriveAddress', () => { + beforeEach(async () => { + await connectEthApp() + }) + + it('derives hardware addresses', done => { + const stateFlow = [] + + ledger.on('update', () => { + stateFlow.push(ledger.status) + + if (ledger.status === Status.DERIVING) { + verify(done, () => expect(ledger.addresses).toHaveLength(0)) + } + + if (ledger.status === Status.OK) { + verifyDone(done, () => { + expect(stateFlow).toEqual([Status.DERIVING, Status.OK]) + expect(ledger.addresses).toEqual(addresses) + }) + } + }) + + ledger.derivation = Derivation.legacy + ledger.deriveAddresses() + runNextRequest() + }) + + it('derives live addresses', done => { + Eth.mock.instances[0].getAddress.mockImplementation(path => { + if (path === "44'/60'/0'/0/0") return Promise.resolve({ address: addresses[0] }) + if (path === "44'/60'/1'/0/0") return Promise.resolve({ address: addresses[1] }) + + return Promise.reject('unknown path!') + }) + + const stateFlow = [] + + const firstUpdateDone = new Promise(resolve => { + ledger.on('update', () => { + stateFlow.push(ledger.status) + + if (ledger.status === Status.DERIVING) { + verify(done, () => expect(ledger.addresses).toHaveLength(0)) + } + + if (ledger.status === Status.OK) { + if (ledger.addresses.length === 2) { + verifyDone(done, () => { + expect(stateFlow).toEqual([Status.DERIVING, Status.OK, Status.OK]) + expect(ledger.addresses).toEqual(addresses) + }) + } else { + // resolve this promise to run the next request + resolve() + } + } + }) + + ledger.accountLimit = 2 + ledger.derivation = Derivation.live + ledger.deriveAddresses() + + runNextRequest() + }) + + // all this craziness is necessary to simulate the queue running multiple + // requests, resolving their promsies, and advancing the timer to run the next request + firstUpdateDone.then(() => { }).then(() => { }).then(runNextRequest) + }) +}) + +describe('#verifyAddress', () => { + beforeEach(async () => { + await connectEthApp() + + Eth.mock.instances[0].getAddress.mockImplementation(path => new Promise(resolve => { + resolve({ + address: (path === "44'/60'/0'/9") + ? '0xe9d6f5779cf6936de03c0bec631f3bb3e336d98d' + : '0xCd37a15BdfEc87D0e383E628da2399053D5948ca' + }) + })) + }) + + it('verifies an address', done => { + ledger.once('update', () => done('status updated unexpectedly!')) + + ledger.verifyAddress(9, '0xe9d6f5779cf6936de03c0bec631f3bb3e336d98d', false, (err, verified) => { + verifyDone(done, () => { + expect(verified).toBe(true) + expect(err).toBeFalsy() + }) + }) + + runNextRequest() + }) + + const errorCases = [ + { + testCase: 'the address does not match', + expectedError: 'Address does not match device', + }, + { + testCase: 'the verification request is rejected by the user', + expectedError: 'Verify request rejected by user', + setup: () => Eth.mock.instances[0].getAddress.mockRejectedValue({ statusCode: 27013 }) + }, + { + testCase: 'there is a communication error', + setup: () => Eth.mock.instances[0].getAddress.mockRejectedValue({ statusCode: -1 }) + }, + { + testCase: 'the eth app is not initialized', + setup: () => ledger.eth = undefined + }, + { + testCase: 'the derivation type is not initialized', + setup: () => ledger.derivation = undefined + } + ] + + errorCases.forEach(({ testCase, setup = () => {}, expectedError = 'Verify address error' }) => { + it(`fails if ${testCase}`, async () => { + const statusUpdate = new Promise((resolve, reject) => { + ledger.on('update', () => { + verifyPromise(resolve, reject, () => expect(ledger.status).toBe(Status.NEEDS_RECONNECTION)) + }) + }) + + const callback = new Promise((resolve, reject) => { + setup() + + ledger.verifyAddress(1, '0xe9d6f5779cf6936de03c0bec631f3bb3e336d98d', false, (err, verified) => { + verifyPromise(resolve, reject, () => { + expect(verified).toBeUndefined() + expect(err.message).toBe(expectedError) + }) + }) + }) + + runNextRequest() + + return Promise.all([statusUpdate, callback]) + }) + }) +}) + +const signingMethods = ['signMessage', 'signTransaction'] + +signingMethods.forEach(signingMethod => { + const signType = signingMethod.substring(4).toLowerCase() + + describe(`#${signingMethod}`, () => { + beforeEach(async () => { + await connectEthApp() + }) + + it(`signs a ${signType}`, done => { + Eth.mock.instances[0][signingMethod].mockImplementation(path => new Promise(resolve => { + resolve((path === "44'/60'/0'/3") + ? '0x724e7dfa6ee0fd0dd84c5d8a84eb57be29ff20ed253b3249de2e3d6b119d7b1e6a211ce0c48f93c5e399ac8cd7c6fe56e36fa960b6da92de2c435814928f2f8c1b' + : '0xf257b7f96ad7cbf11b80c2085dc76d10ede662fb2c77dc7fbd9f574d78d9da6d08cb1a99c7d97ac87b9d7f5a4e3ae052ba3a11888fdfeefe6a169a0547c1b2e01b' + ) + })) + + ledger.once('update', () => done('Ledger unexpectedly updated!')) + + ledger[signingMethod](3, 'hello, Frame!', (err, signature) => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.OK) + expect(err).toBeFalsy() + expect(signature).toBe('0x724e7dfa6ee0fd0dd84c5d8a84eb57be29ff20ed253b3249de2e3d6b119d7b1e6a211ce0c48f93c5e399ac8cd7c6fe56e36fa960b6da92de2c435814928f2f8c1b') + }) + }) + + runNextRequest() + }) + + it('fails if the signing request is rejected by the user', done => { + Eth.mock.instances[0][signingMethod].mockRejectedValue({ statusCode: 27013 }) + + ledger.once('update', () => done('Ledger unexpectedly updated!')) + ledger.once('close', () => done('Ledger unexpectedly closed!')) + + ledger[signingMethod](3, 'hello, Frame!', (err, signature) => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.OK) + expect(signature).toBeUndefined() + expect(err.message).toBe('Sign request rejected by user') + }) + }) + + runNextRequest() + }) + + const errorCases = [ + { + testCase: 'there is a communication error', + setup: () => Eth.mock.instances[0][signingMethod].mockRejectedValue({ statusCode: -1 }) + }, + { + testCase: 'the eth app is not initialized', + setup: () => ledger.eth = undefined + }, + { + testCase: 'the derivation type is not initialized', + setup: () => ledger.derivation = undefined + } + ] + + errorCases.forEach(({ testCase, setup = () => {} }) => { + it(`fails if ${testCase}`, async () => { + const statusUpdate = new Promise((resolve, reject) => { + ledger.on('update', () => { + verifyPromise(resolve, reject, () => expect(ledger.status).toBe(Status.NEEDS_RECONNECTION)) + }) + }) + + const callback = new Promise((resolve, reject) => { + setup() + + ledger[signingMethod](3, 'hello, Frame!', (err, signature) => { + verifyPromise(resolve, reject, () => { + expect(signature).toBeUndefined() + expect(err.message).toBe(`Sign ${signType} error`) + }) + }) + }) + + runNextRequest() + + return Promise.all([statusUpdate, callback]) + }) + }) + }) +}) + +describe('#signTypedData', () => { + beforeEach(async () => { + await connectEthApp() + }) + + it('signs v4 typed data', done => { + Eth.mock.instances[0].signTypedData.mockImplementation(path => new Promise(resolve => { + resolve((path === "44'/60'/0'/5") + ? '0x724e7dfa6ee0fd0dd84c5d8a84eb57be29ff20ed253b3249de2e3d6b119d7b1e6a211ce0c48f93c5e399ac8cd7c6fe56e36fa960b6da92de2c435814928f2f8c1b' + : '0xf257b7f96ad7cbf11b80c2085dc76d10ede662fb2c77dc7fbd9f574d78d9da6d08cb1a99c7d97ac87b9d7f5a4e3ae052ba3a11888fdfeefe6a169a0547c1b2e01b' + ) + })) + + ledger.once('update', () => done('Ledger unexpectedly updated!')) + + ledger.signTypedData(5, 'V4', 'all sorts of typed data', (err, signature) => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.OK) + expect(err).toBeFalsy() + expect(signature).toBe('0x724e7dfa6ee0fd0dd84c5d8a84eb57be29ff20ed253b3249de2e3d6b119d7b1e6a211ce0c48f93c5e399ac8cd7c6fe56e36fa960b6da92de2c435814928f2f8c1b') + }) + }) + + runNextRequest() + }) + + it('fails to sign pre-v4 typed data', done => { + ledger.once('update', () => done('Ledger unexpectedly updated!')) + + ledger.signTypedData(5, 'V3', 'all sorts of typed data', (err, signature) => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.OK) + expect(signature).toBeUndefined() + expect(err.message.toLowerCase().indexOf('invalid version')).toBeGreaterThanOrEqual(0) + }) + }) + }) + + it('fails if the signing request is rejected by the user', done => { + Eth.mock.instances[0].signTypedData.mockRejectedValue({ statusCode: 27013 }) + + ledger.once('update', () => done('Ledger unexpectedly updated!')) + ledger.once('close', () => done('Ledger unexpectedly closed!')) + + ledger.signTypedData(5, 'V4', 'typed data', (err, signature) => { + verifyDone(done, () => { + expect(ledger.status).toBe(Status.OK) + expect(signature).toBeUndefined() + expect(err.message).toBe('Sign request rejected by user') + }) + }) + + runNextRequest() + }) + + const errorCases = [ + { + testCase: 'there is a communication error', + setup: () => Eth.mock.instances[0].signTypedData.mockRejectedValue({ statusCode: -1 }) + }, + { + testCase: 'the eth app is not initialized', + setup: () => ledger.eth = undefined + }, + { + testCase: 'the derivation type is not initialized', + setup: () => ledger.derivation = undefined + } + ] + + errorCases.forEach(({ testCase, setup = () => {} }) => { + it(`fails if ${testCase}`, async () => { + const statusUpdate = new Promise((resolve, reject) => { + ledger.on('update', () => { + verifyPromise(resolve, reject, () => expect(ledger.status).toBe(Status.NEEDS_RECONNECTION)) + }) + }) + + const callback = new Promise((resolve, reject) => { + setup() + + ledger.signTypedData(5, 'V4', 'typed data', (err, signature) => { + verifyPromise(resolve, reject, () => { + expect(signature).toBeUndefined() + expect(err.message).toBe('Sign message error') + }) + }) + }) + + runNextRequest() + + return Promise.all([statusUpdate, callback]) + }) + }) +}) diff --git a/test/main/signers/ledger/adapter.test.js b/test/main/signers/ledger/adapter.test.js new file mode 100644 index 000000000..06840b16a --- /dev/null +++ b/test/main/signers/ledger/adapter.test.js @@ -0,0 +1,172 @@ +import HID from 'node-hid' +import LedgerSignerAdapter from '../../../../main/signers/ledger/adapter' +import { Status } from '../../../../main/signers/ledger/Ledger' +import log from 'electron-log' + +jest.mock('node-hid') + +jest.mock('usb', () => { + return { + attachedDevices: () => [], + getDeviceList: () => [], + on: jest.fn(), + removeListener: jest.fn() + } +}) + +jest.mock('../../../../main/store/persist', () => ({ + get: jest.fn(), + set: jest.fn(), + queue: jest.fn() +})) + +jest.mock('../../../../main/signers/ledger/Ledger', () => { + const L = jest.requireActual('../../../../main/signers/ledger/Ledger') + + const constructor = function (devicePath) { + const ledger = new L.default(devicePath) + ledger.open = async function () { } + + ledger.connect = async function () { + this.status = L.Status.OK + this.emit('update') + } + + ledger.disconnect = async function () { + this.status = L.Status.DISCONNECTED + this.emit('update') + } + + ledger.close = async function () { this.emit('close') } + + return ledger + } + + return { __esModule: true, default: constructor, Status: L.Status } +}) + +const ledgerUsbDevice = { + deviceDescriptor: { + idVendor: 11415, + idProduct: 4117 + } +} + +async function simulateLedgerConnection (path, deviceAddress = 1) { + connectedHids.push({ interface: 0, usagePage: 0xffa0, path }) + return adapter.handleAttachedDevice({ ...ledgerUsbDevice, deviceAddress }) +} + +async function simulateLedgerDisconnection (path, deviceAddress = 1) { + const hidIndex = connectedHids.findIndex(hid => hid.path === path) + connectedHids.splice(hidIndex, 1) + + return adapter.handleDetachedDevice({ ...ledgerUsbDevice, deviceAddress }) +} + +let adapter, connectedHids + +beforeAll(() => { + jest.useFakeTimers() + log.transports.console.level = false +}) + +beforeEach(() => { + HID.devices.mockImplementation(() => connectedHids) + connectedHids = [] + + adapter = new LedgerSignerAdapter() + adapter.open() +}) + +afterEach(() => { + adapter.close() +}) + +afterAll(() => { + jest.useRealTimers() + log.transports.console.level = 'debug' +}) + +it('recognizes a Ledger Nano S', done => { + adapter.once('add', ledger => { + try { + expect(ledger.devicePath).toBe('nano-s-path') + done() + } catch (e) { done(e) } + }) + + simulateLedgerConnection('nano-s-path') +}) + +it('creates a new Ledger when one is already attached', done => { + const addedLedgers = [] + + adapter.on('add', ledger => { + addedLedgers.push(ledger) + + if (addedLedgers.length === 2) { + try { + expect(addedLedgers[0].devicePath).toBe('connected-nano-s-path') + expect(addedLedgers[1].devicePath).toBe('new-nano-s-path') + done() + } catch (e) { done(e) } + } + }) + + simulateLedgerConnection('connected-nano-s-path', 1) + simulateLedgerConnection('new-nano-s-path', 2) +}) + +it('handles a disconnected Ledger', done => { + simulateLedgerConnection('nano-x-discon-path').then(() => { + // ensure no Ledgers are added + adapter.once('add', () => done('new Ledger should not be added!')) + + adapter.once('remove', id => { + try { + expect(id).toBe('88da20f4-2d91-5a86-b7ec-c86603d02ad8') + expect(adapter.disconnections).toHaveLength(0) + expect(Object.keys(adapter.knownSigners)).toHaveLength(0) + done() + } catch (e) { done(e) } + }) + + adapter.on('update', ledger => { + try { + expect(ledger.status).toBe(Status.DISCONNECTED) + } catch (e) { done(e) } + }) + + simulateLedgerDisconnection('nano-x-discon-path') + + jest.advanceTimersByTime(5000) + }) +}, 200) + +it('updates an existing Ledger when the eth app is exited', done => { + let receivedDisconnect = false + + simulateLedgerConnection('nano-x-eth-app-path').then(() => { + // ensure no Ledgers are added or removed + adapter.once('add', () => done('new Ledger should not be added!')) + adapter.once('remove', () => done('new Ledger should not be removed!')) + adapter.on('update', ledger => { + if (!receivedDisconnect && ledger.status === Status.DISCONNECTED) { + return receivedDisconnect = true + } + + try { + expect(receivedDisconnect).toBe(true) + expect(ledger.status).toBe(Status.OK) + expect(ledger.devicePath).toBe('nano-x-eth-app-path') + expect(adapter.disconnections).toHaveLength(0) + expect(Object.keys(adapter.knownSigners)).toHaveLength(1) + done() + } catch (e) { done(e) } + }) + + simulateLedgerDisconnection('nano-x-eth-app-path', 1) + simulateLedgerConnection('nano-x-eth-app-path', 2) + }) +}, 200) diff --git a/test/main/store/actions/index.test.js b/test/main/store/actions/index.test.js new file mode 100644 index 000000000..bb9c7aeba --- /dev/null +++ b/test/main/store/actions/index.test.js @@ -0,0 +1,201 @@ +import { addNetwork as addNetworkAction } from '../../../../main/store/actions' + +describe('#addNetwork', () => { + const polygonNetwork = { + id: 137, + name: 'Polygon', + type: 'ethereum', + layer: 'sidechain', + explorer: 'https://polygonscan.com', + symbol: 'MATIC' + } + + let networks, networksMeta + + const updaterFn = (node, update) => { + if (node !== 'main') throw new Error(`attempted to update wrong node: ${node}`) + update({ networks, networksMeta }) + } + + const addNetwork = network => addNetworkAction(updaterFn, network) + + beforeEach(() => { + networks = { ethereum: {} } + networksMeta = { ethereum: {} } + }) + + it('adds a network with the correct id', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].id).toBe(137) + }) + + it('adds a network with the correct id if the id is a number represented as a string', () => { + addNetwork({ ...polygonNetwork, id: '137' }) + + expect(networks.ethereum['137'].id).toBe(137) + }) + + it('adds a network with the correct name', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].name).toBe('Polygon') + }) + + it('adds a network with the correct symbol', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].symbol).toBe('MATIC') + }) + + it('adds a network with the correct layer', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].layer).toBe('sidechain') + }) + + it('adds a network with the correct explorer', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].explorer).toBe('https://polygonscan.com') + }) + + it('adds a network that is on by default', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].on).toBe(true) + }) + + it('adds a network with the correct primary RPC', () => { + polygonNetwork.primaryRpc = 'https://polygon-rpc.com' + + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].primaryRpc).toBeUndefined() + expect(networks.ethereum['137'].connection.primary.custom).toBe('https://polygon-rpc.com') + }) + + it('adds a network with the correct secondary RPC', () => { + polygonNetwork.secondaryRpc = 'https://rpc-mainnet.matic.network' + + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].secondaryRpc).toBeUndefined() + expect(networks.ethereum['137'].connection.secondary.custom).toBe( 'https://rpc-mainnet.matic.network') + }) + + it('adds a network with the correct default connection presets', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].connection.presets).toEqual({ local: 'direct' }) + }) + + it('adds a network with the correct default primary connection settings', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].connection.primary).toEqual({ + on: true, + current: 'custom', + status: 'loading', + connected: false, + type: '', + network: '', + custom: '' + }) + }) + + it('adds a network with the correct default secondary connection settings', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].connection.secondary).toEqual({ + on: false, + current: 'custom', + status: 'loading', + connected: false, + type: '', + network: '', + custom: '' + }) + }) + + it('adds a network with the correct default gas settings', () => { + addNetwork(polygonNetwork) + + expect(networks.ethereum['137'].gas).toEqual({ + price: { + selected: 'standard', + levels: { slow: '', standard: '', fast: '', asap: '', custom: '' } + } + }) + }) + + it('adds a network with the correct default metadata', () => { + addNetwork(polygonNetwork) + + expect(networksMeta.ethereum['137']).toEqual({ + gas: { + price: { + selected: 'standard', + levels: { slow: '', standard: '', fast: '', asap: '', custom: '' } + } + } + }) + }) + + it('does not add the network if id is not a parseable number', () => { + addNetwork({ ...polygonNetwork, id: 'test' }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if name is not defined', () => { + addNetwork({ ...polygonNetwork, name: undefined }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if explorer is not defined', () => { + addNetwork({ ...polygonNetwork, explorer: undefined }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if symbol is not defined', () => { + addNetwork({ ...polygonNetwork, symbol: undefined }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if type is not a string', () => { + addNetwork({ ...polygonNetwork, type: 2 }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if type is not "ethereum"', () => { + addNetwork({ ...polygonNetwork, type: 'solana' }) + + expect(Object.keys(networks.ethereum)).toHaveLength(0) + expect(Object.keys(networksMeta.ethereum)).toHaveLength(0) + }) + + it('does not add the network if the networks already exists', () => { + networks.ethereum['137'] = { ...polygonNetwork } + + addNetwork({ + id: 137, + type: 'ethereum', + name: 'Matic v1', + explorer: 'https://rpc-mainnet.maticvigil.com', + symbol: 'MATIC' + }) + + expect(networks.ethereum['137'].name).toBe('Polygon') + expect(networks.ethereum['137'].explorer).toBe('https://polygonscan.com') + }) +}) \ No newline at end of file diff --git a/test/main/store/migrations/index.test.js b/test/main/store/migrations/index.test.js index 736df08a4..d379e4b45 100644 --- a/test/main/store/migrations/index.test.js +++ b/test/main/store/migrations/index.test.js @@ -1,4 +1,4 @@ -const log = require('electron-log') +import log from 'electron-log' log.transports.console.level = false import migrations from '../../../../main/store/migrations' @@ -249,3 +249,119 @@ describe('migration 14', () => { expect(arbitrum.gas.fees.maxFeePerGas).toBe('0xf') }) }) + +describe('migration 15', () => { + beforeEach(() => { + state = { + main: { + _version: 14, + networks: { + ethereum: { + 137: { + id: 1, + type: 'ethereum', + layer: 'sidechain', + symbol: 'MATIC', + name: 'Polygon', + explorer: 'https://explorer.matic.network', + connection: { + primary: { + on: true, + current: 'matic' + }, + secondary: { + on: false, + current: 'local' + } + } + } + } + }, + networksMeta: { + ethereum: { } + } + } + } + }) + + it('updates the initial explorer for Polygon', () => { + const updatedState = migrations.apply(state) + const polygon = updatedState.main.networks.ethereum['137'] + + expect(polygon.explorer).toBe('https://polygonscan.com') + }) + + it('adds the Polygon explorer if one does not exist', () => { + delete state.main.networks.ethereum['137'].explorer + + const updatedState = migrations.apply(state) + const polygon = updatedState.main.networks.ethereum['137'] + + expect(polygon.explorer).toBe('https://polygonscan.com') + }) + + it('does not update the Polygon explorer if it has been manually changed', () => { + state.main.networks.ethereum['137'].explorer = 'https://custom-explorer.io' + + const updatedState = migrations.apply(state) + const polygon = updatedState.main.networks.ethereum['137'] + + expect(polygon.explorer).toBe('https://custom-explorer.io') + }) +}) + +describe('migration 16', () => { + beforeEach(() => { + state = { + main: { + _version: 15, + currentNetwork: { + type: 'ethereum', + id: '1' + }, + networks: { + ethereum: { + 137: { + id: '137', + type: 'ethereum', + layer: 'sidechain', + symbol: 'MATIC', + name: 'Polygon', + explorer: 'https://explorer.matic.network', + connection: { + primary: { + on: true, + current: 'matic' + }, + secondary: { + on: false, + current: 'local' + } + } + } + } + }, + networksMeta: { + ethereum: {} + } + } + } + }) + + it('converts string ids to numbers', () => { + const updatedState = migrations.apply(state) + const polygon = updatedState.main.networks.ethereum[137] + expect(polygon.id).toBe(137) + }) + + it('converts current id to number', () => { + const updatedState = migrations.apply(state) + const id = updatedState.main.currentNetwork.id + expect(id).toBe(1) + }) + + it('updates state version to 16', () => { + const updatedState = migrations.apply(state) + expect(updatedState.main._version).toBe('16') + }) +}) diff --git a/test/main/transaction/index.test.js b/test/main/transaction/index.test.js index da1f152b0..655bf73f2 100644 --- a/test/main/transaction/index.test.js +++ b/test/main/transaction/index.test.js @@ -1,7 +1,7 @@ import { addHexPrefix, stripHexPrefix } from 'ethereumjs-util' import Common from '@ethereumjs/common' -import { usesBaseFee, londonToLegacy, signerCompatibility, populate, sign } from '../../../main/transaction' +import { usesBaseFee, maxFee, londonToLegacy, signerCompatibility, populate, sign } from '../../../main/transaction' describe('#signerCompatibility', () => { it('is always compatible with legacy transactions', () => { @@ -118,8 +118,8 @@ describe('#signerCompatibility', () => { expect(compatibility.compatible).toBe(true) }) - it('is not compatible for eip-1559 transactions on Trezor signers', () => { - const appVersion = { major: 1, minor: 1, patch: 1 } + it('is not compatible for eip-1559 transactions on Trezor signers using firmware prior to 2.4.2', () => { + const appVersion = { major: 2, minor: 3, patch: 1 } const tx = { type: '0x2' } @@ -130,6 +130,32 @@ describe('#signerCompatibility', () => { expect(compatibility.tx).toBe('london') expect(compatibility.compatible).toBe(false) }) + + it('is compatible for eip-1559 transactions on Trezor signers using firmware 2.4.2+', () => { + const appVersion = { major: 2, minor: 4, patch: 3 } + const tx = { + type: '0x2' + } + + const compatibility = signerCompatibility(tx, { type: 'trezor', appVersion }) + + expect(compatibility.signer).toBe('trezor') + expect(compatibility.tx).toBe('london') + expect(compatibility.compatible).toBe(true) + }) + + it('is compatible for eip-1559 transactions on Trezor signers using firmware 3.x', () => { + const appVersion = { major: 3, minor: 2, patch: 4 } + const tx = { + type: '0x2' + } + + const compatibility = signerCompatibility(tx, { type: 'trezor', appVersion }) + + expect(compatibility.signer).toBe('trezor') + expect(compatibility.tx).toBe('london') + expect(compatibility.compatible).toBe(true) + }) }) describe('#londonToLegacy', () => { @@ -197,6 +223,32 @@ describe('#usesBaseFee', () => { }) }) +describe('#maxFee', () => { + it('sets the max fee as 2 ETH on mainnet', () => { + const tx = { + chainId: addHexPrefix((1).toString(16)) + } + + expect(maxFee(tx)).toBe(2e18) + }) + + it('sets the max fee as 1000 FTM on Fantom', () => { + const tx = { + chainId: addHexPrefix((250).toString(16)) + } + + expect(maxFee(tx)).toBe(250e18) + }) + + it('sets the max fee as 10 on other chains', () => { + const tx = { + chainId: addHexPrefix((255).toString(16)) + } + + expect(maxFee(tx)).toBe(1e19) + }) +}) + describe('#populate', () => { let gas const rawTx = { diff --git a/test/signers/ring.test.js b/test/signers/ring.test.js index 7e5a86e4e..1df18a819 100644 --- a/test/signers/ring.test.js +++ b/test/signers/ring.test.js @@ -58,14 +58,17 @@ describe('Ring signer', () => { }) test('Create from private key', (done) => { - const privateKey = crypto.randomBytes(32).toString('hex') + const privateKey = '0x' + crypto.randomBytes(32).toString('hex') hot.createFromPrivateKey(signers, privateKey, PASSWORD, (err, result) => { signer = result - expect(err).toBe(null) - expect(signer.status).toBe('locked') - expect(signer.id).not.toBe(undefined) - expect(store(`main.signers.${signer.id}.id`)).toBe(signer.id) - done() + + try { + expect(err).toBe(null) + expect(signer.status).toBe('locked') + expect(signer.id).not.toBe(undefined) + expect(store(`main.signers.${signer.id}.id`)).toBe(signer.id) + done() + } catch(e) { done(e) } }) })