test deploy scripts
Signed-off-by: AlienTornadosaurusHex <>
This commit is contained in:
parent
5f8942e085
commit
9726f20e7b
@ -8,13 +8,30 @@ const { createInterface } = require('readline')
|
|||||||
|
|
||||||
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
||||||
|
|
||||||
|
function idToNetwork(id) {
|
||||||
|
switch (id) {
|
||||||
|
case 1:
|
||||||
|
return 'Mainnet'
|
||||||
|
case 3:
|
||||||
|
return 'Ropsten'
|
||||||
|
case 4:
|
||||||
|
return 'Rinkeby'
|
||||||
|
case 5:
|
||||||
|
return 'Goerli'
|
||||||
|
case 11155111:
|
||||||
|
return 'Sepolia'
|
||||||
|
default:
|
||||||
|
throw Error('\nChain Id could not be recognized. What network are you using?\n')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function _prompt(prompt, resolve) {
|
function _prompt(prompt, resolve) {
|
||||||
prompter.question(prompt, (answer) => {
|
prompter.question(prompt, (answer) => {
|
||||||
if (answer == 'y') {
|
if (answer == 'y') {
|
||||||
resolve(true)
|
resolve(true)
|
||||||
} else if (answer == 'n') {
|
} else {
|
||||||
resolve(false)
|
resolve(false)
|
||||||
} else _prompt('', resolve)
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,11 +54,13 @@ function timeout(seconds) {
|
|||||||
const promptMessageBase = (middle) => `\n${middle}\n\nAre you sure you would like to continue? (y/n): `
|
const promptMessageBase = (middle) => `\n${middle}\n\nAre you sure you would like to continue? (y/n): `
|
||||||
|
|
||||||
async function deploy() {
|
async function deploy() {
|
||||||
|
if (process.env.STAKING_PROXY_ADDRESS === "") throw Error('Missing STAKING_PROXY_ADDRESS.')
|
||||||
|
|
||||||
|
if (process.env.REGISTRY_IMPL_ADDRESS === "") throw Error('Missing REGISTRY_IMPL_ADDRESS.')
|
||||||
|
|
||||||
const signer = await ethers.getSigner()
|
const signer = await ethers.getSigner()
|
||||||
|
|
||||||
if (process.env.STAKING_PROXY_ADDRESS === undefined) throw Error('Missing STAKING_PROXY_ADDRESS.')
|
const _network = await ethers.provider.getNetwork()
|
||||||
|
|
||||||
if (process.env.REGISTRY_IMPL_ADDRESS === undefined) throw Error('Missing REGISTRY_IMPL_ADDRESS.')
|
|
||||||
|
|
||||||
const stakingProxyAddress = `${process.env.STAKING_PROXY_ADDRESS}`
|
const stakingProxyAddress = `${process.env.STAKING_PROXY_ADDRESS}`
|
||||||
|
|
||||||
@ -53,18 +72,21 @@ async function deploy() {
|
|||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to PatchProposal deployment.'))) {
|
if (await prompt(promptMessageBase('Continuing to PatchProposal deployment.'))) {
|
||||||
patchProposal = await patchProposalDeployer.deploy(stakingProxyAddress, registryImplementationAddress)
|
patchProposal = await patchProposalDeployer.deploy(stakingProxyAddress, registryImplementationAddress)
|
||||||
console.log(deployedMessage('PatchProposal', 1, patchProposal.address))
|
console.log(deployedMessage('PatchProposal', _network.chainId, patchProposal.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at PatchProposal deployment.\n'
|
return '\nDecided to stop at PatchProposal deployment.\n'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
||||||
|
console.log('\nWaiting 20 seconds.\n')
|
||||||
|
await timeout(20)
|
||||||
|
|
||||||
await hre.run('verify:verify', {
|
await hre.run('verify:verify', {
|
||||||
address: patchProposal.address,
|
address: patchProposal.address,
|
||||||
constructorArguments: [stakingProxyAddress, registryImplementationAddress],
|
constructorArguments: [stakingProxyAddress, registryImplementationAddress],
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(verifiedMessage('PatchProposal'))
|
console.log(verifiedMessage('PatchProposal', patchProposal.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at contract verification.\n'
|
return '\nDecided to stop at contract verification.\n'
|
||||||
}
|
}
|
||||||
|
@ -10,13 +10,30 @@ const { createInterface } = require('readline')
|
|||||||
|
|
||||||
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
||||||
|
|
||||||
|
function idToNetwork(id) {
|
||||||
|
switch (id) {
|
||||||
|
case 1:
|
||||||
|
return 'Mainnet'
|
||||||
|
case 3:
|
||||||
|
return 'Ropsten'
|
||||||
|
case 4:
|
||||||
|
return 'Rinkeby'
|
||||||
|
case 5:
|
||||||
|
return 'Goerli'
|
||||||
|
case 11155111:
|
||||||
|
return 'Sepolia'
|
||||||
|
default:
|
||||||
|
throw Error('\nChain Id could not be recognized. What network are you using?\n')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function _prompt(prompt, resolve) {
|
function _prompt(prompt, resolve) {
|
||||||
prompter.question(prompt, (answer) => {
|
prompter.question(prompt, (answer) => {
|
||||||
if (answer == 'y') {
|
if (answer == 'y') {
|
||||||
resolve(true)
|
resolve(true)
|
||||||
} else if (answer == 'n') {
|
} else {
|
||||||
resolve(false)
|
resolve(false)
|
||||||
} else _prompt('', resolve)
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,9 +56,11 @@ function timeout(seconds) {
|
|||||||
const promptMessageBase = (middle) => `\n${middle}\n\nAre you sure you would like to continue? (y/n): `
|
const promptMessageBase = (middle) => `\n${middle}\n\nAre you sure you would like to continue? (y/n): `
|
||||||
|
|
||||||
async function deploy() {
|
async function deploy() {
|
||||||
|
if (process.env.STAKING_PROXY_ADDRESS === "") throw Error('Missing STAKING_PROXY_ADDRESS.')
|
||||||
|
|
||||||
const signer = await ethers.getSigner()
|
const signer = await ethers.getSigner()
|
||||||
|
|
||||||
if (process.env.STAKING_PROXY_ADDRESS === undefined) throw Error('Missing STAKING_PROXY_ADDRESS.')
|
const _network = await ethers.provider.getNetwork()
|
||||||
|
|
||||||
const stakingProxyAddress = `${process.env.STAKING_PROXY_ADDRESS}`
|
const stakingProxyAddress = `${process.env.STAKING_PROXY_ADDRESS}`
|
||||||
|
|
||||||
@ -57,12 +76,15 @@ async function deploy() {
|
|||||||
stakingProxyAddress,
|
stakingProxyAddress,
|
||||||
config.feeManager,
|
config.feeManager,
|
||||||
)
|
)
|
||||||
console.log(deployedMessage('RelayerRegistry (Implementation)', 1, registry.address))
|
console.log(deployedMessage('RelayerRegistry (Implementation)', _network.chainId, registry.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at RelayerRegistry (Implementation) deployment.\n'
|
return '\nDecided to stop at RelayerRegistry (Implementation) deployment.\n'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
||||||
|
console.log('\nWaiting 20 seconds.\n')
|
||||||
|
await timeout(20)
|
||||||
|
|
||||||
await hre.run('verify:verify', {
|
await hre.run('verify:verify', {
|
||||||
address: registry.address,
|
address: registry.address,
|
||||||
constructorArguments: [
|
constructorArguments: [
|
||||||
@ -73,7 +95,7 @@ async function deploy() {
|
|||||||
config.feeManager,
|
config.feeManager,
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
console.log(verifiedMessage('RelayerRegistry (Implementation)'))
|
console.log(verifiedMessage('RelayerRegistry (Implementation)', registry.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at contract verification.\n'
|
return '\nDecided to stop at contract verification.\n'
|
||||||
}
|
}
|
||||||
|
@ -10,13 +10,30 @@ const { createInterface } = require('readline')
|
|||||||
|
|
||||||
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
const prompter = createInterface({ input: process.stdin, output: process.stdout })
|
||||||
|
|
||||||
|
function idToNetwork(id) {
|
||||||
|
switch (id) {
|
||||||
|
case 1:
|
||||||
|
return 'Mainnet'
|
||||||
|
case 3:
|
||||||
|
return 'Ropsten'
|
||||||
|
case 4:
|
||||||
|
return 'Rinkeby'
|
||||||
|
case 5:
|
||||||
|
return 'Goerli'
|
||||||
|
case 11155111:
|
||||||
|
return 'Sepolia'
|
||||||
|
default:
|
||||||
|
throw Error('\nChain Id could not be recognized. What network are you using?\n')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function _prompt(prompt, resolve) {
|
function _prompt(prompt, resolve) {
|
||||||
prompter.question(prompt, (answer) => {
|
prompter.question(prompt, (answer) => {
|
||||||
if (answer == 'y') {
|
if (answer == 'y') {
|
||||||
resolve(true)
|
resolve(true)
|
||||||
} else if (answer == 'n') {
|
} else {
|
||||||
resolve(false)
|
resolve(false)
|
||||||
} else _prompt('', resolve)
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,6 +58,8 @@ const promptMessageBase = (middle) => `\n${middle}\n\nAre you sure you would lik
|
|||||||
async function deploy() {
|
async function deploy() {
|
||||||
const signer = await ethers.getSigner()
|
const signer = await ethers.getSigner()
|
||||||
|
|
||||||
|
const _network = await ethers.provider.getNetwork()
|
||||||
|
|
||||||
const stakingDeployer = (await ethers.getContractFactory('TornadoStakingRewards')).connect(signer)
|
const stakingDeployer = (await ethers.getContractFactory('TornadoStakingRewards')).connect(signer)
|
||||||
const proxyDeployer = (await ethers.getContractFactory('AdminUpgradeableProxy')).connect(signer)
|
const proxyDeployer = (await ethers.getContractFactory('AdminUpgradeableProxy')).connect(signer)
|
||||||
|
|
||||||
@ -48,34 +67,37 @@ async function deploy() {
|
|||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to TornadoStakingRewards (Implementation) deployment.'))) {
|
if (await prompt(promptMessageBase('Continuing to TornadoStakingRewards (Implementation) deployment.'))) {
|
||||||
impl = await stakingDeployer.deploy(config.governance, config.TORN, config.registry)
|
impl = await stakingDeployer.deploy(config.governance, config.TORN, config.registry)
|
||||||
console.log(deployedMessage('TornadoStakingRewards (Implementation)', 1, impl.address))
|
console.log(deployedMessage('TornadoStakingRewards (Implementation)', _network.chainId, impl.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at TornadoStakingRewards (Implementation) deployment.\n'
|
return '\nDecided to stop at TornadoStakingRewards (Implementation) deployment.\n'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to Staking Proxy deployment.'))) {
|
if (await prompt(promptMessageBase('Continuing to Staking Proxy deployment.'))) {
|
||||||
proxy = await proxyDeployer.deploy(impl.address, governance.address, [])
|
proxy = await proxyDeployer.deploy(impl.address, config.governance, [])
|
||||||
console.log(deployedMessage('Staking Proxy', 1, proxy.address))
|
console.log(deployedMessage('Staking Proxy', _network.chainId, proxy.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at Staking Proxy deployment.\n'
|
return '\nDecided to stop at Staking Proxy deployment.\n'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
if (await prompt(promptMessageBase('Continuing to contract verification.'))) {
|
||||||
|
console.log('\nWaiting 20 seconds.\n')
|
||||||
|
await timeout(20)
|
||||||
|
|
||||||
await hre.run('verify:verify', {
|
await hre.run('verify:verify', {
|
||||||
address: impl.address,
|
address: impl.address,
|
||||||
constructorArguments: [config.governance, config.TORN, config.registry],
|
constructorArguments: [config.governance, config.TORN, config.registry],
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(verifiedMessage('TornadoStakingRewards (Implementation)'))
|
console.log(verifiedMessage('TornadoStakingRewards (Implementation)', impl.address))
|
||||||
console.log('\nWaiting 5 seconds.\n')
|
console.log('\nWaiting 20 seconds.\n')
|
||||||
await timeout(5)
|
await timeout(20)
|
||||||
|
|
||||||
await hre.run('verify:verify', {
|
await hre.run('verify:verify', {
|
||||||
address: proxy.address,
|
address: proxy.address,
|
||||||
constructorArguments: [impl.address, governance.address, []],
|
constructorArguments: [impl.address, config.governance, []],
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(verifiedMessage('Staking Proxy'))
|
console.log(verifiedMessage('Staking Proxy', proxy.address))
|
||||||
} else {
|
} else {
|
||||||
return '\nDecided to stop at contract verification.\n'
|
return '\nDecided to stop at contract verification.\n'
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
require('dotenv').config()
|
require('dotenv').config()
|
||||||
|
require('@nomicfoundation/hardhat-verify')
|
||||||
require('@nomiclabs/hardhat-ethers')
|
require('@nomiclabs/hardhat-ethers')
|
||||||
require('@nomiclabs/hardhat-etherscan')
|
|
||||||
require('@nomiclabs/hardhat-waffle')
|
require('@nomiclabs/hardhat-waffle')
|
||||||
require('hardhat-spdx-license-identifier')
|
require('hardhat-spdx-license-identifier')
|
||||||
require('hardhat-storage-layout')
|
require('hardhat-storage-layout')
|
||||||
@ -57,6 +57,11 @@ module.exports = {
|
|||||||
url: 'http://localhost:8545',
|
url: 'http://localhost:8545',
|
||||||
timeout: 120000,
|
timeout: 120000,
|
||||||
},
|
},
|
||||||
|
goerli: {
|
||||||
|
url: `${process.env.RPC_URL}`,
|
||||||
|
accounts: process.env.PRIVATE_KEY ? [`${process.env.PRIVATE_KEY}`] : undefined,
|
||||||
|
timeout: 9999999,
|
||||||
|
},
|
||||||
mainnet: {
|
mainnet: {
|
||||||
url: `${process.env.RPC_URL}`,
|
url: `${process.env.RPC_URL}`,
|
||||||
accounts: process.env.PRIVATE_KEY ? [`${process.env.PRIVATE_KEY}`] : undefined,
|
accounts: process.env.PRIVATE_KEY ? [`${process.env.PRIVATE_KEY}`] : undefined,
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ethersproject/testcases": "^5.5.0",
|
"@ethersproject/testcases": "^5.5.0",
|
||||||
|
"@nomicfoundation/hardhat-verify": "^1.0.0",
|
||||||
"@nomiclabs/hardhat-ethers": "^2.0.2",
|
"@nomiclabs/hardhat-ethers": "^2.0.2",
|
||||||
"@nomiclabs/hardhat-etherscan": "^2.1.6",
|
"@nomiclabs/hardhat-etherscan": "^2.1.6",
|
||||||
"@nomiclabs/hardhat-waffle": "^2.0.1",
|
"@nomiclabs/hardhat-waffle": "^2.0.1",
|
||||||
|
54
yarn.lock
54
yarn.lock
@ -1069,6 +1069,21 @@
|
|||||||
"@nodelib/fs.scandir" "2.1.5"
|
"@nodelib/fs.scandir" "2.1.5"
|
||||||
fastq "^1.6.0"
|
fastq "^1.6.0"
|
||||||
|
|
||||||
|
"@nomicfoundation/hardhat-verify@^1.0.0":
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-1.0.0.tgz#f18be34f5e7fdb2ffd4f55e8516108568b99da5c"
|
||||||
|
integrity sha512-R3UM/w2+e4D9PZRaeJHbC0caHSu/FV3ykAFBFg+RPNsfSzNgtHeRJXS+V+2HnVJYPaucBUD0v/6qtU8BZAouoQ==
|
||||||
|
dependencies:
|
||||||
|
"@ethersproject/abi" "^5.1.2"
|
||||||
|
"@ethersproject/address" "^5.0.2"
|
||||||
|
cbor "^8.1.0"
|
||||||
|
chalk "^2.4.2"
|
||||||
|
debug "^4.1.1"
|
||||||
|
lodash.clonedeep "^4.5.0"
|
||||||
|
semver "^6.3.0"
|
||||||
|
table "^6.8.0"
|
||||||
|
undici "^5.14.0"
|
||||||
|
|
||||||
"@nomiclabs/hardhat-ethers@^2.0.2":
|
"@nomiclabs/hardhat-ethers@^2.0.2":
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511"
|
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511"
|
||||||
@ -2772,6 +2787,13 @@ bufferutil@^4.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
node-gyp-build "^4.3.0"
|
node-gyp-build "^4.3.0"
|
||||||
|
|
||||||
|
busboy@^1.6.0:
|
||||||
|
version "1.6.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
|
||||||
|
integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
|
||||||
|
dependencies:
|
||||||
|
streamsearch "^1.1.0"
|
||||||
|
|
||||||
bytes@3.1.0:
|
bytes@3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
||||||
@ -2881,6 +2903,13 @@ cbor@^8.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
nofilter "^3.0.3"
|
nofilter "^3.0.3"
|
||||||
|
|
||||||
|
cbor@^8.1.0:
|
||||||
|
version "8.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5"
|
||||||
|
integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==
|
||||||
|
dependencies:
|
||||||
|
nofilter "^3.1.0"
|
||||||
|
|
||||||
chai@^4.3.4:
|
chai@^4.3.4:
|
||||||
version "4.3.4"
|
version "4.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
|
resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
|
||||||
@ -7071,7 +7100,7 @@ nofilter@^1.0.4:
|
|||||||
resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e"
|
resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e"
|
||||||
integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==
|
integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==
|
||||||
|
|
||||||
nofilter@^3.0.3:
|
nofilter@^3.0.3, nofilter@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66"
|
resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66"
|
||||||
integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==
|
integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==
|
||||||
@ -8711,6 +8740,11 @@ stream-to-pull-stream@^1.7.1:
|
|||||||
looper "^3.0.0"
|
looper "^3.0.0"
|
||||||
pull-stream "^3.2.3"
|
pull-stream "^3.2.3"
|
||||||
|
|
||||||
|
streamsearch@^1.1.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
|
||||||
|
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
|
||||||
|
|
||||||
strict-uri-encode@^1.0.0:
|
strict-uri-encode@^1.0.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
|
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
|
||||||
@ -8914,6 +8948,17 @@ table@^6.0.9:
|
|||||||
string-width "^4.2.3"
|
string-width "^4.2.3"
|
||||||
strip-ansi "^6.0.1"
|
strip-ansi "^6.0.1"
|
||||||
|
|
||||||
|
table@^6.8.0:
|
||||||
|
version "6.8.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
|
||||||
|
integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
|
||||||
|
dependencies:
|
||||||
|
ajv "^8.0.1"
|
||||||
|
lodash.truncate "^4.4.2"
|
||||||
|
slice-ansi "^4.0.0"
|
||||||
|
string-width "^4.2.3"
|
||||||
|
strip-ansi "^6.0.1"
|
||||||
|
|
||||||
tape@^4.6.3:
|
tape@^4.6.3:
|
||||||
version "4.14.0"
|
version "4.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/tape/-/tape-4.14.0.tgz#e4d46097e129817175b90925f2385f6b1bcfa826"
|
resolved "https://registry.yarnpkg.com/tape/-/tape-4.14.0.tgz#e4d46097e129817175b90925f2385f6b1bcfa826"
|
||||||
@ -9283,6 +9328,13 @@ underscore@1.9.1:
|
|||||||
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
|
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
|
||||||
integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
|
integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
|
||||||
|
|
||||||
|
undici@^5.14.0:
|
||||||
|
version "5.22.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/undici/-/undici-5.22.1.tgz#877d512effef2ac8be65e695f3586922e1a57d7b"
|
||||||
|
integrity sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==
|
||||||
|
dependencies:
|
||||||
|
busboy "^1.6.0"
|
||||||
|
|
||||||
union-value@^1.0.0:
|
union-value@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
|
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
|
||||||
|
Loading…
Reference in New Issue
Block a user