From 5d69c7c1b5ccbd6020b436c379f0ae9b6f9982bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20C=C3=A1rdenas?= Date: Mon, 15 Apr 2024 14:36:03 -0600 Subject: [PATCH 1/7] feat: support multiple STX faucet source accounts (#1946) * feat: support multiple STX faucet source accounts * fix: always start attempt on index 0 * fix: guard against array overflow --- .env | 5 ++++ src/api/routes/faucets.ts | 48 ++++++++++++++++++++++++--------------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/.env b/.env index 06ea4bd627..25ca66d3e0 100644 --- a/.env +++ b/.env @@ -93,6 +93,11 @@ STACKS_CORE_RPC_PORT=20443 # STACKS_FAUCET_NODE_HOST= # STACKS_FAUCET_NODE_PORT= +# A comma-separated list of STX private keys which will send faucet transactions to accounts that +# request them. Attempts will always be made from the first account, only once transaction chaining +# gets too long the faucet will start using the next one. +# FAUCET_PRIVATE_KEY= + ## configure the chainID/networkID; testnet: 0x80000000, mainnet: 0x00000001 STACKS_CHAIN_ID=0x00000001 diff --git a/src/api/routes/faucets.ts b/src/api/routes/faucets.ts index 8accc49c03..6a3f5956af 100644 --- a/src/api/routes/faucets.ts +++ b/src/api/routes/faucets.ts @@ -42,6 +42,7 @@ export function getStxFaucetNetworks(): StacksNetwork[] { enum TxSendResultStatus { Success, ConflictingNonce, + TooMuchChaining, Error, } @@ -50,17 +51,12 @@ interface TxSendResultSuccess { txId: string; } -interface TxSendResultConflictingNonce { - status: TxSendResultStatus.ConflictingNonce; - error: Error; -} - interface TxSendResultError { - status: TxSendResultStatus.Error; + status: TxSendResultStatus; error: Error; } -type TxSendResult = TxSendResultSuccess | TxSendResultConflictingNonce | TxSendResultError; +type TxSendResult = TxSendResultSuccess | TxSendResultError; function clientFromNetwork(network: StacksNetwork): StacksCoreRpcClient { const coreUrl = new URL(network.coreApiUrl); @@ -148,6 +144,9 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { const FAUCET_STACKING_WINDOW = 2 * 24 * 60 * 60 * 1000; // 2 days const FAUCET_STACKING_TRIGGER_COUNT = 1; + const STX_FAUCET_NETWORKS = getStxFaucetNetworks(); + const STX_FAUCET_KEYS = (process.env.FAUCET_PRIVATE_KEY ?? testnetKeys[0].secretKey).split(','); + router.post( '/stx', asyncHandler(async (req, res) => { @@ -167,8 +166,6 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; const lastRequests = await db.getSTXFaucetRequests(address); - const privateKey = process.env.FAUCET_PRIVATE_KEY || testnetKeys[0].secretKey; - const isStackingReq = req.query['stacking'] === 'true'; // Guard condition: requests are limited to x times per y minutes. @@ -191,10 +188,8 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { return; } - const networks = getStxFaucetNetworks(); - const stxAmounts: bigint[] = []; - for (const network of networks) { + for (const network of STX_FAUCET_NETWORKS) { try { let stxAmount = FAUCET_DEFAULT_STX_AMOUNT; if (isStackingReq) { @@ -216,13 +211,14 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { const generateTx = async ( network: StacksNetwork, + keyIndex: number, nonce?: bigint, fee?: bigint ): Promise => { const txOpts: SignedTokenTransferOptions = { recipient: address, amount: stxAmount, - senderKey: privateKey, + senderKey: STX_FAUCET_KEYS[keyIndex], network: network, memo: 'Faucet', anchorMode: AnchorMode.Any, @@ -242,7 +238,7 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { /estimating transaction fee|NoEstimateAvailable/.test(error.message) ) { const defaultFee = 200n; - return await generateTx(network, nonce, defaultFee); + return await generateTx(network, keyIndex, nonce, defaultFee); } throw error; } @@ -251,9 +247,9 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { const nonces: bigint[] = []; const fees: bigint[] = []; let txGenFetchError: Error | undefined; - for (const network of networks) { + for (const network of STX_FAUCET_NETWORKS) { try { - const tx = await generateTx(network); + const tx = await generateTx(network, 0); nonces.push(tx.auth.spendingCondition?.nonce ?? BigInt(0)); fees.push(tx.auth.spendingCondition.fee); } catch (error: any) { @@ -270,10 +266,11 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { let retrySend = false; let sendSuccess: { txId: string; txRaw: string } | undefined; let lastSendError: Error | undefined; + let stxKeyIndex = 0; do { - const tx = await generateTx(networks[0], nextNonce, fee); + const tx = await generateTx(STX_FAUCET_NETWORKS[0], stxKeyIndex, nextNonce, fee); const rawTx = Buffer.from(tx.serialize()); - for (const network of networks) { + for (const network of STX_FAUCET_NETWORKS) { const rpcClient = clientFromNetwork(network); try { const res = await rpcClient.sendTransaction(rawTx); @@ -289,6 +286,11 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { status: TxSendResultStatus.ConflictingNonce, error, }); + } else if (error.message?.includes('TooMuchChaining')) { + sendTxResults.push({ + status: TxSendResultStatus.TooMuchChaining, + error, + }); } else { sendTxResults.push({ status: TxSendResultStatus.Error, @@ -305,6 +307,16 @@ export function createFaucetRouter(db: PgWriteStore): express.Router { retrySend = true; sendTxResults.length = 0; nextNonce = nextNonce + 1n; + } else if ( + sendTxResults.every(res => res.status === TxSendResultStatus.TooMuchChaining) + ) { + // Try with the next key in case we have one. + if (stxKeyIndex + 1 === STX_FAUCET_KEYS.length) { + retrySend = false; + } else { + retrySend = true; + stxKeyIndex++; + } } else { retrySend = false; } From 2c526fcf8ead66ff3055bbd77e37f663726503af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Pradel?= Date: Tue, 16 Apr 2024 17:33:53 +0200 Subject: [PATCH 2/7] feat: docker build for arm (#1947) --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea8dc98509..0584c95ce0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -886,6 +886,9 @@ jobs: @semantic-release/exec@6.0.3 conventional-changelog-conventionalcommits@6.1.0 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -927,6 +930,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . + platforms: ${{ github.ref == 'refs/heads/master' && 'linux/amd64,linux/arm64' || 'linux/amd64' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} # Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks) From e9727963c405520e2de3991992c5b19092a62948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20C=C3=A1rdenas?= Date: Tue, 16 Apr 2024 09:38:08 -0600 Subject: [PATCH 3/7] chore: delete old utils and remaining metadata processor code (#1944) * Delete config/token-metadata-image-cache-imgix.js * Delete utils directory --- config/token-metadata-image-cache-imgix.js | 7 - utils/.eslintrc.js | 19 - utils/package-lock.json | 1772 ----------------- utils/package.json | 32 - utils/read-load-profiling/load-test.sh | 39 - utils/read-load-profiling/readme.md | 21 - .../read-load-profiling/sampled-requests.txt | 990 --------- utils/src/addr-lru-cache-test.ts | 63 - utils/src/chaintip-cache-control-test.ts | 34 - utils/src/index.ts | 149 -- utils/tsconfig.json | 21 - 11 files changed, 3147 deletions(-) delete mode 100755 config/token-metadata-image-cache-imgix.js delete mode 100644 utils/.eslintrc.js delete mode 100644 utils/package-lock.json delete mode 100644 utils/package.json delete mode 100755 utils/read-load-profiling/load-test.sh delete mode 100644 utils/read-load-profiling/readme.md delete mode 100644 utils/read-load-profiling/sampled-requests.txt delete mode 100644 utils/src/addr-lru-cache-test.ts delete mode 100644 utils/src/chaintip-cache-control-test.ts delete mode 100644 utils/src/index.ts delete mode 100644 utils/tsconfig.json diff --git a/config/token-metadata-image-cache-imgix.js b/config/token-metadata-image-cache-imgix.js deleted file mode 100755 index e48d99d00d..0000000000 --- a/config/token-metadata-image-cache-imgix.js +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node -const imgUrl = process.argv[2]; -const encodedUrl = encodeURIComponent(imgUrl); -const [imgixDomain, imgixToken] = [process.env['IMGIX_DOMAIN'], process.env['IMGIX_TOKEN']]; -const signature = require('crypto').createHash('md5').update(imgixToken + '/' + encodedUrl).digest('hex'); -const resultUrl = new URL(encodedUrl + '?s=' + signature, imgixDomain); -console.log(resultUrl.toString()); diff --git a/utils/.eslintrc.js b/utils/.eslintrc.js deleted file mode 100644 index 7ed03d0694..0000000000 --- a/utils/.eslintrc.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - root: true, - extends: ['@stacks/eslint-config', 'prettier'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'prettier'], - parserOptions: { - tsconfigRootDir: __dirname, - project: './tsconfig.json', - ecmaVersion: 2017, - sourceType: 'module', - }, - ignorePatterns: ['lib/*', 'test/*', '.eslintrc.js'], - rules: { - 'prettier/prettier': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/restrict-template-expressions': 'off', - }, -}; diff --git a/utils/package-lock.json b/utils/package-lock.json deleted file mode 100644 index 37dd591d98..0000000000 --- a/utils/package-lock.json +++ /dev/null @@ -1,1772 +0,0 @@ -{ - "name": "@stacks/blockchain-api-utils", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@stacks/blockchain-api-utils", - "version": "0.1.0", - "dependencies": { - "@stacks/transactions": "^v2.0.1", - "bignumber.js": "^9.0.1", - "dotenv": "^10.0.0", - "extra-bigint": "0.0.62", - "getopts": "^2.3.0", - "node-fetch": "^2.6.6", - "pg": "^8.2.1", - "pg-copy-streams": "^5.1.1", - "pg-cursor": "^2.6.0", - "pg-listen": "^1.7.0", - "table": "^6.7.2" - }, - "devDependencies": { - "@types/pg": "^8.6.1", - "rimraf": "^3.0.2", - "typescript": "^4.4.2" - } - }, - "../../stacks-blockchain/stacks-encoding-native-js": { - "version": "0.1.0", - "extraneous": true, - "hasInstallScript": true, - "license": "ISC", - "devDependencies": { - "cargo-cp-artifact": "^0.1" - } - }, - "../../stacks-encoding-native-js": { - "version": "0.1.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@types/node": "^16.11.26", - "detect-libc": "^2.0.1" - }, - "devDependencies": { - "@types/jest": "^27.4.1", - "cargo-cp-artifact": "^0.1", - "jest": "^27.5.1", - "open": "^8.4.0", - "ts-jest": "^27.1.4", - "typescript": "^4.6.3" - } - }, - "../../stacks-encoding-native-js/stacks-encoding-native-js": { - "version": "0.1.0", - "extraneous": true, - "hasInstallScript": true, - "license": "ISC", - "devDependencies": { - "cargo-cp-artifact": "^0.1" - } - }, - "node_modules/@stacks/common": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@stacks/common/-/common-2.0.2.tgz", - "integrity": "sha512-RpuNIqf+XmcHlMjXeVZE4fS3yIUlCvOYmxyBKOarh010Kx3Gs/LhAeejn/329lYcIE6VwNPoeXPSE9deq7Yjcw==", - "dependencies": { - "@types/node": "^14.14.43", - "bn.js": "^4.12.0", - "buffer": "^6.0.3", - "cross-fetch": "^3.1.4" - } - }, - "node_modules/@stacks/common/node_modules/@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" - }, - "node_modules/@stacks/network": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stacks/network/-/network-1.2.2.tgz", - "integrity": "sha512-xcWwuRrLJn9qqi3PEBcP2UPZHQztTZd31C0aVlzYHttNMir/sY9SrUqSnw45z2Jo4O9pIYYPIiPRtdV91Ho3fw==", - "dependencies": { - "@stacks/common": "^1.2.2" - } - }, - "node_modules/@stacks/network/node_modules/@stacks/common": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stacks/common/-/common-1.2.2.tgz", - "integrity": "sha512-knCqq88EBRCN8AhS7+Sx2PJuRv0EFNChEpqLqCAchCHCQfp5bWad/47Zw+fLP9ccBwFXh4pl1wDtbQLBfDo0+A==", - "dependencies": { - "cross-fetch": "^3.0.6" - } - }, - "node_modules/@stacks/transactions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-2.0.1.tgz", - "integrity": "sha512-q+8nCbn+0m1T8NbGG2sfMcBcCxdaH/F+vgBEHkhMIFHFLYXVYBGYbTX2llGS9StLp/tQq6p2Bfb1kzKFSw8FRQ==", - "dependencies": { - "@stacks/common": "^2.0.1", - "@stacks/network": "^1.2.2", - "@types/bn.js": "^4.11.6", - "@types/elliptic": "^6.4.12", - "@types/node": "^14.14.43", - "@types/randombytes": "^2.0.0", - "@types/sha.js": "^2.4.0", - "bn.js": "^4.12.0", - "c32check": "^1.1.2", - "cross-fetch": "^3.1.4", - "elliptic": "^6.5.4", - "lodash": "^4.17.20", - "randombytes": "^2.1.0", - "ripemd160-min": "^0.0.6", - "sha.js": "^2.4.11", - "smart-buffer": "^4.1.0" - } - }, - "node_modules/@stacks/transactions/node_modules/@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" - }, - "node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/elliptic": { - "version": "6.4.14", - "resolved": "https://registry.npmjs.org/@types/elliptic/-/elliptic-6.4.14.tgz", - "integrity": "sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ==", - "dependencies": { - "@types/bn.js": "*" - } - }, - "node_modules/@types/node": { - "version": "16.11.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", - "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==" - }, - "node_modules/@types/pg": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", - "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^2.2.0" - } - }, - "node_modules/@types/randombytes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/randombytes/-/randombytes-2.0.0.tgz", - "integrity": "sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/sha.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.0.tgz", - "integrity": "sha512-amxKgPy6WJTKuw8mpUwjX2BSxuBtBmZfRwIUDIuPJKNwGN8CWDli8JTg5ONTWOtcTkHIstvT7oAhhYXqEjStHQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "engines": { - "node": "*" - } - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/c32check": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz", - "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.6.0", - "cross-sha256": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/c32check/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-sha256": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/cross-sha256/-/cross-sha256-1.2.0.tgz", - "integrity": "sha512-KViLNMDZKV7jwFqjFx+rNhG26amnFYYQ0S+VaFlVvpk8tM+2XbFia/don/SjGHg9WQxnFVi6z64CGPuF3T+nNw==", - "dependencies": { - "buffer": "^5.6.0" - } - }, - "node_modules/cross-sha256/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/extra-bigint": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/extra-bigint/-/extra-bigint-0.0.62.tgz", - "integrity": "sha512-Uv+k7mKgWPPCm0z4TqEPj5L9t2g598btvJWhJ/oVOz2UBkvI0t1l1SseLJkFZ3lRBFJ2EHk4pxx/W8lVa0PICA==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/getopts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", - "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pg": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.2.1.tgz", - "integrity": "sha512-DKzffhpkWRr9jx7vKxA+ur79KG+SKw+PdjMb1IRhMiKI9zqYUGczwFprqy+5Veh/DCcFs1Y6V8lRLN5I1DlleQ==", - "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.2.3", - "pg-pool": "^3.2.1", - "pg-protocol": "^1.2.4", - "pg-types": "^2.1.0", - "pgpass": "1.x", - "semver": "4.3.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" - }, - "node_modules/pg-copy-streams": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-5.1.1.tgz", - "integrity": "sha512-ieW6JuiIo/4WQ7n+Wevr9zYvpM1AwUs6EwNCCA0VgKZ6ZQ7Y9k3IW00vqc6svX9FtENhbaTbLN7MxekraCrbfg==", - "dependencies": { - "obuf": "^1.1.2" - } - }, - "node_modules/pg-cursor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.6.0.tgz", - "integrity": "sha512-BFLg40CTgBJ+LX9EwqjztUYaKxpxLffMmDTmlQNMCustX/JxMTYimxRkdhZvPYZGp++/2LjuqkKtO5DVVq0FNg==", - "peerDependencies": { - "pg": "^8" - } - }, - "node_modules/pg-format": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pg-format/-/pg-format-1.0.4.tgz", - "integrity": "sha1-J3NCNsKtP05QZJFaWTNOIAQKgo4=", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-listen": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pg-listen/-/pg-listen-1.7.0.tgz", - "integrity": "sha512-MKDwKLm4ryhy7iq1yw1K1MvUzBdTkaT16HZToddX9QaT8XSdt3Kins5mYH6DLECGFzFWG09VdXvWOIYogjXrsg==", - "dependencies": { - "debug": "^4.1.1", - "pg-format": "^1.0.4", - "typed-emitter": "^0.1.0" - }, - "peerDependencies": { - "pg": "7.x || 8.x" - } - }, - "node_modules/pg-pool": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", - "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", - "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", - "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", - "dependencies": { - "split2": "^3.1.1" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/require-from-string": { - "version": "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/semver": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz", - "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/slice-ansi": { - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/string_decoder": { - "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" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/typed-emitter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.1.0.tgz", - "integrity": "sha512-Tfay0l6gJMP5rkil8CzGbLthukn+9BN/VXWcABVFPjOoelJ+koW8BuPZYk+h/L+lEeIp1fSzVRiWRPIjKVjPdg==" - }, - "node_modules/typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - } - }, - "dependencies": { - "@stacks/common": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@stacks/common/-/common-2.0.2.tgz", - "integrity": "sha512-RpuNIqf+XmcHlMjXeVZE4fS3yIUlCvOYmxyBKOarh010Kx3Gs/LhAeejn/329lYcIE6VwNPoeXPSE9deq7Yjcw==", - "requires": { - "@types/node": "^14.14.43", - "bn.js": "^4.12.0", - "buffer": "^6.0.3", - "cross-fetch": "^3.1.4" - }, - "dependencies": { - "@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" - } - } - }, - "@stacks/network": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stacks/network/-/network-1.2.2.tgz", - "integrity": "sha512-xcWwuRrLJn9qqi3PEBcP2UPZHQztTZd31C0aVlzYHttNMir/sY9SrUqSnw45z2Jo4O9pIYYPIiPRtdV91Ho3fw==", - "requires": { - "@stacks/common": "^1.2.2" - }, - "dependencies": { - "@stacks/common": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stacks/common/-/common-1.2.2.tgz", - "integrity": "sha512-knCqq88EBRCN8AhS7+Sx2PJuRv0EFNChEpqLqCAchCHCQfp5bWad/47Zw+fLP9ccBwFXh4pl1wDtbQLBfDo0+A==", - "requires": { - "cross-fetch": "^3.0.6" - } - } - } - }, - "@stacks/transactions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-2.0.1.tgz", - "integrity": "sha512-q+8nCbn+0m1T8NbGG2sfMcBcCxdaH/F+vgBEHkhMIFHFLYXVYBGYbTX2llGS9StLp/tQq6p2Bfb1kzKFSw8FRQ==", - "requires": { - "@stacks/common": "^2.0.1", - "@stacks/network": "^1.2.2", - "@types/bn.js": "^4.11.6", - "@types/elliptic": "^6.4.12", - "@types/node": "^14.14.43", - "@types/randombytes": "^2.0.0", - "@types/sha.js": "^2.4.0", - "bn.js": "^4.12.0", - "c32check": "^1.1.2", - "cross-fetch": "^3.1.4", - "elliptic": "^6.5.4", - "lodash": "^4.17.20", - "randombytes": "^2.1.0", - "ripemd160-min": "^0.0.6", - "sha.js": "^2.4.11", - "smart-buffer": "^4.1.0" - }, - "dependencies": { - "@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" - } - } - }, - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/elliptic": { - "version": "6.4.14", - "resolved": "https://registry.npmjs.org/@types/elliptic/-/elliptic-6.4.14.tgz", - "integrity": "sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ==", - "requires": { - "@types/bn.js": "*" - } - }, - "@types/node": { - "version": "16.11.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", - "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==" - }, - "@types/pg": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", - "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", - "dev": true, - "requires": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^2.2.0" - } - }, - "@types/randombytes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/randombytes/-/randombytes-2.0.0.tgz", - "integrity": "sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==", - "requires": { - "@types/node": "*" - } - }, - "@types/sha.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.0.tgz", - "integrity": "sha512-amxKgPy6WJTKuw8mpUwjX2BSxuBtBmZfRwIUDIuPJKNwGN8CWDli8JTg5ONTWOtcTkHIstvT7oAhhYXqEjStHQ==", - "requires": { - "@types/node": "*" - } - }, - "ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" - }, - "c32check": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz", - "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.6.0", - "cross-sha256": "^1.2.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } - }, - "cross-sha256": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/cross-sha256/-/cross-sha256-1.2.0.tgz", - "integrity": "sha512-KViLNMDZKV7jwFqjFx+rNhG26amnFYYQ0S+VaFlVvpk8tM+2XbFia/don/SjGHg9WQxnFVi6z64CGPuF3T+nNw==", - "requires": { - "buffer": "^5.6.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "extra-bigint": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/extra-bigint/-/extra-bigint-0.0.62.tgz", - "integrity": "sha512-Uv+k7mKgWPPCm0z4TqEPj5L9t2g598btvJWhJ/oVOz2UBkvI0t1l1SseLJkFZ3lRBFJ2EHk4pxx/W8lVa0PICA==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "getopts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", - "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "pg": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.2.1.tgz", - "integrity": "sha512-DKzffhpkWRr9jx7vKxA+ur79KG+SKw+PdjMb1IRhMiKI9zqYUGczwFprqy+5Veh/DCcFs1Y6V8lRLN5I1DlleQ==", - "requires": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.2.3", - "pg-pool": "^3.2.1", - "pg-protocol": "^1.2.4", - "pg-types": "^2.1.0", - "pgpass": "1.x", - "semver": "4.3.2" - } - }, - "pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" - }, - "pg-copy-streams": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-5.1.1.tgz", - "integrity": "sha512-ieW6JuiIo/4WQ7n+Wevr9zYvpM1AwUs6EwNCCA0VgKZ6ZQ7Y9k3IW00vqc6svX9FtENhbaTbLN7MxekraCrbfg==", - "requires": { - "obuf": "^1.1.2" - } - }, - "pg-cursor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.6.0.tgz", - "integrity": "sha512-BFLg40CTgBJ+LX9EwqjztUYaKxpxLffMmDTmlQNMCustX/JxMTYimxRkdhZvPYZGp++/2LjuqkKtO5DVVq0FNg==", - "requires": {} - }, - "pg-format": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pg-format/-/pg-format-1.0.4.tgz", - "integrity": "sha1-J3NCNsKtP05QZJFaWTNOIAQKgo4=" - }, - "pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - }, - "pg-listen": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pg-listen/-/pg-listen-1.7.0.tgz", - "integrity": "sha512-MKDwKLm4ryhy7iq1yw1K1MvUzBdTkaT16HZToddX9QaT8XSdt3Kins5mYH6DLECGFzFWG09VdXvWOIYogjXrsg==", - "requires": { - "debug": "^4.1.1", - "pg-format": "^1.0.4", - "typed-emitter": "^0.1.0" - } - }, - "pg-pool": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", - "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", - "requires": {} - }, - "pg-protocol": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", - "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" - }, - "pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "requires": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - } - }, - "pgpass": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", - "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", - "requires": { - "split2": "^3.1.1" - } - }, - "postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - }, - "postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" - }, - "postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - }, - "postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "requires": { - "xtend": "^4.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "require-from-string": { - "version": "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==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==" - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "semver": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz", - "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - } - }, - "string_decoder": { - "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==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "typed-emitter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.1.0.tgz", - "integrity": "sha512-Tfay0l6gJMP5rkil8CzGbLthukn+9BN/VXWcABVFPjOoelJ+koW8BuPZYk+h/L+lEeIp1fSzVRiWRPIjKVjPdg==" - }, - "typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } -} diff --git a/utils/package.json b/utils/package.json deleted file mode 100644 index e0f9a96a86..0000000000 --- a/utils/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@stacks/blockchain-api-utils", - "version": "0.1.0", - "description": "Utilities for Stacks Blockchain API", - "main": "lib/index.js", - "scripts": { - "build": "rimraf ./lib && npm run build:node", - "build:node": "tsc", - "start": "node ./lib/utils/src/index.js", - "address-cache-test": "npm run build && NODE_ENV=production node --expose-gc ./lib/utils/src/addr-lru-cache-test.js", - "chaintip-cache-control-test": "npm run build && node ./lib/utils/src/chaintip-cache-control-test.js" - }, - "prettier": "@stacks/prettier-config", - "dependencies": { - "@stacks/transactions": "^v2.0.1", - "bignumber.js": "^9.0.1", - "dotenv": "^10.0.0", - "extra-bigint": "0.0.62", - "getopts": "^2.3.0", - "node-fetch": "^2.6.6", - "pg": "^8.2.1", - "pg-copy-streams": "^5.1.1", - "pg-cursor": "^2.6.0", - "pg-listen": "^1.7.0", - "table": "^6.7.2" - }, - "devDependencies": { - "@types/pg": "^8.6.1", - "rimraf": "^3.0.2", - "typescript": "^4.4.2" - } -} diff --git a/utils/read-load-profiling/load-test.sh b/utils/read-load-profiling/load-test.sh deleted file mode 100755 index 2963990ae6..0000000000 --- a/utils/read-load-profiling/load-test.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -echo "Reading from $1" - -line_count=$(cat $1 | wc -l | tr -d ' ') -req_count=0 - -echo "Total endpoints: $line_count lines" - -hostname="http://127.0.0.1" -port="3998" -profile_port="9119" -host="$hostname:$port" - -curl "$hostname:$profile_port/profile/cpu/start" || { - echo "CPU profiler request failed" - exit 1 -} - -while read i -do - ((req_count=req_count+1)) - if [[ $i == "/extended/v1/tokens/"* ]] - then - echo "Skipping $i" - else - percent=$(bc <<< "scale=3; $req_count / $line_count * 100") - echo "Completed $req_count / $line_count, $percent%, hitting $i" - curl --silent --output /dev/null --fail "$host$i" || { - echo "Request failed to endpoint: $host$i" - exit 1 - } - fi -done < $1 - -curl -OJ "$hostname:$profile_port/profile/cpu/stop" || { - echo "CPU profiler output request failed" - exit 1 -} diff --git a/utils/read-load-profiling/readme.md b/utils/read-load-profiling/readme.md deleted file mode 100644 index 9b4b798964..0000000000 --- a/utils/read-load-profiling/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -### Usage - -Perform an event-replay import with a recent TSV (at least block height 52499). - -Run API in readonly mode with profiling enabled: -```shell -npm run build -STACKS_PROFILER_PORT=9119 STACKS_BLOCKCHAIN_API_PORT=3998 STACKS_API_MODE=readonly STACKS_CHAIN_ID=0x80000000 NODE_ENV=production node lib/index.js -``` - -Run load test script inside this directory: -```shell -./load-test.sh ./sampled-requests.txt -``` - -The script reads from the list of GET http endpoints, sampled from real-world traffic. It initiates a "start CPU profiling" request to the API, then iterates through the sampled endpoints using curl, issuing requests as fast as the server can respond. - -It also checks for non-200 responses and will exit with an error if found. This can be used for regression testing to ensure the sampled endpoints at least return a success code. - -Once all requests have been issued, a "stop CPU profiling" request is sent. The profile result is saved to disk in this directory as a `*.cpuprofile` file. This can be opened in vscode to analyze. - diff --git a/utils/read-load-profiling/sampled-requests.txt b/utils/read-load-profiling/sampled-requests.txt deleted file mode 100644 index 9a922f4da6..0000000000 --- a/utils/read-load-profiling/sampled-requests.txt +++ /dev/null @@ -1,990 +0,0 @@ -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-oracle-v1-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP2ZSTSSE61NZTRGWVB18MEQ26AMQ0Z7R70Z2ND36/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2Y4WPD4JDQ9A9HCADNTNTE6NTEKCCNDBA373XHY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/block/0x10bc1ba06366077c85b096bfa7b0e4f2f9df1fe3182e1cec8ffa7ee79a11bf92?unanchored=true -/extended/v1/tx/0x0429af694679c329ba6a7ec0e0c540148b99e720db286589df2b07844c459e62?unanchored=true -/extended/v1/tx/0xcacb7888089d814974cfdc8ee65ca639f65e7911eeb7f26f05bd4139797be390?event_offset=0&event_limit=200 -/extended/v1/tx/0x2632ee0489174c5e2900b33f0c40dda2c1abcf6f41bb0aa91441e678c4478ea3?unanchored=true -/extended/v1/address/SP3F52JMS6E0FRTFBXBKJ5H5PCNEEF7GNMQ2AXKJX/stx?unanchored=true -/extended/v1/tx/0xc259761a2c7435388a283d15d989f4ec5e8dac7994d0599862009ae95d988fc4?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0xf9fd9ca61ce39e94cc904d388ffffdf410a7225093da92b5e2bc23391a644175?unanchored=true -/extended/v1/address/SP3NY7W1GJ2631FBN4S5M8HZVZCQTX5SMA1V66DHG/transactions?limit=50 -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3RW544YBNV88HP4N55VT09G1G56YKNV4DA06Z0Q/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3&unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market/balances?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-oracle-v1-1/balances?unanchored=true -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-oracle-v1-1?unanchored=true -/extended/v1/tx/0x8ea66d8f99d5e944e11d26f0c175aac2e5b285eb887d8402a386357a5f7bdc60?unanchored=true -/extended/v1/address/SP1B764E7X0RPVQ559BKZREB946KBHNKMPF12WCYD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x40cc710da89eb8a45a25a1711dcaecb30a204d34384b766a124131b88584ad44?unanchored=true -/extended/v1/tx/0x10426e8c03a47cf9fc43186d62816c9742e3d1bd03292128104efa550ef793cd?unanchored=true -/extended/v1/address/SP74NF0R58MK7SESDTPNPGA2YQ1894CQD8HVVZDY/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3RW544YBNV88HP4N55VT09G1G56YKNV4DA06Z0Q/stx?unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP25R8FDK9501YKRBQWANQ9E8ZE8Y4RGWWE4EV5H2/stx?unanchored=true -/extended/v1/address/SP25R8FDK9501YKRBQWANQ9E8ZE8Y4RGWWE4EV5H2/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xffbda750726d5dd650575c3ce1d26f63aea04ae641ed2689eef4d79bf6c89d21?unanchored=true -/extended/v1/tx/0x06a145e6fb0a67863b5f650850ede330ef198b1da08e14e7ef46c475afdbcbd9?unanchored=true -/extended/v1/address/SP2Y4WPD4JDQ9A9HCADNTNTE6NTEKCCNDBA373XHY/stx?unanchored=true -/extended/v1/tx/0x9eb3830c8a285360902b715223017ba2cf9a0d0dd12f023a50b09cd98b38efee?unanchored=true -/extended/v1/address/SP3F52JMS6E0FRTFBXBKJ5H5PCNEEF7GNMQ2AXKJX/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP27ET1966S4011GHKWTHG5BPRB9AA2NZ4BEDVP6D/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1B7KT6PS3WQP4MWG92EBSVSKB0JKTAJNR1VN8JQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/contract/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market?unanchored=true -/extended/v1/block/0xd392793393aa71d76d68f81d46554b44250c8f9854ac6d31c27d38a1a492a592?unanchored=true -/extended/v1/address/SP3RY185H0R8TNX4PGRYFZ07AV001N23N1FJX9MEE/stx?unanchored=true -/extended/v1/tx/0x03265908fab756c416da83b577c34f31aa4d6585835a6a29aa8c1b4bd76da264?unanchored=true -/extended/v1/tx/0xbac8d2318f37e6e8a4ab4178004ab7e7349d0ca1672499f081505d0b48a577ea?unanchored=true -/extended/v1/address/SP1B764E7X0RPVQ559BKZREB946KBHNKMPF12WCYD/stx?unanchored=true -/extended/v1/tx/0x76901f23e486881a855d44c58ea2e9632066d93742e0b63de0b7b6aebfb78c58?unanchored=true -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v4/balances?unanchored=true -/extended/v1/block/0x9ea404d144a3d8c47b16429a6828f7a7b1063533216dc0661ef77f1982363f6b?unanchored=true -/extended/v1/block/0x2b374a3e44ffb664d918aff30a43aee660cc6019c5e7bbe9cb746a08a32dcdfd?unanchored=true -/extended/v1/tx/0x819a63b571d06c514a719391909c1128d49ae5ef81e1b33b5663adfeec0f9e88?event_offset=0&event_limit=200 -/extended/v1/contract/SP3T3JC6V4S94PPB7WFEK17863HPG3EYP6CJ65E7M.derupt-mia-alpha-v9/events?offset=0 -/extended/v1/tx/0x084530d6cf83f8a6756615f97fff87670ae995916c67c309647fa96d84e81952?unanchored=true -/extended/v1/tx/0xbec21826bb3d913807c3a959862971f71d9e2216d2c9ef27e9020cb13b4b4081?unanchored=true -/extended/v1/tx/0xca22fe6c83baad5a8600cd0229bca8cae5a4b7b1676999b4af02e50108abe842?unanchored=true -/extended/v1/tx/0x8b04a35bbe65f466f8007f31060988e069fefe33824b306ae11acc9fd0c8eb64?unanchored=true -/extended/v1/tx/0x042f4f54ae21f5b7ba26cd791f552100ecb85cf77b5cc73f477194e512873110?unanchored=true -/extended/v1/tx/0x9e4b46ac1345cb52ecbcbf7db05f670366332ba48ba7362dd1340e67a82b964a?unanchored=true -/extended/v1/tx/0x350a207e00756a50527216c19682540d46318785efedcec07804ebbd1b28c8ba?unanchored=true -/extended/v1/address/SP27ET1966S4011GHKWTHG5BPRB9AA2NZ4BEDVP6D/stx?unanchored=true -/extended/v1/tx/0xfea7db4902c34c192e2125fc9d3f1a4823397955d349037fd21dd39dac11cd55?unanchored=true -/extended/v1/address/SP1B7KT6PS3WQP4MWG92EBSVSKB0JKTAJNR1VN8JQ/stx?unanchored=true -/extended/v1/tx/0x505ad12891c8980bae8d6c0b6becdd906fcbff41b464a6ba1a2b4341ca39ef61?unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275/balances -/extended/v1/address/SP3WQWQQN252QXQTV29YP1FQCBW5YZ8C4DG0AB98B/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3878KDYPJC2WHZSHY5N33B379B95W6X5D0TCYMP/stx?unanchored=true -/extended/v1/address/SP3GQGY9XSBBM7ZD0ETACNPH52FEJ6WK58B4VCZEZ/transactions?limit=30&unanchored=true -/extended/v1/address/SP1P32Z1SWS8K7AKT857BEQJHDQ2SADQNA3KQZX93/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2ZSTSSE61NZTRGWVB18MEQ26AMQ0Z7R70Z2ND36/stx?unanchored=true -/extended/v1/contract/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v4?unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275/nonces?unanchored=true -/extended/v1/address/SP3PMZXDTF0GECRZGZZQ12Z4DK2F2XZK38TXHXAQG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3WQWQQN252QXQTV29YP1FQCBW5YZ8C4DG0AB98B/stx?unanchored=true -/extended/v1/address/SP2XKH0WZ5E862SMYRKRYJFRXSRPM2FBFJC0MCYSC/balances -/extended/v1/address/SP3878KDYPJC2WHZSHY5N33B379B95W6X5D0TCYMP/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/block/0x9b9771403dcecdea4b5f53ea63c3dc9fcd56de279db97fe68525eb3ea08e9d59?unanchored=true -/extended/v1/address/SP343J7DNE122AVCSC4HEK4MF871PW470ZSXJ5K66.miamipool-v1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3PMZXDTF0GECRZGZZQ12Z4DK2F2XZK38TXHXAQG/stx?unanchored=true -/extended/v1/address/SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48.usda-token/balances?unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K&unanchored=true -/extended/v1/tx/mempool?address=SP3GQGY9XSBBM7ZD0ETACNPH52FEJ6WK58B4VCZEZ&limit=30&offset=0&unanchored=true -/extended/v1/tx/0x9c41b056d12a5982adec1fd7ccda8b504677afe2023f3994db3b1f912cf1a2cc?event_offset=0&event_limit=200 -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP22WD69PDNNCKJMBFY0E82XCP4MQWMGK8JCA0R4J/stx?unanchored=true -/extended/v1/address/SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48.usda-token/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3GQGY9XSBBM7ZD0ETACNPH52FEJ6WK58B4VCZEZ/balances?unanchored=true -/extended/v1/block/0x13e0f9ee9f68205cdfb14c63a3e65a868d375baa01dbf37d51b394f86cd0deb3?unanchored=true -/extended/v1/address/SP1P32Z1SWS8K7AKT857BEQJHDQ2SADQNA3KQZX93/stx?unanchored=true -/extended/v1/tx/0xf5ce7e21d3feb021b4b63887fc15dc8a1427beb859e21e8788e388ee54adae2c?event_offset=0&event_limit=200 -/extended/v1/tx/0x4ff326011162744d5374f5fe747f115be71c0fdad4e69a4b907f9ff0136053d0?unanchored=true -/extended/v1/tx/0x93b90d01cc0095c939192485c228078fc98c51218fbf0b45d13718935f8df623?unanchored=true -/extended/v1/address/SP22WD69PDNNCKJMBFY0E82XCP4MQWMGK8JCA0R4J/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1RRPVVGB7EPSXZT10GSWDEBY0V04HM1NA917QHG/transactions_with_transfers?limit=50 -/extended/v1/tx/0x670ef76ed327bfb1645482a5ac128c022f3fb0c7387f79bdc127f87089973677?unanchored=true -/extended/v1/block/0x6e14fab7f8b8d4c402cfc28a425e3f61e006fd684e00cc7bbbf4d6738c73001a?unanchored=true -/extended/v1/address/SP396C1SWH8DM0C39CHVQGHM5H2WY3XJC9HY6BRSY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/contract/SP343J7DNE122AVCSC4HEK4MF871PW470ZSXJ5K66.miamipool-v1?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50 -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1RRPVVGB7EPSXZT10GSWDEBY0V04HM1NA917QHG/stx -/extended/v1/tx/mempool?address=SP2P6KSAJ4JVV8PFSNKJ9BNG5PEPR4RT71VXZHWBK.tiger-force -/extended/v1/address/SP1PCVP6479BG99RJ8MFR45RD767KS77RC9T7VQFC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1PCVP6479BG99RJ8MFR45RD767KS77RC9T7VQFC/stx?unanchored=true -/extended/v1/tx/0x7dc69ee97fef49c33ec27fc60e8a179246105c52065cc620e2cd5d08c66603f8?event_offset=0&event_limit=200 -/extended/v1/block/0x5ee78171f93373cc41cb52aec10380ea7797e2d6b8665bfea991960627ceb6d3?unanchored=true -/extended/v1/address/SP5Z1NSFDPTQ95D1NFWQN388YC93AWYFXSN9RJC1/stx?unanchored=true -/extended/v1/address/SP37B25MQXMZRBKY98G24NPWDAHYZCF562KXJWTKD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3H3X8ZPY9XJE7Q7DREH7F0RXJJH3EFWBMC8ETFY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3/stx?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx -/extended/v1/address/SP343J7DNE122AVCSC4HEK4MF871PW470ZSXJ5K66.miamipool-v1/balances?unanchored=true -/extended/v1/tx/0xddd23d52014e19556fe980b1c46430852ea479bfec508ee2c2e546a84f9a7da6?event_offset=0&event_limit=200 -/extended/v1/address/SP5Z1NSFDPTQ95D1NFWQN388YC93AWYFXSN9RJC1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x2ddd3154448dfd5fedb6a705d3e3f5813be6da5534228721e82078db75ec8c08?event_offset=0&event_limit=200 -/extended/v1/tx/0x61de762b004c6da50f8c59cd4c73e9b9a2df962d3833a9b40c077f30cd50cfbe?unanchored=true -/extended/v1/address/SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3H3X8ZPY9XJE7Q7DREH7F0RXJJH3EFWBMC8ETFY/stx?unanchored=true -/extended/v1/address/SPCDC2D03MHHWFV3CK3A5B3TWS9BKD9WF7TP2HG1/stx?unanchored=true -/extended/v1/address/SPS6P76N4K900PJW6WJZ9GYGJN0DPK6W71N9454E/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP000000000000000000002Q6VF78.bns/balances?unanchored=true -/extended/v1/address/SP1FEAD66PAAYHQRZG4G6FV0RY1RWBA7SJV6NFXVD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3VQEG5H0REND4AM8VMMMERYJXPV6TYPP5DPWYZQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x1ac57371fb4e4ae752d9737e8f861b2cd7d3e51f7abe36b4f561771060e742f1?event_offset=0&event_limit=200 -/extended/v1/address/SP2SDB5X6WNF9VZ8ZRC2JPR5FK4CQJPTQNXVFDHV7/stx?unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/contract/SP000000000000000000002Q6VF78.bns?unanchored=true -/extended/v1/tx/0x974bac007244d7730bcffaa828b0d8660a575a7610eb13bcdaca0d7300d80fa7?event_offset=0&event_limit=200 -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1FEAD66PAAYHQRZG4G6FV0RY1RWBA7SJV6NFXVD/stx?unanchored=true -/extended/v1/address/SPS6P76N4K900PJW6WJZ9GYGJN0DPK6W71N9454E/stx?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx?unanchored=true -/extended/v1/tx/0xaca21c8398c8265e9e5c671167e599e6de34f051f78e38ad83ec5798842528d8?event_offset=0&event_limit=200 -/extended/v1/address/SPCDC2D03MHHWFV3CK3A5B3TWS9BKD9WF7TP2HG1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xb2ad2b8c776fde7e33df70932eb473bebb55c0ac290f311cfe91d522619ed4ac?unanchored=true -/extended/v1/address/SP3VQEG5H0REND4AM8VMMMERYJXPV6TYPP5DPWYZQ/stx?unanchored=true -/extended/v1/address/SP2SDB5X6WNF9VZ8ZRC2JPR5FK4CQJPTQNXVFDHV7/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&offset=600 -/extended/v1/address/SP37B25MQXMZRBKY98G24NPWDAHYZCF562KXJWTKD/stx?unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/stx?unanchored=true -/extended/v1/address/SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx -/extended/v1/block/0x812c027d5878e3771e1449d15b306ac4a70cd3a2205c8e91ab2b14c9aadfa466?unanchored=true -/extended/v1/tx/mempool?address=SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48&limit=10&offset=0&unanchored=true -/extended/v1/contract/SP248HH800501WYSG7Z2SS1ZWHQW1GGH85ME34NT2.layer-v1-1?unanchored=true -/extended/v1/address/SPVMP1SEW9X64H1ZD3B092J6Z27N2WTCN54RC8VV/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1R3QKH7PKFE0JYQG6JH1MC50ER5NB0JWVPQC0KR/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP38BCJ7FBSKX51KPHF3EA5R80X1HV9TVRNPC57G5/stx?unanchored=true -/extended/v1/address/SP248HH800501WYSG7Z2SS1ZWHQW1GGH85ME34NT2.layer-v1-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP38BCJ7FBSKX51KPHF3EA5R80X1HV9TVRNPC57G5/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xa47e0d7a9d8d027213106b9a1224bb20e67ca3af814f1a0bab600fdb4157c84b?unanchored=true -/extended/v1/tx/0x03209935196bd7e249abd4085ac407d6594408b8d842566436ff54f701e055c6?event_offset=0&event_limit=200 -/extended/v1/address/SP1V65MSH0VXVPJQW2PE0SGM63Z5SVY5KB607XMW4/stx -/extended/v1/tx/0x2ced440b127c5e478d2076c7d239a5b97f44d0843f3f5166b4159d4934174e56?event_offset=0&event_limit=200 -/extended/v1/address/SP248HH800501WYSG7Z2SS1ZWHQW1GGH85ME34NT2.layer-v1-1/balances?unanchored=true -/extended/v1/block/0x7f8de604a6e2ef5dcc6941631b002d9f834b984ff95aebe389a9d47af9b58da8?unanchored=true -/extended/v1/address/SP1R3QKH7PKFE0JYQG6JH1MC50ER5NB0JWVPQC0KR/stx?unanchored=true -/extended/v1/tx/0x2ae0fbed1673ec642a1e5a574da084ba325be145fcb9286d47b0e5a0735396c6?unanchored=true -/extended/v1/address/SP23X6AEBKHEBQH7VZPVPSV3KHRBKAAXRMH75YSH8/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP5VW08SB8K0D3PP8D1ASTBPEV8WVBP7978JB4FN/stx?unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.stackswap-farming-v1l/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP23X6AEBKHEBQH7VZPVPSV3KHRBKAAXRMH75YSH8/stx?unanchored=true -/extended/v1/address/SPVMP1SEW9X64H1ZD3B092J6Z27N2WTCN54RC8VV/stx?unanchored=true -/extended/v1/tx -/extended/v1/tx/0x91f0923c433611df4fdde135991cf6f38ae7206976513b816971b4e4559d72ee?event_offset=0&event_limit=200 -/extended/v1/contract/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.stackswap-farming-v1l?unanchored=true -/extended/v1/address/SP35K3YFGBPJ32VPX9E2JTPRA6FD83QN6011ZQ2YP/balances -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3WBYAEWN0JER1VPBW8TRT1329BGP9RGC5S2519W/balances -/extended/v1/tx/mempool?address=SP1VKT3RYGT4SETHCN2CET3YNRP9911894PV4XK72&limit=30&offset=0&unanchored=true -/extended/v1/block/0x983157ca681cfc98fcb3f655e2bbef2805977fc9a869495da5a71e98ad8b544e?unanchored=true -/extended/v1/address/SP374RMXRCP8SZCWYT21KX7ETY3V2WSQPNGEZ7GF8/balances -/extended/v1/address/SP3W3F6SS0G0BSFE1AWA1S7C66EY744W1BJMNT96M/balances -/extended/v1/address/SP1QDGYS3D54VK3QX7E0TB11BS6M5JRHGDQJVX01X/balances -/extended/v1/tx/0x2cab8e5fe2ec4457a1dbb21bfb351d8342e02b2c7123cf1290ebb817fd531e93?unanchored=true -/extended/v1/address/SP1Y56N007J3H18CA2N5T5E4XY3K4V5WD030H0NXC/stx?unanchored=true -/extended/v1/address/SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-core-v1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP9NP5JKVN27SR924D8E9EREPKGVY000ZJBZQ55K/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.stackswap-farming-v1l/balances?unanchored=true -/extended/v1/tx/0x030522224c207b56891f3714f576251cb501939ae9f25cd5c196c3d93d6ee605?unanchored=true -/extended/v1/block/0x31e03469ad5087fb1905c0fbeb30428625c862fbaa1605d9336d384783fb0ea3?unanchored=true -/extended/v1/address/SP3HNXGEERV3RM08WKNSYJQC2ZVCS28A37C9WGAQ5/balances -/extended/v1/address/SP1QQRXATKSM9P28SSCZHRYDWEBP6YBFEDA37FK7B/stx?unanchored=true -/extended/v1/address/SP3W3F6SS0G0BSFE1AWA1S7C66EY744W1BJMNT96M/balances -/extended/v1/address/SP1Y56N007J3H18CA2N5T5E4XY3K4V5WD030H0NXC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1BCE6B3Q5ET0H9HNV7SZJQR3MSGB8QWGG5AXCAQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP5VW08SB8K0D3PP8D1ASTBPEV8WVBP7978JB4FN/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xac79503fd343f135c315bd9b7c8a3920e5a882b4b1586ebff64b54ea2d40c946?event_offset=0&event_limit=200 -/extended/v1/address/SP32H8TBZ1NGZQHWCTW0W31TW6AQ5CZFZ7XD62YDT/stx?unanchored=true -/extended/v1/address/SP32H8TBZ1NGZQHWCTW0W31TW6AQ5CZFZ7XD62YDT/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0/balances?unanchored=true -/extended/v1/address/SP3W3F6SS0G0BSFE1AWA1S7C66EY744W1BJMNT96M/balances -/extended/v1/address/SP1BCE6B3Q5ET0H9HNV7SZJQR3MSGB8QWGG5AXCAQ/stx?unanchored=true -/extended/v1/address/SP9NP5JKVN27SR924D8E9EREPKGVY000ZJBZQ55K/stx?unanchored=true -/extended/v1/address/SP3QSAJQ4EA8WXEDSRRKMZZ29NH91VZ6C5X88FGZQ.thisisnumberone-v2/balances?unanchored=true -/extended/v1/address/SP1QQRXATKSM9P28SSCZHRYDWEBP6YBFEDA37FK7B/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&offset=400 -/extended/v1/tx/0x7a5bde962fe72e3b9606a52264fbfc1c975d4ad3bb879e5f4983801cf957eeaf?event_offset=0&event_limit=200 -/extended/v1/contract/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0?unanchored=true -/extended/v1/address/SP3W3F6SS0G0BSFE1AWA1S7C66EY744W1BJMNT96M/balances?unanchored=true -/extended/v1/address/SP1BCE6B3Q5ET0H9HNV7SZJQR3MSGB8QWGG5AXCAQ/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3YK7KWMYRCDMV5M4792T0T7DERQXHJJGGEPV1N8&limit=10&offset=0&unanchored=true -/extended/v1/tx/0x7c5299d4dc1d7ea2803aa12927bad1730bbb33b1e76684bf6c02ea449f5cc3e1?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v3/balances?unanchored=true -/extended/v1/tx/0x69238452184d56940b400917685272a24402ca8878c157fed308169aefb94660?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-vault-rewards-v1-1/balances?unanchored=true -/extended/v1/address/SP3SRSSYMBC5XAAVH7AY0N6F61P6BR2ST052EZ9KH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x6c84af7dd9976d6c29799b5b5efcaaa2c1c630076a1be74becd3aaedab2f63b6?event_offset=0&event_limit=200 -/extended/v1/address/SP29PDHADF5SE39G8KP4F60J70QPAP5HTETP2WMYR/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2P5W3FWFY2ZDQXDHJEYYBW4XMQ6HKFXW850R2T6/balances?unanchored=true -/extended/v1/address/SP2RQ3YGAF1MXZ1PP85VTNB9YCGESC3STZYZMQ68C/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1ASC824ETZ630FCMVXWN4WQE5DTKB6KCEHRDHE/stx -/extended/v1/address/SP3ZMR6QDCRXQ75YK0FGZYQY31TNKVJE638FW6RD4/balances -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/stx?unanchored=true -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-vault-rewards-v1-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3KRFT86D6RCWE8XFHK45VJV0ZTCSWF6MCJBDJ67/balances -/extended/v1/address/SP35H8RGEAYK6AWBX7WDXPRXBYJ7RQP2SA4PQYT4Y/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xa7a52546a4964fc11018a018ebf1696de3f3f237a1596c6e22fec2a2a17dca65?event_offset=0&event_limit=200 -/extended/v1/contract/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v3?unanchored=true -/extended/v1/block?limit=11&offset=0&unanchored=true -/extended/v1/tx/0xb59918a1702cd1efb9da6e7038c00cec2e41b7d1153bda567ab01e6f26f2b2b9?event_offset=0&event_limit=200 -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-vault-rewards-v1-1?unanchored=true -/extended/v1/tx/mempool?limit=10&offset=0&unanchored=true -/extended/v1/address/SP35H8RGEAYK6AWBX7WDXPRXBYJ7RQP2SA4PQYT4Y/stx?unanchored=true -/extended/v1/address/SP2A6MEHF26061CAY71Q9V5TV9Q395K9773PX80R9/stx -/extended/v1/address/SP2GHPX871GG50BE72CNFZZ0FJM5JQ5GPDKM4T2RC/balances -/extended/v1/address/SP2RQ3YGAF1MXZ1PP85VTNB9YCGESC3STZYZMQ68C/stx?unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market-v2/balances?unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP2A6MEHF26061CAY71Q9V5TV9Q395K9773PX80R9 -/extended/v1/block/0x91cd92b2338af63fc0a1d3702ddb74236e2ba7e629150149f8a936cc01bf147c?unanchored=true -/extended/v1/address/SPPAQWRD7Y3E982NB4BVXPFRZ1PMZVZEV7635GZ9/balances -/extended/v1/address/SP3M72S3S5085CHCMH6KWQG6NGFT9MYFJRZX036P2/stx?unanchored=true -/extended/v1/address/SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-core-v1/balances?unanchored=true -/extended/v1/address/SPRJHJHRBANMZ6S6S0CSXZYTFZDV5NKWMABZEVGX/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP000000000000000000002Q6VF78.bns/balances?unanchored=true -/extended/v1/tx/mempool?limit=200&offset=200 -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0x63ca4250a013676ead2e1450fc858d1d4ef048062a3e3e9f907b4589d1479c0c?unanchored=true -/extended/v1/address/SP29PDHADF5SE39G8KP4F60J70QPAP5HTETP2WMYR/stx?unanchored=true -/extended/v1/address/SP3M72S3S5085CHCMH6KWQG6NGFT9MYFJRZX036P2/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3Z5RDNNQQCCWY1VY1RV2M7JCS0NJFP0522CAAPW/balances -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3CBJH1HXYEVF3GMRHSC3F7Y2V3ZY24EFM4FBZMH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x8ce27e0c44b1de88265a2a915c713c61de44fa32ddd88ac2ab72e659c86e7fd7?event_offset=0&event_limit=200 -/extended/v1/contract/SP000000000000000000002Q6VF78.bns?unanchored=true -/extended/v1/address/SP3YK7KWMYRCDMV5M4792T0T7DERQXHJJGGEPV1N8/balances?unanchored=true -/extended/v1/address/SPRJHJHRBANMZ6S6S0CSXZYTFZDV5NKWMABZEVGX/stx?unanchored=true -/extended/v1/block/0xb27e21bc35c97c2c91f960f370ff533f363164ef3425fb4dff969ed217d7b663?unanchored=true -/extended/v1/tx/0x0604ff1c635ff95a8d86a60cf6b79f4ef28a6bde71045a9422b4dc3104f5a48f -/extended/v1/address/SP1X1Z0BCA19KGXFXFZNMX14Z9R4M2NJ1V1E8K57G/balances -/extended/v1/address/SPQ0J759DPCZKS9CVJHKVDCB86GMDFWRTNM1GKGB/stx?unanchored=true -/extended/v1/tx?limit=10&offset=0&unanchored=true -/extended/v1/address/SP74NF0R58MK7SESDTPNPGA2YQ1894CQD8HVVZDY/stx?unanchored=true -/extended/v1/address/SP3SRSSYMBC5XAAVH7AY0N6F61P6BR2ST052EZ9KH/stx?unanchored=true -/extended/v1/address/SP1ZG8V5DZKXNP02WS42Q9HK37TV3N8KM6W4RDE33/stx?unanchored=true -/extended/v1/address/SPQ0J759DPCZKS9CVJHKVDCB86GMDFWRTNM1GKGB/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/balances?unanchored=true -/extended/v1/address/SP3CBJH1HXYEVF3GMRHSC3F7Y2V3ZY24EFM4FBZMH/stx?unanchored=true -/extended/v1/tx/0x6bd694c12684fa271b8502f709f4bd35d39179130312f307dde7546de17ac74b?event_offset=0&event_limit=200 -/extended/v1/tx/0x32740f573479b0bb92e4d797048832c7741371cc6fe52a667c1083cda2c20d4a?event_offset=0&event_limit=200 -/extended/v1/address/SP1BCE6B3Q5ET0H9HNV7SZJQR3MSGB8QWGG5AXCAQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1ZG8V5DZKXNP02WS42Q9HK37TV3N8KM6W4RDE33/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2S0S9HYHE6DCV7Y1J4B6R1V6F0D4TMBM75D02Y2/balances -/extended/v1/address/SP7ZXZJSV1YZ3JSJMR0HWCAXEY1MF8SV9TJ4GTN9/balances -/extended/v1/address/SP000000000000000000002Q6VF78.bns/balances?unanchored=true -/extended/v1/address/SP2R00295DPD8FSK5S4VMGMRPD364Y9WSQRH33CSF/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPK5QM9C19QMTTTB3PMNTZFWZD3MRC2QWZ3C6FC6/balances -/extended/v1/tx/0x44dde5e7a192653eba8c2be1c311764fc4909ec852931fded9ecea7dd217c33d?unanchored=true -/extended/v1/address/SP1BNXYXYTFM3T7H6DJBZENG3SYVGKKPYM80XKT79/stx?unanchored=true -/extended/v1/contract/SP000000000000000000002Q6VF78.bns?unanchored=true -/extended/v1/tx?type=contract_call&limit=200 -/extended/v1/tx/0x2a01c8544e7fdc726fe20160e43c7a9fa49ca3906119f9e8323272c0e43ad221?unanchored=true -/extended/v1/contract/SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-core-v1?unanchored=true -/extended/v1/address/SPV6N77686AQY32491VDKBNZ6E41V09G8ZXMX2C2/transactions?limit=30&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/block/0x0520ed4226b713d768b7409acfa3213786000137587860b9a009a4b9d8968102?unanchored=true -/extended/v1/tx/0x22478311d01af480dd7f08c04f333c36b7e3fcfa4fba845c3c8a9094d65781aa?unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/nonces?unanchored=true -/extended/v1/tx/mempool?address=SPV6N77686AQY32491VDKBNZ6E41V09G8ZXMX2C2&limit=30&offset=0&unanchored=true -/extended/v1/address/SP74NF0R58MK7SESDTPNPGA2YQ1894CQD8HVVZDY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3RYYV19PAEJ8XSC0VW7M29K9Q5ZXYCA6F51SWJY/stx?unanchored=true -/extended/v1/address/SP3RYYV19PAEJ8XSC0VW7M29K9Q5ZXYCA6F51SWJY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3ZMR6QDCRXQ75YK0FGZYQY31TNKVJE638FW6RD4/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H&unanchored=true -/extended/v1/tx/mempool?address=SP2P5W3FWFY2ZDQXDHJEYYBW4XMQ6HKFXW850R2T6&limit=30&offset=0&unanchored=true -/extended/v1/address/SPV6N77686AQY32491VDKBNZ6E41V09G8ZXMX2C2/balances?unanchored=true -/extended/v1/address/SP35G18KWYGP0HEYJRCXKK34A7086138457XV5F16/stx -/extended/v1/address/SP1P32Z1SWS8K7AKT857BEQJHDQ2SADQNA3KQZX93/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1BNXYXYTFM3T7H6DJBZENG3SYVGKKPYM80XKT79/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1QFG8R4AFG87EZ44XJP4M4HVE8BS5GZYCN6YT8Y/stx?unanchored=true -/extended/v1/address/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0/balances?unanchored=true -/extended/v1/address/SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48/balances?unanchored=true -/extended/v1/tx/mempool?limit=10&offset=0&unanchored=true -/extended/v1/address/SP1P32Z1SWS8K7AKT857BEQJHDQ2SADQNA3KQZX93/stx?unanchored=true -/extended/v1/tx/0xf3ac54d3a22d1ed1ade7003fb0dfadf26879777c36919ac2977d7030884118b3?unanchored=true -/extended/v1/address/SPD0RHNMR4ZNC10TBYYPQ4H850ZNS9VK8VA232MM/balances -/extended/v1/address/SP67XPZERNDZFSAY5HEKMHQD19P3KCRTJWXY2AA0/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=90&unanchored=true -/extended/v1/address/SP2GW18TVQR75W1VT53HYGBRGKFRV5BFYNAF5SS5J/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1NHWTANZ0DZNSZ45G5VJD6XWFTBZPF0C8Q78SDQ/balances -/extended/v1/address/SP2YA0ZAKS18P1FEKP6Q2YPQM0XBVCPHSENY83S43/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1&unanchored=true -/extended/v1/address/SP2SDB5X6WNF9VZ8ZRC2JPR5FK4CQJPTQNXVFDHV7/stx?unanchored=true -/extended/v1/address/SP000000000000000000002Q6VF78.pox/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SPDV5HEGCMSVYQNB0D6TAS944AMSZ6TT7TJ5MGET/stx?unanchored=true -/extended/v1/address/SP3YS76QZ4H97AX98M95SX0QZ06HEWHX08PND030N/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPBVEE7J61T1EE535B139FQ6NRB3T1BHWWSNZ099/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP17WB59VTMRE17M9MY6FKPHWRQK8KPP0DYH00PNG/stx?unanchored=true -/extended/v1/tx/0x76e3094f136c6472d2e1795ea89f6dccb54af5f5cc3da8dded0733f12c132511?event_offset=0&event_limit=200 -/extended/v1/address/SP2R00295DPD8FSK5S4VMGMRPD364Y9WSQRH33CSF/stx?unanchored=true -/extended/v1/tx/0xdc5129677a6031e81441661bf75784df1bfb825e7a394c8065458baf4381771c?event_offset=0&event_limit=200 -/extended/v1/address/SPZCK6AZRV4GM31YM3PW7ZGVJ3DGBBBFTNGGVEA0/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPZCK6AZRV4GM31YM3PW7ZGVJ3DGBBBFTNGGVEA0/stx?unanchored=true -/extended/v1/address/SP3VQEG5H0REND4AM8VMMMERYJXPV6TYPP5DPWYZQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPZH76R14FTANR920PHZFWDRE10YB5ZHRQY4G7ZC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPDV5HEGCMSVYQNB0D6TAS944AMSZ6TT7TJ5MGET/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0/balances?unanchored=true -/extended/v1/tx/0xeaf0daf241d8e10e4d081081727738f8b1dfedafe8e90f9547c31716f8cf7215?unanchored=true -/extended/v1/address/SP3STTY5N4RAHVEWWDXZW0581FE72MX4KP6ABWY93/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1VKT3RYGT4SETHCN2CET3YNRP9911894PV4XK72/balances?unanchored=true -/extended/v1/address/SP67XPZERNDZFSAY5HEKMHQD19P3KCRTJWXY2AA0/stx?unanchored=true -/extended/v1/address/SP3VQEG5H0REND4AM8VMMMERYJXPV6TYPP5DPWYZQ/stx?unanchored=true -/extended/v1/address/SPYT0H8KG06M8XSE9ASYYSVJV18PTYQHBBR8T3R0/stx?unanchored=true -/extended/v1/address/SP1PN944TZY06602036V2MQM1WEDX9JPMPN521TEE/balances -/extended/v1/address/SP3YS76QZ4H97AX98M95SX0QZ06HEWHX08PND030N/stx?unanchored=true -/extended/v1/address/SP2YA0ZAKS18P1FEKP6Q2YPQM0XBVCPHSENY83S43/stx?unanchored=true -/extended/v1/address/SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-core-v1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP3STTY5N4RAHVEWWDXZW0581FE72MX4KP6ABWY93/stx?unanchored=true -/extended/v1/address/SPZH76R14FTANR920PHZFWDRE10YB5ZHRQY4G7ZC/stx?unanchored=true -/extended/v1/address/SP2GW18TVQR75W1VT53HYGBRGKFRV5BFYNAF5SS5J/stx?unanchored=true -/extended/v1/tx/0xdb265bf918c86af4dedae1e0419fc38c9d76107aaad063c69f1acd8e4515c70d?event_offset=0&event_limit=200 -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/nonces?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP2SDB5X6WNF9VZ8ZRC2JPR5FK4CQJPTQNXVFDHV7/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPYT0H8KG06M8XSE9ASYYSVJV18PTYQHBBR8T3R0/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP17WB59VTMRE17M9MY6FKPHWRQK8KPP0DYH00PNG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP28WNYY5AEC733C8ACMFW92B827WVTY8S7JF2MQ7/balances -/extended/v1/address/SP1W3XVEW3TSKG4EPYRMAZESSSP26Y54GY5YAR0HX/balances -/extended/v1/address/SPVND8VGWAVS1F49ZHJTDYKBHNB45WJAV5AS5CKM/balances -/extended/v1/block/0x2b64fa9d608a9b9955ee5ca097af3ecf32d6835e3c3cdac36816be753e617741?unanchored=true -/extended/v1/contract/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.citadels?unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.citadels/balances?unanchored=true -/extended/v1/tx/0x6884328fe2057bd5830e8632a5769ef2c1d5577ad49552ee212760dad7619659?event_offset=0&event_limit=200 -/extended/v1/tx/mempool?limit=30&offset=60&unanchored=true -/extended/v1/block/0x10bc1ba06366077c85b096bfa7b0e4f2f9df1fe3182e1cec8ffa7ee79a11bf92?unanchored=true -/extended/v1/tx/0x1cae2e9ccc713da91b5cf9dd42062d14718f2341a3cea7c446a5456b76bc526d?unanchored=true -/extended/v1/address/SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-core-v1/balances?unanchored=true -/extended/v1/block/0x073594f615b6d226fc37cf1eb5820b888d0adecb4220fc947596b3727a140918?unanchored=true -/extended/v1/address/SPBVEE7J61T1EE535B139FQ6NRB3T1BHWWSNZ099/stx?unanchored=true -/extended/v1/address/SP2XZ5NT9R6W7PAD9Z72MZA8RRDD168AP28N9CNMV/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP9R31K5FJA311TT54DKT7MS6V5NEYQVG22SJQ6J/stx?unanchored=true -/extended/v1/address/SPJA6JAGWD5B7MDNZWZ8RS0T3B3FXC64GX8HX6VA/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x8220df99352c7bcd9e3d7c6af2fb0b14d3b598ba37ee0e8baba689deaed56636?unanchored=true -/extended/v1/address/SP000000000000000000002Q6VF78.pox/balances?unanchored=true -/extended/v1/address/SP11NQ776533XSJA4JSMY8FYE8H3H68VBZHG27Y3R/stx?unanchored=true -/extended/v1/block -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.stdiko-token?unanchored=true -/extended/v1/block/0xacee925d812f88af6b928cf84831270873f6d257fbff2e06e0deb8374c61eb95?unanchored=true -/extended/v1/tx/0x2273ba20754fa223f4623ef1e1e9876d38773f08a9221af75a24c671cc571a5f?unanchored=true -/extended/v1/address/SP2XZ5NT9R6W7PAD9Z72MZA8RRDD168AP28N9CNMV/stx?unanchored=true -/extended/v1/block/0xd7f5173ee6702f9beff7269e1fdbf93a5c108a8218bc60e1cad7104c55875a1e?unanchored=true -/extended/v1/tx/mempool?limit=200&offset=0 -/extended/v1/contract/SP000000000000000000002Q6VF78.pox?unanchored=true -/extended/v1/tx/0x6b05e3b27cb535d0688a27e57fea8cab141c8c0cca2d27200ab02739227a9b46?event_offset=0&event_limit=200 -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.stdiko-token/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1C7X9V4HRGP2KQ6NDCNB91SZ0CNKZ4T8BR5BT6M/stx -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.stdiko-token/balances?unanchored=true -/extended/v1/tx/0xc23b3fe6cb022808f864568f795a8bca3677de586085ca49a888ad296602c8a8?unanchored=true -/extended/v1/block -/extended/v1/address/SP9R31K5FJA311TT54DKT7MS6V5NEYQVG22SJQ6J/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1YDN5AQCSZ5F4QAGJSR3WK81P483NP8KD0AXVHP/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPJA6JAGWD5B7MDNZWZ8RS0T3B3FXC64GX8HX6VA/stx?unanchored=true -/extended/v1/address/SP11NQ776533XSJA4JSMY8FYE8H3H68VBZHG27Y3R/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPBVEE7J61T1EE535B139FQ6NRB3T1BHWWSNZ099/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP33F70F6AW0D1ZTX9QWF7RJ0SHJFMWJQ0QHQ194T/balances -/extended/v1/address/SP15T984N1ZA89C29KEW2K8GK2XE344648NB6M6JE/balances?unanchored=true -/extended/v1/address/SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/contract/SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-core-v1?unanchored=true -/extended/v1/tx/0x4a4bb79ee836ebf4940033796a92be0e5604bc15a6b533dfff763c9e2aa10a69?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP33F70F6AW0D1ZTX9QWF7RJ0SHJFMWJQ0QHQ194T/balances?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/balances -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.citadels/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1YDN5AQCSZ5F4QAGJSR3WK81P483NP8KD0AXVHP/stx?unanchored=true -/extended/v1/block/0x710e817dc8dc51b8af497c49c9d9fcd1ff7ca3b25449c71ab08cb2b94d84edda?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/balances -/extended/v1/address/SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-core-v1/transactions?limit=50&offset=0&unanchored=true -/extended/v1/tx/0x4a017d7055172480f58c2129ff9ab96585265d3fc82fdbc8f25f34d17cdd0652?event_offset=0&event_limit=200 -/extended/v1/tx/mempool?limit=30&offset=30&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=10&unanchored=true -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v4/balances?unanchored=true -/extended/v1/address/SP15T984N1ZA89C29KEW2K8GK2XE344648NB6M6JE/transactions?limit=30&unanchored=true -/extended/v1/tx/0x1cd02b81c81aa8aafe1cfca8520a1d5f80127a32f5a143dd7a4fba0f092dfbfa?event_offset=0&event_limit=200 -/extended/v1/address/SP2N8ZGAGRDJX7S2KRW3V8KSBSTK90T50A701PX3D/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1RRPVVGB7EPSXZT10GSWDEBY0V04HM1NA917QHG/transactions_with_transfers?limit=50 -/extended/v1/address/SP3D6ADXTA1TZ8XVNMD5C9QAXEAK6P3G4RV7CQN60/balances?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50 -/extended/v1/tx/0x8126c90dfdb1eb61c341af5e5ff6ab59c12cdc60e8ef128bcca3848eaaa920a9?unanchored=true -/extended/v1/address/SP3PMZXDTF0GECRZGZZQ12Z4DK2F2XZK38TXHXAQG/stx?unanchored=true -/extended/v1/address/SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx?unanchored=true -/extended/v1/block/0x10bc1ba06366077c85b096bfa7b0e4f2f9df1fe3182e1cec8ffa7ee79a11bf92?unanchored=true -/extended/v1/contract/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v4?unanchored=true -/extended/v1/tx/0x6f06a545c6e9a3de5fc02d3160a14f81a44a4c62dcd0f7a0163347bb865a74b1?unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v3/balances?unanchored=true -/extended/v1/block/0x097db43a9a0b210a74e360665285bb46bd97018e5b0f3bc5e528f67be62c0986?unanchored=true -/extended/v1/block/0xab6bd78bda5c8f491f029ba00226e44514a0e31b512a4610a902429b6c8b2d75?unanchored=true -/extended/v1/address/SP12YGGACNA4R43DB1HAQ3AE03PKPJGXZ1BX96CYB/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP37G983VM8T3RPSSQTVA798Y3GPJEXEJK8FJ7M03/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP33F70F6AW0D1ZTX9QWF7RJ0SHJFMWJQ0QHQ194T/balances -/extended/v1/address/SP31RCGY1X1TJ1FMEJS19MGPQ3H9YX00XF9Q862FF/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3F52JMS6E0FRTFBXBKJ5H5PCNEEF7GNMQ2AXKJX/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v3/transactions?limit=30&offset=0&unanchored=true -/extended/v1/contract/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v3?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0xf5efbb42dcdf7d9e82b14b865f34e36429dbbdaa6dac1d0f35d5fe6641688e89?unanchored=true -/extended/v1/block/0xcd1a5a772fe10043737cb3a063d3990b8e5492292201a49e77f62034daebd55b?unanchored=true -/extended/v1/tx/mempool?address=SP15T984N1ZA89C29KEW2K8GK2XE344648NB6M6JE&limit=30&offset=0&unanchored=true -/extended/v1/tx/0x9623f4480a93adf123a535df31bd2e1533f2758a3e63e979fdf8a715813ca7ea?unanchored=true -/extended/v1/address/SP1RRPVVGB7EPSXZT10GSWDEBY0V04HM1NA917QHG/stx -/extended/v1/address/SP12YGGACNA4R43DB1HAQ3AE03PKPJGXZ1BX96CYB/stx?unanchored=true -/extended/v1/tx/0x0ebbc13668f17854145404f91ad4b9dbb968c51977042601ff54aa871a50d0ba?unanchored=true -/extended/v1/address/SP1A14W5V7XFJAZV8JYMAKGZJNETN2YHKK1EA8QA4/stx -/extended/v1/address/SP1B7KT6PS3WQP4MWG92EBSVSKB0JKTAJNR1VN8JQ/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1B764E7X0RPVQ559BKZREB946KBHNKMPF12WCYD/stx?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx -/extended/v1/address/SP1FEAD66PAAYHQRZG4G6FV0RY1RWBA7SJV6NFXVD/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP3H3X8ZPY9XJE7Q7DREH7F0RXJJH3EFWBMC8ETFY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3&unanchored=true -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1?unanchored=true -/extended/v1/tx/0xac6e49fc237da4a0e0d1e13d4fb4a2a5e6d8bce5025bfeb6fe60b74a898443c2?event_offset=0&event_limit=200 -/extended/v1/address/SP396C1SWH8DM0C39CHVQGHM5H2WY3XJC9HY6BRSY/stx?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1/balances?unanchored=true -/extended/v1/address/SP3F52JMS6E0FRTFBXBKJ5H5PCNEEF7GNMQ2AXKJX/stx?unanchored=true -/extended/v1/address/SP33F70F6AW0D1ZTX9QWF7RJ0SHJFMWJQ0QHQ194T/balances -/extended/v1/block?limit=11&offset=0&unanchored=true -/extended/v1/address/SP3H3X8ZPY9XJE7Q7DREH7F0RXJJH3EFWBMC8ETFY/stx?unanchored=true -/extended/v1/address/SP1PCVP6479BG99RJ8MFR45RD767KS77RC9T7VQFC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP3D6ADXTA1TZ8XVNMD5C9QAXEAK6P3G4RV7CQN60/transactions?limit=30&unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/stx?unanchored=true -/extended/v1/address/SPCDC2D03MHHWFV3CK3A5B3TWS9BKD9WF7TP2HG1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1B764E7X0RPVQ559BKZREB946KBHNKMPF12WCYD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP23Z6VXT11E99RGS2ZE3A9N4CJ89Z1PJNY6BN4S5/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?address=SP3D6ADXTA1TZ8XVNMD5C9QAXEAK6P3G4RV7CQN60&limit=30&offset=0&unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275/nonces?unanchored=true -/extended/v1/block/?limit=1 -/extended/v1/tx/mempool?limit=10&offset=0&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/0xebb4172fd61cb25644b4b3b9842d29946eeedd7503be7c5bd5cd2951e0fe8312?event_offset=0&event_limit=200 -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/mempool?limit=50&unanchored=true -/extended/v1/address/SP31RCGY1X1TJ1FMEJS19MGPQ3H9YX00XF9Q862FF/stx?unanchored=true -/extended/v1/address/SP1B7KT6PS3WQP4MWG92EBSVSKB0JKTAJNR1VN8JQ/stx?unanchored=true -/extended/v1/address/SPF9EPKMB6QD1NCY6SN83CFBYJ68TVH084VWYJ5Z/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP24PPESPHSG5SHYPKFWT7M1C2VFVRAZ4X00T88XM/transactions_with_transfers?limit=50 -/extended/v1/address/SP37G983VM8T3RPSSQTVA798Y3GPJEXEJK8FJ7M03/stx?unanchored=true -/extended/v1/address/SP1PCVP6479BG99RJ8MFR45RD767KS77RC9T7VQFC/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SPRJHJHRBANMZ6S6S0CSXZYTFZDV5NKWMABZEVGX/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx?limit=10&offset=0&unanchored=true -/extended/v1/address/SPX4W0FB1KCPJ9GQYXMA7VRHP7VYPVPMB3ZP02CY/stx?unanchored=true -/extended/v1/address/SP3PMZXDTF0GECRZGZZQ12Z4DK2F2XZK38TXHXAQG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP24PPESPHSG5SHYPKFWT7M1C2VFVRAZ4X00T88XM/stx -/extended/v1/address/SP7383KRJA9AQAY9WS1AKAPG4KAR9ERQM3586AZ3/stx?unanchored=true -/extended/v1/block/0xc1bed958f462e22580d5634120a817110d0fe80d26406e8fde02633984c74ad4?unanchored=true -/extended/v1/address/SP2T9DBG3KB902RW7SZ5VF8AVNHB7DQ85JX6D5WHG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/stx -/extended/v1/address/SP23X6AEBKHEBQH7VZPVPSV3KHRBKAAXRMH75YSH8/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2XKH0WZ5E862SMYRKRYJFRXSRPM2FBFJC0MCYSC/balances -/extended/v1/address/SP1FEAD66PAAYHQRZG4G6FV0RY1RWBA7SJV6NFXVD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2T9DBG3KB902RW7SZ5VF8AVNHB7DQ85JX6D5WHG/stx?unanchored=true -/extended/v1/tx/0x15a4e832d13b317f9758bb00aa1eb94a05759481a2e364409700da44678f0967?event_offset=0&event_limit=200 -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x9042eded51ccda598f40c4149df61374bf7506e7b0edc3c34af400b739facaae?unanchored=true -/extended/v1/tx/0xe12c88b14a326dec8a7e6982758ce02b2a675029d0ac783c19c47a7c73b288fc?unanchored=true -/extended/v1/address/SP5Z1NSFDPTQ95D1NFWQN388YC93AWYFXSN9RJC1/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPRJHJHRBANMZ6S6S0CSXZYTFZDV5NKWMABZEVGX/stx?unanchored=true -/extended/v1/address/SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1/stx?unanchored=true -/extended/v1/address/SP23Z6VXT11E99RGS2ZE3A9N4CJ89Z1PJNY6BN4S5/stx?unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1R3QKH7PKFE0JYQG6JH1MC50ER5NB0JWVPQC0KR/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPX4W0FB1KCPJ9GQYXMA7VRHP7VYPVPMB3ZP02CY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275/balances -/extended/v1/address/SP5Z1NSFDPTQ95D1NFWQN388YC93AWYFXSN9RJC1/stx?unanchored=true -/extended/v1/address/SP2N8ZGAGRDJX7S2KRW3V8KSBSTK90T50A701PX3D/stx?unanchored=true -/extended/v1/address/SPBVEE7J61T1EE535B139FQ6NRB3T1BHWWSNZ099/stx?unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP23X6AEBKHEBQH7VZPVPSV3KHRBKAAXRMH75YSH8/stx?unanchored=true -/extended/v1/address/SPCDC2D03MHHWFV3CK3A5B3TWS9BKD9WF7TP2HG1/stx?unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/0xc259761a2c7435388a283d15d989f4ec5e8dac7994d0599862009ae95d988fc4?unanchored=true -/extended/v1/address/SP9NP5JKVN27SR924D8E9EREPKGVY000ZJBZQ55K/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1R3QKH7PKFE0JYQG6JH1MC50ER5NB0JWVPQC0KR/stx?unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/mempool?limit=200&address=SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP9NP5JKVN27SR924D8E9EREPKGVY000ZJBZQ55K/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SPF9EPKMB6QD1NCY6SN83CFBYJ68TVH084VWYJ5Z/stx?unanchored=true -/extended/v1/address/SP6HF5KMZ3TA7YF2NBTH8ZH4VJN2JREAQN23V9XH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/block/0xf322d434b098530cf9cf7ac711eea9765f03235e6a29a66d174d4611e85ea731?unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/block/?limit=1 -/extended/v1/address/SP2Y4WPD4JDQ9A9HCADNTNTE6NTEKCCNDBA373XHY/stx?unanchored=true -/extended/v1/block/?limit=1 -/extended/v1/block/0x3beb930589821f253f1b3ac9972d4f468ab3407bac788f4fb1282883c744e235?unanchored=true -/extended/v1/address/SP6HF5KMZ3TA7YF2NBTH8ZH4VJN2JREAQN23V9XH/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/mempool?address=SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48&limit=10&offset=0&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/tx/0x8f4dc461fed592e2a3544209a963c789590b84eb4e678e25dd00135ce5c66755?event_offset=0&event_limit=200 -/extended/v1/address/SP2YA0ZAKS18P1FEKP6Q2YPQM0XBVCPHSENY83S43/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/mempool -/extended/v1/block/0xaf89bc4d0f19739defb11285dc949d2770eeaa5010a0b9c4931be64c8c1d36ee?unanchored=true -/extended/v1/address/SP29PDHADF5SE39G8KP4F60J70QPAP5HTETP2WMYR/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xf9d2c33982f1a7fed3e1fe2607c63e5b415ce125e2576d4897dff12f9541b068?event_offset=0&event_limit=200 -/extended/v1/address/SPVMP1SEW9X64H1ZD3B092J6Z27N2WTCN54RC8VV/stx?unanchored=true -/extended/v1/address/SP1XRA74ATR3GMKNRT6E218SXWFQKBR5N634HTVCT/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/microblock/unanchored/txs -/extended/v1/microblock/unanchored/txs -/extended/v1/address/SP2Y4WPD4JDQ9A9HCADNTNTE6NTEKCCNDBA373XHY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP38BCJ7FBSKX51KPHF3EA5R80X1HV9TVRNPC57G5/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP29PDHADF5SE39G8KP4F60J70QPAP5HTETP2WMYR/stx?unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/balances -/extended/v1/tx/0x632254c2ba0d29960d21da06baa1f054a259e953ac05298db889f53580e3ac1b?unanchored=true -/extended/v1/address/SP1XRA74ATR3GMKNRT6E218SXWFQKBR5N634HTVCT/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.staking-helper/balances?unanchored=true -/extended/v1/tx/mempool?address=SP1VKT3RYGT4SETHCN2CET3YNRP9911894PV4XK72&limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/contract/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.staking-helper?unanchored=true -/extended/v1/address/SP2YA0ZAKS18P1FEKP6Q2YPQM0XBVCPHSENY83S43/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/contract/SP000000000000000000002Q6VF78.pox?unanchored=true -/extended/v1/address/SPVMP1SEW9X64H1ZD3B092J6Z27N2WTCN54RC8VV/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x953c3ef1c562f24b1e79bd19c90bd7c490abfbfb0f8849f4210e6462693dc2aa?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/balances?unanchored=true -/extended/v1/block/0x0621ba01667387b6410e100173526c6b5af8f9327138c514400be637d32b39d4?unanchored=true -/extended/v1/tx/0xe7a26b899b78461d4c6aba37a52961b504aa713761e89451289188376d52a1ab?event_offset=0&event_limit=200 -/extended/v1/contract/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.alex-reserve-pool?unanchored=true -/extended/v1/address/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.alex-reserve-pool/balances?unanchored=true -/extended/v1/tx/0xddce7d74441d315d9ac0c3710539e0492166f8eb825e3e22eac3f9240c5266c3?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP35K3YFGBPJ32VPX9E2JTPRA6FD83QN6011ZQ2YP/balances -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x0b6d637a4827a14827161b683ad13b5f64fca2552579c663274baa30a1d148b1?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/mempool?limit=50&unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/balances -/extended/v1/address/SP3QSAJQ4EA8WXEDSRRKMZZ29NH91VZ6C5X88FGZQ.thisisnumberone-v2/balances?unanchored=true -/extended/v1/tx/0x1f06919f9b0c354313d62e280d37f9e35c8e34674ebd0c24766af101d01497f6?event_offset=0&event_limit=200 -/extended/v1/address/SP000000000000000000002Q6VF78.pox/balances?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/nonces?unanchored=true -/extended/v1/tx/0xfee73faea556cdd9fb87ba779cb8c443fcde70a26943e3d7261bfe8074b62d39?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x668d4bf56e960dff9cc06fe4a969d6402260819e29e875731ccc9749843f2707?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP38BCJ7FBSKX51KPHF3EA5R80X1HV9TVRNPC57G5/stx?unanchored=true -/extended/v1/block/0x98b99ba84a8676481f03d08264726ba081424466f3233ebde8a39be1af7e0182?unanchored=true -/extended/v1/tx/0xe5f92406a6a512aaaf00248dd3d5484138f86f59dd5963a491e818c2d675d89f?event_offset=0&event_limit=200 -/extended/v1/address/SP1Y56N007J3H18CA2N5T5E4XY3K4V5WD030H0NXC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1QDGYS3D54VK3QX7E0TB11BS6M5JRHGDQJVX01X/balances -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/stx?unanchored=true -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0x3813010b354de487bc202126b423bfd1e773f50c11ed0ec8de21f6d1988f2ab2?event_offset=0&event_limit=200 -/extended/v1/address/SP3WQWQQN252QXQTV29YP1FQCBW5YZ8C4DG0AB98B/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x9fafb98c2f591a679b1d5ac0c518adb3e04c64b718a324beab7abdb4ca939825?event_offset=0&event_limit=200 -/extended/v1/tx/0x238bf84d70ccf47704751d86bf874a82f95d8e1477eeca0cef508ae94260098b?unanchored=true -/extended/v1/tx/mempool?limit=30 -/extended/v1/address/SP2RQ3YGAF1MXZ1PP85VTNB9YCGESC3STZYZMQ68C/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP2A6MEHF26061CAY71Q9V5TV9Q395K9773PX80R9/stx -/extended/v1/address/SP35H8RGEAYK6AWBX7WDXPRXBYJ7RQP2SA4PQYT4Y/stx?unanchored=true -/extended/v1/address/SP261SG4EJ11MNJPZDTATD2P53QRBT5YJYY1M4RNF/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3Z5RDNNQQCCWY1VY1RV2M7JCS0NJFP0522CAAPW/balances -/extended/v1/address/SP3M72S3S5085CHCMH6KWQG6NGFT9MYFJRZX036P2/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3M72S3S5085CHCMH6KWQG6NGFT9MYFJRZX036P2/stx?unanchored=true -/extended/v1/tx/0x9eb3830c8a285360902b715223017ba2cf9a0d0dd12f023a50b09cd98b38efee?unanchored=true -/extended/v1/tx/0xfea7db4902c34c192e2125fc9d3f1a4823397955d349037fd21dd39dac11cd55?unanchored=true -/extended/v1/tx/0x8ea66d8f99d5e944e11d26f0c175aac2e5b285eb887d8402a386357a5f7bdc60?unanchored=true -/extended/v1/tx/0x0429af694679c329ba6a7ec0e0c540148b99e720db286589df2b07844c459e62?unanchored=true -/extended/v1/address/SP6HF5KMZ3TA7YF2NBTH8ZH4VJN2JREAQN23V9XH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xca22fe6c83baad5a8600cd0229bca8cae5a4b7b1676999b4af02e50108abe842?unanchored=true -/extended/v1/address/SP3WBYAEWN0JER1VPBW8TRT1329BGP9RGC5S2519W/balances -/extended/v1/address/SP1V65MSH0VXVPJQW2PE0SGM63Z5SVY5KB607XMW4/stx -/extended/v1/address/SP1Y56N007J3H18CA2N5T5E4XY3K4V5WD030H0NXC/stx?unanchored=true -/extended/v1/address/SP1WGEZBR8BCXRA9X6QS3X24X8HPVPF9P1Q8MYTEB/stx -/extended/v1/address/SP000000000000000000002Q6VF78.bns/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C.wasteland-apes-nft/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x07f603ca4b210e0a17bd31b56a27f7a98502e1e4db8873ca65574660b0fb15e9?event_offset=0&event_limit=200 -/extended/v1/address/SP15BBZH3TSP1KT7RNNJ86566WD2K8GT8AH93V3V7/transactions?limit=50 -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x8fb7bee09eff178935d1e174ac565ae75a47d074baa2f19f6386ec8daf478bb3?event_offset=0&event_limit=200 -/extended/v1/address/SP13NYVD4FVN8P456MBPJ82HB67S4ZMMVF984D7RH/stx?unanchored=true -/extended/v1/address/SP2P5W3FWFY2ZDQXDHJEYYBW4XMQ6HKFXW850R2T6/balances?unanchored=true -/extended/v1/address/SP3WQWQQN252QXQTV29YP1FQCBW5YZ8C4DG0AB98B/stx?unanchored=true -/extended/v1/address/SP1ASC824ETZ630FCMVXWN4WQE5DTKB6KCEHRDHE/stx -/extended/v1/address/SP1C7X9V4HRGP2KQ6NDCNB91SZ0CNKZ4T8BR5BT6M/stx -/extended/v1/address/SP3KRFT86D6RCWE8XFHK45VJV0ZTCSWF6MCJBDJ67/balances -/extended/v1/address/SP13NYVD4FVN8P456MBPJ82HB67S4ZMMVF984D7RH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP2A6MEHF26061CAY71Q9V5TV9Q395K9773PX80R9 -/extended/v1/address/SP5VW08SB8K0D3PP8D1ASTBPEV8WVBP7978JB4FN/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft/balances?unanchored=true -/extended/v1/block/0x1c9f2f198be902dde05a5f468a6048f08784f7fb3f41d6c5c68c946b2dfdb6a1?unanchored=true -/extended/v1/contract/SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft?unanchored=true -/extended/v1/address/SP35H8RGEAYK6AWBX7WDXPRXBYJ7RQP2SA4PQYT4Y/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3ZMR6QDCRXQ75YK0FGZYQY31TNKVJE638FW6RD4/balances -/extended/v1/tx/mempool?address=SP3YK7KWMYRCDMV5M4792T0T7DERQXHJJGGEPV1N8&limit=10&offset=0&unanchored=true -/extended/v1/address/SP5VW08SB8K0D3PP8D1ASTBPEV8WVBP7978JB4FN/stx?unanchored=true -/extended/v1/address/SP2RQ3YGAF1MXZ1PP85VTNB9YCGESC3STZYZMQ68C/stx?unanchored=true -/extended/v1/address/SPPAQWRD7Y3E982NB4BVXPFRZ1PMZVZEV7635GZ9/balances -/extended/v1/tx/0xef8342e5ddfd86933329ee3fc0fd38926a1e84ea53000e2336e5ce93e59dce63?event_offset=0&event_limit=200 -/extended/v1/tx/0x9e4b46ac1345cb52ecbcbf7db05f670366332ba48ba7362dd1340e67a82b964a?unanchored=true -/extended/v1/tx/0x10426e8c03a47cf9fc43186d62816c9742e3d1bd03292128104efa550ef793cd?unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market-v2/balances?unanchored=true -/extended/v1/tx/0x2632ee0489174c5e2900b33f0c40dda2c1abcf6f41bb0aa91441e678c4478ea3?unanchored=true -/extended/v1/tx/0x06a145e6fb0a67863b5f650850ede330ef198b1da08e14e7ef46c475afdbcbd9?unanchored=true -/extended/v1/tx/0x042f4f54ae21f5b7ba26cd791f552100ecb85cf77b5cc73f477194e512873110?unanchored=true -/extended/v1/address/SP261SG4EJ11MNJPZDTATD2P53QRBT5YJYY1M4RNF/stx?unanchored=true -/extended/v1/address/SPXRWVQMKMHY8CGG1BPA08P8JNAVE84TNPQ0R0HA/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x06d8203b76d8342ec77079ad9891ee6f7f69919cbea4b66d8c97affc74535f51?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SPXRWVQMKMHY8CGG1BPA08P8JNAVE84TNPQ0R0HA/stx?unanchored=true -/extended/v1/tx/0xe681f12a17880ec7e478095133ddc54fda7a5b83c1a517d326e2c8d1d5587f96?unanchored=true -/extended/v1/tx/0x8b04a35bbe65f466f8007f31060988e069fefe33824b306ae11acc9fd0c8eb64?unanchored=true -/extended/v1/tx/0x0604ff1c635ff95a8d86a60cf6b79f4ef28a6bde71045a9422b4dc3104f5a48f -/extended/v1/address/SP1X1Z0BCA19KGXFXFZNMX14Z9R4M2NJ1V1E8K57G/balances -/extended/v1/tx/0xbec21826bb3d913807c3a959862971f71d9e2216d2c9ef27e9020cb13b4b4081?unanchored=true -/extended/v1/tx/0xbac8d2318f37e6e8a4ab4178004ab7e7349d0ca1672499f081505d0b48a577ea?unanchored=true -/extended/v1/address/SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C.wasteland-apes-nft/balances?unanchored=true -/extended/v1/tx/mempool?address=SP2P5W3FWFY2ZDQXDHJEYYBW4XMQ6HKFXW850R2T6&limit=30&offset=0&unanchored=true -/extended/v1/address/SP392XXD3N16GVGTKZFT9ST95TG1E7RE2SY62A37N/balances -/extended/v1/address/SP2XZ5NT9R6W7PAD9Z72MZA8RRDD168AP28N9CNMV/stx?unanchored=true -/extended/v1/address/SP2XZ5NT9R6W7PAD9Z72MZA8RRDD168AP28N9CNMV/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1/balances?unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market-v2/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0xc259761a2c7435388a283d15d989f4ec5e8dac7994d0599862009ae95d988fc4?unanchored=true -/extended/v1/address/SP2GHPX871GG50BE72CNFZZ0FJM5JQ5GPDKM4T2RC/balances -/extended/v1/tx/0x76901f23e486881a855d44c58ea2e9632066d93742e0b63de0b7b6aebfb78c58?unanchored=true -/extended/v1/block/0x112d73352fbc27ef4f75bd2b1023d0b16e03ce6d3c169ed8e233fac64c9e5c4b?unanchored=true -/extended/v1/address/SP3YK7KWMYRCDMV5M4792T0T7DERQXHJJGGEPV1N8/balances?unanchored=true -/extended/v1/address/SP15BBZH3TSP1KT7RNNJ86566WD2K8GT8AH93V3V7/balances -/extended/v1/tx/0x350a207e00756a50527216c19682540d46318785efedcec07804ebbd1b28c8ba?unanchored=true -/extended/v1/contract/SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C.wasteland-apes-nft?unanchored=true -/extended/v1/tx/0x40cc710da89eb8a45a25a1711dcaecb30a204d34384b766a124131b88584ad44?unanchored=true -/extended/v1/tx/0x03265908fab756c416da83b577c34f31aa4d6585835a6a29aa8c1b4bd76da264?unanchored=true -/extended/v1/address/SP6HF5KMZ3TA7YF2NBTH8ZH4VJN2JREAQN23V9XH/stx?unanchored=true -/extended/v1/block/0x10bc1ba06366077c85b096bfa7b0e4f2f9df1fe3182e1cec8ffa7ee79a11bf92?unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/mempool?limit=50&unanchored=true -/extended/v1/address/SP3SRSSYMBC5XAAVH7AY0N6F61P6BR2ST052EZ9KH/stx?unanchored=true -/extended/v1/tx/0x3b5abf834dd82800d6a5a796ba502b7c9971019874f3cee36456c3dec793c205?event_offset=0&event_limit=200 -/extended/v1/address/SP35G18KWYGP0HEYJRCXKK34A7086138457XV5F16/stx -/extended/v1/address/SP352RBHYS1YVSEYGTBSGNDKJFDC68HGR6M9WYV28/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP352RBHYS1YVSEYGTBSGNDKJFDC68HGR6M9WYV28/stx?unanchored=true -/extended/v1/tx/0xbafcbb6633d36cd3970ee295f52716f1017f2efa5ef3cab38a62fb5238f7d170?event_offset=0&event_limit=200 -/extended/v1/address/SP1ZG8V5DZKXNP02WS42Q9HK37TV3N8KM6W4RDE33/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SPQ0J759DPCZKS9CVJHKVDCB86GMDFWRTNM1GKGB/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP67XPZERNDZFSAY5HEKMHQD19P3KCRTJWXY2AA0/stx?unanchored=true -/extended/v1/address/SP392XXD3N16GVGTKZFT9ST95TG1E7RE2SY62A37N/balances -/extended/v1/address/SP67XPZERNDZFSAY5HEKMHQD19P3KCRTJWXY2AA0/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/block/0x8943c1033849046efea68452ea116c52648c46236aab39a42478dce239a57762?unanchored=true -/extended/v1/address/SP3RY185H0R8TNX4PGRYFZ07AV001N23N1FJX9MEE/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP1JKSPWGTVNPG9F1MTSPECP41DX0VZJ1PARRHAHV/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x269a98b9c8b41e6c2b4ad76ef6712cb0bfef4e7fdcec1fd3916aaa4c9aa2acbb?unanchored=true -/extended/v1/tx/0x8ea9218d1e1e7862e6fbabcca9e34e6240301c920470516115aca364c5c17608?unanchored=true -/extended/v1/address/SP25R8FDK9501YKRBQWANQ9E8ZE8Y4RGWWE4EV5H2/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x14af50796585b5ee53d38831630324197fb4f2b64eedabd4511521d550164cfb?unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H&unanchored=true -/extended/v1/address/SP30TCMFKM927BG4SJRM1HTVMC3EC7SXXY536QY9H/nonces?unanchored=true -/extended/v1/address/SP3SRSSYMBC5XAAVH7AY0N6F61P6BR2ST052EZ9KH/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPQ0J759DPCZKS9CVJHKVDCB86GMDFWRTNM1GKGB/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xd61498b99745defca9381f989e81dc2b1e8a077eed101cc2f549d0340c487888?event_offset=0&event_limit=200 -/extended/v1/address/SP3ZMR6QDCRXQ75YK0FGZYQY31TNKVJE638FW6RD4/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1VKT3RYGT4SETHCN2CET3YNRP9911894PV4XK72/balances?unanchored=true -/extended/v1/address/SP1ZG8V5DZKXNP02WS42Q9HK37TV3N8KM6W4RDE33/stx?unanchored=true -/extended/v1/address/SP2R00295DPD8FSK5S4VMGMRPD364Y9WSQRH33CSF/stx?unanchored=true -/extended/v1/address/SP2R00295DPD8FSK5S4VMGMRPD364Y9WSQRH33CSF/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0xcfac0db65bab31b942078c2ab4b0e06b9645eb7dfc3656a1a0e76fc82941860e?unanchored=true -/extended/v1/address/SP2GW18TVQR75W1VT53HYGBRGKFRV5BFYNAF5SS5J/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x03c5175cc8765dc7bbd58b1fcbdf9dc39cfe19b71631ba45a2903633de2c12b8?unanchored=true -/extended/v1/block/0xc3eacba02cc475f63fff4c78728ad87aeae7fa4d05815cb2773df299e61cdbe0?unanchored=true -/extended/v1/address/SPDV5HEGCMSVYQNB0D6TAS944AMSZ6TT7TJ5MGET/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/block/0x57abf8022c07341c9ea995e9a3b91fca8701c72f9ae59299cbc55226a1906ae3?unanchored=true -/extended/v1/address/SP186AENDWQ4DTFF8F6QMT2P38FA8KJK95T6J196K/nonces?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/balances?unanchored=true -/extended/v1/tx/0x8a9a0b1fcdc28bdd4a9722d547be42447e6879ec67c2b313d31c1d82694afde3?unanchored=true -/extended/v1/tx/0x668ac054467da07bbeb16340ca91f9aa7ca90491d0c017ff3c65047c8511f4e4?unanchored=true -/extended/v1/tx/0x6849e063e15104ce688ab0b652634ec1e3dddc82f810f35138ccc4cce38ba8ad?unanchored=true -/extended/v1/tx/0x269d18a0b5c080ea27e5b115ea88925e335f0e27733e4b092bdcc6bd2340ac24?unanchored=true -/extended/v1/address/SP2GW18TVQR75W1VT53HYGBRGKFRV5BFYNAF5SS5J/stx?unanchored=true -/extended/v1/address/SPZH76R14FTANR920PHZFWDRE10YB5ZHRQY4G7ZC/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP1QQRXATKSM9P28SSCZHRYDWEBP6YBFEDA37FK7B/stx?unanchored=true -/extended/v1/address/SPZH76R14FTANR920PHZFWDRE10YB5ZHRQY4G7ZC/stx?unanchored=true -/extended/v1/address/SP20WZGMN0ZZF8M5ZMXR0DDT6BBDHHMRD9GRSQTKT/stx?unanchored=true -/extended/v1/address/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.alex-reserve-pool/balances?unanchored=true -/extended/v1/address/SP2KKWMN139G697TH9DTEXCVG0GX009D4M7744NBK/stx -/extended/v1/address/SP2S0S9HYHE6DCV7Y1J4B6R1V6F0D4TMBM75D02Y2/balances -/extended/v1/address/SP000000000000000000002Q6VF78.bns/balances?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SPZCK6AZRV4GM31YM3PW7ZGVJ3DGBBBFTNGGVEA0/stx?unanchored=true -/extended/v1/address/SP9R38DHK2DKQ8QV4ESZY14R66AHMPXS2NJRFW48/balances?unanchored=true -/extended/v1/contract/SP000000000000000000002Q6VF78.bns?unanchored=true -/extended/v1/tx/0x423317aafa0e27a649f9c1967005533a5a8811e617a51ce99befa7832d994c27?unanchored=true -/extended/v1/address/SP20WZGMN0ZZF8M5ZMXR0DDT6BBDHHMRD9GRSQTKT/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1QQRXATKSM9P28SSCZHRYDWEBP6YBFEDA37FK7B/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPDV5HEGCMSVYQNB0D6TAS944AMSZ6TT7TJ5MGET/stx?unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/tx/0xdc37b279796b4e467d4f34633f1f2e0307ea011ed3a3689c1f662ce398a555f8?unanchored=true -/extended/v1/address/SP1PN944TZY06602036V2MQM1WEDX9JPMPN521TEE/balances -/extended/v1/block/0x052ad3b01dcdb4840527894758453ebb8fdaddaa107e85fb6b5348d4859b1ee4?unanchored=true -/extended/v1/address/SPD0RHNMR4ZNC10TBYYPQ4H850ZNS9VK8VA232MM/balances -/extended/v1/tx/0x06d8203b76d8342ec77079ad9891ee6f7f69919cbea4b66d8c97affc74535f51?unanchored=true -/extended/v1/tx/0x63238b2744c7a8ceb992c30334221419beeb0d35043c7a37f6ded9c75c355017?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SP7ZXZJSV1YZ3JSJMR0HWCAXEY1MF8SV9TJ4GTN9/balances -/extended/v1/tx/mempool?limit=200&address=SP2RXQVYKMDTVV9AC7EG33ZMHG2XKXKVRWRJ0S2Q1&unanchored=true -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1?unanchored=true -/extended/v1/address/SP21KCRSCRGT5GCYR98WGVNKFZ4NVBAJ5TJDZE01Y/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x45632ba8473fbaf693b7836422d7ba41a9a1ec5b4a5274a46a8ccb173216a64b?unanchored=true -/extended/v1/address/SP3J46C6784P5WE9SD0GBECC4AFXTT9R5P20XK5ZH/transactions_with_transfers?limit=50 -/extended/v1/address/SPT39MPETGEG5ZQCDY9HXR4976W4KH2ACCQ0NCMR/balances -/extended/v1/address/SPJA6JAGWD5B7MDNZWZ8RS0T3B3FXC64GX8HX6VA/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x230ae18c3e70d1ca4cc4c8d428dafde9d9011163f13cd7e99d4b86254ad5b399?unanchored=true -/extended/v1/block/0x593b20bd9b62aedfdf4837e893248c11644ed6b582f88f9a98631ae6c5b4aa23?unanchored=true -/extended/v1/block/?limit=1 -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/address/SPZCK6AZRV4GM31YM3PW7ZGVJ3DGBBBFTNGGVEA0/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x98f2aadc54839dbc215a21f86d3872ce0bc477e955b20a830f5f70fbb615cb44?unanchored=true -/extended/v1/tx/0x3a02ce9202a40c5fda2c28bda38d94bd95dc4e8312370a82e84a858a4c88a022?unanchored=true -/extended/v1/address/SP25R8FDK9501YKRBQWANQ9E8ZE8Y4RGWWE4EV5H2/stx?unanchored=true -/extended/v1/address/SPK5QM9C19QMTTTB3PMNTZFWZD3MRC2QWZ3C6FC6/balances -/extended/v1/address/SP392XXD3N16GVGTKZFT9ST95TG1E7RE2SY62A37N/balances -/extended/v1/address/SP1R8NFPFGFPVM7DCCVQ4HBJ83QJA5ZGW50CRK9RB/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP392XXD3N16GVGTKZFT9ST95TG1E7RE2SY62A37N/balances?unanchored=true -/extended/v1/address/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0/balances?unanchored=true -/extended/v1/address/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.alex-reserve-pool/transactions?limit=30&offset=0&unanchored=true -/extended/v1/address/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market-v2/balances?unanchored=true -/extended/v1/address/SP1R8NFPFGFPVM7DCCVQ4HBJ83QJA5ZGW50CRK9RB/stx?unanchored=true -/extended/v1/contract/SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.alex-reserve-pool?unanchored=true -/extended/v1/address/SP1NHWTANZ0DZNSZ45G5VJD6XWFTBZPF0C8Q78SDQ/balances -/extended/v1/address/SP13RA1Y9RKKT1SJ13W4YGWDWYDD8AY3YQWHAZ9SM/transactions?limit=30&unanchored=true -/extended/v1/address/SP28WNYY5AEC733C8ACMFW92B827WVTY8S7JF2MQ7/balances -/extended/v1/address/SP32AEEF6WW5Y0NMJ1S8SBSZDAY8R5J32NBZFPKKZ.free-punks-v0/balances?unanchored=true -/extended/v1/address/SPPT1V8YCRF73YZ07P0R6JKEWHCR03M3EF82TRED/stx?unanchored=true -/extended/v1/address/SP3STTY5N4RAHVEWWDXZW0581FE72MX4KP6ABWY93/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3STTY5N4RAHVEWWDXZW0581FE72MX4KP6ABWY93/stx?unanchored=true -/extended/v1/address/SP13RA1Y9RKKT1SJ13W4YGWDWYDD8AY3YQWHAZ9SM/balances?unanchored=true -/extended/v1/contract/SPJW1XE278YMCEYMXB8ZFGJMH8ZVAAEDP2S2PJYG.stacks-art-market-v2?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/mempool?limit=50&unanchored=true -/extended/v1/address/SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.marketplace-v4/balances?unanchored=true -/extended/v1/address/SP74NF0R58MK7SESDTPNPGA2YQ1894CQD8HVVZDY/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/tx/0x16716cbeaac4203885efbc640e37a1287da697f3d21eec0b9bbd9093bcae0d9b?unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/balances -/extended/v1/address/SP1TRDH91AYDKWZ6CZN2V9Q3MB3HKWMFSJS63VHQR/stx?unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/mempool?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=30&offset=0&unanchored=true -/extended/v1/block/0x6e57a525020134b9bd621ec831d989a7f25aedbd0c695b26e60b64fd5cda56c2?unanchored=true -/extended/v1/address/SPPT1V8YCRF73YZ07P0R6JKEWHCR03M3EF82TRED/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPVND8VGWAVS1F49ZHJTDYKBHNB45WJAV5AS5CKM/balances -/extended/v1/tx/mempool?address=SP13RA1Y9RKKT1SJ13W4YGWDWYDD8AY3YQWHAZ9SM&limit=30&offset=0&unanchored=true -/extended/v1/tx/0x3c92d672ae66f2f57682217b51f55cb729b823246fd6a4b9830c03423ccd85dc?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/0x2273ba20754fa223f4623ef1e1e9876d38773f08a9221af75a24c671cc571a5f?unanchored=true -/extended/v1/address/SP1YDN5AQCSZ5F4QAGJSR3WK81P483NP8KD0AXVHP/stx?unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP3VJCMXAGTVF4BJ81JGTYVEBCXWZARFN60D8VSKG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/tx/mempool?limit=200&address=SP1WGEZBR8BCXRA9X6QS3X24X8HPVPF9P1Q8MYTEB -/extended/v1/tx/0xc9517fc98a26de0498a4dce5e14007cd200da97acf8ee80f55ace095af87f5b5?unanchored=true -/extended/v1/address/SP37G983VM8T3RPSSQTVA798Y3GPJEXEJK8FJ7M03/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPV6J95VNA11FAQ3ATFV8JTP78SFGRS6V2EB0SWN/transactions?limit=30&unanchored=true -/extended/v1/address/SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C.wasteland-apes-nft/transactions?limit=30&offset=0&unanchored=true -/extended/v1/block/0xdbf829d5d1a3f17b35faf0ff0336587e7ac10a8b21a2e001eae539a592351a65?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/balances?unanchored=true -/extended/v1/block/0x7c1c8495d81e71fe01b9dc46d3a71630873d83a3552f6dc38f74e861c42530fa?unanchored=true -/extended/v1/address/SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK/balances -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP11NQ776533XSJA4JSMY8FYE8H3H68VBZHG27Y3R/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP11NQ776533XSJA4JSMY8FYE8H3H68VBZHG27Y3R/stx?unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPJXWDR6YPME7X4BZ8PK6WDG76B7DZVHKEPAACF3/balances?unanchored=true -/extended/v1/address/SPV6J95VNA11FAQ3ATFV8JTP78SFGRS6V2EB0SWN/balances?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1/balances?unanchored=true -/extended/v1/tx?type=contract_call&limit=200 -/extended/v1/tx/mempool?address=SPV6J95VNA11FAQ3ATFV8JTP78SFGRS6V2EB0SWN&limit=30&offset=0&unanchored=true -/extended/v1/address/SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-mint/balances?unanchored=true -/extended/v1/tx/0x1983adaa5dafcc65c1ae7e626314e0e9e84cf190ce76fae2d4f88866b6a5f952?event_offset=0&event_limit=200 -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP1B764E7X0RPVQ559BKZREB946KBHNKMPF12WCYD/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPT39MPETGEG5ZQCDY9HXR4976W4KH2ACCQ0NCMR/balances -/extended/v1/address/SP3QSAJQ4EA8WXEDSRRKMZZ29NH91VZ6C5X88FGZQ.crashpunks-v2/balances?unanchored=true -/extended/v1/address/SP1G9JDXSSWM0EHP2FNMEB5GQ06WA54TMDVM1CNMG/transactions_with_transfers?limit=50 -/extended/v1/contract/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v1-1?unanchored=true -/extended/v1/address/SP1W3XVEW3TSKG4EPYRMAZESSSP26Y54GY5YAR0HX/balances -/extended/v1/address/SP1YDN5AQCSZ5F4QAGJSR3WK81P483NP8KD0AXVHP/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPJA6JAGWD5B7MDNZWZ8RS0T3B3FXC64GX8HX6VA/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SP3VJCMXAGTVF4BJ81JGTYVEBCXWZARFN60D8VSKG/stx?unanchored=true -/extended/v1/address/SP74NF0R58MK7SESDTPNPGA2YQ1894CQD8HVVZDY/transactions_with_transfers?limit=50&unanchored=true -/extended/v1/address/SPT39MPETGEG5ZQCDY9HXR4976W4KH2ACCQ0NCMR/balances -/extended/v1/address/SP37G983VM8T3RPSSQTVA798Y3GPJEXEJK8FJ7M03/stx?unanchored=true -/extended/v1/address/SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1/transactions?limit=30&offset=0&unanchored=true -/extended/v1/tx?type=contract_call&limit=200 -/extended/v1/tx/mempool?address=SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.megapont-ape-club-nft -/extended/v1/address/SP1B7KT6PS3WQP4MWG92EBSVSKB0JKTAJNR1VN8JQ/transactions_with_transfers?limit=50&unanchored=true diff --git a/utils/src/addr-lru-cache-test.ts b/utils/src/addr-lru-cache-test.ts deleted file mode 100644 index e6abc8dbcb..0000000000 --- a/utils/src/addr-lru-cache-test.ts +++ /dev/null @@ -1,63 +0,0 @@ -import * as util from 'util'; -import * as assert from 'assert'; -import * as c32check from 'c32check'; -import * as c32AddrCache from '../../src/c32-addr-cache'; - -if (!global.gc) { - throw new Error('Enable --expose-gc'); -} - -const iters = 500_000; -process.env[c32AddrCache.ADDR_CACHE_ENV_VAR] = iters.toString(); - -c32AddrCache.injectC32addressEncodeCache(); - -const buff = Buffer.alloc(20); -c32check.c32address(1, buff.toString('hex')); -const startMemory = process.memoryUsage(); -const startRss = startMemory.rss; -const startMemoryStr = util.inspect(startMemory); - -for (let i = 0; i < iters; i++) { - // hash160 hex string - buff.writeInt32LE(i); - c32check.c32address(1, buff.toString('hex')); -} - -global.gc(); - -const endMemory = process.memoryUsage(); -const endRss = endMemory.rss; -const endMemoryStr = util.inspect(endMemory); -console.log('Start memory', startMemoryStr); -console.log('End memory', endMemoryStr); - -assert.equal(c32AddrCache.getAddressLruCache().itemCount, iters); - -const rn = (num: number) => Math.round(num * 100) / 100; -const megabytes = (bytes: number) => rn(bytes / 1024 / 1024); - -const byteDiff = (endRss - startRss) / (iters / 10_000); - -console.log(`Start RSS: ${megabytes(startRss)}, end RSS: ${megabytes(endRss)}`); -console.log(`Around ${megabytes(byteDiff)} megabytes per 10k cache entries`); - -/* -Several rounds of running this benchmark show "Around 4.44 megabytes per 10k cache entries": - -Start memory { - rss: 26202112, - heapTotal: 5578752, - heapUsed: 3642392, - external: 1147316, - arrayBuffers: 59931 -} -End memory { - rss: 259125248, - heapTotal: 216875008, - heapUsed: 181636328, - external: 1261038, - arrayBuffers: 18090 -} -Start RSS: 24.99, end RSS: 247.12 -*/ diff --git a/utils/src/chaintip-cache-control-test.ts b/utils/src/chaintip-cache-control-test.ts deleted file mode 100644 index 15bd234f97..0000000000 --- a/utils/src/chaintip-cache-control-test.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Util for testing chaintip-based http cache-control behavior with an API deployment - * behind a CDN like Cloudflare. - */ - -import fetch from 'node-fetch'; -import * as assert from 'assert'; - -// To anyone looking in the future: this URL probably doesn't exist anymore. If everything -// went right, this could be pointed at the main API deployment URL instead, e.g. -// `https://stacks-node-api.stacks.co` -const TEST_URL = 'https://stacks-node-api-pr-877.stacks.co'; - -(async () => { - const blockListUrl = new URL('/extended/v1/block', TEST_URL); - - // Fetch without any cache, i.e. no `if-none-match` header. - const result1 = await fetch(blockListUrl); - assert.equal(result1.status, 200, 'No cache headers provided, should be a 200 (no caching)'); - const etag = result1.headers.get('etag'); - assert.ok(etag, 'Response should contain etag header for cache-control'); - const cacheControl = result1.headers.get('cache-control'); - assert.equal(cacheControl, 'public, no-cache', 'Should have cache-control set'); - console.log(`[first request] cf-cache-status: ${result1.headers.get('cf-cache-status')}`) - - // Fetch simulating an http client with cache-control support, where the previous request was - // cached as directed by the `cache-control` and `etag` response headers. So the `if-none-match` - // header is set to the `etag` response of the previous request. - // const result2 = await fetch(blockListUrl, { headers: { 'if-none-match': etag }}); - const result2 = await fetch(blockListUrl); - assert.equal(result2.status, 304, 'Should have "304 Not Modified" result (cache hit)'); - assert.equal(result2.size, 0, 'Should have empty body cache hit'); - console.log(`[second request] cf-cache-status: ${result2.headers.get('cf-cache-status')}`) -})().catch(error => console.error(error)); diff --git a/utils/src/index.ts b/utils/src/index.ts deleted file mode 100644 index 67206f88b6..0000000000 --- a/utils/src/index.ts +++ /dev/null @@ -1,149 +0,0 @@ -import * as dotenv from 'dotenv'; -import * as getopts from 'getopts'; -import * as bigint from 'extra-bigint'; -import { table } from 'table'; -import { StacksCoreRpcClient } from '../../src/core-rpc/client'; -import { PgDataStore } from '../../src/datastore/postgres-store'; - -type AddressBalanceResult = { - count: number; - address: string; - apiBalance?: bigint; - nodeBalance?: bigint; -}; - -type BlockInfo = { - block_height: number; - block_hash: Buffer; - index_block_hash: Buffer; -}; - -type TableCellValue = string | number | bigint | undefined; - -/** - * Prints the account balance as reported by the local DB and the Stacks node of the `count` - * accounts with the greatest number of STX transfer events. - * @param count Number of top accounts to query - * @param blockHeight Specific block height at which to query balances - */ -async function printTopAccountBalances(count: number, blockHeight: number) { - const db = await PgDataStore.connect({skipMigrations: true, withNotifier: false, eventReplay: false, usageName: 'print-top-account-balances'}); - - const heightText = blockHeight == 0 ? 'chain tip' : `block height ${blockHeight}`; - console.log(`Calculating balances for top ${count} accounts at ${heightText}...`); - const blockInfo = await db.query(async client => { - const result = await client.query( - ` - SELECT block_height, block_hash, index_block_hash - FROM blocks - WHERE canonical = true AND block_height = ( - CASE - WHEN $1=0 THEN (SELECT MAX(block_height) FROM blocks) - ELSE $1 - END - ) - `, - [blockHeight] - ); - return result.rows[0]; - }); - // First, get the top addresses. - const addressBalances = await db.query(async client => { - const result = await client.query( - ` - WITH addresses AS (( - SELECT - sender AS address - FROM - stx_events - WHERE - sender IS NOT NULL - AND block_height <= $1) - UNION ALL ( - SELECT - recipient AS address - FROM - stx_events - WHERE - recipient IS NOT NULL - AND block_height <= $1) - ) - SELECT - COUNT(*) AS count, address - FROM - addresses - GROUP BY - address - ORDER BY - count DESC - LIMIT $2; - `, - [blockInfo.block_height, count] - ); - return result.rows; - }); - // Next, fill them up with balances from DB and node. - const dbBalances = addressBalances.map(async item => { - const balance = await db.getStxBalanceAtBlock(item.address, blockInfo.block_height); - item.apiBalance = balance.balance; - }); - const nodeBalances = addressBalances.map(async item => { - const account = await new StacksCoreRpcClient().getAccount( - item.address, - false, - blockInfo.index_block_hash.toString('hex') - ); - item.nodeBalance = BigInt(account.balance) + BigInt(account.locked); - }); - await Promise.all(dbBalances.concat(nodeBalances)); - - const tabularData: TableCellValue[][] = [ - ['event count', 'address', 'api balance', 'node balance', 'delta'], - ]; - addressBalances.forEach(item => { - tabularData.push([ - item.count, - item.address, - item.apiBalance, - item.nodeBalance, - bigint.abs((item.apiBalance ?? BigInt(0)) - (item.nodeBalance ?? BigInt(0))), - ]); - }); - console.log(table(tabularData)); - - await db.close(); -} - -function printUsage() { - console.log(`Usage:`); - console.log(` node ./index.js stx-balances [--count=] [--block-height=]`); -} - -async function handleProgramArgs() { - const parsedOpts = getopts(process.argv.slice(2)); - const args = { - operand: parsedOpts._[0], - options: parsedOpts, - } as { - operand: 'stx-balances'; - options: { - ['count']?: number; - ['block-height']?: number; - }; - }; - - if (args.operand === 'stx-balances') { - await printTopAccountBalances(args.options.count ?? 10, args.options['block-height'] ?? 0); - } else if (parsedOpts._[0]) { - printUsage(); - throw new Error(`Unexpected program argument: ${parsedOpts._[0]}`); - } else { - printUsage(); - } -} - -dotenv.config({ path: '../.env' }); -void handleProgramArgs().catch(error => { - console.error(error); - process.exit(1); -}); diff --git a/utils/tsconfig.json b/utils/tsconfig.json deleted file mode 100644 index 204337d2b2..0000000000 --- a/utils/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "moduleResolution": "node", - "declaration": false, - "strict": true, - "sourceMap": true, - "esModuleInterop": false, - "allowSyntheticDefaultImports": false, - "resolveJsonModule": true, - "skipLibCheck": true, - "outDir": "lib", - "baseUrl": ".", - "paths": { - "@stacks/stacks-blockchain-api-types": ["../docs"] - } - }, - "include": ["./src/**/*.ts", "../src/@types/pg-cursor/*.ts"], - "exclude": ["lib", "node_modules"] -} From ccb219e37e98f43aea5e59636aadd132a8534b4c Mon Sep 17 00:00:00 2001 From: Matthew Little Date: Tue, 16 Apr 2024 19:41:09 +0200 Subject: [PATCH 4/7] chore: also build arm docker image on beta branch (#1948) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0584c95ce0..86b847ea93 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -930,7 +930,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: ${{ github.ref == 'refs/heads/master' && 'linux/amd64,linux/arm64' || 'linux/amd64' }} + platforms: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/beta') && 'linux/amd64,linux/arm64' || 'linux/amd64' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} # Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks) From 1d5fa88206cf5874b3163b7c461b44a2ca12e09d Mon Sep 17 00:00:00 2001 From: Matthew Little Date: Tue, 16 Apr 2024 20:17:11 +0200 Subject: [PATCH 5/7] ci: remove unsupported standalone image build (#1950) * ci: remove unsupported standalone image build * ci: start image build without waiting for other misc CI jobs --- .github/workflows/ci.yml | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 86b847ea93..93fa7fa6f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -851,13 +851,6 @@ jobs: build-publish: runs-on: ubuntu-latest - needs: - - lint - - lint-docs - - test - - test-bns - - test-rosetta - - test-rosetta-cli-construction steps: - uses: actions/checkout@v3 with: @@ -906,20 +899,6 @@ jobs: type=semver,pattern={{major}}.{{minor}},value=${{ steps.semantic.outputs.new_release_version }},enable=${{ steps.semantic.outputs.new_release_version != '' }} type=raw,value=latest,enable={{is_default_branch}} - - name: Docker Standalone Meta - id: meta_standalone - uses: docker/metadata-action@v5 - with: - images: | - blockstack/${{ github.event.repository.name }}-standalone - hirosystems/${{ github.event.repository.name }}-standalone - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}},value=${{ steps.semantic.outputs.new_release_version }},enable=${{ steps.semantic.outputs.new_release_version != '' }} - type=semver,pattern={{major}}.{{minor}},value=${{ steps.semantic.outputs.new_release_version }},enable=${{ steps.semantic.outputs.new_release_version != '' }} - type=raw,value=latest,enable={{is_default_branch}} - - name: Login to DockerHub uses: docker/login-action@v3 with: @@ -936,18 +915,6 @@ jobs: # Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks) push: ${{ (github.ref != 'refs/heads/master' || steps.semantic.outputs.new_release_version != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} - - name: Build/Tag/Push Standalone Image - uses: docker/build-push-action@v5 - with: - context: . - build-args: | - STACKS_API_VERSION=${{ github.head_ref || github.ref_name }} - file: docker/rosetta.Dockerfile - tags: ${{ steps.meta_standalone.outputs.tags }} - labels: ${{ steps.meta_standalone.outputs.labels }} - # Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks) - push: ${{ (github.ref != 'refs/heads/master' || steps.semantic.outputs.new_release_version != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} - - name: API Discord notification if: steps.semantic.outputs.new_release_version != '' uses: Ilshidur/action-discord@master From 824bb8058b33fb576e0a5dbbcee144c3451e245f Mon Sep 17 00:00:00 2001 From: Matthew Little Date: Tue, 16 Apr 2024 20:17:33 +0200 Subject: [PATCH 6/7] docs: update readme to point towards clarinet for quick start, and replace deprecated npm scripts (#1951) --- README.md | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8e54838bcd..eb496481b2 100644 --- a/README.md +++ b/README.md @@ -7,22 +7,20 @@ ## Quick start -A self-contained Docker image is provided, which starts a Stacks 2.05 blockchain and API instance. +### Local -Ensure Docker is installed, then run the command: +This service requires `postgres`, `stacks-node`, `bitcoind`, and a few other components in order to run. +The [`clarinet`](https://github.com/hirosystems/clarinet) project provides an easy way to spin up the API and all these services: +> clarinet devnet - a local standalone development environment that simulates Bitcoin, Stacks node and other helpful components, similar to a staging environment. -```shell -docker run -p 3999:3999 hirosystems/stacks-blockchain-api-standalone -``` +Get started at https://docs.hiro.so/clarinet/getting-started -Similarly, a "mocknet" instance can be started. This runs a local node, isolated from the testnet/mainnet: +### Production -```shell -docker run -p 3999:3999 -e STACKS_NETWORK=mocknet hirosystems/stacks-blockchain-api-standalone -``` +The docker image `hirosystems/stacks-blockchain-api` is recommended when running the API in a mainnet or testnet environment. + +Note that this image cannot be ran standalone. Other services need to be configured correctly and running. For more information see https://docs.hiro.so/stacks-blockchain-api/how-to-guides/how-to-run-api-node -Once the blockchain has synced with the network, the API will be available at: -[http://localhost:3999](http://localhost:3999) ## Development quick start @@ -30,21 +28,17 @@ First, ensure Docker is installed on your machine. Clone repo and install dependencies with `npm install`. -Run `npm run dev:integrated`. +VSCode is recommended for development. Pre-configured "run and debug" configurations are included. Run using `Launch: w/ postgres`. -This command will concurrently start the API server app and the service dependencies. +Alternatively, use the command `npm run dev:integrated` -- this command will concurrently start the API server app and the service dependencies. Check to see if the server started successfully by visiting http://localhost:3999/extended/v1/status ## Local Development -### Setup Services - -Then run `npm run devenv:deploy`, which uses docker-compose to deploy the service dependencies (e.g., PostgreSQL, Stacks core node, etc.) - -### Running the server +To run the server, run `npm run dev:integrated`, which uses docker-compose to deploy the service dependencies (e.g., PostgreSQL, Stacks core node, etc.). -To run the server in 'watch' mode (restart for every code change), run `npm run dev:watch`. You'll have a server on port 3999. +You'll have a server on port 3999. # Architecture From fc2ac038d98cdef193b1bc33ec8ac29a629b4e6c Mon Sep 17 00:00:00 2001 From: Matthew Little Date: Tue, 16 Apr 2024 20:45:32 +0200 Subject: [PATCH 7/7] chore: npm audit fix (#1952) --- package-lock.json | 2928 +++++++++++++++++++-------------------------- package.json | 10 +- 2 files changed, 1211 insertions(+), 1727 deletions(-) diff --git a/package-lock.json b/package-lock.json index 769baee5f0..06ae5fa80a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "elliptic": "6.5.4", "escape-goat": "3.0.0", "evt": "1.10.1", - "express": "4.17.3", + "express": "4.19.2", "express-list-endpoints": "5.0.0", "getopts": "2.3.0", "http-proxy-middleware": "2.0.1", @@ -75,9 +75,9 @@ "devDependencies": { "@actions/core": "1.10.0", "@actions/exec": "1.1.0", - "@actions/github": "2.2.0", + "@actions/github": "6.0.0", "@actions/io": "1.1.1", - "@commitlint/cli": "9.1.2", + "@commitlint/cli": "19.2.2", "@commitlint/config-conventional": "10.0.0", "@stacks/eslint-config": "1.2.0", "@types/ajv": "1.0.0", @@ -108,8 +108,8 @@ "husky": "4.3.8", "is-ci": "3.0.1", "jest": "29.7.0", - "nock": "13.2.1", - "nodemon": "2.0.19", + "nock": "13.5.4", + "nodemon": "3.1.0", "pg-connection-string": "2.5.0", "prettier": "2.8.8", "rimraf": "5.0.0", @@ -158,23 +158,15 @@ } }, "node_modules/@actions/github": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-2.2.0.tgz", - "integrity": "sha512-9UAZqn8ywdR70n3GwVle4N8ALosQs4z50N7XMXrSTUVOmVpaBC5kE3TRTT7qQdi3OaQV24mjGuJZsHUmhD+ZXw==", - "dev": true, - "dependencies": { - "@actions/http-client": "^1.0.3", - "@octokit/graphql": "^4.3.1", - "@octokit/rest": "^16.43.1" - } - }, - "node_modules/@actions/github/node_modules/@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", "dev": true, "dependencies": { - "tunnel": "0.0.6" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" } }, "node_modules/@actions/http-client": { @@ -887,225 +879,850 @@ "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@commitlint/cli": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-9.1.2.tgz", - "integrity": "sha512-ctRrrPqjZ8r4Vc4FXpPaScEpkPwfvB0Us3NK2SD2AnLwXGMxOLFTabDmNySU1Xc40ud2CmJsaV8lpavvzs8ZZA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.9.6", - "@commitlint/format": "^9.1.2", - "@commitlint/lint": "^9.1.2", - "@commitlint/load": "^9.1.2", - "@commitlint/read": "^9.1.2", - "chalk": "4.1.0", - "core-js": "^3.6.1", - "get-stdin": "7.0.0", - "lodash": "^4.17.19", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^15.1.0" - }, - "bin": { - "commitlint": "cli.js" + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@commitlint/cli": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.2.2.tgz", + "integrity": "sha512-P8cbOHfg2PQRzfICLSrzUVOCVMqjEZ8Hlth6mtJ4yOEjT47Q5PbIGymgX3rLVylNw+3IAT2Djn9IJ2wHbXFzBg==", + "dev": true, + "dependencies": { + "@commitlint/format": "^19.0.3", + "@commitlint/lint": "^19.2.2", + "@commitlint/load": "^19.2.0", + "@commitlint/read": "^19.2.1", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/cli/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/cli/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/cli/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/cli/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-10.0.0.tgz", + "integrity": "sha512-M9l7hh2a1GB9nQ/Gm+aDLGPmzGdpgxqJoSmrbTxDlapJDyaL7FPe5aQf66F50Eq3j0bmaRaJihFCA6mIUBQAag==", + "dev": true, + "dependencies": { + "conventional-changelog-conventionalcommits": "^4.3.1" + }, + "engines": { + "node": ">=v10.22.0" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz", + "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@commitlint/ensure": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.0.3.tgz", + "integrity": "sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", + "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.0.3.tgz", + "integrity": "sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.2.2.tgz", + "integrity": "sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.2.2.tgz", + "integrity": "sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==", + "dev": true, + "dependencies": { + "@commitlint/is-ignored": "^19.2.2", + "@commitlint/parse": "^19.0.3", + "@commitlint/rules": "^19.0.3", + "@commitlint/types": "^19.0.3" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", + "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/execute-rule": "^19.0.0", + "@commitlint/resolve-extends": "^19.1.0", + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" + } + }, + "node_modules/@commitlint/load/node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@commitlint/message": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.0.0.tgz", + "integrity": "sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.0.3.tgz", + "integrity": "sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.2.1.tgz", + "integrity": "sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==", + "dev": true, + "dependencies": { + "@commitlint/top-level": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/read/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/read/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/read/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", + "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/types": "^19.0.3", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.0.3.tgz", + "integrity": "sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==", + "dev": true, + "dependencies": { + "@commitlint/ensure": "^19.0.3", + "@commitlint/message": "^19.0.0", + "@commitlint/to-lines": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/rules/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/rules/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/rules/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/rules/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, "engines": { - "node": ">=v8.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/config-conventional": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-10.0.0.tgz", - "integrity": "sha512-M9l7hh2a1GB9nQ/Gm+aDLGPmzGdpgxqJoSmrbTxDlapJDyaL7FPe5aQf66F50Eq3j0bmaRaJihFCA6mIUBQAag==", + "node_modules/@commitlint/rules/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "conventional-changelog-conventionalcommits": "^4.3.1" + "path-key": "^4.0.0" }, "engines": { - "node": ">=v10.22.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/ensure": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz", - "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==", + "node_modules/@commitlint/rules/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "@commitlint/types": "^9.1.2", - "lodash": "^4.17.19" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=v8.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/execute-rule": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.2.tgz", - "integrity": "sha512-NGbeo0KCVYo1yj9vVPFHv6RGFpIF6wcQxpFYUKGIzZVV9Vz1WyiKS689JXa99Dt1aN0cZlEJJLnTNDIgYls0Vg==", + "node_modules/@commitlint/rules/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "engines": { - "node": ">=v8.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/format": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-9.1.2.tgz", - "integrity": "sha512-+ZWTOSGEU6dbn3NRh1q7sY5K5QLiSs7E2uSzuYnWHXcQk8nlTvnE0ibwMCQxdKLaOTZiN57fHM/7M9Re2gsRuw==", + "node_modules/@commitlint/rules/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@commitlint/types": "^9.1.2", - "chalk": "^4.0.0" - }, "engines": { - "node": ">=v8.17.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@commitlint/is-ignored": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-9.1.2.tgz", - "integrity": "sha512-423W/+Ro+Cc8cg81+t9gds1EscMZNjnGT31nKDvxVxJxXiXQsYYoFEQbU+nfUrRGQsUikEgEJ3ppVGr1linvcQ==", + "node_modules/@commitlint/rules/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "dependencies": { - "@commitlint/types": "^9.1.2", - "semver": "7.3.2" - }, "engines": { - "node": ">=v8.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/lint": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-9.1.2.tgz", - "integrity": "sha512-XvggqHZ4XSTKOgzJhCzz52cWRRO57QQnEviwGj0qnD4jdwC+8h2u9LNZwoa2tGAuaNM3nSm//wNK7FRZhgiiFA==", + "node_modules/@commitlint/to-lines": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.0.0.tgz", + "integrity": "sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==", "dev": true, - "dependencies": { - "@commitlint/is-ignored": "^9.1.2", - "@commitlint/parse": "^9.1.2", - "@commitlint/rules": "^9.1.2", - "@commitlint/types": "^9.1.2" - }, "engines": { - "node": ">=v8.17.0" + "node": ">=v18" } }, - "node_modules/@commitlint/load": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-9.1.2.tgz", - "integrity": "sha512-FPL82xBuF7J3EJ57kLVoligQP4BFRwrknooP+vNT787AXmQ/Fddc/iYYwHwy67pNkk5N++/51UyDl/CqiHb6nA==", + "node_modules/@commitlint/top-level": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.0.0.tgz", + "integrity": "sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==", "dev": true, "dependencies": { - "@commitlint/execute-rule": "^9.1.2", - "@commitlint/resolve-extends": "^9.1.2", - "@commitlint/types": "^9.1.2", - "chalk": "4.1.0", - "cosmiconfig": "^6.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0" + "find-up": "^7.0.0" }, "engines": { - "node": ">=v8.17.0" + "node": ">=v18" } }, - "node_modules/@commitlint/message": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-9.1.2.tgz", - "integrity": "sha512-ndlx5z7bPVLG347oYJUHuQ41eTcsw+aUYT1ZwQyci0Duy2atpuoeeSw9SuM1PjufzRCpb6ExzFEgGzcCRKAJsg==", + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, "engines": { - "node": ">=v8.17.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/parse": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-9.1.2.tgz", - "integrity": "sha512-d+/VYbkotctW+lzDpus/R6xTerOqFQkW1myH+3PwnqYSE6JU/uHT4MlZNGJBv8pX9SPlR66t6X9puFobqtezEw==", + "node_modules/@commitlint/top-level/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^5.0.0", - "conventional-commits-parser": "^3.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=v8.17.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/read": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-9.1.2.tgz", - "integrity": "sha512-C2sNBQOqeQXMxpWtRnXYKYB3D9yuybPtQNY/P67A6o8XH/UMHkFaUTyIx1KRgu0IG0yTTItRt46FGnsMWLotvA==", + "node_modules/@commitlint/top-level/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "@commitlint/top-level": "^9.1.2", - "fs-extra": "^8.1.0", - "git-raw-commits": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=v8.17.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.2.tgz", - "integrity": "sha512-HcoL+qFGmWEu9VM4fY0HI+VzF4yHcg3x+9Hx6pYFZ+r2wLbnKs964y0v68oyMO/mS/46MVoLNXZGR8U3adpadg==", + "node_modules/@commitlint/top-level/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=v8.17.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/rules": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-9.1.2.tgz", - "integrity": "sha512-1vecFuzqVqjiT57ocXq1bL8V6GEF1NZs3BR0dQzObaqHftImIxBVII299gasckTkcuxNc8M+7XxZyKxUthukpQ==", + "node_modules/@commitlint/top-level/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "dependencies": { - "@commitlint/ensure": "^9.1.2", - "@commitlint/message": "^9.1.2", - "@commitlint/to-lines": "^9.1.2", - "@commitlint/types": "^9.1.2" - }, "engines": { - "node": ">=v8.17.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/@commitlint/to-lines": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-9.1.2.tgz", - "integrity": "sha512-o4zWcMf9EnzA3MOqx01780SgrKq5hqDJmUBPk30g6an0XcDuDy3OSZHHTJFdzsg4V9FjC4OY44sFeK7GN7NaxQ==", + "node_modules/@commitlint/top-level/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, "engines": { - "node": ">=v8.17.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-9.1.2.tgz", - "integrity": "sha512-KMPP5xVePcz3B1dKqcZdU4FZBVOkT+bG3ip4RQX2TeCJoomMkTjd0utALs7rpTGLID6BXbwwXepZCZJREjR/Bw==", + "node_modules/@commitlint/types": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz", + "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" }, "engines": { - "node": ">=v8.17.0" + "node": ">=v18" } }, - "node_modules/@commitlint/types": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-9.1.2.tgz", - "integrity": "sha512-r3fwVbVH+M8W0qYlBBZFsUwKe6NT5qvz+EmU7sr8VeN1cQ63z+3cfXyTo7WGGEMEgKiT0jboNAK3b1FZp8k9LQ==", + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { - "node": ">=v8.17.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/@cspotcode/source-map-support": { @@ -1383,30 +2000,6 @@ "node": ">=12" } }, - "node_modules/@hirosystems/api-toolkit/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@hirosystems/api-toolkit/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, "node_modules/@hirosystems/api-toolkit/node_modules/yargs": { "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", @@ -1424,14 +2017,6 @@ "node": ">=12" } }, - "node_modules/@hirosystems/api-toolkit/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", @@ -1971,20 +2556,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@microsoft/tsdoc": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", @@ -2084,296 +2655,162 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz", - "integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==", - "dev": true, - "peer": true, - "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" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core/node_modules/@octokit/auth-token": { "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==", "dev": true, - "peer": true, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/endpoint": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.1.tgz", - "integrity": "sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==", + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", "dev": true, - "peer": true, "dependencies": { - "@octokit/types": "^12.0.0", - "is-plain-object": "^5.0.0", + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/graphql": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", - "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", + "node_modules/@octokit/endpoint": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", + "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", "dev": true, - "peer": true, "dependencies": { - "@octokit/request": "^8.0.1", - "@octokit/types": "^12.0.0", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.0.tgz", - "integrity": "sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw==", - "dev": true, - "peer": true - }, - "node_modules/@octokit/core/node_modules/@octokit/request": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.4.tgz", - "integrity": "sha512-M0aaFfpGPEKrg7XoA/gwgRvc9MSXHRO2Ioki1qrPDbl1e9YhjIwVoHE7HIKmv/m3idzldj//xBujcFNqGX6ENA==", + "node_modules/@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", "dev": true, - "peer": true, "dependencies": { - "@octokit/endpoint": "^9.0.0", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "is-plain-object": "^5.0.0", + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", "universal-user-agent": "^6.0.0" }, "engines": { "node": ">= 18" } }, - "node_modules/@octokit/core/node_modules/@octokit/request-error": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", - "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", - "dev": true, - "peer": true, - "dependencies": { - "@octokit/types": "^12.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.0.0.tgz", - "integrity": "sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg==", - "dev": true, - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^19.0.0" - } - }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dev": true, - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.1.0.tgz", + "integrity": "sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "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==", - "dev": true, - "dependencies": { - "@octokit/types": "^2.0.1" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "dependencies": { - "@types/node": ">= 8" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "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==", - "dev": true, - "dependencies": { - "@octokit/types": "^2.0.1", - "deprecation": "^2.3.1" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", + "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", "dev": true, "dependencies": { - "@types/node": ">= 8" - } - }, - "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, - "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.7", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" } }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", "dev": true, "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/openapi-types": "^20.0.0" } }, - "node_modules/@octokit/rest": { - "version": "16.43.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", - "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", + "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", "dev": true, "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.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" } }, - "node_modules/@octokit/rest/node_modules/@octokit/request-error": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", - "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", + "dev": true + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", "dev": true, "dependencies": { - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/openapi-types": "^20.0.0" } }, - "node_modules/@octokit/rest/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "node_modules/@octokit/request": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", + "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", "dev": true, "dependencies": { - "@types/node": ">= 8" + "@octokit/endpoint": "^9.0.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@octokit/rest/node_modules/universal-user-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", - "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "node_modules/@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", "dev": true, "dependencies": { - "os-name": "^3.1.0" + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.4.1.tgz", + "integrity": "sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^22.1.0" } }, "node_modules/@pkgjs/parseargs": { @@ -2886,21 +3323,6 @@ "node": ">=10.13.0" } }, - "node_modules/@stacks/eslint-config/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@stacks/network": { "version": "6.11.3", "resolved": "https://registry.npmjs.org/@stacks/network/-/network-6.11.3.tgz", @@ -3146,6 +3568,15 @@ "@types/node": "*" } }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", @@ -3292,12 +3723,6 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" }, - "node_modules/@types/minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==", - "dev": true - }, "node_modules/@types/node": { "version": "20.11.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.4.tgz", @@ -3316,12 +3741,6 @@ "form-data": "^3.0.0" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", - "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", - "dev": true - }, "node_modules/@types/parse-json": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", @@ -3536,21 +3955,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.5.0.tgz", @@ -3649,21 +4053,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/parser": { "version": "5.51.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", @@ -3822,21 +4211,6 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/types": { "version": "5.51.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", @@ -3894,21 +4268,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { "version": "5.46.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", @@ -3975,21 +4334,6 @@ } } }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.46.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", @@ -4362,15 +4706,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -4392,12 +4727,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", - "dev": true - }, "node_modules/atomic-sleep": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", @@ -4671,23 +5000,26 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/debug": { @@ -4815,12 +5147,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==", - "dev": true - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -4984,7 +5310,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", @@ -5017,23 +5342,6 @@ "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001553", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz", @@ -5156,14 +5464,17 @@ } }, "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/co": { @@ -5277,20 +5588,6 @@ "node": "^12.20.0 || ^14.13.0 || >=16.0.0" } }, - "node_modules/concurrently/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/concurrently/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -5306,59 +5603,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/concurrently/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/concurrently/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/concurrently/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -5384,16 +5628,15 @@ } }, "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-changelog-conventionalcommits": { @@ -5411,23 +5654,30 @@ } }, "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "conventional-commits-parser": "cli.js" + "conventional-commits-parser": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" + } + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" } }, "node_modules/convert-source-map": { @@ -5455,17 +5705,6 @@ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", "dev": true }, - "node_modules/core-js": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", - "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -5473,30 +5712,14 @@ }, "node_modules/cors": { "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, "node_modules/create-hash": { @@ -5604,12 +5827,15 @@ } }, "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/dashdash": { @@ -5663,40 +5889,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -5730,7 +5922,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dev": true, "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -5771,11 +5962,11 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/deprecation": { @@ -5785,9 +5976,13 @@ "dev": true }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-libc": { "version": "2.0.2", @@ -6790,37 +6985,38 @@ "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" }, "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -6837,6 +7033,14 @@ "node": ">=10" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7098,20 +7302,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/fastify/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fastify/node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", @@ -7161,16 +7351,16 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -7267,9 +7457,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -7368,20 +7558,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs-minipass": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", @@ -7423,7 +7599,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7501,7 +7676,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2", "has-proto": "^1.0.1", @@ -7521,15 +7695,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -7572,22 +7737,29 @@ } }, "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", "dev": true, "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "git-raw-commits": "cli.js" + "git-raw-commits": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" } }, "node_modules/glob": { @@ -7620,16 +7792,19 @@ "node": ">= 6" } }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, "dependencies": { - "ini": "^1.3.4" + "ini": "4.1.1" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globals": { @@ -7686,7 +7861,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -7726,15 +7900,6 @@ "node": ">=6" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", @@ -7765,7 +7930,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dev": true, "dependencies": { "get-intrinsic": "^1.2.2" }, @@ -7777,7 +7941,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -7789,7 +7952,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -7843,7 +8005,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -7866,18 +8027,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -7890,18 +8039,18 @@ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/http-proxy": { @@ -8141,6 +8290,16 @@ "node": ">=8" } }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -8172,10 +8331,13 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/internal-slot": { "version": "1.0.6", @@ -8192,9 +8354,9 @@ } }, "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -8419,15 +8581,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -8499,15 +8652,15 @@ } }, "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "dependencies": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-typed-array": { @@ -8592,21 +8745,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -8636,21 +8774,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", @@ -8799,73 +8922,6 @@ } } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/jest-config": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", @@ -9219,32 +9275,17 @@ "chalk": "^4.0.0", "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": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "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": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util": { @@ -9342,6 +9383,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -9466,15 +9516,6 @@ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==" }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -9528,15 +9569,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -9609,15 +9641,27 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", "dev": true }, "node_modules/lodash.memoize": { @@ -9631,15 +9675,27 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", "dev": true }, "node_modules/lodash.uniq": { @@ -9648,6 +9704,12 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -9659,18 +9721,6 @@ "node": ">=10" } }, - "node_modules/macos-release": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", - "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -9741,18 +9791,6 @@ "tmpl": "1.0.5" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -9772,37 +9810,12 @@ } }, "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "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==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9911,15 +9924,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimal-polyfills": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/minimal-polyfills/-/minimal-polyfills-2.2.3.tgz", @@ -9954,29 +9958,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", @@ -10170,21 +10151,14 @@ "node": ">= 0.6" } }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "node_modules/nock": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz", - "integrity": "sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", + "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", "dev": true, "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash.set": "^4.3.2", "propagate": "^2.0.0" }, "engines": { @@ -10322,20 +10296,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -10445,30 +10405,6 @@ "node": ">=12" } }, - "node_modules/node-pg-migrate/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/node-pg-migrate/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, "node_modules/node-pg-migrate/node_modules/yargs": { "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", @@ -10486,14 +10422,6 @@ "node": ">=12" } }, - "node_modules/node-pg-migrate/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, "node_modules/node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", @@ -10501,19 +10429,18 @@ "dev": true }, "node_modules/nodemon": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz", - "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", + "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==", "dev": true, - "hasInstallScript": true, "dependencies": { "chokidar": "^3.5.2", - "debug": "^3.2.7", + "debug": "^4", "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "pstree.remy": "^1.1.8", - "semver": "^5.7.1", - "simple-update-notifier": "^1.0.7", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", "supports-color": "^5.5.0", "touch": "^3.1.0", "undefsafe": "^2.0.5" @@ -10522,22 +10449,13 @@ "nodemon": "bin/nodemon.js" }, "engines": { - "node": ">=8.10.0" + "node": ">=10" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/nodemon" } }, - "node_modules/nodemon/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/nodemon/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -10547,15 +10465,6 @@ "node": ">=4" } }, - "node_modules/nodemon/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/nodemon/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -10582,36 +10491,6 @@ "node": ">=6" } }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -10663,7 +10542,6 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10722,12 +10600,6 @@ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "node_modules/octokit-pagination-methods": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", - "dev": true - }, "node_modules/on-exit-leak-free": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", @@ -10737,9 +10609,9 @@ } }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -10806,19 +10678,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "dev": true, - "dependencies": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -11638,9 +11497,12 @@ } }, "node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -11682,15 +11544,6 @@ "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -11708,12 +11561,12 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -11727,83 +11580,6 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "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==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "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==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "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==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -11828,25 +11604,12 @@ "node": ">=8.10.0" } }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", "engines": { - "node": ">=8" + "node": ">= 12.13.0" } }, "node_modules/regenerator-runtime": { @@ -11992,12 +11755,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "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==", - "dev": true - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -12041,18 +11798,6 @@ "node": ">=8" } }, - "node_modules/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -12347,10 +12092,12 @@ "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" }, "node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -12377,23 +12124,23 @@ } }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -12418,14 +12165,14 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -12445,7 +12192,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dev": true, "dependencies": { "define-data-property": "^1.1.1", "get-intrinsic": "^1.2.1", @@ -12519,7 +12265,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -12541,24 +12286,15 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-update-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", - "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "dependencies": { - "semver": "~7.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=10" } }, "node_modules/sisteransi": { @@ -12713,38 +12449,6 @@ "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", "dev": true }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, "node_modules/split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -12844,11 +12548,11 @@ "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/stealthy-require": { @@ -12989,15 +12693,6 @@ "node": ">=8" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -13007,18 +12702,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -13148,9 +12831,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -13208,12 +12891,15 @@ } }, "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/text-table": { @@ -13236,15 +12922,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, "node_modules/tiny-lru": { "version": "10.4.1", "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.4.1.tgz", @@ -13351,15 +13028,6 @@ "tree-kill": "cli.js" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ts-essentials": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.0.0.tgz", @@ -13411,30 +13079,6 @@ } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/ts-node": { "version": "10.8.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.2.tgz", @@ -13739,9 +13383,9 @@ "dev": true }, "node_modules/undici": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz", - "integrity": "sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -13755,6 +13399,18 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -13778,20 +13434,11 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", "dev": true }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -13920,16 +13567,6 @@ "node": ">=10.12.0" } }, - "node_modules/validate-npm-package-license": { - "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==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/varuint-bitcoin": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", @@ -14012,12 +13649,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, "node_modules/which-pm-runs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", @@ -14078,151 +13709,20 @@ "bs58check": "<3.0.0" } }, - "node_modules/windows-release": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", - "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", - "dev": true, - "dependencies": { - "execa": "^1.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/windows-release/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/windows-release/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/windows-release/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/windows-release/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/windows-release/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/windows-release/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/windows-release/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/windows-release/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/windows-release/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/windows-release/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi-cjs": { @@ -14298,10 +13798,12 @@ } }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -14318,47 +13820,29 @@ } }, "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "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" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { - "node": ">=6" + "node": ">=12" } }, "node_modules/yn": { diff --git a/package.json b/package.json index d543642834..6cae3f9395 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "elliptic": "6.5.4", "escape-goat": "3.0.0", "evt": "1.10.1", - "express": "4.17.3", + "express": "4.19.2", "express-list-endpoints": "5.0.0", "getopts": "2.3.0", "http-proxy-middleware": "2.0.1", @@ -150,9 +150,9 @@ "devDependencies": { "@actions/core": "1.10.0", "@actions/exec": "1.1.0", - "@actions/github": "2.2.0", + "@actions/github": "6.0.0", "@actions/io": "1.1.1", - "@commitlint/cli": "9.1.2", + "@commitlint/cli": "19.2.2", "@commitlint/config-conventional": "10.0.0", "@stacks/eslint-config": "1.2.0", "@types/ajv": "1.0.0", @@ -183,8 +183,8 @@ "husky": "4.3.8", "is-ci": "3.0.1", "jest": "29.7.0", - "nock": "13.2.1", - "nodemon": "2.0.19", + "nock": "13.5.4", + "nodemon": "3.1.0", "pg-connection-string": "2.5.0", "prettier": "2.8.8", "rimraf": "5.0.0",