From ac1e36aeebf6f4db1e1f42fe57723fc535d8c70b Mon Sep 17 00:00:00 2001 From: gagdiez Date: Mon, 22 Jan 2024 17:31:14 +0100 Subject: [PATCH 01/20] feat: re-organized cli code --- .eslintrc.yml | 2 +- bin/near-cli.js | 291 +----------- commands/account/create.js | 152 +++++++ commands/account/delete.js | 58 +++ commands/account/login.js | 117 +++++ commands/account/state.js | 27 ++ commands/add-key.js | 42 -- commands/{ => contract}/call.js | 53 ++- commands/contract/deploy.js | 100 +++++ .../{view-state.js => contract/storage.js} | 29 +- commands/contract/view.js | 46 ++ commands/create-account.js | 156 ------- commands/credentials/add.js | 53 +++ commands/credentials/generate.js | 54 +++ commands/delete-key.js | 50 --- commands/deprecated.js | 24 + commands/dev-deploy.js | 111 ----- commands/evm-call.js | 35 -- commands/evm-dev-init.js | 18 - commands/evm-view.js | 22 - commands/generate-key.js | 58 --- commands/js.js | 323 ------------- commands/keys/add.js | 53 +++ commands/keys/delete.js | 71 +++ commands/keys/list.js | 24 + commands/proposals.js | 12 - commands/repl.js | 83 ---- commands/set-x-api-key.js | 15 - commands/transactions/send.js | 49 ++ commands/transactions/status.js | 49 ++ commands/tx-status.js | 38 -- commands/validators.js | 29 -- config.js | 70 +-- context/index.d.ts | 8 - get-config.js | 19 - index.js | 274 ------------ middleware/abi.js | 11 - middleware/base64-args.js | 0 middleware/initial-balance.js | 6 - middleware/key-store.js | 14 +- middleware/ledger.js | 70 --- middleware/print-options.js | 2 +- middleware/seed-phrase.js | 25 -- middleware/x-api-key.js | 9 - neardev/shared-test-staging/test.near.json | 1 - neardev/shared-test/test.near.json | 1 - package.json | 13 +- test/script_test.js | 10 - test/script_test.ts | 11 - test/test_account_creation.sh | 98 +++- test/test_account_operations.sh | 148 +++--- test/test_contract.sh | 60 +-- test/test_credentials.sh | 63 +++ test/test_deploy_init_contract.sh | 40 +- test/test_generate_key.sh | 26 -- test/test_keys.sh | 34 ++ test/test_script.sh | 5 - test/unit/explorer.test.js | 27 -- test/unit/utils/x-api-key-settings.test.js | 49 -- utils/check-credentials.js | 35 -- utils/connect.js | 4 +- utils/create-dev-account.js | 50 --- utils/credentials.js | 25 ++ utils/deprecation-warning.js | 5 - utils/error-handlers.js | 6 - utils/eventtracking.js | 134 ------ utils/exit-on-error.js | 59 --- utils/explorer.js | 22 - utils/implicit-accountid.js | 5 - utils/inspect-response.js | 62 +-- utils/log-event.js | 6 - utils/readline.js | 2 +- utils/settings.js | 45 -- utils/validators-info.js | 121 ----- utils/x-api-key-settings.js | 26 -- yarn.lock | 423 +++++++++++++----- 76 files changed, 1625 insertions(+), 2743 deletions(-) create mode 100644 commands/account/create.js create mode 100644 commands/account/delete.js create mode 100644 commands/account/login.js create mode 100644 commands/account/state.js delete mode 100644 commands/add-key.js rename commands/{ => contract}/call.js (59%) create mode 100644 commands/contract/deploy.js rename commands/{view-state.js => contract/storage.js} (64%) create mode 100644 commands/contract/view.js delete mode 100644 commands/create-account.js create mode 100644 commands/credentials/add.js create mode 100644 commands/credentials/generate.js delete mode 100644 commands/delete-key.js create mode 100644 commands/deprecated.js delete mode 100644 commands/dev-deploy.js delete mode 100644 commands/evm-call.js delete mode 100644 commands/evm-dev-init.js delete mode 100644 commands/evm-view.js delete mode 100644 commands/generate-key.js delete mode 100644 commands/js.js create mode 100644 commands/keys/add.js create mode 100644 commands/keys/delete.js create mode 100644 commands/keys/list.js delete mode 100644 commands/proposals.js delete mode 100644 commands/repl.js delete mode 100644 commands/set-x-api-key.js create mode 100644 commands/transactions/send.js create mode 100644 commands/transactions/status.js delete mode 100644 commands/tx-status.js delete mode 100644 commands/validators.js delete mode 100644 context/index.d.ts delete mode 100644 get-config.js delete mode 100644 index.js delete mode 100644 middleware/abi.js delete mode 100644 middleware/base64-args.js delete mode 100644 middleware/initial-balance.js delete mode 100644 middleware/ledger.js delete mode 100644 middleware/seed-phrase.js delete mode 100644 middleware/x-api-key.js delete mode 100644 neardev/shared-test-staging/test.near.json delete mode 100644 neardev/shared-test/test.near.json delete mode 100644 test/script_test.js delete mode 100644 test/script_test.ts create mode 100755 test/test_credentials.sh delete mode 100755 test/test_generate_key.sh create mode 100755 test/test_keys.sh delete mode 100755 test/test_script.sh delete mode 100644 test/unit/explorer.test.js delete mode 100644 test/unit/utils/x-api-key-settings.test.js delete mode 100644 utils/check-credentials.js delete mode 100644 utils/create-dev-account.js create mode 100644 utils/credentials.js delete mode 100644 utils/deprecation-warning.js delete mode 100644 utils/error-handlers.js delete mode 100644 utils/eventtracking.js delete mode 100644 utils/exit-on-error.js delete mode 100644 utils/explorer.js delete mode 100644 utils/implicit-accountid.js delete mode 100644 utils/log-event.js delete mode 100644 utils/settings.js delete mode 100644 utils/validators-info.js delete mode 100644 utils/x-api-key-settings.js diff --git a/.eslintrc.yml b/.eslintrc.yml index 5148948a..82e529b5 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -4,7 +4,7 @@ env: jest: true extends: 'eslint:recommended' parserOptions: - ecmaVersion: 2018 + ecmaVersion: latest rules: indent: - error diff --git a/bin/near-cli.js b/bin/near-cli.js index cea13022..899d056c 100644 --- a/bin/near-cli.js +++ b/bin/near-cli.js @@ -1,285 +1,32 @@ const yargs = require('yargs'); -const main = require('../'); -const exitOnError = require('../utils/exit-on-error'); const chalk = require('chalk'); -const { DEFAULT_FUNCTION_CALL_GAS } = require('near-api-js'); -// For account: - -const login = { - command: 'login', - desc: 'logging in through NEAR protocol wallet', - builder: (yargs) => yargs - .option('walletUrl', { - desc: 'URL of wallet to use', - type: 'string', - required: false - }), - handler: exitOnError(main.login) -}; - -const viewAccount = { - command: 'state ', - desc: 'view account state', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Account to view', - type: 'string', - required: true - }), - handler: exitOnError(main.viewAccount) -}; - -const deleteAccount = { - command: 'delete ', - desc: 'delete an account and transfer Near tokens to beneficiary account.', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Account to delete', - type: 'string', - required: true - }) - .option('beneficiaryId', { - desc: 'Account to transfer funds to', - type: 'string', - required: true - }), - handler: exitOnError(main.deleteAccount) -}; - -const keys = { - command: 'keys ', - desc: 'view account public keys', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Account to view', - type: 'string', - required: true - }), - handler: exitOnError(main.keys) -}; - -const sendMoney = { - command: 'send ', - desc: 'send tokens to given receiver', - builder: (yargs) => yargs - .option('amount', { - desc: 'Amount of NEAR tokens to send', - type: 'string', - }), - handler: exitOnError(main.sendMoney) -}; - -const stake = { - command: 'stake [accountId] [stakingKey] [amount]', - desc: 'create staking transaction', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Account to stake on', - type: 'string', - required: true, - }) - .option('stakingKey', { - desc: 'Public key to stake with (base58 encoded)', - type: 'string', - required: true, - }) - .option('amount', { - desc: 'Amount to stake', - type: 'string', - required: true, - }), - handler: exitOnError(main.stake) -}; - -// For contract: -const deploy = { - command: 'deploy [accountId] [wasmFile] [initFunction] [initArgs] [initGas] [initDeposit]', - // command: 'deploy', - desc: 'deploy your smart contract', - builder: (yargs) => yargs - .option('wasmFile', { - desc: 'Path to wasm file to deploy', - type: 'string', - default: './out/main.wasm' - }) - .option('initFunction', { - desc: 'Initialization method', - type: 'string', - }) - .option('initArgs', { - desc: 'Initialization arguments', - }) - .option('initGas', { - desc: 'Gas for initialization call', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS - }) - .option('initDeposit', { - desc: 'Deposit in Ⓝ to send for initialization call', - type: 'string', - default: '0' - }) - .alias({ - 'accountId': ['account_id', 'contractName', 'contract_name'], - }), - handler: exitOnError(main.deploy) -}; - -const callViewFunction = { - command: 'view [args]', - desc: 'make smart contract call which can view state', - builder: (yargs) => yargs - .option('args', { - desc: 'Arguments to the view call, in JSON format (e.g. \'{"param_a": "value"}\')', - type: 'string', - default: null - }) - .alias({ - 'contractName': ['accountId'], - }), - handler: exitOnError(main.callViewFunction) -}; - -const clean = { - command: 'clean', - desc: 'clean the build environment', - builder: (yargs) => yargs - .option('outDir', { - desc: 'build directory', - type: 'string', - default: './out' - }), - handler: exitOnError(main.clean) -}; - -let config = require('../get-config')(); yargs // eslint-disable-line .strict() - .middleware(require('../utils/check-version')) .scriptName('near') - .option('nodeUrl', { - desc: 'NEAR node URL', - type: 'string', - default: config.nodeUrl - }) - .option('headers', { - hidden: true, - desc: 'headers for NEAR RPC server calls', - type: 'string', - }) - .option('networkId', { - desc: 'NEAR network ID, allows using different keys based on network', - type: 'string', - default: config.networkId - }) - .option('helperUrl', { - desc: 'NEAR contract helper URL', - type: 'string', - }) - .option('keyPath', { - desc: 'Path to master account key', - type: 'string', - }) - .option('accountId', { - desc: 'Unique identifier for the account', - type: 'string', - }) - .option('useLedgerKey', { - desc: 'Use Ledger for signing with given HD key path', - type: 'string', - default: "44'/397'/0'/0'/1'" - }) - .options('seedPhrase', { - desc: 'Seed phrase mnemonic', - type: 'string', - required: false - }) - .options('seedPath', { - desc: 'HD path derivation', - type: 'string', - default: "m/44'/397'/0'", - required: false - }) - .option('walletUrl', { - desc: 'Website for NEAR Wallet', - type: 'string' - }) - .option('contractName', { - desc: 'Account name of contract', - type: 'string' - }) - .option('masterAccount', { - desc: 'Master account used when creating new accounts', - type: 'string' - }) - .option('helperAccount', { - desc: 'Expected top-level account for a network', - type: 'string' - }) - .option('explorerUrl', { - hidden: true, - desc: 'Base url for explorer', - type: 'string', - }) - .option('verbose', { - desc: 'Prints out verbose output', - type: 'boolean', - alias: 'v', - default: false - }) - .option('force', { - desc: 'Forcefully execute the desired action even if it is unsafe to do so', - type: 'boolean', - default: false, - alias: 'f' - }) - .middleware(require('../middleware/initial-balance')) + .middleware(require('../utils/check-version')) .middleware(require('../middleware/print-options')) .middleware(require('../middleware/key-store')) - .middleware(require('../middleware/ledger')) - .middleware(require('../middleware/abi')) - .middleware(require('../middleware/seed-phrase')) - .middleware(require('../middleware/x-api-key')) - .command(require('../commands/create-account').createAccountCommand) - .command(require('../commands/create-account').createAccountCommandDeprecated) - .command(viewAccount) - .command(deleteAccount) - .command(keys) - .command(require('../commands/tx-status')) - .command(deploy) - .command(require('../commands/dev-deploy')) - .command(require('../commands/call')) - .command(callViewFunction) - .command(require('../commands/view-state')) - .command(sendMoney) - .command(clean) - .command(stake) - .command(login) - .command(require('../commands/repl')) - .command(require('../commands/generate-key')) - .command(require('../commands/add-key')) - .command(require('../commands/delete-key')) - .command(require('../commands/validators')) - .command(require('../commands/proposals')) - .command(require('../commands/evm-call')) - .command(require('../commands/evm-dev-init')) - .command(require('../commands/evm-view')) - .command(require('../commands/set-x-api-key')) - .command(require('../commands/js')) - .config(config) - .alias({ - 'accountId': ['account_id'], - 'nodeUrl': 'node_url', - 'networkId': ['network_id'], - 'wasmFile': 'wasm_file', - 'projectDir': 'project_dir', - 'outDir': 'out_dir', - }) + .command(require('../commands/credentials/add')) + .command(require('../commands/keys/add')) + .command(require('../commands/contract/call')) + .command(require('../commands/account/create')) + .command(require('../commands/account/delete')) + .command(require('../commands/keys/delete')) + .command(require('../commands/contract/deploy')) + .command(require('../commands/credentials/generate')) + .command(require('../commands/keys/list')) + .command(require('../commands/account/login')) + .command(require('../commands/transactions/send')) + .command(require('../commands/account/state')) + .command(require('../commands/contract/storage')) + .command(require('../commands/transactions/status')) + .command(require('../commands/contract/view')) + .command(require('../commands/deprecated')) + .option('verbose', { desc: 'Prints out verbose output', type: 'boolean', default: false }) .showHelpOnFail(true) .recommendCommands() .demandCommand(1, chalk`Pass {bold --help} to see all available commands and options.`) .usage(chalk`Usage: {bold $0 [options]}`) - .epilogue(chalk`Check out our epic whiteboard series: {bold http://near.ai/wbs}`) .wrap(null) - .argv; + .argv; \ No newline at end of file diff --git a/commands/account/create.js b/commands/account/create.js new file mode 100644 index 00000000..34b0286d --- /dev/null +++ b/commands/account/create.js @@ -0,0 +1,152 @@ + +const connect = require('../../utils/connect'); +const { KeyPair, utils, DEFAULT_FUNCTION_CALL_GAS } = require('near-api-js'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials, storeCredentials } = require('../../utils/credentials'); +const { DEFAULT_NETWORK } = require('../../config'); +const chalk = require('chalk'); +const { BN } = require('bn.js'); + +module.exports = { + command: 'create-account ', + aliases: ['create'], + desc: 'Create a new account', + builder: (yargs) => yargs + .describe('new-account-id', 'Account to be created (e.g. bob.testnet, bob.near, sub.bob.testnet, sub.bob.near)') + .option('useFaucet', { + desc: 'Pre-fund the account through a faucet service (testnet only)', + type: 'boolean', + default: false + }) + .option('useAccount', { + desc: 'Account that will request and fund creating the new account', + alias: ['accountId'], + type: 'string', + required: false + }) + .option('initialBalance', { + desc: 'Number of tokens to transfer to the new account', + type: 'string', + default: '1' + }) + .option('publicKey', { + desc: 'Public key to initialize the account with', + type: 'string', + required: false + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: create +}; + +const network2TLA = { testnet: 'testnet', mainnet: 'near' }; + +async function assertAccountDoesNotExist(accountId, near) { + // Check to see if account already exists + try { + // This is expected to error because the account shouldn't exist + const account = await near.account(accountId); + await account.state(); + throw new Error(`Sorry, account '${accountId}' already exists.`); + } catch (e) { + if (!e.message.includes('does not exist while viewing')) { + throw e; + } + } +} + +async function create(options) { + const near = await connect(options); + + if (!options.useFaucet && !options.useAccount) { + throw new Error(chalk`Please specify if you want the account to be fund by a faucet (--useFaucet) or through an existing --accountId)`); + } + + if (options.useFaucet) { + if (options.networkId !== 'testnet') throw new Error('Pre-funding accounts is only possible on testnet'); + }else{ + if(!options.useAccount) throw new Error('Please specify an account to sign the transaction (--useAccount)'); + await assertCredentials(options.useAccount, options.networkId, options.keyStore); + } + + // assert account being created does not exist + const newAccountId = options.newAccountId; + await assertAccountDoesNotExist(newAccountId, near); + + // If no public key is specified, create a random one + let keyPair; + let publicKey = options.publicKey; + + if (!publicKey) { + keyPair = KeyPair.fromRandom('ed25519'); + publicKey = keyPair.getPublicKey(); + } + + let promise; + + if (options.useFaucet) { + // Use faucet service from NEAR + promise = near.createAccount(newAccountId, publicKey); + } else { + // Use an existing account + const account = await near.account(options.useAccount); + try { await account.state(); } catch (e) { + throw new Error(`Account ${options.useAccount} does not exist in ${options.networkId}. Are you using the right network?`); + } + + const initialBalance = new BN(utils.format.parseNearAmount(options.initialBalance)); + + const split = newAccountId.split('.'); + const isSubAccount = newAccountId.endsWith(options.useAccount); + + if (split.length === 2 && !isSubAccount) { + // Assuming the TLA has the `create_account` method + console.log(chalk`Calling {bold ${split[1]}.create_account()} to create ${newAccountId} using ${options.useAccount}`); + promise = account.functionCall( + { contractId: split[1], methodName: 'create_account', args: { new_account_id: newAccountId, new_public_key: publicKey.toString() }, gas: DEFAULT_FUNCTION_CALL_GAS, attachedDeposit: initialBalance } + ); + } else { + // creating sub-account or creating TLA + console.log(chalk`Creating account ${newAccountId} using ${options.useAccount}`); + promise = account.createAccount(newAccountId, publicKey, initialBalance); + } + } + + try { + // Handle response + const response = await promise; + if (keyPair){ + storeCredentials(newAccountId, options.networkId, options.keyStore, keyPair, true); + } else { + console.log(chalk`{bold.white ${newAccountId}} created successfully, please add its credentials manually.`); + } + inspectResponse.prettyPrintResponse(response, options); + } catch (error) { + // Handle errors + switch (error.type) { + case 'CreateAccountNotAllowed': + console.error(chalk`\n{red.bold Error:} ${options.useFaucet? 'the faucet service' : options.useAccount} cannot create ${newAccountId} (networkId: ${options.networkId}).`); + options.useAccount && console.error(chalk`${options.useAccount} can only create sub-accounts of itself, or .${network2TLA[options.networkId]} accounts.\n`); + options.useFaucet && console.error(chalk`Try using an account to fund it (--useAccount).`); + process.exit(1); + break; + case 'NotEnoughBalance': + console.error(chalk`\n{red.bold Error:} ${options.useFaucet? 'The faucet service' : options.useAccount} does not have enough balance.`); + console.error(`Transaction hash: ${error.context.transactionHash}\n`); + console.error(`Signer: ${error.kind.signer_id}`); + console.error(`Balance: ${utils.format.formatNearAmount(error.kind.balance)}`); + console.error(`Action Cost: ${utils.format.formatNearAmount(error.kind.cost)}\n`); + process.exit(1); + break; + case 'CreateAccountOnlyByRegistrar': + console.error(chalk`\nYou cannot create Top Level Accounts with less than 32 chars (${newAccountId} has ${newAccountId.length} chars).`); + process.exit(1); + break; + default: + throw error; + } + } +} diff --git a/commands/account/delete.js b/commands/account/delete.js new file mode 100644 index 00000000..9213a544 --- /dev/null +++ b/commands/account/delete.js @@ -0,0 +1,58 @@ +const chalk = require('chalk'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials } = require('../../utils/credentials'); +const { askYesNoQuestion } = require('../../utils/readline'); +const { DEFAULT_NETWORK } = require('../../config'); + +module.exports = { + command: 'delete-account ', + aliases: ['delete'], + desc: 'Delete account, sending remaining NEAR to a beneficiary', + builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) + .option('force', { + desc: 'Forcefully delete account even if it is unsafe to do so', + type: 'boolean', + default: false, + }), + handler: deleteAccount +}; + +const confirmDelete = function () { + return askYesNoQuestion( + chalk`This will {bold.white delete your account}. Make sure the beneficiary account {bold.white already exists} or your $NEAR tokens {bold.red will be lost}. This deleting action will {bold.red NOT} transfer the {bold.white FTs, NFTs} or other assets the account holds. You need to {bold.white manually transfer all assets} prior to deleting the account. Again, this deleting action will {bold.white only transfer the available NEAR tokens}. Do you want to proceed? {bold.green (y/n)} `, + false); +}; + +async function deleteAccount(options) { + await assertCredentials(options.accountId, options.networkId, options.keyStore); + const near = await connect(options); + const beneficiaryAccount = await near.account(options.beneficiaryId); + + try { + await beneficiaryAccount.state(); + } catch (e) { + // beneficiary account does not exist if there is no state + if (e.type === 'AccountDoesNotExist') { + console.error(`Beneficiary account ${options.beneficiaryId} does not exist. Please create the account to transfer Near tokens.`); + return; + } else { + throw e; + } + } + + if (options.force || await confirmDelete()) { + const account = await near.account(options.accountId); + console.log(`Deleting account ${options.accountId}, beneficiary: ${options.beneficiaryId}`); + const result = await account.deleteAccount(options.beneficiaryId); + console.log(`Account ${options.accountId} for network "${options.networkId}" was deleted.`); + inspectResponse.prettyPrintResponse(result, options); + } else { + console.log(chalk`{bold.white Deletion of account {bold.blue ${options.accountId}} was {bold.red cancelled}}`); + } +} \ No newline at end of file diff --git a/commands/account/login.js b/commands/account/login.js new file mode 100644 index 00000000..dc1fb2b8 --- /dev/null +++ b/commands/account/login.js @@ -0,0 +1,117 @@ +const chalk = require('chalk'); +const capture = require('../../utils/capture-login-success'); +const { KeyPair } = require('near-api-js'); +const open = require('open'); // open URL in default browser +const readline = require('readline'); +const URL = require('url').URL; +const verify = require('../../utils/verify-account'); +const { getConfig, DEFAULT_NETWORK } = require('../../config'); + +module.exports = { + command: 'login', + desc: 'Login through a web wallet (default: MyNearWallet)', + builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: login +}; + +// open a given URL in browser in a safe way. +const openUrl = async function (url) { + try { + await open(url.toString()); + } catch (error) { + console.error(`Failed to open the URL [ ${url.toString()} ]`, error); + } +}; + +async function login(options) { + const config = getConfig(options.networkId); + const newUrl = new URL(config.walletUrl + '/login/'); + const referrer = 'NEAR CLI'; + newUrl.searchParams.set('referrer', referrer); + const keyPair = await KeyPair.fromRandom('ed25519'); + newUrl.searchParams.set('public_key', keyPair.getPublicKey()); + + console.log(chalk`\n{bold.yellow Please authorize NEAR CLI} on at least one of your accounts.`); + + // attempt to capture accountId automatically via browser callback + let tempUrl; + const isWin = process.platform === 'win32'; + + // find a callback URL on the local machine + try { + if (!isWin) { // capture callback is currently not working on windows. This is a workaround to not use it + tempUrl = await capture.callback(5000); + } + } catch (error) { + // console.error("Failed to find suitable port.", error.message) + // TODO: Is it? Try triggering error + // silent error is better here + } + + // if we found a suitable URL, attempt to use it + if (tempUrl) { + if (process.env.GITPOD_WORKSPACE_URL) { + const workspaceUrl = new URL(process.env.GITPOD_WORKSPACE_URL); + newUrl.searchParams.set('success_url', `https://${tempUrl.port}-${workspaceUrl.hostname}`); + // Browser not opened, as will open automatically for opened port + } else { + newUrl.searchParams.set('success_url', `http://${tempUrl.hostname}:${tempUrl.port}`); + openUrl(newUrl); + } + } else if (isWin) { + // redirect automatically on windows, but do not use the browser callback + openUrl(newUrl); + } + + console.log(chalk`\n{dim If your browser doesn't automatically open, please visit this URL\n${newUrl.toString()}}`); + + const getAccountFromWebpage = async () => { + // capture account_id as provided by NEAR Wallet + const [accountId] = await capture.payload(['account_id'], tempUrl, newUrl); + return accountId; + }; + + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout + }); + const redirectAutomaticallyHint = tempUrl ? ' (if not redirected automatically)' : ''; + const getAccountFromConsole = async () => { + return await new Promise((resolve) => { + rl.question( + chalk`Please authorize at least one account at the URL above.\n\n` + + chalk`Which account did you authorize for use with NEAR CLI?\n` + + chalk`{bold Enter it here${redirectAutomaticallyHint}:}\n`, async (accountId) => { + resolve(accountId); + }); + }); + }; + + let accountId; + if (!tempUrl) { + accountId = await getAccountFromConsole(); + } else { + accountId = await new Promise((resolve, reject) => { + let resolved = false; + const resolveOnce = (result) => { if (!resolved) resolve(result); resolved = true; }; + getAccountFromWebpage() + .then(resolveOnce); // NOTE: error ignored on purpose + getAccountFromConsole() + .then(resolveOnce) + .catch(reject); + }); + } + rl.close(); + capture.cancel(); + // verify the accountId if we captured it or ... + try { + await verify(accountId, keyPair, options); + } catch (error) { + console.error('Failed to verify accountId.', error.message); + } +} \ No newline at end of file diff --git a/commands/account/state.js b/commands/account/state.js new file mode 100644 index 00000000..a6a408c0 --- /dev/null +++ b/commands/account/state.js @@ -0,0 +1,27 @@ +const { DEFAULT_NETWORK } = require('../../config'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const { utils } = require('near-api-js'); + +module.exports = { + command: 'state ', + desc: 'View account\'s state (balance, storage_usage, code_hash, etc...)', + builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: viewAccount +}; + +async function viewAccount(options) { + let near = await connect(options); + let account = await near.account(options.accountId); + let state = await account.state(); + if (state && state.amount) { + state['formattedAmount'] = utils.format.formatNearAmount(state.amount); + } + console.log(`Account ${options.accountId}`); + console.log(inspectResponse.formatResponse(state)); +} \ No newline at end of file diff --git a/commands/add-key.js b/commands/add-key.js deleted file mode 100644 index 70221b34..00000000 --- a/commands/add-key.js +++ /dev/null @@ -1,42 +0,0 @@ -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const inspectResponse = require('../utils/inspect-response'); -const { utils } = require('near-api-js'); -const checkCredentials = require('../utils/check-credentials'); - -module.exports = { - command: 'add-key ', - desc: 'Add an access key to given account', - builder: (yargs) => yargs - .option('access-key', { - desc: 'Public key to add (base58 encoded)', - type: 'string', - required: true, - }) - .option('contract-id', { - desc: 'Limit access key to given contract (if not provided - will create full access key)', - type: 'string', - required: false, - }) - .option('method-names', { - desc: 'Method names to limit access key to (example: --method-names meth1 meth2)', - type: 'array', - required: false, - }) - .option('allowance', { - desc: 'Allowance in $NEAR for the key (default 0)', - type: 'string', - required: false, - }), - handler: exitOnError(addAccessKey) -}; - -async function addAccessKey(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - console.log(`Adding ${options.contractId ? 'function call access' : 'full access'} key = ${options.accessKey} to ${options.accountId}.`); - const near = await connect(options); - const account = await near.account(options.accountId); - const allowance = utils.format.parseNearAmount(options.allowance); - const result = await account.addKey(options.accessKey, options.contractId, options.methodNames, allowance); - inspectResponse.prettyPrintResponse(result, options); -} diff --git a/commands/call.js b/commands/contract/call.js similarity index 59% rename from commands/call.js rename to commands/contract/call.js index 3fc3b0a5..8ed78d62 100644 --- a/commands/call.js +++ b/commands/contract/call.js @@ -1,14 +1,26 @@ const { DEFAULT_FUNCTION_CALL_GAS, providers, utils } = require('near-api-js'); -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const inspectResponse = require('../utils/inspect-response'); -const checkCredentials = require('../utils/check-credentials'); -const handleExceededThePrepaidGasError = require('../utils/error-handlers'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials } = require('../../utils/credentials'); +const { DEFAULT_NETWORK } = require('../../config'); +const { InMemoryKeyStore } = require('near-api-js/lib/key_stores'); +const chalk = require('chalk'); module.exports = { command: 'call [args]', - desc: 'schedule smart contract call which can modify state', + desc: 'Call method in smart contract', builder: (yargs) => yargs + .option('signAs', { + required: true, + alias: ['accountId'], + desc: 'accountId that will execute the actions', + type: 'string' + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) .option('gas', { desc: 'Max amount of gas this call can use (in gas units)', type: 'string', @@ -30,29 +42,33 @@ module.exports = { type: 'boolean', default: false }) - .option('args', { - desc: 'Arguments to the contract call, in JSON format by default (e.g. \'{"param_a": "value"}\')', + .option('privateKey', { + desc: 'AccessKey to use in the call', type: 'string', default: null - }) - .option('accountId', { - required: true, - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string' }), - handler: exitOnError(scheduleFunctionCall) + handler: scheduleFunctionCall }; async function scheduleFunctionCall(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); + if (options.privateKey) { + const keyPair = utils.KeyPair.fromString(options.privateKey); + console.log(`Using provided private key with public counterpart: ${keyPair.getPublicKey()}`); + options.keyStore = new InMemoryKeyStore(); + options.keyStore.setKey(options.networkId, options.accountId, keyPair); + } + + await assertCredentials(options.accountId, options.networkId, options.keyStore); + const deposit = options.depositYocto != null ? options.depositYocto : utils.format.parseNearAmount(options.deposit); console.log(`Scheduling a call: ${options.contractName}.${options.methodName}(${options.args || ''})` + (deposit && deposit != '0' ? ` with attached ${utils.format.formatNearAmount(deposit)} NEAR` : '')); const near = await connect(options); const account = await near.account(options.accountId); + const parsedArgs = options.base64 ? Buffer.from(options.args, 'base64') : JSON.parse(options.args || '{}'); - console.log('Doing account.functionCall()'); + try { const functionCallResponse = await account.functionCall({ contractId: options.contractName, @@ -65,9 +81,10 @@ async function scheduleFunctionCall(options) { inspectResponse.prettyPrintResponse(functionCallResponse, options); console.log(inspectResponse.formatResponse(result)); } catch (error) { - switch (JSON.stringify(error.kind)) { + switch (error.kind) { case '{"ExecutionError":"Exceeded the prepaid gas."}': { - handleExceededThePrepaidGasError(error, options); + console.log(chalk(`\nTransaction ${error.transaction_outcome.id} had ${options.gas} of attached gas but used ${error.transaction_outcome.outcome.gas_burnt} of gas`)); + console.log('View this transaction in explorer:', chalk.blue(`https://explorer.${options.networkId}.near.org/transactions/${error.transaction_outcome.id}`)); break; } default: { diff --git a/commands/contract/deploy.js b/commands/contract/deploy.js new file mode 100644 index 00000000..68fefec6 --- /dev/null +++ b/commands/contract/deploy.js @@ -0,0 +1,100 @@ +const fs = require('fs'); +const chalk = require('chalk'); +const { utils, transactions, DEFAULT_FUNCTION_CALL_GAS } = require('near-api-js'); + +const connect = require('../../utils/connect'); +const { assertCredentials } = require('../../utils/credentials'); +const { askYesNoQuestion } = require('../../utils/readline'); +const inspectResponse = require('../../utils/inspect-response'); +const { DEFAULT_NETWORK } = require('../../config'); + +module.exports = { + command: 'deploy [...]', + desc: 'Deploy a contract to an existing account (optionally initializing it)', + builder: (yargs) => yargs + .option('wasmFile', { + desc: 'Path to wasm file to deploy', + type: 'string', + required: true, + }) + .option('initFunction', { + desc: 'Initialization method', + type: 'string', + }) + .option('initArgs', { + desc: 'Initialization arguments', + }) + .option('initGas', { + desc: 'Gas for initialization call (default: 30TGAS)', + type: 'number', + default: DEFAULT_FUNCTION_CALL_GAS + }) + .option('initDeposit', { + desc: 'Deposit in Ⓝ to send for initialization call (default: 0)', + type: 'string', + default: '0' + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) + .option('force', { + desc: 'Forcefully deploy the contract', + type: 'boolean', + default: false, + }), + handler: deploy +}; + +const checkExistingContract = async function (prevCodeHash) { + if (prevCodeHash !== '11111111111111111111111111111111') { + return await askYesNoQuestion( + chalk`{bold.white This account already has a deployed contract [ {bold.blue ${prevCodeHash}} ]. Do you want to proceed? {bold.green (y/n) }}`, + false + ); + } + return true; +}; + +async function deploy(options) { + await assertCredentials(options.accountId, options.networkId, options.keyStore); + + const near = await connect(options); + const account = await near.account(options.accountId); + let prevState = await account.state(); + let prevCodeHash = prevState.code_hash; + + const answeredYes = await checkExistingContract(prevCodeHash); + if (!options.force && !answeredYes) return; + + console.log(`Deploying contract ${options.wasmFile} in ${options.accountId}`); + + // Deploy with init function and args + const txs = [transactions.deployContract(fs.readFileSync(options.wasmFile))]; + + if (options.initArgs && !options.initFunction) { + console.error('Must add initialization function.'); + process.exit(1); + } + + if (options.initFunction) { + if (!options.initArgs) { + console.error('Must add initialization arguments.\nExample: near deploy near.testnet ./out/contract.wasm --initFunction "new" --initArgs \'{"key": "value"}\''); + process.exit(1); + } + txs.push(transactions.functionCall( + options.initFunction, + Buffer.from(options.initArgs), + options.initGas, + utils.format.parseNearAmount(options.initDeposit)), + ); + } + + const result = await account.signAndSendTransaction({ + receiverId: options.accountId, + actions: txs + }); + console.log(`Done deploying ${options.initFunction ? 'and initializing' : 'to'} ${options.accountId}`); + inspectResponse.prettyPrintResponse(result, options); +} \ No newline at end of file diff --git a/commands/view-state.js b/commands/contract/storage.js similarity index 64% rename from commands/view-state.js rename to commands/contract/storage.js index 213d7a86..f0455599 100644 --- a/commands/view-state.js +++ b/commands/contract/storage.js @@ -1,17 +1,23 @@ -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const { formatResponse } = require('../utils/inspect-response'); +const { DEFAULT_NETWORK } = require('../../config'); +const connect = require('../../utils/connect'); +const { formatResponse } = require('../../utils/inspect-response'); module.exports = { - command: 'view-state [prefix]', - desc: 'View contract storage state', + command: 'storage [prefix]', + aliases: ['view-state'], + desc: 'View contract\'s storage (stored key-value pairs)', builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) .option('prefix', { desc: 'Return keys only with given prefix.', type: 'string', default: '' }) - .option('block-id', { + .option('blockId', { desc: 'The block number OR the block hash (base58-encoded).', type: 'string', coerce: (blockId) => { @@ -20,10 +26,9 @@ module.exports = { } return blockId; } - }) .option('finality', { - desc: '`optimistic` uses the latest block recorded on the node that responded to your query,\n' + + desc: '`optimistic` uses the latest block recorded on the node that responded to your query,\n' + '`final` is for a block that has been validated on at least 66% of the nodes in the network', type: 'string', choices: ['optimistic', 'final'], @@ -33,14 +38,14 @@ module.exports = { type: 'boolean', default: false }) - .conflicts('block-id', 'finality') + .conflicts('blockId', 'finality') .check((argv) => { if (!argv.finality && !argv.blockId) { throw new Error('Must provide either --finality or --blockId'); } return true; }), - handler: exitOnError(viewState) + handler: viewState }; async function viewState(options) { @@ -51,9 +56,9 @@ async function viewState(options) { // near-api-js takes block_id instead of blockId let state = await account.viewState(prefix, { block_id: blockId, finality }); if (utf8) { - state = state.map(({ key, value}) => ({ key: key.toString('utf-8'), value: value.toString('utf-8') })); + state = state.map(({ key, value }) => ({ key: key.toString('utf-8'), value: value.toString('utf-8') })); } else { - state = state.map(({ key, value}) => ({ key: key.toString('base64'), value: value.toString('base64') })); + state = state.map(({ key, value }) => ({ key: key.toString('base64'), value: value.toString('base64') })); } console.log(formatResponse(state, options)); } diff --git a/commands/contract/view.js b/commands/contract/view.js new file mode 100644 index 00000000..9e57621e --- /dev/null +++ b/commands/contract/view.js @@ -0,0 +1,46 @@ +const chalk = require('chalk'); +const connect = require('../../utils/connect'); +const { DEFAULT_NETWORK } = require('../../config'); +const inspectResponse = require('../../utils/inspect-response'); + +module.exports = { + command: 'view [args]', + desc: 'Call a read-only method in a contract', + builder: (yargs) => yargs + .option('args', { + desc: 'Arguments to the view call, in JSON format (e.g. \'{"param_a": "value"}\')', + type: 'string', + default: null + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: callViewFunction +}; + +async function callViewFunction(options) { + const near = await connect(options); + const account = await near.account(options.accountId || options.masterAccount || options.contractName); + + try { + console.log(`View call: ${options.contractName}.${options.methodName}(${options.args || ''})`); + const response = await account.viewFunction(options.contractName, options.methodName, JSON.parse(options.args || '{}')); + console.log(inspectResponse.formatResponse(response, options)); + } catch (error) { + switch(error.type){ + case 'AccountDoesNotExist': + console.error(chalk`\nAccount {bold.white ${options.contractName}} was {bold.red not found} in {bold.white ${options.networkId}}.`); + console.error(chalk`Check if the contract's account is correct, and if you choose the right {bold.white --networkId}.\n`); + process.exit(1); + break; + case 'UntypedError': + console.error(chalk`\n{bold.red Error:} ${error.toString()}\n`); + process.exit(1); + break; + default: + throw error; + } + } +} \ No newline at end of file diff --git a/commands/create-account.js b/commands/create-account.js deleted file mode 100644 index d1227d08..00000000 --- a/commands/create-account.js +++ /dev/null @@ -1,156 +0,0 @@ - -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const { KeyPair } = require('near-api-js'); -const inspectResponse = require('../utils/inspect-response'); -const checkCredentials = require('../utils/check-credentials'); -// Top-level account (TLA) is testnet for foo.alice.testnet -const TLA_MIN_LENGTH = 32; - -const createAccountCommand = { - command: 'create-account ', - desc: 'create a new developer account (subaccount of the masterAccount, ex: app.alice.test)', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Unique identifier for the newly created account', - type: 'string', - required: true - }) - .option('masterAccount', { - desc: 'Account used to create requested account.', - type: 'string', - required: true - }) - .option('publicKey', { - desc: 'Public key to initialize the account with', - type: 'string', - required: false - }) - .option('newLedgerKey', { - desc: 'HD key path to use with Ledger. Used to generate public key if not specified directly', - type: 'string', - default: "44'/397'/0'/0'/1'" - }) - .option('initialBalance', { - desc: 'Number of tokens to transfer to newly created account', - type: 'string', - default: '100' - }), - handler: exitOnError(createAccount) -}; - -const createAccountCommandDeprecated = { - command: 'create_account ', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Unique identifier for the newly created account', - type: 'string', - required: true - }) - .option('masterAccount', { - desc: 'Account used to create requested account.', - type: 'string', - required: true - }) - .option('publicKey', { - desc: 'Public key to initialize the account with', - type: 'string', - required: false - }) - .option('newLedgerKey', { - desc: 'HD key path to use with Ledger. Used to generate public key if not specified directly', - type: 'string', - default: "44'/397'/0'/0'/1'" - }) - .option('initialBalance', { - desc: 'Number of tokens to transfer to newly created account', - type: 'string', - default: '100' - }), - handler: exitOnError(async (options) => { - console.log('near create_account is deprecated and will be removed in version 0.26.0. Please use near create-account.'); - await createAccount(options); }) -}; - -async function createAccount(options) { - await checkCredentials(options.masterAccount, options.networkId, options.keyStore); - // NOTE: initialBalance is passed as part of config here, parsed in middleware/initial-balance - // periods are disallowed in top-level accounts and can only be used for subaccounts - const splitAccount = options.accountId.split('.'); - const splitMaster = options.masterAccount.split('.'); - const masterRootTLA = splitMaster[splitMaster.length - 1]; - if (splitAccount.length === 1) { - // TLA (bob-with-at-least-maximum-characters) - if (splitAccount[0].length < TLA_MIN_LENGTH) { - throw new Error(`Top-level accounts must be at least ${TLA_MIN_LENGTH} characters.\n` + - 'Note: this is for advanced usage only. Typical account names are of the form:\n' + - 'app.alice.test, where the masterAccount shares the top-level account (.test).' - ); - } - } else if (splitAccount.length > 1) { - // Subaccounts (short.alice.near, even.more.bob.test, and eventually peter.potato) - // Check that master account TLA matches - if (!options.accountId.endsWith(`.${options.masterAccount}`)) { - throw new Error(`New account doesn't share the same top-level account. Expecting account name to end in ".${options.masterAccount}"`); - } - - // Warn user if account seems to be using wrong network, where TLA is captured in config - // TODO: when "network" key is available, revisit logic to determine if user is on proper network - // See: https://github.com/near/near-cli/issues/387 - if (options.helperAccount && masterRootTLA !== options.helperAccount) { - console.log(`NOTE: In most cases, when connected to network "${options.networkId}", masterAccount will end in ".${options.helperAccount}"`); - } - } - let near = await connect(options); - let keyPair; - let publicKey; - let keyRootPath; - let keyFilePath; - if (options.publicKey) { - publicKey = options.publicKey; - } else { - keyPair = await KeyPair.fromRandom('ed25519'); - publicKey = keyPair.getPublicKey(); - } - // Check to see if account already exists - try { - // This is expected to error because the account shouldn't exist - const account = await near.account(options.accountId); - await account.state(); - throw new Error(`Sorry, account '${options.accountId}' already exists.`); - } catch (e) { - if (!e.message.includes('does not exist while viewing')) { - throw e; - } - } - if (keyPair) { - if (near.connection.signer.keyStore.keyStores.length) { - keyRootPath = near.connection.signer.keyStore.keyStores[0].keyDir; - } - keyFilePath = `${keyRootPath}/${options.networkId}/${options.accountId}.json`; - console.log(`Saving key to '${keyFilePath}'`); - await near.connection.signer.keyStore.setKey(options.networkId, options.accountId, keyPair); - } - - // Create account - try { - const response = await near.createAccount(options.accountId, publicKey); - inspectResponse.prettyPrintResponse(response, options); - console.log(`Account ${options.accountId} for network "${options.networkId}" was created.`); - - } catch(error) { - if (error.type === 'RetriesExceeded') { - console.warn('Received a timeout when creating account, please run:'); - console.warn(`near state ${options.accountId}`); - console.warn('to confirm creation. Keyfile for this account has been saved.'); - } else { - if (!options.usingLedger) await near.connection.signer.keyStore.removeKey(options.networkId, options.accountId); - throw error; - } - } -} - -module.exports = { - createAccountCommand, - createAccountCommandDeprecated -}; diff --git a/commands/credentials/add.js b/commands/credentials/add.js new file mode 100644 index 00000000..5c303825 --- /dev/null +++ b/commands/credentials/add.js @@ -0,0 +1,53 @@ +const { DEFAULT_NETWORK } = require('../../config'); +const { parseSeedPhrase } = require('near-seed-phrase'); +const { storeCredentials } = require('../../utils/credentials'); +const { KeyPair } = require('near-api-js'); + +module.exports = { + command: 'add-credentials ', + desc: 'Store credentials locally to use them later to deploy, call, etc.', + builder: (yargs) => yargs + .option('secretKey', { + desc: 'Secret key for the account', + type: 'string', + required: false, + }) + .option('seedPhrase', { + desc: 'Seed phrase from which to derive the access-key', + type: 'string', + required: false, + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) + .option('force', { + desc: 'Force storing the key even if the account already has one', + type: 'boolean', + default: false + }) + .conflicts('secretKey', 'seedPhrase'), + handler: importAccount +}; + +async function importAccount(options) { + if (!options.secretKey && !options.seedPhrase) return console.log('Provide a secret key or a seed phrase.'); + + let secretKey; + + if (options.secretKey) { + console.log(`Importing account ${options.accountId} with secret key.`); + secretKey = options.secretKey; + } + + if (options.seedPhrase) { + console.log(`Importing account ${options.accountId} with seed phrase.`); + secretKey = parseSeedPhrase(options.seedPhrase).secretKey; + } + + const keyPair = KeyPair.fromString(secretKey); + + // store it + storeCredentials(options.accountId, options.networkId, options.keyStore, keyPair, options.force); +} diff --git a/commands/credentials/generate.js b/commands/credentials/generate.js new file mode 100644 index 00000000..19a526cf --- /dev/null +++ b/commands/credentials/generate.js @@ -0,0 +1,54 @@ +const { decode } = require('bs58'); +const { generateSeedPhrase, parseSeedPhrase } = require('near-seed-phrase'); +const { DEFAULT_NETWORK } = require('../../config'); +const { storeCredentials } = require('../../utils/credentials'); +const { KeyPair } = require('near-api-js'); + +module.exports = { + command: 'generate-key [account-id]', + desc: 'Create a key-pair (optionally, save it as credentials for an account)', + builder: (yargs) => yargs + .option('fromSeedPhrase', { + desc: 'generate key-pair from a seed phrase (e.g. "word-1 word-2 ... word-11 word-12")', + type: 'string', + required: false, + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) + .option('force', { + desc: 'Force storing the key even if the account already has one', + type: 'boolean', + default: false + }), + handler: generateKey +}; + +function pKtoAccountId(publicKey) { + return decode(publicKey.replace('ed25519:', '')).toString('hex'); +} + +async function generateKey(options) { + let secret; + + if (options.fromSeedPhrase) { + const { publicKey, secretKey } = parseSeedPhrase(options.fromSeedPhrase); + console.log(`Seed phrase: ${options.fromSeedPhrase}`); + console.log(`Key pair: ${JSON.stringify({ publicKey, secretKey })}`); + console.log(`Implicit account: ${pKtoAccountId(publicKey)}`); + secret = secretKey; + } else { + const { seedPhrase, publicKey, secretKey } = generateSeedPhrase(); + console.log(`Seed phrase: ${seedPhrase}`); + console.log(`Key pair: ${JSON.stringify({ publicKey, secretKey })}`); + console.log(`Implicit account: ${pKtoAccountId(publicKey)}`); + secret = secretKey; + } + + if (options.accountId) { + const keyPair = KeyPair.fromString(secret); + storeCredentials(options.accountId, options.networkId, options.keyStore, keyPair, options.force); + } +} \ No newline at end of file diff --git a/commands/delete-key.js b/commands/delete-key.js deleted file mode 100644 index b30d488e..00000000 --- a/commands/delete-key.js +++ /dev/null @@ -1,50 +0,0 @@ -const exitOnError = require('../utils/exit-on-error'); -const chalk = require('chalk'); -const connect = require('../utils/connect'); -const inspectResponse = require('../utils/inspect-response'); -const checkCredentials = require('../utils/check-credentials'); -const { askYesNoQuestion } = require('../utils/readline'); - -module.exports = { - command: 'delete-key ', - desc: 'delete access key', - builder: (yargs) => yargs - .option('access-key', { - desc: 'Public key to delete (base58 encoded)', - type: 'string', - required: true, - }), - handler: exitOnError(deleteAccessKey) -}; - -async function deleteAccessKey(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - const near = await connect(options); - const account = await near.account(options.accountId); - if (options.force || await isAllApprovalsGranted(account, options.accessKey)) { - console.log(chalk`{bold.white Deleting key {bold.blue ${options.accessKey}} on {bold.blue ${options.accountId}.}}`); - const result = await account.deleteKey(options.accessKey); - inspectResponse.prettyPrintResponse(result, options); - } else { - console.log(chalk`{bold.white Deletion of {bold.blue ${options.accessKey} } key on {bold.blue ${options.accountId}}. was {bold.red canceled}}`); - } -} - -async function isAllApprovalsGranted(account, accessKey) { - let accessKeys = await account.getAccessKeys(); - let fullAccessKeys = accessKeys.filter(accessKey => accessKey.access_key.permission === 'FullAccess'); - - // asks for approval if user is deleting Full Access Key - if (fullAccessKeys.find(key => key.public_key === accessKey)) { - if (!await askYesNoQuestion( - chalk`{bold.white Key {bold.blue ${accessKey}} is a Full Access key. Make sure it's not your recovery method. Do you want to proceed? {bold.green (y/n) }}`, - false) - ) { return false; } - // ask additional questions if it's the last Full Access Key - if (fullAccessKeys.length === 1 && !await askYesNoQuestion( - chalk`{bold.white Key {bold.blue ${accessKey}} is the last Full Access key on your account. In case of deleting you will not be able to restore access to the account {bold.blue ${account.accountId}}. Do you want to proceed? {bold.green (y/n) }}`, - false) - ) { return false; } - } - return true; -} diff --git a/commands/deprecated.js b/commands/deprecated.js new file mode 100644 index 00000000..59210fd6 --- /dev/null +++ b/commands/deprecated.js @@ -0,0 +1,24 @@ +const chalk = require('chalk'); + +module.exports = [ + { + command: ['clean', 'repl', 'stake', 'evm-call', 'evm-view', 'set-api-key', 'js'], + desc: false, + handler: deprecated + }, + { + command: 'dev-deploy [...]', + desc: false, + handler: deprecatedDevDeploy + } +]; + +async function deprecated() { + console.log(chalk`This command has been {bold.red deprecated}`); + console.log(chalk`Consider using {bold.blue near-cli-rs} instead`); +} + +async function deprecatedDevDeploy() { + console.log(chalk`This command has been {bold.red deprecated}`); + console.log(chalk`Please use: {bold.white near create-random-account} and {bold.white near deploy} instead`); +} \ No newline at end of file diff --git a/commands/dev-deploy.js b/commands/dev-deploy.js deleted file mode 100644 index b5adc1cd..00000000 --- a/commands/dev-deploy.js +++ /dev/null @@ -1,111 +0,0 @@ -const { - transactions, - DEFAULT_FUNCTION_CALL_GAS, - utils, -} = require('near-api-js'); -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const createDevAccountIfNeeded = require('../utils/create-dev-account'); -const { readFileSync } = require('fs'); - -const { PROJECT_KEY_DIR } = require('../middleware/key-store'); - -const eventtracking = require('../utils/eventtracking'); -const inspectResponse = require('../utils/inspect-response'); - - -module.exports = { - command: 'dev-deploy [wasmFile] [initFunction] [initArgs] [initGas] [initDeposit] [initialBalance] [force]', - desc: 'deploy your smart contract using temporary account (TestNet only)', - builder: (yargs) => yargs - .option('wasmFile', { - desc: 'Path to wasm file to deploy', - type: 'string', - default: './out/main.wasm' - }) - .option('initFunction', { - desc: 'Initialization method', - type: 'string', - }) - .option('initArgs', { - desc: 'Initialization arguments', - }) - .option('initGas', { - desc: 'Gas for initialization call', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS - }) - .option('initDeposit', { - desc: 'Deposit in Ⓝ to send for initialization call', - type: 'string', - default: '0' - }) - .option('initialBalance', { - desc: 'Number of tokens to transfer to newly created account', - type: 'string', - default: '100' - }) - .option('init', { - desc: 'Create new account for deploy (even if there is one already available)', - type: 'boolean', - default: false - }) - .option('projectKeyDirectory', { - desc: 'Specify a directory which will be used for generating the keys other than the default one', - type: 'string', - default: PROJECT_KEY_DIR - }) - .alias({ - 'init': ['force', 'f'], - }), - handler: exitOnError(devDeploy) -}; - -async function devDeploy(options) { - if (options.networkId === 'mainnet') { - throw Error('MainNet doesn\'t support dev-deploy. Use export NEAR_ENV=testnet to switch to TestNet'); - } - await eventtracking.askForConsentIfNeeded(options); - const { nodeUrl, helperUrl, masterAccount, wasmFile } = options; - if (!helperUrl && !masterAccount) { - throw new Error('Cannot create account as neither helperUrl nor masterAccount is specified in config for current NODE_ENV (see src/config.js)'); - } - const near = await connect(options); - const accountId = await createDevAccountIfNeeded({ ...options, near }); - const account = await near.account(accountId); - let prevState = await account.state(); - let prevCodeHash = prevState.code_hash; - - console.log( - `Starting deployment. Account id: ${accountId}, node: ${nodeUrl}, helper: ${helperUrl}, file: ${wasmFile}`); - - // Deploy with init function and args - const actions = [transactions.deployContract(readFileSync(options.wasmFile))]; - - if (options.initArgs && !options.initFunction) { - options.initFunction = 'new'; - } - - if (options.initFunction) { - if (!options.initArgs) { - await eventtracking.track(eventtracking.EVENT_ID_DEPLOY_END, { success: false, error: 'Must add initialization arguments' }, options); - throw Error('Must add initialization arguments.\nExample: near dev-deploy --initFunction "new" --initArgs \'{"key": "value"}\''); - } - actions.push(transactions.functionCall( - options.initFunction, - Buffer.from(options.initArgs), - options.initGas, - utils.format.parseNearAmount(options.initDeposit)), - ); - } - - const result = await account.signAndSendTransaction({ - receiverId: accountId, - actions: actions - }); - inspectResponse.prettyPrintResponse(result, options); - let state = await account.state(); - let codeHash = state.code_hash; - await eventtracking.track(eventtracking.EVENT_ID_DEPLOY_END, { success: true, code_hash: codeHash, is_same_contract: prevCodeHash === codeHash, contract_id: options.accountId }, options); - console.log(`Done deploying ${options.initFunction ? 'and initializing' : 'to'} ${accountId}`); -} diff --git a/commands/evm-call.js b/commands/evm-call.js deleted file mode 100644 index 42db775b..00000000 --- a/commands/evm-call.js +++ /dev/null @@ -1,35 +0,0 @@ -const { evmDeprecated } = require('../utils/deprecation-warning'); -const { DEFAULT_FUNCTION_CALL_GAS } = require('near-api-js'); - -module.exports = { - command: 'evm-call [args]', - desc: 'Schedule call inside EVM machine', - builder: (yargs) => yargs - .option('gas', { - desc: 'Max amount of NEAR gas this call can use', - type: 'string', - default: DEFAULT_FUNCTION_CALL_GAS - }) - .option('deposit', { - desc: 'Number of tokens to attach', - type: 'string', - default: '0', - alias: 'amount', - }) - .option('args', { - desc: 'Arguments to the contract call, in JSON format (e.g. \'[1, "str"]\') based on contract ABI', - type: 'string', - default: null - }) - .option('accountId', { - required: true, - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string', - }) - .option('abi', { - required: true, - desc: 'Path to ABI for given contract', - type: 'string', - }), - handler: () => console.log(evmDeprecated) -}; diff --git a/commands/evm-dev-init.js b/commands/evm-dev-init.js deleted file mode 100644 index ebaae081..00000000 --- a/commands/evm-dev-init.js +++ /dev/null @@ -1,18 +0,0 @@ -const { evmDeprecated } = require('../utils/deprecation-warning'); - -module.exports = { - command: 'evm-dev-init [numAccounts]', - desc: 'Creates test accounts using NEAR Web3 Provider', - builder: (yargs) => yargs - .option('accountId', { - desc: 'NEAR account creating the test subaccounts', - type: 'string', - default: '0' - }) - .option('numAccounts', { - desc: 'Number of test accounts to create', - type: 'number', - default: '5' - }), - handler: () => console.log(evmDeprecated) -}; diff --git a/commands/evm-view.js b/commands/evm-view.js deleted file mode 100644 index 3ab016ad..00000000 --- a/commands/evm-view.js +++ /dev/null @@ -1,22 +0,0 @@ -const { evmDeprecated } = require('../utils/deprecation-warning'); - -module.exports = { - command: 'evm-view [args]', - desc: 'View call inside EVM machine', - builder: (yargs) => yargs - .option('args', { - desc: 'Arguments to the contract call, in JSON format (e.g. \'[1, "str"]\') based on contract ABI', - type: 'string', - default: null - }) - .option('accountId', { - required: true, - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string', - }) - .option('abi', { - desc: 'Path to ABI for given contract', - type: 'string', - }), - handler: () => console.log(evmDeprecated) -}; diff --git a/commands/generate-key.js b/commands/generate-key.js deleted file mode 100644 index 2bae5499..00000000 --- a/commands/generate-key.js +++ /dev/null @@ -1,58 +0,0 @@ -const KeyPair = require('near-api-js').KeyPair; -const exitOnError = require('../utils/exit-on-error'); -const implicitAccountId = require('../utils/implicit-accountid'); - -module.exports = { - command: 'generate-key [account-id]', - desc: 'generate key or show key from Ledger', - builder: (yargs) => yargs - .option('yolo', { - description: 'Do not ask for extra confirmation when using Ledger', - type: 'boolean', - }), - handler: exitOnError(async (argv) => { - let near = await require('../utils/connect')(argv); - - if (argv.usingLedger) { - if (argv.accountId) { - console.log('WARN: Account id is provided but ignored in case of using Ledger.'); - } - console.log(`Please, confirm on the Ledger receiving the public key for HD path ${argv.useLedgerKey}`); - const publicKey = await argv.signer.getPublicKey({ enableCaching: false }); - if (!publicKey) { - return; - } - if (!argv.yolo) { - console.log('Please, confirm that this key is the one that is displayed on the Ledger screen now'); - if (!await argv.signer.getPublicKey({ enableCaching: false })) { - return; - } - } - console.log(`Implicit account: ${implicitAccountId(publicKey.toString())}`); - // TODO: query all accounts with this public key here. - // TODO: check if implicit account exist, and if the key doen't match already. - return; - } - - const { deps: { keyStore } } = near.config; - const existingKey = await keyStore.getKey(argv.networkId, argv.accountId); - if (existingKey) { - console.log(`Account has existing key pair with ${existingKey.publicKey} public key`); - return; - } - - // If key doesn't exist, create one and store in the keyStore. - // Otherwise, it's expected that both key and accountId are already provided in arguments. - if (!argv.publicKey) { - const keyPair = KeyPair.fromRandom('ed25519'); - argv.publicKey = keyPair.publicKey.toString(); - argv.accountId = argv.accountId || implicitAccountId(argv.publicKey); - await keyStore.setKey(argv.networkId, argv.accountId, keyPair); - } else if (argv.seedPhrase) { - const seededKeyPair = await argv.signer.keyStore.getKey(argv.networkId, argv.accountId); - await keyStore.setKey(argv.networkId, argv.accountId, seededKeyPair); - } - - console.log(`Key pair with ${argv.publicKey} public key for an account "${argv.accountId}"`); - }) -}; diff --git a/commands/js.js b/commands/js.js deleted file mode 100644 index 2ea3fd4a..00000000 --- a/commands/js.js +++ /dev/null @@ -1,323 +0,0 @@ -const { DEFAULT_FUNCTION_CALL_GAS, providers, utils } = require('near-api-js'); -const { readFileSync } = require('fs'); -const { PROJECT_KEY_DIR } = require('../middleware/key-store'); - -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const eventtracking = require('../utils/eventtracking'); -const inspectResponse = require('../utils/inspect-response'); -const checkCredentials = require('../utils/check-credentials'); -const createDevAccountIfNeeded = require('../utils/create-dev-account'); -const handleExceededThePrepaidGasError = require('../utils/error-handlers'); - -const js_deploy = { - command: 'deploy [base64File]', - desc: 'Deploy our smart contract to the network', - builder: (yargs) => yargs - .option('base64File', { - desc: 'Path to base64 encoded contract file to deploy', - type: 'string', - required: true, - }) - .option('gas', { - desc: 'Gas for deployment call', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS, - }) - .option('deposit', { - desc: 'Deposit to maintain the contract storage on the enclave', - type: 'string', - default: '0', - }) - .option('depositYocto', { - desc: 'Deposit (in Yocto Near) to maintain the contract storage on the enclave', - type: 'string', - default: null, - }) - .option('accountId', { - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string', - required: true, - }) - .option('jsvm', { - desc: 'JSVM enclave contract id', - type: 'string', - default: null, - }), - handler: exitOnError(deploy), -}; - -const js_dev_deploy = { - command: 'dev-deploy [base64File]', - desc: 'Deploy our smart contract to the network using a dev account created on the fly', - builder: (yargs) => yargs - .option('base64File', { - desc: 'Path to base64 encoded contract file to deploy', - type: 'string', - required: true, - }) - .option('gas', { - desc: 'Gas for deployment call', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS, - }) - .option('deposit', { - desc: 'Deposit to maintain the contract storage on the enclave', - type: 'string', - default: '0', - }) - .option('depositYocto', { - desc: 'Deposit (in Yocto Near) to maintain the contract storage on the enclave', - type: 'string', - default: null, - }) - .option('projectKeyDirectory', { - desc: 'Specify a directory which will be used for generating the keys other than the default one', - type: 'string', - default: PROJECT_KEY_DIR - }) - .option('jsvm', { - desc: 'JSVM enclave contract id', - type: 'string', - default: null, - }), - handler: exitOnError(dev_deploy), -}; - -const js_remove = { - command: 'remove [accountId]', - desc: 'Remove a JSVM contract from the network', - builder: (yargs) => yargs - .option('accountId', { - desc: 'The id of the account that will be removed from the enclave', - type: 'string', - required: true, - }) - .option('gas', { - desc: 'Gas used to remove the contract from the enclave', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS, - }) - .option('jsvm', { - desc: 'JSVM enclave contract id', - type: 'string', - default: null, - }), - handler: exitOnError(remove), -}; - -const js_call = { - command: 'call [contractId] [methodName] [args] [gas] [deposit]', - desc: 'Call a method on a contract', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string', - required: true, - }) - .option('args', { - desc: 'Arguments to the contract call, in JSON format by default (e.g. \'{"param_a": "value"}\')', - type: 'string', - default: '', - }) - .option('gas', { - desc: 'Gas used to make a call into the contract from the enclave', - type: 'number', - default: DEFAULT_FUNCTION_CALL_GAS, - }) - .option('deposit', { - desc: 'Deposit to maintain the contract storage on the enclave', - type: 'string', - default: '0', - }) - .option('depositYocto', { - desc: 'Deposit (in Yocto Near) to maintain the contract storage on the enclave', - type: 'string', - default: null, - }) - .option('jsvm', { - desc: 'JSVM enclave contract id', - type: 'string', - default: null, - }), - handler: exitOnError(call), -}; - -const js_view = { - command: 'view [contractId] [methodName] [args]', - desc: 'Call into a view method on a contract', - builder: (yargs) => yargs - .option('accountId', { - desc: 'Unique identifier for the account that will be used to sign this call', - type: 'string', - }) - .option('args', { - desc: 'Arguments to the contract call, in JSON format by default (e.g. \'{"param_a": "value"}\')', - type: 'string', - default: '', - }) - .option('jsvm', { - desc: 'JSVM enclave contract id', - type: 'string', - default: null, - }), - handler: exitOnError(view), -}; - -module.exports = { - command: 'js ', - desc: 'Work with JS contract enclave', - builder: (yargs) => yargs - .command(js_deploy) - .command(js_dev_deploy) - .command(js_remove) - .command(js_call) - .command(js_view) - , -}; - -// Encode JSVM related arguments into base64 for use in the enclave -function base64_encode_args(contractId, functionName, args) { - let buf = Buffer.concat([ - Buffer.from(contractId), - Buffer.from([0]), - Buffer.from(functionName), - Buffer.from([0]), - Buffer.from(args)] - ); - return buf; -} - -function jsvm_contract_id(options) { - if (options.jsvm !== null && options.jsvm !== undefined) { - return options.jsvm; - } - - if (options.networkId === 'mainnet') { - throw Error('No current default jsvm contract for mainnet'); - } - - if (options.networkId === 'testnet') { - return 'jsvm.testnet'; - } - - throw Error(`Cannot find a default JSVM contract for network id ${options.networkId}`); -} - -async function jsvm_transact(options, { methodName, args, gas, deposit }) { - const { accountId } = options; - const near = await connect(options); - const account = await near.account(accountId); - const jsvmId = jsvm_contract_id(options); - - try { - const functionCallResponse = await account.functionCall({ - contractId: jsvmId, - methodName: methodName, - args: args, - gas: gas, - attachedDeposit: deposit, - }); - inspectResponse.prettyPrintResponse(functionCallResponse, options); - - return providers.getTransactionLastResult(functionCallResponse); - } catch (error) { - switch (JSON.stringify(error.kind)) { - case '{"ExecutionError":"Exceeded the prepaid gas."}': { - handleExceededThePrepaidGasError(error, options); - break; - } - default: { - console.log(error); - } - } - } -} - -async function deploy(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - - const { accountId, base64File, helperUrl, nodeUrl } = options; - const jsvmId = jsvm_contract_id(options); - const deposit = options.depositYocto != null ? options.depositYocto : utils.format.parseNearAmount(options.deposit); - const bytes = readFileSync(base64File).toString(); - const base64Contract = Buffer.from(bytes, 'base64'); - - console.log( - `Starting deployment. Account id: ${accountId}, node: ${nodeUrl}, helper: ${helperUrl}, file: ${base64File}, JSVM: ${jsvmId}`); - - await jsvm_transact(options, { - methodName: 'deploy_js_contract', - args: base64Contract, - gas: options.gas.toNumber(), - deposit, - }); -} - -async function dev_deploy(options) { - if (options.networkId === 'mainnet') { - throw Error('MainNet doesn\'t support dev-deploy. Use export NEAR_ENV=testnet to switch to TestNet'); - } - - await eventtracking.askForConsentIfNeeded(options); - const { helperUrl, masterAccount } = options; - if (!helperUrl && !masterAccount) { - throw new Error('Cannot create account as neither helperUrl nor masterAccount is specified in config for current NODE_ENV (see src/config.js)'); - } - - const near = await connect(options); - const accountId = await createDevAccountIfNeeded({ ...options, near }); - options.accountId = accountId; - await deploy(options); -} - -async function remove(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - - const { accountId } = options; - const jsvmId = jsvm_contract_id(options); - - console.log( - `Removing contract from enclave. Account id: ${accountId}, JSVM: ${jsvmId}`); - - await jsvm_transact(options, { - methodName: 'remove_js_contract', - args: JSON.parse('{}'), - gas: options.gas.toNumber(), - deposit: '0', - }); -} - -async function call(options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - - const jsvmId = jsvm_contract_id(options); - const deposit = options.depositYocto != null ? options.depositYocto : utils.format.parseNearAmount(options.deposit); - const args = base64_encode_args(options.contractId, options.methodName, options.args); - - console.log(`Scheduling a call in JSVM[${jsvmId}]: ${options.contractId}.${options.methodName}(${options.args || ''})` + - (deposit && deposit != '0' ? ` with attached ${utils.format.formatNearAmount(deposit)} NEAR` : '')); - - const result = await jsvm_transact(options, { - methodName: 'call_js_contract', - args, - gas: options.gas.toNumber(), - deposit, - }); - - console.log(inspectResponse.formatResponse(result)); -} - -async function view(options) { - const jsvmId = jsvm_contract_id(options); - const near = await connect(options); - const account = await near.account(options.accountId || options.masterAccount || options.contractId); - console.log(`View call in JSVM[${jsvmId}]: ${options.contractId}.${options.methodName}(${options.args || ''})`); - - const args = base64_encode_args(options.contractId, options.methodName, options.args); - const result = await account.viewFunction(jsvmId, 'view_js_contract', args, { - // do not stringify when making a view function, since we're sending a Buffer already - stringify: (value) => value, - }); - console.log(inspectResponse.formatResponse(result)); -} diff --git a/commands/keys/add.js b/commands/keys/add.js new file mode 100644 index 00000000..39ae2a77 --- /dev/null +++ b/commands/keys/add.js @@ -0,0 +1,53 @@ +const { utils } = require('near-api-js'); +const connect = require('../../utils/connect'); +const { DEFAULT_NETWORK } = require('../../config'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials } = require('../../utils/credentials'); + +module.exports = { + command: 'add-key ', + desc: 'Add an access key to a given account', + builder: (yargs) => yargs + .option('contractId', { + desc: 'Limit access key to given contract (if not provided - will create full access key)', + type: 'string', + required: false, + }) + .option('methodNames', { + desc: 'Method names to limit access key to (example: --method-names meth1 meth2)', + type: 'array', + required: false, + }) + .option('allowance', { + desc: 'Allowance in $NEAR for the key (default 0)', + type: 'string', + required: false, + default: '0' + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: addAccessKey +}; + +async function addAccessKey(options) { + await assertCredentials(options.accountId, options.networkId, options.keyStore); + + console.log(`Adding ${options.contractId ? 'function call access' : 'full access'} key ${options.publicKey} to ${options.accountId}.`); + if (options.contractId) console.log(`Limited to: ${options.allowance} $NEAR and methods: ${options.methodNames.join(' ')}.`); + + const near = await connect(options); + const account = await near.account(options.accountId); + const allowance = utils.format.parseNearAmount(options.allowance); + + try { + const response = await account.addKey(options.publicKey, options.contractId, options.methodNames, allowance); + console.log('\nKey added to account, but not stored locally.'); + inspectResponse.prettyPrintResponse(response, options); + } catch (error) { + if (error.type !== 'AddKeyAlreadyExists') throw error; + console.log(`\nAccess key ${options.publicKey} already exists in account ${options.accountId}.`); + } +} diff --git a/commands/keys/delete.js b/commands/keys/delete.js new file mode 100644 index 00000000..a618e1d1 --- /dev/null +++ b/commands/keys/delete.js @@ -0,0 +1,71 @@ +const chalk = require('chalk'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials } = require('../../utils/credentials'); +const { askYesNoQuestion } = require('../../utils/readline'); +const { DEFAULT_NETWORK } = require('../../config'); + +module.exports = { + command: 'delete-key ', + desc: 'Delete access key', + builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }) + .option('force', { + desc: 'Forcefully delete key even if it is unsafe to do so', + type: 'boolean', + default: false, + }), + handler: deleteAccessKey +}; + +async function deleteAccessKey(options) { + await assertCredentials(options.accountId, options.networkId, options.keyStore); + const near = await connect(options); + const account = await near.account(options.accountId); + const approval = await isAllApprovalsGranted(account, options.accessKey); + + if (!options.force && !approval) { + console.log(chalk`Deletion of {bold.white ${options.accessKey}} key on {bold.white ${options.accountId}} was {bold.red canceled}}`); + } + + // forced or approved + console.log(chalk`Deleting key {bold.white ${options.accessKey}} on {bold.white ${options.accountId}.}`); + + try { + const result = await account.deleteKey(options.accessKey); + inspectResponse.prettyPrintResponse(result, options); + } catch (error) { + if (error.type !== 'DeleteKeyDoesNotExist') throw error; + console.log(chalk`\nKey {bold.white ${options.accessKey}} does {bold.red not exist} on account {bold.white ${options.accountId}}.`); + } +} + +function confirmDelete(accessKey) { + return askYesNoQuestion( + chalk`{bold.white Key {bold.blue ${accessKey}} is a Full Access key. Make sure it's not your recovery method. Do you want to proceed? {bold.green (y/n) }}`, + false); +} + +function confirmLock(accountId, accessKey) { + return askYesNoQuestion( + chalk`{bold.white Key {bold.blue ${accessKey}} is the last Full Access key on your account. In case of deleting you will not be able to restore access to the account {bold.blue ${accountId}}. Do you want to proceed? {bold.green (y/n) }}`, + false); +} + +async function isAllApprovalsGranted(account, accessKey) { + let accessKeys = await account.getAccessKeys(); + let fullAccessKeys = accessKeys.filter(accessKey => accessKey.access_key.permission === 'FullAccess'); + + if (fullAccessKeys.find(key => key.public_key === accessKey)) { + // asks for approval if user is deleting Full Access Key + if (!await confirmDelete(accessKey)) { return false; } + + // ask additional questions if it's the last Full Access Key + if (fullAccessKeys.length === 1 && !await confirmLock(account.accountId, accessKey)) { return false; } + } + return true; +} diff --git a/commands/keys/list.js b/commands/keys/list.js new file mode 100644 index 00000000..985372f6 --- /dev/null +++ b/commands/keys/list.js @@ -0,0 +1,24 @@ +const { DEFAULT_NETWORK } = require('../../config'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); + +module.exports = { + command: 'list-keys ', + aliases: ['keys'], + desc: 'query public keys of account', + builder: (yargs) => yargs + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: viewAccessKeys +}; + +async function viewAccessKeys(options) { + let near = await connect(options); + let account = await near.account(options.accountId); + let accessKeys = await account.getAccessKeys(); + console.log(`Keys for account ${options.accountId}`); + console.log(inspectResponse.formatResponse(accessKeys)); +} diff --git a/commands/proposals.js b/commands/proposals.js deleted file mode 100644 index dcad3e4b..00000000 --- a/commands/proposals.js +++ /dev/null @@ -1,12 +0,0 @@ -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const validatorsInfo = require('../utils/validators-info'); - -module.exports = { - command: 'proposals', - desc: 'show both new proposals in the current epoch as well as current validators who are implicitly proposing', - handler: exitOnError(async (argv) => { - const near = await connect(argv); - await validatorsInfo.showProposalsTable(near); - }) -}; diff --git a/commands/repl.js b/commands/repl.js deleted file mode 100644 index c98ae900..00000000 --- a/commands/repl.js +++ /dev/null @@ -1,83 +0,0 @@ -const eventtracking = require('../utils/eventtracking'); -const {resolve } = require('path'); - -module.exports = { - command: 'repl', - desc: 'launch interactive Node.js shell with NEAR connection available to use.\n'+ - 'The repl\'s initial context contains `nearAPI`, `near` and `account`\n'+ - 'if an accountId cli argument is provided.\n' + - 'To load a script into the repl use ".load script.js".\n\n' + - 'Use the the \'script\' option to pass context to a provided\n' + - 'javascript/typescript file which exports a main function.\n' + - 'Arguments after "--" are passed to script \n\n' + - 'USAGE:\n' + - ' near repl --accountId bob\n > console.log(account)\n > .load script.js\n\n' + - ' near repl -s ./scripts/delpoyContracts.js\n' + - ' near repl -s ./scripts/run.js -- test.near bob.test.near\n' + - ' near repl -s ./script.ts \n', - builder: (yargs) => yargs - .option('script', { - desc: '\'repl\': Path to a JS/TS file which exports an async function `main`,\nwhich takes a `context` object.', - type: 'string', - alias: 's', - }), - handler: async (argv) => { - const extraArgs = argv._.slice(1); - const { script, accountId } = argv; - await eventtracking.askForConsentIfNeeded(argv); - const nearContext = { - nearAPI: require('near-api-js'), - near: await require('../utils/connect')(argv), - }; - if (accountId) { - nearContext.account = await nearContext.near.account(accountId); - } - if (extraArgs.length > 0) { - nearContext.argv = extraArgs; - } - if (script) { - const scriptModule = loadScript(script); - try { - await scriptModule.main(nearContext); - } catch (error) { - console.error(`${script} Failed\n`); - throw error; - } - } else { - const repl = require('repl'); - const replContext = repl.start('> ').context; - const { near, nearAPI, account } = nearContext; - replContext.nearAPI = nearAPI; - replContext.near = near; - if (account) { - replContext.account = account; - } - } - } -}; - -function loadScript(script) { - const scriptPath = script.startsWith('.') - ? resolve(process.cwd(), script) - : script; - try { - if (scriptPath.endsWith('.ts')) { - loadTs(scriptPath); - } - return require(scriptPath); - } catch (error) { - console.error(`Failed to load ${scriptPath}.\n`); - throw error; - } -} - -function loadTs(scriptPath) { - try { - require('ts-node').register({ transpileOnly: true }); - } catch (error) { - console.error( - `Failed to load \`ts-node\` for typescript file ${scriptPath}. Probably need to install \`ts-node\` and \`typescript\`.\n` - ); - throw error; - } -} \ No newline at end of file diff --git a/commands/set-x-api-key.js b/commands/set-x-api-key.js deleted file mode 100644 index 4778ae6a..00000000 --- a/commands/set-x-api-key.js +++ /dev/null @@ -1,15 +0,0 @@ -const { setXApiKey, getXApiKey } = require('../utils/x-api-key-settings'); -const chalk = require('chalk'); -const exitOnError = require('../utils/exit-on-error'); - -module.exports = { - command: 'set-api-key ', - desc: 'Add x-api-key for RPC Server', - builder: (yargs) => yargs, - handler: exitOnError(setApiKey) -}; - -async function setApiKey(options) { - setXApiKey(options.rpcServer, options.xApiKey); - console.log(chalk`x-api-key: {bold.white ${getXApiKey(options.rpcServer)}} is set for {bold.white ${options.rpcServer}} RPC Server`); -} diff --git a/commands/transactions/send.js b/commands/transactions/send.js new file mode 100644 index 00000000..0767ef8e --- /dev/null +++ b/commands/transactions/send.js @@ -0,0 +1,49 @@ +const chalk = require('chalk'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const { assertCredentials } = require('../../utils/credentials'); +const { utils } = require('near-api-js'); +const { DEFAULT_NETWORK } = require('../../config'); + +module.exports = { + command: 'send-near ', + aliases: ['send'], + desc: 'send tokens to given receiver', + builder: (yargs) => yargs + .option('amount', { + desc: 'Amount of NEAR tokens to send', + type: 'string', + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: sendMoney +}; + +async function sendMoney(options) { + await assertCredentials(options.sender, options.networkId, options.keyStore); + + const near = await connect(options); + const account = await near.account(options.sender); + + try { + console.log(`Sending ${options.amount} NEAR to ${options.receiver} from ${options.sender}`); + const result = await account.sendMoney(options.receiver, utils.format.parseNearAmount(options.amount)); + inspectResponse.prettyPrintResponse(result, options); + } catch (error) { + switch (error.type) { + case 'AccountDoesNotExist': + console.log(chalk`\nAccount {bold.white ${options.receiver}} does {bold.red not exist} on {bold.white ${options.networkId}}.\n`); + process.exit(1); + break; + case 'NotEnoughBalance': + console.log(chalk`\nAccount {bold.white ${options.sender}} does {bold.red not have enough balance} to send {bold.white ${options.amount} NEAR} to {bold.white ${options.receiver}}.\n`); + process.exit(1); + break; + default: + throw error; + } + } +} \ No newline at end of file diff --git a/commands/transactions/status.js b/commands/transactions/status.js new file mode 100644 index 00000000..667d3f33 --- /dev/null +++ b/commands/transactions/status.js @@ -0,0 +1,49 @@ +const { DEFAULT_NETWORK } = require('../../config'); +const connect = require('../../utils/connect'); +const inspectResponse = require('../../utils/inspect-response'); +const bs58 = require('bs58'); + +module.exports = { + command: 'tx-status ', + desc: 'lookup transaction status by hash', + builder: (yargs) => yargs + .option('hash', { + desc: 'base58-encoded hash', + type: 'string', + required: true + }) + .option('accountId', { + desc: 'accountId that signed the tx (used to determine which shard to query)', + type: 'string', + }) + .option('networkId', { + desc: 'Which network to use. Supports: mainnet, testnet', + type: 'string', + default: DEFAULT_NETWORK + }), + handler: txStatus +}; + +async function txStatus(options) { + const near = await connect(options); + + const hashParts = options.hash.split(':'); + let hash, accountId; + if (hashParts.length == 2) { + [accountId, hash] = hashParts; + } else if (hashParts.length == 1) { + [hash] = hashParts; + } else { + throw new Error('Unexpected transaction hash format'); + } + + accountId = accountId || options.accountId || options.masterAccount; + + if (!accountId) { + throw new Error('Please specify account id, either as part of transaction hash or using --accountId flag.'); + } + + const status = await near.connection.provider.txStatus(bs58.decode(hash), accountId); + console.log(`Transaction ${null}:${hash}`); + console.log(inspectResponse.formatResponse(status)); +} \ No newline at end of file diff --git a/commands/tx-status.js b/commands/tx-status.js deleted file mode 100644 index 33b15ed1..00000000 --- a/commands/tx-status.js +++ /dev/null @@ -1,38 +0,0 @@ -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const inspectResponse = require('../utils/inspect-response'); -const bs58 = require('bs58'); - -module.exports = { - command: 'tx-status ', - desc: 'lookup transaction status by hash', - builder: (yargs) => yargs - .option('hash', { - desc: 'base58-encoded hash', - type: 'string', - required: true - }), - handler: exitOnError(async (argv) => { - const near = await connect(argv); - - const hashParts = argv.hash.split(':'); - let hash, accountId; - if (hashParts.length == 2) { - [accountId, hash] = hashParts; - } else if (hashParts.length == 1) { - [hash] = hashParts; - } else { - throw new Error('Unexpected transaction hash format'); - } - accountId = accountId || argv.accountId || argv.masterAccount; - - if (!accountId) { - throw new Error('Please specify account id, either as part of transaction hash or using --accountId flag.'); - } - - const status = await near.connection.provider.txStatus(bs58.decode(hash), accountId); - console.log(`Transaction ${accountId}:${hash}`); - console.log(inspectResponse.formatResponse(status)); - - }) -}; diff --git a/commands/validators.js b/commands/validators.js deleted file mode 100644 index 1c5d0f57..00000000 --- a/commands/validators.js +++ /dev/null @@ -1,29 +0,0 @@ -const exitOnError = require('../utils/exit-on-error'); -const connect = require('../utils/connect'); -const validatorsInfo = require('../utils/validators-info'); - -module.exports = { - command: 'validators ', - desc: 'lookup validators for given epoch (or current / next)', - builder: (yargs) => yargs - .option('epoch', { - desc: 'epoch defined by it\'s last block number, block hash or current / next keyword', - type: 'string', - required: true - }), - handler: exitOnError(async (argv) => { - const near = await connect(argv); - - switch (argv.epoch) { - case 'current': - await validatorsInfo.showValidatorsTable(near, null); - break; - case 'next': - await validatorsInfo.showNextValidatorsTable(near); - break; - default: - await validatorsInfo.showValidatorsTable(near, argv.epoch); - break; - } - }) -}; diff --git a/config.js b/config.js index 4aea2e4e..c874782a 100644 --- a/config.js +++ b/config.js @@ -1,4 +1,4 @@ -const CONTRACT_NAME = process.env.CONTRACT_NAME; +const DEFAULT_NETWORK = process.env.NEAR_ENV || process.env.NEAR_NETWORK || 'testnet'; function getConfig(env) { let config; @@ -7,78 +7,20 @@ function getConfig(env) { case 'mainnet': config = { networkId: 'mainnet', - nodeUrl: process.env.NEAR_CLI_MAINNET_RPC_SERVER_URL || 'https://rpc.mainnet.near.org', - contractName: CONTRACT_NAME, - walletUrl: 'https://wallet.near.org', + nodeUrl: process.env.NEAR_RPC || 'https://rpc.mainnet.near.org', + walletUrl: process.env.NEAR_WALLET || 'https://app.mynearwallet.com', helperUrl: 'https://helper.mainnet.near.org', helperAccount: 'near', - explorerUrl: 'https://explorer.mainnet.near.org', }; break; case 'development': case 'testnet': config = { networkId: 'testnet', - nodeUrl: process.env.NEAR_CLI_TESTNET_RPC_SERVER_URL || 'https://rpc.testnet.near.org', - contractName: CONTRACT_NAME, - walletUrl: 'https://wallet.testnet.near.org', + nodeUrl: process.env.TESTNET_RPC || 'https://rpc.testnet.near.org', + walletUrl: process.env.TESTNET_WALLET || 'https://testnet.mynearwallet.com', helperUrl: 'https://helper.testnet.near.org', helperAccount: 'testnet', - explorerUrl: 'https://explorer.testnet.near.org', - }; - break; - case 'betanet': - config = { - networkId: 'betanet', - nodeUrl: process.env.NEAR_CLI_BETANET_RPC_SERVER_URL || 'https://rpc.betanet.near.org', - contractName: CONTRACT_NAME, - walletUrl: 'https://wallet.betanet.near.org', - helperUrl: 'https://helper.betanet.near.org', - helperAccount: 'betanet', - explorerUrl: 'https://explorer.betanet.near.org', - }; - break; - case 'guildnet': - config = { - networkId: 'guildnet', - nodeUrl: process.env.NEAR_CLI_GUILDNET_RPC_SERVER_URL || 'https://rpc.openshards.io', - contractName: CONTRACT_NAME, - walletUrl: 'https://wallet.openshards.io', - helperUrl: 'https://helper.openshards.io', - helperAccount: 'guildnet', - }; - break; - case 'shardnet': - config = { - networkId: 'shardnet', - nodeUrl: process.env.NEAR_CLI_SHARDNET_RPC_SERVER_URL || 'https://rpc.shardnet.near.org', - contractName: CONTRACT_NAME, - walletUrl: 'https://wallet.shardnet.near.org', - helperUrl: 'https://helper.shardnet.near.org', - helperAccount: 'shardnet', - explorerUrl: 'https://explorer.shardnet.near.org', - }; - break; - case 'local': - case 'localnet': - config = { - networkId: process.env.NEAR_CLI_LOCALNET_NETWORK_ID || 'localnet', - nodeUrl: process.env.NEAR_CLI_LOCALNET_RPC_SERVER_URL || process.env.NEAR_NODE_URL || 'http://127.0.0.1:3030', - keyPath: process.env.NEAR_CLI_LOCALNET_KEY_PATH || `${process.env.HOME}/.near/validator_key.json`, - walletUrl: process.env.NEAR_WALLET_URL || 'https://localhost:1234', - contractName: CONTRACT_NAME, - helperUrl: process.env.NEAR_HELPER_URL || 'http://localhost:3000', - helperAccount: process.env.NEAR_HELPER_ACCOUNT || 'node0', - explorerUrl: process.env.NEAR_EXPLORER_URL || 'http://localhost:9001', - }; - break; - case 'test': - case 'ci': - config = { - networkId: 'shared-test', - nodeUrl: process.env.NEAR_CLI_CI_RPC_SERVER_URL || 'https://rpc.ci-testnet.near.org', - contractName: CONTRACT_NAME, - masterAccount: 'test.near', }; break; default: @@ -87,4 +29,4 @@ function getConfig(env) { return config; } -module.exports = getConfig; +module.exports = { getConfig, DEFAULT_NETWORK }; diff --git a/context/index.d.ts b/context/index.d.ts deleted file mode 100644 index e9993a13..00000000 --- a/context/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as nearApi from "near-api-js"; - -export declare interface Context { - nearAPI: typeof nearApi, - near: nearApi.Near, - account?: nearApi.Account, - argv?: string[], -} \ No newline at end of file diff --git a/get-config.js b/get-config.js deleted file mode 100644 index 4b387d81..00000000 --- a/get-config.js +++ /dev/null @@ -1,19 +0,0 @@ - -module.exports = function getConfig() { - const configPath = process.cwd() + '/src/config'; - const nearEnv = process.env.NEAR_ENV || process.env.NODE_ENV || 'development'; - try { - const config = require(configPath)(nearEnv); - return config; - } catch (e) { - if (e.code == 'MODULE_NOT_FOUND') { - if (process.env.NEAR_DEBUG) { - // TODO: Use debug module instead, see https://github.com/near/near-api-js/pull/250 - console.warn(`[WARNING] Didn't find config at ${configPath}, using default shell config`); - } - const defaultConfig = require('./config')(nearEnv); - return defaultConfig; - } - throw e; - } -}; diff --git a/index.js b/index.js deleted file mode 100644 index 239b1d47..00000000 --- a/index.js +++ /dev/null @@ -1,274 +0,0 @@ -const fs = require('fs'); -const yargs = require('yargs'); -const ncp = require('ncp').ncp; -ncp.limit = 16; -const rimraf = require('rimraf'); -const readline = require('readline'); -const URL = require('url').URL; -const qs = require('querystring'); -const chalk = require('chalk'); // colorize output -const open = require('open'); // open URL in default browser -const { KeyPair, utils, transactions } = require('near-api-js'); -const connect = require('./utils/connect'); -const verify = require('./utils/verify-account'); -const capture = require('./utils/capture-login-success'); - -const inspectResponse = require('./utils/inspect-response'); -const eventtracking = require('./utils/eventtracking'); -const checkCredentials = require('./utils/check-credentials'); -const {askYesNoQuestion} = require('./utils/readline'); - -// TODO: Fix promisified wrappers to handle error properly - -// For smart contract: -exports.clean = async function () { - const rmDirFn = () => { - return new Promise(resolve => { - rimraf(yargs.argv.outDir, response => resolve(response)); - }); - }; - await rmDirFn(); - console.log('Clean complete.'); -}; - -// Checks if there is an existing contract deployed on this account -// (code hash consisting of 32 ones means that the contract code is missing). -// Returns `true` if the contract is either missing or if the user agreed to replace it. -// Returns `false` otherwise. -const checkExistingContract = async function(prevCodeHash) { - if (prevCodeHash !== '11111111111111111111111111111111') { - return await askYesNoQuestion( - chalk`{bold.white This account already has a deployed contract [ {bold.blue ${prevCodeHash}} ]. Do you want to proceed? {bold.green (y/n) }}`, - false - ); - } - return true; -}; - -const confirmDelete = function () { - return askYesNoQuestion( - chalk`{bold.white This method will delete your account. Beneficiary account must already be initialized in order to transfer all Near tokens or these will be lost. Make sure to send all fungible tokens or NFTs that you own to the beneficiary account prior to deleting, as this method will only transfer NEAR tokens. Do you want to proceed? {bold.green (y/n) }}`, - false); -}; - -exports.deploy = async function (options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - - const near = await connect(options); - const account = await near.account(options.accountId); - let prevState = await account.state(); - let prevCodeHash = prevState.code_hash; - - if (options.force || await checkExistingContract(prevCodeHash)) { - console.log( - `Starting deployment. Account id: ${options.accountId}, node: ${options.nodeUrl}, helper: ${options.helperUrl}, file: ${options.wasmFile}`); - - // Deploy with init function and args - const txs = [transactions.deployContract(fs.readFileSync(options.wasmFile))]; - - if (options.initArgs && !options.initFunction) { - options.initFunction = 'new'; - } - - if (options.initFunction) { - if (!options.initArgs) { - console.error('Must add initialization arguments.\nExample: near deploy --accountId near.testnet --initFunction "new" --initArgs \'{"key": "value"}\''); - await eventtracking.track(eventtracking.EVENT_ID_DEPLOY_END, { success: false, error: 'Must add initialization arguments' }, options); - process.exit(1); - } - txs.push(transactions.functionCall( - options.initFunction, - Buffer.from(options.initArgs), - options.initGas, - utils.format.parseNearAmount(options.initDeposit)), - ); - } - - const result = await account.signAndSendTransaction({ - receiverId: options.accountId, - actions: txs - }); - inspectResponse.prettyPrintResponse(result, options); - let state = await account.state(); - let codeHash = state.code_hash; - await eventtracking.track(eventtracking.EVENT_ID_DEPLOY_END, { success: true, code_hash: codeHash, is_same_contract: prevCodeHash === codeHash, contract_id: options.accountId }, options); - console.log(`Done deploying ${options.initFunction ? 'and initializing' : 'to'} ${options.accountId}`); - } -}; - -exports.callViewFunction = async function (options) { - console.log(`View call: ${options.contractName}.${options.methodName}(${options.args || ''})`); - const near = await connect(options); - const account = await near.account(options.accountId || options.masterAccount || options.contractName); - console.log(inspectResponse.formatResponse(await account.viewFunction(options.contractName, options.methodName, JSON.parse(options.args || '{}')))); -}; - -// open a given URL in browser in a safe way. -const openUrl = async function(url) { - try { - await open(url.toString()); - } catch (error) { - console.error(`Failed to open the URL [ ${url.toString()} ]`, error); - } -}; - -exports.login = async function (options) { - await eventtracking.askForConsentIfNeeded(options); - if (!options.walletUrl) { - console.log('Log in is not needed on this environment. Please use appropriate master account for shell operations.'); - await eventtracking.track(eventtracking.EVENT_ID_LOGIN_END, { success: true, login_is_not_needed: true }, options); - } else { - const newUrl = new URL(options.walletUrl + '/login/'); - const referrer = 'NEAR CLI'; - newUrl.searchParams.set('referrer', referrer); - const keyPair = await KeyPair.fromRandom('ed25519'); - newUrl.searchParams.set('public_key', keyPair.getPublicKey()); - - console.log(chalk`\n{bold.yellow Please authorize NEAR CLI} on at least one of your accounts.`); - - // attempt to capture accountId automatically via browser callback - let tempUrl; - const isWin = process.platform === 'win32'; - - // find a callback URL on the local machine - try { - if (!isWin) { // capture callback is currently not working on windows. This is a workaround to not use it - tempUrl = await capture.callback(5000); - } - } catch (error) { - // console.error("Failed to find suitable port.", error.message) - // TODO: Is it? Try triggering error - // silent error is better here - } - - // if we found a suitable URL, attempt to use it - if (tempUrl) { - if (process.env.GITPOD_WORKSPACE_URL) { - const workspaceUrl = new URL(process.env.GITPOD_WORKSPACE_URL); - newUrl.searchParams.set('success_url', `https://${tempUrl.port}-${workspaceUrl.hostname}`); - // Browser not opened, as will open automatically for opened port - } else { - newUrl.searchParams.set('success_url', `http://${tempUrl.hostname}:${tempUrl.port}`); - openUrl(newUrl); - } - } else if (isWin) { - // redirect automatically on windows, but do not use the browser callback - openUrl(newUrl); - } - - console.log(chalk`\n{dim If your browser doesn't automatically open, please visit this URL\n${newUrl.toString()}}`); - - const getAccountFromWebpage = async () => { - // capture account_id as provided by NEAR Wallet - const [accountId] = await capture.payload(['account_id'], tempUrl, newUrl); - return accountId; - }; - - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout - }); - const redirectAutomaticallyHint = tempUrl ? ' (if not redirected automatically)' : ''; - const getAccountFromConsole = async () => { - return await new Promise((resolve) => { - rl.question( - chalk`Please authorize at least one account at the URL above.\n\n` + - chalk`Which account did you authorize for use with NEAR CLI?\n` + - chalk`{bold Enter it here${redirectAutomaticallyHint}:}\n`, async (accountId) => { - resolve(accountId); - }); - }); - }; - - let accountId; - if (!tempUrl) { - accountId = await getAccountFromConsole(); - } else { - accountId = await new Promise((resolve, reject) => { - let resolved = false; - const resolveOnce = (result) => { if (!resolved) resolve(result); resolved = true; }; - getAccountFromWebpage() - .then(resolveOnce); // NOTE: error ignored on purpose - getAccountFromConsole() - .then(resolveOnce) - .catch(reject); - }); - } - rl.close(); - capture.cancel(); - // verify the accountId if we captured it or ... - try { - const success = await verify(accountId, keyPair, options); - await eventtracking.track(eventtracking.EVENT_ID_LOGIN_END, { success }, options); - } catch (error) { - await eventtracking.track(eventtracking.EVENT_ID_LOGIN_END, { success: false, error }, options); - console.error('Failed to verify accountId.', error.message); - } - } -}; - -exports.viewAccount = async function (options) { - let near = await connect(options); - let account = await near.account(options.accountId); - let state = await account.state(); - if (state && state.amount) { - state['formattedAmount'] = utils.format.formatNearAmount(state.amount); - } - console.log(`Account ${options.accountId}`); - console.log(inspectResponse.formatResponse(state)); -}; - -exports.deleteAccount = async function (options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - const near = await connect(options); - const beneficiaryAccount = await near.account(options.beneficiaryId); - // beneficiary account does not exist if there are no access keys - try { - await beneficiaryAccount.state(); - } catch (e) { - if (e.type === 'AccountDoesNotExist') { - console.error(`Beneficiary account ${options.beneficiaryId} does not exist. Please create the account to transfer Near tokens.`); - return; - } else { - throw e; - } - } - - if (options.force || await confirmDelete()) { - const account = await near.account(options.accountId); - console.log( - `Deleting account. Account id: ${options.accountId}, node: ${options.nodeUrl}, helper: ${options.helperUrl}, beneficiary: ${options.beneficiaryId}`); - const result = await account.deleteAccount(options.beneficiaryId); - inspectResponse.prettyPrintResponse(result, options); - console.log(`Account ${options.accountId} for network "${options.networkId}" was deleted.`); - } - else { - console.log(chalk`{bold.white Deletion of account with account id: {bold.blue ${options.accountId} } was {bold.red cancelled}}`); - } -}; - -exports.keys = async function (options) { - let near = await connect(options); - let account = await near.account(options.accountId); - let accessKeys = await account.getAccessKeys(); - console.log(`Keys for account ${options.accountId}`); - console.log(inspectResponse.formatResponse(accessKeys)); -}; - -exports.sendMoney = async function (options) { - await checkCredentials(options.sender, options.networkId, options.keyStore); - console.log(`Sending ${options.amount} NEAR to ${options.receiver} from ${options.sender}`); - const near = await connect(options); - const account = await near.account(options.sender); - const result = await account.sendMoney(options.receiver, utils.format.parseNearAmount(options.amount)); - inspectResponse.prettyPrintResponse(result, options); -}; - -exports.stake = async function (options) { - await checkCredentials(options.accountId, options.networkId, options.keyStore); - console.log(`Staking ${options.amount} (${utils.format.parseNearAmount(options.amount)}) on ${options.accountId} with public key = ${qs.unescape(options.stakingKey)}.`); - const near = await connect(options); - const account = await near.account(options.accountId); - const result = await account.stake(qs.unescape(options.stakingKey), utils.format.parseNearAmount(options.amount)); - inspectResponse.prettyPrintResponse(result, options); -}; diff --git a/middleware/abi.js b/middleware/abi.js deleted file mode 100644 index 900d2659..00000000 --- a/middleware/abi.js +++ /dev/null @@ -1,11 +0,0 @@ -const fs = require('fs'); - -async function loadAbi(abiPath) { - return JSON.parse(fs.readFileSync(abiPath)).abi; -} - -module.exports = async function parseAbi(options) { - if (options.abi) { - options.abi = await loadAbi(options.abi); - } -}; \ No newline at end of file diff --git a/middleware/base64-args.js b/middleware/base64-args.js deleted file mode 100644 index e69de29b..00000000 diff --git a/middleware/initial-balance.js b/middleware/initial-balance.js deleted file mode 100644 index dd43f49f..00000000 --- a/middleware/initial-balance.js +++ /dev/null @@ -1,6 +0,0 @@ - -const { utils } = require('near-api-js'); - -module.exports = async function parseInitialBalance(options) { - options.initialBalance = utils.format.parseNearAmount(options.initialBalance); -}; \ No newline at end of file diff --git a/middleware/key-store.js b/middleware/key-store.js index 8fa03d75..7a65584f 100644 --- a/middleware/key-store.js +++ b/middleware/key-store.js @@ -1,22 +1,12 @@ const { keyStores } = require('near-api-js'); const homedir = require('os').homedir(); const path = require('path'); -const MergeKeyStore = keyStores.MergeKeyStore; const UnencryptedFileSystemKeyStore = keyStores.UnencryptedFileSystemKeyStore; const CREDENTIALS_DIR = '.near-credentials'; -const PROJECT_KEY_DIR = './neardev'; module.exports = async function createKeyStore() { - // ./neardev is an old way of storing keys under project folder. We want to fallback there for backwards compatibility // TODO: use system keystores. - // TODO: setting in config for which keystore to use const credentialsPath = path.join(homedir, CREDENTIALS_DIR); - const keyStores = [ - new UnencryptedFileSystemKeyStore(credentialsPath), - new UnencryptedFileSystemKeyStore(PROJECT_KEY_DIR) - ]; - return { keyStore: new MergeKeyStore(keyStores) }; -}; - -module.exports.PROJECT_KEY_DIR = PROJECT_KEY_DIR; \ No newline at end of file + return { keyStore: new UnencryptedFileSystemKeyStore(credentialsPath) }; +}; \ No newline at end of file diff --git a/middleware/ledger.js b/middleware/ledger.js deleted file mode 100644 index 52a20ec8..00000000 --- a/middleware/ledger.js +++ /dev/null @@ -1,70 +0,0 @@ -const { utils: { PublicKey, key_pair: { KeyType } } } = require('near-api-js'); - -// near ... --useLedgerKey -// near create_account new_account_name --newLedgerKey --useLedgerKey --masterAccount account_that_creates -module.exports = async function useLedgerSigner({ useLedgerKey: ledgerKeyPath, newLedgerKey, publicKey }, yargs) { - if (yargs.parsed.defaulted.useLedgerKey) { - // NOTE: This checks if --useLedgerKey was specified at all, default value still can be used - return; - } - - const { createClient } = require('near-ledger-js'); - const { default: TransportNodeHid } = require('@ledgerhq/hw-transport-node-hid'); - - console.log('Make sure to connect your Ledger and open NEAR app'); - const transport = await TransportNodeHid.create(); - const client = await createClient(transport); - - let cachedPublicKeys = {}; - async function getPublicKeyForPath({ hdKeyPath, enableCaching }) { - // NOTE: Public key is cached to avoid confirming on Ledger multiple times - if (cachedPublicKeys[ledgerKeyPath] && enableCaching) { - return cachedPublicKeys[hdKeyPath]; - } - console.log('Waiting for confirmation on Ledger...'); - let rawPublicKey; - try { - rawPublicKey = await client.getPublicKey(hdKeyPath); - console.log('Approved'); - } catch (e) { - if (e.statusText === 'CONDITIONS_OF_USE_NOT_SATISFIED') { - console.log('Rejected from the Ledger '); - return; - } - throw e; - } - const publicKey = new PublicKey({ keyType: KeyType.ED25519, data: rawPublicKey }); - if (enableCaching) { - cachedPublicKeys[hdKeyPath] = publicKey; - } - console.log('Using public key:', publicKey.toString()); - return publicKey; - } - - let signer = { - async getPublicKey({ enableCaching }) { - return getPublicKeyForPath({ - hdKeyPath: ledgerKeyPath, - enableCaching: enableCaching - }); - }, - async signMessage(message) { - const publicKey = await getPublicKeyForPath({ - hdKeyPath: ledgerKeyPath, - enableCaching: true - }); - console.log('Waiting for confirmation on Ledger...'); - const signature = await client.sign(message, ledgerKeyPath); - return { signature, publicKey }; - } - }; - - if (newLedgerKey) { - publicKey = await getPublicKeyForPath({ - hdKeyPath: newLedgerKey, - enableCaching: true - }); - } - - return { signer, publicKey, usingLedger: true }; -}; diff --git a/middleware/print-options.js b/middleware/print-options.js index 5a057c76..551b0643 100644 --- a/middleware/print-options.js +++ b/middleware/print-options.js @@ -3,7 +3,7 @@ module.exports = async function printOptions(options) { if (options.verbose) { const filteredOptions = Object.keys(options) .filter(key => !key.match(/[-_$]/)) - .reduce((obj, key) => ({...obj, [key]: options[key]}), {}); + .reduce((obj, key) => ({ ...obj, [key]: options[key] }), {}); console.log('Using options:', filteredOptions); } }; \ No newline at end of file diff --git a/middleware/seed-phrase.js b/middleware/seed-phrase.js deleted file mode 100644 index 4c326492..00000000 --- a/middleware/seed-phrase.js +++ /dev/null @@ -1,25 +0,0 @@ -const { parseSeedPhrase } = require('near-seed-phrase'); -const { utils: { KeyPair } } = require('near-api-js'); -const { InMemoryKeyStore, MergeKeyStore } = require('near-api-js/lib/key_stores'); - -const implicitAccountId = require('../utils/implicit-accountid'); - -// near ... --seedPhrase="phrase" --seedPath="m/44'/397'/0'" -// near generate-key --seedPhrase="phrase" -module.exports = async function useSeedPhrase({ seedPhrase, seedPath, keyStore, accountId, masterAccount, networkId }, yargs) { - if (!seedPhrase) { - return; - } - if (yargs.usingLedger) { - throw new Error('Can not use both --useLedgerKey and --seedPhrase at the same time'); - } - const { publicKey, secretKey } = parseSeedPhrase(seedPhrase, seedPath); - - const seedPhraseKeystore = new InMemoryKeyStore(); - const seedPhraseAccountId = masterAccount ? masterAccount : accountId || implicitAccountId(publicKey); - - await keyStore.setKey(networkId, seedPhraseAccountId, KeyPair.fromString(secretKey)); - if(keyStore instanceof MergeKeyStore) keyStore.keyStores.push(seedPhraseKeystore); - - return { keyStore, accountId }; -}; diff --git a/middleware/x-api-key.js b/middleware/x-api-key.js deleted file mode 100644 index 29688f52..00000000 --- a/middleware/x-api-key.js +++ /dev/null @@ -1,9 +0,0 @@ -const { getXApiKey } = require('../utils/x-api-key-settings'); - -module.exports = async function setNodeXApiKey(options) { - const apiKey = getXApiKey(options.nodeUrl); - if (apiKey) { - options.headers = { 'x-api-key': apiKey }; - } - return options; -}; diff --git a/neardev/shared-test-staging/test.near.json b/neardev/shared-test-staging/test.near.json deleted file mode 100644 index 5477035f..00000000 --- a/neardev/shared-test-staging/test.near.json +++ /dev/null @@ -1 +0,0 @@ -{"account_id":"test.near","private_key":"ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw"} diff --git a/neardev/shared-test/test.near.json b/neardev/shared-test/test.near.json deleted file mode 100644 index 5477035f..00000000 --- a/neardev/shared-test/test.near.json +++ /dev/null @@ -1 +0,0 @@ -{"account_id":"test.near","private_key":"ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw"} diff --git a/package.json b/package.json index a6b794a9..dd0b6aea 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,19 @@ { "name": "near-cli", "version": "3.4.2", - "description": "General purpose command line tools for interacting with NEAR Protocol", + "description": "Simple CLI for interacting with NEAR Protocol", "engines": { - "node": ">= 12" + "node": ">= 16" }, - "main": "index.js", + "main": "bin/near-cli.js", "scripts": { "pretest": "rm -rf tmp-project", "test": "npm run test:unit && npm run test:integration", "test:unit": "jest", "test:integration": "bash ./test/index.sh", "lint": "eslint .", - "fix": "eslint . --fix" + "fix": "eslint . --fix", + "start": "node bin/near-cli.js" }, "repository": { "type": "git", @@ -29,9 +30,9 @@ }, "devDependencies": { "danger": "^10.6.6", - "lodash": "^4.17.21", "eslint": "^7.0.0", "jest": "^26.1.0", + "lodash": "^4.17.21", "strip-ansi": "^7.0.0", "strip-ansi-cli": "^3.0.0", "ts-node": "^10.4.0", @@ -46,10 +47,10 @@ "flagged-respawn": "^1.0.1", "is-ci": "^2.0.0", "jest-environment-node": "^27.0.6", - "ncp": "^2.0.0", "near-api-js": "^0.44.2", "near-seed-phrase": "^0.2.0", "open": "^8.0.7", + "random-words": "^2.0.0", "rimraf": "^3.0.0", "stoppable": "^1.1.0", "tcp-port-used": "^1.0.1", diff --git a/test/script_test.js b/test/script_test.js deleted file mode 100644 index 3382e4e4..00000000 --- a/test/script_test.js +++ /dev/null @@ -1,10 +0,0 @@ -const assert = require('assert'); - - -module.exports.main = async function main({account, near, nearAPI, argv}) { - assert(account, 'accountId should have been passed'); - assert(account.accountId === 'test.near'); - assert(near.config._[0] == 'repl'); - assert(nearAPI.keyStores); - assert(argv.includes('arg')); -}; diff --git a/test/script_test.ts b/test/script_test.ts deleted file mode 100644 index e982a659..00000000 --- a/test/script_test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {Context} from "../context"; -import assert from "assert"; - - -export async function main({account, near, nearAPI, argv}: Context) { - assert(account, "accountId should have been passed"); - assert(account.accountId === "test.near"); - assert(near.config._[0] == 'repl'); - assert(nearAPI.keyStores); - assert(argv.includes("arg")) -} diff --git a/test/test_account_creation.sh b/test/test_account_creation.sh index c7fd11c4..2b07b542 100755 --- a/test/test_account_creation.sh +++ b/test/test_account_creation.sh @@ -1,28 +1,100 @@ #!/bin/bash +set -e + timestamp=$(date +%s) -testaccount=testaccount$timestamp$RANDOM.test.near +testaccount1=testaccount${timestamp}-1.testnet +testaccount2=testaccount${timestamp}-2.testnet +testaccount3=testaccount${timestamp}-3.testnet +testaccount4=testaccount${timestamp}-4.testnet +zerobalance=testaccount${timestamp}-z.testnet +withbalance=testaccount${timestamp}-y.testnet + +tla=${timestamp}${timestamp}${timestamp}12 + +# Can create a pre-funded account +./bin/near create-account $testaccount1 --useFaucet + +# Can create an account with a given public key & balance +./bin/near create-account sub.$testaccount1 --accountId $testaccount1 --publicKey "78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV" --initialBalance 0.01 + +RESULT=$(./bin/near list-keys sub.$testaccount1) +EXPECTED=".*78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near list-keys + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi + +RESULT=$(./bin/near state sub.$testaccount1) +EXPECTED=".*formattedAmount: '0.01'.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near view + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi + +# An account can fund other accounts +./bin/near create-account $testaccount2 --accountId $testaccount1 + +# An account can create zero-balance accounts +./bin/near create-account $zerobalance --accountId $testaccount1 --initialBalance 0 -ERROR=$(./bin/near create-account $testaccount --masterAccount test.far 2>&1 >/dev/null) -EXPECTED_ERROR=".+New account doesn't share the same top-level account.+ " +# An account can create a TLA +./bin/near create-account $tla --accountId $testaccount1 + +set +e + +# Cannot create sub-accounts of other accounts +ERROR=$(./bin/near create-account sub.$testaccount2 --accountId $testaccount1 2>&1) +EXPECTED_ERROR=".*can't be created by.*" if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then - echo FAILURE Unexpected output creating account with different master account + echo FAILURE - Unexpected output creating a sub-account of another account + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR exit 1 fi -ERROR=$(./bin/near create-account tooshortfortla --masterAccount test.far 2>&1 >/dev/null) -EXPECTED_ERROR=".+Top-level accounts must be at least.+ " +# Cannot use a non-existing account to fund another +ERROR=$(./bin/near create-account $testaccount3 --accountId test.far 2>&1) +EXPECTED_ERROR=".+do not have the credentials locally.+" +if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then + echo FAILURE - Unexpected output creating account with an unexisting master account + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR + exit 1 +fi + +# Cannot create a TLA with a short name +ERROR=$(./bin/near create-account tooshortfortla --accountId $testaccount1 2>&1) +EXPECTED_ERROR=".+cannot create Top Level Accounts with less than 32 chars.+" if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then echo FAILURE Unexpected output when creating a short top-level account + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR exit 1 fi -echo Create account with seed phrase -./bin/near create-account $testaccount --publicKey="Au4RC7YHfZuhxK8DnXDrizCSEXXc9mc9teVm4Nbtv6Tj" > /dev/null -RESULT=$(./bin/near create-account create-me.$testaccount --masterAccount=$testaccount --seedPhrase="cross teach omit obvious riot echo parrot member memory wide obscure ball" --initialBalance=1 -v | ./node_modules/.bin/strip-ansi) -EXPECTED=".+Account create-me.$testaccount for network .+ was created.+" -if [[ ! "$RESULT" =~ $EXPECTED ]]; then - echo FAILURE \"Create account with seed phrase\" Unexpected output from create-account +# Cannot create a useFaucet account in mainnet +ERROR=$(./bin/near create-account $testaccount4 --useFaucet --networkId mainnet 2>&1) +EXPECTED_ERROR=".+Pre-funding accounts is only possible on testnet.+" +if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then + echo FAILURE Unexpected output when funding pre-funded account in mainnet + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR + exit 1 +fi + +# Proper error message when account does not have enough balance +ERROR=$(./bin/near create-account $testaccount4 --accountId $zerobalance --initialBalance 0.1 2>&1) +EXPECTED_ERROR=".+does not have enough balance.+" +if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then + echo FAILURE Unexpected output when creating a short top-level account + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR exit 1 fi -./bin/near delete $testaccount test.near > /dev/null +./bin/near delete $testaccount1 influencer.testnet --force +./bin/near delete $testaccount2 influencer.testnet --force diff --git a/test/test_account_operations.sh b/test/test_account_operations.sh index 7449ff13..7ab989de 100755 --- a/test/test_account_operations.sh +++ b/test/test_account_operations.sh @@ -1,83 +1,91 @@ -#!/bin/bash -set -e +# #!/bin/bash +# set -e -timestamp=$(date +%s) -testaccount=testaccount$timestamp$RANDOM.test.near +# timestamp=$(date +%s) +# testaccount=testaccount$timestamp$RANDOM.testnet -echo Create account -./bin/near create-account $testaccount +# ./bin/near create-account $testaccount --preFunded -echo Get account state -RESULT=$(./bin/near state $testaccount -v | ./node_modules/.bin/strip-ansi) -EXPECTED=".+Account $testaccount.+amount:.+'100000000000000000000000000'.+ " -if [[ ! "$RESULT" =~ $EXPECTED ]]; then - echo FAILURE Unexpected output from near view - exit 1 -fi +# echo Get account state +# RESULT=$(./bin/near state $testaccount) +# EXPECTED="Account $testaccount.+amount:.+'5000001000000000000000000'.+ " +# if [[ ! "$RESULT" =~ $EXPECTED ]]; then +# echo FAILURE Unexpected output from near view +# echo Got: $RESULT +# echo Expected: $EXPECTED +# exit 1 +# fi -echo Get account storage --finality final -RESULT=$(./bin/near view-state $testaccount --finality final) -EXPECTED="[]" -if [[ ! "$RESULT" == $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage --finality final +# RESULT=$(./bin/near storage $testaccount --finality final) +# EXPECTED="[]" +# if [[ ! "$RESULT" == $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# echo Got: $RESULT +# echo Expected: $EXPECTED +# exit 1 +# fi -echo Get account storage --finality optimistic -RESULT=$(./bin/near view-state $testaccount --finality optimistic) -EXPECTED="[]" -if [[ ! "$RESULT" == $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage --finality optimistic +# RESULT=$(./bin/near storage $testaccount --finality optimistic) +# EXPECTED="[]" +# if [[ ! "$RESULT" == $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# echo Got: $RESULT +# echo Expected: $EXPECTED +# exit 1 +# fi -bin/near state $testaccount > ${testaccount}.json -BLOCK_HEIGHT=$(grep block_height ${testaccount}.json | grep -o '[[:digit:]]\+') -BLOCK_HASH=$(grep block_hash ${testaccount}.json | grep -o "[[:alnum:]]\{10,\}") +# bin/near state $testaccount > ${testaccount}.json +# BLOCK_HEIGHT=$(grep block_height ${testaccount}.json | grep -o '[[:digit:]]\+') +# BLOCK_HASH=$(grep block_hash ${testaccount}.json | grep -o "[[:alnum:]]\{10,\}") -echo Get account storage --blockId $BLOCK_HEIGHT -RESULT=$(./bin/near view-state $testaccount --blockId $BLOCK_HEIGHT) -EXPECTED="[]" -if [[ ! "$RESULT" == $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage --blockId $BLOCK_HEIGHT +# RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HEIGHT) +# EXPECTED="[]" +# if [[ ! "$RESULT" == $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# echo Got: $RESULT +# echo Expected: $EXPECTED +# exit 1 +# fi -echo Get account storage --blockId $BLOCK_HASH -RESULT=$(./bin/near view-state $testaccount --blockId $BLOCK_HASH) -EXPECTED="[]" -if [[ ! "$RESULT" == $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage --blockId $BLOCK_HASH +# RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HASH) +# EXPECTED="[]" +# if [[ ! "$RESULT" == $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# echo Got: $RESULT +# echo Expected: $EXPECTED +# exit 1 +# fi -set +e +# set +e -echo Get account storage --blockId $BLOCK_HASH --finality optimistic should fail -EXPECTED="Arguments block-id and finality are mutually exclusive" -./bin/near view-state $testaccount --blockId $BLOCK_HASH --finality optimistic 2> ${testaccount}.stderr -if [[ ! $? == 1 ]]; then - echo view-state should fail given both blockId and finality - exit 1 -fi -if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage --blockId $BLOCK_HASH --finality optimistic should fail +# EXPECTED="Arguments blockId and finality are mutually exclusive" +# ./bin/near storage $testaccount --blockId $BLOCK_HASH --finality optimistic 2> ${testaccount}.stderr +# if [[ ! $? == 1 ]]; then +# echo storage should fail given both blockId and finality +# exit 1 +# fi +# if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# exit 1 +# fi -echo Get account storage without one of blockId or finality should fail -EXPECTED="Must provide either --finality or --blockId" -./bin/near view-state $testaccount 2> ${testaccount}.stderr -if [[ ! $? == 1 ]]; then - echo view-state should fail without one of blockId or finality should fail - exit 1 -fi -if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then - echo FAILURE Unexpected output from near view-state - exit 1 -fi +# echo Get account storage without one of blockId or finality should fail +# EXPECTED="Must provide either --finality or --blockId" +# ./bin/near storage $testaccount 2> ${testaccount}.stderr +# if [[ ! $? == 1 ]]; then +# echo storage should fail without one of blockId or finality should fail +# exit 1 +# fi +# if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then +# echo FAILURE Unexpected output from near storage +# exit 1 +# fi -set -e +# set -e - -./bin/near delete $testaccount test.near +# ./bin/near delete $testaccount influencer.testnet --force diff --git a/test/test_contract.sh b/test/test_contract.sh index e02a2976..dad0f4eb 100755 --- a/test/test_contract.sh +++ b/test/test_contract.sh @@ -1,37 +1,37 @@ -#!/bin/bash -set -e +# #!/bin/bash +# set -e -timestamp=$(date +%s) -testaccount=testaccount$timestamp$RANDOM.test.near -./bin/near create-account $testaccount +# timestamp=$(date +%s) +# contract=testaccount$timestamp-c.testnet +# testaccount=testaccount$timestamp-t.testnet -echo Deploying contract -./bin/near deploy --accountId=$testaccount --wasmFile=./test/res/guest_book.wasm +# echo Creating account +# ./bin/near create $contract --preFunded +# ./bin/near create $testaccount --preFunded -echo Deploying contract to temporary accountId -# TODO: Specify helperUrl in project template -yes | ./bin/near dev-deploy ./test/res/guest_book.wasm > /dev/null +# echo Deploying contract +# ./bin/near deploy $contract ./test/res/guest_book.wasm -echo Calling functions -./bin/near call $testaccount addMessage '{"text":"TEST"}' --accountId=test.near > /dev/null +# echo Calling functions +# ./bin/near call $contract addMessage '{"text":"TEST"}' --accountId $testaccount > /dev/null -RESULT=$(./bin/near view $testaccount getMessages '{}' --accountId=test.near -v) -TEXT=$RESULT -EXPECTED='TEST' -if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then - echo FAILURE Unexpected output from near call: $RESULT - exit 1 -fi +# RESULT=$(./bin/near view $contract getMessages '{}') +# TEXT=$RESULT +# EXPECTED='TEST' +# if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then +# echo FAILURE Unexpected output from near call: $RESULT +# exit 1 +# fi -# base64-encoded '{"message":"BASE64ROCKS"}' -./bin/near call $testaccount addMessage --base64 'eyJ0ZXh0IjoiVEVTVCJ9' --accountId=test.near > /dev/null +# # base64-encoded '{"message":"BASE64ROCKS"}' +# ./bin/near call $contract addMessage --base64 'eyJ0ZXh0IjoiVEVTVCJ9' --accountId $testaccount > /dev/null -RESULT=$(./bin/near view $testaccount getMessages '{}' --accountId=test.near -v) -# TODO: Refactor asserts -TEXT=$RESULT -echo $RESULT -EXPECTED="[ { premium: false, sender: 'test.near', text: 'TEST' }, { premium: false, sender: 'test.near', text: 'TEST' } ]" -if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then - echo FAILURE Unexpected output from near call: $RESULT - exit 1 -fi +# RESULT=$(./bin/near view $contract getMessages '{}') +# # TODO: Refactor asserts +# TEXT=$RESULT +# echo $RESULT +# EXPECTED="[ { premium: false, sender: 'test.near', text: 'TEST' }, { premium: false, sender: 'test.near', text: 'TEST' } ]" +# if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then +# echo FAILURE Unexpected output from near call: $RESULT +# exit 1 +# fi diff --git a/test/test_credentials.sh b/test/test_credentials.sh new file mode 100755 index 00000000..72750171 --- /dev/null +++ b/test/test_credentials.sh @@ -0,0 +1,63 @@ + +#!/bin/bash +set -e + +KEY_FILE=~/.near-credentials/testnet/generate-key-test.json +rm -f "$KEY_FILE" + +echo "Testing generating-key: new key" +RESULT=$(./bin/near generate-key generate-key-test --networkId testnet) +if [[ ! -f "${KEY_FILE}" ]]; then + echo "FAILURE Key file doesn't exist" + exit 1 +fi + +EXPECTED=".*Key pair:.+publicKey.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near generate-key + exit 1 +fi + +echo "Testing generating-key: key for account already exists" +RESULT=$(./bin/near generate-key generate-key-test --networkId testnet) +EXPECTED=".*already has.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near generate-key when key already exists + exit 1 +fi + +KEY_FILE=~/.near-credentials/testnet/credentials-test.json +rm -f "$KEY_FILE" + + +./bin/near add-credentials credentials-test --networkId testnet --seedPhrase "crisp clump stay mean dynamic become fashion mail bike disorder chronic sight" + +if [[ ! -f "${KEY_FILE}" ]]; then + echo "FAILURE Key file doesn't exist" + exit 1 +fi +RESULT=$(cat "${KEY_FILE}") +EXPECTED=".*ed25519:GPnL8k4MV1hLccB5rkNiihVAEEmQX3BTDJnmW1T7ZDXG.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from add-credentials + exit 1 +fi + +RESULT=$(./bin/near add-credentials credentials-test --networkId testnet --secretKey "ed25519:ZYHwwLWnVU6mpcr1SPtqRtDMYxJ1uasqjDxKTqBzgpsH8Up9LVxGEFR2fJ52k7Yfd4gEkJvLayqoH9xCiPMFg6X") +EXPECTED=".*already has.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from forced add + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi + +./bin/near add-credentials credentials-test --networkId testnet --secretKey "ed25519:ZYHwwLWnVU6mpcr1SPtqRtDMYxJ1uasqjDxKTqBzgpsH8Up9LVxGEFR2fJ52k7Yfd4gEkJvLayqoH9xCiPMFg6X" --force +RESULT=$(cat "${KEY_FILE}") +EXPECTED=".*ed25519:B9WS2VmrMUNTK4LfPvNZQxHHCp4ptWPoMG6bF7MzYFZD.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from forced add + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi \ No newline at end of file diff --git a/test/test_deploy_init_contract.sh b/test/test_deploy_init_contract.sh index 7b7adee9..8b924464 100755 --- a/test/test_deploy_init_contract.sh +++ b/test/test_deploy_init_contract.sh @@ -1,36 +1,40 @@ #!/bin/bash -set -e timestamp=$(date +%s) -testaccount=testaccount$timestamp$RANDOM.test.near +contract=testaccount$timestamp.testnet echo Creating account -./bin/near create-account $testaccount > /dev/null +./bin/near create $contract --useFaucet echo Deploying contract without init method -./bin/near deploy --accountId $testaccount --wasmFile ./test/res/fungible_token.wasm > /dev/null -ERROR=$(./bin/near view $testaccount get_balance '{"owner_id": "test.near"}' -v 2>&1 >/dev/null | ./node_modules/.bin/strip-ansi) -EXPECTED_ERROR=".+Fun token should be initialized before usage+" +./bin/near deploy $contract ./test/res/fungible_token.wasm + +ERROR=$(./bin/near view $contract get_balance '{"owner_id":"something.testnet"}' 2>&1 >/dev/null) +EXPECTED_ERROR=".+Fun token should be initialized before usage.+" + if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then echo FAILURE Expected message requiring initialization of contract + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR exit 1 -else - echo Received expected error requiring initialization fi # Delete account, remake, redeploy -echo Deleting account: $testaccount -printf 'y\n' | ./bin/near delete $testaccount test.near > /dev/null -echo Recreating account: $testaccount -./bin/near create-account $testaccount > /dev/null -./bin/near deploy --accountId $testaccount --wasmFile ./test/res/fungible_token.wasm --initFunction new --initArgs '{"owner_id": "test.near", "total_supply": "1000000"}' > /dev/null -RESULT=$(./bin/near view $testaccount get_balance '{"owner_id": "test.near"}' -v | ./node_modules/.bin/strip-ansi) -if [[ $RESULT -ne 1000000 ]]; then +echo Deleting account: $contract +printf 'y\n' | ./bin/near delete $contract influencer.testnet + +# echo Recreating account: $contract +./bin/near create $contract --useFaucet +./bin/near deploy $contract ./test/res/fungible_token.wasm --initFunction new --initArgs "{\"owner_id\":\"$contract\",\"total_supply\":\"1000000\"}" +RESULT=$(./bin/near view $contract get_balance "{\"owner_id\":\"$contract\"}" ) +EXPECTED="View call: $contract.get_balance({\"owner_id\":\"$contract\"}) +'1000000'" +if [[ ! $RESULT == $EXPECTED ]]; then echo FAILURE Expected balance sent in initialization args + echo Got: $RESULT + echo Exp: $EXPECTED exit 1 -else - echo Received proper balance sent by deploy and initialization args fi # Clean up by deleting account, sending back to test.near -./bin/near delete $testaccount test.near > /dev/null +./bin/near delete $contract influencer.testnet --force > /dev/null \ No newline at end of file diff --git a/test/test_generate_key.sh b/test/test_generate_key.sh deleted file mode 100755 index 32513fae..00000000 --- a/test/test_generate_key.sh +++ /dev/null @@ -1,26 +0,0 @@ - -#!/bin/bash -set -e - -KEY_FILE=~/.near-credentials/$NODE_ENV/generate-key-test.json -rm -f "$KEY_FILE" - -echo "Testing generating-key: new key" -RESULT=$(./bin/near generate-key generate-key-test --networkId $NODE_ENV -v) -if [[ ! -f "${KEY_FILE}" ]]; then - echo "FAILURE Key file doesn't exist" - exit 1 -fi -EXPECTED=".*Key pair with ed25519:.+ public key.*" -if [[ ! "$RESULT" =~ $EXPECTED ]]; then - echo FAILURE Unexpected output from near generate-key - exit 1 -fi - -echo "Testing generating-key: key for account already exists" -RESULT2=$(./bin/near generate-key generate-key-test --networkId $NODE_ENV -v) -EXPECTED2=".*Account has existing key pair with ed25519:.+ public key.*" -if [[ ! "$RESULT2" =~ $EXPECTED2 ]]; then - echo FAILURE Unexpected output from near generate-key when key already exists - exit 1 -fi diff --git a/test/test_keys.sh b/test/test_keys.sh new file mode 100755 index 00000000..ca884946 --- /dev/null +++ b/test/test_keys.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e + +timestamp=$(date +%s) +testaccount=testaccount${timestamp}.testnet + +# Can create a pre-funded account +./bin/near create-account $testaccount --useFaucet + +# Can create an account with a given public key +./bin/near add-key $testaccount "78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV" + +RESULT=$(./bin/near list-keys $testaccount) +EXPECTED=".*78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near list-keys + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi + +# Error on adding a key that already exists +RESULT=$(./bin/near add-key $testaccount "78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV") +EXPECTED=".*already exists in account.*" +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near add-key + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi + +./bin/near delete-key $testaccount "78MziB9aTNsu19MHHVrfWy762S5mAqXgCB6Vgvrv9uGV" + +./bin/near delete $testaccount influencer.testnet --force \ No newline at end of file diff --git a/test/test_script.sh b/test/test_script.sh deleted file mode 100755 index 8eb4c3f3..00000000 --- a/test/test_script.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -account="test.near" -./bin/near repl --script ./test/script_test.js --accountId "$account" -- arg -./bin/near repl --script ./test/script_test.ts --accountId "$account" -- arg diff --git a/test/unit/explorer.test.js b/test/unit/explorer.test.js deleted file mode 100644 index 23dc41f5..00000000 --- a/test/unit/explorer.test.js +++ /dev/null @@ -1,27 +0,0 @@ - -const explorer = require('../../utils/explorer'); - -describe('generate explorer link', () => { - test('on environment with a known url', async () => { - const config = require('../../config')('development'); - const url = explorer.generateTransactionUrl('61Uc5f7L42SDWFPYHx7goMc2xEN7YN4fgtw9baHA82hY', config); - expect(url).toEqual('https://explorer.testnet.near.org/transactions/61Uc5f7L42SDWFPYHx7goMc2xEN7YN4fgtw9baHA82hY'); - }); - - test('on environment with an unknown url', async () => { - const config = require('../../config')('ci'); - const url = explorer.generateTransactionUrl('61Uc5f7L42SDWFPYHx7goMc2xEN7YN4fgtw9baHA82hY', config); - expect(url).toEqual(null); - }); - - test('unknown txn id', async () => { - const config = require('../../config')('development'); - const url = explorer.generateTransactionUrl(null, config); - expect(url).toEqual(null); - }); - - test('null options', async () => { - const url = explorer.generateTransactionUrl('61Uc5f7L42SDWFPYHx7goMc2xEN7YN4fgtw9baHA82hY', null); - expect(url).toEqual(null); - }); -}); diff --git a/test/unit/utils/x-api-key-settings.test.js b/test/unit/utils/x-api-key-settings.test.js deleted file mode 100644 index c3b2838a..00000000 --- a/test/unit/utils/x-api-key-settings.test.js +++ /dev/null @@ -1,49 +0,0 @@ -const { setXApiKey, getXApiKey } = require('../../../utils/x-api-key-settings.js'); - -const RPC_SERVER_URL_1 = 'https://test1.url.com'; -const RPC_SERVER_URL_2 = 'https://test2.url.com'; -const RPC_SERVER_URL_3 = 'https://test3.url.com'; -const RPC_SERVER_API_KEY_1 = '1814c8b3-d7e1-4145-ba75-d6fc9787b27d'; -const RPC_SERVER_API_KEY_2 = '2814c8b3-d7e1-4145-ba75-d6fc9787b27d'; -const RPC_SERVER_API_KEY_3 = '3814c8b3-d7e1-4145-ba75-d6fc9787b27d'; - -const EMPTY_VALUES = [null, undefined, '']; - -describe('x-api-key-settings tests', () => { - // set tests - test('set and get functionality works', async () => { - setXApiKey(RPC_SERVER_URL_1, RPC_SERVER_API_KEY_1); - setXApiKey(RPC_SERVER_URL_2, RPC_SERVER_API_KEY_2); - setXApiKey(RPC_SERVER_URL_3, RPC_SERVER_API_KEY_3); - const apiKey1FromConfig = getXApiKey(RPC_SERVER_URL_1); - const apiKey2FromConfig = getXApiKey(RPC_SERVER_URL_2); - const apiKey3FromConfig = getXApiKey(RPC_SERVER_URL_3); - expect(apiKey1FromConfig).toEqual(RPC_SERVER_API_KEY_1); - expect(apiKey2FromConfig).toEqual(RPC_SERVER_API_KEY_2); - expect(apiKey3FromConfig).toEqual(RPC_SERVER_API_KEY_3); - }); - - test('set API key for empty URL', async () => { - EMPTY_VALUES.map(val => { - expect(() => { - setXApiKey(val, RPC_SERVER_API_KEY_1); - }).toThrow('Empty value provided'); - }); - }); - - test('set empty API key', async () => { - EMPTY_VALUES.map(val => { - expect(() => { - setXApiKey(RPC_SERVER_URL_1, val); - }).toThrow('Empty value provided'); - }); - }); - - test('get API key for empty value', async () => { - EMPTY_VALUES.map(val => { - expect(() => { - getXApiKey(val); - }).toThrow('Empty value provided'); - }); - }); -}); diff --git a/utils/check-credentials.js b/utils/check-credentials.js deleted file mode 100644 index 32e3354b..00000000 --- a/utils/check-credentials.js +++ /dev/null @@ -1,35 +0,0 @@ -const chalk = require('chalk'); -const { askYesNoQuestion } = require('./readline'); - -module.exports = async function checkCredentials( - accountId, - networkId, - keyStore -) { - if(networkId !== 'testnet' && networkId !== 'default') return; - if (!(await keyStore.getKey(networkId, accountId))) { - console.log( - chalk`{bold.white Unable to find [ {bold.blue ${networkId}} ] credentials for [ {bold.blue ${accountId}} ]...}` - ); - const testnetKeys = await keyStore.getKey('testnet', accountId); - const defaultKeys = await keyStore.getKey('default', accountId); - if (defaultKeys && networkId === 'testnet') { - const answer = await askYesNoQuestion( - chalk`{bold.white Key found in {bold.yellow deprecated} [ {bold.blue default} ] folder. Would you like to copy your key to [ {bold.blue testnet} ] folder? {bold.green (y/n)}}`, - false - ); - if (answer) { - console.log(chalk`{bold.white Copying key and attempting transaction...}`); - await keyStore.setKey('testnet', accountId, defaultKeys); - } else { - throw console.log( - chalk`{bold.white Please relocate credentials found in [ {bold.blue default} ] directory to [ {bold.blue testnet} ] directory using {bold.yellow near login}.}` - ); - } - } else if (testnetKeys && networkId === 'default') { - console.log( - chalk`{bold.white Key found in [ testnet ] folder but your command is configured to use {bold.yellow deprecated} [ default ] network. Please upgrade near-cli or change your project\'s config file. }` - ); - } - } -}; diff --git a/utils/connect.js b/utils/connect.js index 10523331..d1145caa 100644 --- a/utils/connect.js +++ b/utils/connect.js @@ -1,6 +1,8 @@ const { connect: nearConnect } = require('near-api-js'); +const { getConfig } = require('../config'); module.exports = async function connect({ keyStore, ...options }) { // TODO: Avoid need to wrap in deps - return await nearConnect({ ...options, deps: { keyStore }}); + const config = getConfig(options.networkId); + return await nearConnect({ ...options, ...config, deps: { keyStore } }); }; diff --git a/utils/create-dev-account.js b/utils/create-dev-account.js deleted file mode 100644 index 606f9ba4..00000000 --- a/utils/create-dev-account.js +++ /dev/null @@ -1,50 +0,0 @@ -const { KeyPair } = require('near-api-js'); -const { readFile, writeFile, mkdir } = require('fs').promises; -const { existsSync } = require('fs'); -const { PROJECT_KEY_DIR } = require('../middleware/key-store'); - - -module.exports = async function createDevAccountIfNeeded({ near, keyStore, networkId, init, projectKeyDirectory, masterAccount }) { - // TODO: once examples and create-near-app use the dev-account.env file, we can remove the creation of dev-account - // https://github.com/near/near-cli/issues/287 - const accountFilePath = `${projectKeyDirectory}/dev-account`; - const accountFilePathEnv = `${projectKeyDirectory}/dev-account.env`; - if (!init) { - try { - // throws if either file is missing - const existingAccountId = (await readFile(accountFilePath)).toString('utf8').trim(); - await readFile(accountFilePathEnv); - - if (existingAccountId && await keyStore.getKey(networkId, existingAccountId)) { - return existingAccountId; - } - } catch (e) { - if (e.code === 'ENOENT') { - // Create neardev directory, new account will be created below - if (!existsSync(PROJECT_KEY_DIR)) { - await mkdir(PROJECT_KEY_DIR); - } - } else { - throw e; - } - } - } - - let accountId; - // create random number with at least 14 digits - const randomNumber = Math.floor(Math.random() * (99999999999999 - 10000000000000) + 10000000000000); - - if (masterAccount) { - accountId = `dev-${Date.now()}.${masterAccount}`; - } else { - accountId = `dev-${Date.now()}-${randomNumber}`; - } - - const keyPair = await KeyPair.fromRandom('ed25519'); - await near.accountCreator.createAccount(accountId, keyPair.publicKey); - await keyStore.setKey(networkId, accountId, keyPair); - await writeFile(accountFilePath, accountId); - // write file to be used by env-cmd - await writeFile(accountFilePathEnv, `CONTRACT_NAME=${accountId}`); - return accountId; -}; diff --git a/utils/credentials.js b/utils/credentials.js new file mode 100644 index 00000000..10ba9a59 --- /dev/null +++ b/utils/credentials.js @@ -0,0 +1,25 @@ +const chalk = require('chalk'); + +async function assertCredentials(accountId, networkId, keyStore) { + + const key = await keyStore.getKey(networkId, accountId); + if(key) return; + + console.error(chalk`You are trying to use the account {bold.white ${accountId}}, but do not have the credentials locally (network: {bold.white ${networkId}})`); + process.exit(1); +} + +async function storeCredentials(accountId, networkId, keyStore, keyPair, force) { + const key = await keyStore.getKey(networkId, accountId); + + if(key && !force){ + console.log(chalk`The account {bold.white ${accountId}} already has local credentials (network: {bold.white ${networkId}})`); + return; + } + + console.log(chalk`Storing credentials for account: {bold.white ${accountId}} (network: {bold.white ${networkId}})`); + console.log(`Saving key to '~/.near-credentials/${networkId}/${accountId}.json'`); + await keyStore.setKey(networkId, accountId, keyPair); +} + +module.exports = {assertCredentials, storeCredentials}; \ No newline at end of file diff --git a/utils/deprecation-warning.js b/utils/deprecation-warning.js deleted file mode 100644 index 24f114e4..00000000 --- a/utils/deprecation-warning.js +++ /dev/null @@ -1,5 +0,0 @@ -const chalk = require('chalk'); - -module.exports = { - evmDeprecated: chalk`{bold.white EVM support has been {bold.yellow deprecated} from [ {bold.green near-cli} ] and relocated to Project Aurora's [ {bold.blue aurora-cli} ]. More info @ {bold.blue http://github.com/aurora-is-near/aurora-cli}}`, -}; diff --git a/utils/error-handlers.js b/utils/error-handlers.js deleted file mode 100644 index 5ad8d65d..00000000 --- a/utils/error-handlers.js +++ /dev/null @@ -1,6 +0,0 @@ -const chalk = require('chalk'); - -module.exports = function handleExceededThePrepaidGasError(error, options) { - console.log(chalk.bold(`\nTransaction ${error.transaction_outcome.id} had ${options.gas} of attached gas but used ${error.transaction_outcome.outcome.gas_burnt} of gas`)); - console.log('View this transaction in explorer:', chalk.blue(`https://explorer.${options.networkId}.near.org/transactions/${error.transaction_outcome.id}`)); -}; \ No newline at end of file diff --git a/utils/eventtracking.js b/utils/eventtracking.js deleted file mode 100644 index c5c14e0f..00000000 --- a/utils/eventtracking.js +++ /dev/null @@ -1,134 +0,0 @@ -const SEGMENT_WRITE_KEY = 'ePJM5UVxZGUxLP9dH2wGDvUE7hC2MbTX'; - -const Analytics = require('analytics-node'); -const chalk = require('chalk'); // colorize output -const crypto = require('crypto'); -const near_cli_version = require('../package.json').version; -const settings = require('./settings'); -const { askYesNoQuestion } = require('./readline'); -const uuid = require('uuid'); - -const analytics = new Analytics(SEGMENT_WRITE_KEY); - -const isGitPod = () => { - return !!process.env.GITPOD_WORKSPACE_URL; -}; - -const getGitPodUserHash = () => { - if (!process.env.GITPOD_GIT_USER_EMAIL) { - return null; - } - return crypto - .createHash('sha256') - .update(process.env.GITPOD_GIT_USER_EMAIL, 'utf8') - .digest('hex') - .toString(); -}; - -const shouldOptInByDefault = () => { - return isGitPod(); -}; - -const shouldTrack = (shellSettings) => { - if (shouldOptInByDefault()) { - return true; - } - - return !!shellSettings.trackingEnabled; -}; - -const shouldTrackID = (shellSettings) => { - return !!shellSettings.trackingAccountID; -}; - -const getSegmentID = (shellSettings) => isGitPod() ? getGitPodUserHash() : shellSettings.trackingSessionId; - -const track = async (eventType, eventProperties, options) => { - try { - const shellSettings = settings.getShellSettings(); - if (!shouldTrack(shellSettings)) { - return; - } - - if (options.accountId && shouldTrackID(shellSettings)) { - const accountID = options.accountId; - const id = getSegmentID(shellSettings); - analytics.alias({ previousId: accountID, userId: id }); - } - - const user_country = await getUserCountry(); - - const segmentProperties = { - distinct_id: getSegmentID(shellSettings), - near_cli_version, - user_country, - os: process.platform, - network_id: options.networkId === 'default' ? 'testnet' : options.networkId, - node_url: options.nodeUrl, - wallet_url: options.walletUrl, - is_gitpod: isGitPod(), - timestamp: new Date() - }; - Object.assign(segmentProperties, eventProperties); - analytics.track({ - userId: segmentProperties.distinct_id, - event: eventType, - properties: segmentProperties - }); - analytics.identify({ - userId: segmentProperties.distinct_id, - traits: { - deployed_contracts: 0, - network_id: options.networkId, - node_url: options.nodeUrl - } - }); - } catch (e) { - console.warn( - 'Warning: problem while sending developer event tracking data. This is not critical. Error: ', - e - ); - } -}; - -async function getUserCountry() { - return fetch('https://ipinfo.io/json').then( - (response) => response.json() - ).then( - (jsonResponse) => jsonResponse.country - ).catch(error => console.log(`Failed to get the country due to: ${error}`)); -} - -const getEventTrackingConsent = async () => { - return askYesNoQuestion( - chalk`Please help us to collect data on near-cli usage to improve developer experience. ` + - chalk`\nWe will never send private information. We collect which commands are run with attributes, your account ID, and your country` + - chalk`\nNote that your account ID and all associated on-chain transactions are already being recorded on public blockchain. ` + - chalk`\n\n{bold.yellow Would you like to opt in (y/n)? }`); -}; - -const askForConsentIfNeeded = async (options) => { - const shellSettings = settings.getShellSettings(); - // if the appropriate option is not in settings, ask now and save settings. - if (shellSettings.trackingEnabled === undefined || shellSettings.trackingAccountID === undefined) { - shellSettings.trackingEnabled = shouldOptInByDefault() || (await getEventTrackingConsent()); - shellSettings.trackingAccountID = shellSettings.trackingEnabled; - shellSettings.trackingSessionId = shellSettings.trackingEnabled ? uuid.v4() : undefined; - settings.saveShellSettings(shellSettings); - if (shellSettings.trackingEnabled) { - await track(module.exports.EVENT_ID_TRACKING_OPT_IN, {}, options); - } - } -}; - -module.exports = { - track, - askForConsentIfNeeded, - // Some of the event ids are auto-generated runtime with the naming convention event_id_shell_{command}_start - - EVENT_ID_CREATE_ACCOUNT_END: 'event_id_shell_create-account_end', - EVENT_ID_TRACKING_OPT_IN: 'event_id_tracking_opt_in', - EVENT_ID_LOGIN_END: 'event_id_shell_login_end', - EVENT_ID_DEPLOY_END: 'event_id_shell_deploy_end', - EVENT_ID_ERROR: 'event_id_shell_error', -}; diff --git a/utils/exit-on-error.js b/utils/exit-on-error.js deleted file mode 100644 index d1061f65..00000000 --- a/utils/exit-on-error.js +++ /dev/null @@ -1,59 +0,0 @@ -const eventtracking = require('./eventtracking'); -const inspectResponse = require('./inspect-response'); - -/* `yargs` puts rich objects on the `options` object, which could include sensitive data (like a keystore!). - * This ensures we only put explicit, known non-private data that is relevant to tracking into the environment - * when we run `log-event.js` - */ -function getNonPrivateDataFromCmdlineOpts(options) { - return { - accountId: options.accountId, - networkId: options.networkId, - nodeUrl: options.nodeUrl, - walletUrl: options.walletUrl, - }; -} - -// This is a workaround to get Segment to log a crash -process.on('exit', () => { - const crashEventProperties = { - near_cli_command: process.env.NEAR_CLI_ERROR_LAST_COMMAND, - error_message: process.env.NEAR_CLI_LAST_ERROR - }; - require('child_process').fork(__dirname + '/log-event.js', ['node'], { - silent: true, - detached: true, - env: { - NEAR_CLI_EVENT_ID: eventtracking.EVENT_ID_ERROR, - NEAR_CLI_EVENT_DATA: JSON.stringify(crashEventProperties), - NEAR_CLI_OPTIONS: process.env.NEAR_CLI_OPTIONS - } - }); -}); - -module.exports = (promiseFn) => async (...args) => { - const command = args[0]['_']; - process.env.NEAR_CLI_ERROR_LAST_COMMAND = command; - process.env.NEAR_CLI_NETWORK_ID = require('../get-config')()['networkId']; - const options = args[0]; - const optionsAsStr = JSON.stringify(getNonPrivateDataFromCmdlineOpts(options)); - const eventId = `event_id_shell_${command}_start`; - require('child_process').fork(__dirname + '/log-event.js', ['node'], { - silent: true, - detached: true, - env: { - NEAR_CLI_EVENT_ID: eventId, - NEAR_CLI_EVENT_DATA: JSON.stringify({}), - NEAR_CLI_OPTIONS: optionsAsStr - } - }); - const promise = promiseFn.apply(null, args); - try { - await promise; - } catch (e) { - process.env.NEAR_CLI_LAST_ERROR = e.message; - process.env.NEAR_CLI_OPTIONS = optionsAsStr; - inspectResponse.prettyPrintError(e, options); - process.exit(1); - } -}; \ No newline at end of file diff --git a/utils/explorer.js b/utils/explorer.js deleted file mode 100644 index bb71fc86..00000000 --- a/utils/explorer.js +++ /dev/null @@ -1,22 +0,0 @@ -// Handle functionality related to explorer - -const generateTransactionUrl = (txnId, options) => { - if (!txnId || !options) { - return null; - } - const explorerUrl = options.explorerUrl; - return explorerUrl ? `${explorerUrl}/transactions/${txnId}` : null; -}; - -const printTransactionUrl = (txnId, options) => { - const txnUrl = generateTransactionUrl(txnId, options); - if (txnUrl) { - console.log('To see the transaction in the transaction explorer, please open this url in your browser'); - console.log(txnUrl); - } -}; - -module.exports = { - generateTransactionUrl, - printTransactionUrl, -}; \ No newline at end of file diff --git a/utils/implicit-accountid.js b/utils/implicit-accountid.js deleted file mode 100644 index 304607d0..00000000 --- a/utils/implicit-accountid.js +++ /dev/null @@ -1,5 +0,0 @@ -const { decode } = require('bs58'); - -module.exports = (publicKey) => { - return decode(publicKey.replace('ed25519:', '')).toString('hex'); -}; diff --git a/utils/inspect-response.js b/utils/inspect-response.js index 855183dd..5c5053ed 100644 --- a/utils/inspect-response.js +++ b/utils/inspect-response.js @@ -1,50 +1,14 @@ -const explorer = require('./explorer'); -const config = require('../get-config')(); -const chalk = require('chalk'); // colorize output const util = require('util'); - -const checkForAccDoesNotExist = (error, options) => { - if(!String(error).includes('does not exist while viewing')) return false; - - const suffixesToNetworks = {near:'mainnet', testnet:'testnet', betanet:'betanet'}; - - // contactName used for 'view' command, instead of accountId - // below is optional approach, but "alias" in command options is better - // const accountId = (options.accountId)? options.accountId : options.contractName; - const currentNetwork = config.helperAccount; - console.log(chalk`\n{bold.red Account {bold.white ${options.accountId}} is not found in {bold.white ${config.networkId}}\n}`); - const accSuffix = String(options.accountId).match('[^.]*$')[0]; - const accNetwork = suffixesToNetworks[accSuffix]; - if (currentNetwork != accSuffix && accNetwork) { - console.log(chalk`{bold.white Use export NEAR_ENV=${accNetwork} to use ${accNetwork} accounts. \n}`); - } - - return true; -}; - const prettyPrintResponse = (response, options) => { if (options.verbose) { console.log(formatResponse(response)); } const txnId = getTxnId(response); if (txnId) { + const prefix = options.networkId === 'mainnet' ? 'www' : 'testnet'; console.log(`Transaction Id ${txnId}`); - explorer.printTransactionUrl(txnId, options); - } -}; - -const prettyPrintError = (error, options) => { - if (checkForAccDoesNotExist(error, options)) return; - - console.error('An error occured'); - console.error(error.stack); - console.error(formatResponse(error)); - const txnId = getTxnIdFromError(error); - if (txnId) { - console.log(`We attempted to send transaction ${txnId} to NEAR, but something went wrong.`); - explorer.printTransactionUrl(txnId, options); - console.log('Note: if the transaction was invalid (e.g. not enough balance), it will show as "Not started" or "Finalizing"'); + console.log(`Open the explorer for more info: https://${prefix}.nearblocks.io/txns/${txnId}`); } }; @@ -57,25 +21,6 @@ const formatResponse = (response) => { }); }; -const getTxnIdFromError = (error) => { - // Currently supported error format: - // { - // [stack]: 'Error: Sender jane.betanet does not have enough balance 45000000521675913419670000 for operation costing 1000000000002265303009375000\n' + - // ... - // [message]: 'Sender jane.betanet does not have enough balance 45000000521675913419670000 for operation costing 1000000000002265303009375000', - // type: 'NotEnoughBalance', - // context: ErrorContext { - // transactionHash: 'FyavUCyvZ5G1JLTdnXSZd3VoaFEaGRXnmDFwhmNeaVC6' - // }, - // balance: '45000000521675913419670000', - // cost: '1000000000002265303009375000', - // signer_id: 'jane.betanet' - // } - - if (!error || !error.context) return null; - return error.context.transactionHash; -}; - const getTxnId = (response) => { // Currently supported response format: //{ @@ -92,7 +37,6 @@ const getTxnId = (response) => { module.exports = { prettyPrintResponse, - prettyPrintError, formatResponse, getTxnId, -}; +}; \ No newline at end of file diff --git a/utils/log-event.js b/utils/log-event.js deleted file mode 100644 index 0ef05fb5..00000000 --- a/utils/log-event.js +++ /dev/null @@ -1,6 +0,0 @@ -const eventtracking = require('./eventtracking'); - -eventtracking.track( - process.env.NEAR_CLI_EVENT_ID, - JSON.parse(process.env.NEAR_CLI_EVENT_DATA), - JSON.parse(process.env.NEAR_CLI_OPTIONS)); \ No newline at end of file diff --git a/utils/readline.js b/utils/readline.js index 606df85a..e9605a95 100644 --- a/utils/readline.js +++ b/utils/readline.js @@ -1,6 +1,6 @@ const readline = require('readline'); -const askYesNoQuestion = async (question, defaultResponse = false) => { +const askYesNoQuestion = async (question, defaultResponse = false) => { const rl = readline.createInterface({ input: process.stdin, output: process.stdout, diff --git a/utils/settings.js b/utils/settings.js deleted file mode 100644 index 4fe16b3e..00000000 --- a/utils/settings.js +++ /dev/null @@ -1,45 +0,0 @@ -const fs = require('fs'); -const homedir = require('os').homedir(); -const path = require('path'); - - -// Persistent shell settings -const SETTINGS_FILE_NAME = 'settings.json'; -const SETTINGS_DIR = '.near-config'; - -const getShellSettings = () => { - const nearPath = path.join(homedir, SETTINGS_DIR); - try { - if (!fs.existsSync(nearPath)) { - fs.mkdirSync(nearPath); - } - const shellSettingsPath = path.join(nearPath, SETTINGS_FILE_NAME); - if (!fs.existsSync(shellSettingsPath)) { - return {}; - } else { - return JSON.parse(fs.readFileSync(shellSettingsPath, 'utf8')); - } - } catch (e) { - console.log(e); - } - return {}; -}; - -const saveShellSettings = (settings) => { - const nearPath = path.join(homedir, SETTINGS_DIR); - try { - if (!fs.existsSync(nearPath)) { - fs.mkdirSync(nearPath); - } - const shellSettingsPath = path.join(nearPath, SETTINGS_FILE_NAME); - const indentationSize = 4; - fs.writeFileSync(shellSettingsPath, JSON.stringify(settings, null, indentationSize)); - } catch (e) { - console.log(e); - } -}; - -module.exports = { - getShellSettings, - saveShellSettings -}; \ No newline at end of file diff --git a/utils/validators-info.js b/utils/validators-info.js deleted file mode 100644 index c6e91fcf..00000000 --- a/utils/validators-info.js +++ /dev/null @@ -1,121 +0,0 @@ -const { validators, utils } = require('near-api-js'); -const BN = require('bn.js'); -const AsciiTable = require('ascii-table'); - -async function validatorsInfo(near, blockNumberOrHash) { - // converts block number to integer - if (blockNumberOrHash && !isNaN(Number(blockNumberOrHash))) { - blockNumberOrHash = Number(blockNumberOrHash); - } - const genesisConfig = await near.connection.provider.sendJsonRpc('EXPERIMENTAL_genesis_config', {}); - const protocolConfig = await near.connection.provider.sendJsonRpc('EXPERIMENTAL_protocol_config', { 'finality': 'final' }); - const result = await near.connection.provider.sendJsonRpc('validators', [blockNumberOrHash]); - result.genesisConfig = genesisConfig; - result.protocolConfig = protocolConfig; - result.numSeats = genesisConfig.num_block_producer_seats + genesisConfig.avg_hidden_validator_seats_per_shard.reduce((a, b) => a + b); - return result; -} - -async function showValidatorsTable(near, blockNumberOrHash) { - const result = await validatorsInfo(near, blockNumberOrHash); - const seatPrice = validators.findSeatPrice( - result.current_validators, - result.numSeats, - result.genesisConfig.minimum_stake_ratio, - result.protocolConfig.protocol_version); - result.current_validators = result.current_validators.sort((a, b) => -new BN(a.stake).cmp(new BN(b.stake))); - var validatorsTable = new AsciiTable(); - validatorsTable.setHeading('Validator Id', 'Stake', '# Seats', '% Online', 'Blocks produced', 'Blocks expected', 'Chunks produced', 'Chunks expected'); - console.log(`Validators (total: ${result.current_validators.length}, seat price: ${utils.format.formatNearAmount(seatPrice, 0)}):`); - result.current_validators.forEach((validator) => { - validatorsTable.addRow( - validator.account_id, - utils.format.formatNearAmount(validator.stake, 0), - getNumberOfSeats(result.protocolConfig.protocol_version, validator.stake, seatPrice), - `${Math.floor((validator.num_produced_blocks + validator.num_produced_chunks) / (validator.num_expected_blocks + validator.num_expected_chunks) * 10000) / 100}%`, - validator.num_produced_blocks, - validator.num_expected_blocks, - validator.num_produced_chunks, - validator.num_expected_chunks); - }); - console.log(validatorsTable.toString()); -} - -async function showNextValidatorsTable(near) { - const result = await validatorsInfo(near, null); - const nextSeatPrice = validators.findSeatPrice( - result.next_validators, - result.numSeats, - result.genesisConfig.minimum_stake_ratio, - result.protocolConfig.protocol_version); - result.next_validators = result.next_validators.sort((a, b) => -new BN(a.stake).cmp(new BN(b.stake))); - const diff = validators.diffEpochValidators(result.current_validators, result.next_validators); - console.log(`\nNext validators (total: ${result.next_validators.length}, seat price: ${utils.format.formatNearAmount(nextSeatPrice, 0)}):`); - let nextValidatorsTable = new AsciiTable(); - nextValidatorsTable.setHeading('Status', 'Validator', 'Stake', '# Seats'); - diff.newValidators.forEach((validator) => nextValidatorsTable.addRow( - 'New', - validator.account_id, - utils.format.formatNearAmount(validator.stake, 0), - getNumberOfSeats(result.protocolConfig.protocol_version, validator.stake, nextSeatPrice))); - diff.changedValidators.forEach((changeValidator) => nextValidatorsTable.addRow( - 'Rewarded', - changeValidator.next.account_id, - `${utils.format.formatNearAmount(changeValidator.current.stake, 0)} -> ${utils.format.formatNearAmount(changeValidator.next.stake, 0)}`, - getNumberOfSeats(result.protocolConfig.protocol_version, changeValidator.next.stake, nextSeatPrice))); - diff.removedValidators.forEach((validator) => nextValidatorsTable.addRow('Kicked out', validator.account_id, '-', '-')); - console.log(nextValidatorsTable.toString()); -} - -function combineValidatorsAndProposals(validators, proposalsMap) { - // TODO: filter out all kicked out validators. - let result = validators.filter((validator) => !proposalsMap.has(validator.account_id)); - return result.concat([...proposalsMap.values()]); -} - -async function showProposalsTable(near) { - const result = await validatorsInfo(near, null); - let currentValidators = new Map(); - result.current_validators.forEach((v) => currentValidators.set(v.account_id, v)); - let proposals = new Map(); - result.current_proposals.forEach((p) => proposals.set(p.account_id, p)); - const combinedProposals = combineValidatorsAndProposals(result.current_validators, proposals); - const expectedSeatPrice = validators.findSeatPrice( - combinedProposals, - result.numSeats, - result.genesisConfig.minimum_stake_ratio, - result.protocolConfig.protocol_version); - const combinedPassingProposals = combinedProposals.filter((p) => new BN(p.stake).gte(expectedSeatPrice)); - console.log(`Proposals for the epoch after next (new: ${proposals.size}, passing: ${combinedPassingProposals.length}, expected seat price = ${utils.format.formatNearAmount(expectedSeatPrice, 0)})`); - const proposalsTable = new AsciiTable(); - proposalsTable.setHeading('Status', 'Validator', 'Stake => New Stake', '# Seats'); - combinedProposals.sort((a, b) => -new BN(a.stake).cmp(new BN(b.stake))).forEach((proposal) => { - let kind = ''; - if (new BN(proposal.stake).gte(expectedSeatPrice)) { - kind = proposals.has(proposal.account_id) ? 'Proposal(Accepted)' : 'Rollover'; - } else { - kind = proposals.has(proposal.account_id) ? 'Proposal(Declined)' : 'Kicked out'; - } - let stake_fmt = utils.format.formatNearAmount(proposal.stake, 0); - if (currentValidators.has(proposal.account_id) && proposals.has(proposal.account_id)) { - stake_fmt = `${utils.format.formatNearAmount(currentValidators.get(proposal.account_id).stake, 0)} => ${stake_fmt}`; - } - proposalsTable.addRow( - kind, - proposal.account_id, - stake_fmt, - getNumberOfSeats(result.protocolConfig.protocol_version, proposal.stake, expectedSeatPrice) - ); - }); - console.log(proposalsTable.toString()); - console.log('Expected seat price is calculated based on observed so far proposals and validators.'); - console.log('It can change from new proposals or some validators going offline.'); - console.log('Note: this currently doesn\'t account for offline kickouts and rewards for current epoch'); -} - -// starting from protocol version 49 each validator has 1 seat -function getNumberOfSeats(protocolVersion, stake, seatPrice) { - return protocolVersion < 49 ? new BN(stake).div(seatPrice) : new BN(1); -} - -module.exports = { showValidatorsTable, showNextValidatorsTable, showProposalsTable }; \ No newline at end of file diff --git a/utils/x-api-key-settings.js b/utils/x-api-key-settings.js deleted file mode 100644 index f639fef1..00000000 --- a/utils/x-api-key-settings.js +++ /dev/null @@ -1,26 +0,0 @@ -const { saveShellSettings, getShellSettings } = require('./settings'); - -function setXApiKey(rpcServerUrl, xApiKey) { - if (!rpcServerUrl || !xApiKey) { - throw new Error('Empty value provided'); - } - let shellSettings = getShellSettings(); - if (!shellSettings.rpcServerApiKeys) { - shellSettings.rpcServerApiKeys = {}; - } - shellSettings.rpcServerApiKeys[rpcServerUrl] = xApiKey; - saveShellSettings(shellSettings); -} - -function getXApiKey(rpcServerUrl) { - if (!rpcServerUrl) { - throw new Error('Empty value provided'); - } - const rpcServerApiKeys = getShellSettings().rpcServerApiKeys; - return rpcServerApiKeys ? rpcServerApiKeys[rpcServerUrl] : undefined; -} - -module.exports = { - getXApiKey, - setXApiKey, -}; diff --git a/yarn.lock b/yarn.lock index 457b1ffb..43960d44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" @@ -16,12 +9,19 @@ dependencies: "@babel/highlight" "^7.12.13" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.13.15": version "7.14.0" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz" integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== -"@babel/core@^7.1.0", "@babel/core@^7.7.5": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.14.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz" integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== @@ -704,6 +704,24 @@ dependencies: "@octokit/types" "^6.0.3" +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@>=3": + version "5.0.2" + resolved "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz" + integrity sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.0.0" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + "@octokit/endpoint@^6.0.1": version "6.0.12" resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" @@ -713,6 +731,28 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" +"@octokit/endpoint@^9.0.0": + version "9.0.4" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz" + integrity sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw== + dependencies: + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^7.0.0": + version "7.0.2" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz" + integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== + dependencies: + "@octokit/request" "^8.0.1" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^19.1.0": + version "19.1.0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz" + integrity sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw== + "@octokit/openapi-types@^9.1.0": version "9.1.0" resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.0.tgz" @@ -756,6 +796,15 @@ deprecation "^2.0.0" once "^1.4.0" +"@octokit/request-error@^5.0.0": + version "5.0.1" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz" + integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== + dependencies: + "@octokit/types" "^12.0.0" + deprecation "^2.0.0" + once "^1.4.0" + "@octokit/request@^5.2.0": version "5.6.0" resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz" @@ -768,6 +817,26 @@ node-fetch "^2.6.1" universal-user-agent "^6.0.0" +"@octokit/request@^8.0.1": + version "8.1.6" + resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" + integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/request@^8.0.2": + version "8.1.6" + resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" + integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + "@octokit/rest@^16.43.1": version "16.43.2" resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz" @@ -790,7 +859,21 @@ once "^1.4.0" universal-user-agent "^4.0.0" -"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": +"@octokit/types@^12.0.0": + version "12.4.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz" + integrity sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ== + dependencies: + "@octokit/openapi-types" "^19.1.0" + +"@octokit/types@^2.0.0": + version "2.16.2" + resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" + integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== + dependencies: + "@types/node" ">= 8" + +"@octokit/types@^2.0.1": version "2.16.2" resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== @@ -934,16 +1017,16 @@ resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== -"@types/node@11.11.6": - version "11.11.6" - resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== - "@types/node@>= 8": version "16.4.0" resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" @@ -1013,7 +1096,7 @@ acorn-walk@^8.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.1.1, acorn@^7.4.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -1028,7 +1111,7 @@ acorn@^8.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== -agent-base@4, agent-base@^4.3.0: +agent-base@^4.3.0, agent-base@4: version "4.3.0" resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== @@ -1210,7 +1293,7 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -assert-plus@1.0.0, assert-plus@^1.0.0: +assert-plus@^1.0.0, assert-plus@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= @@ -1345,11 +1428,6 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - base@^0.11.1: version "0.11.2" resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" @@ -1363,6 +1441,11 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" @@ -1370,7 +1453,7 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^2.0.0: +before-after-hook@^2.0.0, before-after-hook@^2.2.0: version "2.2.2" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== @@ -1409,7 +1492,7 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bn.js@5.2.0, bn.js@^5.1.1, bn.js@^5.2.0: +bn.js@^5.1.1, bn.js@^5.2.0, bn.js@5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== @@ -1568,7 +1651,12 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0, camelcase@^6.2.0: +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +camelcase@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -1595,7 +1683,16 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.3.0: +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.3.0: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1727,16 +1824,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + colorette@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" @@ -1808,7 +1905,7 @@ core-js@^2.6.5: resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0, core-util-is@1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -1824,7 +1921,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@1.1.7, create-hmac@^1.1.4: +create-hmac@^1.1.4, create-hmac@1.1.7: version "1.1.7" resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -1946,21 +2043,14 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3: +debug@^2.3.3: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1974,6 +2064,20 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" @@ -2449,7 +2553,15 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0, extend-shallow@^3.0.2: +extend-shallow@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= @@ -2476,16 +2588,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -2639,7 +2751,7 @@ fs.realpath@^1.0.0: fsevents@^2.1.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: @@ -2698,7 +2810,14 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -3047,21 +3166,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" @@ -3303,7 +3422,7 @@ is2@^2.0.6: ip-regex "^4.1.0" is-url "^1.2.4" -isarray@1.0.0, isarray@~1.0.0: +isarray@~1.0.0, isarray@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -3621,7 +3740,7 @@ jest-resolve-dependencies@^26.6.3: jest-regex-util "^26.0.0" jest-snapshot "^26.6.2" -jest-resolve@^26.6.2: +jest-resolve@*, jest-resolve@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== @@ -3972,7 +4091,17 @@ kind-of@^5.0.0: resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kind-of@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -3990,7 +4119,7 @@ ky-universal@^0.3.0: abort-controller "^3.0.0" node-fetch "^2.6.0" -ky@^0.12.0: +ky@^0.12.0, ky@>=0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz" integrity sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ== @@ -4251,7 +4380,26 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^3.1.4: version "3.1.10" resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -4344,21 +4492,21 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -ms@2.0.0, ms@^2.0.0: +ms@^2.0.0, ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.1: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + mustache@^4.0.0: version "4.2.0" resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" @@ -4391,11 +4539,6 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -ncp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" - integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= - near-api-js@^0.44.2: version "0.44.2" resolved "https://registry.npmjs.org/near-api-js/-/near-api-js-0.44.2.tgz" @@ -4455,22 +4598,22 @@ node-abi@^2.21.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" -node-addon-api@3.0.2: - 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-addon-api@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz" integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== +node-addon-api@3.0.2: + 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-cleanup@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-fetch@2.6.1, node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@2.6.1: version "2.6.1" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -4809,7 +4952,12 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -5016,6 +5164,13 @@ quick-lru@^4.0.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +random-words@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/random-words/-/random-words-2.0.0.tgz" + integrity sha512-uqpnDqFnYrZajgmvgjmBrSZL2V1UA/9bNPGrilo12CmBeBszoff/avElutUlwWxG12gvmCk/8dUhvHefYxzYjw== + dependencies: + seedrandom "^3.0.5" + randombytes@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -5160,7 +5315,7 @@ request-promise-native@^1.0.9: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.88.2: +request@^2.34, request@^2.88.2: version "2.88.2" resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -5292,7 +5447,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -5319,6 +5474,11 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" +seedrandom@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== + semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" @@ -5326,12 +5486,32 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +semver@^5.4.1: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -5343,6 +5523,11 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" @@ -5492,7 +5677,12 @@ source-map-url@^0.4.0: resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.5.6: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -5600,6 +5790,20 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -5643,20 +5847,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - strip-ansi-cli@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi-cli/-/strip-ansi-cli-3.0.1.tgz" @@ -5733,7 +5923,14 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.0.0, supports-color@^5.3.0: +supports-color@^5.0.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -5929,7 +6126,7 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -ts-node@^10.4.0: +ts-node@^10.4.0, ts-node@>=9.0.0: version "10.9.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -5960,17 +6157,22 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl@1.0.3, tweetnacl@^1.0.1, tweetnacl@^1.0.2: +tweetnacl@^0.14.3: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +tweetnacl@^1.0.1, tweetnacl@^1.0.2, tweetnacl@1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: +tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -type-check@^0.4.0, type-check@~0.4.0: +type-check@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== @@ -5984,6 +6186,13 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -6021,7 +6230,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.5.4: +typescript@^4.5.4, typescript@>=2.7: version "4.7.4" resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== From 9914521d752224bd2339af3c55df1e2652d01b3e Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 10:54:48 +0100 Subject: [PATCH 02/20] chore: rename vars & add flag to key-generate --- commands/credentials/generate.js | 14 ++++++++++++-- config.js | 8 ++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/commands/credentials/generate.js b/commands/credentials/generate.js index 19a526cf..50d7769b 100644 --- a/commands/credentials/generate.js +++ b/commands/credentials/generate.js @@ -6,13 +6,18 @@ const { KeyPair } = require('near-api-js'); module.exports = { command: 'generate-key [account-id]', - desc: 'Create a key-pair (optionally, save it as credentials for an account)', + desc: 'Create and display a key-pair (optionally, save it as credentials for an account)', builder: (yargs) => yargs .option('fromSeedPhrase', { desc: 'generate key-pair from a seed phrase (e.g. "word-1 word-2 ... word-11 word-12")', type: 'string', required: false, }) + .option('saveImplicit', { + desc: 'Save the key as credentials for the implicit account', + type: 'boolean', + default: false + }) .option('networkId', { desc: 'Which network to use. Supports: mainnet, testnet', type: 'string', @@ -47,8 +52,13 @@ async function generateKey(options) { secret = secretKey; } + const keyPair = KeyPair.fromString(secret); if (options.accountId) { - const keyPair = KeyPair.fromString(secret); storeCredentials(options.accountId, options.networkId, options.keyStore, keyPair, options.force); } + + if (options.saveImplicit) { + const implicit = pKtoAccountId(keyPair.getPublicKey().toString()); + storeCredentials(implicit, options.networkId, options.keyStore, keyPair, options.force); + } } \ No newline at end of file diff --git a/config.js b/config.js index c874782a..af0d158e 100644 --- a/config.js +++ b/config.js @@ -7,8 +7,8 @@ function getConfig(env) { case 'mainnet': config = { networkId: 'mainnet', - nodeUrl: process.env.NEAR_RPC || 'https://rpc.mainnet.near.org', - walletUrl: process.env.NEAR_WALLET || 'https://app.mynearwallet.com', + nodeUrl: process.env.NEAR_MAINNET_RPC || 'https://rpc.mainnet.near.org', + walletUrl: process.env.NEAR_MAINNET_WALLET || 'https://app.mynearwallet.com', helperUrl: 'https://helper.mainnet.near.org', helperAccount: 'near', }; @@ -17,8 +17,8 @@ function getConfig(env) { case 'testnet': config = { networkId: 'testnet', - nodeUrl: process.env.TESTNET_RPC || 'https://rpc.testnet.near.org', - walletUrl: process.env.TESTNET_WALLET || 'https://testnet.mynearwallet.com', + nodeUrl: process.env.NEAR_TESTNET_RPC || 'https://rpc.testnet.near.org', + walletUrl: process.env.NEAR_TESTNET_WALLET || 'https://testnet.mynearwallet.com', helperUrl: 'https://helper.testnet.near.org', helperAccount: 'testnet', }; From 6c8544729cdeab26a496b06cb529cd8b7fef03d7 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 11:56:01 +0100 Subject: [PATCH 03/20] fix: added back masterAccount alias --- commands/account/create.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/account/create.js b/commands/account/create.js index 34b0286d..aebcc30f 100644 --- a/commands/account/create.js +++ b/commands/account/create.js @@ -20,7 +20,7 @@ module.exports = { }) .option('useAccount', { desc: 'Account that will request and fund creating the new account', - alias: ['accountId'], + alias: ['accountId', 'masterAccount'], type: 'string', required: false }) From 70a36979544d8f160e57abc6a08c1153a7b15db1 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 11:56:30 +0100 Subject: [PATCH 04/20] fix: added back seedPhrase alias --- commands/credentials/generate.js | 1 + 1 file changed, 1 insertion(+) diff --git a/commands/credentials/generate.js b/commands/credentials/generate.js index 50d7769b..62f2df86 100644 --- a/commands/credentials/generate.js +++ b/commands/credentials/generate.js @@ -9,6 +9,7 @@ module.exports = { desc: 'Create and display a key-pair (optionally, save it as credentials for an account)', builder: (yargs) => yargs .option('fromSeedPhrase', { + alias: 'seedPhrase', desc: 'generate key-pair from a seed phrase (e.g. "word-1 word-2 ... word-11 word-12")', type: 'string', required: false, From fdedb83eb1c5efb8c9d2a11bf3fbbf812c711357 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 11:56:47 +0100 Subject: [PATCH 05/20] fix: updated changelog and readme --- CHANGELOG.md | 15 + README.md | 1008 ++++++++++++++++++++++---------------------------- 2 files changed, 449 insertions(+), 574 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29c31f90..ac00488b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,21 @@ ## [unreleased] - ... +## `4.0.0` [01-23-2024] +- Reorganized code to simplify its maintenance. +- New: Fixed `create-account` can now create `TLA`, `sub-accounts` and `.testnet/.near` accounts. +- New: Added `--useFaucet` option to `create-account` command, allowing to fund the account using a faucet. +- Fix: Default wallet is now `MyNearWallet` install of `NearWallet` +- Fix: Removed unnecessary options from commands, e.g. `view` now does not take an `--accountId` or `--masterAccount`. +- Fix: Fixed `--networkId` flag, now it works in all relevant commands. +- Breaking: removed `x-api` option. +- Breaking: removed `stake` command. +- Breaking: removed all `evm` commands. +- Breaking: Removed all `Ledger` support. +- Breaking: removed all `validator` commands. +- Breaking: changed `generate-key` command. Now it needs the `--saveImplicit` flag to save the key. +- Breaking: removed `walletUrl`, `nodeUrl` and `helperUrl` options. + ## `3.0.0` [11-30-2021] - Breaking change: added prompts to `delete-key` command. [PR](https://github.com/near/near-cli/pull/890) - Breaking change: added prompts to `deploy` command. [PR](https://github.com/near/near-cli/pull/883) diff --git a/README.md b/README.md index b546937d..c25c5380 100644 --- a/README.md +++ b/README.md @@ -14,36 +14,28 @@ NEAR CLI is a Node.js application that relies on [`near-api-js`](https://github. _Click on a command for more information and examples._ -| Command | Description | -| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| **ACCESS KEYS** | | -| [`near login`](#near-login) | stores a full access key locally using [NEAR Wallet](https://wallet.testnet.near.org/) | -| [`near keys`](#near-keys) | displays all access keys and their details for a given account | -| [`near generate-key`](#near-generate-key) | generates a local key pair **or** shows public key & [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) | -| [`near add-key`](#near-add-key) | adds a new access key to an account | -| [`near delete-key`](#near-delete-key) | deletes an access key from an account | -| **ACCOUNTS** | | -| [`near create-account`](#near-create-account) | creates an account | -| [`near state`](#near-state) | shows general details of an account | -| [`near keys`](#near-keys) | displays all access keys for a given account | -| [`near send`](#near-send) | sends tokens from one account to another | -| [`near delete`](#near-delete) | deletes an account and transfers remaining balance to a beneficiary account | -| **CONTRACTS** | | -| [`near deploy`](#near-deploy) | deploys a smart contract to the NEAR blockchain | -| [`near dev-deploy`](#near-dev-deploy) | creates a development account and deploys a contract to it _(`testnet` only)_ | -| [`near call`](#near-call) | makes a contract call which can invoke `change` _or_ `view` methods | -| [`near view`](#near-view) | makes a contract call which can **only** invoke a `view` method | -| **TRANSACTIONS** | | -| [`near tx-status`](#near-tx-status) | queries a transaction's status by `txHash` | -| **VALIDATORS** | | -| [`near validators current`](#near-validators-current) | displays current [epoch](https://docs.near.org/concepts/basics/epoch) validator pool details | -| [`near validators next`](#near-validators-next) | displays validator details for the next [epoch](https://docs.near.org/concepts/basics/epoch) | -| [`near proposals`](#near-proposals) | displays validator proposals for the [epoch](http://docs.near.org/docs/concepts/epoch) _after_ next | -| **JS-SDK** | | -| [`near js`](#near-js) | Work with JS contract enclave | -| **REPL** | | -| [`near repl`](#near-repl) | launches an interactive connection to the NEAR blockchain ([REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)) | -| | can also run a JS/TS file which exports an async main function that takes a [context](./context/index.d.ts) object | +| Command | Description | +|-------------------------------------------------|-------------------------------------------------------------------------------------------| +| **ACCESS KEYS** | | +| [`near add-credentials`](#near-add-credentials) | Stores credentials for an account locally | +| [`near add-key`](#near-add-key) | adds a new access key to an account | +| [`near delete-key`](#near-delete-key) | deletes an access key from an account | +| [`near generate-key`](#near-generate-key) | generates a key pair and **optionally** stores it locally as credentials for an accountId | +| [`near list-keys`](#near-keys) | displays all access keys and their details for a given account | +| [`near login`](#near-login) | stores a full access key locally using [NEAR Wallet](https://wallet.testnet.near.org/) | +| **ACCOUNTS** | | +| [`near create-account`](#near-create-account) | creates a new account, either using a faucet to fund it, or an account saved locally | +| [`near delete-account`](#near-delete) | deletes an account and transfers remaining balance to a beneficiary account | +| [`near list-keys`](#near-keys) | displays all access keys for a given account | +| [`near send-near`](#near-send) | sends tokens from one account to another | +| [`near state`](#near-state) | shows general details of an account | +| **CONTRACTS** | | +| [`near call`](#near-call) | makes a contract call which can invoke `change` _or_ `view` methods | +| [`near deploy`](#near-deploy) | deploys a smart contract to the NEAR blockchain | +| [`near storage`](#near-storage) | Shows the storage state of a given contract, i.e. the data stored in a contract | +| [`near view`](#near-view) | makes a contract call which can **only** invoke a `view` method | +| **TRANSACTIONS** | | +| [`near tx-status`](#near-tx-status) | queries a transaction's status by `txHash` | [ [**OPTIONS**](#options) ] @@ -88,16 +80,22 @@ npm install -g near-cli > The default network for `near-cli` is `testnet`. -- You can change the network by prepending an environment variable to your command. +- You can change the network by prepending an environment variable to your command. ```bash -NEAR_ENV=betanet near send ... +NEAR_NETWORK=betanet near send ... ``` -- Alternatively, you can set up a global environment variable by running: +- Alternatively, you can set up a global environment variable by running: ```bash -export NEAR_ENV=mainnet +export NEAR_NETWORK=mainnet +``` + +- All commands that interact with the network also allow to pass the `--networkId` option. + +```bash +near send-near ... --networkId mainnet ``` --- @@ -105,206 +103,167 @@ export NEAR_ENV=mainnet ### Custom RPC server selection You can set custom RPC server URL by setting this env variables: ```bash -NEAR_CLI_MAINNET_RPC_SERVER_URL -NEAR_CLI_TESTNET_RPC_SERVER_URL -NEAR_CLI_BETANET_RPC_SERVER_URL -NEAR_CLI_GUILDNET_RPC_SERVER_URL -NEAR_CLI_LOCALNET_RPC_SERVER_URL -NEAR_CLI_SHARDNET_RPC_SERVER_URL -NEAR_CLI_CI_RPC_SERVER_URL +NEAR_MAINNET_RPC +NEAR_TESTNET_RPC ``` Clear them in case you want to get back to the default RPC server. Example: ```bash -export NEAR_CLI_TESTNET_RPC_SERVER_URL= +export NEAR_TESTNET_RPC= ``` --- -### RPC server API Keys -Some RPC servers may require that you provide a valid API key to use them. -You can set `x-api-key` for a server by running the next command: -```bash -near set-api-key -``` -This API Key will be saved in a config and used for each command you execute with this RPC URL. +## Access Keys ---- +All keys are stored locally at the root of your `HOME` directory: + - `~/.near-credentials` _(MAC / Linux)_ + - `C:\Users\YOUR_ACCOUNT\.near-credentials` _(Windows)_ -## Access Keys +Inside `.near-credentials`, access keys are organized in network subdirectories: `testnet`, and `mainnet`. -### `near login` +These network subdirectories contain `.JSON` objects with an: + - `account_id` + - `private_key` + - `public_key` -> locally stores a full access key of an account you created with [NEAR Wallet](https://wallet.testnet.near.org/). +--- -- arguments: `none` -- options: `default` +### `near add-credentials ` +> Stores credentials (full-access-key) locally for an already existing account. -**Example:** +- arguments: `accountId` +- options: `--seedPhrase` or `--secretKey` + +**Examples:** ```bash -near login +near add-credentials example-acct.testnet --seedPhrase "antique attitude say evolve ring arrive hollow auto wide bronze usual unfold" ``` -**Custom wallet url:** - -Default wallet url is `https://wallet.testnet.near.org/`. But if you want to change to a different wallet url, you can use `--walletUrl` option. -``` -near login --walletUrl https://testnet.mynearwallet.com/ +```bash +near add-credentials example-acct.testnet --secretKey "ed25519:4Ijd3vNUmdWJ4L922BxcsGN1aDrdpvUHEgqLQAUSLmL7S2qE9tYR9fqL6DqabGGDxCSHkKwdaAGNcHJ2Sfd" ``` -#### Access Key Location: - -- Once complete you will now have your Access Key stored locally in a hidden directory called `.near-credentials` - - - This directory is located at the root of your `HOME` directory: - - `~/.near-credentials` _(MAC / Linux)_ - - `C:\Users\YOUR_ACCOUNT\.near-credentials` _(Windows)_ - -- Inside `.near-credentials`, access keys are organized in network subdirectories: - - `default` _for `testnet`_ - - `betanet` - - `mainnet` -- These network subdirectories contain `.JSON` objects with an: - - `account_id` - - `private_key` - - `public_key` - -**Example:** +--- -```json -{ - "account_id": "example-acct.testnet", - "public_key": "ed25519:7ns2AZVaG8XZrFrgRw7g8qhgddNTN64Zkz7Eo8JBnV5g", - "private_key": "ed25519:4Ijd3vNUmdWJ4L922BxcsGN1aDrdpvUHEgqLQAUSLmL7S2qE9tYR9fqL6DqabGGDxCSHkKwdaAGNcHJ2Sfd" -} -``` +### `near add-key` ---- +> Adds either a **full access** or **function access** key to a given account. -### `near keys` +**Note:** You will use an _existing_ full access key for the account you would like to add a _new_ key to. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) -> Displays all access keys for a given account. +#### 1) add a `full access` key -- arguments: `accountId` -- options: `default` +- arguments: `accountId` `publicKey` **Example:** ```bash -near keys client.chainlink.testnet +near add-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S ```
- Example Response +Example Response

-``` -Keys for account client.chainlink.testnet -[ - { - public_key: 'ed25519:4wrVrZbHrurMYgkcyusfvSJGLburmaw7m3gmCApxgvY4', - access_key: { nonce: 97, permission: 'FullAccess' } - }, - { - public_key: 'ed25519:H9k5eiU4xXS3M4z8HzKJSLaZdqGdGwBG49o7orNC4eZW', - access_key: { - nonce: 88, - permission: { - FunctionCall: { - allowance: '18483247987345065500000000', - receiver_id: 'client.chainlink.testnet', - method_names: [ 'get_token_price', [length]: 1 ] - } - } - } - }, - [length]: 2 -] -``` + Adding full access key = Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S to example-acct.testnet. + Transaction Id EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg + To see the transaction in the transaction explorer, please open this url in your browser + https://testnet.nearblocks.io/txns/EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg

---- - -### `near generate-key` - -> Creates a key pair locally in `.near-credentials` **or** displays public key from Ledger or seed phrase. +#### 2) add a `function call` key -- arguments: `accountId` or `none` -- options: `--useLedgerKey`, `--seedPhrase`, or `--seedPath` - -**Note:** There are several ways to use `generate-key` that return very different results. Please reference the examples below for further details. +- arguments: `accountId` `publicKey` `--contract-id` +- options: `--method-names` `--allowance` ---- +> `accountId` is the account you are adding the key to +> +> `--contract-id` is the contract you are allowing methods to be called on +> +> `--method-names` are optional and if omitted, all methods of the `--contract-id` can be called. +> +> `--allowance` is the amount of Ⓝ the key is allowed to spend on gas fees _only_ (default: 0). -#### 1) `near generate-key` +**Note:** Each transaction made with this key will have gas fees deducted from the initial allowance and once it runs out a new key must be issued. -> Creates a key pair locally in `.near-credentials` with an [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) as the accountId. _(hash representation of the public key)_ +**Example:** ```bash -near generate-key +near add-key example-acct.testnet GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi --contract-id example-contract.testnet --method-names example_method --allowance 30000000000 ```
Example Response

-```bash -Key pair with ed25519:33Vn9VtNEtWQPPd1f4jf5HzJ5weLcvGHU8oz7o5UnPqy public key for an account "1e5b1346bdb4fc5ccd465f6757a9082a84bcacfd396e7d80b0c726252fe8b3e8" -``` + Adding function call access key = GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi to example-acct.testnet. + Transaction Id H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r + To see the transaction in the transaction explorer, please open this url in your browser + https://testnet.nearblocks.io/txns/H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r

--- -#### 2) `near generate-key accountId` +### `near delete-key` -> Creates a key pair locally in `.near-credentials` with an `accountId` that you specify. +> Deletes an existing key for a given account. + +- arguments: `accountId` `publicKey` +- options: `--networkId`, `force` + +**Note:** You will need separate full access key for the account you would like to delete a key from. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) -**Note:** This does NOT create an account with this name, and will overwrite an existing `.json` file with the same name. +**Example:** ```bash -near generate-key example.testnet +near delete-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S ```
Example Response

-```bash -Key pair with ed25519:CcH3oMEFg8tpJLekyvF7Wp49G81K3QLhGbaWEFwtCjht public key for an account "example.testnet" -``` + Transaction Id 4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT + To see the transaction in the transaction explorer, please open this url in your browser + https://testnet.nearblocks.io/txns/4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT

--- +### `near generate-key` -#### 3a) `near generate-key --useLedgerKey` +> Displays a key-pair and seed-phrase and optionally stores it locally in `.near-credentials`. -> Uses a connected Ledger device to display a public key and [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) using the default HD path (`"44'/397'/0'/0'/1'"`) +- arguments: `accountId` or `none` +- options: `--fromSeedPhrase`, `--saveImplicit` -```bash -near generate-key --useLedgerKey -``` +**Note:** There are several ways to use `generate-key` that return very different results. Please reference the examples below for further details. -You should then see the following prompt to confirm this request on your Ledger device: +--- + +#### 1a) `near generate-key` - Make sure to connect your Ledger and open NEAR app - Waiting for confirmation on Ledger... +> Creates and displays a key pair -After confirming the request on your Ledger device, a public key and implicit accountId will be displayed. +```bash +near generate-key +```
Example Response

```bash -Using public key: ed25519:B22RP10g695wyeRvKIWv61NjmQZEkWTMzAYgdfx6oSeB2 -Implicit account: 42c320xc20739fd9a6bqf2f89z61rd14efe5d3de234199bc771235a4bb8b0e1 +Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold +Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"} +Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411 ```

@@ -312,28 +271,25 @@ Implicit account: 42c320xc20739fd9a6bqf2f89z61rd14efe5d3de234199bc771235a4bb8b0e --- -#### 3b) `near generate-key --useLedgerKey="HD path you specify"` +#### 1b) `near generate-key --saveImplicit` -> Uses a connected Ledger device to display a public key and [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) using a custom HD path. +> Creates and displays a key pair, saving it locally in `.near-credentials` as an implicit account. ```bash -near generate-key --useLedgerKey="44'/397'/0'/0'/2'" +near generate-key --saveImplicit ``` -You should then see the following prompt to confirm this request on your Ledger device: - - Make sure to connect your Ledger and open NEAR app - Waiting for confirmation on Ledger... - -After confirming the request on your Ledger device, a public key and implicit accountId will be displayed. -
Example Response

```bash -Using public key: ed25519:B22RP10g695wye3dfa32rDjmQZEkWTMzAYgCX6oSeB2 -Implicit account: 42c320xc20739ASD9a6bqf2Dsaf289z61rd14efe5d3de23213789009afDsd5bb8b0e1 +Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold +Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"} +Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411 + +Storing credentials for account: 9d6e4506ac06ab66a25f6720e400ae26bad40ecbe07d49935e83c7bdba5034fa (network: testnet) +Saving key to '~/.near-credentials/testnet/9d6e4506ac06ab66a25f6720e400ae26bad40ecbe07d49935e83c7bdba5034fa.json' ```

@@ -341,132 +297,127 @@ Implicit account: 42c320xc20739ASD9a6bqf2Dsaf289z61rd14efe5d3de23213789009afDsd5 --- -#### 4a) `near generate-key --seedPhrase="your seed phrase"` +#### 2) `near generate-key accountId` -> Uses a seed phrase to display a public key and [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) +> Creates a key pair locally in `.near-credentials` with an `accountId` that you specify. + +**Note:** This does NOT create an account with this name. ```bash -near generate-key --seedPhrase="cow moon right send now cool dense quark pretty see light after" +near generate-key example.testnet ```
Example Response

- Key pair with ed25519:GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi public key for an account "e9fa50ac20522987a87e566fcd6febdc97bd35c8c489999ca8aff465c56969c3" +```bash +Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold +Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"} +Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411 + +Storing credentials for account: example.testnet (network: testnet) +Saving key to '~/.near-credentials/testnet/example.testnet.json' +```

--- -#### 4b) `near generate-key accountId --seedPhrase="your seed phrase"` +#### 3a) `near generate-key --fromSeedPhrase="your seed phrase"` -> Uses a seed phrase to display a public key **without** the [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts). +> Uses a seed phrase to display a public key and [implicit account](http://docs.near.org/docs/roles/integrator/implicit-accounts) ```bash -near generate-key example.testnet --seedPhrase="cow moon right send now cool dense quark pretty see light after" +near generate-key --seedPhrase="antique attitude say evolve ring arrive hollow auto wide bronze usual unfold" ```
Example Response -

- Key pair with ed25519:GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi public key for an account "example.testnet" +``` +Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold +Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"} +Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411 +``` -

--- -### `near add-key` - -> Adds an either a **full access** or **function access** key to a given account. - -**Note:** You will use an _existing_ full access key for the account you would like to add a _new_ key to. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) - -#### 1) add a `full access` key - -- arguments: `accountId` `publicKey` - -**Example:** - -```bash -near add-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S -``` - -
-Example Response -

- - Adding full access key = Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S to example-acct.testnet. - Transaction Id EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg - To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg +#### 3b) `near generate-key accountId --seedPhrase="your seed phrase"` -

-
+Will store the key pair corresponding to the seedPhrase in `.near-credentials` with an `accountId` that you specify. -#### 2) add a `function access` key +--- -- arguments: `accountId` `publicKey` `--contract-id` -- options: `--method-names` `--allowance` +### `near list-keys` -> `accountId` is the account you are adding the key to -> -> `--contract-id` is the contract you are allowing methods to be called on -> -> `--method-names` are optional and if omitted, all methods of the `--contract-id` can be called. -> -> `--allowance` is the amount of Ⓝ the key is allowed to spend on gas fees _only_. If omitted then key will only be able to call view methods. +> Displays all access keys for a given account. -**Note:** Each transaction made with this key will have gas fees deducted from the initial allowance and once it runs out a new key must be issued. +- arguments: `accountId` **Example:** ```bash -near add-key example-acct.testnet GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi --contract-id example-contract.testnet --method-names example_method --allowance 30000000000 +near list-keys client.chainlink.testnet ```
-Example Response + Example Response

- Adding function call access key = GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi to example-acct.testnet. - Transaction Id H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r - To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r +``` +Keys for account client.chainlink.testnet +[ + { + public_key: 'ed25519:4wrVrZbHrurMYgkcyusfvSJGLburmaw7m3gmCApxgvY4', + access_key: { nonce: 97, permission: 'FullAccess' } + }, + { + public_key: 'ed25519:H9k5eiU4xXS3M4z8HzKJSLaZdqGdGwBG49o7orNC4eZW', + access_key: { + nonce: 88, + permission: { + FunctionCall: { + allowance: '18483247987345065500000000', + receiver_id: 'client.chainlink.testnet', + method_names: [ 'get_token_price', [length]: 1 ] + } + } + } + }, + [length]: 2 +] +```

--- -### `near delete-key` - -> Deletes an existing key for a given account. +### `near login` -- arguments: `accountId` `publicKey` -- options: `default`, `force` +> locally stores a full access key of an account you created with [NEAR Wallet](https://wallet.testnet.near.org/). -**Note:** You will need separate full access key for the account you would like to delete a key from. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) +- arguments: `none` +- options: `--networkId` **Example:** ```bash -near delete-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S +near login ``` -
-Example Response -

+**Custom wallet url:** - Transaction Id 4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT - To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT +Default wallet url is `https://testnet.mynearwallet.com/`. But if you want to change to a different wallet url, you can setup the environmental variable `NEAR_MAINNET_WALLET` or `NEAR_TESTNET_WALLET`. -

-
+```bash +export NEAR_TESTNET_WALLET=https://wallet.testnet.near.org/ +near login +``` --- @@ -474,29 +425,33 @@ near delete-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1 ### `near create-account` -> Creates an account using a `--masterAccount` that will pay for the account's creation and any initial balance. +> Creates an account using an existing account or a faucet service to pay for the account's creation and initial balance. -- arguments: `accountId` `--masterAccount` -- options: `--initialBalance` +- arguments: `accountId` +- options: `--initialBalance`, `--useFaucet`, `--useAccount` -**Note:** You will only be able to create subaccounts of the `--masterAccount` unless the name of the new account is ≥ 32 characters. +**Examples:**: -**Example**: +```bash +# Creating account using `example-acct.testnet` to fund it +near create-account new-acc.testnet --useAccount example-acct.testnet +``` ```bash -near create-account 12345678901234567890123456789012 --masterAccount example-acct.testnet +# Creating account using the faucet to fund it +near create-account new-acc.testnet --useFaucet ``` **Subaccount example:** ```bash -near create-account sub-acct.example-acct.testnet --masterAccount example-acct.testnet +near create-account sub-acct.example-acct.testnet --useAccount example-acct.testnet ``` **Example using `--initialBalance`:** ```bash -near create-account sub-acct2.example-acct.testnet --masterAccount example-acct.testnet --initialBalance 10 +near create-account sub-acct2.example-acct.testnet --useAccount example-acct.testnet --initialBalance 10 ```
@@ -511,54 +466,47 @@ near create-account sub-acct2.example-acct.testnet --masterAccount example-acct. --- -### `near state` +### `near delete-account` -> Shows details of an account's state. +> Deletes an account and transfers remaining balance to a beneficiary account. -- arguments: `accountId` -- options: `default` +- arguments: `accountId` `beneficiaryId` +- options: `force` **Example:** ```bash -near state example.testnet +near delete-account sub-acct2.example-acct.testnet example-acct.testnet ```
Example Response

-```json -{ - "amount": "99999999303364037168535000", - "locked": "0", - "code_hash": "G1PCjeQbvbUsJ8piXNb7Yg6dn3mfivDQN7QkvsVuMt4e", - "storage_usage": 53528, - "storage_paid_at": 0, - "block_height": 21577354, - "block_hash": "AWu1mrT3eMJLjqyhNHvMKrrbahN6DqcNxXanB5UH1RjB", - "formattedAmount": "99.999999303364037168535" -} -``` + Deleting account. Account id: sub-acct2.example-acct.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, beneficiary: example-acct.testnet + Transaction Id 4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX + To see the transaction in the transaction explorer, please open this url in your browser + https://testnet.nearblocks.io/txns/4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX + Account sub-acct2.example-acct.testnet for network "default" was deleted.

--- -### `near send` + +### `near send-near` > Sends NEAR tokens (Ⓝ) from one account to another. - arguments: `senderId` `receiverId` `amount` -- options: `default` **Note:** You will need a full access key for the sending account. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) **Example:** ```bash -near send sender.testnet receiver.testnet 10 +near send-near sender.testnet receiver.testnet 10 ```
@@ -568,35 +516,41 @@ near send sender.testnet receiver.testnet 10 Sending 10 NEAR to receiver.testnet from sender.testnet Transaction Id BYTr6WNyaEy2ykAiQB9P5VvTyrJcFk6Yw95HPhXC6KfN To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/BYTr6WNyaEy2ykAiQB9P5VvTyrJcFk6Yw95HPhXC6KfN + https://testnet.nearblocks.io/txns/BYTr6WNyaEy2ykAiQB9P5VvTyrJcFk6Yw95HPhXC6KfN

--- -### `near delete` +### `near state` -> Deletes an account and transfers remaining balance to a beneficiary account. +> Shows details of an account's state. -- arguments: `accountId` `beneficiaryId` -- options: `default`, `force` +- arguments: `accountId` **Example:** ```bash -near delete sub-acct2.example-acct.testnet example-acct.testnet +near state example.testnet ```
Example Response

- Deleting account. Account id: sub-acct2.example-acct.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, beneficiary: example-acct.testnet - Transaction Id 4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX - To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX - Account sub-acct2.example-acct.testnet for network "default" was deleted. +```json +{ + "amount": "99999999303364037168535000", + "locked": "0", + "code_hash": "G1PCjeQbvbUsJ8piXNb7Yg6dn3mfivDQN7QkvsVuMt4e", + "storage_usage": 53528, + "storage_paid_at": 0, + "block_height": 21577354, + "block_hash": "AWu1mrT3eMJLjqyhNHvMKrrbahN6DqcNxXanB5UH1RjB", + "formattedAmount": "99.999999303364037168535" +} +```

@@ -605,101 +559,95 @@ near delete sub-acct2.example-acct.testnet example-acct.testnet ## Contracts -### `near deploy` +### `near call` -> Deploys a smart contract to a given accountId. +> makes a contract call which can modify _or_ view state. -- arguments: `accountId` `.wasmFile` -- options: `initFunction` `initArgs` `initGas` `initDeposit` +**Note:** Contract calls require a transaction fee (gas) so you will need an access key for the `--accountId` that will be charged. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) -**Note:** You will need a full access key for the account you are deploying the contract to. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) +- arguments: `contractName` `method_name` `{ args }` `--accountId` +- options: `--gas` `--deposit` **Example:** ```bash -near deploy --accountId example-contract.testnet --wasmFile out/example.wasm -``` - -**Initialize Example:** - -```bash -near deploy --accountId example-contract.testnet --wasmFile out/example.wasm --initFunction new --initArgs '{"owner_id": "example-contract.testnet", "total_supply": "10000000"}' +near call guest-book.testnet addMessage '{"text": "Aloha"}' --account-id example-acct.testnet ```
Example Response

- Starting deployment. Account id: example-contract.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: main.wasm - Transaction Id G8GhhPuujMHTRnwursPXE1Lv5iUZ8WUecwiST1PcKWMt + Scheduling a call: guest-book.testnet.addMessage({"text": "Aloha"}) + Transaction Id FY8hBam2iyQfdHkdR1dp6w5XEPJzJSosX1wUeVPyUvVK To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/G8GhhPuujMHTRnwursPXE1Lv5iUZ8WUecwiST1PcKWMt - Done deploying to example-contract.testnet + https://testnet.nearblocks.io/txns/FY8hBam2iyQfdHkdR1dp6w5XEPJzJSosX1wUeVPyUvVK + ''

-### `near dev-deploy` +--- + +### `near deploy` + +> Deploys a smart contract to a given accountId. -> Creates a development account and deploys a smart contract to it. No access keys needed. **_(`testnet` only)_** +- arguments: `accountId` `.wasmFile` +- options: `initFunction` `initArgs` `initGas` `initDeposit` -- options: `wasmFile`, `initFunction`, `initArgs`, `initGas`, `initDeposit`, `initialBalance`, `force` +**Note:** You will need a full access key for the account you are deploying the contract to. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) **Example:** ```bash -near dev-deploy --wasmFile out/example.wasm +near deploy --accountId example-contract.testnet --wasmFile out/example.wasm ``` **Initialize Example:** ```bash -near dev-deploy --wasmFile out/example.wasm --initFunction new --initArgs '{"owner_id": "example-contract.testnet", "total_supply": "10000000"}' +near deploy --accountId example-contract.testnet --wasmFile out/example.wasm --initFunction new --initArgs '{"owner_id": "example-contract.testnet", "total_supply": "10000000"}' ```
Example Response

- Starting deployment. Account id: dev-1603749005325-6432576, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: out/main.wasm - Transaction Id 5nixQT87KeN3eZFX7zwBLUAKSY4nyjhwzLF27SWWKkAp + Starting deployment. Account id: example-contract.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: main.wasm + Transaction Id G8GhhPuujMHTRnwursPXE1Lv5iUZ8WUecwiST1PcKWMt To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/5nixQT87KeN3eZFX7zwBLUAKSY4nyjhwzLF27SWWKkAp - Done deploying to dev-1603749005325-6432576 + https://testnet.nearblocks.io/txns/G8GhhPuujMHTRnwursPXE1Lv5iUZ8WUecwiST1PcKWMt + Done deploying to example-contract.testnet

--- -### `near call` - -> makes a contract call which can modify _or_ view state. +### `near storage` -**Note:** Contract calls require a transaction fee (gas) so you will need an access key for the `--accountId` that will be charged. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) +> Shows the storage state of a given contract, i.e. the data stored in a contract. -- arguments: `contractName` `method_name` `{ args }` `--accountId` -- options: `--gas` `--deposit` +- arguments: `contractName` +- options: `--finality`, `--utf8`, `--blockId`, `--prefix` **Example:** ```bash -near call guest-book.testnet addMessage '{"text": "Aloha"}' --account-id example-acct.testnet +near storage hello.near-examples.testnet --finality optimistic --utf8 ```
Example Response -

- Scheduling a call: guest-book.testnet.addMessage({"text": "Aloha"}) - Transaction Id FY8hBam2iyQfdHkdR1dp6w5XEPJzJSosX1wUeVPyUvVK - To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/FY8hBam2iyQfdHkdR1dp6w5XEPJzJSosX1wUeVPyUvVK - '' +```bash +[ { key: 'STATE', value: '\x10\x00\x00\x00Passei por aqui!' } ] +``` -

+ --- ### `near view` @@ -743,94 +691,6 @@ near view guest-book.testnet getMessages '{}' --- -## NEAR EVM Contracts - -### `near evm-view` - -> Makes an EVM contract call which can **only** view state. _(Call is free of charge)_ - -- arguments: `evmAccount` `contractName` `methodName` `[arguments]` `--abi` `--accountId` -- options: `default` - -**Example:** - -```bash -near evm-view evm 0x89dfB1Cd61F05ad3971EC1f83056Fd9793c2D521 getAdopters '[]' --abi /path/to/contract/abi/Adoption.json --accountId test.near -``` - -
-Example Response -

- -```json -[ - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000" -] -``` - -

-
- ---- - -### `near evm-call (deprecated)` - -> makes an EVM contract call which can modify _or_ view state. - -**Note:** Contract calls require a transaction fee (gas) so you will need an access key for the `--accountId` that will be charged. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) - -- arguments: `evmAccount` `contractName` `methodName` `[arguments]` `--abi` `--accountId` -- options: `default` (`--gas` and `--deposit` coming soon…) - -**Example:** - -```bash -near evm-call evm 0x89dfB1Cd61F05ad3971EC1f83056Fd9793c2D521 adopt '["6"]' --abi /path/to/contract/abi/Adoption.json --accountId test.near -``` - -
-Example Response -

- - Scheduling a call inside evm EVM: - 0x89dfB1Cd61F05ad3971EC1f83056Fd9793c2D521.adopt() - with args [ '6' ] - -

-
- ---- - -### `near evm-dev-init` - -> Used for running EVM tests — creates a given number of test accounts on the desired network using a master NEAR account - -- arguments: `accountId` -- options: `numAccounts` - -```bash -NEAR_ENV=betanet near evm-dev-init you.betanet 3 -``` - -The above will create 3 subaccounts of `you.betanet`. This is useful for tests that require multiple accounts, for instance, sending fungible tokens back and forth. If the `3` value were to be omitted, it would use the default of 5. - ---- - ## Transactions ### `near tx-status` @@ -959,57 +819,57 @@ NEAR_ENV=mainnet near validators current ```bash Validators (total: 49, seat price: 1,976,588): .--------------------------------------------------------------------------------------------------------------------. -| Validator Id | Stake | Seats | % Online | Blocks produced | Blocks expected | -|----------------------------------------------|------------|---------|----------|-----------------|-----------------| -| cryptium.poolv1.near | 13,945,727 | 7 | 100% | 1143 | 1143 | -| astro-stakers.poolv1.near | 11,660,189 | 5 | 100% | 817 | 817 | -| blockdaemon.poolv1.near | 11,542,867 | 5 | 76.74% | 627 | 817 | -| zavodil.poolv1.near | 11,183,187 | 5 | 100% | 818 | 818 | -| bisontrails.poolv1.near | 10,291,696 | 5 | 99.38% | 810 | 815 | -| dokiacapital.poolv1.near | 7,906,352 | 3 | 99.54% | 650 | 653 | -| chorusone.poolv1.near | 7,480,508 | 3 | 100% | 490 | 490 | -| figment.poolv1.near | 6,931,070 | 3 | 100% | 489 | 489 | -| stardust.poolv1.near | 6,401,678 | 3 | 100% | 491 | 491 | -| anonymous.poolv1.near | 6,291,821 | 3 | 97.55% | 479 | 491 | -| d1.poolv1.near | 6,265,109 | 3 | 100% | 491 | 491 | -| near8888.poolv1.near | 6,202,968 | 3 | 99.38% | 486 | 489 | -| rekt.poolv1.near | 5,950,212 | 3 | 100% | 490 | 490 | -| epic.poolv1.near | 5,639,256 | 2 | 100% | 326 | 326 | -| fresh.poolv1.near | 5,460,410 | 2 | 100% | 327 | 327 | -| buildlinks.poolv1.near | 4,838,398 | 2 | 99.38% | 325 | 327 | -| jubi.poolv1.near | 4,805,921 | 2 | 100% | 326 | 326 | -| openshards.poolv1.near | 4,644,553 | 2 | 100% | 326 | 326 | -| jazza.poolv1.near | 4,563,432 | 2 | 100% | 327 | 327 | -| northernlights.poolv1.near | 4,467,978 | 2 | 99.39% | 326 | 328 | -| inotel.poolv1.near | 4,427,152 | 2 | 100% | 327 | 327 | -| baziliknear.poolv1.near | 4,261,142 | 2 | 100% | 328 | 328 | -| stakesabai.poolv1.near | 4,242,618 | 2 | 100% | 326 | 326 | -| everstake.poolv1.near | 4,234,552 | 2 | 100% | 327 | 327 | -| stakin.poolv1.near | 4,071,704 | 2 | 100% | 327 | 327 | -| certusone.poolv1.near | 3,734,505 | 1 | 100% | 164 | 164 | -| lux.poolv1.near | 3,705,394 | 1 | 100% | 163 | 163 | -| staked.poolv1.near | 3,683,365 | 1 | 100% | 164 | 164 | -| lunanova.poolv1.near | 3,597,231 | 1 | 100% | 163 | 163 | -| appload.poolv1.near | 3,133,163 | 1 | 100% | 163 | 163 | -| smart-stake.poolv1.near | 3,095,711 | 1 | 100% | 164 | 164 | -| artemis.poolv1.near | 3,009,462 | 1 | 99.39% | 163 | 164 | -| moonlet.poolv1.near | 2,790,296 | 1 | 100% | 163 | 163 | -| nearfans.poolv1.near | 2,771,137 | 1 | 100% | 163 | 163 | -| nodeasy.poolv1.near | 2,692,745 | 1 | 99.39% | 163 | 164 | -| erm.poolv1.near | 2,653,524 | 1 | 100% | 164 | 164 | -| zkv_staketosupportprivacy.poolv1.near | 2,548,343 | 1 | 99.39% | 163 | 164 | -| dsrvlabs.poolv1.near | 2,542,925 | 1 | 100% | 164 | 164 | -| 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 | 1 | 100% | 163 | 163 | -| electric.poolv1.near | 2,400,532 | 1 | 99.39% | 163 | 164 | -| sparkpool.poolv1.near | 2,378,191 | 1 | 100% | 163 | 163 | -| hashquark.poolv1.near | 2,376,424 | 1 | 100% | 164 | 164 | -| masternode24.poolv1.near | 2,355,634 | 1 | 100% | 164 | 164 | -| sharpdarts.poolv1.near | 2,332,398 | 1 | 99.38% | 162 | 163 | -| fish.poolv1.near | 2,315,249 | 1 | 100% | 163 | 163 | -| ashert.poolv1.near | 2,103,327 | 1 | 97.56% | 160 | 164 | -| 01node.poolv1.near | 2,058,200 | 1 | 100% | 163 | 163 | -| finoa.poolv1.near | 2,012,304 | 1 | 100% | 163 | 163 | -| majlovesreg.poolv1.near | 2,005,032 | 1 | 100% | 164 | 164 | +| Validator Id | Stake | Seats | % Online | Blocks produced | Blocks expected | +|----------------------------------------------|------------|-------|----------|-----------------|-----------------| +| cryptium.poolv1.near | 13,945,727 | 7 | 100% | 1143 | 1143 | +| astro-stakers.poolv1.near | 11,660,189 | 5 | 100% | 817 | 817 | +| blockdaemon.poolv1.near | 11,542,867 | 5 | 76.74% | 627 | 817 | +| zavodil.poolv1.near | 11,183,187 | 5 | 100% | 818 | 818 | +| bisontrails.poolv1.near | 10,291,696 | 5 | 99.38% | 810 | 815 | +| dokiacapital.poolv1.near | 7,906,352 | 3 | 99.54% | 650 | 653 | +| chorusone.poolv1.near | 7,480,508 | 3 | 100% | 490 | 490 | +| figment.poolv1.near | 6,931,070 | 3 | 100% | 489 | 489 | +| stardust.poolv1.near | 6,401,678 | 3 | 100% | 491 | 491 | +| anonymous.poolv1.near | 6,291,821 | 3 | 97.55% | 479 | 491 | +| d1.poolv1.near | 6,265,109 | 3 | 100% | 491 | 491 | +| near8888.poolv1.near | 6,202,968 | 3 | 99.38% | 486 | 489 | +| rekt.poolv1.near | 5,950,212 | 3 | 100% | 490 | 490 | +| epic.poolv1.near | 5,639,256 | 2 | 100% | 326 | 326 | +| fresh.poolv1.near | 5,460,410 | 2 | 100% | 327 | 327 | +| buildlinks.poolv1.near | 4,838,398 | 2 | 99.38% | 325 | 327 | +| jubi.poolv1.near | 4,805,921 | 2 | 100% | 326 | 326 | +| openshards.poolv1.near | 4,644,553 | 2 | 100% | 326 | 326 | +| jazza.poolv1.near | 4,563,432 | 2 | 100% | 327 | 327 | +| northernlights.poolv1.near | 4,467,978 | 2 | 99.39% | 326 | 328 | +| inotel.poolv1.near | 4,427,152 | 2 | 100% | 327 | 327 | +| baziliknear.poolv1.near | 4,261,142 | 2 | 100% | 328 | 328 | +| stakesabai.poolv1.near | 4,242,618 | 2 | 100% | 326 | 326 | +| everstake.poolv1.near | 4,234,552 | 2 | 100% | 327 | 327 | +| stakin.poolv1.near | 4,071,704 | 2 | 100% | 327 | 327 | +| certusone.poolv1.near | 3,734,505 | 1 | 100% | 164 | 164 | +| lux.poolv1.near | 3,705,394 | 1 | 100% | 163 | 163 | +| staked.poolv1.near | 3,683,365 | 1 | 100% | 164 | 164 | +| lunanova.poolv1.near | 3,597,231 | 1 | 100% | 163 | 163 | +| appload.poolv1.near | 3,133,163 | 1 | 100% | 163 | 163 | +| smart-stake.poolv1.near | 3,095,711 | 1 | 100% | 164 | 164 | +| artemis.poolv1.near | 3,009,462 | 1 | 99.39% | 163 | 164 | +| moonlet.poolv1.near | 2,790,296 | 1 | 100% | 163 | 163 | +| nearfans.poolv1.near | 2,771,137 | 1 | 100% | 163 | 163 | +| nodeasy.poolv1.near | 2,692,745 | 1 | 99.39% | 163 | 164 | +| erm.poolv1.near | 2,653,524 | 1 | 100% | 164 | 164 | +| zkv_staketosupportprivacy.poolv1.near | 2,548,343 | 1 | 99.39% | 163 | 164 | +| dsrvlabs.poolv1.near | 2,542,925 | 1 | 100% | 164 | 164 | +| 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 | 1 | 100% | 163 | 163 | +| electric.poolv1.near | 2,400,532 | 1 | 99.39% | 163 | 164 | +| sparkpool.poolv1.near | 2,378,191 | 1 | 100% | 163 | 163 | +| hashquark.poolv1.near | 2,376,424 | 1 | 100% | 164 | 164 | +| masternode24.poolv1.near | 2,355,634 | 1 | 100% | 164 | 164 | +| sharpdarts.poolv1.near | 2,332,398 | 1 | 99.38% | 162 | 163 | +| fish.poolv1.near | 2,315,249 | 1 | 100% | 163 | 163 | +| ashert.poolv1.near | 2,103,327 | 1 | 97.56% | 160 | 164 | +| 01node.poolv1.near | 2,058,200 | 1 | 100% | 163 | 163 | +| finoa.poolv1.near | 2,012,304 | 1 | 100% | 163 | 163 | +| majlovesreg.poolv1.near | 2,005,032 | 1 | 100% | 164 | 164 | '--------------------------------------------------------------------------------------------------------------------' ``` @@ -1049,57 +909,57 @@ NEAR_ENV=mainnet near validators next ```bash Next validators (total: 49, seat price: 1,983,932): .----------------------------------------------------------------------------------------------. -| Status | Validator | Stake | Seats | -|----------|----------------------------------------------|--------------------------|---------| -| Rewarded | cryptium.poolv1.near | 13,945,727 -> 14,048,816 | 7 | -| Rewarded | astro-stakers.poolv1.near | 11,660,189 -> 11,704,904 | 5 | -| Rewarded | blockdaemon.poolv1.near | 11,542,867 -> 11,545,942 | 5 | -| Rewarded | zavodil.poolv1.near | 11,183,187 -> 11,204,123 | 5 | -| Rewarded | bisontrails.poolv1.near | 10,291,696 -> 10,297,923 | 5 | -| Rewarded | dokiacapital.poolv1.near | 7,906,352 -> 8,097,275 | 4 | -| Rewarded | chorusone.poolv1.near | 7,480,508 -> 7,500,576 | 3 | -| Rewarded | figment.poolv1.near | 6,931,070 -> 6,932,916 | 3 | -| Rewarded | stardust.poolv1.near | 6,401,678 -> 6,449,363 | 3 | -| Rewarded | anonymous.poolv1.near | 6,291,821 -> 6,293,497 | 3 | -| Rewarded | d1.poolv1.near | 6,265,109 -> 6,266,777 | 3 | -| Rewarded | near8888.poolv1.near | 6,202,968 -> 6,204,620 | 3 | -| Rewarded | rekt.poolv1.near | 5,950,212 -> 5,951,797 | 2 | -| Rewarded | epic.poolv1.near | 5,639,256 -> 5,640,758 | 2 | -| Rewarded | fresh.poolv1.near | 5,460,410 -> 5,461,811 | 2 | -| Rewarded | buildlinks.poolv1.near | 4,838,398 -> 4,839,686 | 2 | -| Rewarded | jubi.poolv1.near | 4,805,921 -> 4,807,201 | 2 | -| Rewarded | openshards.poolv1.near | 4,644,553 -> 4,776,692 | 2 | -| Rewarded | jazza.poolv1.near | 4,563,432 -> 4,564,648 | 2 | -| Rewarded | northernlights.poolv1.near | 4,467,978 -> 4,469,168 | 2 | -| Rewarded | inotel.poolv1.near | 4,427,152 -> 4,428,331 | 2 | -| Rewarded | baziliknear.poolv1.near | 4,261,142 -> 4,290,338 | 2 | -| Rewarded | stakesabai.poolv1.near | 4,242,618 -> 4,243,748 | 2 | -| Rewarded | everstake.poolv1.near | 4,234,552 -> 4,235,679 | 2 | -| Rewarded | stakin.poolv1.near | 4,071,704 -> 4,072,773 | 2 | -| Rewarded | certusone.poolv1.near | 3,734,505 -> 3,735,500 | 1 | -| Rewarded | lux.poolv1.near | 3,705,394 -> 3,716,381 | 1 | -| Rewarded | staked.poolv1.near | 3,683,365 -> 3,684,346 | 1 | -| Rewarded | lunanova.poolv1.near | 3,597,231 -> 3,597,836 | 1 | -| Rewarded | appload.poolv1.near | 3,133,163 -> 3,152,302 | 1 | -| Rewarded | smart-stake.poolv1.near | 3,095,711 -> 3,096,509 | 1 | -| Rewarded | artemis.poolv1.near | 3,009,462 -> 3,010,265 | 1 | -| Rewarded | moonlet.poolv1.near | 2,790,296 -> 2,948,565 | 1 | -| Rewarded | nearfans.poolv1.near | 2,771,137 -> 2,771,875 | 1 | -| Rewarded | nodeasy.poolv1.near | 2,692,745 -> 2,693,463 | 1 | -| Rewarded | erm.poolv1.near | 2,653,524 -> 2,654,231 | 1 | -| Rewarded | dsrvlabs.poolv1.near | 2,542,925 -> 2,571,865 | 1 | -| Rewarded | zkv_staketosupportprivacy.poolv1.near | 2,548,343 -> 2,549,022 | 1 | -| Rewarded | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 -> 2,493,787 | 1 | -| Rewarded | masternode24.poolv1.near | 2,355,634 -> 2,456,226 | 1 | -| Rewarded | fish.poolv1.near | 2,315,249 -> 2,415,831 | 1 | -| Rewarded | electric.poolv1.near | 2,400,532 -> 2,401,172 | 1 | -| Rewarded | sparkpool.poolv1.near | 2,378,191 -> 2,378,824 | 1 | -| Rewarded | hashquark.poolv1.near | 2,376,424 -> 2,377,057 | 1 | -| Rewarded | sharpdarts.poolv1.near | 2,332,398 -> 2,332,948 | 1 | -| Rewarded | ashert.poolv1.near | 2,103,327 -> 2,103,887 | 1 | -| Rewarded | 01node.poolv1.near | 2,058,200 -> 2,058,760 | 1 | -| Rewarded | finoa.poolv1.near | 2,012,304 -> 2,015,808 | 1 | -| Rewarded | majlovesreg.poolv1.near | 2,005,032 -> 2,005,566 | 1 | +| Status | Validator | Stake | Seats | +|----------|----------------------------------------------|--------------------------|-------| +| Rewarded | cryptium.poolv1.near | 13,945,727 -> 14,048,816 | 7 | +| Rewarded | astro-stakers.poolv1.near | 11,660,189 -> 11,704,904 | 5 | +| Rewarded | blockdaemon.poolv1.near | 11,542,867 -> 11,545,942 | 5 | +| Rewarded | zavodil.poolv1.near | 11,183,187 -> 11,204,123 | 5 | +| Rewarded | bisontrails.poolv1.near | 10,291,696 -> 10,297,923 | 5 | +| Rewarded | dokiacapital.poolv1.near | 7,906,352 -> 8,097,275 | 4 | +| Rewarded | chorusone.poolv1.near | 7,480,508 -> 7,500,576 | 3 | +| Rewarded | figment.poolv1.near | 6,931,070 -> 6,932,916 | 3 | +| Rewarded | stardust.poolv1.near | 6,401,678 -> 6,449,363 | 3 | +| Rewarded | anonymous.poolv1.near | 6,291,821 -> 6,293,497 | 3 | +| Rewarded | d1.poolv1.near | 6,265,109 -> 6,266,777 | 3 | +| Rewarded | near8888.poolv1.near | 6,202,968 -> 6,204,620 | 3 | +| Rewarded | rekt.poolv1.near | 5,950,212 -> 5,951,797 | 2 | +| Rewarded | epic.poolv1.near | 5,639,256 -> 5,640,758 | 2 | +| Rewarded | fresh.poolv1.near | 5,460,410 -> 5,461,811 | 2 | +| Rewarded | buildlinks.poolv1.near | 4,838,398 -> 4,839,686 | 2 | +| Rewarded | jubi.poolv1.near | 4,805,921 -> 4,807,201 | 2 | +| Rewarded | openshards.poolv1.near | 4,644,553 -> 4,776,692 | 2 | +| Rewarded | jazza.poolv1.near | 4,563,432 -> 4,564,648 | 2 | +| Rewarded | northernlights.poolv1.near | 4,467,978 -> 4,469,168 | 2 | +| Rewarded | inotel.poolv1.near | 4,427,152 -> 4,428,331 | 2 | +| Rewarded | baziliknear.poolv1.near | 4,261,142 -> 4,290,338 | 2 | +| Rewarded | stakesabai.poolv1.near | 4,242,618 -> 4,243,748 | 2 | +| Rewarded | everstake.poolv1.near | 4,234,552 -> 4,235,679 | 2 | +| Rewarded | stakin.poolv1.near | 4,071,704 -> 4,072,773 | 2 | +| Rewarded | certusone.poolv1.near | 3,734,505 -> 3,735,500 | 1 | +| Rewarded | lux.poolv1.near | 3,705,394 -> 3,716,381 | 1 | +| Rewarded | staked.poolv1.near | 3,683,365 -> 3,684,346 | 1 | +| Rewarded | lunanova.poolv1.near | 3,597,231 -> 3,597,836 | 1 | +| Rewarded | appload.poolv1.near | 3,133,163 -> 3,152,302 | 1 | +| Rewarded | smart-stake.poolv1.near | 3,095,711 -> 3,096,509 | 1 | +| Rewarded | artemis.poolv1.near | 3,009,462 -> 3,010,265 | 1 | +| Rewarded | moonlet.poolv1.near | 2,790,296 -> 2,948,565 | 1 | +| Rewarded | nearfans.poolv1.near | 2,771,137 -> 2,771,875 | 1 | +| Rewarded | nodeasy.poolv1.near | 2,692,745 -> 2,693,463 | 1 | +| Rewarded | erm.poolv1.near | 2,653,524 -> 2,654,231 | 1 | +| Rewarded | dsrvlabs.poolv1.near | 2,542,925 -> 2,571,865 | 1 | +| Rewarded | zkv_staketosupportprivacy.poolv1.near | 2,548,343 -> 2,549,022 | 1 | +| Rewarded | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 -> 2,493,787 | 1 | +| Rewarded | masternode24.poolv1.near | 2,355,634 -> 2,456,226 | 1 | +| Rewarded | fish.poolv1.near | 2,315,249 -> 2,415,831 | 1 | +| Rewarded | electric.poolv1.near | 2,400,532 -> 2,401,172 | 1 | +| Rewarded | sparkpool.poolv1.near | 2,378,191 -> 2,378,824 | 1 | +| Rewarded | hashquark.poolv1.near | 2,376,424 -> 2,377,057 | 1 | +| Rewarded | sharpdarts.poolv1.near | 2,332,398 -> 2,332,948 | 1 | +| Rewarded | ashert.poolv1.near | 2,103,327 -> 2,103,887 | 1 | +| Rewarded | 01node.poolv1.near | 2,058,200 -> 2,058,760 | 1 | +| Rewarded | finoa.poolv1.near | 2,012,304 -> 2,015,808 | 1 | +| Rewarded | majlovesreg.poolv1.near | 2,005,032 -> 2,005,566 | 1 | '----------------------------------------------------------------------------------------------' ``` @@ -1139,59 +999,59 @@ NEAR_ENV=mainnet near proposals ```bash Proposals for the epoch after next (new: 51, passing: 49, expected seat price = 1,983,932) .--------------------------------------------------------------------------------------------------------. -| Status | Validator | Stake => New Stake | Seats | -|--------------------|----------------------------------------------|--------------------------|---------| -| Proposal(Accepted) | cryptium.poolv1.near | 13,945,727 => 14,041,766 | 7 | -| Proposal(Accepted) | astro-stakers.poolv1.near | 11,660,189 => 11,705,673 | 5 | -| Proposal(Accepted) | blockdaemon.poolv1.near | 11,542,867 => 11,545,942 | 5 | -| Proposal(Accepted) | zavodil.poolv1.near | 11,183,187 => 11,207,805 | 5 | -| Proposal(Accepted) | bisontrails.poolv1.near | 10,291,696 => 10,300,978 | 5 | -| Proposal(Accepted) | dokiacapital.poolv1.near | 7,906,352 => 8,097,275 | 4 | -| Proposal(Accepted) | chorusone.poolv1.near | 7,480,508 => 7,568,268 | 3 | -| Proposal(Accepted) | figment.poolv1.near | 6,931,070 => 6,932,916 | 3 | -| Proposal(Accepted) | stardust.poolv1.near | 6,401,678 => 6,449,363 | 3 | -| Proposal(Accepted) | anonymous.poolv1.near | 6,291,821 => 6,293,497 | 3 | -| Proposal(Accepted) | d1.poolv1.near | 6,265,109 => 6,266,777 | 3 | -| Proposal(Accepted) | near8888.poolv1.near | 6,202,968 => 6,204,620 | 3 | -| Proposal(Accepted) | rekt.poolv1.near | 5,950,212 => 5,951,797 | 2 | -| Proposal(Accepted) | epic.poolv1.near | 5,639,256 => 5,640,758 | 2 | -| Proposal(Accepted) | fresh.poolv1.near | 5,460,410 => 5,461,811 | 2 | -| Proposal(Accepted) | buildlinks.poolv1.near | 4,838,398 => 4,839,686 | 2 | -| Proposal(Accepted) | jubi.poolv1.near | 4,805,921 => 4,807,201 | 2 | -| Proposal(Accepted) | openshards.poolv1.near | 4,644,553 => 4,776,692 | 2 | -| Proposal(Accepted) | jazza.poolv1.near | 4,563,432 => 4,564,648 | 2 | -| Proposal(Accepted) | northernlights.poolv1.near | 4,467,978 => 4,469,168 | 2 | -| Proposal(Accepted) | inotel.poolv1.near | 4,427,152 => 4,428,331 | 2 | -| Proposal(Accepted) | baziliknear.poolv1.near | 4,261,142 => 4,290,891 | 2 | -| Proposal(Accepted) | stakesabai.poolv1.near | 4,242,618 => 4,243,748 | 2 | -| Proposal(Accepted) | everstake.poolv1.near | 4,234,552 => 4,235,679 | 2 | -| Proposal(Accepted) | stakin.poolv1.near | 4,071,704 => 4,072,773 | 2 | -| Proposal(Accepted) | certusone.poolv1.near | 3,734,505 => 3,735,500 | 1 | -| Proposal(Accepted) | lux.poolv1.near | 3,705,394 => 3,716,381 | 1 | -| Proposal(Accepted) | staked.poolv1.near | 3,683,365 => 3,684,346 | 1 | -| Proposal(Accepted) | lunanova.poolv1.near | 3,597,231 => 3,597,836 | 1 | -| Proposal(Accepted) | appload.poolv1.near | 3,133,163 => 3,152,302 | 1 | -| Proposal(Accepted) | smart-stake.poolv1.near | 3,095,711 => 3,096,509 | 1 | -| Proposal(Accepted) | artemis.poolv1.near | 3,009,462 => 3,010,265 | 1 | -| Proposal(Accepted) | moonlet.poolv1.near | 2,790,296 => 2,948,565 | 1 | -| Proposal(Accepted) | nearfans.poolv1.near | 2,771,137 => 2,771,875 | 1 | -| Proposal(Accepted) | nodeasy.poolv1.near | 2,692,745 => 2,693,463 | 1 | -| Proposal(Accepted) | erm.poolv1.near | 2,653,524 => 2,654,231 | 1 | -| Proposal(Accepted) | dsrvlabs.poolv1.near | 2,542,925 => 2,571,865 | 1 | -| Proposal(Accepted) | zkv_staketosupportprivacy.poolv1.near | 2,548,343 => 2,549,022 | 1 | -| Proposal(Accepted) | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 => 2,493,787 | 1 | -| Proposal(Accepted) | masternode24.poolv1.near | 2,355,634 => 2,456,226 | 1 | -| Proposal(Accepted) | fish.poolv1.near | 2,315,249 => 2,415,831 | 1 | -| Proposal(Accepted) | electric.poolv1.near | 2,400,532 => 2,401,172 | 1 | -| Proposal(Accepted) | sparkpool.poolv1.near | 2,378,191 => 2,378,824 | 1 | -| Proposal(Accepted) | hashquark.poolv1.near | 2,376,424 => 2,377,057 | 1 | -| Proposal(Accepted) | sharpdarts.poolv1.near | 2,332,398 => 2,332,948 | 1 | -| Proposal(Accepted) | ashert.poolv1.near | 2,103,327 => 2,103,887 | 1 | -| Proposal(Accepted) | 01node.poolv1.near | 2,058,200 => 2,059,314 | 1 | -| Proposal(Accepted) | finoa.poolv1.near | 2,012,304 => 2,015,808 | 1 | -| Proposal(Accepted) | majlovesreg.poolv1.near | 2,005,032 => 2,005,566 | 1 | -| Proposal(Declined) | huobipool.poolv1.near | 1,666,976 | 0 | -| Proposal(Declined) | hb436_pool.poolv1.near | 500,030 | 0 | +| Status | Validator | Stake => New Stake | Seats | +|--------------------|----------------------------------------------|--------------------------|-------| +| Proposal(Accepted) | cryptium.poolv1.near | 13,945,727 => 14,041,766 | 7 | +| Proposal(Accepted) | astro-stakers.poolv1.near | 11,660,189 => 11,705,673 | 5 | +| Proposal(Accepted) | blockdaemon.poolv1.near | 11,542,867 => 11,545,942 | 5 | +| Proposal(Accepted) | zavodil.poolv1.near | 11,183,187 => 11,207,805 | 5 | +| Proposal(Accepted) | bisontrails.poolv1.near | 10,291,696 => 10,300,978 | 5 | +| Proposal(Accepted) | dokiacapital.poolv1.near | 7,906,352 => 8,097,275 | 4 | +| Proposal(Accepted) | chorusone.poolv1.near | 7,480,508 => 7,568,268 | 3 | +| Proposal(Accepted) | figment.poolv1.near | 6,931,070 => 6,932,916 | 3 | +| Proposal(Accepted) | stardust.poolv1.near | 6,401,678 => 6,449,363 | 3 | +| Proposal(Accepted) | anonymous.poolv1.near | 6,291,821 => 6,293,497 | 3 | +| Proposal(Accepted) | d1.poolv1.near | 6,265,109 => 6,266,777 | 3 | +| Proposal(Accepted) | near8888.poolv1.near | 6,202,968 => 6,204,620 | 3 | +| Proposal(Accepted) | rekt.poolv1.near | 5,950,212 => 5,951,797 | 2 | +| Proposal(Accepted) | epic.poolv1.near | 5,639,256 => 5,640,758 | 2 | +| Proposal(Accepted) | fresh.poolv1.near | 5,460,410 => 5,461,811 | 2 | +| Proposal(Accepted) | buildlinks.poolv1.near | 4,838,398 => 4,839,686 | 2 | +| Proposal(Accepted) | jubi.poolv1.near | 4,805,921 => 4,807,201 | 2 | +| Proposal(Accepted) | openshards.poolv1.near | 4,644,553 => 4,776,692 | 2 | +| Proposal(Accepted) | jazza.poolv1.near | 4,563,432 => 4,564,648 | 2 | +| Proposal(Accepted) | northernlights.poolv1.near | 4,467,978 => 4,469,168 | 2 | +| Proposal(Accepted) | inotel.poolv1.near | 4,427,152 => 4,428,331 | 2 | +| Proposal(Accepted) | baziliknear.poolv1.near | 4,261,142 => 4,290,891 | 2 | +| Proposal(Accepted) | stakesabai.poolv1.near | 4,242,618 => 4,243,748 | 2 | +| Proposal(Accepted) | everstake.poolv1.near | 4,234,552 => 4,235,679 | 2 | +| Proposal(Accepted) | stakin.poolv1.near | 4,071,704 => 4,072,773 | 2 | +| Proposal(Accepted) | certusone.poolv1.near | 3,734,505 => 3,735,500 | 1 | +| Proposal(Accepted) | lux.poolv1.near | 3,705,394 => 3,716,381 | 1 | +| Proposal(Accepted) | staked.poolv1.near | 3,683,365 => 3,684,346 | 1 | +| Proposal(Accepted) | lunanova.poolv1.near | 3,597,231 => 3,597,836 | 1 | +| Proposal(Accepted) | appload.poolv1.near | 3,133,163 => 3,152,302 | 1 | +| Proposal(Accepted) | smart-stake.poolv1.near | 3,095,711 => 3,096,509 | 1 | +| Proposal(Accepted) | artemis.poolv1.near | 3,009,462 => 3,010,265 | 1 | +| Proposal(Accepted) | moonlet.poolv1.near | 2,790,296 => 2,948,565 | 1 | +| Proposal(Accepted) | nearfans.poolv1.near | 2,771,137 => 2,771,875 | 1 | +| Proposal(Accepted) | nodeasy.poolv1.near | 2,692,745 => 2,693,463 | 1 | +| Proposal(Accepted) | erm.poolv1.near | 2,653,524 => 2,654,231 | 1 | +| Proposal(Accepted) | dsrvlabs.poolv1.near | 2,542,925 => 2,571,865 | 1 | +| Proposal(Accepted) | zkv_staketosupportprivacy.poolv1.near | 2,548,343 => 2,549,022 | 1 | +| Proposal(Accepted) | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 => 2,493,787 | 1 | +| Proposal(Accepted) | masternode24.poolv1.near | 2,355,634 => 2,456,226 | 1 | +| Proposal(Accepted) | fish.poolv1.near | 2,315,249 => 2,415,831 | 1 | +| Proposal(Accepted) | electric.poolv1.near | 2,400,532 => 2,401,172 | 1 | +| Proposal(Accepted) | sparkpool.poolv1.near | 2,378,191 => 2,378,824 | 1 | +| Proposal(Accepted) | hashquark.poolv1.near | 2,376,424 => 2,377,057 | 1 | +| Proposal(Accepted) | sharpdarts.poolv1.near | 2,332,398 => 2,332,948 | 1 | +| Proposal(Accepted) | ashert.poolv1.near | 2,103,327 => 2,103,887 | 1 | +| Proposal(Accepted) | 01node.poolv1.near | 2,058,200 => 2,059,314 | 1 | +| Proposal(Accepted) | finoa.poolv1.near | 2,012,304 => 2,015,808 | 1 | +| Proposal(Accepted) | majlovesreg.poolv1.near | 2,005,032 => 2,005,566 | 1 | +| Proposal(Declined) | huobipool.poolv1.near | 1,666,976 | 0 | +| Proposal(Declined) | hb436_pool.poolv1.near | 500,030 | 0 | '--------------------------------------------------------------------------------------------------------' ``` @@ -1229,7 +1089,7 @@ near deploy --accountId example-contract.testnet --base64File out/example.base64 Starting deployment. Account id: example-contract.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: out/example.base64, JSVM: jsvm.testnet Transaction Id 4Nxsszgh2LaXPZph37peZKDqPZeJEErPih6n4jWcGDEB To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/4Nxsszgh2LaXPZph37peZKDqPZeJEErPih6n4jWcGDEB + https://testnet.nearblocks.io/txns/4Nxsszgh2LaXPZph37peZKDqPZeJEErPih6n4jWcGDEB Done deploying to example-contract.testnet

@@ -1256,7 +1116,7 @@ near js dev-deploy --base64File out/example.base64 --deposit 0.1 Starting deployment. Account id: dev-1653005231830-15694723179173, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: out/example.base64, JSVM: jsvm.testnet Transaction Id FTVd4TKzy9mrmWvok6qHaoX68cVZnUJp2VqUgH6Y446n To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/FTVd4TKzy9mrmWvok6qHaoX68cVZnUJp2VqUgH6Y446n + https://testnet.nearblocks.io/txns/FTVd4TKzy9mrmWvok6qHaoX68cVZnUJp2VqUgH6Y446n Done deploying to dev-1653005231830-15694723179173

@@ -1286,7 +1146,7 @@ near js call dev-1653005231830-15694723179173 set_status '["hello world"]' --dep Log [jsvm.testnet]: dev-1653005231830-15694723179173 set_status with message hello world Transaction Id sP8s9REgK9YcZzkudyccg8R968zYWDVGCNv4wxeZsUe To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/sP8s9REgK9YcZzkudyccg8R968zYWDVGCNv4wxeZsUe + https://testnet.nearblocks.io/txns/sP8s9REgK9YcZzkudyccg8R968zYWDVGCNv4wxeZsUe ''

@@ -1334,7 +1194,7 @@ near js remove --accountId dev-1653005231830-15694723179173 Removing contract from enclave. Account id: dev-1653005231830-15694723179173, JSVM: jsvm.testnet Transaction Id FGSfvoWmhS1fWb6ckpPMYvc7seNaGQ5MU7iSrY43ZWiG To see the transaction in the transaction explorer, please open this url in your browser - https://explorer.testnet.near.org/transactions/FGSfvoWmhS1fWb6ckpPMYvc7seNaGQ5MU7iSrY43ZWiG + https://testnet.nearblocks.io/txns/FGSfvoWmhS1fWb6ckpPMYvc7seNaGQ5MU7iSrY43ZWiG

@@ -1461,24 +1321,24 @@ With NEAR REPL you have complete access to [`near-api-js`](https://github.com/ne ## Options -| Option | Description | -| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| `--help` | Show help [boolean] | -| `--version` | Show version number [boolean] | -| `--nodeUrl, --node_url` | NEAR node URL [string] [default: "https://rpc.testnet.near.org"] | -| `--networkId, --network_id`| NEAR network ID, allows using different keys based on network [string] [default: "testnet"] | -| `--helperUrl` | NEAR contract helper URL [string] | -| `--keyPath` | Path to master account key [string] | -| `--accountId, --account_id`| Unique identifier for the account [string] | -| `--useLedgerKey` | Use Ledger for signing with given HD key path [string] [default: "44'/397'/0'/0'/1'"] | -| `--seedPhrase` | Seed phrase mnemonic [string] | -| `--seedPath` | HD path derivation [string] [default: "m/44'/397'/0'"] | -| `--walletUrl` | Website for NEAR Wallet [string] | -| `--contractName` | Account name of contract [string] | -| `--masterAccount` | Master account used when creating new accounts [string] | -| `--helperAccount` | Expected top-level account for a network [string] | -| `-v, --verbose` | Prints out verbose output [boolean] [default: false] | -|`-f, --force` | Forcefully execute the desired action even if it is unsafe to do so [boolean] [default: false]| +| Option | Description | +|-----------------------------|-------------------------------------------------------------------------------------------------| +| `--help` | Show help [boolean] | +| `--version` | Show version number [boolean] | +| `--nodeUrl, --node_url` | NEAR node URL [string] [default: "https://rpc.testnet.near.org"] | +| `--networkId, --network_id` | NEAR network ID, allows using different keys based on network [string] [default: "testnet"] | +| `--helperUrl` | NEAR contract helper URL [string] | +| `--keyPath` | Path to master account key [string] | +| `--accountId, --account_id` | Unique identifier for the account [string] | +| `--useLedgerKey` | Use Ledger for signing with given HD key path [string] [default: "44'/397'/0'/0'/1'"] | +| `--seedPhrase` | Seed phrase mnemonic [string] | +| `--seedPath` | HD path derivation [string] [default: "m/44'/397'/0'"] | +| `--walletUrl` | Website for NEAR Wallet [string] | +| `--contractName` | Account name of contract [string] | +| `--masterAccount` | Master account used when creating new accounts [string] | +| `--helperAccount` | Expected top-level account for a network [string] | +| `-v, --verbose` | Prints out verbose output [boolean] [default: false] | +| `-f, --force` | Forcefully execute the desired action even if it is unsafe to do so [boolean] [default: false] | > Got a question? Ask it on StackOverflow! From 97d1c63e79896c15ce5ac42db08dfdae963679e7 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:06:43 +0100 Subject: [PATCH 06/20] fix: added breaking change to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac00488b..381ffce6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Breaking: removed all `evm` commands. - Breaking: Removed all `Ledger` support. - Breaking: removed all `validator` commands. +- Breaking: removed `dev-deploy` command. Users must now create an account (can fund it with a faucet) and deploy to it. - Breaking: changed `generate-key` command. Now it needs the `--saveImplicit` flag to save the key. - Breaking: removed `walletUrl`, `nodeUrl` and `helperUrl` options. From bc13af4bb1b3d9d3ca80f87f9891805aa37bce5d Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:36:42 +0100 Subject: [PATCH 07/20] fix: added tests back --- test/test_account_operations.sh | 156 ++++++++++++++++---------------- test/test_contract.sh | 60 ++++++------ 2 files changed, 108 insertions(+), 108 deletions(-) diff --git a/test/test_account_operations.sh b/test/test_account_operations.sh index 7ab989de..6de41144 100755 --- a/test/test_account_operations.sh +++ b/test/test_account_operations.sh @@ -1,91 +1,91 @@ -# #!/bin/bash -# set -e +#!/bin/bash +set -e -# timestamp=$(date +%s) -# testaccount=testaccount$timestamp$RANDOM.testnet +timestamp=$(date +%s) +testaccount=testaccount$timestamp$RANDOM.testnet -# ./bin/near create-account $testaccount --preFunded +./bin/near create-account $testaccount --useFaucet -# echo Get account state -# RESULT=$(./bin/near state $testaccount) -# EXPECTED="Account $testaccount.+amount:.+'5000001000000000000000000'.+ " -# if [[ ! "$RESULT" =~ $EXPECTED ]]; then -# echo FAILURE Unexpected output from near view -# echo Got: $RESULT -# echo Expected: $EXPECTED -# exit 1 -# fi +echo Get account state +RESULT=$(./bin/near state $testaccount) +EXPECTED="Account $testaccount.+amount:.+'5000001000000000000000000'.+ " +if [[ ! "$RESULT" =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near view + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi -# echo Get account storage --finality final -# RESULT=$(./bin/near storage $testaccount --finality final) -# EXPECTED="[]" -# if [[ ! "$RESULT" == $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# echo Got: $RESULT -# echo Expected: $EXPECTED -# exit 1 -# fi +echo Get account storage --finality optimistic +RESULT=$(./bin/near storage $testaccount --finality optimistic) +EXPECTED="[]" +if [[ ! "$RESULT" == $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi -# echo Get account storage --finality optimistic -# RESULT=$(./bin/near storage $testaccount --finality optimistic) -# EXPECTED="[]" -# if [[ ! "$RESULT" == $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# echo Got: $RESULT -# echo Expected: $EXPECTED -# exit 1 -# fi +bin/near state $testaccount > ${testaccount}.json +BLOCK_HEIGHT=$(grep block_height ${testaccount}.json | grep -o '[[:digit:]]\+') +BLOCK_HASH=$(grep block_hash ${testaccount}.json | grep -o "[[:alnum:]]\{10,\}") -# bin/near state $testaccount > ${testaccount}.json -# BLOCK_HEIGHT=$(grep block_height ${testaccount}.json | grep -o '[[:digit:]]\+') -# BLOCK_HASH=$(grep block_hash ${testaccount}.json | grep -o "[[:alnum:]]\{10,\}") +echo Get account storage --blockId $BLOCK_HEIGHT +RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HEIGHT) +EXPECTED="[]" +if [[ ! "$RESULT" == $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi -# echo Get account storage --blockId $BLOCK_HEIGHT -# RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HEIGHT) -# EXPECTED="[]" -# if [[ ! "$RESULT" == $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# echo Got: $RESULT -# echo Expected: $EXPECTED -# exit 1 -# fi +echo Get account storage --blockId $BLOCK_HASH +RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HASH) +EXPECTED="[]" +if [[ ! "$RESULT" == $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi -# echo Get account storage --blockId $BLOCK_HASH -# RESULT=$(./bin/near storage $testaccount --blockId $BLOCK_HASH) -# EXPECTED="[]" -# if [[ ! "$RESULT" == $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# echo Got: $RESULT -# echo Expected: $EXPECTED -# exit 1 -# fi +echo Get account storage --finality final +RESULT=$(./bin/near storage $testaccount --finality final) +EXPECTED="[]" +if [[ ! "$RESULT" == $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + echo Got: $RESULT + echo Expected: $EXPECTED + exit 1 +fi -# set +e +set +e -# echo Get account storage --blockId $BLOCK_HASH --finality optimistic should fail -# EXPECTED="Arguments blockId and finality are mutually exclusive" -# ./bin/near storage $testaccount --blockId $BLOCK_HASH --finality optimistic 2> ${testaccount}.stderr -# if [[ ! $? == 1 ]]; then -# echo storage should fail given both blockId and finality -# exit 1 -# fi -# if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# exit 1 -# fi +echo Get account storage --blockId $BLOCK_HASH --finality optimistic should fail +EXPECTED="Arguments blockId and finality are mutually exclusive" +./bin/near storage $testaccount --blockId $BLOCK_HASH --finality optimistic 2> ${testaccount}.stderr +if [[ ! $? == 1 ]]; then + echo storage should fail given both blockId and finality + exit 1 +fi +if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + exit 1 +fi -# echo Get account storage without one of blockId or finality should fail -# EXPECTED="Must provide either --finality or --blockId" -# ./bin/near storage $testaccount 2> ${testaccount}.stderr -# if [[ ! $? == 1 ]]; then -# echo storage should fail without one of blockId or finality should fail -# exit 1 -# fi -# if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then -# echo FAILURE Unexpected output from near storage -# exit 1 -# fi +echo Get account storage without one of blockId or finality should fail +EXPECTED="Must provide either --finality or --blockId" +./bin/near storage $testaccount 2> ${testaccount}.stderr +if [[ ! $? == 1 ]]; then + echo storage should fail without one of blockId or finality should fail + exit 1 +fi +if [[ ! $(cat ${testaccount}.stderr) =~ $EXPECTED ]]; then + echo FAILURE Unexpected output from near storage + exit 1 +fi -# set -e +set -e -# ./bin/near delete $testaccount influencer.testnet --force +./bin/near delete $testaccount influencer.testnet --force diff --git a/test/test_contract.sh b/test/test_contract.sh index dad0f4eb..cd0a04ce 100755 --- a/test/test_contract.sh +++ b/test/test_contract.sh @@ -1,37 +1,37 @@ -# #!/bin/bash -# set -e +#!/bin/bash +set -e -# timestamp=$(date +%s) -# contract=testaccount$timestamp-c.testnet -# testaccount=testaccount$timestamp-t.testnet +timestamp=$(date +%s) +contract=testaccount$timestamp-c.testnet +testaccount=testaccount$timestamp-t.testnet -# echo Creating account -# ./bin/near create $contract --preFunded -# ./bin/near create $testaccount --preFunded +echo Creating account +./bin/near create $contract --useFaucet +./bin/near create $testaccount --useFaucet -# echo Deploying contract -# ./bin/near deploy $contract ./test/res/guest_book.wasm +echo Deploying contract +./bin/near deploy $contract ./test/res/guest_book.wasm -# echo Calling functions -# ./bin/near call $contract addMessage '{"text":"TEST"}' --accountId $testaccount > /dev/null +echo Calling functions +./bin/near call $contract addMessage '{"text":"TEST"}' --accountId $testaccount > /dev/null -# RESULT=$(./bin/near view $contract getMessages '{}') -# TEXT=$RESULT -# EXPECTED='TEST' -# if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then -# echo FAILURE Unexpected output from near call: $RESULT -# exit 1 -# fi +RESULT=$(./bin/near view $contract getMessages '{}') +TEXT=$RESULT +EXPECTED='TEST' +if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then + echo FAILURE Unexpected output from near call: $RESULT + exit 1 +fi -# # base64-encoded '{"message":"BASE64ROCKS"}' -# ./bin/near call $contract addMessage --base64 'eyJ0ZXh0IjoiVEVTVCJ9' --accountId $testaccount > /dev/null +# base64-encoded '{"message":"BASE64ROCKS"}' +./bin/near call $contract addMessage --base64 'eyJ0ZXh0IjoiVEVTVCJ9' --accountId $testaccount > /dev/null -# RESULT=$(./bin/near view $contract getMessages '{}') -# # TODO: Refactor asserts -# TEXT=$RESULT -# echo $RESULT -# EXPECTED="[ { premium: false, sender: 'test.near', text: 'TEST' }, { premium: false, sender: 'test.near', text: 'TEST' } ]" -# if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then -# echo FAILURE Unexpected output from near call: $RESULT -# exit 1 -# fi +RESULT=$(./bin/near view $contract getMessages '{}') +# TODO: Refactor asserts +TEXT=$RESULT +echo $RESULT +EXPECTED="[ { premium: false, sender: 'test.near', text: 'TEST' }, { premium: false, sender: 'test.near', text: 'TEST' } ]" +if [[ ! $TEXT =~ .*$EXPECTED.* ]]; then + echo FAILURE Unexpected output from near call: $RESULT + exit 1 +fi From 1d8b6c7d058c887718a1ed17a8bd0199babc139f Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:37:00 +0100 Subject: [PATCH 08/20] chore: back to v12 of node --- package.json | 2 +- yarn.lock | 404 +++++++++++++-------------------------------------- 2 files changed, 102 insertions(+), 304 deletions(-) diff --git a/package.json b/package.json index dd0b6aea..a2d75213 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "3.4.2", "description": "Simple CLI for interacting with NEAR Protocol", "engines": { - "node": ">= 16" + "node": ">= 12" }, "main": "bin/near-cli.js", "scripts": { diff --git a/yarn.lock b/yarn.lock index 43960d44..20a474fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" @@ -16,12 +9,19 @@ dependencies: "@babel/highlight" "^7.10.4" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + "@babel/compat-data@^7.13.15": version "7.14.0" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz" integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.14.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz" integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== @@ -704,24 +704,6 @@ dependencies: "@octokit/types" "^6.0.3" -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz" - integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== - -"@octokit/core@>=3": - version "5.0.2" - resolved "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz" - integrity sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg== - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.0.0" - "@octokit/request" "^8.0.2" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - "@octokit/endpoint@^6.0.1": version "6.0.12" resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" @@ -731,28 +713,6 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/endpoint@^9.0.0": - version "9.0.4" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz" - integrity sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw== - dependencies: - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.0.0": - version "7.0.2" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz" - integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== - dependencies: - "@octokit/request" "^8.0.1" - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^19.1.0": - version "19.1.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz" - integrity sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw== - "@octokit/openapi-types@^9.1.0": version "9.1.0" resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.0.tgz" @@ -796,15 +756,6 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request-error@^5.0.0": - version "5.0.1" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz" - integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== - dependencies: - "@octokit/types" "^12.0.0" - deprecation "^2.0.0" - once "^1.4.0" - "@octokit/request@^5.2.0": version "5.6.0" resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz" @@ -817,26 +768,6 @@ node-fetch "^2.6.1" universal-user-agent "^6.0.0" -"@octokit/request@^8.0.1": - version "8.1.6" - resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" - integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== - dependencies: - "@octokit/endpoint" "^9.0.0" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - -"@octokit/request@^8.0.2": - version "8.1.6" - resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" - integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== - dependencies: - "@octokit/endpoint" "^9.0.0" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - "@octokit/rest@^16.43.1": version "16.43.2" resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz" @@ -859,21 +790,7 @@ once "^1.4.0" universal-user-agent "^4.0.0" -"@octokit/types@^12.0.0": - version "12.4.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz" - integrity sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ== - dependencies: - "@octokit/openapi-types" "^19.1.0" - -"@octokit/types@^2.0.0": - version "2.16.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" - integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== - dependencies: - "@types/node" ">= 8" - -"@octokit/types@^2.0.1": +"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": version "2.16.2" resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== @@ -1017,16 +934,16 @@ resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== -"@types/node@>= 8": - version "16.4.0" - resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" - integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== - "@types/node@11.11.6": version "11.11.6" resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== +"@types/node@>= 8": + version "16.4.0" + resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" + integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" @@ -1096,7 +1013,7 @@ acorn-walk@^8.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -1111,7 +1028,7 @@ acorn@^8.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== -agent-base@^4.3.0, agent-base@4: +agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== @@ -1293,7 +1210,7 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -assert-plus@^1.0.0, assert-plus@1.0.0: +assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= @@ -1428,6 +1345,11 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + base@^0.11.1: version "0.11.2" resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" @@ -1441,11 +1363,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" @@ -1453,7 +1370,7 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^2.0.0, before-after-hook@^2.2.0: +before-after-hook@^2.0.0: version "2.2.2" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== @@ -1492,7 +1409,7 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bn.js@^5.1.1, bn.js@^5.2.0, bn.js@5.2.0: +bn.js@5.2.0, bn.js@^5.1.1, bn.js@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== @@ -1651,12 +1568,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -1683,16 +1595,7 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^2.3.0: +chalk@^2.0.0, chalk@^2.3.0: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1824,16 +1727,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + colorette@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" @@ -1905,7 +1808,7 @@ core-js@^2.6.5: resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@~1.0.0, core-util-is@1.0.2: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -1921,7 +1824,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.4, create-hmac@1.1.7: +create-hmac@1.1.7, create-hmac@^1.1.4: version "1.1.7" resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -2043,14 +1946,21 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +debug@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" -debug@^2.3.3: +debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -2064,20 +1974,6 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" @@ -2553,15 +2449,7 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend-shallow@^3.0.2: +extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= @@ -2588,16 +2476,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -2810,14 +2698,7 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -3166,21 +3047,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - ini@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== +ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" @@ -3422,7 +3303,7 @@ is2@^2.0.6: ip-regex "^4.1.0" is-url "^1.2.4" -isarray@~1.0.0, isarray@1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -3740,7 +3621,7 @@ jest-resolve-dependencies@^26.6.3: jest-regex-util "^26.0.0" jest-snapshot "^26.6.2" -jest-resolve@*, jest-resolve@^26.6.2: +jest-resolve@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== @@ -4091,17 +3972,7 @@ kind-of@^5.0.0: resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -4119,7 +3990,7 @@ ky-universal@^0.3.0: abort-controller "^3.0.0" node-fetch "^2.6.0" -ky@^0.12.0, ky@>=0.12.0: +ky@^0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz" integrity sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ== @@ -4380,26 +4251,7 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -4492,21 +4344,21 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -ms@^2.0.0, ms@2.0.0: +ms@2.0.0, ms@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + mustache@^4.0.0: version "4.2.0" resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" @@ -4598,22 +4450,22 @@ node-abi@^2.21.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" -node-addon-api@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz" - integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== - node-addon-api@3.0.2: 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-addon-api@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz" + integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== + node-cleanup@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@2.6.1: +node-fetch@2.6.1, node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -4952,12 +4804,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -5315,7 +5162,7 @@ request-promise-native@^1.0.9: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.34, request@^2.88.2: +request@^2.88.2: version "2.88.2" resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -5447,7 +5294,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -5486,32 +5333,12 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -semver@^5.4.1: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^6.3.0: +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -5523,11 +5350,6 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -"semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" @@ -5677,12 +5499,7 @@ source-map-url@^0.4.0: resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -5790,20 +5607,6 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -5847,6 +5650,20 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + strip-ansi-cli@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi-cli/-/strip-ansi-cli-3.0.1.tgz" @@ -5923,14 +5740,7 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.0.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^5.3.0: +supports-color@^5.0.0, supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -6126,7 +5936,7 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -ts-node@^10.4.0, ts-node@>=9.0.0: +ts-node@^10.4.0: version "10.9.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -6157,22 +5967,17 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl@^0.14.3: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -tweetnacl@^1.0.1, tweetnacl@^1.0.2, tweetnacl@1.0.3: +tweetnacl@1.0.3, tweetnacl@^1.0.1, tweetnacl@^1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== -tweetnacl@~0.14.0: +tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -type-check@^0.4.0: +type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== @@ -6186,13 +5991,6 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -6230,7 +6028,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.5.4, typescript@>=2.7: +typescript@^4.5.4: version "4.7.4" resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== From 2990bf0bc8f610cc3ba30a41ce06597b6f691d23 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:37:38 +0100 Subject: [PATCH 09/20] fix: minor fixes --- bin/near-cli.js | 2 +- commands/account/create.js | 3 +-- config.js | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/near-cli.js b/bin/near-cli.js index 899d056c..d72db0da 100644 --- a/bin/near-cli.js +++ b/bin/near-cli.js @@ -23,7 +23,7 @@ yargs // eslint-disable-line .command(require('../commands/transactions/status')) .command(require('../commands/contract/view')) .command(require('../commands/deprecated')) - .option('verbose', { desc: 'Prints out verbose output', type: 'boolean', default: false }) + .option('verbose', { alias: ['v'], desc: 'Prints out verbose output', type: 'boolean', default: false }) .showHelpOnFail(true) .recommendCommands() .demandCommand(1, chalk`Pass {bold --help} to see all available commands and options.`) diff --git a/commands/account/create.js b/commands/account/create.js index aebcc30f..95030dbe 100644 --- a/commands/account/create.js +++ b/commands/account/create.js @@ -5,7 +5,6 @@ const inspectResponse = require('../../utils/inspect-response'); const { assertCredentials, storeCredentials } = require('../../utils/credentials'); const { DEFAULT_NETWORK } = require('../../config'); const chalk = require('chalk'); -const { BN } = require('bn.js'); module.exports = { command: 'create-account ', @@ -97,7 +96,7 @@ async function create(options) { throw new Error(`Account ${options.useAccount} does not exist in ${options.networkId}. Are you using the right network?`); } - const initialBalance = new BN(utils.format.parseNearAmount(options.initialBalance)); + const initialBalance = utils.format.parseNearAmount(options.initialBalance); const split = newAccountId.split('.'); const isSubAccount = newAccountId.endsWith(options.useAccount); diff --git a/config.js b/config.js index af0d158e..748c6e6c 100644 --- a/config.js +++ b/config.js @@ -26,6 +26,7 @@ function getConfig(env) { default: throw Error(`Unconfigured environment '${env}'. Can be configured in src/config.js.`); } + config['initialBalance'] = '1' + '0'.repeat(24); return config; } From 01dcac0e310543af0a82d1d34b0ef816091a03a8 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:42:20 +0100 Subject: [PATCH 10/20] updated codeowners --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index af67c081..4b82c1c7 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,3 +1,3 @@ # CODEOWNERS: https://help.github.com/articles/about-codeowners/ -@vgrichina @mikedotexe @mehtaphysical @thisisjoshford @volovyk-s +@volovyks @thisisjoshford @gagdiez \ No newline at end of file From 5daa1d632098167ff5e17a1a0a015afe47ba4254 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 12:42:42 +0100 Subject: [PATCH 11/20] chore: remove unnecesary filesg --- test/index.sh | 2 -- test_environment.js | 71 --------------------------------------------- 2 files changed, 73 deletions(-) delete mode 100644 test_environment.js diff --git a/test/index.sh b/test/index.sh index 84ee2ace..80027ee2 100755 --- a/test/index.sh +++ b/test/index.sh @@ -1,8 +1,6 @@ #!/bin/bash export NODE_ENV=${NODE_ENV:-test} OVERALL_RESULT=0 -mkdir ~/.near-config -echo '{"trackingEnabled":false}' > ~/.near-config/settings.json SUCCESS="" FAIL="" diff --git a/test_environment.js b/test_environment.js deleted file mode 100644 index 5320c97b..00000000 --- a/test_environment.js +++ /dev/null @@ -1,71 +0,0 @@ -const NodeEnvironment = require('jest-environment-node'); -const nearAPI = require('near-api-js'); -const fs = require('fs'); - -const { PROJECT_KEY_DIR } = require('./middleware/key-store'); - -const INITIAL_BALANCE = '500000000000000000000000000'; -const testAccountName = 'test.near'; - -class LocalTestEnvironment extends NodeEnvironment { - constructor(config) { - super(config); - } - - async setup() { - this.global.nearlib = require('near-api-js'); - this.global.nearAPI = require('near-api-js'); - this.global.window = {}; - let config = require('./get-config')(); - this.global.testSettings = this.global.nearConfig = config; - const now = Date.now(); - // create random number with at least 7 digits - const randomNumber = Math.floor(Math.random() * (9999999 - 1000000) + 1000000); - config = Object.assign(config, { - contractName: 'test-account-' + now + '-' + randomNumber, - accountId: 'test-account-' + now + '-' + randomNumber - }); - const keyStore = new nearAPI.keyStores.UnencryptedFileSystemKeyStore(PROJECT_KEY_DIR); - config.deps = Object.assign(config.deps || {}, { - storage: this.createFakeStorage(), - keyStore, - }); - const near = await nearAPI.connect(config); - - const masterAccount = await near.account(testAccountName); - const randomKey = await nearAPI.KeyPair.fromRandom('ed25519'); - const data = [...fs.readFileSync('./out/main.wasm')]; - await config.deps.keyStore.setKey(config.networkId, config.contractName, randomKey); - await masterAccount.createAndDeployContract(config.contractName, randomKey.getPublicKey(), data, INITIAL_BALANCE); - - await super.setup(); - } - - async teardown() { - await super.teardown(); - } - - runScript(script) { - return super.runScript(script); - } - - createFakeStorage() { - let store = {}; - return { - getItem: function(key) { - return store[key]; - }, - setItem: function(key, value) { - store[key] = value.toString(); - }, - clear: function() { - store = {}; - }, - removeItem: function(key) { - delete store[key]; - } - }; - } -} - -module.exports = LocalTestEnvironment; From 460073db054819f10142d7c7c3ad67aa5b63ea66 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 13:04:44 +0100 Subject: [PATCH 12/20] chore: rename param for consistency --- commands/contract/call.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/contract/call.js b/commands/contract/call.js index 8ed78d62..aa64e33d 100644 --- a/commands/contract/call.js +++ b/commands/contract/call.js @@ -10,7 +10,7 @@ module.exports = { command: 'call [args]', desc: 'Call method in smart contract', builder: (yargs) => yargs - .option('signAs', { + .option('useAccount', { required: true, alias: ['accountId'], desc: 'accountId that will execute the actions', From 0fcadbc8086166e9aa7f4e1735e5034561e4fc7c Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 13:05:59 +0100 Subject: [PATCH 13/20] chore: rollback unnecesary change --- .eslintrc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.yml b/.eslintrc.yml index 82e529b5..5148948a 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -4,7 +4,7 @@ env: jest: true extends: 'eslint:recommended' parserOptions: - ecmaVersion: latest + ecmaVersion: 2018 rules: indent: - error From bec8ce18a7fbb0a7eb42b8768f7c7af095fb8f56 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 13:11:53 +0100 Subject: [PATCH 14/20] chore: remove unnecesary dependencies --- package.json | 20 +- yarn.lock | 1278 ++++++++++++-------------------------------------- 2 files changed, 292 insertions(+), 1006 deletions(-) diff --git a/package.json b/package.json index a2d75213..55f653e6 100644 --- a/package.json +++ b/package.json @@ -33,36 +33,23 @@ "eslint": "^7.0.0", "jest": "^26.1.0", "lodash": "^4.17.21", - "strip-ansi": "^7.0.0", - "strip-ansi-cli": "^3.0.0", "ts-node": "^10.4.0", "typescript": "^4.5.4" }, "dependencies": { - "analytics-node": "^6.1.0", - "ascii-table": "0.0.9", - "bn.js": "^5.1.1", "bs58": "^4.0.1", "chalk": "^4.0.0", "flagged-respawn": "^1.0.1", "is-ci": "^2.0.0", - "jest-environment-node": "^27.0.6", "near-api-js": "^0.44.2", "near-seed-phrase": "^0.2.0", "open": "^8.0.7", - "random-words": "^2.0.0", - "rimraf": "^3.0.0", "stoppable": "^1.1.0", - "tcp-port-used": "^1.0.1", + "tcp-port-used": "^1.0.2", "update-notifier": "^5.0.0", - "uuid": "^8.0.0", "v8flags": "^3.1.3", "yargs": "^16.0.3" }, - "optionalDependencies": { - "@ledgerhq/hw-transport-node-hid": "^6.1.0", - "near-ledger-js": "^0.2.0" - }, "keywords": [ "blockchain", "crypto", @@ -76,9 +63,6 @@ "commands", "middleware", "utils", - "config.js", - "get-config.js", - "test_environment.js", - "context" + "config.js" ] } diff --git a/yarn.lock b/yarn.lock index 20a474fe..194526a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" @@ -16,12 +9,19 @@ dependencies: "@babel/highlight" "^7.12.13" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.13.15": version "7.14.0" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz" integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== -"@babel/core@^7.1.0", "@babel/core@^7.7.5": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.14.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz" integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== @@ -418,16 +418,6 @@ "@types/node" "*" jest-mock "^26.6.2" -"@jest/environment@^27.0.6": - version "27.0.6" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.0.6.tgz" - integrity sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg== - dependencies: - "@jest/fake-timers" "^27.0.6" - "@jest/types" "^27.0.6" - "@types/node" "*" - jest-mock "^27.0.6" - "@jest/fake-timers@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz" @@ -440,18 +430,6 @@ jest-mock "^26.6.2" jest-util "^26.6.2" -"@jest/fake-timers@^27.0.6": - version "27.0.6" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.6.tgz" - integrity sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ== - dependencies: - "@jest/types" "^27.0.6" - "@sinonjs/fake-timers" "^7.0.2" - "@types/node" "*" - jest-message-util "^27.0.6" - jest-mock "^27.0.6" - jest-util "^27.0.6" - "@jest/globals@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz" @@ -555,17 +533,6 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^27.0.6": - version "27.0.6" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.0.6.tgz" - integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" @@ -584,119 +551,6 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@ledgerhq/devices@^5.51.1": - version "5.51.1" - resolved "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz" - integrity sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA== - dependencies: - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/logs" "^5.50.0" - rxjs "6" - semver "^7.3.5" - -"@ledgerhq/devices@^6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.1.0.tgz" - integrity sha512-Swl08sVuvx7IL9yx9P0ZzvwjIl4JXl51X34Po3pT2uRRaLnh/fRRSNe9tSC1gFMioviiLJlkmO+yydE4XeV+Jg== - dependencies: - "@ledgerhq/errors" "^6.0.2" - "@ledgerhq/logs" "^6.0.2" - rxjs "6" - semver "^7.3.5" - -"@ledgerhq/errors@^5.34.0", "@ledgerhq/errors@^5.50.0": - version "5.50.0" - resolved "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz" - integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow== - -"@ledgerhq/errors@^6.0.2": - version "6.0.2" - resolved "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.0.2.tgz" - integrity sha512-m42ZMzR/EKpOrZfPR3DzusE98DoF3d03cbBkQG6ddm6diwVXFSa7MabaKzgD+41EYQ+hrCGOEZK1K0kosX1itg== - -"@ledgerhq/hw-transport-node-hid-noevents@^6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.1.0.tgz" - integrity sha512-U7VFaLIG46ohe92N7ZXqgJSLuIWTPXS6BxT+K45VIkHr/OZYlJhtrI/5Ly3FOUOnWsI+O7QCg/yTBdEkfVSfRw== - dependencies: - "@ledgerhq/devices" "^6.1.0" - "@ledgerhq/errors" "^6.0.2" - "@ledgerhq/hw-transport" "^6.1.0" - "@ledgerhq/logs" "^6.0.2" - node-hid "2.1.1" - -"@ledgerhq/hw-transport-node-hid@^6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.1.0.tgz" - integrity sha512-WmVkc/bOKxnesv3wadooNVdWR2lRhti5asn6kw7OstRNOAXlSgYyPexLsliCfIe9APwOSt+S5SDci+oEh8Oh/Q== - dependencies: - "@ledgerhq/devices" "^6.1.0" - "@ledgerhq/errors" "^6.0.2" - "@ledgerhq/hw-transport" "^6.1.0" - "@ledgerhq/hw-transport-node-hid-noevents" "^6.1.0" - "@ledgerhq/logs" "^6.0.2" - lodash "^4.17.21" - node-hid "2.1.1" - usb "^1.7.0" - -"@ledgerhq/hw-transport-u2f@^5.36.0-deprecated": - version "5.36.0-deprecated" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.36.0-deprecated.tgz" - integrity sha512-T/+mGHIiUK/ZQATad6DMDmobCMZ1mVST952009jKzhaE1Et2Uy2secU+QhRkx3BfEAkvwa0zSRSYCL9d20Iqjg== - dependencies: - "@ledgerhq/errors" "^5.34.0" - "@ledgerhq/hw-transport" "^5.34.0" - "@ledgerhq/logs" "^5.30.0" - u2f-api "0.2.7" - -"@ledgerhq/hw-transport-webhid@^5.51.1": - version "5.51.1" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-5.51.1.tgz" - integrity sha512-w/2qSU0vwFY+D/4ucuYRViO7iS3Uuxmj9sI/Iiqkoiax9Xppb0/6H5m3ffKv6iPMmRYbgwCgXorqx4SLLSD8Kg== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/hw-transport" "^5.51.1" - "@ledgerhq/logs" "^5.50.0" - -"@ledgerhq/hw-transport-webusb@^5.53.1": - version "5.53.1" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.53.1.tgz" - integrity sha512-A/f+xcrkIAZiJrvPpDvsrjxQX4cI2kbdiunQkwsYmOG3Bp4z89ZnsBiC7YBst4n2/g+QgTg0/KPVtODU5djooQ== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/hw-transport" "^5.51.1" - "@ledgerhq/logs" "^5.50.0" - -"@ledgerhq/hw-transport@^5.34.0", "@ledgerhq/hw-transport@^5.51.1": - version "5.51.1" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz" - integrity sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - events "^3.3.0" - -"@ledgerhq/hw-transport@^6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.1.0.tgz" - integrity sha512-j9IyvksI9PjFoFrk/B3p8wCXWRWc8uK24gc20pAaXQiDtqMkWqEge8iZyPKWBVIv69vDQF3LE3Y6EeRwwA7wJA== - dependencies: - "@ledgerhq/devices" "^6.1.0" - "@ledgerhq/errors" "^6.0.2" - events "^3.3.0" - -"@ledgerhq/logs@^5.30.0", "@ledgerhq/logs@^5.50.0": - version "5.50.0" - resolved "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz" - integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== - -"@ledgerhq/logs@^6.0.2": - version "6.0.2" - resolved "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.0.2.tgz" - integrity sha512-4lU3WBwugG+I/dv/qE8HQ2f7MNsKfU58FEzSE1PAELvW96umrlO4ogwuO1tRCPmrtOo9ssam1QVYotwELY8zvw== - "@octokit/auth-token@^2.4.0": version "2.4.5" resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz" @@ -704,6 +558,24 @@ dependencies: "@octokit/types" "^6.0.3" +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@>=3": + version "5.0.2" + resolved "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz" + integrity sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.0.0" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + "@octokit/endpoint@^6.0.1": version "6.0.12" resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" @@ -713,6 +585,28 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" +"@octokit/endpoint@^9.0.0": + version "9.0.4" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz" + integrity sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw== + dependencies: + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^7.0.0": + version "7.0.2" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz" + integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== + dependencies: + "@octokit/request" "^8.0.1" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^19.1.0": + version "19.1.0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz" + integrity sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw== + "@octokit/openapi-types@^9.1.0": version "9.1.0" resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.0.tgz" @@ -756,6 +650,15 @@ deprecation "^2.0.0" once "^1.4.0" +"@octokit/request-error@^5.0.0": + version "5.0.1" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz" + integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== + dependencies: + "@octokit/types" "^12.0.0" + deprecation "^2.0.0" + once "^1.4.0" + "@octokit/request@^5.2.0": version "5.6.0" resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz" @@ -768,6 +671,26 @@ node-fetch "^2.6.1" universal-user-agent "^6.0.0" +"@octokit/request@^8.0.1": + version "8.1.6" + resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" + integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/request@^8.0.2": + version "8.1.6" + resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" + integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + "@octokit/rest@^16.43.1": version "16.43.2" resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz" @@ -790,7 +713,21 @@ once "^1.4.0" universal-user-agent "^4.0.0" -"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": +"@octokit/types@^12.0.0": + version "12.4.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz" + integrity sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ== + dependencies: + "@octokit/openapi-types" "^19.1.0" + +"@octokit/types@^2.0.0": + version "2.16.2" + resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" + integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== + dependencies: + "@types/node" ">= 8" + +"@octokit/types@^2.0.1": version "2.16.2" resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== @@ -804,14 +741,6 @@ dependencies: "@octokit/openapi-types" "^9.1.0" -"@segment/loosely-validate-event@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz" - integrity sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw== - dependencies: - component-type "^1.2.1" - join-component "^1.1.0" - "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" @@ -831,13 +760,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@sinonjs/fake-timers@^7.0.2": - version "7.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== - dependencies: - "@sinonjs/commons" "^1.7.0" - "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" @@ -924,26 +846,21 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/minimist@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz" - integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== - "@types/node@*": version "15.0.2" resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== -"@types/node@11.11.6": - version "11.11.6" - resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== - "@types/node@>= 8": version "16.4.0" resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" @@ -971,13 +888,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" @@ -1013,7 +923,7 @@ acorn-walk@^8.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.1.1, acorn@^7.4.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -1028,7 +938,7 @@ acorn@^8.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== -agent-base@4, agent-base@^4.3.0: +agent-base@^4.3.0, agent-base@4: version "4.3.0" resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== @@ -1055,20 +965,6 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -analytics-node@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/analytics-node/-/analytics-node-6.1.0.tgz" - integrity sha512-17B+EPf4GN4gjRsOyXgY/heBh27nb0KWtuDS+wDe11r5T3RDBejkTrWDxAvUyByGFhidsvK4onJlhWhIFy+r3A== - dependencies: - "@segment/loosely-validate-event" "^2.0.0" - axios "^0.27.2" - axios-retry "3.2.0" - lodash.isstring "^4.0.1" - md5 "^2.2.1" - ms "^2.0.0" - remove-trailing-slash "^0.1.0" - uuid "^8.3.2" - ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" @@ -1088,16 +984,6 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" @@ -1108,11 +994,6 @@ ansi-regex@^5.0.0: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-regex@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz" - integrity sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ== - ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -1127,11 +1008,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" @@ -1148,19 +1024,6 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" @@ -1193,16 +1056,6 @@ array-unique@^0.3.2: resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -ascii-table@0.0.9: - version "0.0.9" - resolved "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz" - integrity sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM= - asn1@~0.2.3: version "0.2.4" resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" @@ -1210,7 +1063,7 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -assert-plus@1.0.0, assert-plus@^1.0.0: +assert-plus@^1.0.0, assert-plus@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= @@ -1257,21 +1110,6 @@ aws4@^1.8.0: resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axios-retry@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.0.tgz" - integrity sha512-RK2cLMgIsAQBDhlIsJR5dOhODPigvel18XUv1dDXW+4k1FzebyfRk+C+orot6WPZOYFKSfhLwHPwVmTVOODQ5w== - dependencies: - is-retry-allowed "^1.1.0" - -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== - dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" - babel-jest@^26.6.3: version "26.6.3" resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz" @@ -1345,11 +1183,6 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - base@^0.11.1: version "0.11.2" resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" @@ -1370,18 +1203,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^2.0.0: +before-after-hook@^2.0.0, before-after-hook@^2.2.0: version "2.2.2" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== -bindings@^1.4.0, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bip39-light@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/bip39-light/-/bip39-light-1.0.7.tgz" @@ -1400,16 +1226,7 @@ bip39@3.0.2: pbkdf2 "^3.0.9" randombytes "^2.0.1" -bl@^4.0.3: - 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" - -bn.js@5.2.0, bn.js@^5.1.1, bn.js@^5.2.0: +bn.js@^5.2.0, bn.js@5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== @@ -1513,14 +1330,6 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - cache-base@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" @@ -1554,21 +1363,17 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0, camelcase@^6.2.0: +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +camelcase@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -1595,7 +1400,16 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.3.0: +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.3.0: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1617,26 +1431,11 @@ char-regex@^1.0.2: resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.1.1: - version "3.2.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" @@ -1695,11 +1494,6 @@ co@^4.6.0: resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" @@ -1727,16 +1521,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + colorette@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" @@ -1747,7 +1541,7 @@ colors@^1.1.2: resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1764,11 +1558,6 @@ component-emitter@^1.2.1: resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -component-type@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz" - integrity sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -1786,11 +1575,6 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" @@ -1808,7 +1592,7 @@ core-js@^2.6.5: resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -1824,7 +1608,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@1.1.7, create-hmac@^1.1.4: +create-hmac@^1.1.4, create-hmac@1.1.7: version "1.1.7" resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -1861,11 +1645,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" @@ -1946,21 +1725,14 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3: +debug@^2.3.3: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1974,15 +1746,21 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" + ms "2.0.0" -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -2004,13 +1782,6 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz" - integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== - dependencies: - mimic-response "^2.0.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" @@ -2063,11 +1834,6 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" @@ -2083,11 +1849,6 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" @@ -2164,7 +1925,7 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -2362,11 +2123,6 @@ event-target-shim@^5.0.0: resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -events@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - exec-sh@^0.3.2: version "0.3.6" resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" @@ -2418,11 +2174,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" @@ -2449,7 +2200,15 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0, extend-shallow@^3.0.2: +extend-shallow@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= @@ -2476,16 +2235,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -2520,11 +2279,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" @@ -2573,11 +2327,6 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -follow-redirects@^1.14.9: - version "1.15.1" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== - for-in@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" @@ -2597,15 +2346,6 @@ form-data@^2.5.0: combined-stream "^1.0.6" mime-types "^2.1.12" -form-data@^4.0.0: - 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" - form-data@~2.3.2: version "2.3.3" resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" @@ -2622,11 +2362,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz" @@ -2652,20 +2387,6 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -2686,11 +2407,6 @@ get-stdin@^6.0.0: resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stdin@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz" - integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== - get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" @@ -2698,7 +2414,14 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -2726,11 +2449,6 @@ git-config-path@^1.0.1: fs-exists-sync "^0.1.0" homedir-polyfill "^1.0.0" -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= - gitlab@^10.0.1: version "10.2.1" resolved "https://registry.npmjs.org/gitlab/-/gitlab-10.2.1.tgz" @@ -2822,11 +2540,6 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - has-flag@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" @@ -2842,11 +2555,6 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has-value@^0.3.1: version "0.3.1" resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" @@ -2916,13 +2624,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - html-encoding-sniffer@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" @@ -2998,11 +2699,6 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - ignore@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" @@ -3034,11 +2730,6 @@ imurmurhash@^0.1.4: resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" @@ -3047,21 +2738,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" @@ -3086,7 +2777,7 @@ is-arrayish@^0.2.1: resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-buffer@^1.1.5, is-buffer@~1.1.6: +is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -3098,13 +2789,6 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-ci@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz" - integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== - dependencies: - ci-info "^3.1.1" - is-core-module@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz" @@ -3166,13 +2850,6 @@ is-extglob@^2.1.1: resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" @@ -3230,11 +2907,6 @@ is-path-inside@^3.0.2: resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" @@ -3252,11 +2924,6 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" @@ -3303,7 +2970,7 @@ is2@^2.0.6: ip-regex "^4.1.0" is-url "^1.2.4" -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -3476,18 +3143,6 @@ jest-environment-node@^26.6.2: jest-mock "^26.6.2" jest-util "^26.6.2" -jest-environment-node@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.6.tgz" - integrity sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w== - dependencies: - "@jest/environment" "^27.0.6" - "@jest/fake-timers" "^27.0.6" - "@jest/types" "^27.0.6" - "@types/node" "*" - jest-mock "^27.0.6" - jest-util "^27.0.6" - jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" @@ -3571,21 +3226,6 @@ jest-message-util@^26.6.2: slash "^3.0.0" stack-utils "^2.0.2" -jest-message-util@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.6.tgz" - integrity sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.0.6" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.0.6" - slash "^3.0.0" - stack-utils "^2.0.3" - jest-mock@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz" @@ -3594,14 +3234,6 @@ jest-mock@^26.6.2: "@jest/types" "^26.6.2" "@types/node" "*" -jest-mock@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.6.tgz" - integrity sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw== - dependencies: - "@jest/types" "^27.0.6" - "@types/node" "*" - jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" @@ -3621,7 +3253,7 @@ jest-resolve-dependencies@^26.6.3: jest-regex-util "^26.0.0" jest-snapshot "^26.6.2" -jest-resolve@^26.6.2: +jest-resolve@*, jest-resolve@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== @@ -3736,18 +3368,6 @@ jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" -jest-util@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.0.6.tgz" - integrity sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ== - dependencies: - "@jest/types" "^27.0.6" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" - jest-validate@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz" @@ -3791,11 +3411,6 @@ jest@^26.1.0: import-local "^3.0.2" jest-cli "^26.6.3" -join-component@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz" - integrity sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ== - js-sha256@^0.9.0: version "0.9.0" resolved "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz" @@ -3972,7 +3587,12 @@ kind-of@^5.0.0: resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kind-of@^6.0.2: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -3990,7 +3610,7 @@ ky-universal@^0.3.0: abort-controller "^3.0.0" node-fetch "^2.6.0" -ky@^0.12.0: +ky@^0.12.0, ky@>=0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz" integrity sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ== @@ -4186,16 +3806,6 @@ map-cache@^0.2.2: resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== - map-visit@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" @@ -4212,15 +3822,6 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -md5@^2.2.1: - version "2.3.0" - resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - memfs-or-file-map-to-github-branch@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/memfs-or-file-map-to-github-branch/-/memfs-or-file-map-to-github-branch-1.2.0.tgz" @@ -4228,30 +3829,12 @@ memfs-or-file-map-to-github-branch@^1.1.0: dependencies: "@octokit/rest" "^16.43.1" -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10: version "3.1.10" resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -4270,7 +3853,26 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: version "4.0.4" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -4300,16 +3902,6 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mimic-response@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - minimatch@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" @@ -4317,16 +3909,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -4339,12 +3922,12 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -ms@2.0.0, ms@^2.0.0: +ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= @@ -4354,11 +3937,6 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - mustache@^4.0.0: version "4.2.0" resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" @@ -4381,11 +3959,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" @@ -4417,17 +3990,6 @@ near-hd-key@^1.2.1: create-hmac "1.1.7" tweetnacl "1.0.3" -near-ledger-js@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/near-ledger-js/-/near-ledger-js-0.2.0.tgz" - integrity sha512-6YcK7o+GcsUoGevjVqDotVZE3hvCcr9cRxFx/+PyR7JrDbzbVhavXQInqJxdZnqYC7K/dh/YZKhwhtXHXEF1iQ== - dependencies: - "@ledgerhq/hw-transport-u2f" "^5.36.0-deprecated" - "@ledgerhq/hw-transport-webhid" "^5.51.1" - "@ledgerhq/hw-transport-webusb" "^5.53.1" - bs58 "^4.0.1" - platform "^1.3.6" - near-seed-phrase@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/near-seed-phrase/-/near-seed-phrase-0.2.0.tgz" @@ -4443,42 +4005,16 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-abi@^2.21.0, node-abi@^2.7.0: - version "2.26.0" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz" - integrity sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ== - dependencies: - semver "^5.4.1" - -node-addon-api@3.0.2: - 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-addon-api@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz" - integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== - node-cleanup@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-fetch@2.6.1, node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@2.6.1: version "2.6.1" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-hid@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/node-hid/-/node-hid-2.1.1.tgz" - integrity sha512-Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw== - dependencies: - bindings "^1.5.0" - node-addon-api "^3.0.2" - prebuild-install "^6.0.0" - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -4506,11 +4042,6 @@ node-releases@^1.1.71: resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz" integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz" - integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= - normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -4521,16 +4052,6 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" @@ -4562,21 +4083,6 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" -npmlog@^4.0.1: - version "4.1.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" @@ -4594,11 +4100,6 @@ oauth-sign@~0.9.0: resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - object-copy@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" @@ -4804,7 +4305,12 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -4854,57 +4360,11 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -platform@^1.3.6: - version "1.3.6" - resolved "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz" - integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -prebuild-install@^5.3.3: - 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" - -prebuild-install@^6.0.0: - version "6.1.2" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.2.tgz" - integrity sha512-PzYWIKZeP+967WuKYXlTOhYBgGOvTRSfaKI89XnfJ0ansRAH7hDU45X+K+FZeI1Wb/7p/NnuctPH3g0IqKUuSQ== - 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.21.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" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" @@ -4930,16 +4390,6 @@ pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.6.tgz" - integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ== - dependencies: - "@jest/types" "^27.0.6" - ansi-regex "^5.0.0" - ansi-styles "^5.0.0" - react-is "^17.0.1" - prettyjson@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz" @@ -4948,11 +4398,6 @@ prettyjson@^1.2.1: colors "^1.1.2" minimist "^1.2.0" -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - progress@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" @@ -5006,18 +4451,6 @@ query-string@^6.8.2: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -random-words@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/random-words/-/random-words-2.0.0.tgz" - integrity sha512-uqpnDqFnYrZajgmvgjmBrSZL2V1UA/9bNPGrilo12CmBeBszoff/avElutUlwWxG12gvmCk/8dUhvHefYxzYjw== - dependencies: - seedrandom "^3.0.5" - randombytes@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -5025,7 +4458,7 @@ randombytes@^2.0.1: dependencies: safe-buffer "^5.1.0" -rc@^1.2.7, rc@^1.2.8: +rc@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -5059,20 +4492,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^2.0.6: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5086,14 +4506,6 @@ readline-sync@^1.4.9: resolved "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz" integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - regenerator-runtime@^0.13.4: version "0.13.7" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" @@ -5131,11 +4543,6 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -remove-trailing-slash@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz" - integrity sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA== - repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" @@ -5162,7 +4569,7 @@ request-promise-native@^1.0.9: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.88.2: +request@^2.34, request@^2.88.2: version "2.88.2" resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -5225,7 +4632,7 @@ resolve-url@^0.2.1: resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.18.1, resolve@^1.20.0: +resolve@^1.10.0, resolve@^1.18.1: version "1.20.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -5270,19 +4677,12 @@ rsvp@^4.8.4: resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -rxjs@6: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -5294,7 +4694,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -5321,11 +4721,6 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -seedrandom@^3.0.5: - version "3.0.5" - resolved "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" - integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== - semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" @@ -5333,24 +4728,44 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +semver@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: version "7.3.5" resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -5412,20 +4827,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz" - integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== - dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" @@ -5499,7 +4900,12 @@ source-map-url@^0.4.0: resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.5.6: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -5572,7 +4978,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -stack-utils@^2.0.2, stack-utils@^2.0.3: +stack-utils@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz" integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== @@ -5607,6 +5013,13 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -5615,23 +5028,6 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string-width@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" @@ -5650,43 +5046,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi-cli@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi-cli/-/strip-ansi-cli-3.0.1.tgz" - integrity sha512-iLTUGQ0XT0QM/MsG5MJzl91C48/NekgP1M5K41rDG+z1zvgsaXgwYnL0i7+a3JixnGmjWsqa9JpFY3q/Zn92Rg== - dependencies: - get-stdin "^9.0.0" - meow "^9.0.0" - strip-ansi "^7.0.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" @@ -5701,13 +5060,6 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz" - integrity sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg== - dependencies: - ansi-regex "^6.0.0" - strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" @@ -5723,13 +5075,6 @@ strip-final-newline@^2.0.0: resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" @@ -5740,7 +5085,14 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.0.0, supports-color@^5.3.0: +supports-color@^5.0.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -5787,28 +5139,7 @@ table@^6.0.9: string-width "^4.2.0" strip-ansi "^6.0.0" -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tcp-port-used@^1.0.1: +tcp-port-used@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz" integrity sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA== @@ -5931,12 +5262,7 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -ts-node@^10.4.0: +ts-node@^10.4.0, ts-node@>=9.0.0: version "10.9.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -5955,11 +5281,6 @@ ts-node@^10.4.0: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" @@ -5967,17 +5288,22 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl@1.0.3, tweetnacl@^1.0.1, tweetnacl@^1.0.2: +tweetnacl@^0.14.3: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +tweetnacl@^1.0.1, tweetnacl@^1.0.2, tweetnacl@1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: +tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -type-check@^0.4.0, type-check@~0.4.0: +type-check@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== @@ -5991,16 +5317,18 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" @@ -6028,16 +5356,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.5.4: +typescript@^4.5.4, typescript@>=2.7: version "4.7.4" resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== -u2f-api@0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz" - integrity sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg== - u3@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/u3/-/u3-0.1.1.tgz" @@ -6132,21 +5455,12 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -usb@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/usb/-/usb-1.7.0.tgz" - integrity sha512-LHm9d389NCzZSMd0DnilxT5Lord4P2E3ETwP1LeuJcEBmI5uLJv8Sd18z/9bairUMbDnnNqX+Hi5Xkl93Kvdmw== - dependencies: - bindings "^1.4.0" - node-addon-api "3.0.2" - prebuild-install "^5.3.3" - use@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -6156,7 +5470,7 @@ uuid@^3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0, uuid@^8.3.0, uuid@^8.3.2: +uuid@^8.3.0: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -6275,11 +5589,6 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - which@^1.2.9: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" @@ -6294,13 +5603,6 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - widest-line@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" @@ -6401,7 +5703,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.2: version "20.2.7" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== From 16b38a0151110c32872e66754e95e5197bebb1ed Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 15:20:24 +0100 Subject: [PATCH 15/20] fix: added forgotten deprecated methods --- commands/deprecated.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/commands/deprecated.js b/commands/deprecated.js index 59210fd6..4c5953ba 100644 --- a/commands/deprecated.js +++ b/commands/deprecated.js @@ -2,7 +2,7 @@ const chalk = require('chalk'); module.exports = [ { - command: ['clean', 'repl', 'stake', 'evm-call', 'evm-view', 'set-api-key', 'js'], + command: ['clean', 'repl', 'stake', 'evm-call', 'evm-view', 'set-api-key', 'js', 'validators', 'proposals'], desc: false, handler: deprecated }, @@ -14,11 +14,10 @@ module.exports = [ ]; async function deprecated() { - console.log(chalk`This command has been {bold.red deprecated}`); - console.log(chalk`Consider using {bold.blue near-cli-rs} instead`); + console.log(chalk`\nThis command has been {bold.red deprecated}. Consider using {bold.blue near-cli-rs} instead\n`); } async function deprecatedDevDeploy() { - console.log(chalk`This command has been {bold.red deprecated}`); - console.log(chalk`Please use: {bold.white near create-random-account} and {bold.white near deploy} instead`); + console.log(chalk`\nThis command has been {bold.red deprecated}`); + console.log(chalk`Please use: {bold.white near create-account --useFaucet} to create a pre-funded account, and then {bold.white near deploy} to deploy the contract\n`); } \ No newline at end of file From 8895ea7a45d5af192c938fa3718ca2ebc0460899 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 15:22:13 +0100 Subject: [PATCH 16/20] fix: removed deprecated methods from README --- README.md | 550 +----------------------------------------------------- 1 file changed, 1 insertion(+), 549 deletions(-) diff --git a/README.md b/README.md index c25c5380..a773138d 100644 --- a/README.md +++ b/README.md @@ -785,561 +785,13 @@ Transaction guest-book.testnet:FY8hBam2iyQfdHkdR1dp6w5XEPJzJSosX1wUeVPyUvVK --- -## Validators - -### `near validators current` - -> Displays details of current validators. -> -> - amount staked -> - number of seats -> - percentage of uptime -> - expected block production -> - blocks actually produced - -- arguments: `current` -- options: `default` - -**Example:** - -```bash -near validators current -``` - -**Example for `mainnet`:** - -```bash -NEAR_ENV=mainnet near validators current -``` - -
-Example Response -

- -```bash -Validators (total: 49, seat price: 1,976,588): -.--------------------------------------------------------------------------------------------------------------------. -| Validator Id | Stake | Seats | % Online | Blocks produced | Blocks expected | -|----------------------------------------------|------------|-------|----------|-----------------|-----------------| -| cryptium.poolv1.near | 13,945,727 | 7 | 100% | 1143 | 1143 | -| astro-stakers.poolv1.near | 11,660,189 | 5 | 100% | 817 | 817 | -| blockdaemon.poolv1.near | 11,542,867 | 5 | 76.74% | 627 | 817 | -| zavodil.poolv1.near | 11,183,187 | 5 | 100% | 818 | 818 | -| bisontrails.poolv1.near | 10,291,696 | 5 | 99.38% | 810 | 815 | -| dokiacapital.poolv1.near | 7,906,352 | 3 | 99.54% | 650 | 653 | -| chorusone.poolv1.near | 7,480,508 | 3 | 100% | 490 | 490 | -| figment.poolv1.near | 6,931,070 | 3 | 100% | 489 | 489 | -| stardust.poolv1.near | 6,401,678 | 3 | 100% | 491 | 491 | -| anonymous.poolv1.near | 6,291,821 | 3 | 97.55% | 479 | 491 | -| d1.poolv1.near | 6,265,109 | 3 | 100% | 491 | 491 | -| near8888.poolv1.near | 6,202,968 | 3 | 99.38% | 486 | 489 | -| rekt.poolv1.near | 5,950,212 | 3 | 100% | 490 | 490 | -| epic.poolv1.near | 5,639,256 | 2 | 100% | 326 | 326 | -| fresh.poolv1.near | 5,460,410 | 2 | 100% | 327 | 327 | -| buildlinks.poolv1.near | 4,838,398 | 2 | 99.38% | 325 | 327 | -| jubi.poolv1.near | 4,805,921 | 2 | 100% | 326 | 326 | -| openshards.poolv1.near | 4,644,553 | 2 | 100% | 326 | 326 | -| jazza.poolv1.near | 4,563,432 | 2 | 100% | 327 | 327 | -| northernlights.poolv1.near | 4,467,978 | 2 | 99.39% | 326 | 328 | -| inotel.poolv1.near | 4,427,152 | 2 | 100% | 327 | 327 | -| baziliknear.poolv1.near | 4,261,142 | 2 | 100% | 328 | 328 | -| stakesabai.poolv1.near | 4,242,618 | 2 | 100% | 326 | 326 | -| everstake.poolv1.near | 4,234,552 | 2 | 100% | 327 | 327 | -| stakin.poolv1.near | 4,071,704 | 2 | 100% | 327 | 327 | -| certusone.poolv1.near | 3,734,505 | 1 | 100% | 164 | 164 | -| lux.poolv1.near | 3,705,394 | 1 | 100% | 163 | 163 | -| staked.poolv1.near | 3,683,365 | 1 | 100% | 164 | 164 | -| lunanova.poolv1.near | 3,597,231 | 1 | 100% | 163 | 163 | -| appload.poolv1.near | 3,133,163 | 1 | 100% | 163 | 163 | -| smart-stake.poolv1.near | 3,095,711 | 1 | 100% | 164 | 164 | -| artemis.poolv1.near | 3,009,462 | 1 | 99.39% | 163 | 164 | -| moonlet.poolv1.near | 2,790,296 | 1 | 100% | 163 | 163 | -| nearfans.poolv1.near | 2,771,137 | 1 | 100% | 163 | 163 | -| nodeasy.poolv1.near | 2,692,745 | 1 | 99.39% | 163 | 164 | -| erm.poolv1.near | 2,653,524 | 1 | 100% | 164 | 164 | -| zkv_staketosupportprivacy.poolv1.near | 2,548,343 | 1 | 99.39% | 163 | 164 | -| dsrvlabs.poolv1.near | 2,542,925 | 1 | 100% | 164 | 164 | -| 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 | 1 | 100% | 163 | 163 | -| electric.poolv1.near | 2,400,532 | 1 | 99.39% | 163 | 164 | -| sparkpool.poolv1.near | 2,378,191 | 1 | 100% | 163 | 163 | -| hashquark.poolv1.near | 2,376,424 | 1 | 100% | 164 | 164 | -| masternode24.poolv1.near | 2,355,634 | 1 | 100% | 164 | 164 | -| sharpdarts.poolv1.near | 2,332,398 | 1 | 99.38% | 162 | 163 | -| fish.poolv1.near | 2,315,249 | 1 | 100% | 163 | 163 | -| ashert.poolv1.near | 2,103,327 | 1 | 97.56% | 160 | 164 | -| 01node.poolv1.near | 2,058,200 | 1 | 100% | 163 | 163 | -| finoa.poolv1.near | 2,012,304 | 1 | 100% | 163 | 163 | -| majlovesreg.poolv1.near | 2,005,032 | 1 | 100% | 164 | 164 | -'--------------------------------------------------------------------------------------------------------------------' -``` - -

-
- ---- - -### `near validators next` - -> Displays details for the next round of validators. -> -> - total number of seats available -> - seat price -> - amount staked -> - number of seats assigned per validator - -- arguments: `next` -- options: `default` - -**Example:** - -```bash -near validators next -``` - -**Example for `mainnet`:** - -```bash -NEAR_ENV=mainnet near validators next -``` - -
-Example Response -

- -```bash -Next validators (total: 49, seat price: 1,983,932): -.----------------------------------------------------------------------------------------------. -| Status | Validator | Stake | Seats | -|----------|----------------------------------------------|--------------------------|-------| -| Rewarded | cryptium.poolv1.near | 13,945,727 -> 14,048,816 | 7 | -| Rewarded | astro-stakers.poolv1.near | 11,660,189 -> 11,704,904 | 5 | -| Rewarded | blockdaemon.poolv1.near | 11,542,867 -> 11,545,942 | 5 | -| Rewarded | zavodil.poolv1.near | 11,183,187 -> 11,204,123 | 5 | -| Rewarded | bisontrails.poolv1.near | 10,291,696 -> 10,297,923 | 5 | -| Rewarded | dokiacapital.poolv1.near | 7,906,352 -> 8,097,275 | 4 | -| Rewarded | chorusone.poolv1.near | 7,480,508 -> 7,500,576 | 3 | -| Rewarded | figment.poolv1.near | 6,931,070 -> 6,932,916 | 3 | -| Rewarded | stardust.poolv1.near | 6,401,678 -> 6,449,363 | 3 | -| Rewarded | anonymous.poolv1.near | 6,291,821 -> 6,293,497 | 3 | -| Rewarded | d1.poolv1.near | 6,265,109 -> 6,266,777 | 3 | -| Rewarded | near8888.poolv1.near | 6,202,968 -> 6,204,620 | 3 | -| Rewarded | rekt.poolv1.near | 5,950,212 -> 5,951,797 | 2 | -| Rewarded | epic.poolv1.near | 5,639,256 -> 5,640,758 | 2 | -| Rewarded | fresh.poolv1.near | 5,460,410 -> 5,461,811 | 2 | -| Rewarded | buildlinks.poolv1.near | 4,838,398 -> 4,839,686 | 2 | -| Rewarded | jubi.poolv1.near | 4,805,921 -> 4,807,201 | 2 | -| Rewarded | openshards.poolv1.near | 4,644,553 -> 4,776,692 | 2 | -| Rewarded | jazza.poolv1.near | 4,563,432 -> 4,564,648 | 2 | -| Rewarded | northernlights.poolv1.near | 4,467,978 -> 4,469,168 | 2 | -| Rewarded | inotel.poolv1.near | 4,427,152 -> 4,428,331 | 2 | -| Rewarded | baziliknear.poolv1.near | 4,261,142 -> 4,290,338 | 2 | -| Rewarded | stakesabai.poolv1.near | 4,242,618 -> 4,243,748 | 2 | -| Rewarded | everstake.poolv1.near | 4,234,552 -> 4,235,679 | 2 | -| Rewarded | stakin.poolv1.near | 4,071,704 -> 4,072,773 | 2 | -| Rewarded | certusone.poolv1.near | 3,734,505 -> 3,735,500 | 1 | -| Rewarded | lux.poolv1.near | 3,705,394 -> 3,716,381 | 1 | -| Rewarded | staked.poolv1.near | 3,683,365 -> 3,684,346 | 1 | -| Rewarded | lunanova.poolv1.near | 3,597,231 -> 3,597,836 | 1 | -| Rewarded | appload.poolv1.near | 3,133,163 -> 3,152,302 | 1 | -| Rewarded | smart-stake.poolv1.near | 3,095,711 -> 3,096,509 | 1 | -| Rewarded | artemis.poolv1.near | 3,009,462 -> 3,010,265 | 1 | -| Rewarded | moonlet.poolv1.near | 2,790,296 -> 2,948,565 | 1 | -| Rewarded | nearfans.poolv1.near | 2,771,137 -> 2,771,875 | 1 | -| Rewarded | nodeasy.poolv1.near | 2,692,745 -> 2,693,463 | 1 | -| Rewarded | erm.poolv1.near | 2,653,524 -> 2,654,231 | 1 | -| Rewarded | dsrvlabs.poolv1.near | 2,542,925 -> 2,571,865 | 1 | -| Rewarded | zkv_staketosupportprivacy.poolv1.near | 2,548,343 -> 2,549,022 | 1 | -| Rewarded | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 -> 2,493,787 | 1 | -| Rewarded | masternode24.poolv1.near | 2,355,634 -> 2,456,226 | 1 | -| Rewarded | fish.poolv1.near | 2,315,249 -> 2,415,831 | 1 | -| Rewarded | electric.poolv1.near | 2,400,532 -> 2,401,172 | 1 | -| Rewarded | sparkpool.poolv1.near | 2,378,191 -> 2,378,824 | 1 | -| Rewarded | hashquark.poolv1.near | 2,376,424 -> 2,377,057 | 1 | -| Rewarded | sharpdarts.poolv1.near | 2,332,398 -> 2,332,948 | 1 | -| Rewarded | ashert.poolv1.near | 2,103,327 -> 2,103,887 | 1 | -| Rewarded | 01node.poolv1.near | 2,058,200 -> 2,058,760 | 1 | -| Rewarded | finoa.poolv1.near | 2,012,304 -> 2,015,808 | 1 | -| Rewarded | majlovesreg.poolv1.near | 2,005,032 -> 2,005,566 | 1 | -'----------------------------------------------------------------------------------------------' -``` - -

-
- ---- - -### `near proposals` - -> Displays validator proposals for [epoch](http://docs.near.org/docs/concepts/epoch) after next. -> -> - expected seat price -> - status of proposals -> - previous amount staked and new amount that _will_ be staked -> - amount of seats assigned per validator - -- arguments: `none` -- options: `default` - -**Example:** - -```bash -near proposals -``` - -**Example for `mainnet`:** - -```bash -NEAR_ENV=mainnet near proposals -``` - -
-Example Response -

- -```bash -Proposals for the epoch after next (new: 51, passing: 49, expected seat price = 1,983,932) -.--------------------------------------------------------------------------------------------------------. -| Status | Validator | Stake => New Stake | Seats | -|--------------------|----------------------------------------------|--------------------------|-------| -| Proposal(Accepted) | cryptium.poolv1.near | 13,945,727 => 14,041,766 | 7 | -| Proposal(Accepted) | astro-stakers.poolv1.near | 11,660,189 => 11,705,673 | 5 | -| Proposal(Accepted) | blockdaemon.poolv1.near | 11,542,867 => 11,545,942 | 5 | -| Proposal(Accepted) | zavodil.poolv1.near | 11,183,187 => 11,207,805 | 5 | -| Proposal(Accepted) | bisontrails.poolv1.near | 10,291,696 => 10,300,978 | 5 | -| Proposal(Accepted) | dokiacapital.poolv1.near | 7,906,352 => 8,097,275 | 4 | -| Proposal(Accepted) | chorusone.poolv1.near | 7,480,508 => 7,568,268 | 3 | -| Proposal(Accepted) | figment.poolv1.near | 6,931,070 => 6,932,916 | 3 | -| Proposal(Accepted) | stardust.poolv1.near | 6,401,678 => 6,449,363 | 3 | -| Proposal(Accepted) | anonymous.poolv1.near | 6,291,821 => 6,293,497 | 3 | -| Proposal(Accepted) | d1.poolv1.near | 6,265,109 => 6,266,777 | 3 | -| Proposal(Accepted) | near8888.poolv1.near | 6,202,968 => 6,204,620 | 3 | -| Proposal(Accepted) | rekt.poolv1.near | 5,950,212 => 5,951,797 | 2 | -| Proposal(Accepted) | epic.poolv1.near | 5,639,256 => 5,640,758 | 2 | -| Proposal(Accepted) | fresh.poolv1.near | 5,460,410 => 5,461,811 | 2 | -| Proposal(Accepted) | buildlinks.poolv1.near | 4,838,398 => 4,839,686 | 2 | -| Proposal(Accepted) | jubi.poolv1.near | 4,805,921 => 4,807,201 | 2 | -| Proposal(Accepted) | openshards.poolv1.near | 4,644,553 => 4,776,692 | 2 | -| Proposal(Accepted) | jazza.poolv1.near | 4,563,432 => 4,564,648 | 2 | -| Proposal(Accepted) | northernlights.poolv1.near | 4,467,978 => 4,469,168 | 2 | -| Proposal(Accepted) | inotel.poolv1.near | 4,427,152 => 4,428,331 | 2 | -| Proposal(Accepted) | baziliknear.poolv1.near | 4,261,142 => 4,290,891 | 2 | -| Proposal(Accepted) | stakesabai.poolv1.near | 4,242,618 => 4,243,748 | 2 | -| Proposal(Accepted) | everstake.poolv1.near | 4,234,552 => 4,235,679 | 2 | -| Proposal(Accepted) | stakin.poolv1.near | 4,071,704 => 4,072,773 | 2 | -| Proposal(Accepted) | certusone.poolv1.near | 3,734,505 => 3,735,500 | 1 | -| Proposal(Accepted) | lux.poolv1.near | 3,705,394 => 3,716,381 | 1 | -| Proposal(Accepted) | staked.poolv1.near | 3,683,365 => 3,684,346 | 1 | -| Proposal(Accepted) | lunanova.poolv1.near | 3,597,231 => 3,597,836 | 1 | -| Proposal(Accepted) | appload.poolv1.near | 3,133,163 => 3,152,302 | 1 | -| Proposal(Accepted) | smart-stake.poolv1.near | 3,095,711 => 3,096,509 | 1 | -| Proposal(Accepted) | artemis.poolv1.near | 3,009,462 => 3,010,265 | 1 | -| Proposal(Accepted) | moonlet.poolv1.near | 2,790,296 => 2,948,565 | 1 | -| Proposal(Accepted) | nearfans.poolv1.near | 2,771,137 => 2,771,875 | 1 | -| Proposal(Accepted) | nodeasy.poolv1.near | 2,692,745 => 2,693,463 | 1 | -| Proposal(Accepted) | erm.poolv1.near | 2,653,524 => 2,654,231 | 1 | -| Proposal(Accepted) | dsrvlabs.poolv1.near | 2,542,925 => 2,571,865 | 1 | -| Proposal(Accepted) | zkv_staketosupportprivacy.poolv1.near | 2,548,343 => 2,549,022 | 1 | -| Proposal(Accepted) | 08investinwomen_runbybisontrails.poolv1.near | 2,493,123 => 2,493,787 | 1 | -| Proposal(Accepted) | masternode24.poolv1.near | 2,355,634 => 2,456,226 | 1 | -| Proposal(Accepted) | fish.poolv1.near | 2,315,249 => 2,415,831 | 1 | -| Proposal(Accepted) | electric.poolv1.near | 2,400,532 => 2,401,172 | 1 | -| Proposal(Accepted) | sparkpool.poolv1.near | 2,378,191 => 2,378,824 | 1 | -| Proposal(Accepted) | hashquark.poolv1.near | 2,376,424 => 2,377,057 | 1 | -| Proposal(Accepted) | sharpdarts.poolv1.near | 2,332,398 => 2,332,948 | 1 | -| Proposal(Accepted) | ashert.poolv1.near | 2,103,327 => 2,103,887 | 1 | -| Proposal(Accepted) | 01node.poolv1.near | 2,058,200 => 2,059,314 | 1 | -| Proposal(Accepted) | finoa.poolv1.near | 2,012,304 => 2,015,808 | 1 | -| Proposal(Accepted) | majlovesreg.poolv1.near | 2,005,032 => 2,005,566 | 1 | -| Proposal(Declined) | huobipool.poolv1.near | 1,666,976 | 0 | -| Proposal(Declined) | hb436_pool.poolv1.near | 500,030 | 0 | -'--------------------------------------------------------------------------------------------------------' - -``` - -

-
- ---- - -## JS Contracts Enclave - -### `near js` -You can use `near js ` to be able to interact with JS enclaved contracts. Run `near js --help` for instructions. An optional `--jsvm ` argument can be supplied to the following `js` subcommands to point to a different JSVM enclave contract. The default is set to `jsvm.testnet` and `jsvm.near` respectively for testnet and mainnet. Note that anything changing state in the enclave will require a deposit to maintain storage of either the contract bytes or the state of the contract itself. - -### `near js deploy` - -> Deploys a smart contract to a given accountId on the JSVM enclave. - -- arguments: `accountId`, `base64File`, `deposit` -- options: `jsvm` - -**Note:** You will need a full access key for the account you are deploying the contract to. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) - - -**Example:** - -```bash -near deploy --accountId example-contract.testnet --base64File out/example.base64 --deposit 0.1 -``` - -
-Example Response -

- - Starting deployment. Account id: example-contract.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: out/example.base64, JSVM: jsvm.testnet - Transaction Id 4Nxsszgh2LaXPZph37peZKDqPZeJEErPih6n4jWcGDEB - To see the transaction in the transaction explorer, please open this url in your browser - https://testnet.nearblocks.io/txns/4Nxsszgh2LaXPZph37peZKDqPZeJEErPih6n4jWcGDEB - Done deploying to example-contract.testnet - -

-
- - -### `near js dev-deploy` - -> Creates a development account and deploys a smart contract to the enclave associated to the dev-account. No access keys needed. **_(`testnet` only)_** - -- arguments: `base64File` `deposit` -- options: `jsvm` - -**Example:** - -```bash -near js dev-deploy --base64File out/example.base64 --deposit 0.1 -``` - -
-Example Response -

- - Starting deployment. Account id: dev-1653005231830-15694723179173, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, file: out/example.base64, JSVM: jsvm.testnet - Transaction Id FTVd4TKzy9mrmWvok6qHaoX68cVZnUJp2VqUgH6Y446n - To see the transaction in the transaction explorer, please open this url in your browser - https://testnet.nearblocks.io/txns/FTVd4TKzy9mrmWvok6qHaoX68cVZnUJp2VqUgH6Y446n - Done deploying to dev-1653005231830-15694723179173 - -

-
- -### `near js call` - -> makes a contract call which can modify _or_ view state into the JSVM enclase - -**Note:** Contract calls require a transaction fee (gas) so you will need an access key for the `--accountId` that will be charged. ([`near login`](http://docs.near.org/docs/tools/near-cli#near-login)) - -- arguments: `contractName` `methodName` `{ args }` `--accountId` `--deposit` -- options: `--gas` `--jsvm` - -**Example:** - -```bash -near js call dev-1653005231830-15694723179173 set_status '["hello world"]' --deposit 0.1 --account-id dev-1653005231830-15694723179173 -``` - -
-Example Response -

- - Scheduling a call in JSVM[jsvm.testnet]: dev-1653005231830-15694723179173.set_status(["hello world"]) with attached 0.1 NEAR - Receipts: 5QUuNwSYrDcEPKuSnU7fKN7YCGfXmdmZR9m3zUSTek7P, 3YU4eFhqBruc4z8KKLZr1U1oY31A6Bfks45GLA2rq5GS - Log [jsvm.testnet]: dev-1653005231830-15694723179173 set_status with message hello world - Transaction Id sP8s9REgK9YcZzkudyccg8R968zYWDVGCNv4wxeZsUe - To see the transaction in the transaction explorer, please open this url in your browser - https://testnet.nearblocks.io/txns/sP8s9REgK9YcZzkudyccg8R968zYWDVGCNv4wxeZsUe - '' - -

-
- -### `near js view` - -> Makes a contract call which can **only** view state. _(Call is free of charge and does not require deposit)_ - -- arguments: `contractName` `method_name` `{ args }` -- options: `jsvm` - -**Example:** - -```bash -near js view dev-1653005231830-15694723179173 get_status '["dev-1653005231830-15694723179173"]' --accountId dev-1653005231830-15694723179173 -``` - -
-Example Response -

- - View call in JSVM[jsvm.testnet]: dev-1653005231830-15694723179173.get_status(["dev-1653005231830-15694723179173"]) - Log [jsvm.testnet]: get_status for account_id dev-1653005231830-15694723179173 - 'hello world' - -

-
- -### `near js remove` - -> Removes the contract on the JS enclase and refunds all the deposit to the actual account. - -- arguments: `accountId` -- options: `jsvm` - -```bash -near js remove --accountId dev-1653005231830-15694723179173 -``` - -
-Example Response -

- - Removing contract from enclave. Account id: dev-1653005231830-15694723179173, JSVM: jsvm.testnet - Transaction Id FGSfvoWmhS1fWb6ckpPMYvc7seNaGQ5MU7iSrY43ZWiG - To see the transaction in the transaction explorer, please open this url in your browser - https://testnet.nearblocks.io/txns/FGSfvoWmhS1fWb6ckpPMYvc7seNaGQ5MU7iSrY43ZWiG - -

-
- -## REPL - -### `near repl` - -> Launches NEAR [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) _(an interactive JavaScript programming invironment)_ connected to NEAR. - -- arguments: `none` -- options: `--accountId`, `--script` - -To launch, run: - -```bash -near repl -``` - -- You will then be shown a prompt `>` and can begin interacting with NEAR. -- Try typing the following into your prompt that converts NEAR (Ⓝ) into yoctoNEAR (10^-24): - -```bash -nearAPI.utils.format.parseNearAmount('1000') -``` - -> You can also use an `--accountId` with `near repl`. - -The `script` argument allows you to pass the path to a javascript/typescript file that exports a `main` function taking a [`Context`](./context/index.d.ts) as an argument. Anything passed after `--` is passed to the script as the `argv` argument. - -Note: you will need to add `near-cli` as a dependency in order to import the types. - -e.g. - -```ts -import { Context } from "near-cli/context"; -``` - -**Example:** - -```bash -near repl --accountId example-acct.testnet -``` - -- Then try console logging `account` after the `>` prompt. - -```bash -> console.log(account) -``` - -Or in a JS files -```bash -near repl --accountId example-acct.testnet --script print_account.js -``` - -```js -module.exports.main = async function main({account, near, nearAPI, argv}) { - console.log(account); -} -``` - -or TS - -```bash -near repl --accountId example-acct.testnet --script print_account.ts -``` - -```js -import { Context } from "near-cli/context" - -export async function main({account, near, nearAPI, argv}: Context) { - console.log(account); -} -``` - - -
-Example Response -

- -```json -Account { - accessKeyByPublicKeyCache: {}, - connection: Connection { - networkId: 'default', - provider: JsonRpcProvider { connection: [Object] }, - signer: InMemorySigner { keyStore: [MergeKeyStore] } - }, - accountId: 'example-acct.testnet', - _ready: Promise { undefined }, - _state: { - amount: '98786165075093615800000000', - locked: '0', - code_hash: '11111111111111111111111111111111', - storage_usage: 741, - storage_paid_at: 0, - block_height: 21661252, - block_hash: 'HbAj25dTzP3ssYjNRHov9BQ72UxpHGVqZK1mZwGdGNbo' - } -} -``` - -

-
- -> You can also get a private key's public key. - -- First, declare a `privateKey` variable: - -```js -const myPrivateKey = - "3fKM9Rr7LHyzhhzmmedXLvc59rayfh1oUYS3VfUcxwpAFQZtdx1G9aTY6i8hG9mQtYoycTEFTBtatgNKHRtYamrS"; -``` - -- Then run: - -```js -nearAPI.KeyPair.fromString(myPrivateKey).publicKey.toString(); -``` - -With NEAR REPL you have complete access to [`near-api-js`](https://github.com/near/near-api-js) to help you develop on the NEAR platform. - ---- - -## Options +## Global Options | Option | Description | |-----------------------------|-------------------------------------------------------------------------------------------------| | `--help` | Show help [boolean] | | `--version` | Show version number [boolean] | -| `--nodeUrl, --node_url` | NEAR node URL [string] [default: "https://rpc.testnet.near.org"] | -| `--networkId, --network_id` | NEAR network ID, allows using different keys based on network [string] [default: "testnet"] | -| `--helperUrl` | NEAR contract helper URL [string] | -| `--keyPath` | Path to master account key [string] | -| `--accountId, --account_id` | Unique identifier for the account [string] | -| `--useLedgerKey` | Use Ledger for signing with given HD key path [string] [default: "44'/397'/0'/0'/1'"] | -| `--seedPhrase` | Seed phrase mnemonic [string] | -| `--seedPath` | HD path derivation [string] [default: "m/44'/397'/0'"] | -| `--walletUrl` | Website for NEAR Wallet [string] | -| `--contractName` | Account name of contract [string] | -| `--masterAccount` | Master account used when creating new accounts [string] | -| `--helperAccount` | Expected top-level account for a network [string] | | `-v, --verbose` | Prints out verbose output [boolean] [default: false] | -| `-f, --force` | Forcefully execute the desired action even if it is unsafe to do so [boolean] [default: false] | - > Got a question? Ask it on StackOverflow! From 2c559f70b4289c1b1383eac5ae0ecaaddc50d047 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 15:41:55 +0100 Subject: [PATCH 17/20] feat: updated all packages to latest version --- commands/contract/view.js | 6 +- package.json | 29 +- yarn.lock | 5312 ++++++++++++++----------------------- 3 files changed, 2072 insertions(+), 3275 deletions(-) diff --git a/commands/contract/view.js b/commands/contract/view.js index 9e57621e..1c04d09c 100644 --- a/commands/contract/view.js +++ b/commands/contract/view.js @@ -26,7 +26,11 @@ async function callViewFunction(options) { try { console.log(`View call: ${options.contractName}.${options.methodName}(${options.args || ''})`); - const response = await account.viewFunction(options.contractName, options.methodName, JSON.parse(options.args || '{}')); + const response = await account.viewFunction({ + contractId: options.contractName, + methodName: options.methodName, + args: JSON.parse(options.args || '{}') + }); console.log(inspectResponse.formatResponse(response, options)); } catch (error) { switch(error.type){ diff --git a/package.json b/package.json index 55f653e6..9e3010be 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "3.4.2", "description": "Simple CLI for interacting with NEAR Protocol", "engines": { - "node": ">= 12" + "node": ">= 16" }, "main": "bin/near-cli.js", "scripts": { @@ -29,26 +29,25 @@ "near": "bin/near" }, "devDependencies": { - "danger": "^10.6.6", - "eslint": "^7.0.0", - "jest": "^26.1.0", + "danger": "^11.3.1", + "eslint": "^8.56.0", + "jest": "^29.7.0", "lodash": "^4.17.21", - "ts-node": "^10.4.0", - "typescript": "^4.5.4" + "typescript": "^5.3.3" }, "dependencies": { - "bs58": "^4.0.1", - "chalk": "^4.0.0", - "flagged-respawn": "^1.0.1", - "is-ci": "^2.0.0", - "near-api-js": "^0.44.2", + "bs58": "^5.0.0", + "chalk": "^4.1.2", + "flagged-respawn": "^2.0.0", + "is-ci": "^3.0.1", + "near-api-js": "^3.0.2", "near-seed-phrase": "^0.2.0", - "open": "^8.0.7", + "open": "^8.4.2", "stoppable": "^1.1.0", "tcp-port-used": "^1.0.2", - "update-notifier": "^5.0.0", - "v8flags": "^3.1.3", - "yargs": "^16.0.3" + "update-notifier": "^5.1.0", + "v8flags": "^4.0.1", + "yargs": "^17.7.2" }, "keywords": [ "blockchain", diff --git a/yarn.lock b/yarn.lock index 194526a6..a5a18319 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,19 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" @@ -9,158 +22,153 @@ dependencies: "@babel/highlight" "^7.12.13" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.13.15": - version "7.14.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz" - integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.14.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz" - integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - convert-source-map "^1.7.0" +"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.14.0": - version "7.14.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.14.1.tgz" - integrity sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ== +"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.14.1" + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.13.16": - version "7.13.16" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz" - integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== - dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" - semver "^6.3.0" -"@babel/helper-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: - "@babel/types" "^7.13.12" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.13.12": - version "7.13.12" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.22.5" -"@babel/helper-module-transforms@^7.14.0": - version "7.14.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz" - integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw== +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" + "@babel/types" "^7.22.15" -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0": version "7.13.0" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz" integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== -"@babel/helper-replace-supers@^7.13.12": - version "7.13.12" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz" - integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" +"@babel/helper-plugin-utils@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.22.5" -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== "@babel/helper-validator-identifier@^7.14.0": version "7.14.0" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz" integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== -"@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": +"@babel/highlight@^7.12.13": version "7.14.0" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz" integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== @@ -169,11 +177,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.0": +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13": version "7.14.1" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.14.1.tgz" integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q== +"@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" @@ -209,6 +231,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -258,15 +287,23 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/polyfill@^7.2.5": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz" - integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.4" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" -"@babel/template@^7.12.13", "@babel/template@^7.3.3": +"@babel/template@^7.3.3": version "7.12.13" resolved "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz" integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== @@ -275,21 +312,23 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0": - version "7.14.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz" - integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.0" - "@babel/types" "^7.14.0" - debug "^4.1.0" +"@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.1", "@babel/types@^7.3.0", "@babel/types@^7.3.3": +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.14.1" resolved "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz" integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA== @@ -297,54 +336,102 @@ "@babel/helper-validator-identifier" "^7.14.0" to-fast-properties "^2.0.0" +"@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" + eslint-visitor-keys "^3.3.0" -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" +"@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^0.4.2": - version "0.4.2" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" + js-yaml "^4.1.0" + minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + +"@gitbeaker/core@^35.8.1": + version "35.8.1" + resolved "https://registry.yarnpkg.com/@gitbeaker/core/-/core-35.8.1.tgz#b4ce2d08d344ff50e76c38ff81b800bec6dfe851" + integrity sha512-KBrDykVKSmU9Q9Gly8KeHOgdc0lZSa435srECxuO0FGqqBcUQ82hPqUc13YFkkdOI9T1JRA3qSFajg8ds0mZKA== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" + "@gitbeaker/requester-utils" "^35.8.1" + form-data "^4.0.0" + li "^1.3.0" + mime "^3.0.0" + query-string "^7.0.0" + xcase "^2.0.1" + +"@gitbeaker/node@^35.8.1": + version "35.8.1" + resolved "https://registry.yarnpkg.com/@gitbeaker/node/-/node-35.8.1.tgz#d67885c827f2d7405afd7e39538a230721756e5c" + integrity sha512-g6rX853y61qNhzq9cWtxIEoe2KDeFBtXAeWMGWJnc3nz3WRump2pIICvJqw/yobLZqmTNt+ea6w3/n92Mnbn3g== + dependencies: + "@gitbeaker/core" "^35.8.1" + "@gitbeaker/requester-utils" "^35.8.1" + delay "^5.0.0" + got "^11.8.3" + xcase "^2.0.1" + +"@gitbeaker/requester-utils@^35.8.1": + version "35.8.1" + resolved "https://registry.yarnpkg.com/@gitbeaker/requester-utils/-/requester-utils-35.8.1.tgz#f345cdd05abd4169cfcd239d202db6283eb17dc8" + integrity sha512-MFzdH+Z6eJaCZA5ruWsyvm6SXRyrQHjYVR6aY8POFraIy7ceIHOprWCs1R+0ydDZ8KtBnd8OTHjlJ0sLtSFJCg== + dependencies: + form-data "^4.0.0" + qs "^6.10.1" + xcase "^2.0.1" + +"@humanwhocodes/config-array@^0.11.13": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.0": - 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== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -362,217 +449,414 @@ resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" + ci-info "^3.2.0" exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^26.6.2" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" + glob "^7.1.3" + graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" + istanbul-lib-instrument "^6.0.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" slash "^3.0.0" - source-map "^0.6.0" string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: + "@jridgewell/trace-mapping" "^0.3.18" callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" + graceful-fs "^4.2.9" -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" 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 "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.2" -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^15.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== +"@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@near-js/accounts@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@near-js/accounts/-/accounts-1.0.2.tgz#5bcb6df9985ec451b35e8c2e22ad8113ef523692" + integrity sha512-KpyY9r+f55vJ0XCk17vyHeiiNbsmKY9T3ztXKLWQEr661XWJKyetQUBb3dyehf6DHXXnlxwwQNdYDK8d0x1nOQ== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/providers" "0.0.10" + "@near-js/signers" "0.1.0" + "@near-js/transactions" "1.1.0" + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + ajv "8.11.2" + ajv-formats "2.1.1" + bn.js "5.2.1" + borsh "1.0.0" + depd "2.0.0" + lru_map "0.4.1" + near-abi "0.1.1" + +"@near-js/crypto@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@near-js/crypto/-/crypto-1.2.0.tgz#a462f448c6e878d0efbbf14057365b0469a675b5" + integrity sha512-iYpiynirW1cB9kNttSsbNhlN4LFR1Esq08aIFyFB/qGNy8DjLYYoe2g923YBxDbVMI6Ljk6AX3G+KDnG3S9lqg== + dependencies: + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + "@noble/curves" "1.2.0" + bn.js "5.2.1" + borsh "1.0.0" + randombytes "2.1.0" + +"@near-js/keystores-browser@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@near-js/keystores-browser/-/keystores-browser-0.0.8.tgz#0596370221cd6e52dfd057b8f8889c205a0291e8" + integrity sha512-ZWBbioO2TUdMkHbmHpwo+DC4CC9XAvS9umIBNgS1XBsY2y3NsG+dWU4bEiFC37fGBzJL9EFw+QJ6RxB+jeOfdQ== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/keystores" "0.0.8" + +"@near-js/keystores-node@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@near-js/keystores-node/-/keystores-node-0.0.8.tgz#fd86077ba9b48f1b73f67da29b5e59d313ea9ce2" + integrity sha512-wiVcKljXi7YkHyQrg1Aw7HubmSGRpC+jNgjCdNBd645Qr9YuSLr/OGTCdliO4QWalU+lUgBV63eSxzAMeUa3Aw== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/keystores" "0.0.8" + +"@near-js/keystores@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@near-js/keystores/-/keystores-0.0.8.tgz#9d2c6365718839fa17946cce895511aece640b80" + integrity sha512-H3JQroNbx0AvNpXsGiDdjVZCFPqd6Qx29XK618GhwSqvvmFQxq96sh51dmPhJ+jVxFUTt7Q9es8fujYbZceAzw== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/types" "0.0.4" + +"@near-js/providers@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@near-js/providers/-/providers-0.0.10.tgz#68066c81454e3769993f83b27b2be209dfee900a" + integrity sha512-c3t2+34mL5YHn93pwPwJr6LPUZbpmBPtBoyhX105R8l8QxShy4L8IHPj5ZhBowN1+Yrq6c5Cnw57SqHHqwz9tg== + dependencies: + "@near-js/transactions" "1.1.0" + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + bn.js "5.2.1" + borsh "1.0.0" + http-errors "1.7.2" + optionalDependencies: + node-fetch "2.6.7" + +"@near-js/signers@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@near-js/signers/-/signers-0.1.0.tgz#a2724318e0781dd5348d1978a45247759e30e688" + integrity sha512-EWnkzqLPcVzSXE4Y4HbtrJSqUEqVehn516PxCayRVRJ7bo6ytkas/U6e+J5Dn/vpH/Ny5Y/tcmt+A0s4vbCLZA== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/keystores" "0.0.8" + "@noble/hashes" "1.3.3" + +"@near-js/transactions@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@near-js/transactions/-/transactions-1.1.0.tgz#7092f09237d7778a9ba05148a2cddbf50f18bfbd" + integrity sha512-0kP8unj0RND20lP67nCtDN3fz0CvO/C9AX0EqlT5dAyi4ZQBabgVQq272RtT9xnaoA7OP6OPB3GUWGJS+MwsTw== + dependencies: + "@near-js/crypto" "1.2.0" + "@near-js/signers" "0.1.0" + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + "@noble/hashes" "1.3.3" + bn.js "5.2.1" + borsh "1.0.0" + +"@near-js/types@0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@near-js/types/-/types-0.0.4.tgz#d941689df41c850aeeeaeb9d498418acec515404" + integrity sha512-8TTMbLMnmyG06R5YKWuS/qFG1tOA3/9lX4NgBqQPsvaWmDsa+D+QwOkrEHDegped0ZHQwcjAXjKML1S1TyGYKg== + dependencies: + bn.js "5.2.1" + +"@near-js/utils@0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@near-js/utils/-/utils-0.0.5.tgz#7c7f80140c039535b04ec48ed84b9681407ea57a" + integrity sha512-0YnPruP6xZc/scIAX7E3GrTrFMNAyB9bFZOoOdA60GPzHwTTfpXsdozZvsQN4LvfFuiCDN1OEhwx7EtJh43DRw== + dependencies: + "@near-js/types" "0.0.4" + bn.js "5.2.1" + bs58 "4.0.0" + depd "2.0.0" + mustache "4.0.0" + +"@near-js/wallet-account@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@near-js/wallet-account/-/wallet-account-1.0.2.tgz#25014069e4102e8b61c73bf64b85f1803ac032f2" + integrity sha512-bbouucpBgFtZ3bI7KvcYT8/r1q4w5UVIbbZqTUnuXpkceSQ7IxjeKCR00Iastj9EOXWAAAJBYkn0942QJjBC5w== + dependencies: + "@near-js/accounts" "1.0.2" + "@near-js/crypto" "1.2.0" + "@near-js/keystores" "0.0.8" + "@near-js/signers" "0.1.0" + "@near-js/transactions" "1.1.0" + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + bn.js "5.2.1" + borsh "1.0.0" + +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" -"@octokit/auth-token@^2.4.0": - version "2.4.5" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz" - integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: "@octokit/types" "^6.0.3" -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz" - integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== - -"@octokit/core@>=3": - version "5.0.2" - resolved "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz" - integrity sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg== - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.0.0" - "@octokit/request" "^8.0.2" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" +"@octokit/core@^3.5.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.3" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" before-after-hook "^2.2.0" universal-user-agent "^6.0.0" @@ -585,154 +869,75 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/endpoint@^9.0.0": - version "9.0.4" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz" - integrity sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw== - dependencies: - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.0.0": - version "7.0.2" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz" - integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== dependencies: - "@octokit/request" "^8.0.1" - "@octokit/types" "^12.0.0" + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^19.1.0": - version "19.1.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz" - integrity sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw== +"@octokit/openapi-types@^12.11.0": + version "12.11.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" + integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== "@octokit/openapi-types@^9.1.0": version "9.1.0" resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.0.tgz" integrity sha512-XBP03pG4XuTU+VgeJM1ozRdmZJerMG4tk6wA+raFKycC4qV9jtD2UQroAg9bAcmI3Q0zWvifeDGtPqsFjMzkLg== -"@octokit/plugin-paginate-rest@^1.1.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz" - integrity sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q== +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.21.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz#7f12532797775640dbb8224da577da7dc210c87e" + integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== dependencies: - "@octokit/types" "^2.0.1" + "@octokit/types" "^6.40.0" -"@octokit/plugin-request-log@^1.0.0": +"@octokit/plugin-request-log@^1.0.4": version "1.0.4" - resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== -"@octokit/plugin-rest-endpoint-methods@2.4.0": - version "2.4.0" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz" - integrity sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ== +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.16.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz#7ee8bf586df97dd6868cf68f641354e908c25342" + integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== dependencies: - "@octokit/types" "^2.0.1" + "@octokit/types" "^6.39.0" deprecation "^2.3.1" -"@octokit/request-error@^1.0.2": - version "1.2.1" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz" - integrity sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA== - dependencies: - "@octokit/types" "^2.0.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request-error@^2.1.0": +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: "@octokit/types" "^6.0.3" deprecation "^2.0.0" once "^1.4.0" -"@octokit/request-error@^5.0.0": - version "5.0.1" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz" - integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== - dependencies: - "@octokit/types" "^12.0.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^5.2.0": - version "5.6.0" - resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz" - integrity sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA== +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" "@octokit/types" "^6.16.1" is-plain-object "^5.0.0" - node-fetch "^2.6.1" - universal-user-agent "^6.0.0" - -"@octokit/request@^8.0.1": - version "8.1.6" - resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" - integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== - dependencies: - "@octokit/endpoint" "^9.0.0" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" - universal-user-agent "^6.0.0" - -"@octokit/request@^8.0.2": - version "8.1.6" - resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz" - integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ== - dependencies: - "@octokit/endpoint" "^9.0.0" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" + node-fetch "^2.6.7" universal-user-agent "^6.0.0" -"@octokit/rest@^16.43.1": - version "16.43.2" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz" - integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ== - dependencies: - "@octokit/auth-token" "^2.4.0" - "@octokit/plugin-paginate-rest" "^1.1.1" - "@octokit/plugin-request-log" "^1.0.0" - "@octokit/plugin-rest-endpoint-methods" "2.4.0" - "@octokit/request" "^5.2.0" - "@octokit/request-error" "^1.0.2" - atob-lite "^2.0.0" - before-after-hook "^2.0.0" - btoa-lite "^1.0.0" - deprecation "^2.0.0" - lodash.get "^4.4.2" - lodash.set "^4.3.2" - lodash.uniq "^4.5.0" - octokit-pagination-methods "^1.1.0" - once "^1.4.0" - universal-user-agent "^4.0.0" - -"@octokit/types@^12.0.0": - version "12.4.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz" - integrity sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ== - dependencies: - "@octokit/openapi-types" "^19.1.0" - -"@octokit/types@^2.0.0": - version "2.16.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" - integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== - dependencies: - "@types/node" ">= 8" - -"@octokit/types@^2.0.1": - version "2.16.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz" - integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== +"@octokit/rest@^16.43.0 || ^17.11.0 || ^18.12.0", "@octokit/rest@^18.12.0": + version "18.12.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: - "@types/node" ">= 8" + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" "@octokit/types@^6.0.3", "@octokit/types@^6.16.1": version "6.21.0" @@ -741,59 +946,68 @@ dependencies: "@octokit/openapi-types" "^9.1.0" +"@octokit/types@^6.39.0", "@octokit/types@^6.40.0": + version "6.41.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" + integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== + dependencies: + "@octokit/openapi-types" "^12.11.0" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + "@sindresorhus/is@^0.14.0": version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^3.0.0" "@szmarczak/http-timer@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.14" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz" - integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" @@ -813,20 +1027,35 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.11.1" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz" integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== dependencies: "@babel/types" "^7.3.0" -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.3" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" @@ -846,30 +1075,34 @@ dependencies: "@types/istanbul-lib-report" "*" +"@types/json-schema@^7.0.11": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + "@types/node@*": version "15.0.2" resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== -"@types/node@>= 8": - version "16.4.0" - resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" - integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== - "@types/node@11.11.6": version "11.11.6" resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" "@types/stack-utils@^2.0.0": version "2.0.0" @@ -881,71 +1114,53 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== +acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" + debug "4" -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== +ajv-formats@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.1.0: - version "8.2.4" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz" - integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== - -acorn@^8.4.1: - version "8.8.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -agent-base@^4.3.0, agent-base@4: - version "4.3.0" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== +ajv@8.11.2: + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== dependencies: - es6-promisify "^5.0.0" + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -955,10 +1170,10 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.2.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz" - integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== +ajv@^8.0.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -966,16 +1181,11 @@ ajv@^8.0.1: uri-js "^4.2.2" ansi-align@^3.0.0: - 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.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: - string-width "^3.0.0" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + string-width "^4.1.0" ansi-escapes@^4.2.1: version "4.3.2" @@ -984,16 +1194,16 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -1008,13 +1218,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== anymatch@^3.0.3: version "3.1.2" @@ -1024,11 +1231,6 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - argparse@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -1036,47 +1238,10 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@^1.0.0, assert-plus@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== async-retry@1.2.3: version "1.2.3" @@ -1090,59 +1255,38 @@ asynckit@^0.4.0: resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob-lite@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz" - integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" slash "^3.0.0" -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: @@ -1163,12 +1307,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - babel-plugin-jest-hoist "^26.6.2" + babel-plugin-jest-hoist "^29.6.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -1176,6 +1320,13 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-2.0.6.tgz#4582a91ebcec99ee06f4e4032030b0cf1c2941d8" + integrity sha512-UAmjxz9KbK+YIi66xej+pZVo/vxUOh49ubEvZW5egCbxhur05pBb+hwuireQwKO4nDpsNm64/jEei17LEpsr5g== + dependencies: + safe-buffer "^5.0.1" + base-x@^3.0.2: version "3.0.8" resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz" @@ -1183,27 +1334,12 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== -before-after-hook@^2.0.0, before-after-hook@^2.2.0: +before-after-hook@^2.2.0: version "2.2.2" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== @@ -1226,30 +1362,26 @@ bip39@3.0.2: pbkdf2 "^3.0.9" randombytes "^2.0.1" -bn.js@^5.2.0, bn.js@5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -borsh@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/borsh/-/borsh-0.6.0.tgz" - integrity sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" +borsh@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-1.0.0.tgz#b564c8cc8f7a91e3772b9aef9e07f62b84213c1f" + integrity sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ== boxen@^5.0.0: - 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.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== 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" @@ -1262,52 +1394,44 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: +braces@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" -browserslist@^4.14.5: - version "4.16.6" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== +bs58@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.0.tgz#65f5deaf6d74e6135a99f763ca6209ab424b9172" + integrity sha512-/jcGuUuSebyxwLLfKrbKnCJttxRf9PM51EnHTwmFKBxl4z1SGkoAhrfd6uZKE0dcjQTfm6XzTP8DPr1tzE4KIw== dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" + base-x "^2.0.1" -bs58@^4.0.0, bs58@^4.0.1: +bs58@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" +bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" @@ -1315,11 +1439,6 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= - buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" @@ -1330,24 +1449,14 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== cacheable-request@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== dependencies: clone-response "^1.0.2" @@ -1358,58 +1467,49 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - camelcase@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001219: - version "1.0.30001223" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001223.tgz" - integrity sha512-k/RYs6zc/fjbxTjaWZemeSmOjO0JJV+KguOBA3NwPup8uzxM1cMhR2BD9XmO86GuqaqTCO8CgkgH9Rz//vdDiA== - -capability@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/capability/-/capability-0.2.5.tgz" - integrity sha1-Ua2HNT8ZNv/Xfy8hx0YzpN6oiAE= - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +caniuse-lite@^1.0.30001565: + version "1.0.30001579" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" + integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== -chalk@^2.3.0: +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1418,7 +1518,7 @@ chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== @@ -1426,6 +1526,14 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -1433,9 +1541,14 @@ char-regex@^1.0.2: ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" @@ -1444,42 +1557,23 @@ cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== cli-boxes@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" wrap-ansi "^7.0.0" clone-response@^1.0.2: @@ -1499,14 +1593,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -1521,29 +1607,24 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colors@^1.1.2: version "1.4.0" resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" @@ -1553,11 +1634,6 @@ commander@^2.18.0: resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -1565,7 +1641,7 @@ concat-map@0.0.1: configstore@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" @@ -1575,27 +1651,15 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js@^2.6.5: - version "2.6.12" - resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-js@^3.8.2: + version "3.35.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.1.tgz#9c28f8b7ccee482796f8590cc8d15739eaaf980c" + integrity sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw== create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" @@ -1608,7 +1672,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.4, create-hmac@1.1.7: +create-hmac@1.1.7, create-hmac@^1.1.4: version "1.1.7" resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -1620,23 +1684,20 @@ create-hmac@^1.1.4, create-hmac@1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" -cross-spawn@^7.0.0, cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1647,147 +1708,97 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -danger@^10.6.6: - version "10.6.6" - resolved "https://registry.npmjs.org/danger/-/danger-10.6.6.tgz" - integrity sha512-RBqANs6xbWSCqZMy3+/eIYuC9kd7g5NqJ8PqDJKylPhvBoJEDkDrHQvExYHiP2UquvaZcPWsKohmOQXrosrpdw== +danger@^11.3.1: + version "11.3.1" + resolved "https://registry.yarnpkg.com/danger/-/danger-11.3.1.tgz#9df659fb58c15a82d9880231ba3f676c934e565d" + integrity sha512-+slkGnbf0czY7g4LSuYpYkKJgFrb9YIXFJvV5JAuLLF39CXLlUw0iebgeL3ASK1t6RDb8xe+Rk2F5ilh2Hdv2w== dependencies: - "@babel/polyfill" "^7.2.5" - "@octokit/rest" "^16.43.1" + "@gitbeaker/core" "^35.8.1" + "@gitbeaker/node" "^35.8.1" + "@octokit/rest" "^18.12.0" async-retry "1.2.3" chalk "^2.3.0" commander "^2.18.0" + core-js "^3.8.2" debug "^4.1.1" fast-json-patch "^3.0.0-1" get-stdin "^6.0.0" - gitlab "^10.0.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" hyperlinker "^1.0.0" json5 "^2.1.0" - jsonpointer "^4.0.1" - jsonwebtoken "^8.4.0" + jsonpointer "^5.0.0" + jsonwebtoken "^9.0.0" lodash.find "^4.6.0" lodash.includes "^4.3.0" lodash.isobject "^3.0.2" lodash.keys "^4.0.8" lodash.mapvalues "^4.6.0" lodash.memoize "^4.1.2" - memfs-or-file-map-to-github-branch "^1.1.0" - micromatch "^3.1.10" + memfs-or-file-map-to-github-branch "^1.2.1" + micromatch "^4.0.4" node-cleanup "^2.1.2" - node-fetch "2.6.1" + node-fetch "^2.6.7" override-require "^1.1.1" p-limit "^2.1.0" parse-diff "^0.7.0" parse-git-config "^2.0.3" parse-github-url "^1.0.2" - parse-link-header "^1.0.1" + parse-link-header "^2.0.0" pinpoint "^1.1.0" prettyjson "^1.2.1" readline-sync "^1.4.9" + regenerator-runtime "^0.13.9" require-from-string "^2.0.2" supports-hyperlinks "^1.0.1" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.3.3: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== +debug@4, debug@^4.3.1, debug@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@4.3.1: +debug@4.3.1, debug@^4.1.0, debug@^4.1.1: version "4.3.1" resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== decompress-response@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== dependencies: mimic-response "^1.0.0" +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.3" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -1799,44 +1810,41 @@ deepmerge@^4.2.2: defer-to-connect@^1.0.1: version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== dependencies: - is-descriptor "^0.1.0" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -depd@^2.0.0: +depd@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@~1.1.2: @@ -1854,15 +1862,10 @@ detect-newline@^3.0.0: resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== doctrine@^3.0.0: version "3.0.0" @@ -1871,32 +1874,17 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - dot-prop@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== ecdsa-sig-formatter@1.0.11: version "1.0.11" @@ -1905,20 +1893,15 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -electron-to-chromium@^1.3.723: - version "1.3.727" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz" - integrity sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg== +electron-to-chromium@^1.4.601: + version "1.4.642" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.642.tgz#eb380fa8b58e515c641d642ba452fa2c453c2e4f" + integrity sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA== -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" @@ -1932,13 +1915,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -1946,27 +1922,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-polyfill@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/error-polyfill/-/error-polyfill-0.1.3.tgz" - integrity sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg== - dependencies: - capability "^0.2.5" - o3 "^1.0.3" - u3 "^0.1.1" - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -1974,7 +1929,7 @@ escalade@^3.1.1: escape-goat@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== escape-string-regexp@^1.0.5: @@ -1992,107 +1947,81 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + estraverse "^5.2.0" -eslint-visitor-keys@^2.0.0: - 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== - -eslint@^7.0.0: - version "7.30.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz" - integrity sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.2" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" 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" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" 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 "^6.0.9" + optionator "^0.9.3" + strip-ansi "^6.0.1" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -2103,11 +2032,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" @@ -2118,42 +2042,19 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" is-stream "^2.0.0" merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" strip-final-newline "^2.0.0" exit@^0.1.2: @@ -2161,19 +2062,6 @@ exit@^0.1.2: resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" @@ -2181,17 +2069,16 @@ expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== +expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" extend-shallow@^2.0.1: version "2.0.1" @@ -2200,51 +2087,6 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -2255,16 +2097,23 @@ fast-json-patch@^3.0.0-1: resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz" integrity sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw== -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" + fb-watchman@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" @@ -2279,16 +2128,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" @@ -2309,10 +2148,18 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -flagged-respawn@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz" - integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flagged-respawn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-2.0.0.tgz#abf39719dcfe1ac06c86c9466081c541c682987b" + integrity sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA== flat-cache@^3.0.4: version "3.0.4" @@ -2327,41 +2174,15 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.6" + combined-stream "^1.0.8" mime-types "^2.1.12" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz" @@ -2372,31 +2193,36 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" @@ -2407,20 +2233,13 @@ get-stdin@^6.0.0: resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^4.0.0, get-stream@^4.1.0: +get-stream@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-stream@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" @@ -2428,17 +2247,10 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== git-config-path@^1.0.1: version "1.0.1" @@ -2449,27 +2261,14 @@ git-config-path@^1.0.1: fs-exists-sync "^0.1.0" homedir-polyfill "^1.0.0" -gitlab@^10.0.1: - version "10.2.1" - resolved "https://registry.npmjs.org/gitlab/-/gitlab-10.2.1.tgz" - integrity sha512-z+DxRF1C9uayVbocs9aJkJz+kGy14TSm1noB/rAIEBbXOkOYbjKxyuqJzt+0zeFpXFdgA0yq6DVVbvM7HIfGwg== - dependencies: - form-data "^2.5.0" - humps "^2.0.1" - ky "^0.12.0" - ky-universal "^0.3.0" - li "^1.3.0" - query-string "^6.8.2" - universal-url "^2.0.0" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: - is-glob "^4.0.1" + is-glob "^4.0.3" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob@^7.1.3, glob@^7.1.4: version "7.1.7" resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -2493,16 +2292,40 @@ globals@^11.1.0: resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: - version "13.9.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz" - integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.3: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + got@^9.6.0: version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" @@ -2517,28 +2340,15 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= +graceful-fs@^4.1.2, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^2.0.0: version "2.0.0" @@ -2555,49 +2365,28 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" + get-intrinsic "^1.2.2" -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-yarn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hash-base@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" @@ -2607,10 +2396,12 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hasurl@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hasurl/-/hasurl-1.0.0.tgz" - integrity sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: version "1.0.3" @@ -2619,18 +2410,6 @@ homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" @@ -2641,70 +2420,58 @@ http-cache-semantics@^4.0.0: resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-errors@^1.7.2: - version "1.8.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz" - integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== dependencies: depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" + inherits "2.0.3" + setprototypeof "1.1.1" statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: - agent-base "4" - debug "3.1.0" + "@tootallnate/once" "2" + agent-base "6" + debug "4" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + agent-base "6" + debug "4" -humps@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz" - integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== hyperlinker@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz" integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -2714,8 +2481,8 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== import-local@^3.0.2: version "3.0.2" @@ -2738,123 +2505,72 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@2, inherits@2.0.4: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== +ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + ci-info "^3.2.0" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + hasown "^2.0.0" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extendable@^0.1.0, is-extendable@^0.1.1: +is-extendable@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" @@ -2865,13 +2581,20 @@ is-generator-fn@^2.0.0: resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-installed-globally@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" @@ -2882,16 +2605,9 @@ is-installed-globally@^0.4.0: is-npm@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" @@ -2902,39 +2618,22 @@ is-obj@^2.0.0: resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.2: +is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-plain-object@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-potential-custom-element-name@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -2944,21 +2643,16 @@ is-url@^1.2.4: resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" is-yarn-global@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== is2@^2.0.6: @@ -2970,48 +2664,43 @@ is2@^2.0.6: ip-regex "^4.1.0" is-url "^1.2.4" -isarray@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - istanbul-lib-coverage@^3.0.0: 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== -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== +istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: - "@babel/core" "^7.7.5" + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" + istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" @@ -3030,391 +2719,371 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" chalk "^4.0.0" + ci-info "^3.2.0" deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^29.6.3" chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-mock "^29.7.0" + jest-util "^29.7.0" -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" slash "^3.0.0" - stack-utils "^2.0.2" + stack-utils "^2.0.3" -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^29.6.3" "@types/node" "*" + jest-util "^29.7.0" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" -jest-resolve@*, jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: - "@jest/types" "^26.6.2" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" chalk "^4.0.0" - cjs-module-lexer "^0.6.0" + cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" + pretty-format "^29.7.0" + semver "^7.5.3" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" + "@jest/types" "^29.6.3" + camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^26.3.0" + jest-get-type "^29.6.3" leven "^3.1.0" - pretty-format "^26.6.2" + pretty-format "^29.7.0" -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.6.2" + emittery "^0.13.1" + jest-util "^29.7.0" string-length "^4.0.1" -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" + jest-util "^29.7.0" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" -jest@^26.1.0: - version "26.6.3" - resolved "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: - "@jest/core" "^26.6.3" + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" import-local "^3.0.2" - jest-cli "^26.6.3" - -js-sha256@^0.9.0: - 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== + jest-cli "^29.7.0" js-tokens@^4.0.0: version "4.0.0" @@ -3429,42 +3098,12 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.5.3" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.5.3.tgz" - integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA== - dependencies: - abab "^2.0.5" - acorn "^8.1.0" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.4" - xml-name-validator "^3.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" jsesc@^2.5.1: version "2.5.2" @@ -3473,8 +3112,13 @@ jsesc@^2.5.1: json-buffer@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0: version "2.3.1" @@ -3491,37 +3135,32 @@ json-schema-traverse@^1.0.0: resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.0, json5@^2.1.2: +json5@^2.1.0: version "2.2.0" resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" -jsonpointer@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz" - integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonpointer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" + integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== -jsonwebtoken@^8.4.0: - version "8.5.1" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== +jsonwebtoken@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: jws "^3.2.2" lodash.includes "^4.3.0" @@ -3532,17 +3171,7 @@ jsonwebtoken@^8.4.0: lodash.isstring "^4.0.1" lodash.once "^4.0.0" ms "^2.1.1" - semver "^5.6.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" + semver "^7.5.4" jwa@^1.4.1: version "1.4.1" @@ -3563,61 +3192,26 @@ jws@^3.2.2: keyv@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= +keyv@^4.0.0: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + json-buffer "3.0.1" kleur@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -ky-universal@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/ky-universal/-/ky-universal-0.3.0.tgz" - integrity sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A== - dependencies: - abort-controller "^3.0.0" - node-fetch "^2.6.0" - -ky@^0.12.0, ky@>=0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz" - integrity sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ== - latest-version@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.0" @@ -3635,14 +3229,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - li@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/li/-/li-1.3.0.tgz" @@ -3660,21 +3246,18 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" lodash.find@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz" integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" @@ -3735,34 +3318,14 @@ lodash.once@^4.0.0: resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lowercase-keys@^2.0.0: @@ -3770,6 +3333,13 @@ lowercase-keys@^2.0.0: resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" @@ -3777,10 +3347,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -macos-release@^2.2.0: - version "2.5.0" - resolved "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz" - integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== +lru_map@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98" + integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg== make-dir@^3.0.0: version "3.1.0" @@ -3789,29 +3359,12 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - object-visit "^1.0.0" + tmpl "1.0.5" md5.js@^1.3.4: version "1.3.5" @@ -3822,76 +3375,43 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -memfs-or-file-map-to-github-branch@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/memfs-or-file-map-to-github-branch/-/memfs-or-file-map-to-github-branch-1.2.0.tgz" - integrity sha512-PloI9AkRXrLQuBU1s7eYQpl+4hkL0U0h23lddMaJ3ZGUufn8pdNRxd1kCfBqL5gISCFQs78ttXS15e4/f5vcTA== +memfs-or-file-map-to-github-branch@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/memfs-or-file-map-to-github-branch/-/memfs-or-file-map-to-github-branch-1.2.1.tgz#fdb9a85408262316a9bd5567409bf89be7d72f96" + integrity sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ== dependencies: - "@octokit/rest" "^16.43.1" + "@octokit/rest" "^16.43.0 || ^17.11.0 || ^18.12.0" merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" + braces "^3.0.2" + picomatch "^2.3.1" mime-db@1.47.0: version "1.47.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz" integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== -mime-types@^2.1.12, mime-types@~2.1.19: +mime-types@^2.1.12: version "2.1.30" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz" integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== dependencies: mime-db "1.47.0" +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -3902,6 +3422,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" @@ -3909,77 +3434,70 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimatch@^3.0.5, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@^2.1.1: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mustache@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" - integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +mustache@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.0.0.tgz#7f02465dbb5b435859d154831c032acdfbbefb31" + integrity sha512-FJgjyX/IVkbXBXYUwH+OYwQKqWpFPLaLVESd70yHjSDunwzV2hZOoTBvPf4KLoxesUzzyfTH6F784Uqd7Wm5yA== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -near-api-js@^0.44.2: - version "0.44.2" - resolved "https://registry.npmjs.org/near-api-js/-/near-api-js-0.44.2.tgz" - integrity sha512-eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg== - dependencies: - bn.js "5.2.0" - borsh "^0.6.0" - bs58 "^4.0.0" - depd "^2.0.0" - error-polyfill "^0.1.3" - http-errors "^1.7.2" - js-sha256 "^0.9.0" - mustache "^4.0.0" - node-fetch "^2.6.1" - text-encoding-utf-8 "^1.0.2" - tweetnacl "^1.0.1" +near-abi@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/near-abi/-/near-abi-0.1.1.tgz#b7ead408ca4ad11de4fe3e595d30a7a8bc5307e0" + integrity sha512-RVDI8O+KVxRpC3KycJ1bpfVj9Zv+xvq9PlW1yIFl46GhrnLw83/72HqHGjGDjQ8DtltkcpSjY9X3YIGZ+1QyzQ== + dependencies: + "@types/json-schema" "^7.0.11" + +near-api-js@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/near-api-js/-/near-api-js-3.0.2.tgz#e5d9a97e248f5885bdd166df30452aef0f252b14" + integrity sha512-o8rgHH5ZV+V9grZTu4GSILupq41JyU3Mt/G6rZ2pBybHA2ozkfp9oIXKRqC4mCkbUtYLy//YoXuLRGLsRDlB2w== + dependencies: + "@near-js/accounts" "1.0.2" + "@near-js/crypto" "1.2.0" + "@near-js/keystores" "0.0.8" + "@near-js/keystores-browser" "0.0.8" + "@near-js/keystores-node" "0.0.8" + "@near-js/providers" "0.0.10" + "@near-js/signers" "0.1.0" + "@near-js/transactions" "1.1.0" + "@near-js/types" "0.0.4" + "@near-js/utils" "0.0.5" + "@near-js/wallet-account" "1.0.2" + "@noble/curves" "1.2.0" + ajv "8.11.2" + ajv-formats "2.1.1" + bn.js "5.2.1" + borsh "1.0.0" + depd "2.0.0" + http-errors "1.7.2" + near-abi "0.1.1" + node-fetch "2.6.7" near-hd-key@^1.2.1: version "1.2.1" @@ -4000,64 +3518,34 @@ near-seed-phrase@^0.2.0: near-hd-key "^1.2.1" tweetnacl "^1.0.2" -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - node-cleanup@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0: version "3.0.0" @@ -4066,67 +3554,25 @@ normalize-path@^3.0.0: normalize-url@^4.1.0: version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -npm-run-path@^4.0.0: +npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -o3@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/o3/-/o3-1.0.3.tgz" - integrity sha1-GSzod6iC36Z1HwQSqGX6+y2h2sA= - dependencies: - capability "^0.2.5" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -octokit-pagination-methods@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz" - integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== +object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" @@ -4135,53 +3581,33 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -open@^8.0.7: - version "8.2.1" - resolved "https://registry.npmjs.org/open/-/open-8.2.1.tgz" - integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== +open@^8.4.2: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" is-docker "^2.1.1" is-wsl "^2.2.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" - -os-name@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz" - integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== - dependencies: - macos-release "^2.2.0" - windows-release "^3.1.0" override-require@^1.1.1: version "1.1.1" @@ -4190,18 +3616,13 @@ override-require@^1.1.1: p-cancelable@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-each-series@^2.1.0: - 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== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== p-limit@^2.1.0, p-limit@^2.2.0: version "2.3.0" @@ -4210,6 +3631,13 @@ p-limit@^2.1.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" @@ -4217,14 +3645,21 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-try@^2.0.0: +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" @@ -4258,9 +3693,9 @@ parse-github-url@^1.0.2: resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz" integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== -parse-json@^5.0.0: +parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -4268,10 +3703,10 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-link-header@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz" - integrity sha1-vt/g0hGK64S+deewJUGeyKYRQKc= +parse-link-header@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-link-header/-/parse-link-header-2.0.0.tgz#949353e284f8aa01f2ac857a98f692b57733f6b7" + integrity sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw== dependencies: xtend "~4.0.1" @@ -4280,16 +3715,6 @@ parse-passwd@^1.0.0: resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" @@ -4300,24 +3725,14 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== pbkdf2@^3.0.9: @@ -4331,27 +3746,30 @@ pbkdf2@^3.0.9: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz" integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pinpoint@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/pinpoint/-/pinpoint-1.1.0.tgz" integrity sha1-DPd1eml38b9/ajIge3CeN3OI6HQ= -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^4.2.0: version "4.2.0" @@ -4360,35 +3778,24 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - prepend-http@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" prettyjson@^1.2.1: version "1.2.1" @@ -4398,11 +3805,6 @@ prettyjson@^1.2.1: colors "^1.1.2" minimist "^1.2.0" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.0.1: version "2.4.1" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" @@ -4411,11 +3813,6 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - pump@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" @@ -4424,43 +3821,60 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== pupa@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +qs@^6.10.1: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" -query-string@^6.8.2: - version "6.14.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== +query-string@^7.0.0: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== dependencies: - decode-uri-component "^0.2.0" + decode-uri-component "^0.2.2" filter-obj "^1.1.0" split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -randombytes@^2.0.1: +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@2.1.0, randombytes@^2.0.1: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -rc@^1.2.8: +rc@1.2.8, rc@^1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -4468,29 +3882,10 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== readable-stream@^3.6.0: version "3.6.0" @@ -4506,95 +3901,25 @@ readline-sync@^1.4.9: resolved "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz" integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regenerator-runtime@^0.13.9: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + version "4.2.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: - rc "^1.2.8" + rc "1.2.8" registry-url@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: rc "^1.2.8" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.34, request@^2.88.2: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -4605,10 +3930,10 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-cwd@^3.0.0: version "3.0.0" @@ -4627,37 +3952,45 @@ resolve-from@^5.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.18.1: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" responselike@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== dependencies: lowercase-keys "^1.0.0" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" retry@0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -rimraf@^3.0.0, rimraf@^3.0.2: +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -4672,118 +4005,57 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - semver-diff@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: semver "^6.3.0" -semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.2.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== +semver@^7.3.4, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" -"semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" @@ -4793,13 +4065,6 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -4807,26 +4072,30 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" @@ -4837,172 +4106,41 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - 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== - 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" - -source-map-support@^0.5.6: - version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - "statuses@>= 1.5.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - stoppable@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz" @@ -5013,13 +4151,6 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -5028,16 +4159,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== +string-width@^4.0.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== @@ -5046,12 +4177,12 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - ansi-regex "^4.1.0" + safe-buffer "~5.2.0" strip-ansi@^6.0.0: version "6.0.0" @@ -5060,22 +4191,24 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -5085,27 +4218,27 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.0.0: +supports-color@^5.0.0, supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-hyperlinks@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz" @@ -5114,30 +4247,10 @@ supports-hyperlinks@^1.0.1: has-flag "^2.0.0" supports-color "^5.0.0" -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^6.0.9: - version "6.7.1" - resolved "https://registry.npmjs.org/table/-/table-6.7.1.tgz" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - 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" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tcp-port-used@^1.0.2: version "1.0.2" @@ -5147,14 +4260,6 @@ tcp-port-used@^1.0.2: debug "4.3.1" is2 "^2.0.6" -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" @@ -5164,51 +4269,26 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - to-readable-stream@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" @@ -5216,108 +4296,22 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - toidentifier@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -ts-node@^10.4.0, ts-node@>=9.0.0: - version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -tweetnacl@^1.0.1, tweetnacl@^1.0.2, tweetnacl@1.0.3: +tweetnacl@1.0.3, tweetnacl@^1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== -tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-check@~0.4.0: +type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== @@ -5339,16 +4333,6 @@ type-fest@^0.21.3: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" @@ -5356,69 +4340,34 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.5.4, typescript@>=2.7: - version "4.7.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -u3@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/u3/-/u3-0.1.1.tgz" - integrity sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" +typescript@^5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" -universal-url@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universal-url/-/universal-url-2.0.0.tgz" - integrity sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg== - dependencies: - hasurl "^1.0.0" - whatwg-url "^7.0.0" - -universal-user-agent@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz" - integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg== - dependencies: - os-name "^3.1.0" - universal-user-agent@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: - has-value "^0.3.1" - isobject "^3.0.0" + escalade "^3.1.1" + picocolors "^1.0.0" -update-notifier@^5.0.0: +update-notifier@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: boxen "^5.0.0" @@ -5443,160 +4392,53 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - url-parse-lax@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== dependencies: prepend-http "^2.0.0" -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: + "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -v8flags@^3.1.3: - version "3.2.0" - resolved "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz" - integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== - dependencies: - homedir-polyfill "^1.0.1" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + convert-source-map "^2.0.0" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" +v8flags@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-4.0.1.tgz#98fe6c4308317c5f394d85a435eb192490f7e132" + integrity sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg== -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - makeerror "1.0.x" + makeerror "1.0.12" -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^5.0.0: +whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" + tr46 "~0.0.3" + webidl-conversions "^3.0.0" -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.5.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz" - integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== - dependencies: - lodash "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -5605,32 +4447,11 @@ which@^2.0.1, which@^2.0.2: widest-line@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: string-width "^4.0.0" -windows-release@^3.1.0: - version "3.3.3" - resolved "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz" - integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== - dependencies: - execa "^1.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" @@ -5647,7 +4468,7 @@ wrappy@1: write-file-atomic@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -5655,90 +4476,63 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.4.4: - version "7.5.3" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +xcase@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/xcase/-/xcase-2.0.1.tgz#c7fa72caa0f440db78fd5673432038ac984450b9" + integrity sha512-UmFXIPU+9Eg3E9m/728Bii0lAIuoc+6nbrNUKaRPJOFp91ih44qqGlWtxMB6kXFrRD6po+86ksHM5XHCfk6iPw== xdg-basedir@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - xtend@~4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.7" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^16.0.3: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@^17.3.1, yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.1.1" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 35c90f2adcd9442a2c4894ec3d02743fb540377a Mon Sep 17 00:00:00 2001 From: gagdiez Date: Tue, 23 Jan 2024 15:48:23 +0100 Subject: [PATCH 18/20] fix: update node version on CI --- .github/workflows/test-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-matrix.yml b/.github/workflows/test-matrix.yml index 2e8fac69..2dd93eed 100644 --- a/.github/workflows/test-matrix.yml +++ b/.github/workflows/test-matrix.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: "12" + node-version: "16" - name: Install modules run: yarn - name: Run tests From af132f7cdefc2d35d05b2e24574167787568e626 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Thu, 25 Jan 2024 12:58:39 +0100 Subject: [PATCH 19/20] chore: minor fixes to text --- commands/contract/call.js | 2 +- commands/credentials/generate.js | 2 +- commands/keys/list.js | 2 +- commands/transactions/send.js | 2 +- commands/transactions/status.js | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/commands/contract/call.js b/commands/contract/call.js index aa64e33d..81e1f4ec 100644 --- a/commands/contract/call.js +++ b/commands/contract/call.js @@ -13,7 +13,7 @@ module.exports = { .option('useAccount', { required: true, alias: ['accountId'], - desc: 'accountId that will execute the actions', + desc: 'Account that will execute the actions', type: 'string' }) .option('networkId', { diff --git a/commands/credentials/generate.js b/commands/credentials/generate.js index 62f2df86..865915a9 100644 --- a/commands/credentials/generate.js +++ b/commands/credentials/generate.js @@ -10,7 +10,7 @@ module.exports = { builder: (yargs) => yargs .option('fromSeedPhrase', { alias: 'seedPhrase', - desc: 'generate key-pair from a seed phrase (e.g. "word-1 word-2 ... word-11 word-12")', + desc: 'Generate key-pair from a seed phrase (e.g. "word-1 word-2 ... word-11 word-12")', type: 'string', required: false, }) diff --git a/commands/keys/list.js b/commands/keys/list.js index 985372f6..eeedf909 100644 --- a/commands/keys/list.js +++ b/commands/keys/list.js @@ -5,7 +5,7 @@ const inspectResponse = require('../../utils/inspect-response'); module.exports = { command: 'list-keys ', aliases: ['keys'], - desc: 'query public keys of account', + desc: 'Query public keys of an account', builder: (yargs) => yargs .option('networkId', { desc: 'Which network to use. Supports: mainnet, testnet', diff --git a/commands/transactions/send.js b/commands/transactions/send.js index 0767ef8e..0606bf80 100644 --- a/commands/transactions/send.js +++ b/commands/transactions/send.js @@ -8,7 +8,7 @@ const { DEFAULT_NETWORK } = require('../../config'); module.exports = { command: 'send-near ', aliases: ['send'], - desc: 'send tokens to given receiver', + desc: 'Send tokens to given receiver', builder: (yargs) => yargs .option('amount', { desc: 'Amount of NEAR tokens to send', diff --git a/commands/transactions/status.js b/commands/transactions/status.js index 667d3f33..8db19497 100644 --- a/commands/transactions/status.js +++ b/commands/transactions/status.js @@ -5,7 +5,7 @@ const bs58 = require('bs58'); module.exports = { command: 'tx-status ', - desc: 'lookup transaction status by hash', + desc: 'Lookup transaction status by hash', builder: (yargs) => yargs .option('hash', { desc: 'base58-encoded hash', @@ -13,7 +13,7 @@ module.exports = { required: true }) .option('accountId', { - desc: 'accountId that signed the tx (used to determine which shard to query)', + desc: 'Account that signed the tx (used to determine which shard to query)', type: 'string', }) .option('networkId', { From 4114ab6b274ae55091fcd3a7d54f8c5957b90841 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Thu, 8 Feb 2024 16:09:40 +0100 Subject: [PATCH 20/20] fix: TLA accounts from 1.37 --- commands/account/create.js | 14 +++++++------- commands/transactions/send.js | 1 - test/test_account_creation.sh | 15 +++++++++++---- utils/credentials.js | 1 - 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/commands/account/create.js b/commands/account/create.js index 95030dbe..7fca52a3 100644 --- a/commands/account/create.js +++ b/commands/account/create.js @@ -66,8 +66,8 @@ async function create(options) { if (options.useFaucet) { if (options.networkId !== 'testnet') throw new Error('Pre-funding accounts is only possible on testnet'); - }else{ - if(!options.useAccount) throw new Error('Please specify an account to sign the transaction (--useAccount)'); + } else { + if (!options.useAccount) throw new Error('Please specify an account to sign the transaction (--useAccount)'); await assertCredentials(options.useAccount, options.networkId, options.keyStore); } @@ -93,7 +93,7 @@ async function create(options) { // Use an existing account const account = await near.account(options.useAccount); try { await account.state(); } catch (e) { - throw new Error(`Account ${options.useAccount} does not exist in ${options.networkId}. Are you using the right network?`); + throw new Error(`Account ${options.useAccount} does not exist in ${options.networkId}. Are you using the right network?`); } const initialBalance = utils.format.parseNearAmount(options.initialBalance); @@ -117,7 +117,7 @@ async function create(options) { try { // Handle response const response = await promise; - if (keyPair){ + if (keyPair) { storeCredentials(newAccountId, options.networkId, options.keyStore, keyPair, true); } else { console.log(chalk`{bold.white ${newAccountId}} created successfully, please add its credentials manually.`); @@ -127,13 +127,13 @@ async function create(options) { // Handle errors switch (error.type) { case 'CreateAccountNotAllowed': - console.error(chalk`\n{red.bold Error:} ${options.useFaucet? 'the faucet service' : options.useAccount} cannot create ${newAccountId} (networkId: ${options.networkId}).`); + console.error(chalk`\n{red.bold Error:} ${options.useFaucet ? 'the faucet service' : options.useAccount} cannot create ${newAccountId} (networkId: ${options.networkId}).`); options.useAccount && console.error(chalk`${options.useAccount} can only create sub-accounts of itself, or .${network2TLA[options.networkId]} accounts.\n`); options.useFaucet && console.error(chalk`Try using an account to fund it (--useAccount).`); process.exit(1); break; case 'NotEnoughBalance': - console.error(chalk`\n{red.bold Error:} ${options.useFaucet? 'The faucet service' : options.useAccount} does not have enough balance.`); + console.error(chalk`\n{red.bold Error:} ${options.useFaucet ? 'The faucet service' : options.useAccount} does not have enough balance.`); console.error(`Transaction hash: ${error.context.transactionHash}\n`); console.error(`Signer: ${error.kind.signer_id}`); console.error(`Balance: ${utils.format.formatNearAmount(error.kind.balance)}`); @@ -141,7 +141,7 @@ async function create(options) { process.exit(1); break; case 'CreateAccountOnlyByRegistrar': - console.error(chalk`\nYou cannot create Top Level Accounts with less than 32 chars (${newAccountId} has ${newAccountId.length} chars).`); + console.error(chalk`\nYou cannot create Top Level Accounts.`); process.exit(1); break; default: diff --git a/commands/transactions/send.js b/commands/transactions/send.js index 0606bf80..f2cf6119 100644 --- a/commands/transactions/send.js +++ b/commands/transactions/send.js @@ -27,7 +27,6 @@ async function sendMoney(options) { const near = await connect(options); const account = await near.account(options.sender); - try { console.log(`Sending ${options.amount} NEAR to ${options.receiver} from ${options.sender}`); const result = await account.sendMoney(options.receiver, utils.format.parseNearAmount(options.amount)); diff --git a/test/test_account_creation.sh b/test/test_account_creation.sh index 2b07b542..0424cd50 100755 --- a/test/test_account_creation.sh +++ b/test/test_account_creation.sh @@ -41,9 +41,6 @@ fi # An account can create zero-balance accounts ./bin/near create-account $zerobalance --accountId $testaccount1 --initialBalance 0 -# An account can create a TLA -./bin/near create-account $tla --accountId $testaccount1 - set +e # Cannot create sub-accounts of other accounts @@ -68,7 +65,7 @@ fi # Cannot create a TLA with a short name ERROR=$(./bin/near create-account tooshortfortla --accountId $testaccount1 2>&1) -EXPECTED_ERROR=".+cannot create Top Level Accounts with less than 32 chars.+" +EXPECTED_ERROR=".+cannot create Top Level Accounts.+" if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then echo FAILURE Unexpected output when creating a short top-level account echo Got: $ERROR @@ -76,6 +73,16 @@ if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then exit 1 fi +# Cannot create a TLA with a long name +ERROR=$(./bin/near create-account $tla --accountId $testaccount1 2>&1) +EXPECTED_ERROR=".+cannot create Top Level Accounts.+" +if [[ ! "$ERROR" =~ $EXPECTED_ERROR ]]; then + echo FAILURE Unexpected output when creating a long top-level account + echo Got: $ERROR + echo Expected: $EXPECTED_ERROR + exit 1 +fi + # Cannot create a useFaucet account in mainnet ERROR=$(./bin/near create-account $testaccount4 --useFaucet --networkId mainnet 2>&1) EXPECTED_ERROR=".+Pre-funding accounts is only possible on testnet.+" diff --git a/utils/credentials.js b/utils/credentials.js index 10ba9a59..4d3fdceb 100644 --- a/utils/credentials.js +++ b/utils/credentials.js @@ -1,7 +1,6 @@ const chalk = require('chalk'); async function assertCredentials(accountId, networkId, keyStore) { - const key = await keyStore.getKey(networkId, accountId); if(key) return;