diff --git a/.changeset/brave-lies-relax.md b/.changeset/brave-lies-relax.md deleted file mode 100644 index 88aa3dda2c9..00000000000 --- a/.changeset/brave-lies-relax.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"fuels": patch ---- - -docs: improving getting started docs for `mainnet` diff --git a/.changeset/clever-bikes-itch.md b/.changeset/clever-bikes-itch.md deleted file mode 100644 index 928b49a6c27..00000000000 --- a/.changeset/clever-bikes-itch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-fuels": patch ---- - -chore: bumped `@fuels/*` deps to `0.36.1` diff --git a/.changeset/clever-rocks-ring.md b/.changeset/clever-rocks-ring.md deleted file mode 100644 index a878e800819..00000000000 --- a/.changeset/clever-rocks-ring.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-fuels": patch ---- - -fix: test ui script in package's json diff --git a/.changeset/dry-hornets-wave.md b/.changeset/dry-hornets-wave.md deleted file mode 100644 index 5ca89aba929..00000000000 --- a/.changeset/dry-hornets-wave.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -fix: integration test using removed flag diff --git a/.changeset/fluffy-cooks-worry.md b/.changeset/fluffy-cooks-worry.md deleted file mode 100644 index 93c077f634c..00000000000 --- a/.changeset/fluffy-cooks-worry.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -"create-fuels": patch -"@fuel-ts/transactions": patch -"@fuel-ts/abi-typegen": patch -"@fuel-ts/abi-coder": patch -"@fuel-ts/contract": patch -"@fuel-ts/versions": patch -"@fuel-ts/account": patch -"@fuel-ts/address": patch -"@fuel-ts/program": patch -"@fuel-ts/crypto": patch -"@fuel-ts/hasher": patch -"@fuel-ts/logger": patch -"@fuel-ts/merkle": patch -"fuels": patch -"@fuel-ts/utils": patch -"@fuel-ts/math": patch ---- - -chore: dependency pinning and auditing diff --git a/.changeset/gentle-toes-play.md b/.changeset/gentle-toes-play.md deleted file mode 100644 index 98b9a4d469b..00000000000 --- a/.changeset/gentle-toes-play.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/account": patch ---- - -feat: added method to duplicate predicate diff --git a/.changeset/lazy-ears-tap.md b/.changeset/lazy-ears-tap.md deleted file mode 100644 index a25355967f5..00000000000 --- a/.changeset/lazy-ears-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-fuels": patch ---- - -feat: auto-detect package manager in `create fuels` diff --git a/.changeset/lucky-lizards-arrive.md b/.changeset/lucky-lizards-arrive.md deleted file mode 100644 index 62e1c9dc7b6..00000000000 --- a/.changeset/lucky-lizards-arrive.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@internal/fuel-core": patch -"@fuel-ts/versions": patch ---- - -chore: upgrade `fuel-core` to `0.40.2` diff --git a/.changeset/metal-fireants-enjoy.md b/.changeset/metal-fireants-enjoy.md deleted file mode 100644 index b16c95aae92..00000000000 --- a/.changeset/metal-fireants-enjoy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/account": minor ---- - -chore!: remove unused operations diff --git a/.changeset/new-toys-approve.md b/.changeset/new-toys-approve.md deleted file mode 100644 index 02b6c5574f0..00000000000 --- a/.changeset/new-toys-approve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"fuels": patch ---- - -fix: paths and globals in `fuels init` diff --git a/.changeset/old-laws-film.md b/.changeset/old-laws-film.md deleted file mode 100644 index e53b47c828f..00000000000 --- a/.changeset/old-laws-film.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@fuel-ts/contract": minor -"@fuel-ts/account": minor -"@fuel-ts/program": minor -"@fuel-ts/recipes": minor -"@fuel-ts/script": minor -"fuels": minor -"create-fuels": minor ---- - -feat!: making `provider` initialization `sync` again diff --git a/.changeset/olive-buses-count.md b/.changeset/olive-buses-count.md deleted file mode 100644 index b00887a3979..00000000000 --- a/.changeset/olive-buses-count.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"fuels": patch ---- - -feat: add support for `--fuel-core-port` flag in `fuels init` diff --git a/.changeset/orange-cherries-clean.md b/.changeset/orange-cherries-clean.md deleted file mode 100644 index c6216827fb8..00000000000 --- a/.changeset/orange-cherries-clean.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/account": patch ---- - -feat: implement `sendAndAwaitStatus` subscription diff --git a/.changeset/orange-moles-leave.md b/.changeset/orange-moles-leave.md deleted file mode 100644 index b749b60962f..00000000000 --- a/.changeset/orange-moles-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/abi-coder": patch ---- - -fix: validation and handling of unsafe integers diff --git a/.changeset/rude-flowers-tickle.md b/.changeset/rude-flowers-tickle.md deleted file mode 100644 index 341e213e187..00000000000 --- a/.changeset/rude-flowers-tickle.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fuel-ts/transactions": minor -"@fuel-ts/account": minor -"@fuel-ts/program": minor ---- - -chore!: remove receipts deprecated properties diff --git a/.changeset/seven-balloons-kick.md b/.changeset/seven-balloons-kick.md deleted file mode 100644 index 669766d32d7..00000000000 --- a/.changeset/seven-balloons-kick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-fuels": patch ---- - -fix: resolve `punycode` deprecation notice diff --git a/.changeset/shaggy-donkeys-exist.md b/.changeset/shaggy-donkeys-exist.md deleted file mode 100644 index f9de0b7e9bd..00000000000 --- a/.changeset/shaggy-donkeys-exist.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/transactions": minor ---- - -chore!: remove receipt coders diff --git a/.changeset/shaggy-zebras-obey.md b/.changeset/shaggy-zebras-obey.md deleted file mode 100644 index 8432ac5f5a5..00000000000 --- a/.changeset/shaggy-zebras-obey.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@fuel-ts/account": minor -"@fuel-ts/program": minor ---- - -feat!: `autoCost` for transaction estimation and funding diff --git a/.changeset/shiny-meals-jog.md b/.changeset/shiny-meals-jog.md deleted file mode 100644 index cc75a33a8a1..00000000000 --- a/.changeset/shiny-meals-jog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/account": minor ---- - -chore!: remove deprecated `submitAndAwait` operation diff --git a/.changeset/small-plums-talk.md b/.changeset/small-plums-talk.md deleted file mode 100644 index 83f4952100f..00000000000 --- a/.changeset/small-plums-talk.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fuel-ts/address": minor -"@fuel-ts/errors": patch -"@fuel-ts/recipes": patch -"@fuel-ts/logger": minor ---- - -chore!: remove Bech32 address diff --git a/.changeset/small-spoons-drive.md b/.changeset/small-spoons-drive.md deleted file mode 100644 index df105ca5d18..00000000000 --- a/.changeset/small-spoons-drive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-fuels": patch ---- - -chore: added `useBaseAssetId` hook to templates diff --git a/.changeset/strange-experts-roll.md b/.changeset/strange-experts-roll.md deleted file mode 100644 index b5581bd17a7..00000000000 --- a/.changeset/strange-experts-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@fuel-ts/account": patch ---- - -chore: removing obsolete `Provider.create` method diff --git a/.changeset/thin-planes-cover.md b/.changeset/thin-planes-cover.md deleted file mode 100644 index 229f87ce8ed..00000000000 --- a/.changeset/thin-planes-cover.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@fuel-ts/account": patch -"fuels": patch ---- - -fix: unable to kill `fuels dev` with `pnpm` diff --git a/.changeset/wild-dots-bake.md b/.changeset/wild-dots-bake.md deleted file mode 100644 index dc4c76004f4..00000000000 --- a/.changeset/wild-dots-bake.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -"@internal/check-imports": patch -"@fuel-ts/transactions": patch -"@fuel-ts/abi-typegen": patch -"@fuel-ts/abi-coder": patch -"@fuel-ts/contract": patch -"@fuel-ts/account": patch -"@fuel-ts/address": patch -"@fuel-ts/program": patch -"@fuel-ts/recipes": patch -"@fuel-ts/crypto": patch -"@fuel-ts/errors": patch -"@fuel-ts/hasher": patch -"@fuel-ts/logger": patch -"@fuel-ts/script": patch -"fuels": minor -"@fuel-ts/utils": patch ---- - -chore!: redistributed the `@fuel-ts/interfaces` package diff --git a/.env.example b/.env.example index d848920a46b..e3a6565e3c5 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,5 @@ DEVNET_WALLET_PVT_KEY= TESTNET_WALLET_PVT_KEY= -PUBLISHED_NPM_TAG= \ No newline at end of file +PUBLISHED_NPM_TAG= +NETWORK_TEST_URL= +NETWORK_TEST_PVT_KEY= diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ba57f115c82..d9f776e09ee 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @digorithm @arboleya @Torres-ssf @danielbate @nedsalk @petertonysmith94 @maschad +* @digorithm @arboleya @Torres-ssf @danielbate @nedsalk @petertonysmith94 diff --git a/.knip.json b/.knip.json index 00277f04afe..5f0eb9e6e4f 100644 --- a/.knip.json +++ b/.knip.json @@ -1,27 +1,15 @@ { - "ignore": [ - ".github/**", - "**/*/fuels.config.*", - "**/*/.vitepress/*", - "/apps/docs/*", - "/packages/abi-typegen/test/**", - "templates/**", - "/apps/docs/**/*.test.ts", - "apps/create-fuels-counter-guide/**", - "apps/docs-api/**" + "entry": [ + "apps/docs/src/versions.data.ts", + "apps/docs/src/guide/types/snippets/numbers/for-u8-u16-and-u32-2.ts" ], + "ignore": [".github/**"], "ignoreDependencies": [ - "autocannon", + "fuels", "bun", - "@/sway-api/*", - "@fuel-ts/*", - "@fuels/connectors", - "@internal/fuel-core", - "@internal/forc", - "@types/jest", "@types/rimraf", - "@graphql-codegen*", - "graphql-tag", + "@fuel-ts/abi-typegen", + "@internal/fuel-core", "get-graphql-schema", "events", "eslint-plugin-jsdoc", @@ -30,14 +18,11 @@ "eslint-plugin-react", "eslint-plugin-react-hooks", "dotenv", - "ethers", - "kill", - "lsof", "memfs", "open", "markdown-link-check", "ts-generator", - "webdriverio", - "syncpack" + "vitepress-plugin-search", + "vue" ] } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0c2b4b5f108..b7d90e864f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -228,14 +228,6 @@ pnpm bench:node pnpm bench:node packages/my-desired-package ``` -# Profiling - -We currently use [`clinic`](https://clinicjs.org/) to profile and debug our tooling. For instance you can run clinic's flame command to create a flamegraph for a specific package: - -```sh -# creates a flamegraph for a specific package -npm_config_package_name=account pnpm clinic:flame // runs flame against the account package -``` ### CI Test @@ -369,6 +361,40 @@ We'd follow the same approach as explained in the [Patching old releases](#patch - have the versions of packages on `master` match the `latest` released package versions, - have the released functionality on `master` as well +# Network Testing + +The network test suite is designed to run locally against a specified network for validation purposes. + +You can find the test suite at: `packages/fuel-gauge/src/network.test.ts`. + +### Setup Instructions + +Before running the tests, you need to configure the `.env` file: + +1. Copy the `.env.example` file: + +```sh +cp .env.example .env +``` + +2. Set the values for the following environment variables in the `.env` file: + +```env +NETWORK_TEST_URL=https://testnet.fuel.network/v1/graphql +NETWORK_TEST_PVT_KEY=0x... +``` + +- `NETWORK_TEST_URL`: The URL of which network the test should run (e.g., Fuel Testnet endpoint). +- `NETWORK_TEST_PVT_KEY`: Your private key for the network. + +### Running the Test Suite + +Once the environment is set up, run the network tests using the following command: + +```sh +pnpm test:network +``` + # FAQ ### Why is the prefix `fuels` and not `fuel`? diff --git a/apps/create-fuels-counter-guide/package.json b/apps/create-fuels-counter-guide/package.json index eecc050c091..84862cf78d3 100644 --- a/apps/create-fuels-counter-guide/package.json +++ b/apps/create-fuels-counter-guide/package.json @@ -7,7 +7,7 @@ "test:ui": "sh ./test/ui/test-ui.sh", "original:dev": "vite", "original:build": "tsc -b && vite build", - "original:start": "next start", + "original:start": "vite start", "original:lint": "eslint .", "fuels:build": "fuels build", "fuels:dev": "fuels dev", @@ -18,8 +18,6 @@ "@fuels/react": "0.36.1", "@tanstack/react-query": "5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "5.1.14", - "@wagmi/core": "2.13.9", "dotenv": "16.4.5", "fuels": "workspace:*", "react": "18.3.1", diff --git a/apps/demo-bun-fuels/package.json b/apps/demo-bun-fuels/package.json index 6693f380bf5..26c11ebb465 100644 --- a/apps/demo-bun-fuels/package.json +++ b/apps/demo-bun-fuels/package.json @@ -9,8 +9,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@fuel-ts/account": "workspace:*", - "@fuel-ts/errors": "workspace:*", "fuels": "workspace:*" }, "devDependencies": { diff --git a/apps/demo-fuels/package.json b/apps/demo-fuels/package.json index cddadb8b4aa..143a0d4d783 100644 --- a/apps/demo-fuels/package.json +++ b/apps/demo-fuels/package.json @@ -10,8 +10,6 @@ }, "license": "Apache-2.0", "dependencies": { - "@fuel-ts/errors": "workspace:*", - "@fuel-ts/account": "workspace:*", "fuels": "workspace:*" } } diff --git a/apps/demo-typegen/package.json b/apps/demo-typegen/package.json index 9ce2943d96a..520890ac0a3 100644 --- a/apps/demo-typegen/package.json +++ b/apps/demo-typegen/package.json @@ -19,8 +19,6 @@ "fuels": "workspace:*" }, "devDependencies": { - "@fuel-ts/account": "workspace:*", - "@fuel-ts/errors": "workspace:*", "@internal/forc": "workspace:*" } } diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 3a14a57d855..3ec8a73afd3 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -333,24 +333,24 @@ export default defineConfig({ collapsed: true, items: [ { - text: 'Transaction Request', - link: '/guide/transactions/transaction-request', + text: 'Modifying the Request', + link: '/guide/transactions/modifying-the-request', }, { - text: 'Transaction Parameters', - link: '/guide/transactions/transaction-parameters', + text: 'Adding Parameters', + link: '/guide/transactions/adding-parameters', }, { - text: 'Transaction Policies', - link: '/guide/transactions/transaction-policies', + text: 'Adding Policies', + link: '/guide/transactions/adding-policies', }, { - text: 'Transaction Response', - link: '/guide/transactions/transaction-response', + text: 'Getting the Response', + link: '/guide/transactions/getting-the-response', }, { - text: 'Transaction Subscriptions', - link: '/guide/transactions/transaction-subscriptions', + text: 'Optimizing Frontend Apps', + link: '/guide/transactions/optimizing-frontend-apps', }, ], }, @@ -437,6 +437,10 @@ export default defineConfig({ text: 'Splitting UTXOs', link: '/guide/cookbook/splitting-utxos', }, + { + text: 'Optimized React Example', + link: '/guide/cookbook/optimized-react-example', + }, ], }, { diff --git a/apps/docs/.vitepress/plugins/codeInContextPlugin.test.ts b/apps/docs/.vitepress/plugins/codeInContextPlugin.test.ts index 89e7c6b970d..7e65aa576a5 100644 --- a/apps/docs/.vitepress/plugins/codeInContextPlugin.test.ts +++ b/apps/docs/.vitepress/plugins/codeInContextPlugin.test.ts @@ -7,7 +7,7 @@ import { CodeSnippetToken, } from './codeInContextPlugin'; import MarkdownIt from 'markdown-it'; -import Token from 'markdown-it/lib/token'; +import { Token } from 'markdown-it'; /** * @group node diff --git a/apps/docs/fuels.config.ts b/apps/docs/fuels.config.ts index 5b0109ac896..0051980ab1a 100644 --- a/apps/docs/fuels.config.ts +++ b/apps/docs/fuels.config.ts @@ -6,4 +6,5 @@ export default createConfig({ forcBuildFlags: ['--release'], forcPath: 'fuels-forc', fuelCorePath: 'fuels-core', + fuelCorePort: 0, }); diff --git a/apps/docs/package.json b/apps/docs/package.json index a8253ab69d8..62a7d39fb1c 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -8,14 +8,13 @@ "dev": "nodemon --config nodemon.config.json -x 'run-s build:snippets dev:docs'", "build": "run-s build:snippets build:docs", "preview": "run-s build:snippets preview:docs", - "pretest": "./scripts/pretest.sh", "test": "cd ../.. && pnpm run test:filter apps/docs", "build:snippets": "run-s wrap:snippets build:forc", "build:docs": "vitepress build", "preview:docs": "vitepress preview", "dev:docs": "vitepress dev", "wrap:snippets": "tsx ./scripts/wrap-snippets.ts", - "build:forc": "pnpm fuels build", + "build:forc": "pnpm fuels build --deploy", "type:check": "pnpm tsc --noEmit --project tsconfig.emit.json" }, "keywords": [], @@ -29,12 +28,9 @@ }, "devDependencies": { "@types/markdown-it": "14.1.2", - "@vue/devtools-api": "6.6.3", - "flexsearch": "0.7.43", "glob": "10.4.5", "markdown-it": "14.1.0", "nodemon": "3.1.7", - "replace": "1.2.2", "vitepress-plugin-search": "1.0.4-alpha.22", "vitepress": "1.3.4", "vue": "3.5.12" diff --git a/apps/docs/scripts/pretest.sh b/apps/docs/scripts/pretest.sh deleted file mode 100755 index 25d456ae373..00000000000 --- a/apps/docs/scripts/pretest.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# Kill anything running on port 4000 -lsof -t -i:4000 | xargs -r kill - -# Runs a node at port 4000 -pnpm fuels node > /dev/null 2>&1 & - -# Builds projects -pnpm fuels build - -# Deploys projects (needed for loader bytecode) -pnpm fuels deploy - -# Kills the node -lsof -t -i:4000 | xargs -r kill \ No newline at end of file diff --git a/apps/docs/spell-check-custom-words.txt b/apps/docs/spell-check-custom-words.txt index c1aadae8a9c..167dd7a326e 100644 --- a/apps/docs/spell-check-custom-words.txt +++ b/apps/docs/spell-check-custom-words.txt @@ -343,8 +343,4 @@ Workspaces WSL XOR XORs -YAML matcher -TransactionRequest -TransactionResponse -frictionless diff --git a/apps/docs/src/guide/contracts/call-parameters.md b/apps/docs/src/guide/contracts/call-parameters.md index e173572468e..39e643ed69b 100644 --- a/apps/docs/src/guide/contracts/call-parameters.md +++ b/apps/docs/src/guide/contracts/call-parameters.md @@ -9,7 +9,7 @@ When interacting with contracts, you can configure specific parameters for contr 2. `gasLimit` -> **Note**: Setting transaction parameters is also available when calling contracts. More information on this can be found at [Transaction Parameters](../transactions/transaction-parameters.md). +> **Note**: Setting transaction parameters is also available when calling contracts. More information on this can be found at [Transaction Parameters](../transactions/adding-parameters.md). The contract in use in this section has the following implementation: @@ -39,7 +39,7 @@ The `gasLimit` refers to the maximum amount of gas that can be consumed specific ## Call Parameter `gasLimit` vs Transaction Parameter `gasLimit` -The call parameter `gasLimit` sets the maximum gas allowed for the actual contract call, whereas the transaction parameter `gasLimit` _(see [Transaction Parameters](../transactions/transaction-parameters.md))_ sets the maximum gas allowed for the entire transaction and constrains the `gasLimit` call parameter. If the call parameter `gasLimit` is set to a value greater than the _available_ transaction gas, then the entire available transaction gas will be allocated for the contract call execution. +The call parameter `gasLimit` sets the maximum gas allowed for the actual contract call, whereas the transaction parameter `gasLimit` _(see [Transaction Parameters](../transactions/adding-parameters.md))_ sets the maximum gas allowed for the entire transaction and constrains the `gasLimit` call parameter. If the call parameter `gasLimit` is set to a value greater than the _available_ transaction gas, then the entire available transaction gas will be allocated for the contract call execution. If you don't set the `gasLimit` for the call, the transaction `gasLimit` will be applied. diff --git a/apps/docs/src/guide/contracts/using-different-wallets.md b/apps/docs/src/guide/contracts/using-different-wallets.md index 3dbb167dbc2..a82de3c8e3e 100644 --- a/apps/docs/src/guide/contracts/using-different-wallets.md +++ b/apps/docs/src/guide/contracts/using-different-wallets.md @@ -19,4 +19,4 @@ const newProvider = new Provider(NEW_URL); deployedContract.provider = newProvider; ``` -> **Note:** When connecting a different wallet to an existing contract instance, the provider used to deploy the contract takes precedence over the newly set provider. If you have two wallets connected to separate providers (each communicating with a different fuel-core instance), the provider assigned to the deploying wallet will be used for contract calls. This behavior is only relevant when multiple providers (i.e., fuel-core instances) are present and can be ignored otherwise. +> **Note:** When connecting a different wallet to an existing contract instance, the provider used to deploy the contract takes precedence over the newly set provider. If you have two wallets connected to separate providers (each communicating with a different fuel-core instance), the provider assigned to the deploying wallet will be used for contract calls. This behavior is only relevant when multiple providers (i.e. fuel-core instances) are present and can be ignored otherwise. diff --git a/apps/docs/src/guide/cookbook/optimized-react-example.md b/apps/docs/src/guide/cookbook/optimized-react-example.md new file mode 100644 index 00000000000..8ffffdc060b --- /dev/null +++ b/apps/docs/src/guide/cookbook/optimized-react-example.md @@ -0,0 +1,69 @@ +# Optimized React Example + +This example implements the strategies outlined in [Optimizing Frontend Apps](../transactions/optimizing-frontend-apps.md) and demonstrates how to improve the perceived speed of transactions in a React application. + +```tsx +import { Provider, Wallet, ScriptTransactionRequest } from "fuels"; +import { useEffect, useState } from "react"; + +import { TestContract } from "./typegend"; +import contractIds from "./typegend/contract-ids.json"; + +function App() { + const [request, setRequest] = useState(null); + + // Initialize the provider and wallet + const NETWORK_URL = "https://mainnet.fuel.network/v1/graphql"; + const provider = new Provider(NETWORK_URL); + const wallet = Wallet.fromAddress("0x...", provider); + + /** + * Here we'll prepare our transaction upfront on page load, so that + * by the time the user interacts with your app (i.e. clicking a btn), + * the transaction is ready to be submitted + */ + useEffect(() => { + const onPageLoad = async () => { + // 1. Connect to the contract + const contractInstance = new TestContract( + contractIds.testContract, + wallet, + ); + + // 2. Invoke the contract function whilst estimating and funding the + // call, which gives us the transaction request + const preparedRequest = await contractInstance.functions + .increment_counter(1) + .fundWithRequiredCoins(); + + setRequest(preparedRequest); + }; + + onPageLoad(); + }, []); + + /** + * By the time user user clicks the submit button, we only need to + * submit the transaction to the network + */ + const handleSubmit = async () => { + if (!request) return; + + // 1. Submit the transaction to the network + const response = await wallet.sendTransaction(request); + + // 2. Wait for the transaction to settle and get the result + const result = await response.waitForResult(); + + console.log("result", result); + }; + + return ( +
+ +
+ ); +} + +export default App; +``` diff --git a/apps/docs/src/guide/cookbook/snippets/custom-contract-calls.ts b/apps/docs/src/guide/cookbook/snippets/custom-contract-calls.ts index 6684b7c45d7..f9ded96cff0 100644 --- a/apps/docs/src/guide/cookbook/snippets/custom-contract-calls.ts +++ b/apps/docs/src/guide/cookbook/snippets/custom-contract-calls.ts @@ -35,7 +35,7 @@ transactionRequest.addCoinOutput( ); // Estimate and fund the transaction -await transactionRequest.autoCost(wallet); +await transactionRequest.estimateAndFund(wallet); // Submit the transaction const response = await wallet.sendTransaction(transactionRequest); diff --git a/apps/docs/src/guide/cookbook/snippets/signing-transactions/predicate.ts b/apps/docs/src/guide/cookbook/snippets/signing-transactions/predicate.ts index 25bf65ce434..2919607270a 100644 --- a/apps/docs/src/guide/cookbook/snippets/signing-transactions/predicate.ts +++ b/apps/docs/src/guide/cookbook/snippets/signing-transactions/predicate.ts @@ -44,7 +44,7 @@ request.addResources(resources); // Estimate and fund the request request.addWitness('0x'); -await request.autoCost(predicate, { +await request.estimateAndFund(predicate, { signatureCallback: (txRequest) => txRequest.addAccountWitnesses(signer), }); diff --git a/apps/docs/src/guide/encoding/snippets/encode-and-decode.ts b/apps/docs/src/guide/encoding/snippets/encode-and-decode.ts index 6c363dfd23c..0565c7b16b8 100644 --- a/apps/docs/src/guide/encoding/snippets/encode-and-decode.ts +++ b/apps/docs/src/guide/encoding/snippets/encode-and-decode.ts @@ -57,7 +57,7 @@ const encodedArguments = abiInterface.encodeType(argument, [argumentToAdd]); request.scriptData = encodedArguments; // Now we can estimate and fund the transaction -await request.autoCost(wallet); +await request.estimateAndFund(wallet); // Finally, submit the built transaction const response = await wallet.sendTransaction(request); diff --git a/apps/docs/src/guide/errors/index.md b/apps/docs/src/guide/errors/index.md index c20604f3217..6f459545233 100644 --- a/apps/docs/src/guide/errors/index.md +++ b/apps/docs/src/guide/errors/index.md @@ -24,6 +24,12 @@ When an [`Account`](https://fuels-ts-docs-api.vercel.app/classes/_fuel_ts_accoun It could be caused during the deployments of contracts when an account is required to sign the transaction. This can be resolved by following the deployment guide [here](../contracts/deploying-contracts.md). +### `ASSET_BURN_DETECTED` + +When you are trying to send a transaction that will result in an asset burn. + +Add relevant coin change outputs to the transaction, or enable asset burn in the transaction request. + ### `CONFIG_FILE_NOT_FOUND` When a configuration file is not found. This could either be a `fuels.config.[ts,js,mjs,cjs]` file or a TOML file. diff --git a/apps/docs/src/guide/getting-started/react-example.md b/apps/docs/src/guide/getting-started/react-example.md index 64e131eee9c..e722c12d9f0 100644 --- a/apps/docs/src/guide/getting-started/react-example.md +++ b/apps/docs/src/guide/getting-started/react-example.md @@ -10,7 +10,7 @@ function App() { const [balance, setBalance] = useState(0); useEffect(() => { - const main = async () => { + const onPageLoad = async () => { const provider = new Provider("https://mainnet.fuel.network/v1/graphql"); const wallet = Wallet.fromAddress("0x...", provider); @@ -19,7 +19,7 @@ function App() { setBalance(new BN(balances[0].amount).toNumber()); }; - main(); + onPageLoad(); }, []); return
My Balance: {balance}
; @@ -28,6 +28,7 @@ function App() { export default App; ``` -# More +# See Also +- [Optimized React Example](../cookbook/optimized-react-example.md) - [CDN Usage](./cdn-usage.md) diff --git a/apps/docs/src/guide/predicates/custom-transactions.md b/apps/docs/src/guide/predicates/custom-transactions.md index 37fbf6fadd8..c92dd4b88d0 100644 --- a/apps/docs/src/guide/predicates/custom-transactions.md +++ b/apps/docs/src/guide/predicates/custom-transactions.md @@ -2,7 +2,7 @@ Utilizing predicate logic unlocks a wide range of possibilities for your dApps when creating transactions. Therefore, pairing predicates with custom transactions can help you achieve more complex use cases. This can be achieved by instantiating a custom transaction, appending the predicate resources, and submitting the transaction via a successfully validated predicate. -Custom transactions can be shaped via a `ScriptTransactionRequest` instance. For more information on crafting custom transactions and the methods available to them, please refer to the [Transaction Request](../transactions/transaction-request.md) guide. +Custom transactions can be shaped via a `ScriptTransactionRequest` instance. For more information on crafting custom transactions and the methods available to them, please refer to the [Transaction Request](../transactions/modifying-the-request.md) guide. However, this guide will demonstrate how to use a predicate in a custom transaction. Consider the following predicate, where a configurable pin must be used to validate the predicate and unlock the funds: diff --git a/apps/docs/src/guide/predicates/snippets/custom-transactions.ts b/apps/docs/src/guide/predicates/snippets/custom-transactions.ts index 3873c9951c3..37833a45810 100644 --- a/apps/docs/src/guide/predicates/snippets/custom-transactions.ts +++ b/apps/docs/src/guide/predicates/snippets/custom-transactions.ts @@ -42,7 +42,7 @@ customRequest.addResources(predicateResources); customRequest.addCoinOutput(receiver.address, amountToReceiver, assetId); // Estimate the transaction cost and fund accordingly -await customRequest.autoCost(predicate); +await customRequest.estimateAndFund(predicate); // Submit the transaction and await it's result const predicateTx = await predicate.sendTransaction(customRequest); diff --git a/apps/docs/src/guide/predicates/snippets/methods/send-transaction.ts b/apps/docs/src/guide/predicates/snippets/methods/send-transaction.ts index 97767190a56..05ae8021363 100644 --- a/apps/docs/src/guide/predicates/snippets/methods/send-transaction.ts +++ b/apps/docs/src/guide/predicates/snippets/methods/send-transaction.ts @@ -37,7 +37,7 @@ const predicateCoins = await predicate.getResourcesToSpend([ transactionRequest.addResources(predicateCoins); // Estimate and fund the transaction -await transactionRequest.autoCost(predicate); +await transactionRequest.estimateAndFund(predicate); // Send the transaction using the predicate const result = await predicate.sendTransaction(transactionRequest); diff --git a/apps/docs/src/guide/predicates/snippets/methods/simulate-transaction.ts b/apps/docs/src/guide/predicates/snippets/methods/simulate-transaction.ts index c2a9c24cff4..3542a850e91 100644 --- a/apps/docs/src/guide/predicates/snippets/methods/simulate-transaction.ts +++ b/apps/docs/src/guide/predicates/snippets/methods/simulate-transaction.ts @@ -36,7 +36,7 @@ const transactionRequest = new ScriptTransactionRequest({ transactionRequest.addCoinOutput(receiver.address, 1000000, baseAssetId); // Estimate and fund the transaction -await transactionRequest.autoCost(predicate); +await transactionRequest.estimateAndFund(predicate); const result = await predicate.simulateTransaction(transactionRequest); diff --git a/apps/docs/src/guide/scripts/custom-script-call.md b/apps/docs/src/guide/scripts/custom-script-call.md index d773f32be28..fcbaf46395e 100644 --- a/apps/docs/src/guide/scripts/custom-script-call.md +++ b/apps/docs/src/guide/scripts/custom-script-call.md @@ -1,5 +1,5 @@ # Preparing a Script Transaction -Akin to Contracts, we can configure the [call parameters](../contracts/call-parameters.md) and [transaction parameters](../transactions/transaction-parameters.md) for Scripts, as well as retrieve the entire transaction request or transaction ID prior to submission. +Akin to Contracts, we can configure the [call parameters](../contracts/call-parameters.md) and [transaction parameters](../transactions/adding-parameters.md) for Scripts, as well as retrieve the entire transaction request or transaction ID prior to submission. <<< @./snippets/script-with-configurable.ts#preparing-scripts{ts:line-numbers} diff --git a/apps/docs/src/guide/scripts/snippets/script-custom-transaction.ts b/apps/docs/src/guide/scripts/snippets/script-custom-transaction.ts index 7401e4c25f7..215c9a7e477 100644 --- a/apps/docs/src/guide/scripts/snippets/script-custom-transaction.ts +++ b/apps/docs/src/guide/scripts/snippets/script-custom-transaction.ts @@ -48,7 +48,7 @@ const quantities = [ ]; // 5. Estimate and fund the transaction -await request.autoCost(wallet, { quantities }); +await request.estimateAndFund(wallet, { quantities }); // 6. Send the transaction const tx = await wallet.sendTransaction(request); diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/adding-parameters.md similarity index 97% rename from apps/docs/src/guide/transactions/transaction-parameters.md rename to apps/docs/src/guide/transactions/adding-parameters.md index a6d22346109..a968075ff5c 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/adding-parameters.md @@ -1,6 +1,6 @@ -# Transaction Parameters +# Adding Parameters -Transaction parameters allow you to configure various aspects of your blockchain transactions. Dependent on these parameters, it may introduce a [transaction policy](./transaction-policies.md). +Transaction parameters allow you to configure various aspects of your blockchain transactions. Dependent on these parameters, it may introduce a [transaction policy](./adding-policies.md). All available parameters are shown below: diff --git a/apps/docs/src/guide/transactions/transaction-policies.md b/apps/docs/src/guide/transactions/adding-policies.md similarity index 85% rename from apps/docs/src/guide/transactions/transaction-policies.md rename to apps/docs/src/guide/transactions/adding-policies.md index 05dda805293..90ceae3fb2b 100644 --- a/apps/docs/src/guide/transactions/transaction-policies.md +++ b/apps/docs/src/guide/transactions/adding-policies.md @@ -1,6 +1,6 @@ -# Transaction Policies +# Adding Policies -Transaction policies are rules that can govern how a transaction is processed, introduced by the [transaction parameters](./transaction-parameters.md) that you pass to a transaction request. The available policies are as follows: +Transaction policies are rules that can govern how a transaction is processed, introduced by the [transaction parameters](./adding-parameters.md) that you pass to a transaction request. The available policies are as follows: ### Tip diff --git a/apps/docs/src/guide/transactions/transaction-response.md b/apps/docs/src/guide/transactions/getting-the-response.md similarity index 100% rename from apps/docs/src/guide/transactions/transaction-response.md rename to apps/docs/src/guide/transactions/getting-the-response.md diff --git a/apps/docs/src/guide/transactions/transaction-request.md b/apps/docs/src/guide/transactions/modifying-the-request.md similarity index 83% rename from apps/docs/src/guide/transactions/transaction-request.md rename to apps/docs/src/guide/transactions/modifying-the-request.md index 121ee218485..06e9bc724a9 100644 --- a/apps/docs/src/guide/transactions/transaction-request.md +++ b/apps/docs/src/guide/transactions/modifying-the-request.md @@ -38,17 +38,17 @@ Including `OutputCoin`s in the transaction request specifies the UTXOs that will ### Estimating and Funding the Transaction Request -Before submitting a transaction, it is essential to ensure it is properly funded to meet its requirements and cover the associated fee. The SDK offers two approaches for this, one is to use the `autoCost` helper: +Before submitting a transaction, it is essential to ensure it is properly funded to meet its requirements and cover the associated fee. The SDK offers two approaches for this, one is to use the `estimateAndFund` helper: -<<< @./snippets/transaction-request/auto-cost.ts#auto-cost{ts:line-numbers} +<<< @./snippets/transaction-request/estimate-and-fund.ts#estimate-and-fund{ts:line-numbers} This approach provides a simple one-liner for estimating and funding the transaction request. Ensuring that the `gasLimit` and `maxFee` are accurately calculated and that the required amounts for `OutputCoin`s are fulfilled, as well as fetching and adding any missing resources from the calling account. The other more manual approach is as so: -<<< @./snippets/transaction-request/estimate-and-fund.ts#transaction-request-4{ts:line-numbers} +<<< @./snippets/transaction-request/get-transaction-cost.ts#transaction-request-4{ts:line-numbers} -This approach provides the same behaviour as the `autoCost` helper, but gives more granular control over the transaction request. The `getTransactionCost` method also returns various information about the simulated request that you may want to use to further modify the transaction request, more on that can be found in the [API reference](https://fuels-ts-docs-api.vercel.app/types/_fuel_ts_account.TransactionCost.html). +This approach provides the same behaviour as the `estimateAndFund` helper, but gives more granular control over the transaction request. The `getTransactionCost` method also returns various information about the simulated request that you may want to use to further modify the transaction request, more on that can be found in the [API reference](https://fuels-ts-docs-api.vercel.app/types/_fuel_ts_account.TransactionCost.html). ### Manually Fetching Resources @@ -97,3 +97,11 @@ The transaction ID is a SHA-256 hash of the entire transaction request. This can <<< @./snippets/transaction-request/add-witness.ts#transaction-request-11{ts:line-numbers} > **Note**: Any changes made to a transaction request will alter the transaction ID. Therefore, you should only get the transaction ID after all modifications have been made. + +### Burning assets + +Assets can be burnt as part of a transaction that has inputs without associated output change. The SDK validates against this behavior, so we need to explicitly enable this by sending the transaction with the `enableAssetBurn` option set to `true`. + +<<< @./snippets/transaction-request/asset-burn.ts#asset-burn{ts:line-numbers} + +> **Note**: Burning assets is permanent and all assets burnt will be lost. Therefore, be mindful of the usage of this functionality. diff --git a/apps/docs/src/guide/transactions/optimizing-frontend-apps.md b/apps/docs/src/guide/transactions/optimizing-frontend-apps.md new file mode 100644 index 00000000000..00576523b20 --- /dev/null +++ b/apps/docs/src/guide/transactions/optimizing-frontend-apps.md @@ -0,0 +1,39 @@ +# Optimizing Frontend Apps + +Your application must perform a series of operations to estimate, submit and receive the result of a transaction. However, the flow in which it performs these actions can be organized or performed optimistically, increasing it's perceived speed. + +## Use Case + +In a frontend application, imagine we have a button that executes a contract call: + +```tsx + +``` + +The handler would be implemented as follows: + +<<< @./snippets/transaction-speed/transaction-speed-init.ts#main{ts:line-numbers} + +Once the user clicks the button, multiple sequential calls are made to the network, which can take a while because the transaction must be: + +1. Estimated +1. Funded +1. Submitted + +## Optimization Strategy + +With a few optimizations, the flow can be organized as follows: + +<<< @./snippets/transaction-speed/transaction-speed-optimized.ts#main{ts:line-numbers} + +## Conclusion + +Finally, when users click the button, they only need to submit the transaction, which vastly improves the perceived speed of the transaction because many of the necessary requests were done upfront, under the hood. + +Just remember: + +- _After preparation, any changes made to the transaction request will require it to be re-estimated and re-funded before it can be signed and submitted._ + +# See Also + +- Check a full example at [Optimized React Example](../cookbook/optimized-react-example.md) diff --git a/apps/docs/src/guide/transactions/snippets/transaction-request/asset-burn.ts b/apps/docs/src/guide/transactions/snippets/transaction-request/asset-burn.ts new file mode 100644 index 00000000000..86f0bb7ab3a --- /dev/null +++ b/apps/docs/src/guide/transactions/snippets/transaction-request/asset-burn.ts @@ -0,0 +1,39 @@ +import { InputType, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; +import { ASSET_A } from 'fuels/test-utils'; + +import { LOCAL_NETWORK_URL, WALLET_PVT_KEY } from '../../../../env'; + +const provider = new Provider(LOCAL_NETWORK_URL); +const sender = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); + +// #region asset-burn +const transactionRequest = new ScriptTransactionRequest(); + +const { + coins: [coin], +} = await sender.getCoins(ASSET_A); + +// Add the coin as an input, without a change output +transactionRequest.inputs.push({ + id: coin.id, + type: InputType.Coin, + owner: coin.owner.toB256(), + amount: coin.amount, + assetId: coin.assetId, + txPointer: '0x00000000000000000000000000000000', + witnessIndex: + transactionRequest.getCoinInputWitnessIndexByOwner(coin.owner) ?? + transactionRequest.addEmptyWitness(), +}); + +// Fund the transaction +await transactionRequest.estimateAndFund(sender); + +// Send the transaction with asset burn enabled +const tx = await sender.sendTransaction(transactionRequest, { + enableAssetBurn: true, +}); +// #endregion asset-burn + +const { isStatusSuccess } = await tx.waitForResult(); +console.log('Transaction should have been successful', isStatusSuccess); diff --git a/apps/docs/src/guide/transactions/snippets/transaction-request/estimate-and-fund.ts b/apps/docs/src/guide/transactions/snippets/transaction-request/estimate-and-fund.ts index aeb8b8c47eb..f4a0998b867 100644 --- a/apps/docs/src/guide/transactions/snippets/transaction-request/estimate-and-fund.ts +++ b/apps/docs/src/guide/transactions/snippets/transaction-request/estimate-and-fund.ts @@ -6,17 +6,12 @@ import { ScriptSum } from '../../../../typegend'; const provider = new Provider(LOCAL_NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -// #region transaction-request-4 +// #region estimate-and-fund const transactionRequest = new ScriptTransactionRequest({ script: ScriptSum.bytecode, }); -const cost = await wallet.getTransactionCost(transactionRequest); - -transactionRequest.gasLimit = cost.gasUsed; -transactionRequest.maxFee = cost.maxFee; - -await wallet.fund(transactionRequest, cost); +await transactionRequest.estimateAndFund(wallet); await wallet.sendTransaction(transactionRequest); -// #endregion transaction-request-4 +// #endregion estimate-and-fund diff --git a/apps/docs/src/guide/transactions/snippets/transaction-request/auto-cost.ts b/apps/docs/src/guide/transactions/snippets/transaction-request/get-transaction-cost.ts similarity index 62% rename from apps/docs/src/guide/transactions/snippets/transaction-request/auto-cost.ts rename to apps/docs/src/guide/transactions/snippets/transaction-request/get-transaction-cost.ts index 8023db95806..aeb8b8c47eb 100644 --- a/apps/docs/src/guide/transactions/snippets/transaction-request/auto-cost.ts +++ b/apps/docs/src/guide/transactions/snippets/transaction-request/get-transaction-cost.ts @@ -6,12 +6,17 @@ import { ScriptSum } from '../../../../typegend'; const provider = new Provider(LOCAL_NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -// #region auto-cost +// #region transaction-request-4 const transactionRequest = new ScriptTransactionRequest({ script: ScriptSum.bytecode, }); -await transactionRequest.autoCost(wallet); +const cost = await wallet.getTransactionCost(transactionRequest); + +transactionRequest.gasLimit = cost.gasUsed; +transactionRequest.maxFee = cost.maxFee; + +await wallet.fund(transactionRequest, cost); await wallet.sendTransaction(transactionRequest); -// #endregion auto-cost +// #endregion transaction-request-4 diff --git a/apps/docs/src/guide/transactions/snippets/transaction-response/from-submitted-request.ts b/apps/docs/src/guide/transactions/snippets/transaction-response/from-submitted-request.ts index 1fcedf6d54d..90d662f0aea 100644 --- a/apps/docs/src/guide/transactions/snippets/transaction-response/from-submitted-request.ts +++ b/apps/docs/src/guide/transactions/snippets/transaction-response/from-submitted-request.ts @@ -25,7 +25,7 @@ const scriptMainFunctionArguments = [1]; transactionRequest.setData(ScriptSum.abi, scriptMainFunctionArguments); // Fund the transaction -await transactionRequest.autoCost(wallet); +await transactionRequest.estimateAndFund(wallet); // Submit the transaction const response = await wallet.sendTransaction(transactionRequest); diff --git a/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-init.ts b/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-init.ts new file mode 100644 index 00000000000..cca183260db --- /dev/null +++ b/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-init.ts @@ -0,0 +1,29 @@ +import { Provider, Wallet } from 'fuels'; + +import { LOCAL_NETWORK_URL, WALLET_PVT_KEY } from '../../../../env'; +import { CounterFactory } from '../../../../typegend/contracts'; + +const { info } = console; + +// Initialize the provider, sender and the contract +const provider = new Provider(LOCAL_NETWORK_URL); +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); + +const deployTx = await CounterFactory.deploy(wallet); +const { contract } = await deployTx.waitForResult(); + +// #region main +async function handleSubmit() { + // 1. Calling the `call` function for a contract method will create + // a transaction request, estimate it, fund it and then submit it + const transaction = await contract.functions.increment_count(1).call(); + info(`Transaction ID Submitted: ${transaction.transactionId}`); + + // 2. Calling `waitForResult` will wait for the transaction to + // settle, then assemble and return it + const result = await transaction.waitForResult(); + info(`Transaction ID Successful: ${result.transactionId}`); +} +// #endregion main + +await handleSubmit(); diff --git a/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-optimized.ts b/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-optimized.ts new file mode 100644 index 00000000000..c9a9c421a47 --- /dev/null +++ b/apps/docs/src/guide/transactions/snippets/transaction-speed/transaction-speed-optimized.ts @@ -0,0 +1,47 @@ +import type { ScriptTransactionRequest } from 'fuels'; +import { Provider, Wallet } from 'fuels'; + +import { LOCAL_NETWORK_URL, WALLET_PVT_KEY } from '../../../../env'; +import { CounterFactory } from '../../../../typegend/contracts'; + +const { info } = console; + +// Initialize the provider, wallet and the contract +const provider = new Provider(LOCAL_NETWORK_URL); +const chainId = await provider.getChainId(); + +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); +const deployTx = await CounterFactory.deploy(wallet); + +const { contract } = await deployTx.waitForResult(); + +let request: ScriptTransactionRequest; +// #region main +/** + * Here we'll prepare our transaction upfront on page load, so that + * by the time the user interacts with your app (i.e. clicking a btn), + * the transaction is ready to be submitted + */ +async function onPageLoad() { + // 1. Invoke the contract function whilst estimating and funding the + // call, which gives us the transaction request + request = await contract.functions.increment_count(1).fundWithRequiredCoins(); +} + +/** + * By the time user user clicks the submit button, we only need to + * submit the transaction to the network + */ +async function handleSubmit() { + // 1. Submit the transaction to the network + info(`Transaction ID Submitted: ${request.getTransactionId(chainId)}`); + const response = await wallet.sendTransaction(request); + + // 2. Wait for the transaction to settle and get the result + const result = await response.waitForResult(); + info(`Transaction ID Successful: ${result.id}`); +} +// #endregion main + +await onPageLoad(); +await handleSubmit(); diff --git a/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/contract-call.ts b/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/contract-call.ts deleted file mode 100644 index 22e41d7e509..00000000000 --- a/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/contract-call.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Provider, Wallet } from 'fuels'; - -import { LOCAL_NETWORK_URL, WALLET_PVT_KEY } from '../../../../env'; -import { CounterFactory } from '../../../../typegend'; - -const provider = new Provider(LOCAL_NETWORK_URL); -const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); - -const deploy = await CounterFactory.deploy(wallet); -const { contract } = await deploy.waitForResult(); - -// #region main -// Create a new transaction request from a contract call -const txRequest = await contract.functions - .increment_count(1) - .getTransactionRequest(); - -// Fund the transaction -await txRequest.autoCost(wallet); - -// Sign the transaction -const txSignature = await wallet.signTransaction(txRequest); -txRequest.updateWitnessByOwner(wallet.address, txSignature); - -// Send the transaction and await it's result via the opened subscription -const result = await provider.sendTransactionAndAwaitStatus(txRequest); -// #endregion main - -console.log('transactionId', result.id); -console.log('status', result.status); -console.log('receipts', result.receipts); diff --git a/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/transaction-request.ts b/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/transaction-request.ts deleted file mode 100644 index 23ae5806dbe..00000000000 --- a/apps/docs/src/guide/transactions/snippets/transaction-subscriptions/transaction-request.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Provider, ScriptTransactionRequest, Wallet } from 'fuels'; - -import { LOCAL_NETWORK_URL, WALLET_PVT_KEY } from '../../../../env'; - -const provider = new Provider(LOCAL_NETWORK_URL); -const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -const recipient = Wallet.generate(); - -// #region main -// Create a new transaction request -const txRequest = new ScriptTransactionRequest(); -txRequest.addCoinOutput( - recipient.address, - 1_000, - await provider.getBaseAssetId() -); - -// Fund the transaction -await txRequest.autoCost(wallet); - -// Sign the transaction -const txSignature = await wallet.signTransaction(txRequest); -txRequest.updateWitnessByOwner(wallet.address, txSignature); - -// Send the transaction and await it's result via the opened subscription -const result = await provider.sendTransactionAndAwaitStatus(txRequest); -// #endregion main - -console.log('transactionId', result.id); -console.log('status', result.status); -console.log('receipts', result.receipts); diff --git a/apps/docs/src/guide/transactions/transaction-subscriptions.md b/apps/docs/src/guide/transactions/transaction-subscriptions.md deleted file mode 100644 index 5534558fbaa..00000000000 --- a/apps/docs/src/guide/transactions/transaction-subscriptions.md +++ /dev/null @@ -1,16 +0,0 @@ -# Transaction Subscriptions - -When submitting transactions via the SDK, usually this is done by calling a method in a [script](../scripts/running-scripts.md) or [contract](../contracts/methods.md#call), or sending a transaction via a [predicate](../predicates/methods.md#sendtransaction) or [wallet](../wallets/index.md). These methods submit the transaction and then return a [TransactionResponse](./transaction-response.md) that allows you to view the result of a transaction at your convenience, leaving the rest of your app processing unblocked. - -However, if you want to send a transaction and wait until it's processed, for convenience the SDK also exposes the `sendTransactionAndAwaitStatus` available on a [Provider](../provider/index.md) which behaves the same as `sendTransaction` but waits until the transaction is processed by the node and then returns the transaction result. - -This functionality can be used like so: - -<<< @./snippets/transaction-subscriptions/transaction-request.ts#main{ts:line-numbers} - -Or used with a contract call like so: - -<<< @./snippets/transaction-subscriptions/contract-call.ts#main{ts:line-numbers} - -> [!NOTE] Note -> This is a blocking call, which means the rest of your app logic could be blocked for several seconds until the transaction is processed. If this is a problem for your app then we recommend using the previous submission methods mentioned in this guide. diff --git a/apps/docs/src/guide/wallets/snippets/signing/fund-transaction.ts b/apps/docs/src/guide/wallets/snippets/signing/fund-transaction.ts index 57e048bea2c..c1d06faf7ba 100644 --- a/apps/docs/src/guide/wallets/snippets/signing/fund-transaction.ts +++ b/apps/docs/src/guide/wallets/snippets/signing/fund-transaction.ts @@ -13,7 +13,7 @@ const request = new ScriptTransactionRequest({ request.addCoinOutput(receiverAddress, 1000, await provider.getBaseAssetId()); -await request.autoCost(sender); +await request.estimateAndFund(sender); const tx = await sender.sendTransaction(request); await tx.waitForResult(); diff --git a/apps/docs/src/guide/wallets/snippets/signing/sign-transaction.ts b/apps/docs/src/guide/wallets/snippets/signing/sign-transaction.ts index b329d253203..2b229e1ebec 100644 --- a/apps/docs/src/guide/wallets/snippets/signing/sign-transaction.ts +++ b/apps/docs/src/guide/wallets/snippets/signing/sign-transaction.ts @@ -19,7 +19,7 @@ const request = new ScriptTransactionRequest({ request.addCoinOutput(receiverAddress, 1000, await provider.getBaseAssetId()); -await request.autoCost(sender); +await request.estimateAndFund(sender); const signedTransaction = await sender.signTransaction(request); const transactionId = request.getTransactionId(await provider.getChainId()); diff --git a/internal/check-imports/CHANGELOG.md b/internal/check-imports/CHANGELOG.md index 143324a3715..b5272d33af7 100644 --- a/internal/check-imports/CHANGELOG.md +++ b/internal/check-imports/CHANGELOG.md @@ -1,5 +1,50 @@ # @internal/check-imports +## 0.0.18 + +### Patch Changes + +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [981b992] +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [04ca73e] +- Updated dependencies [68821a9] +- Updated dependencies [11fcd7b] +- Updated dependencies [458b7cf] +- Updated dependencies [0fb6fa8] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [f293646] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - fuels@0.98.0 + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-typegen@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/contract@0.98.0 + - @fuel-ts/versions@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/program@0.98.0 + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/merkle@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/script@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.0.17 ### Patch Changes diff --git a/internal/check-imports/package.json b/internal/check-imports/package.json index e7603253590..1b8d66bf044 100644 --- a/internal/check-imports/package.json +++ b/internal/check-imports/package.json @@ -26,5 +26,5 @@ "@fuel-ts/account": "workspace:*", "fuels": "workspace:*" }, - "version": "0.0.17" + "version": "0.0.18" } diff --git a/internal/fuel-core/CHANGELOG.md b/internal/fuel-core/CHANGELOG.md index 538df4a12c2..44a62da8a21 100644 --- a/internal/fuel-core/CHANGELOG.md +++ b/internal/fuel-core/CHANGELOG.md @@ -1,5 +1,11 @@ # @internal/fuel-core +## 0.89.7 + +### Patch Changes + +- 04ca73e: chore: upgrade `fuel-core` to `0.40.2` + ## 0.89.6 ### Patch Changes diff --git a/internal/fuel-core/package.json b/internal/fuel-core/package.json index eed499df14b..8fa216597c8 100644 --- a/internal/fuel-core/package.json +++ b/internal/fuel-core/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@internal/fuel-core", - "version": "0.89.6", + "version": "0.89.7", "description": "NPM bin wrapper around `fuel-core`", "author": "Fuel Labs (https://fuel.network/)", "bin": { diff --git a/package.json b/package.json index cdd208f34d8..d9009eec20d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "build:packages": "turbo run build --filter=!docs --filter=!template-*", "ci:test": "./scripts/tests-ci.sh", "pretest": "turbo run pretest", - "depcheck": "knip --dependencies --tags=-knipignore", + "depcheck": "knip --include-libs --dependencies --tags=-knipignore", "knip:fix": "knip --fix", "depsync:lint": "syncpack list-mismatches", "depsync:fix": "syncpack fix-mismatches", @@ -30,11 +30,8 @@ "test:validate": "./scripts/tests-validate.sh", "test:browser:filter": "vitest --run --coverage false --config vitest.browser.config.mts", "test:e2e": "vitest --run --config vitest.node.config.mts $(scripts/tests-find.sh --e2e)", - "clinic:flame": "clinic flame --autocannon [ / ] -- node packages/${npm_config_package_name}/dist/profile.js", - "clinic:bubble": "clinic bubbleprof --autocannon [ -c 5 -a 500 / ] -- node packages/${npm_config_package_name}/dist/profile.js", - "clinic:doctor": "clinic doctor --autocannon [ / ] -- node packages/${npm_config_package_name}/dist/profile.js", - "clinic:heap": "clinic heapprofiler --autocannon [ / ] -- node packages/${npm_config_package_name}/dist/profile.js", "test:integration": "vitest --run --config vitest.node.config.mts $(scripts/tests-find.sh --integration)", + "test:network": "vitest --run --config vitest.node.config.mts $(scripts/tests-find.sh --network)", "lint": "run-s type:check-tests lint:check prettier:check type:check", "lint:check": "eslint . --ext .ts --max-warnings 0", "lint:fix": "pnpm lint:check --fix", @@ -88,8 +85,6 @@ "@typescript-eslint/parser": "6.21.0", "@vitest/browser": "2.0.5", "@vitest/coverage-istanbul": "2.0.5", - "autocannon": "7.15.0", - "clinic": "13.0.0", "compare-versions": "6.1.1", "coverage-diff": "3.2.0", "eslint": "8.57.0", @@ -105,7 +100,7 @@ "eslint-plugin-react-hooks": "4.6.2", "eslint-plugin-tsdoc": "0.3.0", "glob": "10.4.5", - "knip": "5.30.6", + "knip": "5.41.1", "markdown-link-check": "3.12.2", "memfs": "4.14.0", "nodemon": "3.1.7", diff --git a/packages/abi-coder/CHANGELOG.md b/packages/abi-coder/CHANGELOG.md index 34e6c7746e0..d4cd21ea9c8 100644 --- a/packages/abi-coder/CHANGELOG.md +++ b/packages/abi-coder/CHANGELOG.md @@ -1,5 +1,23 @@ # Change Log +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- a7eb9b6: fix: validation and handling of unsafe integers +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/abi-coder/package.json b/packages/abi-coder/package.json index d3c4a1349d3..11219ea64ff 100644 --- a/packages/abi-coder/package.json +++ b/packages/abi-coder/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/abi-coder", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/abi-typegen/CHANGELOG.md b/packages/abi-typegen/CHANGELOG.md index a707a4cdf66..06030d4dffc 100644 --- a/packages/abi-typegen/CHANGELOG.md +++ b/packages/abi-typegen/CHANGELOG.md @@ -1,5 +1,20 @@ # @fuel-ts/abi-typegen +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [04ca73e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/versions@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/abi-typegen/package.json b/packages/abi-typegen/package.json index bbddaf34e8f..a0c7a220487 100644 --- a/packages/abi-typegen/package.json +++ b/packages/abi-typegen/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/abi-typegen", - "version": "0.97.2", + "version": "0.98.0", "description": "Generates Typescript definitions from Sway ABI Json files", "author": "Fuel Labs (https://fuel.network/)", "bin": { diff --git a/packages/account/CHANGELOG.md b/packages/account/CHANGELOG.md index 5a9269c0430..81ae03bdf14 100644 --- a/packages/account/CHANGELOG.md +++ b/packages/account/CHANGELOG.md @@ -1,5 +1,46 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 13977df: docs!: optimizing frontend apps +- 68821a9: chore!: remove unused operations +- 458b7cf: feat!: making `provider` initialization `sync` again +- 254bf53: chore!: remove receipts deprecated properties +- 8d8452e: feat!: `autoCost` for transaction estimation and funding +- d404734: chore!: remove deprecated `submitAndAwait` operation +- f2407dc: feat!: remove redundant gas price call for tx summary +- 08a31d8: feat!: prevent implicit asset burn + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- d5a696c: feat: added method to duplicate predicate +- 0f138cd: feat: added `onBeforeSend` hook to the connector interface +- 75fae34: chore: removing obsolete `Provider.create` method +- a278e71: fix: unable to kill `fuels dev` with `pnpm` +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [04ca73e] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/versions@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/merkle@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/account/package.json b/packages/account/package.json index 9e0b972fce6..56cfe8b42ab 100644 --- a/packages/account/package.json +++ b/packages/account/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/account", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/account/src/account.test.ts b/packages/account/src/account.test.ts index 223151aef9b..5a15b43d9b9 100644 --- a/packages/account/src/account.test.ts +++ b/packages/account/src/account.test.ts @@ -620,7 +620,7 @@ describe('Account', () => { [amount, assetIdB], ]); - await request.autoCost(sender); + await request.estimateAndFund(sender); const response = await sender.sendTransaction(request); @@ -727,7 +727,7 @@ describe('Account', () => { request.addCoinOutput(sender.address, amount.div(3), await provider.getBaseAssetId()); } - await request.autoCost(fundingWallet); + await request.estimateAndFund(fundingWallet); const tx1 = await fundingWallet.sendTransaction(request); await tx1.waitForResult(); @@ -801,7 +801,7 @@ describe('Account', () => { request.addCoinOutput(sender.address, fundingAmount.div(3), await provider.getBaseAssetId()); } - await request.autoCost(fundingWallet); + await request.estimateAndFund(fundingWallet); const tx1 = await fundingWallet.sendTransaction(request); await tx1.waitForResult(); @@ -968,7 +968,7 @@ describe('Account', () => { const request = new ScriptTransactionRequest(); request.addCoinOutput(wallet.address, 30_000, await provider.getBaseAssetId()); - await expectToThrowFuelError(() => request.autoCost(wallet), { + await expectToThrowFuelError(() => request.estimateAndFund(wallet), { code: ErrorCode.MAX_COINS_REACHED, message: 'The account retrieving coins has exceeded the maximum number of coins per asset. Please consider combining your coins into a single UTXO.', diff --git a/packages/account/src/account.ts b/packages/account/src/account.ts index 63399b918d5..8ab6ecf20e6 100644 --- a/packages/account/src/account.ts +++ b/packages/account/src/account.ts @@ -10,7 +10,7 @@ import type { BytesLike } from '@fuel-ts/utils'; import { arrayify, hexlify, isDefined } from '@fuel-ts/utils'; import { clone } from 'ramda'; -import type { FuelConnector } from './connectors'; +import type { FuelConnector, FuelConnectorSendTxParams } from './connectors'; import type { TransactionRequest, CoinQuantityLike, @@ -23,7 +23,6 @@ import type { EstimateTransactionParams, CursorPaginationArgs, TransactionRequestLike, - ProviderSendTxParams, CallResult, GetCoinsResponse, GetMessagesResponse, @@ -31,6 +30,7 @@ import type { Coin, TransactionCostParams, TransactionResponse, + ProviderSendTxParams, } from './providers'; import { withdrawScript, @@ -66,6 +66,8 @@ export type ContractTransferParams = { assetId: BytesLike; }; +export type AccountSendTxParams = ProviderSendTxParams & FuelConnectorSendTxParams; + export type EstimatedTxParams = Pick< TransactionCost, 'estimatedPredicates' | 'addedSignatures' | 'requiredQuantities' | 'updateMaxFee' | 'gasPrice' @@ -649,11 +651,14 @@ export class Account extends AbstractAccount implements WithAddress { */ async sendTransaction( transactionRequestLike: TransactionRequestLike, - { estimateTxDependencies = true }: ProviderSendTxParams = {} + { estimateTxDependencies = true, onBeforeSend, skipCustomFee = false }: AccountSendTxParams = {} ): Promise { if (this._connector) { return this.provider.getTransactionResponse( - await this._connector.sendTransaction(this.address.toString(), transactionRequestLike) + await this._connector.sendTransaction(this.address.toString(), transactionRequestLike, { + onBeforeSend, + skipCustomFee, + }) ); } const transactionRequest = transactionRequestify(transactionRequestLike); diff --git a/packages/account/src/connectors/fuel-connector.ts b/packages/account/src/connectors/fuel-connector.ts index 92d4346e932..0b0fd24f30a 100644 --- a/packages/account/src/connectors/fuel-connector.ts +++ b/packages/account/src/connectors/fuel-connector.ts @@ -14,6 +14,7 @@ import type { FuelEventArg, Version, SelectNetworkArguments, + FuelConnectorSendTxParams, } from './types'; interface Connector { @@ -42,7 +43,11 @@ interface Connector { signTransaction(address: string, transaction: TransactionRequestLike): Promise; // #endregion fuel-connector-method-signTransaction // #region fuel-connector-method-sendTransaction - sendTransaction(address: string, transaction: TransactionRequestLike): Promise; + sendTransaction( + address: string, + transaction: TransactionRequestLike, + params?: FuelConnectorSendTxParams + ): Promise; // #endregion fuel-connector-method-sendTransaction // #region fuel-connector-method-currentAccount currentAccount(): Promise; @@ -193,10 +198,14 @@ export abstract class FuelConnector extends EventEmitter implements Connector { * * @param address - The address to sign the transaction * @param transaction - The transaction to send - * + * @param params - Optional parameters to send the transaction * @returns The transaction id */ - async sendTransaction(_address: string, _transaction: TransactionRequestLike): Promise { + async sendTransaction( + _address: string, + _transaction: TransactionRequestLike, + _params?: FuelConnectorSendTxParams + ): Promise { throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, 'Method not implemented.'); } diff --git a/packages/account/src/connectors/types/data-type.ts b/packages/account/src/connectors/types/data-type.ts index 04a63ad028d..f4a6f85fa6c 100644 --- a/packages/account/src/connectors/types/data-type.ts +++ b/packages/account/src/connectors/types/data-type.ts @@ -1,6 +1,8 @@ import type { JsonAbi } from '@fuel-ts/abi-coder'; import type { RequireAtLeastOne } from 'type-fest'; +import type { TransactionRequest } from '../../providers'; + /** * @name Version */ @@ -42,3 +44,11 @@ export type SelectNetworkArguments = RequireAtLeastOne Promise; +}; diff --git a/packages/account/src/providers/provider.test.ts b/packages/account/src/providers/provider.test.ts index c72bd13fb8d..5072e7226c2 100644 --- a/packages/account/src/providers/provider.test.ts +++ b/packages/account/src/providers/provider.test.ts @@ -1,11 +1,11 @@ -import { Address } from '@fuel-ts/address'; +import { Address, getRandomB256 } from '@fuel-ts/address'; import { ZeroBytes32 } from '@fuel-ts/address/configs'; import { randomBytes, randomUUID } from '@fuel-ts/crypto'; import { FuelError, ErrorCode } from '@fuel-ts/errors'; import { expectToThrowFuelError, safeExec } from '@fuel-ts/errors/test-utils'; import { BN, bn } from '@fuel-ts/math'; import type { Receipt } from '@fuel-ts/transactions'; -import { InputType, ReceiptType } from '@fuel-ts/transactions'; +import { InputType, OutputType, ReceiptType } from '@fuel-ts/transactions'; import { DateTime, arrayify, sleep } from '@fuel-ts/utils'; import { ASSET_A, ASSET_B } from '@fuel-ts/utils/test-utils'; import { versions } from '@fuel-ts/versions'; @@ -34,7 +34,10 @@ import Provider, { } from './provider'; import type { ExcludeResourcesOption } from './resource'; import { isCoin } from './resource'; -import type { CoinTransactionRequestInput } from './transaction-request'; +import type { + ChangeTransactionRequestOutput, + CoinTransactionRequestInput, +} from './transaction-request'; import { CreateTransactionRequest, ScriptTransactionRequest } from './transaction-request'; import { TransactionResponse } from './transaction-response'; import type { SubmittedStatus } from './transaction-summary/types'; @@ -325,19 +328,27 @@ describe('Provider', () => { it('can call()', async () => { using launched = await setupTestProviderAndWallets(); const { provider } = launched; + const owner = getRandomB256(); const baseAssetId = await provider.getBaseAssetId(); const CoinInputs: CoinTransactionRequestInput[] = [ { type: InputType.Coin, id: '0xbc90ada45d89ec6648f8304eaf8fa2b03384d3c0efabc192b849658f4689b9c500', - owner: baseAssetId, + owner, assetId: baseAssetId, txPointer: '0x00000000000000000000000000000000', amount: 500_000, witnessIndex: 0, }, ]; + const ChangeOutputs: ChangeTransactionRequestOutput[] = [ + { + type: OutputType.Change, + assetId: baseAssetId, + to: owner, + }, + ]; const transactionRequest = new ScriptTransactionRequest({ tip: 0, gasLimit: 100_000, @@ -352,6 +363,7 @@ describe('Provider', () => { arrayify('0x504000ca504400ba3341100024040000'), scriptData: randomBytes(32), inputs: CoinInputs, + outputs: ChangeOutputs, witnesses: ['0x'], }); @@ -2263,6 +2275,78 @@ Supported fuel-core version: ${mock.supportedVersion}.` expect(fetchChainAndNodeInfo).toHaveBeenCalledTimes(2); }); + it('should throw error if asset burn is detected', async () => { + using launched = await setupTestProviderAndWallets(); + const { + provider, + wallets: [sender], + } = launched; + + const { + coins: [coin], + } = await sender.getCoins(ASSET_A); + + const request = new ScriptTransactionRequest(); + + // Add the coin as an input, without a change output + request.inputs.push({ + id: coin.id, + type: InputType.Coin, + owner: coin.owner.toB256(), + amount: coin.amount, + assetId: coin.assetId, + txPointer: '0x00000000000000000000000000000000', + witnessIndex: + request.getCoinInputWitnessIndexByOwner(coin.owner) ?? request.addEmptyWitness(), + }); + + const expectedErrorMessage = [ + 'Asset burn detected.', + 'Add the relevant change outputs to the transaction to avoid burning assets.', + 'Or enable asset burn, upon sending the transaction.', + ].join('\n'); + await expectToThrowFuelError( + () => provider.sendTransaction(request), + new FuelError(ErrorCode.ASSET_BURN_DETECTED, expectedErrorMessage) + ); + }); + + it('should allow asset burn if enabled', async () => { + using launched = await setupTestProviderAndWallets(); + const { + provider, + wallets: [sender], + } = launched; + const { + coins: [coin], + } = await sender.getCoins(ASSET_A); + + const request = new ScriptTransactionRequest(); + + // Add the coin as an input, without a change output + request.inputs.push({ + id: coin.id, + type: InputType.Coin, + owner: coin.owner.toB256(), + amount: coin.amount, + assetId: coin.assetId, + txPointer: '0x00000000000000000000000000000000', + witnessIndex: request.getCoinInputWitnessIndexByOwner(sender) ?? request.addEmptyWitness(), + }); + + // Fund the transaction + await request.estimateAndFund(sender); + + const signedTransaction = await sender.signTransaction(request); + request.updateWitnessByOwner(sender.address, signedTransaction); + + const response = await provider.sendTransaction(request, { + enableAssetBurn: true, + }); + const { isStatusSuccess } = await response.waitForResult(); + expect(isStatusSuccess).toBe(true); + }); + it('submits transaction and awaits status [success]', async () => { using launched = await setupTestProviderAndWallets(); const { @@ -2274,12 +2358,13 @@ Supported fuel-core version: ${mock.supportedVersion}.` const signedTransaction = await wallet.signTransaction(transactionRequest); transactionRequest.updateWitnessByOwner(wallet.address, signedTransaction); const transactionId = transactionRequest.getTransactionId(await provider.getChainId()); - const response = await provider.sendTransactionAndAwaitStatus(transactionRequest, { + const response = await provider.sendTransaction(transactionRequest, { estimateTxDependencies: false, }); - expect(response.status).toBe('success'); - expect(response.receipts.length).not.toBe(0); - expect(response.id).toBe(transactionId); + const result = await response.waitForResult(); + expect(result.status).toBe('success'); + expect(result.receipts.length).not.toBe(0); + expect(result.id).toBe(transactionId); }); it('submits transaction and awaits status [success with estimation]', async () => { @@ -2293,10 +2378,11 @@ Supported fuel-core version: ${mock.supportedVersion}.` const signedTransaction = await wallet.signTransaction(transactionRequest); transactionRequest.updateWitnessByOwner(wallet.address, signedTransaction); const transactionId = transactionRequest.getTransactionId(await provider.getChainId()); - const response = await provider.sendTransactionAndAwaitStatus(transactionRequest); - expect(response.status).toBe('success'); - expect(response.receipts.length).not.toBe(0); - expect(response.id).toBe(transactionId); + const response = await provider.sendTransaction(transactionRequest); + const result = await response.waitForResult(); + expect(result.status).toBe('success'); + expect(result.receipts.length).not.toBe(0); + expect(result.id).toBe(transactionId); }); it('submits transaction and awaits status [failure]', async () => { @@ -2310,14 +2396,11 @@ Supported fuel-core version: ${mock.supportedVersion}.` transactionRequest.gasLimit = bn(0); // force fail const signedTransaction = await wallet.signTransaction(transactionRequest); transactionRequest.updateWitnessByOwner(wallet.address, signedTransaction); - await expectToThrowFuelError( - () => - provider.sendTransactionAndAwaitStatus(transactionRequest, { - estimateTxDependencies: false, - }), - { - code: ErrorCode.SCRIPT_REVERTED, - } - ); + const response = await provider.sendTransaction(transactionRequest, { + estimateTxDependencies: false, + }); + await expectToThrowFuelError(() => response.waitForResult(), { + code: ErrorCode.SCRIPT_REVERTED, + }); }); }); diff --git a/packages/account/src/providers/provider.ts b/packages/account/src/providers/provider.ts index 1b6b36b1ac7..b894d9b6b89 100644 --- a/packages/account/src/providers/provider.ts +++ b/packages/account/src/providers/provider.ts @@ -49,8 +49,9 @@ import { isTransactionTypeCreate, isTransactionTypeScript, transactionRequestify, + validateTransactionForAssetBurn, } from './transaction-request'; -import type { TransactionResult, TransactionResultReceipt } from './transaction-response'; +import type { TransactionResultReceipt } from './transaction-response'; import { TransactionResponse, getDecodedLogs } from './transaction-response'; import { processGqlReceipt } from './transaction-summary/receipt'; import { @@ -363,7 +364,12 @@ export type ProviderCallParams = UTXOValidationParams & EstimateTransactionParam /** * Provider Send transaction params */ -export type ProviderSendTxParams = EstimateTransactionParams; +export type ProviderSendTxParams = EstimateTransactionParams & { + /** + * Whether to enable asset burn for the transaction. + */ + enableAssetBurn?: boolean; +}; /** * URL - Consensus Params mapping. @@ -853,9 +859,15 @@ Supported fuel-core version: ${supportedVersion}.` */ async sendTransaction( transactionRequestLike: TransactionRequestLike, - { estimateTxDependencies = true }: ProviderSendTxParams = {} + { estimateTxDependencies = true, enableAssetBurn }: ProviderSendTxParams = {} ): Promise { const transactionRequest = transactionRequestify(transactionRequestLike); + validateTransactionForAssetBurn( + await this.getBaseAssetId(), + transactionRequest, + enableAssetBurn + ); + if (estimateTxDependencies) { await this.estimateTxDependencies(transactionRequest); } @@ -880,22 +892,6 @@ Supported fuel-core version: ${supportedVersion}.` return new TransactionResponse(transactionRequest, this, chainId, abis, subscription); } - /** - * Submits a transaction to the chain and awaits its status response. - * - * @param transactionRequestLike - the request to submit. - * @param sendTransactionParams - The provider send transaction parameters (optional). - * @returns A promise that resolves to a settled transaction. - */ - async sendTransactionAndAwaitStatus( - transactionRequestLike: TransactionRequestLike, - providerSendTxParams: ProviderSendTxParams = {} - ): Promise> { - const response = await this.sendTransaction(transactionRequestLike, providerSendTxParams); - const result = await response.waitForResult(); - return result; - } - /** * Executes a transaction without actually submitting it to the chain. * diff --git a/packages/account/src/providers/transaction-request/helpers.test.ts b/packages/account/src/providers/transaction-request/helpers.test.ts index 7759f1ac903..e4dc9cfc3da 100644 --- a/packages/account/src/providers/transaction-request/helpers.test.ts +++ b/packages/account/src/providers/transaction-request/helpers.test.ts @@ -1,7 +1,9 @@ import { getRandomB256, Address } from '@fuel-ts/address'; import { ZeroBytes32 } from '@fuel-ts/address/configs'; +import { ErrorCode, FuelError } from '@fuel-ts/errors'; +import { expectToThrowFuelError } from '@fuel-ts/errors/test-utils'; import { bn } from '@fuel-ts/math'; -import { InputType } from '@fuel-ts/transactions'; +import { InputType, OutputType } from '@fuel-ts/transactions'; import { generateFakeCoin, generateFakeMessageCoin } from '../../test-utils/resources'; import { @@ -20,6 +22,8 @@ import { getAssetAmountInRequestInputs, cacheRequestInputsResources, cacheRequestInputsResourcesFromOwner, + getBurnableAssetCount, + validateTransactionForAssetBurn, } from './helpers'; import { ScriptTransactionRequest } from './script-transaction-request'; @@ -196,5 +200,122 @@ describe('helpers', () => { expect(cached.messages).toStrictEqual([input3.nonce]); }); }); + + describe('getBurnableAssetCount', () => { + it('should get the number of burnable assets [0]', () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), // Will be a `baseAssetId` + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), + ]; + request.outputs = [ + { type: OutputType.Change, assetId: baseAssetId, to: owner.toB256() }, + { type: OutputType.Change, assetId: ASSET_A, to: owner.toB256() }, + { type: OutputType.Change, assetId: ASSET_B, to: owner.toB256() }, + ]; + const expectedBurnableAssets = 0; + + const burnableAssets = getBurnableAssetCount(baseAssetId, request); + + expect(burnableAssets).toBe(expectedBurnableAssets); + }); + + it('should get the number of burnable coins [2]', () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), // Burnable asset - will be a `baseAssetId` + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), // Burnable asset + ]; + request.outputs = [{ type: OutputType.Change, assetId: ASSET_A, to: owner.toB256() }]; + const expectedBurnableAssets = 2; + + const burnableAssets = getBurnableAssetCount(baseAssetId, request); + + expect(burnableAssets).toBe(expectedBurnableAssets); + }); + }); + + describe('validateTransactionForAssetBurn', () => { + it('should successfully validate transactions without burnable assets [enableAssetBurn=false]', () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), + ]; + request.outputs = [ + { type: OutputType.Change, assetId: baseAssetId, to: owner.toB256() }, + { type: OutputType.Change, assetId: ASSET_A, to: owner.toB256() }, + { type: OutputType.Change, assetId: ASSET_B, to: owner.toB256() }, + ]; + const enableAssetBurn = false; + + expect(() => + validateTransactionForAssetBurn(baseAssetId, request, enableAssetBurn) + ).not.toThrow(); + }); + + it('should throw an error if transaction has burnable assets [enableAssetBurn=false]', async () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), + ]; + request.outputs = [{ type: OutputType.Change, assetId: ASSET_A, to: owner.toB256() }]; + const enableAssetBurn = false; + + await expectToThrowFuelError( + () => validateTransactionForAssetBurn(baseAssetId, request, enableAssetBurn), + new FuelError( + ErrorCode.ASSET_BURN_DETECTED, + [ + `Asset burn detected.`, + `Add the relevant change outputs to the transaction to avoid burning assets.`, + `Or enable asset burn, upon sending the transaction.`, + ].join('\n') + ) + ); + }); + + it('should successfully validate transactions with burnable assets [enableAssetBurn=true]', () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), + ]; + request.outputs = []; + const enableAssetBurn = true; + + expect(() => + validateTransactionForAssetBurn(baseAssetId, request, enableAssetBurn) + ).not.toThrow(); + }); + + it('should validate asset burn by default [enableAssetBurn=undefined]', async () => { + const request = new ScriptTransactionRequest(); + request.inputs = [ + generateFakeRequestInputMessage(), + generateFakeRequestInputCoin({ assetId: ASSET_A, owner: owner.toB256() }), + generateFakeRequestInputCoin({ assetId: ASSET_B, owner: owner.toB256() }), + ]; + request.outputs = []; + + await expectToThrowFuelError( + () => validateTransactionForAssetBurn(baseAssetId, request), + new FuelError( + ErrorCode.ASSET_BURN_DETECTED, + [ + `Asset burn detected.`, + `Add the relevant change outputs to the transaction to avoid burning assets.`, + `Or enable asset burn, upon sending the transaction.`, + ].join('\n') + ) + ); + }); + }); }); }); diff --git a/packages/account/src/providers/transaction-request/helpers.ts b/packages/account/src/providers/transaction-request/helpers.ts index 98424041cfd..175f2e75cc7 100644 --- a/packages/account/src/providers/transaction-request/helpers.ts +++ b/packages/account/src/providers/transaction-request/helpers.ts @@ -1,6 +1,7 @@ import type { Address } from '@fuel-ts/address'; +import { ErrorCode, FuelError } from '@fuel-ts/errors'; import { bn } from '@fuel-ts/math'; -import { InputType } from '@fuel-ts/transactions'; +import { InputType, OutputType } from '@fuel-ts/transactions'; import type { ExcludeResourcesOption } from '../resource'; @@ -9,6 +10,7 @@ import type { CoinTransactionRequestInput, MessageTransactionRequestInput, } from './input'; +import type { TransactionRequest } from './types'; export const isRequestInputCoin = ( input: TransactionRequestInput @@ -93,3 +95,62 @@ export const cacheRequestInputsResourcesFromOwner = ( messages: [], } as Required ); + +/** + * @hidden + * + * Get the number of burnable assets in the transaction request. + * + * @param baseAssetId - The base asset ID. + * @param transactionRequest - The transaction request to get the burnable asset count from. + * @returns The number of burnable assets in the transaction request. + */ +export const getBurnableAssetCount = ( + baseAssetId: string, + transactionRequest: TransactionRequest +) => { + const { inputs, outputs } = transactionRequest; + const coinInputs = new Set(inputs.filter(isRequestInputCoin).map((input) => input.assetId)); + // If there is a message input without data, we need to add the base asset to the set + if (inputs.some((i) => isRequestInputMessage(i) && bn(i.amount).gt(0))) { + coinInputs.add(baseAssetId); + } + const changeOutputs = new Set( + outputs.filter((output) => output.type === OutputType.Change).map((output) => output.assetId) + ); + const difference = new Set([...coinInputs].filter((x) => !changeOutputs.has(x))); + return difference.size; +}; + +/** + * @hidden + * + * Validates the transaction request for asset burn. + * + * @param transactionRequest - The transaction request to validate. + * @param enableAssetBurn - Whether asset burn is enabled (default: false). + * + * @throws `FuelError` when an asset burn is detected and not enabled. + */ +export const validateTransactionForAssetBurn = ( + baseAssetId: string, + transactionRequest: TransactionRequest, + enableAssetBurn: boolean = false +) => { + // Asset burn is enabled + if (enableAssetBurn === true) { + return; + } + + // No burnable assets detected + if (getBurnableAssetCount(baseAssetId, transactionRequest) <= 0) { + return; + } + + const message = [ + 'Asset burn detected.', + 'Add the relevant change outputs to the transaction to avoid burning assets.', + 'Or enable asset burn, upon sending the transaction.', + ].join('\n'); + throw new FuelError(ErrorCode.ASSET_BURN_DETECTED, message); +}; diff --git a/packages/account/src/providers/transaction-request/script-transaction-request.ts b/packages/account/src/providers/transaction-request/script-transaction-request.ts index c7251cdcce0..e00a1b942e8 100644 --- a/packages/account/src/providers/transaction-request/script-transaction-request.ts +++ b/packages/account/src/providers/transaction-request/script-transaction-request.ts @@ -70,13 +70,13 @@ export class ScriptTransactionRequest extends BaseTransactionRequest { } /** - * Helper function to fund the transaction request with a specified account. + * Helper function to estimate and fund the transaction request with a specified account. * * @param account - The account to fund the transaction. * @param params - The parameters for the transaction cost. * @returns The current instance of the `ScriptTransactionRequest` funded. */ - async autoCost( + async estimateAndFund( account: Account, { signatureCallback, quantities = [] }: TransactionCostParams = {} ): Promise { diff --git a/packages/account/src/providers/transaction-response/transaction-response.ts b/packages/account/src/providers/transaction-response/transaction-response.ts index 1b02a5cec38..64c106c672b 100644 --- a/packages/account/src/providers/transaction-response/transaction-response.ts +++ b/packages/account/src/providers/transaction-response/transaction-response.ts @@ -36,6 +36,7 @@ import type Provider from '../provider'; import type { JsonAbisFromAllCalls, TransactionRequest } from '../transaction-request'; import { assembleTransactionSummary } from '../transaction-summary/assemble-transaction-summary'; import { processGqlReceipt } from '../transaction-summary/receipt'; +import { getTotalFeeFromStatus } from '../transaction-summary/status'; import type { TransactionSummary, GqlTransaction, AbiMap } from '../transaction-summary/types'; import { extractTxError } from '../utils'; @@ -299,7 +300,11 @@ export class TransactionResponse { const { gasPerByte, gasPriceFactor, gasCosts, maxGasPerTx } = await this.provider.getGasConfig(); - const gasPrice = await this.provider.getLatestGasPrice(); + + // If we have the total fee, we do not need to refetch the gas price + const totalFee = getTotalFeeFromStatus(this.status ?? this.gqlTransaction?.status); + const gasPrice = totalFee ? bn(0) : await this.provider.getLatestGasPrice(); + const maxInputs = (await this.provider.getChain()).consensusParameters.txParameters.maxInputs; const baseAssetId = await this.provider.getBaseAssetId(); diff --git a/packages/account/src/providers/transaction-summary/assemble-transaction-summary.test.ts b/packages/account/src/providers/transaction-summary/assemble-transaction-summary.test.ts index ede6df68606..d4ebb2f27a4 100644 --- a/packages/account/src/providers/transaction-summary/assemble-transaction-summary.test.ts +++ b/packages/account/src/providers/transaction-summary/assemble-transaction-summary.test.ts @@ -56,7 +56,8 @@ describe('TransactionSummary', () => { const runTest = ( status: GraphqlTransactionStatus, expected: Record, - baseAssetId: string + baseAssetId: string, + calculateTransactionFeeCalls = 1 ) => { const { calculateTransactionFee } = mockCalculateTransactionFee(); @@ -77,7 +78,7 @@ describe('TransactionSummary', () => { }); expect(transactionSummary).toMatchObject(expected); - expect(calculateTransactionFee).toHaveBeenCalledTimes(1); + expect(calculateTransactionFee).toHaveBeenCalledTimes(calculateTransactionFeeCalls); }; it('should assemble transaction summary just fine (SUCCESS)', async () => { @@ -104,7 +105,7 @@ describe('TransactionSummary', () => { type: expect.any(String), }; - runTest(MOCK_SUCCESS_STATUS, expected, await provider.getBaseAssetId()); + runTest(MOCK_SUCCESS_STATUS, expected, await provider.getBaseAssetId(), 0); }); it('should assemble transaction summary just fine (FAILURE)', async () => { @@ -131,7 +132,7 @@ describe('TransactionSummary', () => { type: expect.any(String), }; - runTest(MOCK_FAILURE_STATUS, expected, await provider.getBaseAssetId()); + runTest(MOCK_FAILURE_STATUS, expected, await provider.getBaseAssetId(), 0); }); it('should assemble transaction summary just fine (SUBMITTED)', async () => { diff --git a/packages/account/src/providers/transaction-summary/assemble-transaction-summary.ts b/packages/account/src/providers/transaction-summary/assemble-transaction-summary.ts index a4c34921117..99785b4bd2a 100644 --- a/packages/account/src/providers/transaction-summary/assemble-transaction-summary.ts +++ b/packages/account/src/providers/transaction-summary/assemble-transaction-summary.ts @@ -79,20 +79,21 @@ export function assembleTransactionSummary( const { isStatusFailure, isStatusPending, isStatusSuccess, blockId, status, time, totalFee } = processGraphqlStatus(gqlTransactionStatus); - const fee = calculateTXFeeForSummary({ - totalFee, - gasPrice, - rawPayload, - tip, - consensusParameters: { - gasCosts, - maxGasPerTx, - feeParams: { - gasPerByte, - gasPriceFactor, + const fee = + totalFee ?? + calculateTXFeeForSummary({ + gasPrice, + rawPayload, + tip, + consensusParameters: { + gasCosts, + maxGasPerTx, + feeParams: { + gasPerByte, + gasPriceFactor, + }, }, - }, - }); + }); const mintedAssets = extractMintedAssetsFromReceipts(receipts); const burnedAssets = extractBurnedAssetsFromReceipts(receipts); diff --git a/packages/account/src/providers/transaction-summary/calculate-tx-fee-for-summary.ts b/packages/account/src/providers/transaction-summary/calculate-tx-fee-for-summary.ts index 8a8c6bb5cfe..1ec23f7b749 100644 --- a/packages/account/src/providers/transaction-summary/calculate-tx-fee-for-summary.ts +++ b/packages/account/src/providers/transaction-summary/calculate-tx-fee-for-summary.ts @@ -25,7 +25,6 @@ export type CalculateTXFeeForSummaryParams = { gasPrice: BN; rawPayload: string; tip: BN; - totalFee?: BN; consensusParameters: Pick & { feeParams: FeeParams; maxGasPerTx: BN; @@ -37,18 +36,9 @@ export const calculateTXFeeForSummary = (params: CalculateTXFeeForSummaryParams) gasPrice, rawPayload, tip, - totalFee, consensusParameters: { gasCosts, feeParams, maxGasPerTx }, } = params; - /** - * If totalFee is provided it means that the TX was already processed and we could extract the fee - * from its status - */ - if (totalFee) { - return totalFee; - } - const gasPerByte = bn(feeParams.gasPerByte); const gasPriceFactor = bn(feeParams.gasPriceFactor); diff --git a/packages/account/src/providers/transaction-summary/get-transaction-summary.ts b/packages/account/src/providers/transaction-summary/get-transaction-summary.ts index 7c8fa136757..a495f41dae8 100644 --- a/packages/account/src/providers/transaction-summary/get-transaction-summary.ts +++ b/packages/account/src/providers/transaction-summary/get-transaction-summary.ts @@ -15,8 +15,8 @@ import { validatePaginationArgs } from '../utils/validate-pagination-args'; import { assembleTransactionSummary } from './assemble-transaction-summary'; import { processGqlReceipt } from './receipt'; +import { getTotalFeeFromStatus } from './status'; import type { AbiMap, TransactionSummary } from './types'; - /** @hidden */ export interface GetTransactionSummaryParams { id: string; @@ -61,7 +61,10 @@ export async function getTransactionSummary( }, } = await provider.getChain(); - const gasPrice = await provider.getLatestGasPrice(); + // If we have the total fee, we do not need to refetch the gas price + const totalFee = getTotalFeeFromStatus(gqlTransaction.status); + const gasPrice = totalFee ? bn(0) : await provider.getLatestGasPrice(); + const baseAssetId = await provider.getBaseAssetId(); const transactionInfo = assembleTransactionSummary({ diff --git a/packages/account/src/providers/transaction-summary/status.test.ts b/packages/account/src/providers/transaction-summary/status.test.ts index 100f73ae199..95c3687039d 100644 --- a/packages/account/src/providers/transaction-summary/status.test.ts +++ b/packages/account/src/providers/transaction-summary/status.test.ts @@ -1,3 +1,5 @@ +import { bn } from '@fuel-ts/math'; + import { MOCK_FAILURE_STATUS, MOCK_SQUEEZEDOUT_STATUS, @@ -5,7 +7,7 @@ import { MOCK_SUCCESS_STATUS, } from '../../../test/fixtures/transaction-summary'; -import { getTransactionStatusName, processGraphqlStatus } from './status'; +import { getTotalFeeFromStatus, getTransactionStatusName, processGraphqlStatus } from './status'; import type { GqlTransactionStatusesNames, GraphqlTransactionStatus } from './types'; import { TransactionStatus } from './types'; @@ -46,6 +48,8 @@ describe('status', () => { blockIdType: 'string', status: TransactionStatus.success, timeType: 'string', + totalFee: bn(1000), + totalGas: bn(1000), }, }, { @@ -58,6 +62,8 @@ describe('status', () => { blockIdType: 'string', status: TransactionStatus.failure, timeType: 'string', + totalFee: bn(1000), + totalGas: bn(1000), }, }, { @@ -95,6 +101,8 @@ describe('status', () => { blockId, status: resultStatus, time, + totalFee, + totalGas, } = processGraphqlStatus(status); expect(isStatusFailure).toBe(expected.isStatusFailure); @@ -103,6 +111,15 @@ describe('status', () => { expect(typeof blockId).toBe(expected.blockIdType); expect(resultStatus).toBe(expected.status); expect(typeof time).toBe(expected.timeType); + expect(totalFee).toStrictEqual(expected.totalFee); + expect(totalGas).toStrictEqual(expected.totalGas); + }); + }); + + statuses.forEach(({ name, status, expected }) => { + it(`should ensure getTotalFeeFromStatus works fine for ${name}`, () => { + const totalFee = getTotalFeeFromStatus(status); + expect(totalFee).toStrictEqual(expected.totalFee); }); }); }); diff --git a/packages/account/src/providers/transaction-summary/status.ts b/packages/account/src/providers/transaction-summary/status.ts index d919c6efb50..4d9d5831e28 100644 --- a/packages/account/src/providers/transaction-summary/status.ts +++ b/packages/account/src/providers/transaction-summary/status.ts @@ -1,6 +1,8 @@ import { ErrorCode, FuelError } from '@fuel-ts/errors'; -import { bn, type BN } from '@fuel-ts/math'; +import type { BN } from '@fuel-ts/math'; +import { bn } from '@fuel-ts/math'; +import { TransactionStatus } from './types'; import type { BlockId, GqlTransactionStatusesNames, @@ -8,7 +10,6 @@ import type { Time, TransactionSummary, } from './types'; -import { TransactionStatus } from './types'; /** @hidden */ export const getTransactionStatusName = (gqlStatus: GqlTransactionStatusesNames) => { @@ -87,3 +88,12 @@ export const processGraphqlStatus = (gqlTransactionStatus?: GraphqlTransactionSt return processedGraphqlStatus; }; + +/** + * Returns the total fee from the transaction status. + * + * @param status - The transaction status. + * @returns The total fee from the transaction status or undefined. + */ +export const getTotalFeeFromStatus = (status?: GraphqlTransactionStatus): BN | undefined => + status && 'totalFee' in status ? bn(status.totalFee) : undefined; diff --git a/packages/account/src/wallet/base-wallet-unlocked.ts b/packages/account/src/wallet/base-wallet-unlocked.ts index 6a7bbdedbd1..da43273c127 100644 --- a/packages/account/src/wallet/base-wallet-unlocked.ts +++ b/packages/account/src/wallet/base-wallet-unlocked.ts @@ -3,7 +3,7 @@ import type { BytesLike } from '@fuel-ts/utils'; import { hexlify } from '@fuel-ts/utils'; import { Account } from '../account'; -import { transactionRequestify } from '../providers'; +import { transactionRequestify, validateTransactionForAssetBurn } from '../providers'; import type { TransactionRequestLike, CallResult, @@ -112,15 +112,20 @@ export class BaseWalletUnlocked extends Account { */ override async sendTransaction( transactionRequestLike: TransactionRequestLike, - { estimateTxDependencies = false }: ProviderSendTxParams = {} + { estimateTxDependencies = false, enableAssetBurn }: ProviderSendTxParams = {} ): Promise { const transactionRequest = transactionRequestify(transactionRequestLike); + validateTransactionForAssetBurn( + await this.provider.getBaseAssetId(), + transactionRequest, + enableAssetBurn + ); if (estimateTxDependencies) { await this.provider.estimateTxDependencies(transactionRequest); } return this.provider.sendTransaction( await this.populateTransactionWitnessesSignature(transactionRequest), - { estimateTxDependencies: false } + { estimateTxDependencies: false, enableAssetBurn } ); } diff --git a/packages/account/test/fixtures/mocked-connector.ts b/packages/account/test/fixtures/mocked-connector.ts index 09932d9a893..e8231278257 100644 --- a/packages/account/test/fixtures/mocked-connector.ts +++ b/packages/account/test/fixtures/mocked-connector.ts @@ -9,6 +9,7 @@ import type { ConnectorMetadata, Network, SelectNetworkArguments, + AccountSendTxParams, } from '../../src'; import { FuelConnector } from '../../src/connectors/fuel-connector'; import { FuelConnectorEventTypes } from '../../src/connectors/types'; @@ -105,12 +106,16 @@ export class MockConnector extends FuelConnector { return wallet.signMessage(_message); } - override async sendTransaction(_address: string, _transaction: TransactionRequestLike) { + override async sendTransaction( + _address: string, + _transaction: TransactionRequestLike, + _params: AccountSendTxParams + ) { const wallet = this._wallets.find((w) => w.address.toString() === _address); if (!wallet) { throw new Error('Wallet is not found!'); } - const { id } = await wallet.sendTransaction(_transaction); + const { id } = await wallet.sendTransaction(_transaction, _params); return id; } diff --git a/packages/account/test/fixtures/transaction-request.ts b/packages/account/test/fixtures/transaction-request.ts index 9e9e7952532..ccc01cafc1c 100644 --- a/packages/account/test/fixtures/transaction-request.ts +++ b/packages/account/test/fixtures/transaction-request.ts @@ -1,5 +1,36 @@ +import type { + ChangeTransactionRequestOutput, + CoinTransactionRequestInput, + CoinTransactionRequestOutput, +} from '../../src'; import { ScriptTransactionRequest } from '../../src/providers/transaction-request/script-transaction-request'; +export const SCRIPT_TX_COIN_REQUEST_INPUT: CoinTransactionRequestInput = { + type: 0, + id: '0x000000000000000000000000000000000000000000000000000000000000000000', + assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', + amount: '0x989680', + owner: '0xf1e92c42b90934aa6372e30bc568a326f6e66a1a0288595e6e3fbd392a4f3e6e', + txPointer: '0x00000000000000000000000000000000', + witnessIndex: 0, + predicate: '0x', + predicateData: '0x', + predicateGasUsed: '0x20', +}; + +export const SCRIPT_TX_COIN_REQUEST_OUTPUT_COIN: CoinTransactionRequestOutput = { + type: 0, + to: '0xc7862855b418ba8f58878db434b21053a61a2025209889cc115989e8040ff077', + assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', + amount: 1, +}; + +export const SCRIPT_TX_COIN_REQUEST_OUTPUT_CHANGE: ChangeTransactionRequestOutput = { + type: 2, + to: '0xc7862855b418ba8f58878db434b21053a61a2025209889cc115989e8040ff077', + assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', +}; + export const SCRIPT_TX_REQUEST = new ScriptTransactionRequest({ gasLimit: 10_000, script: '0x24400000', @@ -8,27 +39,7 @@ export const SCRIPT_TX_REQUEST = new ScriptTransactionRequest({ maxFee: 90000, maturity: 0, witnessLimit: 3000, - inputs: [ - { - type: 0, - id: '0x000000000000000000000000000000000000000000000000000000000000000000', - assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', - amount: '0x989680', - owner: '0xf1e92c42b90934aa6372e30bc568a326f6e66a1a0288595e6e3fbd392a4f3e6e', - txPointer: '0x00000000000000000000000000000000', - witnessIndex: 0, - predicate: '0x', - predicateData: '0x', - predicateGasUsed: '0x20', - }, - ], - outputs: [ - { - type: 0, - to: '0xc7862855b418ba8f58878db434b21053a61a2025209889cc115989e8040ff077', - assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', - amount: 1, - }, - ], + inputs: [SCRIPT_TX_COIN_REQUEST_INPUT], + outputs: [SCRIPT_TX_COIN_REQUEST_OUTPUT_COIN], witnesses: ['0x'], }); diff --git a/packages/account/test/fixtures/wallet-unlocked.ts b/packages/account/test/fixtures/wallet-unlocked.ts index 069c1abf87b..b01b0fbe410 100644 --- a/packages/account/test/fixtures/wallet-unlocked.ts +++ b/packages/account/test/fixtures/wallet-unlocked.ts @@ -29,6 +29,11 @@ export const SCRIPT_TX_REQUEST = new ScriptTransactionRequest({ assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', amount: 1, }, + { + type: 2, + to: '0xc7862855b418ba8f58878db434b21053a61a2025209889cc115989e8040ff077', + assetId: '0x0000000000000000000000000000000000000000000000000000000000000000', + }, ], witnesses: ['0x'], }); @@ -39,4 +44,4 @@ export const PUBLIC_KEY = export const ADDRESS = '0xf1e92c42b90934aa6372e30bc568a326f6e66a1a0288595e6e3fbd392a4f3e6e'; export const HASHED_TX = '0x48ee795d94ea9562a3dbb9979cb44bb3dfd341eb755c378b14a3cd6886189980'; export const SIGNED_TX = - '0xbcc4d4988bf698ce45406e71112470ace2a6136bddf7dc1df87bfcc13d6a712ca82fa109cb697d02b14c3a6123fa0e06f4741aa0ee76f86cb26afac38ac493cb'; + '0x77d03430d2d68853da9b1ebeb1be84a08ea3ea54a55a374b40063181ff8a3b502ca00b15becc1621f4f250e80a5cfb596647c2ef2d50296ff2b8e4f1120b9c9f'; diff --git a/packages/account/test/fuel-wallet-connector.test.ts b/packages/account/test/fuel-wallet-connector.test.ts index 3bc9acf861c..46917e9cf86 100644 --- a/packages/account/test/fuel-wallet-connector.test.ts +++ b/packages/account/test/fuel-wallet-connector.test.ts @@ -8,10 +8,10 @@ import type { BytesLike } from '@fuel-ts/utils'; import { TESTNET_NETWORK_URL } from '@internal/utils'; import { EventEmitter } from 'events'; -import type { Network, ProviderOptions, SelectNetworkArguments } from '../src'; +import type { AccountSendTxParams, Network, ProviderOptions, SelectNetworkArguments } from '../src'; import { Fuel } from '../src/connectors/fuel'; import { FuelConnectorEventType } from '../src/connectors/types'; -import { Provider, TransactionStatus } from '../src/providers'; +import { Provider, ScriptTransactionRequest, TransactionStatus } from '../src/providers'; import { setupTestProviderAndWallets, TestMessage } from '../src/test-utils'; import { Wallet } from '../src/wallet'; @@ -669,4 +669,39 @@ describe('Fuel Connector', () => { new FuelError(ErrorCode.INVALID_PROVIDER, 'Provider is not valid.') ); }); + + it('should ensure sendTransaction works just fine', async () => { + using launched = await setupTestProviderAndWallets(); + const { + provider, + wallets: [connectorWallet], + } = launched; + const connector = new MockConnector({ + wallets: [connectorWallet], + }); + const fuel = await new Fuel({ + connectors: [connector], + }); + + const sendTransactionSpy = vi.spyOn(connectorWallet, 'sendTransaction'); + + const request = new ScriptTransactionRequest(); + const resources = await connectorWallet.getResourcesToSpend([ + { assetId: await provider.getBaseAssetId(), amount: 1000 }, + ]); + request.addResources(resources); + await request.estimateAndFund(connectorWallet); + + const params: AccountSendTxParams = { + onBeforeSend: vi.fn(), + skipCustomFee: true, + }; + const response = await fuel.sendTransaction( + connectorWallet.address.toString(), + request, + params + ); + expect(response).toBeDefined(); + expect(sendTransactionSpy).toHaveBeenCalledWith(request, params); + }); }); diff --git a/packages/address/CHANGELOG.md b/packages/address/CHANGELOG.md index e151d8ef0e0..97b9a6f765b 100644 --- a/packages/address/CHANGELOG.md +++ b/packages/address/CHANGELOG.md @@ -1,5 +1,24 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 4ccc628: chore!: remove Bech32 address + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/address/package.json b/packages/address/package.json index cc0e67919da..6951f57d735 100644 --- a/packages/address/package.json +++ b/packages/address/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/address", - "version": "0.97.2", + "version": "0.98.0", "description": "Utilities for encoding and decoding addresses", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/contract/CHANGELOG.md b/packages/contract/CHANGELOG.md index 2a19a86a13d..4bc06177c6a 100644 --- a/packages/contract/CHANGELOG.md +++ b/packages/contract/CHANGELOG.md @@ -1,5 +1,45 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 458b7cf: feat!: making `provider` initialization `sync` again + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- 68ef74d: chore: remove unused deps + update knip config +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [68821a9] +- Updated dependencies [458b7cf] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/program@0.98.0 + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/merkle@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/contract/package.json b/packages/contract/package.json index e6f1baefdf3..950ab5d0471 100644 --- a/packages/contract/package.json +++ b/packages/contract/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/contract", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", @@ -49,7 +49,6 @@ "@fuel-ts/program": "workspace:*", "@fuel-ts/transactions": "workspace:*", "@fuel-ts/utils": "workspace:*", - "@fuel-ts/versions": "workspace:*", "@fuels/vm-asm": "0.58.2", "ramda": "0.30.1" }, diff --git a/packages/create-fuels/CHANGELOG.md b/packages/create-fuels/CHANGELOG.md index a2e267d10d8..cd966c2a96e 100644 --- a/packages/create-fuels/CHANGELOG.md +++ b/packages/create-fuels/CHANGELOG.md @@ -1,5 +1,28 @@ # create-fuels +## 0.98.0 + +### Minor Changes + +- 458b7cf: feat!: making `provider` initialization `sync` again + +### Patch Changes + +- c6895b6: chore: bumped `@fuels/*` deps to `0.36.1` +- 4c5da1d: fix: test ui script in package's json +- 12e801e: chore: dependency pinning and auditing +- e8a8c71: feat: auto-detect package manager in `create fuels` +- 10612b2: fix: resolve `punycode` deprecation notice +- 9b52153: chore: added `useBaseAssetId` hook to templates +- 68ef74d: chore: remove unused deps + update knip config +- Updated dependencies [12e801e] +- Updated dependencies [04ca73e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/versions@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/create-fuels/package.json b/packages/create-fuels/package.json index 8f4ec4dcef9..0efdda7d250 100644 --- a/packages/create-fuels/package.json +++ b/packages/create-fuels/package.json @@ -1,6 +1,6 @@ { "name": "create-fuels", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "bin": { diff --git a/packages/crypto/CHANGELOG.md b/packages/crypto/CHANGELOG.md index dd2a6872dd1..190876ec705 100644 --- a/packages/crypto/CHANGELOG.md +++ b/packages/crypto/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- 68ef74d: chore: remove unused deps + update knip config +- Updated dependencies [12e801e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/utils@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 7dc4ac5dbe7..70514f9f56d 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/crypto", - "version": "0.97.2", + "version": "0.98.0", "description": "Utilities for encrypting and decrypting data", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", @@ -29,7 +29,6 @@ "license": "Apache-2.0", "dependencies": { "@fuel-ts/errors": "workspace:*", - "@fuel-ts/math": "workspace:*", "@fuel-ts/utils": "workspace:*", "@noble/hashes": "1.5.0" } diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index dd79980d0ae..18cc3fcf239 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -1,5 +1,16 @@ # @fuel-ts/errors +## 0.98.0 + +### Patch Changes + +- 4ccc628: chore!: remove Bech32 address +- 08a31d8: feat!: prevent implicit asset burn +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [04ca73e] + - @fuel-ts/versions@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/errors/package.json b/packages/errors/package.json index db553956a45..1985d7aec15 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/errors", - "version": "0.97.2", + "version": "0.98.0", "description": "Error class and error codes that the fuels-ts library throws", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/errors/src/error-codes.ts b/packages/errors/src/error-codes.ts index 67a3eb64ff3..a016b719ae3 100644 --- a/packages/errors/src/error-codes.ts +++ b/packages/errors/src/error-codes.ts @@ -87,6 +87,8 @@ export enum ErrorCode { FUNDS_TOO_LOW = 'funds-too-low', MAX_OUTPUTS_EXCEEDED = 'max-outputs-exceeded', MAX_COINS_REACHED = 'max-coins-reached', + ASSET_BURN_DETECTED = 'asset-burn-detected', + // receipt INVALID_RECEIPT_TYPE = 'invalid-receipt-type', diff --git a/packages/fuel-gauge/fuels.config.ts b/packages/fuel-gauge/fuels.config.ts index 016d6327b74..121075f5e4b 100644 --- a/packages/fuel-gauge/fuels.config.ts +++ b/packages/fuel-gauge/fuels.config.ts @@ -6,4 +6,5 @@ export default createConfig({ forcBuildFlags: ['--release'], forcPath: 'fuels-forc', fuelCorePath: 'fuels-core', + fuelCorePort: 0, }); diff --git a/packages/fuel-gauge/package.json b/packages/fuel-gauge/package.json index 68460c1b76a..b9f041e03d0 100644 --- a/packages/fuel-gauge/package.json +++ b/packages/fuel-gauge/package.json @@ -5,9 +5,8 @@ "description": "", "author": "Fuel Labs (https://fuel.network/)", "scripts": { - "pretest": "run-s build:forc build:process-predicates", - "build:forc": "pnpm fuels build", - "build:process-predicates": "tsx ./scripts/process-predicates.ts", + "pretest": "pnpm build:forc", + "build:forc": "pnpm fuels build --deploy", "type:check": "tsc --noEmit" }, "license": "Apache-2.0", @@ -20,7 +19,6 @@ "@fuel-ts/errors": "workspace:*", "@fuel-ts/merkle": "workspace:*", "@fuel-ts/utils": "workspace:*", - "@internal/forc": "workspace:*", "@internal/utils": "workspace:*" } } diff --git a/packages/fuel-gauge/scripts/process-predicates.ts b/packages/fuel-gauge/scripts/process-predicates.ts deleted file mode 100644 index 51027d27213..00000000000 --- a/packages/fuel-gauge/scripts/process-predicates.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { readFileSync, readdirSync, writeFileSync } from 'fs'; -import { hexlify } from 'fuels'; -import { join } from 'path'; - -const projectsDir = join(__dirname, '../test/fixtures/forc-projects'); - -const files = readdirSync(projectsDir).filter( - (file) => - file.includes('predicate-') && - // TODO @arboleya remove filter - !/input-data/.test(file) -); - -const { log } = console; - -files.forEach((filePath) => { - log('Process predicate: ', filePath); - - const basePath = join(projectsDir, filePath); - const binaryPath = join(basePath, '/out/release/', `${filePath}.bin`); - const binaryTSPath = join(basePath, 'index.ts'); - const bytes = readFileSync(binaryPath); - - // Put hexlified binary in a TS file so it can be imported - const predicateTs = `export default '${hexlify(bytes)}';\n`; - writeFileSync(binaryTSPath, predicateTs); -}); diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index 3bc591c95cd..f9441fe154e 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -233,7 +233,7 @@ describe('Advanced Logging', () => { ]) .getTransactionRequest(); - await request.autoCost(wallet); + await request.estimateAndFund(wallet); const tx = await wallet.sendTransaction(request, { estimateTxDependencies: false }); @@ -307,7 +307,7 @@ describe('Advanced Logging', () => { .addContracts([advancedLogContract, otherAdvancedLogContract]) .getTransactionRequest(); - await request.autoCost(wallet); + await request.estimateAndFund(wallet); const tx = await wallet.sendTransaction(request); diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 3ba9ef618d2..1f7d38cc9a0 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -553,7 +553,7 @@ describe('Contract', () => { const struct = { a: true, b: 1337 }; const invocationScopes = [contract.functions.foo(num), contract.functions.boo(struct)]; const multiCallScope = contract.multiCall(invocationScopes); - const transactionRequest = await multiCallScope.autoCost(); + const transactionRequest = await multiCallScope.fundWithRequiredCoins(); const txRequest = JSON.stringify(transactionRequest); const txRequestParsed = JSON.parse(txRequest); diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index b23168b23c3..876c7ca207f 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -665,7 +665,7 @@ describe('Coverage Contract', { timeout: 15_000 }, () => { request.addCoinOutput(recipient.address, 10, await provider.getBaseAssetId()); - await request.autoCost(sender); + await request.estimateAndFund(sender); const response = await sender.sendTransaction(request); const result = await response.waitForResult(); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 389254c02b4..20ee3b45dcf 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -145,7 +145,7 @@ describe('Fee', () => { request.addCoinOutput(destination2.address, amountToTransfer, ASSET_A); request.addCoinOutput(destination3.address, amountToTransfer, ASSET_B); - await request.autoCost(wallet); + await request.estimateAndFund(wallet); const tx = await wallet.sendTransaction(request); const { fee } = await tx.wait(); diff --git a/packages/fuel-gauge/src/funding-transaction.test.ts b/packages/fuel-gauge/src/funding-transaction.test.ts index 8d9d9329865..fa5b415b31d 100644 --- a/packages/fuel-gauge/src/funding-transaction.test.ts +++ b/packages/fuel-gauge/src/funding-transaction.test.ts @@ -523,7 +523,7 @@ describe('Funding Transactions', () => { ); }, 15_000); - it('funds a script transaction using autoCost', async () => { + it('funds a script transaction using estimateAndFund', async () => { using launched = await launchTestNode(); const { @@ -541,7 +541,7 @@ describe('Funding Transactions', () => { expect(request.maxFee.toNumber()).toBe(0); expect(request.gasLimit.toNumber()).toBe(0); - await request.autoCost(sender); + await request.estimateAndFund(sender); expect(request.inputs.length).toBe(1); expect(request.maxFee.toNumber()).toBeGreaterThan(0); @@ -553,7 +553,7 @@ describe('Funding Transactions', () => { expect(result.isStatusSuccess).toBeTruthy(); }); - it('funds a script tx from contract call using autoCost', async () => { + it('funds a script tx from contract call using estimateAndFund', async () => { using launched = await launchTestNode({ contractsConfigs: [{ factory: CallTestContractFactory }], }); @@ -569,7 +569,7 @@ describe('Funding Transactions', () => { expect(request.maxFee.toNumber()).toBe(0); expect(request.gasLimit.toNumber()).toBe(0); - await request.autoCost(sender); + await request.estimateAndFund(sender); expect(request.inputs.length).toBe(2); expect(request.maxFee.toNumber()).toBeGreaterThan(0); @@ -581,7 +581,7 @@ describe('Funding Transactions', () => { expect(result.isStatusSuccess).toBeTruthy(); }); - it('funds a contract call using autoCost', async () => { + it('funds a contract call using fundWithRequiredCoins', async () => { using launched = await launchTestNode({ contractsConfigs: [{ factory: CallTestContractFactory }], }); @@ -592,7 +592,7 @@ describe('Funding Transactions', () => { } = launched; const scope = await contract.functions.no_params(); - const request = await scope.autoCost(); + const request = await scope.fundWithRequiredCoins(); expect(request.inputs.length).toBe(2); expect(request.maxFee.toNumber()).toBeGreaterThan(0); diff --git a/packages/fuel-gauge/src/network.test.ts b/packages/fuel-gauge/src/network.test.ts new file mode 100644 index 00000000000..f38becdb9ee --- /dev/null +++ b/packages/fuel-gauge/src/network.test.ts @@ -0,0 +1,151 @@ +import type { BaseWalletUnlocked, ContractTransferParams, ReceiptTransfer } from 'fuels'; +import { Provider, ReceiptType, Wallet } from 'fuels'; + +import { + CoverageContract, + CoverageContractFactory, + PredicateWithConfigurable, + ScriptMainArgs, + StorageTestContract, + StorageTestContractFactory, +} from '../test/typegen'; + +/** + * @group network + */ +describe('network', () => { + const timeout = 1000 * 50; // 50 seconds + + let contractId1: string; + let contractId2: string; + let provider: Provider; + let wallet: BaseWalletUnlocked; + let baseAssetId: string; + + beforeAll(async () => { + if (!process.env.NETWORK_TEST_URL || !process.env.NETWORK_TEST_PVT_KEY) { + throw new Error('Please provide NETWORK_TEST_URL and NETWORK_TEST_PVT_KEY in the .env file'); + } + + provider = new Provider(process.env.NETWORK_TEST_URL); + wallet = Wallet.fromPrivateKey(process.env.NETWORK_TEST_PVT_KEY, provider); + baseAssetId = await provider.getBaseAssetId(); + }); + + it('should deploy contracts just fine', { timeout }, async () => { + const { waitForResult } = await StorageTestContractFactory.deploy(wallet); + const { contract: contract1, transactionResult: transactionResult1 } = await waitForResult(); + + const { waitForResult: waitForResult2 } = await CoverageContractFactory.deploy(wallet); + const { contract: contract2, transactionResult: transactionResult2 } = await waitForResult2(); + + expect(transactionResult1.isStatusSuccess).toBeTruthy(); + expect(transactionResult2.isStatusSuccess).toBeTruthy(); + + contractId1 = contract1.id.toB256(); + contractId2 = contract2.id.toB256(); + }); + + it('should transfer to contracts just fine', { timeout }, async () => { + const contractTransferParams: ContractTransferParams[] = [ + { + contractId: contractId1, + amount: 1, + assetId: baseAssetId, + }, + { + contractId: contractId2, + amount: 3, + assetId: baseAssetId, + }, + { + contractId: contractId1, + amount: 2, + assetId: baseAssetId, + }, + ]; + + const submit = await wallet.batchTransferToContracts(contractTransferParams); + const { receipts } = await submit.waitForResult(); + + const transferReceipts = receipts.filter( + ({ type }) => type === ReceiptType.Transfer + ) as ReceiptTransfer[]; + + expect(transferReceipts.length).toBe(contractTransferParams.length); + + contractTransferParams.forEach(({ amount, contractId, assetId = baseAssetId }) => { + const foundReceipt = transferReceipts.find( + (r) => r.amount.eq(amount) && r.to === contractId && r.assetId === assetId + ); + + expect(foundReceipt).toBeDefined(); + }); + }); + + it('should execute contract call just fine', { timeout }, async () => { + const contract = new StorageTestContract(contractId1, wallet); + + const call = await contract.functions.initialize_counter(1).call(); + const { transactionResult } = await call.waitForResult(); + + expect(transactionResult.isStatusSuccess).toBeTruthy(); + }); + + it('should execute contract multi-call just fine', { timeout }, async () => { + const contract1 = new StorageTestContract(contractId1, wallet); + const contract2 = new CoverageContract(contractId2, wallet); + + const call = await contract1 + .multiCall([ + contract1.functions.increment_counter(2), + contract1.functions.counter(), + contract2.functions.echo_bool(true), + ]) + .call(); + + const { transactionResult } = await call.waitForResult(); + + expect(transactionResult.isStatusSuccess).toBeTruthy(); + }); + + it('should deploy contract as blob and execute it just fine', { timeout }, async () => { + const factory = new StorageTestContractFactory(wallet); + const { waitForResult } = await factory.deployAsBlobTx(); + const { contract } = await waitForResult(); + + const call = await contract.functions.initialize_counter(1).call(); + const { transactionResult } = await call.waitForResult(); + + expect(transactionResult.isStatusSuccess).toBeTruthy(); + }); + + it('should deploy script as blob and execute it just fine', { timeout }, async () => { + const script = new ScriptMainArgs(wallet); + const { waitForResult } = await script.deploy(wallet); + const scriptAsBlob = await waitForResult(); + + const call = await scriptAsBlob.functions.main(100).call(); + + const { transactionResult } = await call.waitForResult(); + expect(transactionResult.isStatusSuccess).toBeTruthy(); + }); + + it('should deploy predicate as blob and use it just fine', { timeout }, async () => { + const predicate = new PredicateWithConfigurable({ + provider, + configurableConstants: { FEE: 10, ADDRESS: wallet.address.toB256() }, + data: [10, wallet.address.toB256()], + }); + const { waitForResult } = await predicate.deploy(wallet); + const predicateAsBlob = await waitForResult(); + + const transfer = await wallet.transfer(predicateAsBlob.address, 800, baseAssetId); + await transfer.waitForResult(); + + const transfer2 = await predicateAsBlob.transfer(wallet.address, 100, baseAssetId); + const { isStatusSuccess } = await transfer2.waitForResult(); + + expect(isStatusSuccess).toBeTruthy(); + }); +}); diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index ca28ae37e3d..3ab86e37480 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -127,7 +127,7 @@ describe('Policies', () => { txRequest.addCoinOutput(receiver.address, 500, await provider.getBaseAssetId()); - await txRequest.autoCost(wallet); + await txRequest.estimateAndFund(wallet); const tx = await wallet.sendTransaction(txRequest); diff --git a/packages/fuel-gauge/src/predicate/utils/predicate/fundAccount.ts b/packages/fuel-gauge/src/predicate/utils/predicate/fundAccount.ts index 16492231b70..b138d00e4d9 100644 --- a/packages/fuel-gauge/src/predicate/utils/predicate/fundAccount.ts +++ b/packages/fuel-gauge/src/predicate/utils/predicate/fundAccount.ts @@ -14,7 +14,7 @@ export const fundAccount = async ( request.addCoinOutput(accountToBeFunded.address, new BN(amount).div(utxosAmount), baseAssetId); } - await request.autoCost(fundedAccount); + await request.estimateAndFund(fundedAccount); const submit = await fundedAccount.sendTransaction(request); await submit.waitForResult(); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 7bb2921f2f3..0c23ca56492 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -211,7 +211,7 @@ describe('Revert Error Testing', () => { ]) .getTransactionRequest(); - await request.autoCost(wallet); + await request.estimateAndFund(wallet); const tx = await wallet.sendTransaction(request, { estimateTxDependencies: false, diff --git a/packages/fuel-gauge/src/transaction-response.test.ts b/packages/fuel-gauge/src/transaction-response.test.ts index 4ca32f8c800..2aae403ebf3 100644 --- a/packages/fuel-gauge/src/transaction-response.test.ts +++ b/packages/fuel-gauge/src/transaction-response.test.ts @@ -71,6 +71,107 @@ function getSubscriptionStreamFromFetch(streamHolder: { stream: ReadableStream { + beforeEach(() => { + vi.resetAllMocks(); + }); + + it('builds tx response from active sendAndAwaitStatus subscription', async () => { + using launched = await launchTestNode(); + + const { + provider, + wallets: [adminWallet], + } = launched; + + const submitAndAwaitStatusSpy = vi.spyOn(provider.operations, 'submitAndAwaitStatus'); + const statusChangeSpy = vi.spyOn(provider.operations, 'statusChange'); + const getTransactionWithReceiptsSpy = vi.spyOn( + provider.operations, + 'getTransactionWithReceipts' + ); + + const transferTx = await adminWallet.transfer( + Wallet.generate().address, + 100, + await provider.getBaseAssetId() + ); + const result = await transferTx.waitForResult(); + + expect(transferTx.id).toEqual(result.id); + expect(result.receipts.length).toBe(2); + + expect(submitAndAwaitStatusSpy).toHaveBeenCalledTimes(1); // sends tx and gets result + expect(statusChangeSpy).toHaveBeenCalledTimes(0); // we already have the status + expect(getTransactionWithReceiptsSpy).toHaveBeenCalledTimes(0); // we already have the raw tx + }); + + it('builds tx response from transaction ID', async () => { + using launched = await launchTestNode(); + + const { + provider, + wallets: [adminWallet], + } = launched; + + const submitAndAwaitStatusSpy = vi.spyOn(provider.operations, 'submitAndAwaitStatus'); + const statusChangeSpy = vi.spyOn(provider.operations, 'statusChange'); + const getTransactionWithReceiptsSpy = vi.spyOn( + provider.operations, + 'getTransactionWithReceipts' + ); + + const transferTx = await adminWallet.transfer( + Wallet.generate().address, + 100, + await provider.getBaseAssetId() + ); + const response = new TransactionResponse(transferTx.id, provider, await provider.getChainId()); + const result = await response.waitForResult(); + + expect(transferTx.id).toEqual(result.id); + expect(result.receipts.length).toBe(2); + + expect(submitAndAwaitStatusSpy).toHaveBeenCalledTimes(1); // sends tx + expect(statusChangeSpy).toHaveBeenCalledTimes(1); // awaits result (can get receipts) + expect(getTransactionWithReceiptsSpy).toHaveBeenCalledTimes(1); // gets raw transaction and receipts + }); + + it('builds tx response from transaction request instance', async () => { + using launched = await launchTestNode(); + + const { + provider, + wallets: [adminWallet], + } = launched; + + const submitAndAwaitStatusSpy = vi.spyOn(provider.operations, 'submitAndAwaitStatus'); + const statusChangeSpy = vi.spyOn(provider.operations, 'statusChange'); + const getTransactionWithReceiptsSpy = vi.spyOn( + provider.operations, + 'getTransactionWithReceipts' + ); + + const transferTxRequest = await adminWallet.createTransfer( + Wallet.generate().address, + 100, + await provider.getBaseAssetId() + ); + const transferTx = await adminWallet.sendTransaction(transferTxRequest); + const response = new TransactionResponse( + transferTxRequest, + provider, + await provider.getChainId() + ); + const result = await response.waitForResult(); + + expect(transferTx.id).toEqual(result.id); + expect(result.receipts.length).toBe(2); + + expect(submitAndAwaitStatusSpy).toHaveBeenCalledTimes(1); // sends tx + expect(statusChangeSpy).toHaveBeenCalledTimes(1); // awaits result and gets receipts + expect(getTransactionWithReceiptsSpy).toHaveBeenCalledTimes(0); // we already have raw tx + }); + it('should ensure create method waits till a transaction response is given', async () => { using launched = await launchTestNode(); @@ -239,7 +340,7 @@ describe('TransactionResponse', () => { request.addCoinOutput(Wallet.generate(), 100, await provider.getBaseAssetId()); - await request.autoCost(genesisWallet); + await request.estimateAndFund(genesisWallet); request.updateWitnessByOwner( genesisWallet.address, @@ -286,7 +387,7 @@ describe('TransactionResponse', () => { request.addCoinOutput(Wallet.generate(), 100, await provider.getBaseAssetId()); - await request.autoCost(genesisWallet, { + await request.estimateAndFund(genesisWallet, { signatureCallback: (tx) => tx.addAccountWitnesses(genesisWallet), }); @@ -306,4 +407,58 @@ describe('TransactionResponse', () => { ); } ); + + it('builds response and awaits result [uses fee from status]', async () => { + using launched = await launchTestNode(); + + const { + provider, + wallets: [genesisWallet], + } = launched; + + const getLatestGasPriceSpy = vi.spyOn(provider, 'getLatestGasPrice'); + + const request = new ScriptTransactionRequest(); + request.addCoinOutput(Wallet.generate(), 100, await provider.getBaseAssetId()); + await request.estimateAndFund(genesisWallet); + + const tx = await genesisWallet.sendTransaction(request); + const result = await tx.waitForResult(); + + // fee is used from the success status, latest gas price not needed + expect(getLatestGasPriceSpy).toHaveBeenCalledTimes(0); + expect(result.fee.toNumber()).toBeGreaterThan(0); + expect(result.id).toBe(tx.id); + }); + + it('builds response and assembles result [fetches gas price then uses fee]', async () => { + using launched = await launchTestNode({ + nodeOptions: { + args: ['--poa-instant', 'false', '--poa-interval-period', '2sec'], + }, + }); + + const { + provider, + wallets: [genesisWallet], + } = launched; + + const getLatestGasPriceSpy = vi.spyOn(provider, 'getLatestGasPrice'); + + const request = new ScriptTransactionRequest(); + request.addCoinOutput(Wallet.generate(), 100, await provider.getBaseAssetId()); + await request.estimateAndFund(genesisWallet); + + const tx = await genesisWallet.sendTransaction(request); + const result = await tx.assembleResult(); + + // tx has not settled so response will fetch the gas price + expect(getLatestGasPriceSpy).toHaveBeenCalledTimes(1); + expect(result.id).toBe(tx.id); + + const finalisedResult = await tx.waitForResult(); + expect(finalisedResult.fee.toNumber()).toBeGreaterThan(0); + expect(getLatestGasPriceSpy).toHaveBeenCalledTimes(1); + expect(finalisedResult.id).toBe(tx.id); + }); }); diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index f1b64360585..5a771ff81be 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -238,7 +238,7 @@ describe('TransactionSummary', () => { gasLimit: 10000, }); - await request.autoCost(sender); + await request.estimateAndFund(sender); const transactionRequest = await sender.populateTransactionWitnessesSignature(request); @@ -772,7 +772,7 @@ describe('TransactionSummary', () => { }); }); - await request.autoCost(wallet); + await request.estimateAndFund(wallet); const tx = await wallet.sendTransaction(request); diff --git a/packages/fuel-gauge/src/transaction.test.ts b/packages/fuel-gauge/src/transaction.test.ts index 91f97dcd0b6..00cd03bc597 100644 --- a/packages/fuel-gauge/src/transaction.test.ts +++ b/packages/fuel-gauge/src/transaction.test.ts @@ -1,5 +1,15 @@ -import { hexlify, InputMessageCoder, sleep, TransactionType } from 'fuels'; -import { launchTestNode, TestMessage } from 'fuels/test-utils'; +import type { CoinTransactionRequestInput, MessageTransactionRequestInput } from 'fuels'; +import { + FuelError, + hexlify, + InputMessageCoder, + InputType, + isMessage, + ScriptTransactionRequest, + sleep, + TransactionType, +} from 'fuels'; +import { ASSET_A, expectToThrowFuelError, launchTestNode, TestMessage } from 'fuels/test-utils'; import { CallTestContractFactory } from '../test/typegen'; @@ -64,7 +74,7 @@ describe('Transaction', () => { const request = await contract.functions.foo(10).getTransactionRequest(); request.addMessageInput(message); - await request.autoCost(fundedWallet); + await request.estimateAndFund(fundedWallet); const tx = await fundedWallet.sendTransaction(request); @@ -115,7 +125,7 @@ describe('Transaction', () => { const request = await contract.functions.foo(10).getTransactionRequest(); request.addMessageInput(message); - await request.autoCost(fundedWallet); + await request.estimateAndFund(fundedWallet); const tx = await fundedWallet.sendTransaction(request); @@ -129,4 +139,182 @@ describe('Transaction', () => { expect(isStatusSuccess).toBeTruthy(); expect(status.state).toBe('SPENT'); }); + + it('should allow an asset burn when enabled (Coin)', async () => { + const { + wallets: [sender], + } = await launchTestNode(); + + const request = new ScriptTransactionRequest(); + + // Add a coin input, which adds the relevant coin change output + const { coins } = await sender.getCoins(ASSET_A); + const [coin] = coins; + const { id, owner, amount, assetId, predicate, predicateData } = coin; + const coinInput: CoinTransactionRequestInput = { + id, + type: InputType.Coin, + owner: owner.toB256(), + amount, + assetId, + txPointer: '0x00000000000000000000000000000000', + witnessIndex: request.getCoinInputWitnessIndexByOwner(owner) ?? request.addEmptyWitness(), + predicate, + predicateData, + }; + request.inputs.push(coinInput); + + await request.estimateAndFund(sender); + + const tx = await sender.sendTransaction(request, { + enableAssetBurn: true, + }); + const { isStatusSuccess } = await tx.waitForResult(); + expect(isStatusSuccess).toEqual(true); + expect(request.outputs).to.not.contain( + expect.objectContaining({ + assetId: coinInput.assetId, + }) + ); + }); + + it('should throw an error when an asset burn is detected (Coin)', async () => { + const { + wallets: [sender], + } = await launchTestNode(); + + const request = new ScriptTransactionRequest(); + + // Add a coin input, without any output change + const { coins } = await sender.getCoins(ASSET_A); + const [coin] = coins; + const { id, owner, amount, assetId, predicate, predicateData } = coin; + const coinInput: CoinTransactionRequestInput = { + id, + type: InputType.Coin, + owner: owner.toB256(), + amount, + assetId, + txPointer: '0x00000000000000000000000000000000', + witnessIndex: request.getCoinInputWitnessIndexByOwner(owner) ?? request.addEmptyWitness(), + predicate, + predicateData, + }; + request.inputs.push(coinInput); + + const expectedErrorMessage = [ + 'Asset burn detected.', + 'Add the relevant change outputs to the transaction to avoid burning assets.', + 'Or enable asset burn, upon sending the transaction.', + ].join('\n'); + await expectToThrowFuelError( + () => sender.sendTransaction(request), + new FuelError(FuelError.CODES.ASSET_BURN_DETECTED, expectedErrorMessage) + ); + expect(request.outputs).to.not.contain( + expect.objectContaining({ + assetId: coinInput.assetId, + }) + ); + }); + + it('should allow an asset burn when enabled (MessageCoin)', async () => { + const testMessage = new TestMessage({ + amount: 100_000, + }); + + const { + provider, + wallets: [owner], + } = await launchTestNode({ + walletsConfig: { + amountPerCoin: 0, + messages: [testMessage], + }, + }); + + const request = new ScriptTransactionRequest(); + + const resources = await owner.getResourcesToSpend([ + { assetId: await provider.getBaseAssetId(), amount: 100 }, + ]); + const [message] = resources.filter((r) => isMessage(r)); + + // Add a message coin input, which adds the relevant coin change output + const { sender, recipient, amount, nonce } = message; + const coinInput: MessageTransactionRequestInput = { + type: InputType.Message, + sender: sender.toB256(), + recipient: recipient.toB256(), + amount, + nonce, + witnessIndex: request.getCoinInputWitnessIndexByOwner(owner) ?? request.addEmptyWitness(), + }; + request.inputs.push(coinInput); + + await request.estimateAndFund(owner); + + const tx = await owner.sendTransaction(request, { + enableAssetBurn: true, + }); + const { isStatusSuccess } = await tx.waitForResult(); + expect(isStatusSuccess).toEqual(true); + expect(request.outputs).to.not.contain( + expect.objectContaining({ + assetId: await provider.getBaseAssetId(), + }) + ); + }); + + it('should throw an error when an asset burn is detected (MessageCoin)', async () => { + const testMessage = new TestMessage({ + amount: 100_000, + }); + + const { + provider, + wallets: [owner], + } = await launchTestNode({ + walletsConfig: { + amountPerCoin: 0, + messages: [testMessage], + }, + }); + + const request = new ScriptTransactionRequest(); + + const resources = await owner.getResourcesToSpend([ + { assetId: await provider.getBaseAssetId(), amount: 100 }, + ]); + const [message] = resources.filter((r) => isMessage(r)); + + // Add a message coin input, without any output change + const { sender, recipient, amount, nonce } = message; + const coinInput: MessageTransactionRequestInput = { + type: InputType.Message, + sender: sender.toB256(), + recipient: recipient.toB256(), + amount, + nonce, + witnessIndex: request.getCoinInputWitnessIndexByOwner(owner) ?? request.addEmptyWitness(), + }; + request.inputs.push(coinInput); + + await request.estimateAndFund(owner); + + const expectedErrorMessage = [ + 'Asset burn detected.', + 'Add the relevant change outputs to the transaction to avoid burning assets.', + 'Or enable asset burn, upon sending the transaction.', + ].join('\n'); + await expectToThrowFuelError( + () => owner.sendTransaction(request), + new FuelError(FuelError.CODES.ASSET_BURN_DETECTED, expectedErrorMessage) + ); + expect(request.outputs).to.not.contain( + expect.objectContaining({ + assetId: await provider.getBaseAssetId(), + }) + ); + }); }); diff --git a/packages/fuels/CHANGELOG.md b/packages/fuels/CHANGELOG.md index a16c9e42e40..0b5f353a536 100644 --- a/packages/fuels/CHANGELOG.md +++ b/packages/fuels/CHANGELOG.md @@ -1,5 +1,56 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 458b7cf: feat!: making `provider` initialization `sync` again +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package + +### Patch Changes + +- 981b992: docs: improving getting started docs for `mainnet` +- 12e801e: chore: dependency pinning and auditing +- 11fcd7b: fix: paths and globals in `fuels init` +- 0fb6fa8: feat: add support for `--fuel-core-port` flag in `fuels init` +- f293646: fix: usage of `providerUrl` in `fuels dev` command +- a278e71: fix: unable to kill `fuels dev` with `pnpm` +- 68ef74d: chore: remove unused deps + update knip config +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [04ca73e] +- Updated dependencies [68821a9] +- Updated dependencies [458b7cf] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-typegen@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/contract@0.98.0 + - @fuel-ts/versions@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/program@0.98.0 + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/script@0.98.0 + - @fuel-ts/recipes@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/fuels/package.json b/packages/fuels/package.json index 7c93489405b..d22bfe12ee3 100644 --- a/packages/fuels/package.json +++ b/packages/fuels/package.json @@ -1,6 +1,6 @@ { "name": "fuels", - "version": "0.97.2", + "version": "0.98.0", "description": "Fuel TS SDK", "author": "Fuel Labs (https://fuel.network/)", "bin": { @@ -71,7 +71,6 @@ "@fuel-ts/errors": "workspace:*", "@fuel-ts/hasher": "workspace:*", "@fuel-ts/math": "workspace:*", - "@fuel-ts/merkle": "workspace:*", "@fuel-ts/program": "workspace:*", "@fuel-ts/script": "workspace:*", "@fuel-ts/transactions": "workspace:*", diff --git a/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts index 234a68831df..4ac14d20d7e 100644 --- a/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts +++ b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts @@ -25,9 +25,7 @@ export const autoStartFuelCore = async (config: FuelsConfig) => { const port = config.fuelCorePort ?? (await getPortPromise({ port: 4000 })); - const providerUrl = `http://${accessIp}:${port}/v1/graphql`; - - const { cleanup, snapshotDir } = await launchNode({ + const { cleanup, url, snapshotDir } = await launchNode({ args: [ ['--snapshot', config.snapshotDir], ['--db-type', 'in-memory'], @@ -45,7 +43,7 @@ export const autoStartFuelCore = async (config: FuelsConfig) => { bindIp, accessIp, port, - providerUrl, + providerUrl: url, snapshotDir, killChildProcess: cleanup, }; diff --git a/packages/fuels/test/features/dev.test.ts b/packages/fuels/test/features/dev.test.ts index a03d97dfba1..aaafe035873 100644 --- a/packages/fuels/test/features/dev.test.ts +++ b/packages/fuels/test/features/dev.test.ts @@ -1,4 +1,8 @@ +import { deferPromise } from '@fuel-ts/account'; +import { spawn } from 'child_process'; import * as chokidar from 'chokidar'; +import { join } from 'path'; +import { cwd } from 'process'; import * as buildMod from '../../src/cli/commands/build/index'; import * as deployMod from '../../src/cli/commands/deploy/index'; @@ -77,4 +81,48 @@ describe('dev', () => { expect(watch).toHaveBeenCalledTimes(2); expect(on).toHaveBeenCalledTimes(2); }); + + test('`dev` command can work with ephemeral port 0', { timeout: 25000 }, async () => { + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + forcPath: paths.forcPath, + fuelCorePath: paths.fuelCorePath, + fuelCorePort: '0', + }); + + const devProcess = spawn(`pnpm fuels dev --path ${paths.root}`, { + shell: 'bash', + /** + * pnpm fuels dev fails because the test is run in the root directory + * and there is no `fuels` dependency in `package.json` there, + * so we have to give the spawn a cwd which has `fuels` as a dependency. + */ + cwd: join(cwd(), 'packages/fuel-gauge'), + }); + + const nodeLaunched = deferPromise(); + + const graphQLStartSubstring = 'Binding GraphQL provider to'; + + devProcess.stdout.on('data', (chunk) => { + const text: string = chunk.toString(); + if (text.indexOf(graphQLStartSubstring) !== -1) { + const rows = text.split('\n'); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const rowWithUrl = rows.find((row) => row.indexOf(graphQLStartSubstring) !== -1)!; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const [, port] = rowWithUrl.split(' ').at(-1)!.trim().split(':'); // e.g. "2024-02-13T12:31:44.445844Z INFO new{name=fuel-core}: fuel_core::graphql_api::service: 216: Binding GraphQL provider to 127.0.0.1:35039" + + nodeLaunched.resolve(port); + } + }); + + const nodePort = await nodeLaunched.promise; + + expect(nodePort).not.toBe('0'); + // we verify it not to be the default port + expect(nodePort).not.toBe('4000'); + }); }); diff --git a/packages/hasher/CHANGELOG.md b/packages/hasher/CHANGELOG.md index 60ad637670d..c62872cc844 100644 --- a/packages/hasher/CHANGELOG.md +++ b/packages/hasher/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/crypto@0.98.0 + - @fuel-ts/utils@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/hasher/package.json b/packages/hasher/package.json index a438d54b60a..e3fff8ca85d 100644 --- a/packages/hasher/package.json +++ b/packages/hasher/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/hasher", - "version": "0.97.2", + "version": "0.98.0", "description": "Sha256 hash utility for Fuel", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index b5b247aec7f..daeb1da4882 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -1,5 +1,21 @@ # @fuel-ts/logger +## 0.98.0 + +### Minor Changes + +- 4ccc628: chore!: remove Bech32 address + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [4ccc628] +- Updated dependencies [0b4c3ab] + - @fuel-ts/address@0.98.0 + - @fuel-ts/math@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/logger/package.json b/packages/logger/package.json index 1284e908896..0208da4fade 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/logger", - "version": "0.97.2", + "version": "0.98.0", "author": "Fuel Labs (https://fuel.network/)", "description": "A logger for the Fuel-TS ecosystem", "main": "dist/index.js", diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index 15251b648ad..5adb308795e 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/math/package.json b/packages/math/package.json index 2d49d315d4e..a0ba535b603 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/math", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/merkle/CHANGELOG.md b/packages/merkle/CHANGELOG.md index 191e9bef232..9e69051695f 100644 --- a/packages/merkle/CHANGELOG.md +++ b/packages/merkle/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- Updated dependencies [12e801e] +- Updated dependencies [0b4c3ab] + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/math@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/merkle/package.json b/packages/merkle/package.json index ffd4260a45f..3b568671309 100644 --- a/packages/merkle/package.json +++ b/packages/merkle/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/merkle", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/program/CHANGELOG.md b/packages/program/CHANGELOG.md index bee88abf9c8..84089bcac6b 100644 --- a/packages/program/CHANGELOG.md +++ b/packages/program/CHANGELOG.md @@ -1,5 +1,43 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 13977df: docs!: optimizing frontend apps +- 458b7cf: feat!: making `provider` initialization `sync` again +- 254bf53: chore!: remove receipts deprecated properties +- 8d8452e: feat!: `autoCost` for transaction estimation and funding + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [68821a9] +- Updated dependencies [458b7cf] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/program/package.json b/packages/program/package.json index 038ca0c1c6c..bac64bd1b55 100644 --- a/packages/program/package.json +++ b/packages/program/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/program", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/program/src/functions/base-invocation-scope.ts b/packages/program/src/functions/base-invocation-scope.ts index 38cb769a153..118ad9944b2 100644 --- a/packages/program/src/functions/base-invocation-scope.ts +++ b/packages/program/src/functions/base-invocation-scope.ts @@ -242,7 +242,7 @@ export class BaseInvocationScope { * * @returns The invocation scope as a funded transaction request. */ - async autoCost(): Promise { + async fundWithRequiredCoins(): Promise { let transactionRequest = await this.getTransactionRequest(); transactionRequest = clone(transactionRequest); @@ -371,7 +371,7 @@ export class BaseInvocationScope { }> { assert(this.program.account, 'Wallet is required!'); - const transactionRequest = await this.autoCost(); + const transactionRequest = await this.fundWithRequiredCoins(); const response = (await this.program.account.sendTransaction(transactionRequest, { estimateTxDependencies: false, @@ -405,7 +405,7 @@ export class BaseInvocationScope { 'An unlocked wallet is required to simulate a contract call.' ); } - const transactionRequest = await this.autoCost(); + const transactionRequest = await this.fundWithRequiredCoins(); const callResult = await this.program.account.simulateTransaction(transactionRequest, { estimateTxDependencies: false, diff --git a/packages/recipes/CHANGELOG.md b/packages/recipes/CHANGELOG.md index 9d00300254e..b8a0c34a09d 100644 --- a/packages/recipes/CHANGELOG.md +++ b/packages/recipes/CHANGELOG.md @@ -1,5 +1,42 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 458b7cf: feat!: making `provider` initialization `sync` again + +### Patch Changes + +- 4ccc628: chore!: remove Bech32 address +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [68821a9] +- Updated dependencies [458b7cf] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] +- Updated dependencies [68ef74d] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-typegen@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/contract@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/program@0.98.0 + - @fuel-ts/utils@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/recipes/package.json b/packages/recipes/package.json index 7de02b277d2..41246099cac 100644 --- a/packages/recipes/package.json +++ b/packages/recipes/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/recipes", - "version": "0.97.2", + "version": "0.98.0", "description": "Recipes for Sway Programs", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/script/CHANGELOG.md b/packages/script/CHANGELOG.md index d80f0fcc9b4..2bccbf1408f 100644 --- a/packages/script/CHANGELOG.md +++ b/packages/script/CHANGELOG.md @@ -1,5 +1,41 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 458b7cf: feat!: making `provider` initialization `sync` again + +### Patch Changes + +- 13977df: docs!: optimizing frontend apps +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- 68ef74d: chore: remove unused deps + update knip config +- Updated dependencies [12e801e] +- Updated dependencies [d5a696c] +- Updated dependencies [13977df] +- Updated dependencies [68821a9] +- Updated dependencies [458b7cf] +- Updated dependencies [a7eb9b6] +- Updated dependencies [254bf53] +- Updated dependencies [f132203] +- Updated dependencies [8d8452e] +- Updated dependencies [0f138cd] +- Updated dependencies [d404734] +- Updated dependencies [f2407dc] +- Updated dependencies [4ccc628] +- Updated dependencies [75fae34] +- Updated dependencies [a278e71] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/transactions@0.98.0 + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/account@0.98.0 + - @fuel-ts/program@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/script/package.json b/packages/script/package.json index 92d4b60d6de..5f394a66908 100644 --- a/packages/script/package.json +++ b/packages/script/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/script", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", @@ -29,7 +29,6 @@ "dependencies": { "@fuel-ts/abi-coder": "workspace:*", "@fuel-ts/account": "workspace:*", - "@fuel-ts/address": "workspace:*", "@fuel-ts/errors": "workspace:*", "@fuel-ts/math": "workspace:*", "@fuel-ts/program": "workspace:*", diff --git a/packages/script/src/script.test.ts b/packages/script/src/script.test.ts index 70bf1655b5a..b00ebe04f37 100644 --- a/packages/script/src/script.test.ts +++ b/packages/script/src/script.test.ts @@ -36,7 +36,7 @@ const callScript = async ( // Keep a list of coins we need to input to this transaction - await request.autoCost(account); + await request.estimateAndFund(account); const response = await account.sendTransaction(request); const transactionResult = await response.waitForResult(); const result = script.decodeCallResult(transactionResult); diff --git a/packages/transactions/CHANGELOG.md b/packages/transactions/CHANGELOG.md index 5c7b2003627..25e96fd1df7 100644 --- a/packages/transactions/CHANGELOG.md +++ b/packages/transactions/CHANGELOG.md @@ -1,5 +1,28 @@ # Change Log +## 0.98.0 + +### Minor Changes + +- 254bf53: chore!: remove receipts deprecated properties +- f132203: chore!: remove receipt coders + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [a7eb9b6] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/abi-coder@0.98.0 + - @fuel-ts/address@0.98.0 + - @fuel-ts/hasher@0.98.0 + - @fuel-ts/utils@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 014f1b97166..e5902bd7195 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/transactions", - "version": "0.97.2", + "version": "0.98.0", "description": "", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index f3c9b37db4f..ea0c45c561e 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @fuel-ts/utils +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 0b4c3ab: chore!: redistributed the `@fuel-ts/interfaces` package +- Updated dependencies [12e801e] +- Updated dependencies [04ca73e] +- Updated dependencies [4ccc628] +- Updated dependencies [08a31d8] +- Updated dependencies [0b4c3ab] + - @fuel-ts/versions@0.98.0 + - @fuel-ts/math@0.98.0 + - @fuel-ts/errors@0.98.0 + ## 0.97.2 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index 1bfdf81420e..dbc5bbe960c 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/utils", - "version": "0.97.2", + "version": "0.98.0", "description": "Utilities (and test utilities) collection", "author": "Fuel Labs (https://fuel.network/)", "main": "dist/index.js", diff --git a/packages/versions/CHANGELOG.md b/packages/versions/CHANGELOG.md index 2ac7d0c98b0..4c454543d86 100644 --- a/packages/versions/CHANGELOG.md +++ b/packages/versions/CHANGELOG.md @@ -1,5 +1,12 @@ # @fuel-ts/versions +## 0.98.0 + +### Patch Changes + +- 12e801e: chore: dependency pinning and auditing +- 04ca73e: chore: upgrade `fuel-core` to `0.40.2` + ## 0.97.2 ### Patch Changes diff --git a/packages/versions/package.json b/packages/versions/package.json index 37ae36cfcca..69552a7032d 100644 --- a/packages/versions/package.json +++ b/packages/versions/package.json @@ -1,6 +1,6 @@ { "name": "@fuel-ts/versions", - "version": "0.97.2", + "version": "0.98.0", "description": "Validates supported versions of the Fuel toolchain", "author": "Fuel Labs (https://fuel.network/)", "bin": { diff --git a/packages/versions/src/lib/getBuiltinVersions.ts b/packages/versions/src/lib/getBuiltinVersions.ts index 6ae6a7fd314..ad9bc0b08f2 100644 --- a/packages/versions/src/lib/getBuiltinVersions.ts +++ b/packages/versions/src/lib/getBuiltinVersions.ts @@ -4,6 +4,6 @@ export function getBuiltinVersions(): Versions { return { FORC: '0.66.5', FUEL_CORE: '0.40.2', - FUELS: '0.97.2', + FUELS: '0.98.0', }; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff67cfff6c3..f5df73164cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,12 +69,6 @@ importers: '@vitest/coverage-istanbul': specifier: 2.0.5 version: 2.0.5(vitest@2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0)) - autocannon: - specifier: 7.15.0 - version: 7.15.0 - clinic: - specifier: 13.0.0 - version: 13.0.0 compare-versions: specifier: 6.1.1 version: 6.1.1 @@ -121,8 +115,8 @@ importers: specifier: 10.4.5 version: 10.4.5 knip: - specifier: 5.30.6 - version: 5.30.6(@types/node@22.5.5)(typescript@5.6.3) + specifier: 5.41.1 + version: 5.41.1(@types/node@22.5.5)(typescript@5.6.3) markdown-link-check: specifier: 3.12.2 version: 3.12.2 @@ -185,19 +179,13 @@ importers: dependencies: '@fuels/connectors': specifier: 0.36.1 - version: 0.36.1(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(fuels@packages+fuels)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) + version: 0.36.1(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(fuels@packages+fuels)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) '@fuels/react': specifier: 0.36.1 version: 0.36.1(@tanstack/react-query@5.55.4(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.11)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: 5.55.4 version: 5.55.4(react@18.3.1) - '@wagmi/connectors': - specifier: 5.1.14 - version: 5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': - specifier: 2.13.9 - version: 2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -271,12 +259,6 @@ importers: apps/demo-bun-fuels: dependencies: - '@fuel-ts/account': - specifier: workspace:* - version: link:../../packages/account - '@fuel-ts/errors': - specifier: workspace:* - version: link:../../packages/errors fuels: specifier: workspace:* version: link:../../packages/fuels @@ -287,12 +269,6 @@ importers: apps/demo-fuels: dependencies: - '@fuel-ts/account': - specifier: workspace:* - version: link:../../packages/account - '@fuel-ts/errors': - specifier: workspace:* - version: link:../../packages/errors fuels: specifier: workspace:* version: link:../../packages/fuels @@ -352,7 +328,7 @@ importers: version: 18.3.0 eslint-config-react-app: specifier: 7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.3.3))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + version: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) fuels: specifier: workspace:* version: link:../../packages/fuels @@ -364,7 +340,7 @@ importers: version: 18.3.1(react@18.3.1) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.3.3))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10) typescript: specifier: 5.6.3 version: 5.6.3 @@ -428,12 +404,6 @@ importers: specifier: workspace:* version: link:../../packages/fuels devDependencies: - '@fuel-ts/account': - specifier: workspace:* - version: link:../../packages/account - '@fuel-ts/errors': - specifier: workspace:* - version: link:../../packages/errors '@internal/forc': specifier: workspace:* version: link:../../internal/forc @@ -482,7 +452,7 @@ importers: version: 8.4.49 postcss-load-config: specifier: 6.0.1 - version: 6.0.1(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0) + version: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0) tailwindcss: specifier: 3.4.14 version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) @@ -508,12 +478,6 @@ importers: '@types/markdown-it': specifier: 14.1.2 version: 14.1.2 - '@vue/devtools-api': - specifier: 6.6.3 - version: 6.6.3 - flexsearch: - specifier: 0.7.43 - version: 0.7.43 glob: specifier: 10.4.5 version: 10.4.5 @@ -523,9 +487,6 @@ importers: nodemon: specifier: 3.1.7 version: 3.1.7 - replace: - specifier: 1.2.2 - version: 1.2.2 vitepress: specifier: 1.3.4 version: 1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.7)(@types/react@18.3.11)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.49)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.36.0)(typescript@5.6.3) @@ -811,9 +772,6 @@ importers: '@fuel-ts/utils': specifier: workspace:* version: link:../utils - '@fuel-ts/versions': - specifier: workspace:* - version: link:../versions '@fuels/vm-asm': specifier: 0.58.2 version: 0.58.2 @@ -864,9 +822,6 @@ importers: '@fuel-ts/errors': specifier: workspace:* version: link:../errors - '@fuel-ts/math': - specifier: workspace:* - version: link:../math '@fuel-ts/utils': specifier: workspace:* version: link:../utils @@ -901,9 +856,6 @@ importers: '@fuel-ts/utils': specifier: workspace:* version: link:../utils - '@internal/forc': - specifier: workspace:* - version: link:../../internal/forc '@internal/utils': specifier: workspace:* version: link:../../internal/utils @@ -937,9 +889,6 @@ importers: '@fuel-ts/math': specifier: workspace:* version: link:../math - '@fuel-ts/merkle': - specifier: workspace:* - version: link:../merkle '@fuel-ts/program': specifier: workspace:* version: link:../program @@ -1126,9 +1075,6 @@ importers: '@fuel-ts/account': specifier: workspace:* version: link:../account - '@fuel-ts/address': - specifier: workspace:* - version: link:../address '@fuel-ts/errors': specifier: workspace:* version: link:../errors @@ -1212,12 +1158,6 @@ importers: '@tanstack/react-query': specifier: 5.55.4 version: 5.55.4(react@18.3.1) - '@wagmi/connectors': - specifier: 5.1.14 - version: 5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': - specifier: 2.13.9 - version: 2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -1239,9 +1179,6 @@ importers: react-toastify: specifier: 10.0.6 version: 10.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-use: - specifier: 17.5.1 - version: 17.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@playwright/test': specifier: 1.49.1 @@ -1288,12 +1225,6 @@ importers: '@tanstack/react-query': specifier: 5.55.4 version: 5.55.4(react@18.3.1) - '@wagmi/connectors': - specifier: 5.1.14 - version: 5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': - specifier: 2.13.9 - version: 2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -1319,9 +1250,6 @@ importers: '@playwright/test': specifier: 1.49.1 version: 1.49.1 - '@tanstack/router-plugin': - specifier: 1.58.12 - version: 1.58.12(vite@5.4.9(@types/node@22.7.7)(terser@5.36.0))(webpack-sources@3.2.3) '@types/react': specifier: 18.3.11 version: 18.3.11 @@ -1367,11 +1295,6 @@ importers: packages: - 0x@5.7.0: - resolution: {integrity: sha512-oc5lqaJP7lu3C5zx+MRbsigfRlTTUg0LKjFDCr0NmR9g+nkZcR7yRU6jzMOiedSVKZ0p0b4y2TBQ+YYo6O3sZg==} - engines: {node: '>=8.5.0'} - hasBin: true - '@actions/core@1.10.1': resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==} @@ -1473,9 +1396,6 @@ packages: resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} engines: {node: '>=14'} - '@assemblyscript/loader@0.19.23': - resolution: {integrity: sha512-ulkCYfFbYj01ie1MDOyxv2F6SpRN1TOj7fQxbP07D6HmeR+gr2JLSmINKjga2emB+b1L2KGrFKBTc+e00p54nw==} - '@babel/code-frame@7.22.5': resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} @@ -2570,39 +2490,12 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} - '@clinic/bubbleprof@10.0.0': - resolution: {integrity: sha512-7Y0uYO4cz7+Y1advV891uMJLXbZMIriLsV1IHSSVJxmf8tEFm8vogKi/GdYyi4CY0D5heuqOFze/WNrv+U3LRw==} - - '@clinic/clinic-common@7.1.0': - resolution: {integrity: sha512-+e/g1foFFtBqHKc0A9mZkFgH+DiijCT3ZojALGLOgdkzBY3Pun+Oj/FET5xvQWDtJ4RiXWAq4J+odza0NK0aWQ==} - engines: {node: '>= 12.13.0'} - - '@clinic/doctor@11.0.0': - resolution: {integrity: sha512-sfi3etIHDdrziWcG1fOB2XSNIbA+jwnoFNcCwYQxkYG3vh1QUajTur4lZ27YfV1ZsjzLNZAYxV0fOdUin/NJAg==} - - '@clinic/flame@13.0.0': - resolution: {integrity: sha512-3e//olko8YNl0aEUlzVJZybvmIXsmGuwMDxUlF7MKifCes8PICCusTHvuQ1AEIBvP73czbSLrE0xM4lUTWMYpg==} - - '@clinic/heap-profiler@5.0.0': - resolution: {integrity: sha512-1sAU3GuLk6mXGzMn6JGou6bMzP5vTpieZRgk0LVlauVDxq1+vxgiDrSO9Rn0IxHS7spMnHhOB/DigKFY6oci7Q==} - - '@clinic/node-trace-log-join@2.0.0': - resolution: {integrity: sha512-oOXf4Qavmawsg3YCRiGiAwnn8ENItMvfCiXS9sgEk8Iox5pToNRE1hwLwCfn/x2VL8FzJUiJtIcgGA6fJST91Q==} - hasBin: true - - '@clinic/trace-events-parser@2.0.0': - resolution: {integrity: sha512-hXpT4xJED7kW0+BNCSNSFNlYZO0xMYIBbx/lM8kbyW50SemOCk7JP0wEbmYpHNiW1wKT6ICuFaOK742R/w0vTQ==} - '@coinbase/wallet-sdk@3.9.3': resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} '@coinbase/wallet-sdk@4.0.4': resolution: {integrity: sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA==} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -4095,10 +3988,6 @@ packages: resolution: {integrity: sha512-DEWl/B99RQsyMT3F9bvrXuhL01/eIQp/dtNSE3G1jQ4mTGRcP4iHWxoPZ577WrbjUinrNgvRA5+08g8fkPgimQ==} engines: {node: '>= 10'} - '@nearform/heap-profiler@2.0.0': - resolution: {integrity: sha512-846CWyq3Ky5rzcl8Z3S+VT3z6GQSlYD1G/dqbtANu29NUHoCO+W7tOZRK6eA6FjLHnNX0DvP1Mrt2oFBPnkxLw==} - engines: {node: '>= 12.13.0'} - '@next/env@14.2.15': resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} @@ -4861,10 +4750,6 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@sindresorhus/is@0.14.0': - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} - '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -5148,10 +5033,6 @@ packages: '@swc/types@0.1.12': resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} - '@szmarczak/http-timer@1.1.2': - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - '@tanstack/query-core@5.55.4': resolution: {integrity: sha512-uoRqNnRfzOH4OMIoxj8E2+Us89UIGXfau981qYJWsNMkFS1GXR4UIyzUTVGq4N7SDLHgFPpo6IOazqUV5gkMZA==} @@ -5163,39 +5044,6 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/router-generator@1.58.12': - resolution: {integrity: sha512-Ovzb+zCbiRgJAg6awTXWQjn1uRkVyiBc4jiIk7ll2hg0bHjIOsgiegwx/F2YKycY98vWj9TLv/U4Hoo4rmK0IA==} - engines: {node: '>=12'} - - '@tanstack/router-plugin@1.58.12': - resolution: {integrity: sha512-WVR5UupNcvj7lvCrle7CrmHm6aezTG98g3N81oNPaCS0U3cEUaUiNqna0cWk4M4WuzAzUbpbQ81xBapIMc8Thw==} - engines: {node: '>=12'} - peerDependencies: - '@rsbuild/core': '>=1.0.2' - vite: '>=5.0.0' - webpack: '>=5.92.0' - peerDependenciesMeta: - '@rsbuild/core': - optional: true - vite: - optional: true - webpack: - optional: true - - '@tanstack/virtual-file-routes@1.56.0': - resolution: {integrity: sha512-fBUj+lbSaw+VxoBN4J/WFE7dTx8x4XCTRAQvbiIyPJ8MY1KRVkdZV6cbLvg7MeDP6CxUcj6XNvWU6h0ic1Ipyg==} - engines: {node: '>=12'} - - '@tensorflow/tfjs-backend-cpu@3.21.0': - resolution: {integrity: sha512-88S21UAdzyK0CsLUrH17GPTD+26E85OP9CqmLZslaWjWUmBkeTQ5Zqyp6iK+gELnLxPx6q7JsNEeFuPv4254lQ==} - engines: {yarn: '>= 1.3.2'} - peerDependencies: - '@tensorflow/tfjs-core': 3.21.0 - - '@tensorflow/tfjs-core@3.21.0': - resolution: {integrity: sha512-YSfsswOqWfd+M4bXIhT3hwtAb+IV8+ODwIxwdFR/7jTAPZP1wMVnSlpKnXHAN64HFOiP+Tm3HmKusEZ0+09A0w==} - engines: {yarn: '>= 1.3.2'} - '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -5349,9 +5197,6 @@ packages: '@types/jest@29.5.13': resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} - '@types/js-cookie@2.2.7': - resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} - '@types/js-yaml@4.0.5': resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} @@ -5361,9 +5206,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -5373,9 +5215,6 @@ packages: '@types/lodash@4.14.195': resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} - '@types/long@4.0.2': - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - '@types/markdown-it@12.2.3': resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} @@ -5427,9 +5266,6 @@ packages: '@types/node@22.7.7': resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} - '@types/offscreencanvas@2019.3.0': - resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==} - '@types/parse-json@4.0.0': resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -5466,9 +5302,6 @@ packages: '@types/resolve@1.17.1': resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -5478,9 +5311,6 @@ packages: '@types/secp256k1@4.0.6': resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} - '@types/seedrandom@2.4.34': - resolution: {integrity: sha512-ytDiArvrn/3Xk6/vtylys5tlY6eo7Ane0hvcx++TKo6RxQXuVfW0AF/oeWqAj9dN29SyhtawuXstgmPlwNcv/A==} - '@types/semver@7.5.4': resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} @@ -5529,9 +5359,6 @@ packages: '@types/web@0.0.174': resolution: {integrity: sha512-dT8gX38RUQjy+uruZg49EvloEa2S3gR0z2eRi557eTSFKqUSXkSCWYa0IY9uabX9MZPMGOu+1r8Qn6tsvJ1KnQ==} - '@types/webgl-ext@0.0.30': - resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==} - '@types/which@2.0.2': resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} @@ -5861,9 +5688,6 @@ packages: '@vue/compiler-ssr@3.5.12': resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} - '@vue/devtools-api@6.6.3': - resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} - '@vue/devtools-api@7.3.8': resolution: {integrity: sha512-NURFwmxz4WukFU54IHgyGI2KSejdgHG5JC4xTcWmTWEBIc8aelj9fBy4qsboObGHFp3JIdRxxANO9s2wZA/pVQ==} @@ -6291,9 +6115,6 @@ packages: '@webassemblyjs/wast-printer@1.11.6': resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} - '@webgpu/types@0.1.16': - resolution: {integrity: sha512-9E61voMP4+Rze02jlTXud++Htpjyyk8vw5Hyw9FGRrmhHQg2GqbuOfwf5Klrb8vTxc2XWI3EfO7RUHMpxTj26A==} - '@whatwg-node/fetch@0.9.21': resolution: {integrity: sha512-Wt0jPb+04JjobK0pAAN7mEHxVHcGA9HoP3OyCsZtyAecNQeADXCZ1MihFwVwjsgaRYuGVmNlsCmLxlG6mor8Gw==} engines: {node: '>=18.0.0'} @@ -6302,9 +6123,6 @@ packages: resolution: {integrity: sha512-4jXDeZ4IH4bylZ6wu14VEx0aDXXhrN4TC279v9rPmn08g4EYekcYf8wdcOOnS9STjDkb6x77/6xBUTqxGgjr8g==} engines: {node: '>=18.0.0'} - '@xobotyi/scrollbar-width@1.9.5': - resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} - '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -6359,9 +6177,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} @@ -6445,17 +6260,10 @@ packages: anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@3.2.0: - resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} - engines: {node: '>=4'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -6468,14 +6276,6 @@ packages: engines: {'0': node >= 0.8.0} hasBin: true - ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - - ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} - ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -6488,10 +6288,6 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -6511,9 +6307,6 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - any-shell-escape@0.1.1: - resolution: {integrity: sha512-36j4l5HVkboyRhIWgtMh1I9i8LTdFqVwDEHy1cp+QioJyKgAUG40X0W8s7jakWRta/Sjvm8mUG1fU6Tj8mWagQ==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -6572,12 +6365,6 @@ packages: array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - array-flatten@3.0.0: - resolution: {integrity: sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==} - - array-from@2.1.1: - resolution: {integrity: sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==} - array-includes@3.1.8: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} @@ -6620,16 +6407,6 @@ packages: asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - - assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -6679,18 +6456,10 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} - auto-bind@4.0.0: resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} engines: {node: '>=8'} - autocannon@7.15.0: - resolution: {integrity: sha512-NaP2rQyA+tcubOJMFv2+oeW9jv2pq/t+LM6BL3cfJic0HEfscEcnWgAyU5YovE/oTHUzAgTliGdLPR+RQAWUbg==} - hasBin: true - autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -6702,12 +6471,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - - aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - axe-core@4.9.1: resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} engines: {node: '>=4'} @@ -6726,9 +6489,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - babel-dead-code-elimination@1.0.6: - resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} - babel-jest@27.5.1: resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6851,9 +6611,6 @@ packages: batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} @@ -6885,9 +6642,6 @@ packages: birpc@0.2.17: resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} - bit-twiddle@1.0.2: - resolution: {integrity: sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -6916,10 +6670,6 @@ packages: bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -6930,20 +6680,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - brfs@2.0.2: - resolution: {integrity: sha512-IrFjVtwu4eTJZyu8w/V2gxU7iLTtcHih67sgEdzrhjLBMHp2uYefUBfdM4k2UvcuWMgV7PQDZHSLeNWnLFKWVQ==} - hasBin: true - brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - browser-pack@6.1.0: - resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} - hasBin: true - - browser-process-hrtime@0.1.3: - resolution: {integrity: sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==} - browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} @@ -6969,11 +6708,6 @@ packages: browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserify@17.0.0: - resolution: {integrity: sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==} - engines: {node: '>= 0.8'} - hasBin: true - browserslist@4.21.9: resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -7006,10 +6740,6 @@ packages: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} - buffer-equal@0.0.1: - resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} - engines: {node: '>=0.4.0'} - buffer-fill@1.0.0: resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} @@ -7019,9 +6749,6 @@ packages: buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - buffer@5.2.1: - resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -7076,13 +6803,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} - - cached-path-relative@1.1.0: - resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} - caching-transform@4.0.0: resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} engines: {node: '>=8'} @@ -7107,9 +6827,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camel-case@3.0.0: - resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} @@ -7138,12 +6855,6 @@ packages: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - cephes@2.0.0: - resolution: {integrity: sha512-4GMUzkcXHZ0HMZ3gZdBrv8pQs1/zkJh2Q9rQOF8NJZHanM359y3XOSdeqmDBPfxQKYQpJt58R3dUpofrIXJ2mg==} - chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} @@ -7152,10 +6863,6 @@ packages: resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} engines: {node: '>=14.16'} - chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -7189,9 +6896,6 @@ packages: resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} engines: {node: '>=12.20'} - char-spinner@1.0.1: - resolution: {integrity: sha512-acv43vqJ0+N0rD+Uw3pDHSxP30FHrywu2NO6/wBaHChJIizpDeBUd6NjqhNhy9LGaEAhZAXn46QzmlAvIWd16g==} - chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -7246,14 +6950,6 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - - cli-cursor@2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} - cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -7266,10 +6962,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - cli-table@0.3.11: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} @@ -7278,9 +6970,6 @@ packages: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} - cli-width@2.2.1: - resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} - cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -7292,13 +6981,6 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - clinic@13.0.0: - resolution: {integrity: sha512-QAD3cLgA1OqEC7fJSDbAt4U0BKGAK1c5yopN5tu1OtmmsbRHHYxBeSMiElQfuMMdbkAuLEE7HOffZ0hKMzaYVw==} - hasBin: true - - clipboard-copy@4.0.1: - resolution: {integrity: sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==} - clipboardy@4.0.0: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} @@ -7320,9 +7002,6 @@ packages: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -7343,10 +7022,6 @@ packages: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} - code-point-at@1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} @@ -7363,10 +7038,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -7380,9 +7051,6 @@ packages: resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} engines: {node: '>=0.1.90'} - combine-source-map@0.8.0: - resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -7421,9 +7089,6 @@ packages: resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} engines: {node: '>= 12.0.0'} - commist@1.1.0: - resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} - common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} @@ -7452,25 +7117,9 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - - conf@10.2.0: - resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} - engines: {node: '>=12'} - confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} @@ -7503,9 +7152,6 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - convert-source-map@1.1.3: - resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} - convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -7541,9 +7187,6 @@ packages: core-js@3.31.0: resolution: {integrity: sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==} - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -7604,12 +7247,6 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-argv@1.0.0: - resolution: {integrity: sha512-uAVe/bgNHlPdP1VE4Sk08u9pAJ7o1x/tVQtX77T5zlhYhuwOWtVkPBEtHdvF5cq48VzeCG5i1zN4dQc8pwLYrw==} - - cross-argv@2.0.0: - resolution: {integrity: sha512-YIaY9TR5Nxeb8SMdtrU8asWVM4jqJDNDYlKV21LxtYcfNJhp1kEsgSa6qXwXgzN0WQWGODps0+TlGp2xQSHwOg==} - cross-fetch@4.0.0: resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} @@ -7663,9 +7300,6 @@ packages: peerDependencies: postcss: ^8.4 - css-in-js-utils@3.1.0: - resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} - css-loader@6.8.1: resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} @@ -7775,99 +7409,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cwise-compiler@1.1.3: - resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-axis@1.0.12: - resolution: {integrity: sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==} - - d3-color@1.4.1: - resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} - - d3-color@2.0.0: - resolution: {integrity: sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==} - - d3-dispatch@1.0.6: - resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} - - d3-drag@1.2.5: - resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==} - - d3-ease@1.0.7: - resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} - - d3-fg@6.14.0: - resolution: {integrity: sha512-M4QpFZOEvAq4ZDzwabJp2inL+KXS85T2SQl00zWwjnolaCJR+gHxUbT7Ha4GxTeW1NXwzbykhv/38I1fxQqbyg==} - - d3-format@1.4.5: - resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==} - - d3-format@2.0.0: - resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==} - - d3-hierarchy@1.1.9: - resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} - - d3-interpolate@1.4.0: - resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} - - d3-interpolate@2.0.1: - resolution: {integrity: sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-scale@3.3.0: - resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==} - - d3-selection@1.4.2: - resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-time-format@2.3.0: - resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==} - - d3-time@1.1.0: - resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} - - d3-time@2.1.1: - resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==} - - d3-timer@1.0.10: - resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} - - d3-transition@1.3.2: - resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==} - - d3-zoom@1.8.3: - resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==} - - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - - dash-ast@1.0.0: - resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - - dash-ast@2.0.1: - resolution: {integrity: sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==} - - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -7908,10 +7452,6 @@ packages: dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} - debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -7955,10 +7495,6 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} - decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} @@ -7969,10 +7505,6 @@ packages: deep-equal@2.2.1: resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -8003,9 +7535,6 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -8022,9 +7551,6 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - defined@1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -8058,10 +7584,6 @@ packages: deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - deps-sort@2.0.1: - resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} - hasBin: true - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -8106,11 +7628,6 @@ packages: engines: {node: '>= 4.2.1'} hasBin: true - detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -8136,9 +7653,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - distributions@2.2.0: - resolution: {integrity: sha512-n7ybud+CRAOZlpg+ETuA0PTiSBfyVNt8Okns5gSK4NvHwj7RamQoufptOucvVcTn9CV4DZ38p1k6TgwMexUNkQ==} - dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -8172,10 +7686,6 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} - domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} engines: {node: '>=10'} @@ -8211,14 +7721,6 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} @@ -8234,15 +7736,6 @@ packages: resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} engines: {node: '>=4'} - dup@1.0.0: - resolution: {integrity: sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==} - - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - - duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -8255,9 +7748,6 @@ packages: easy-table@1.2.0: resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - eciesjs@0.3.20: resolution: {integrity: sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==} deprecated: Please upgrade to v0.4+ @@ -8331,9 +7821,6 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - endpoint@0.4.5: - resolution: {integrity: sha512-oA2ALUF+d4Y0I8/WMV/0BuAZGHxfIdAygr9ZXP4rfzmp5zpYZmYKHKAbqRQnrE1YGdPhVg4D24CQkyx2qYEoHg==} - engine.io-client@6.5.4: resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} @@ -8364,9 +7851,6 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - env-string@1.0.1: - resolution: {integrity: sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==} - envinfo@7.14.0: resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} @@ -8422,33 +7906,15 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-map@0.1.5: - resolution: {integrity: sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==} - es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - es6-set@0.1.6: - resolution: {integrity: sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==} - engines: {node: '>=0.12'} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -8473,10 +7939,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -8492,11 +7954,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} - hasBin: true - escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -8725,10 +8182,6 @@ packages: jiti: optional: true - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - espree@10.2.0: resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -8758,12 +8211,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-is-function@1.0.0: - resolution: {integrity: sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==} - - estree-is-member-expression@1.0.0: - resolution: {integrity: sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==} - estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} @@ -8802,9 +8249,6 @@ packages: resolution: {integrity: sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==} engines: {node: '>=14.0.0'} - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -8825,10 +8269,6 @@ packages: evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -8837,9 +8277,6 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execspawn@1.0.1: - resolution: {integrity: sha512-s2k06Jy9i8CUkYe0+DxRlvtkZoOkwwfhB+Xxo5HGUtrISVW2m98jO2tr67DGRFxZwkjQqloA3v/tNtjhBRBieg==} - exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -8859,12 +8296,6 @@ packages: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -8885,10 +8316,6 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} @@ -8932,9 +8359,6 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-shallow-equal@1.0.0: - resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - fast-stable-stringify@1.0.0: resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} @@ -8942,9 +8366,6 @@ packages: resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} hasBin: true - fastest-stable-stringify@2.0.2: - resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -8971,10 +8392,6 @@ packages: fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - figures@2.0.0: - resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} - engines: {node: '>=4'} - figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -9039,9 +8456,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flame-gradient@1.0.0: - resolution: {integrity: sha512-9ejk16/DqvQJ4dHsh68W/4N0zmVQ60zukyUuEHrTbf5pJvP4JqlIdke86Z9174PZokRCXAntY5+H1txSyC7mUA==} - flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -9050,9 +8464,6 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flatstr@1.0.12: - resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} - flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -9089,9 +8500,6 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - fork-ts-checker-webpack-plugin@6.5.3: resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} @@ -9106,10 +8514,6 @@ packages: vue-template-compiler: optional: true - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -9133,12 +8537,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - from2-string@1.1.0: - resolution: {integrity: sha512-m8vCh+KnXXXBtfF2VUbiYlQ+nczLcntB0BrtNgpmLkHylhObe9WF1b2LZjBBzrZzA6P4mkEla6ZYQoOUTG8cYA==} - - from2@2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - fromentries@1.3.2: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} @@ -9197,19 +8595,10 @@ packages: engines: {node: ^16.13 || >=18 || >=20} hasBin: true - generate-function@2.3.1: - resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} - - generate-object-property@1.2.0: - resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-assigned-identifiers@1.2.0: - resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -9247,10 +8636,6 @@ packages: resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} engines: {node: '>=16'} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -9274,9 +8659,6 @@ packages: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -9305,10 +8687,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} @@ -9348,10 +8726,6 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -9411,25 +8785,9 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - - har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - harmony-reflect@1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} - has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - - has-async-hooks@1.0.0: - resolution: {integrity: sha512-YF0VPGjkxr7AyyQQNykX8zK4PvtEDsUJAPqwu06UFz1lb6EvI53sPh5H1kWxg8NXI5LsfRCZ8uX9NkYDZBb/mw==} - has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -9456,17 +8814,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - - has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - - has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} @@ -9482,13 +8829,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hdr-histogram-js@3.0.0: - resolution: {integrity: sha512-/EpvQI2/Z98mNFYEnlqJ8Ogful8OpArLG/6Tf2bPnkutBVLIeMVNHjk1ZDfshF2BUweipzbk+dB1hgSB7SIakw==} - engines: {node: '>=14'} - - hdr-histogram-percentiles-obj@3.0.0: - resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} - he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -9518,11 +8858,6 @@ packages: hey-listen@1.0.8: resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - hidden-markov-model-tf@4.0.0: - resolution: {integrity: sha512-q8VeBNCyQ5CNsUlbt4T5JXc+pUeKqq7LEGjs4HiH+thgZ2fuyJ9pf/V66ZFx9jZobXkwxVuQRWKZa3TwOFW+zw==} - peerDependencies: - '@tensorflow/tfjs-core': ^3.13.0 - hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -9543,9 +8878,6 @@ packages: hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - hsl-to-rgb-for-reals@1.1.1: - resolution: {integrity: sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==} - html-encoding-sniffer@2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -9570,10 +8902,6 @@ packages: peerDependencies: webpack: ^5.20.0 - htmlescape@1.1.1: - resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} - engines: {node: '>=0.10'} - htmlfy@0.2.1: resolution: {integrity: sha512-HoomFHQ3av1uhq+7FxJTq4Ns0clAD+tGbQNrSd0WFY3UAjjUk6G3LaWEqdgmIXYkY4pexZiyZ3ykZJhQlM0J5A==} @@ -9583,9 +8911,6 @@ packages: htmlparser2@9.1.0: resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} @@ -9625,10 +8950,6 @@ packages: resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} @@ -9643,10 +8964,6 @@ packages: human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -9662,18 +8979,6 @@ packages: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} - hyperid@3.3.0: - resolution: {integrity: sha512-7qhCVT4MJIoEsNcbhglhdmBKb09QtcmJNiIQGq7js/Khf5FtQQ9bzcAuloeqBeee7XD7JqDeve9KNlQya5tSGQ==} - - hyperscript-attribute-to-property@1.0.2: - resolution: {integrity: sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==} - - hyperx@2.5.4: - resolution: {integrity: sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==} - - hyphenate-style-name@1.0.4: - resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} - i18next-browser-languagedetector@7.1.0: resolution: {integrity: sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==} @@ -9741,10 +9046,6 @@ packages: resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} engines: {node: '>=12.2'} - import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -9774,45 +9075,17 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - inline-source-map@0.6.3: - resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} - - inline-style-prefixer@7.0.1: - resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} - - inquirer@6.5.2: - resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} - engines: {node: '>=6.0.0'} - inquirer@8.2.5: resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} engines: {node: '>=12.0.0'} - insert-module-globals@7.2.1: - resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} - hasBin: true - - insight@0.11.1: - resolution: {integrity: sha512-TBcZ0qC9dgdmcxL93OoqkY/RZXJtIi0i07phX/QyYk2ysmJtZex59dgTj4Doq50N9CG9dLRe/RIudc/5CCoFNw==} - engines: {node: '>=12.20'} - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - iota-array@1.0.0: - resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} - ip-address@9.0.5: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} @@ -9836,9 +9109,6 @@ packages: resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} engines: {node: '>=0.10.0'} - is-any-array@2.0.1: - resolution: {integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==} - is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -9861,20 +9131,10 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-attribute@0.0.1: - resolution: {integrity: sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==} - is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -9883,10 +9143,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} @@ -9920,10 +9176,6 @@ packages: is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-fullwidth-code-point@1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - is-fullwidth-code-point@2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} @@ -9949,10 +9201,6 @@ packages: engines: {node: '>=14.16'} hasBin: true - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -9982,10 +9230,6 @@ packages: is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} - is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} - is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -9998,10 +9242,6 @@ packages: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -10021,9 +9261,6 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-property@1.0.2: - resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} - is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -10129,9 +9366,6 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - is64bit@2.0.0: resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} engines: {node: '>=18'} @@ -10175,9 +9409,6 @@ packages: peerDependencies: ws: '*' - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -10449,6 +9680,10 @@ packages: resolution: {integrity: sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -10462,9 +9697,6 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - js-cookie@2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -10476,9 +9708,6 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} @@ -10516,9 +9745,6 @@ packages: engines: {node: '>=6'} hasBin: true - json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -10541,9 +9767,6 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} @@ -10580,15 +9803,6 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonstream2@3.0.0: - resolution: {integrity: sha512-8ngq2XB8NjYrpe3+Xtl9lFJl6RoV2dNT4I7iyaHwxUpTBwsj0AlAR7epGfeYVP0z4Z7KxMoSxRgJWrd2jmBT/Q==} - engines: {node: '>=5.10.0'} - hasBin: true - - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -10600,9 +9814,6 @@ packages: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} engines: {node: '>=10.0.0'} - keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -10621,17 +9832,14 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - knip@5.30.6: - resolution: {integrity: sha512-YkcnRVl0N99xZ7eaXE7KlH/4cPTCn6BGuk9KxINEdCMFN3yita2vGBizApy97ZOHgghy8tb589gQ3xvLMFIO4w==} + knip@5.41.1: + resolution: {integrity: sha512-yNpCCe2REU7U3VRvMASnXSEtfEC2HmOoDW9Vp9teQ9FktJYnuagvSZD3xWq8Ru7sPABkmvbC5TVWuMzIaeADNA==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: '@types/node': '>=18' typescript: '>=5.0.4' - labeled-stream-splicer@2.0.2: - resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} - language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} @@ -10639,10 +9847,6 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} - latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - launch-editor@2.6.0: resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} @@ -10650,18 +9854,10 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - leven@2.1.0: - resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} - engines: {node: '>=0.10.0'} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -10761,27 +9957,18 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.chunk@4.2.0: - resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} - lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - lodash.flattendeep@4.4.0: resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - lodash.memoize@3.0.4: - resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -10829,9 +10016,6 @@ packages: resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} engines: {node: '>= 0.6.0'} - long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -10842,20 +10026,9 @@ packages: lower-case-first@2.0.2: resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} - lower-case@1.1.4: - resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -10880,16 +10053,6 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - macos-release@2.5.1: - resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==} - engines: {node: '>=6'} - - magic-string@0.23.2: - resolution: {integrity: sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==} - - magic-string@0.25.1: - resolution: {integrity: sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==} - magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -10917,9 +10080,6 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - manage-path@2.0.0: - resolution: {integrity: sha512-NJhyB+PJYTpxhxZJ3lecIGgh4kwIY2RAh44XvAz9UlqthlQwtPBf62uBVR8XaD8CRuSjQ6TnZH2lNJkbLPZM2A==} - map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} @@ -10990,9 +10150,6 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-source-map@1.0.4: - resolution: {integrity: sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -11105,45 +10262,26 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - mini-css-extract-plugin@2.7.6: resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 - minify-stream@2.1.0: - resolution: {integrity: sha512-P5xE4EQRkn7Td54VGcgfDMFx1jmKPPIXCdcMfrbXS6cNHK4dO1LXwtYFb48hHrSmZfT+jlGImvHgSZEkbpNtCw==} - engines: {node: '>= 6'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@3.0.5: - resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -11188,9 +10326,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -11205,44 +10340,9 @@ packages: engines: {node: '>=10'} hasBin: true - ml-array-max@1.2.4: - resolution: {integrity: sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==} - - ml-array-min@1.2.3: - resolution: {integrity: sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==} - - ml-array-rescale@1.3.7: - resolution: {integrity: sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==} - - ml-distance-euclidean@2.0.0: - resolution: {integrity: sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==} - - ml-kmeans@4.2.1: - resolution: {integrity: sha512-MyXoWfDuoH+eYjPCIvfMXBuQ0K473APoc57oeFSFcGCHPZuppVv8cQKnhxYb8ZDEMN47MgcPtcHmueTeq6JmVQ==} - - ml-matrix@5.3.0: - resolution: {integrity: sha512-DuvdXYwfGRpM+7MVdvi/zSjiazn+8QPrACT3Xi0pQpYx5SXZ1WuFYwUDXTSmV9+hrCxRhrC4hrzesNcfjpvOsw==} - - ml-nearest-vector@2.0.1: - resolution: {integrity: sha512-gMPwNm3eed59ewJYiCK/+wElWBfNoD6JizH965ePiQgCo0pvQL63w4YdZhLs5eUV0iWcq6brVMUBL6iMySHnqg==} - - ml-random@0.5.0: - resolution: {integrity: sha512-zLJBmNb34LOz+vN6BD8l3aYm/VWYWbmAunrLMPs4dHf4gTl8BWlhil72j56HubPg86zrXioIs4qoHq7Topy6tw==} - - ml-xsadd@2.0.0: - resolution: {integrity: sha512-VoAYUqmPRmzKbbqRejjqceGFp3VF81Qe8XXFGU0UXLxB7Mf4GGvyGq5Qn3k4AiQgDEV6WzobqlPOd+j0+m6IrA==} - mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - module-deps@6.2.3: - resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} - engines: {node: '>= 0.8.0'} - hasBin: true - - morphdom@2.7.4: - resolution: {integrity: sha512-ATTbWMgGa+FaMU3FhnFYB6WgulCqwf6opOll4CBzmVDTLvPMmUPrEv8CudmLPK0MESa64+6B89fWOxP3+YIlxQ==} - motion@10.16.2: resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} @@ -11277,12 +10377,6 @@ packages: multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - multistream@2.1.1: - resolution: {integrity: sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==} - - mute-stream@0.0.7: - resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} - mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} @@ -11290,28 +10384,9 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - mutexify@1.4.0: - resolution: {integrity: sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==} - mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nano-css@5.6.2: - resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} - peerDependencies: - react: '*' - react-dom: '*' - - nanoassert@1.1.0: - resolution: {integrity: sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==} - - nanobench@2.1.1: - resolution: {integrity: sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==} - hasBin: true - - nanohtml@1.10.0: - resolution: {integrity: sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==} - nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -11323,33 +10398,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - ndarray-blas-level1@1.1.3: - resolution: {integrity: sha512-g0Qzf+W0J2S/w1GeYlGuFjGRGGE+f+u8x4O8lhBtsrCaf++n/+YLTPKk1tovYmciL3zUePmwi/szoP5oj8zQvg==} - - ndarray-cholesky-factorization@1.0.2: - resolution: {integrity: sha512-8mXl8mMCDgv9plZem0ifolu39hHYu+IchdBX39VWS8X3f4935JDq5uGpxOJr2gXiy7QgY6MglAmoCjyHRWyqlQ==} - - ndarray-crout-decomposition@1.1.0: - resolution: {integrity: sha512-jcww9T/4thrVvBDCk5PivUScolTW1Lu6QWzvrxHMHAhZzTUzznvT/U/xfn40EfseiITLkHlST/0df5pn2yQHUQ==} - - ndarray-determinant@1.0.0: - resolution: {integrity: sha512-fJUlUhFZHwKP0lFsF2Si14dnkXBoiqKVzlv2nsUAcycsjjpuUkJGF0SXLHbRgl1wI6sgordV4P86bJ4ulcR6Yw==} - - ndarray-diagonal@1.0.0: - resolution: {integrity: sha512-r+LgakWgIt9xiRES42fwP6nc3pn4DjGSrs+OCPqiVTxtzCJ2L31KFypcHplSXG008j0IWZt6bx1+ZRbx+aQkfA==} - - ndarray-inv@0.2.0: - resolution: {integrity: sha512-rl+5PMUrP3WCYktFOK3myIiOwA6Q1oQddvQl2TN0tROcTXciCakha0QRMdE5t8ywlkbp1rmIKtWKFrEO7BAEUQ==} - - ndarray-ops@1.2.2: - resolution: {integrity: sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==} - - ndarray-scratch@1.2.0: - resolution: {integrity: sha512-a4pASwB1jQyJcKLYrwrladVfDZDUGc78qLJZbHyb1Q4rhte0URhzc6ALQpBcauwgov0sXLwZz3vYH5jKAhSMIg==} - - ndarray@1.0.19: - resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} - needle@3.3.1: resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} @@ -11366,9 +10414,6 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - next@14.2.15: resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} engines: {node: '>=18.17.0'} @@ -11390,9 +10435,6 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - no-case@2.3.2: - resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -11427,15 +10469,6 @@ packages: node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - node-fetch@2.6.13: - resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -11487,10 +10520,6 @@ packages: resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} hasBin: true - normalize-html-whitespace@0.2.0: - resolution: {integrity: sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==} - engines: {node: '>= 0.10'} - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -11506,10 +10535,6 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -11540,10 +10565,6 @@ packages: nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - number-is-nan@1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - nwsapi@2.2.5: resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} @@ -11552,9 +10573,6 @@ packages: engines: {node: '>=18'} hasBin: true - oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - ob1@0.80.12: resolution: {integrity: sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==} engines: {node: '>=18'} @@ -11630,17 +10648,9 @@ packages: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} - on-net-listen@1.1.2: - resolution: {integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==} - engines: {node: '>=9.4.0 || ^8.9.4'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -11665,14 +10675,6 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - opn@5.5.0: - resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==} - engines: {node: '>=4'} - - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -11688,10 +10690,6 @@ packages: os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - os-name@4.0.1: - resolution: {integrity: sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==} - engines: {node: '>=10'} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -11702,10 +10700,6 @@ packages: outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} - p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -11765,10 +10759,6 @@ packages: package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - package-manager-detector@0.2.2: resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} @@ -11782,9 +10772,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parents@1.0.1: - resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} - parse-asn1@5.1.6: resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} @@ -11856,10 +10843,6 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-platform@0.11.15: - resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} - engines: {node: '>= 0.8.0'} - path-root-regex@0.1.2: resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} engines: {node: '>=0.10.0'} @@ -12156,12 +11139,6 @@ packages: peerDependencies: postcss: ^8.2 - postcss-import@13.0.0: - resolution: {integrity: sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.0.0 - postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -12480,18 +11457,10 @@ packages: preact@10.4.1: resolution: {integrity: sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==} - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -12529,10 +11498,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - pretty-ms@9.1.0: resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} engines: {node: '>=18'} @@ -12575,16 +11540,6 @@ packages: property-expr@2.0.5: resolution: {integrity: sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==} - protocol-buffers-encodings@1.2.0: - resolution: {integrity: sha512-daeNPuKh1NlLD1uDfbLpD+xyUTc07nEtfHwmBZmt/vH0B7VOM+JOCOpDcx9ZRpqHjAiIkGqyTDi+wfGSl17R9w==} - - protocol-buffers-schema@3.6.0: - resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==} - - protocol-buffers@4.2.0: - resolution: {integrity: sha512-hNp56d5uuREVde7UqP+dmBkwzxrhJwYU5nL/mdivyFfkRZdgAgojkyBeU3jKo7ZHrjdSx6Q1CwUmYJI6INt20g==} - hasBin: true - proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -12614,9 +11569,6 @@ packages: pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - pumpify@2.0.1: - resolution: {integrity: sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -12628,10 +11580,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} @@ -12670,10 +11618,6 @@ packages: resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} engines: {node: '>=0.6'} - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - query-selector-shadow-dom@1.0.1: resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} @@ -12705,10 +11649,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quote-stream@1.0.2: - resolution: {integrity: sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==} - hasBin: true - radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -12732,10 +11672,6 @@ packages: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - react-app-polyfill@3.0.0: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} engines: {node: '>=14'} @@ -12849,18 +11785,6 @@ packages: react: '>=18' react-dom: '>=18' - react-universal-interface@0.6.2: - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - - react-use@17.5.1: - resolution: {integrity: sha512-LG/uPEVRflLWMwi3j/sZqR00nF6JGqTTDblkXK2nzXsIvij06hXl1V/MZIlwj1OKIQUtlh1l9jK8gLsRyCQxMg==} - peerDependencies: - react: '*' - react-dom: '*' - react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -12868,9 +11792,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-only-stream@2.0.0: - resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} - read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} @@ -12955,14 +11876,6 @@ packages: resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} engines: {node: '>=4'} - registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - - registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} @@ -12974,9 +11887,6 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true - reinterval@1.1.0: - resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} - relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} @@ -13004,16 +11914,6 @@ packages: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} - replace@1.2.2: - resolution: {integrity: sha512-C4EDifm22XZM2b2JOYe6Mhn+lBsLBAvLbK8drfUQLTfD1KYl/n3VaW/CDju0Ny4w3xTtegBpg8YNSpFJPUDSjA==} - engines: {node: '>= 6'} - hasBin: true - - request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -13028,9 +11928,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -13078,16 +11975,9 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true - responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - resq@1.11.0: resolution: {integrity: sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==} - restore-cursor@2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} - engines: {node: '>=4'} - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -13096,9 +11986,6 @@ packages: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - retimer@3.0.0: - resolution: {integrity: sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==} - retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -13168,9 +12055,6 @@ packages: rpc-websockets@9.0.2: resolution: {integrity: sha512-YzggvfItxMY3Lwuax5rC18inhbjJv9Py7JXRHxTIi94JOLrqBsSsUUc5bbl5W6c11tXhdfpDPK0KzBhoGe8jjw==} - rtl-css-js@1.16.1: - resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} - run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -13182,10 +12066,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -13264,13 +12144,6 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} - scope-analyzer@2.1.2: - resolution: {integrity: sha512-5cfCmsTYV/wPaRIItNxatw02ua/MThdIUNnUOCYp+3LSEJvnG804ANw2VLaavNILIfWXF1D1G2KNANkBBvInwQ==} - - screenfull@5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} - scuid@1.1.0: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} @@ -13281,9 +12154,6 @@ packages: resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} engines: {node: '>=14.0.0'} - seedrandom@3.0.5: - resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} - select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} @@ -13291,10 +12161,6 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -13366,10 +12232,6 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} - set-harmonic-interval@1.0.1: - resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} - engines: {node: '>=6.9'} - setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -13387,12 +12249,6 @@ packages: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} - shallow-copy@0.0.1: - resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==} - - shasum-object@1.0.0: - resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -13415,10 +12271,6 @@ packages: shiki@1.14.1: resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} - showdown@1.9.1: - resolution: {integrity: sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==} - hasBin: true - side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -13433,25 +12285,13 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - signed-varint@2.0.1: - resolution: {integrity: sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==} - signedsource@1.0.0: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - simple-update-notifier@2.0.0: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} - single-line-log@1.1.2: - resolution: {integrity: sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA==} - - sinusoidal-decimal@1.0.0: - resolution: {integrity: sha512-KPUi1ZqLocV64n0AuV+g4VDjAM+tEEY66nUd+rYaVBHIfeheGGUvIxe9bf7Mpc1PonDTVW2uRr9nigQa9odvuA==} - sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} @@ -13487,8 +12327,8 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - smol-toml@1.3.0: - resolution: {integrity: sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==} + smol-toml@1.3.1: + resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} engines: {node: '>= 18'} snake-case@3.0.4: @@ -13517,9 +12357,6 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@1.4.1: - resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} - sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} @@ -13539,10 +12376,6 @@ packages: source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map@0.5.6: - resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} - engines: {node: '>=0.10.0'} - source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -13613,18 +12446,10 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - stack-generator@2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -13635,22 +12460,10 @@ packages: stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - stacktrace-gps@3.1.2: - resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} - - stacktrace-js@2.0.2: - resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} - stacktrace-parser@0.1.10: resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} engines: {node: '>=6'} - static-eval@2.1.1: - resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==} - - static-module@3.0.4: - resolution: {integrity: sha512-gb0v0rrgpBkifXCa3yZXxqVmXDVE+ETXj6YlC/jt5VzOnGXR2C15+++eXuMDUYsePnbhf+lwW0pE1UXyOLtGCw==} - statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -13673,28 +12486,12 @@ packages: stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} - stream-collector@1.0.1: - resolution: {integrity: sha512-b9/C+HonJNmPmdBFGa0aJc9cai07YksAFvmchnSobiIitppiBn6wfAN7rLGEz6fE30Rj9EC/UVkovzoLJTpC5Q==} - - stream-combiner2@1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} - stream-http@3.2.0: resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - stream-splicer@2.0.1: - resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} - - stream-template@0.0.10: - resolution: {integrity: sha512-whIqf/ljJ88dr0z6iNFtJq09rs4R6JxJOnIqGthC3rHFEMYq6ssm4sPYILXEPrFYncMjF39An6MBys1o5BC19w==} - engines: {node: '>=4.0.0'} - - streaming-json-stringify@3.1.0: - resolution: {integrity: sha512-axtfs3BDxAsrZ9swD163FBrXZ8dhJJp6kUI6C97TvUZG9RHKfbg9nFbXqEheFNOb3IYMEt2ag9F62sWLFUZ4ug==} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -13723,14 +12520,6 @@ packages: string-natural-compare@3.0.1: resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} - string-width@1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} - - string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - string-width@3.1.0: resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} engines: {node: '>=6'} @@ -13782,14 +12571,6 @@ packages: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} - strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - - strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} - strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} @@ -13822,10 +12603,6 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -13862,12 +12639,6 @@ packages: peerDependencies: postcss: ^8.2.15 - stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} - - subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - sucrase@3.32.0: resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} @@ -13891,10 +12662,6 @@ packages: resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} engines: {node: '>=14.0.0'} - supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -13944,9 +12711,6 @@ packages: engines: {node: '>=16'} hasBin: true - syntax-error@1.4.0: - resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} - system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} @@ -13954,9 +12718,6 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tachyons@4.12.0: - resolution: {integrity: sha512-2nA2IrYFy3raCM9fxJ2KODRGHVSZNTW3BR0YnlGsLUf1DA3pk3YfWZ/DdfbnZK6zLZS+jUenlUGJsKcA5fUiZg==} - tailwindcss@3.4.14: resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} engines: {node: '>=14.0.0'} @@ -14012,11 +12773,6 @@ packages: uglify-js: optional: true - terser@4.8.1: - resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} - engines: {node: '>=6.0.0'} - hasBin: true - terser@5.18.2: resolution: {integrity: sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==} engines: {node: '>=10'} @@ -14071,19 +12827,9 @@ packages: throat@6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - throttle-debounce@3.0.1: - resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} - engines: {node: '>=10'} - through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - - through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -14094,18 +12840,10 @@ packages: resolution: {integrity: sha512-Kw36UHxJEELq2VUqdaSGR2/8cAsPgMtvX8uGVU6Jk26O66PhXec0A5ZnRYs47btbtwPDpXXF66+Fo3vimCM9aQ==} engines: {node: '>=16'} - timers-browserify@1.4.2: - resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} - engines: {node: '>=0.6.0'} - timers-browserify@2.0.12: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} - timestring@6.0.0: - resolution: {integrity: sha512-wMctrWD2HZZLuIlchlkE2dfXJh7J2KDI9Dwl+2abPYg0mswQHfOAyQW3jJg1pY5VfttSINZuKcXoB3FGypVklA==} - engines: {node: '>=8'} - tiny-case@1.0.3: resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} @@ -14138,10 +12876,6 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -14167,10 +12901,6 @@ packages: resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} hasBin: true - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -14179,9 +12909,6 @@ packages: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} - transform-ast@2.4.4: - resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==} - tree-dump@1.0.2: resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} engines: {node: '>=10.0'} @@ -14201,9 +12928,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-easing@0.2.0: - resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} - ts-essentials@1.0.4: resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==} @@ -14279,15 +13003,9 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - ttest@3.0.0: - resolution: {integrity: sha512-bLo+LdYokiDZHVFIWJmC5afoh7wZ+o1h++0XXKh01+yprzz8CnaiGNcbcbqP0e3+iyDqclLI+rM0j/9AwmRljw==} - tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} @@ -14302,9 +13020,6 @@ packages: cpu: [arm64] os: [darwin] - turbo-json-parse@2.3.0: - resolution: {integrity: sha512-f1CWo4TNqwicXXUAOU5K9RZX6MhEdtOPT+FmgPhiet0a698+46KiXzMHpl8V4fieUa6qXr968uuNbHDSfXjkcQ==} - turbo-linux-64@2.1.2: resolution: {integrity: sha512-fKUBcc0rK8Vdqv5a/E3CSpMBLG1bzwv+Q0Q83F8fG2ZfNCNKGbcEYABdonNZkkx141Rj03cZQFCgxu3MVEGU+A==} cpu: [x64] @@ -14329,20 +13044,10 @@ packages: resolution: {integrity: sha512-Jb0rbU4iHEVQ18An/YfakdIv9rKnd3zUfSE117EngrfWXFHo3RndVH96US3GsT8VHpwTncPePDBT2t06PaFLrw==} hasBin: true - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-component@0.0.1: - resolution: {integrity: sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw==} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -14387,9 +13092,6 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -14406,15 +13108,9 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typedarray-pool@1.2.0: - resolution: {integrity: sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.26.3: resolution: {integrity: sha512-6d2Sw9disvvpdk4K7VNjKr5/3hzijtfQVHRthhDqJgnhMHy1wQz4yPMJVKXElvnZhFr0nkzo+GzjXDTRV5yLpg==} engines: {node: '>= 18'} @@ -14459,10 +13155,6 @@ packages: uint8arrays@3.1.0: resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} - umd@3.0.3: - resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} - hasBin: true - unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -14476,10 +13168,6 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - undeclared-identifiers@1.1.3: - resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} - hasBin: true - undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} @@ -14527,9 +13215,6 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - uniq@1.0.1: - resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} - unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -14561,15 +13246,6 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.14.1: - resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} - engines: {node: '>=14.0.0'} - peerDependencies: - webpack-sources: ^3 - peerDependenciesMeta: - webpack-sources: - optional: true - unquote@1.1.1: resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} @@ -14637,16 +13313,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} - upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} - upper-case@1.1.3: - resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} - upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} @@ -14656,10 +13325,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -14709,15 +13374,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - util-extend@1.0.3: - resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==} - util.promisify@1.0.1: resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} - util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} - util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} @@ -14728,14 +13387,6 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -14778,20 +13429,10 @@ packages: resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} engines: {node: '>=12'} - varint@5.0.0: - resolution: {integrity: sha512-gC13b/bWrqQoKY2EmROCZ+AR0jitc6DnDGaQ6Ls9QpKmuSgJB1eQ7H3KETtQm7qSdMWMKCmsshyCmUwMLh3OAA==} - - varint@5.0.2: - resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} - vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - viem@2.20.1: resolution: {integrity: sha512-a/BSe25TSfkc423GTSKYl1O0ON2J5huoQeOLkylHT1WS8wh3JFqb8nfAq7vg+aZ+W06BCTn36bbi47yp4D92Cg==} peerDependencies: @@ -14972,9 +13613,6 @@ packages: webextension-polyfill@0.10.0: resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==} - webfontloader@1.6.28: - resolution: {integrity: sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==} - webidl-conversions@5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} @@ -15023,9 +13661,6 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.88.0: resolution: {integrity: sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==} engines: {node: '>=10.13.0'} @@ -15105,14 +13740,6 @@ packages: engines: {node: '>=8'} hasBin: true - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - - windows-release@4.0.0: - resolution: {integrity: sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==} - engines: {node: '>=10'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -15249,10 +13876,6 @@ packages: utf-8-validate: optional: true - xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -15298,9 +13921,6 @@ packages: yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} - yargs-parser@15.0.3: - resolution: {integrity: sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==} - yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -15316,9 +13936,6 @@ packages: yargs@13.3.2: resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} - yargs@14.2.3: - resolution: {integrity: sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==} - yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} @@ -15382,39 +13999,6 @@ packages: snapshots: - 0x@5.7.0: - dependencies: - ajv: 8.14.0 - browserify: 17.0.0 - concat-stream: 2.0.0 - d3-fg: 6.14.0 - debounce: 1.2.1 - debug: 4.3.7(supports-color@5.5.0) - end-of-stream: 1.4.4 - env-string: 1.0.1 - escape-string-regexp: 4.0.0 - execspawn: 1.0.1 - fs-extra: 10.1.0 - has-unicode: 2.0.1 - hsl-to-rgb-for-reals: 1.1.1 - jsonstream2: 3.0.0 - make-dir: 3.1.0 - minimist: 1.2.8 - morphdom: 2.7.4 - nanohtml: 1.10.0 - on-net-listen: 1.1.2 - opn: 5.5.0 - pump: 3.0.0 - pumpify: 2.0.1 - semver: 7.6.3 - single-line-log: 1.1.2 - split2: 4.2.0 - tachyons: 4.12.0 - through2: 4.0.2 - which: 2.0.2 - transitivePeerDependencies: - - supports-color - '@actions/core@1.10.1': dependencies: '@actions/http-client': 2.2.1 @@ -15570,8 +14154,6 @@ snapshots: transitivePeerDependencies: - encoding - '@assemblyscript/loader@0.19.23': {} - '@babel/code-frame@7.22.5': dependencies: '@babel/highlight': 7.25.7 @@ -15625,11 +14207,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.22.5(@babel/core@7.25.8)(eslint@9.9.1(jiti@2.3.3))': + '@babel/eslint-parser@7.22.5(@babel/core@7.25.8)(eslint@9.9.1(jiti@2.4.2))': dependencies: '@babel/core': 7.25.8 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-visitor-keys: 2.1.0 semver: 6.3.1 @@ -17147,123 +15729,6 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@clinic/bubbleprof@10.0.0': - dependencies: - '@clinic/clinic-common': 7.1.0 - '@clinic/node-trace-log-join': 2.0.0 - '@clinic/trace-events-parser': 2.0.0 - array-flatten: 3.0.0 - async: 3.2.5 - d3-axis: 1.0.12 - d3-color: 1.4.1 - d3-drag: 1.2.5 - d3-ease: 1.0.7 - d3-format: 1.4.5 - d3-interpolate: 1.4.0 - d3-scale: 3.3.0 - d3-selection: 1.4.2 - d3-shape: 1.3.7 - d3-time: 1.1.0 - d3-time-format: 2.3.0 - d3-transition: 1.3.2 - endpoint: 0.4.5 - lodash: 4.17.21 - minify-stream: 2.1.0 - mkdirp: 1.0.4 - on-net-listen: 1.1.2 - protocol-buffers: 4.2.0 - pump: 3.0.0 - - '@clinic/clinic-common@7.1.0': - dependencies: - brfs: 2.0.2 - browserify: 17.0.0 - chalk: 4.1.2 - lodash.debounce: 4.0.8 - loose-envify: 1.4.0 - postcss: 8.4.49 - postcss-import: 13.0.0(postcss@8.4.49) - stream-template: 0.0.10 - webfontloader: 1.6.28 - - '@clinic/doctor@11.0.0': - dependencies: - '@clinic/clinic-common': 7.1.0 - '@clinic/node-trace-log-join': 2.0.0 - '@clinic/trace-events-parser': 2.0.0 - '@tensorflow/tfjs-backend-cpu': 3.21.0(@tensorflow/tfjs-core@3.21.0) - '@tensorflow/tfjs-core': 3.21.0 - async: 3.2.5 - clipboard-copy: 4.0.1 - d3-array: 2.12.1 - d3-axis: 1.0.12 - d3-scale: 3.3.0 - d3-selection: 1.4.2 - d3-shape: 1.3.7 - d3-time-format: 2.3.0 - debug: 4.3.7(supports-color@5.5.0) - distributions: 2.2.0 - endpoint: 0.4.5 - hidden-markov-model-tf: 4.0.0(@tensorflow/tfjs-core@3.21.0) - minify-stream: 2.1.0 - mkdirp: 1.0.4 - on-net-listen: 1.1.2 - protocol-buffers: 4.2.0 - pump: 3.0.0 - pumpify: 2.0.1 - semver: 7.6.3 - showdown: 1.9.1 - stream-template: 0.0.10 - streaming-json-stringify: 3.1.0 - summary: 2.1.0 - ttest: 3.0.0 - transitivePeerDependencies: - - encoding - - supports-color - - '@clinic/flame@13.0.0': - dependencies: - 0x: 5.7.0 - '@clinic/clinic-common': 7.1.0 - copy-to-clipboard: 3.3.3 - d3-array: 2.12.1 - d3-fg: 6.14.0 - d3-selection: 1.4.2 - flame-gradient: 1.0.0 - lodash.debounce: 4.0.8 - pump: 3.0.0 - querystringify: 2.2.0 - rimraf: 3.0.2 - transitivePeerDependencies: - - supports-color - - '@clinic/heap-profiler@5.0.0': - dependencies: - '@clinic/clinic-common': 7.1.0 - '@nearform/heap-profiler': 2.0.0 - abort-controller: 3.0.0 - copy-to-clipboard: 3.3.3 - d3-array: 2.12.1 - d3-fg: 6.14.0 - d3-selection: 1.4.2 - fs-extra: 11.2.0 - lodash.debounce: 4.0.8 - on-net-listen: 1.1.2 - pump: 3.0.0 - querystringify: 2.2.0 - sinusoidal-decimal: 1.0.0 - - '@clinic/node-trace-log-join@2.0.0': - dependencies: - '@clinic/trace-events-parser': 2.0.0 - multistream: 2.1.1 - pump: 3.0.0 - through2: 2.0.5 - - '@clinic/trace-events-parser@2.0.0': - dependencies: - turbo-json-parse: 2.3.0 - '@coinbase/wallet-sdk@3.9.3': dependencies: bn.js: 5.2.1 @@ -17287,9 +15752,6 @@ snapshots: preact: 10.24.3 sha.js: 2.4.11 - '@colors/colors@1.5.0': - optional: true - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -17697,9 +16159,9 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@2.3.3))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@2.4.2))': dependencies: - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -17789,6 +16251,49 @@ snapshots: '@fastify/busboy@2.1.1': {} + '@fuels/connectors@0.36.1(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(fuels@packages+fuels)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@ethereumjs/util': 9.0.3 + '@ethersproject/bytes': 5.7.0 + '@solana/web3.js': 1.93.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@web3modal/core': 5.0.0(@types/react@18.3.11)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.11)(react@18.3.1) + '@web3modal/solana': 5.0.0(@types/react@18.3.11)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(vue@3.5.12(typescript@5.6.3)) + '@web3modal/wagmi': 5.0.0(vmrejmdt3y64zvykjryygwuiki) + fuels: link:packages/fuels + rpc-websockets: 7.11.0 + socket.io-client: 4.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@tanstack/query-core' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - '@wagmi/connectors' + - bufferutil + - encoding + - immer + - ioredis + - react + - react-dom + - supports-color + - typescript + - uWebSockets.js + - utf-8-validate + - vue + - zod + '@fuels/connectors@0.36.1(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(fuels@packages+fuels)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8)': dependencies: '@ethereumjs/util': 9.0.3 @@ -19077,11 +17582,6 @@ snapshots: '@napi-rs/magic-string-win32-ia32-msvc': 0.3.4 '@napi-rs/magic-string-win32-x64-msvc': 0.3.4 - '@nearform/heap-profiler@2.0.0': - dependencies: - abort-controller: 3.0.0 - sonic-boom: 1.4.1 - '@next/env@14.2.15': {} '@next/eslint-plugin-next@14.2.15': @@ -19939,8 +18439,6 @@ snapshots: '@sinclair/typebox@0.27.8': {} - '@sindresorhus/is@0.14.0': {} - '@sindresorhus/merge-streams@2.3.0': {} '@sinonjs/commons@1.8.6': @@ -20313,10 +18811,6 @@ snapshots: '@swc/counter': 0.1.3 optional: true - '@szmarczak/http-timer@1.1.2': - dependencies: - defer-to-connect: 1.1.3 - '@tanstack/query-core@5.55.4': {} '@tanstack/query-core@5.56.2': @@ -20327,60 +18821,6 @@ snapshots: '@tanstack/query-core': 5.55.4 react: 18.3.1 - '@tanstack/router-generator@1.58.12': - dependencies: - '@tanstack/virtual-file-routes': 1.56.0 - prettier: 3.3.3 - tsx: 4.19.1 - zod: 3.23.8 - - '@tanstack/router-plugin@1.58.12(vite@5.4.9(@types/node@22.7.7)(terser@5.36.0))(webpack-sources@3.2.3)': - dependencies: - '@babel/core': 7.25.8 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - '@tanstack/router-generator': 1.58.12 - '@tanstack/virtual-file-routes': 1.56.0 - '@types/babel__core': 7.20.5 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - babel-dead-code-elimination: 1.0.6 - chokidar: 3.6.0 - unplugin: 1.14.1(webpack-sources@3.2.3) - zod: 3.23.8 - optionalDependencies: - vite: 5.4.9(@types/node@22.7.7)(terser@5.36.0) - transitivePeerDependencies: - - supports-color - - webpack-sources - - '@tanstack/virtual-file-routes@1.56.0': {} - - '@tensorflow/tfjs-backend-cpu@3.21.0(@tensorflow/tfjs-core@3.21.0)': - dependencies: - '@tensorflow/tfjs-core': 3.21.0 - '@types/seedrandom': 2.4.34 - seedrandom: 3.0.5 - - '@tensorflow/tfjs-core@3.21.0': - dependencies: - '@types/long': 4.0.2 - '@types/offscreencanvas': 2019.3.0 - '@types/seedrandom': 2.4.34 - '@types/webgl-ext': 0.0.30 - '@webgpu/types': 0.1.16 - long: 4.0.0 - node-fetch: 2.6.13 - seedrandom: 3.0.5 - transitivePeerDependencies: - - encoding - '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.25.7 @@ -20557,18 +18997,12 @@ snapshots: expect: 29.5.0 pretty-format: 29.7.0 - '@types/js-cookie@2.2.7': {} - '@types/js-yaml@4.0.5': {} '@types/json-schema@7.0.12': {} '@types/json5@0.0.29': {} - '@types/keyv@3.1.4': - dependencies: - '@types/node': 22.5.5 - '@types/linkify-it@5.0.0': {} '@types/lodash.camelcase@4.3.9': @@ -20577,8 +19011,6 @@ snapshots: '@types/lodash@4.14.195': {} - '@types/long@4.0.2': {} - '@types/markdown-it@12.2.3': dependencies: '@types/linkify-it': 5.0.0 @@ -20638,8 +19070,6 @@ snapshots: undici-types: 6.19.8 optional: true - '@types/offscreencanvas@2019.3.0': {} - '@types/parse-json@4.0.0': {} '@types/prettier@2.7.3': {} @@ -20678,10 +19108,6 @@ snapshots: dependencies: '@types/node': 22.5.5 - '@types/responselike@1.0.3': - dependencies: - '@types/node': 22.5.5 - '@types/retry@0.12.0': {} '@types/rimraf@3.0.2': @@ -20693,8 +19119,6 @@ snapshots: dependencies: '@types/node': 22.5.5 - '@types/seedrandom@2.4.34': {} - '@types/semver@7.5.4': {} '@types/send@0.17.1': @@ -20739,8 +19163,6 @@ snapshots: '@types/web@0.0.174': {} - '@types/webgl-ext@0.0.30': {} - '@types/which@2.0.2': optional: true @@ -20779,15 +19201,15 @@ snapshots: '@types/node': 22.5.5 optional: true - '@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/utils': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/type-utils': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + '@typescript-eslint/utils': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) debug: 4.3.7(supports-color@5.5.0) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) grapheme-splitter: 1.0.4 ignore: 5.3.2 natural-compare-lite: 1.4.0 @@ -20836,21 +19258,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/experimental-utils@5.60.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/experimental-utils@5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 5.60.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + '@typescript-eslint/utils': 5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.9.1(jiti@2.4.2) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 5.59.0 '@typescript-eslint/types': 5.59.0 '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.6.3) debug: 4.3.7(supports-color@5.5.0) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -20907,12 +19329,12 @@ snapshots: '@typescript-eslint/types': 8.8.0 '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/type-utils@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/type-utils@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.6.3) - '@typescript-eslint/utils': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/utils': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) debug: 4.3.7(supports-color@5.5.0) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) tsutils: 3.21.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 @@ -21025,30 +19447,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/utils@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.3.3)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.4.2)) '@types/json-schema': 7.0.12 '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 5.59.0 '@typescript-eslint/types': 5.59.0 '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@5.60.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/utils@5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.3.3)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.4.2)) '@types/json-schema': 7.0.12 '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 5.60.1 '@typescript-eslint/types': 5.60.1 '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: @@ -21254,8 +19676,6 @@ snapshots: '@vue/compiler-dom': 3.5.12 '@vue/shared': 3.5.12 - '@vue/devtools-api@6.6.3': {} - '@vue/devtools-api@7.3.8': dependencies: '@vue/devtools-kit': 7.3.8 @@ -21333,13 +19753,13 @@ snapshots: - '@vue/composition-api' - vue - '@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.0.4 '@metamask/sdk': 0.28.4(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) '@walletconnect/modal': 2.6.2(@types/react@18.3.11)(react@18.3.1) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' @@ -21372,21 +19792,60 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': + '@wagmi/connectors@5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': dependencies: - eventemitter3: 5.0.1 - mipd: 0.0.7(typescript@5.6.3) + '@coinbase/wallet-sdk': 4.0.4 + '@metamask/sdk': 0.28.4(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(utf-8-validate@5.0.10) + '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + '@wagmi/core': 2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@walletconnect/modal': 2.6.2(@types/react@18.3.11)(react@18.3.1) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3' viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) - zustand: 4.4.1(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1) optionalDependencies: - '@tanstack/query-core': 5.56.2 typescript: 5.6.3 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' - '@types/react' - - immer + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis - react - - '@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': + - react-dom + - react-native + - rollup + - supports-color + - uWebSockets.js + - utf-8-validate + - zod + + '@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': + dependencies: + eventemitter3: 5.0.1 + mipd: 0.0.7(typescript@5.6.3) + viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + zustand: 4.4.1(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1) + optionalDependencies: + '@tanstack/query-core': 5.56.2 + typescript: 5.6.3 + transitivePeerDependencies: + - '@types/react' + - immer + - react + + '@wagmi/core@2.13.9(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.6.3) @@ -22443,6 +20902,42 @@ snapshots: - uWebSockets.js - utf-8-validate + '@web3modal/wagmi@5.0.0(vmrejmdt3y64zvykjryygwuiki)': + dependencies: + '@wagmi/connectors': 5.1.14(@types/react@18.3.11)(@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.8)(@babel/preset-env@7.22.5(@babel/core@7.25.8))(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)(typescript@5.6.3)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.11)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@web3modal/polyfills': 5.0.0 + '@web3modal/scaffold': 5.0.0(@types/react@18.3.11)(react@18.3.1) + '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.11)(react@18.3.1) + '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.11)(react@18.3.1)(vue@3.5.12(typescript@5.6.3)) + '@web3modal/siwe': 5.0.0(@types/react@18.3.11)(react@18.3.1) + viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + vue: 3.5.12(typescript@5.6.3) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis + - uWebSockets.js + - utf-8-validate + '@web3modal/wallet@5.0.0': dependencies: '@web3modal/polyfills': 5.0.0 @@ -22524,8 +21019,6 @@ snapshots: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - '@webgpu/types@0.1.16': {} - '@whatwg-node/fetch@0.9.21': dependencies: '@whatwg-node/node-fetch': 0.5.26 @@ -22538,8 +21031,6 @@ snapshots: fast-querystring: 1.1.2 tslib: 2.8.0 - '@xobotyi/scrollbar-width@1.9.5': {} - '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} @@ -22583,12 +21074,6 @@ snapshots: dependencies: acorn: 8.13.0 - acorn-node@1.8.2: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - acorn-walk@7.2.0: {} acorn-walk@8.3.4: @@ -22685,14 +21170,8 @@ snapshots: anser@1.4.10: {} - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - ansi-colors@4.1.3: {} - ansi-escapes@3.2.0: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -22705,18 +21184,12 @@ snapshots: ansi-html-community@0.0.8: {} - ansi-regex@2.1.1: {} - - ansi-regex@3.0.1: {} - ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} - ansi-styles@2.2.1: {} - ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -22731,8 +21204,6 @@ snapshots: any-promise@1.3.0: {} - any-shell-escape@0.1.1: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -22802,10 +21273,6 @@ snapshots: array-flatten@2.1.2: {} - array-flatten@3.0.0: {} - - array-from@2.1.1: {} - array-includes@3.1.8: dependencies: call-bind: 1.0.7 @@ -22885,17 +21352,6 @@ snapshots: minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - - assert-plus@1.0.0: {} - - assert@1.5.1: - dependencies: - object.assign: 4.1.5 - util: 0.10.4 - assert@2.1.0: dependencies: call-bind: 1.0.7 @@ -22938,36 +21394,8 @@ snapshots: atomic-sleep@1.0.0: {} - atomically@1.7.0: {} - auto-bind@4.0.0: {} - autocannon@7.15.0: - dependencies: - chalk: 4.1.2 - char-spinner: 1.0.1 - cli-table3: 0.6.5 - color-support: 1.1.3 - cross-argv: 2.0.0 - form-data: 4.0.0 - has-async-hooks: 1.0.0 - hdr-histogram-js: 3.0.0 - hdr-histogram-percentiles-obj: 3.0.0 - http-parser-js: 0.5.8 - hyperid: 3.3.0 - lodash.chunk: 4.2.0 - lodash.clonedeep: 4.5.0 - lodash.flatten: 4.4.0 - manage-path: 2.0.0 - on-net-listen: 1.1.2 - pretty-bytes: 5.6.0 - progress: 2.0.3 - reinterval: 1.1.0 - retimer: 3.0.0 - semver: 7.6.3 - subarg: 1.0.0 - timestring: 6.0.0 - autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.0 @@ -22982,10 +21410,6 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - aws-sign2@0.7.0: {} - - aws4@1.13.2: {} - axe-core@4.9.1: {} axios@1.7.7: @@ -23001,21 +21425,13 @@ snapshots: dependencies: deep-equal: 2.2.1 - b4a@1.6.6: {} + b4a@1.6.6: + optional: true babel-core@7.0.0-bridge.0(@babel/core@7.25.8): dependencies: '@babel/core': 7.25.8 - babel-dead-code-elimination@1.0.6: - dependencies: - '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - transitivePeerDependencies: - - supports-color - babel-jest@27.5.1(@babel/core@7.22.5): dependencies: '@babel/core': 7.22.5 @@ -23274,10 +21690,6 @@ snapshots: batch@0.6.1: {} - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 - before-after-hook@2.2.3: {} better-path-resolve@1.0.0: @@ -23307,8 +21719,6 @@ snapshots: birpc@0.2.17: {} - bit-twiddle@1.0.2: {} - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -23355,17 +21765,6 @@ snapshots: bowser@2.11.0: {} - boxen@5.1.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -23379,26 +21778,8 @@ snapshots: dependencies: fill-range: 7.1.1 - brfs@2.0.2: - dependencies: - quote-stream: 1.0.2 - resolve: 1.22.8 - static-module: 3.0.4 - through2: 2.0.5 - brorand@1.1.0: {} - browser-pack@6.1.0: - dependencies: - JSONStream: 1.3.5 - combine-source-map: 0.8.0 - defined: 1.0.1 - safe-buffer: 5.2.1 - through2: 2.0.5 - umd: 3.0.3 - - browser-process-hrtime@0.1.3: {} - browser-process-hrtime@1.0.0: {} browser-resolve@2.0.0: @@ -23448,57 +21829,6 @@ snapshots: dependencies: pako: 1.0.11 - browserify@17.0.0: - dependencies: - JSONStream: 1.3.5 - assert: 1.5.1 - browser-pack: 6.1.0 - browser-resolve: 2.0.0 - browserify-zlib: 0.2.0 - buffer: 5.2.1 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.0 - defined: 1.0.1 - deps-sort: 2.0.1 - domain-browser: 1.2.0 - duplexer2: 0.1.4 - events: 3.3.0 - glob: 7.2.3 - has: 1.0.3 - htmlescape: 1.1.1 - https-browserify: 1.0.0 - inherits: 2.0.4 - insert-module-globals: 7.2.1 - labeled-stream-splicer: 2.0.2 - mkdirp-classic: 0.5.3 - module-deps: 6.2.3 - os-browserify: 0.3.0 - parents: 1.0.1 - path-browserify: 1.0.1 - process: 0.11.10 - punycode: 1.4.1 - querystring-es3: 0.2.1 - read-only-stream: 2.0.0 - readable-stream: 2.3.8 - resolve: 1.22.8 - shasum-object: 1.0.0 - shell-quote: 1.8.1 - stream-browserify: 3.0.0 - stream-http: 3.2.0 - string_decoder: 1.3.0 - subarg: 1.0.0 - syntax-error: 1.4.0 - through2: 2.0.5 - timers-browserify: 1.4.2 - tty-browserify: 0.0.1 - url: 0.11.3 - util: 0.12.5 - vm-browserify: 1.1.2 - xtend: 4.0.2 - browserslist@4.21.9: dependencies: caniuse-lite: 1.0.30001664 @@ -23538,19 +21868,12 @@ snapshots: buffer-crc32@1.0.0: optional: true - buffer-equal@0.0.1: {} - buffer-fill@1.0.0: {} buffer-from@1.1.2: {} buffer-xor@1.0.3: {} - buffer@5.2.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -23604,18 +21927,6 @@ snapshots: cac@6.7.14: {} - cacheable-request@6.1.0: - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - - cached-path-relative@1.1.0: {} - caching-transform@4.0.0: dependencies: hasha: 5.2.2 @@ -23643,11 +21954,6 @@ snapshots: callsites@3.1.0: {} - camel-case@3.0.0: - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - camel-case@4.1.2: dependencies: pascal-case: 3.1.2 @@ -23676,10 +21982,6 @@ snapshots: case-sensitive-paths-webpack-plugin@2.4.0: {} - caseless@0.12.0: {} - - cephes@2.0.0: {} - chai@5.1.1: dependencies: assertion-error: 2.0.1 @@ -23692,14 +21994,6 @@ snapshots: dependencies: chalk: 5.3.0 - chalk@1.1.3: - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -23763,8 +22057,6 @@ snapshots: char-regex@2.0.1: {} - char-spinner@1.0.1: {} - chardet@0.7.0: {} check-error@2.1.1: {} @@ -23838,12 +22130,6 @@ snapshots: clean-stack@2.2.0: {} - cli-boxes@2.2.1: {} - - cli-cursor@2.1.0: - dependencies: - restore-cursor: 2.0.0 - cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -23854,12 +22140,6 @@ snapshots: cli-spinners@2.9.2: {} - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - cli-table@0.3.11: dependencies: colors: 1.0.3 @@ -23869,42 +22149,12 @@ snapshots: slice-ansi: 3.0.0 string-width: 4.2.3 - cli-width@2.2.1: {} - cli-width@3.0.0: {} cli-width@4.1.0: {} client-only@0.0.1: {} - clinic@13.0.0: - dependencies: - '@clinic/bubbleprof': 10.0.0 - '@clinic/doctor': 11.0.0 - '@clinic/flame': 13.0.0 - '@clinic/heap-profiler': 5.0.0 - any-shell-escape: 0.1.1 - async: 3.2.5 - autocannon: 7.15.0 - commist: 1.1.0 - cross-argv: 1.0.0 - dargs: 7.0.0 - env-string: 1.0.1 - execspawn: 1.0.1 - insight: 0.11.1 - minimist: 1.2.8 - open: 7.4.2 - ora: 5.4.1 - rimraf: 3.0.2 - stream-collector: 1.0.1 - subarg: 1.0.0 - update-notifier: 5.1.0 - transitivePeerDependencies: - - encoding - - supports-color - - clipboard-copy@4.0.1: {} - clipboardy@4.0.0: dependencies: execa: 8.0.1 @@ -23941,10 +22191,6 @@ snapshots: kind-of: 6.0.3 shallow-clone: 3.0.1 - clone-response@1.0.3: - dependencies: - mimic-response: 1.0.1 - clone@1.0.4: {} clsx@1.2.1: {} @@ -23959,8 +22205,6 @@ snapshots: chalk: 2.4.2 q: 1.5.1 - code-point-at@1.1.0: {} - collect-v8-coverage@1.0.1: {} color-convert@1.9.3: @@ -23975,8 +22219,6 @@ snapshots: color-name@1.1.4: {} - color-support@1.1.3: {} - colord@2.9.3: {} colorette@1.4.0: {} @@ -23985,13 +22227,6 @@ snapshots: colors@1.0.3: {} - combine-source-map@0.8.0: - dependencies: - convert-source-map: 1.1.3 - inline-source-map: 0.6.3 - lodash.memoize: 3.0.4 - source-map: 0.5.7 - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -24014,11 +22249,6 @@ snapshots: comment-parser@1.4.0: {} - commist@1.1.0: - dependencies: - leven: 2.1.0 - minimist: 1.2.8 - common-path-prefix@3.0.0: {} common-tags@1.8.2: {} @@ -24054,44 +22284,8 @@ snapshots: concat-map@0.0.1: {} - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - - concat-stream@2.0.0: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - conf@10.2.0: - dependencies: - ajv: 8.14.0 - ajv-formats: 2.1.1(ajv@8.14.0) - atomically: 1.7.0 - debounce-fn: 4.0.0 - dot-prop: 6.0.1 - env-paths: 2.2.1 - json-schema-typed: 7.0.3 - onetime: 5.1.2 - pkg-up: 3.1.0 - semver: 7.6.3 - confbox@0.1.7: {} - configstore@5.0.1: - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - confusing-browser-globals@1.0.11: {} connect-history-api-fallback@2.0.0: {} @@ -24123,8 +22317,6 @@ snapshots: content-type@1.0.5: {} - convert-source-map@1.1.3: {} - convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -24155,8 +22347,6 @@ snapshots: core-js@3.31.0: {} - core-util-is@1.0.2: {} - core-util-is@1.0.3: {} cosmiconfig-toml-loader@1.0.0: @@ -24241,10 +22431,6 @@ snapshots: create-require@1.1.1: {} - cross-argv@1.0.0: {} - - cross-argv@2.0.0: {} - cross-fetch@4.0.0: dependencies: node-fetch: 2.7.0 @@ -24307,10 +22493,6 @@ snapshots: postcss: 8.4.49 postcss-selector-parser: 6.0.13 - css-in-js-utils@3.1.0: - dependencies: - hyphenate-style-name: 1.0.4 - css-loader@6.8.1(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: icss-utils: 5.1.0(postcss@8.4.49) @@ -24446,117 +22628,8 @@ snapshots: csstype@3.1.3: {} - cwise-compiler@1.1.3: - dependencies: - uniq: 1.0.1 - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-axis@1.0.12: {} - - d3-color@1.4.1: {} - - d3-color@2.0.0: {} - - d3-dispatch@1.0.6: {} - - d3-drag@1.2.5: - dependencies: - d3-dispatch: 1.0.6 - d3-selection: 1.4.2 - - d3-ease@1.0.7: {} - - d3-fg@6.14.0: - dependencies: - d3-array: 2.12.1 - d3-dispatch: 1.0.6 - d3-ease: 1.0.7 - d3-hierarchy: 1.1.9 - d3-scale: 3.3.0 - d3-selection: 1.4.2 - d3-zoom: 1.8.3 - escape-string-regexp: 1.0.5 - hsl-to-rgb-for-reals: 1.1.1 - - d3-format@1.4.5: {} - - d3-format@2.0.0: {} - - d3-hierarchy@1.1.9: {} - - d3-interpolate@1.4.0: - dependencies: - d3-color: 1.4.1 - - d3-interpolate@2.0.1: - dependencies: - d3-color: 2.0.0 - - d3-path@1.0.9: {} - - d3-scale@3.3.0: - dependencies: - d3-array: 2.12.1 - d3-format: 2.0.0 - d3-interpolate: 2.0.1 - d3-time: 2.1.1 - d3-time-format: 2.3.0 - - d3-selection@1.4.2: {} - - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-time-format@2.3.0: - dependencies: - d3-time: 1.1.0 - - d3-time@1.1.0: {} - - d3-time@2.1.1: - dependencies: - d3-array: 2.12.1 - - d3-timer@1.0.10: {} - - d3-transition@1.3.2: - dependencies: - d3-color: 1.4.1 - d3-dispatch: 1.0.6 - d3-ease: 1.0.7 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-timer: 1.0.10 - - d3-zoom@1.8.3: - dependencies: - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-transition: 1.3.2 - - d@1.0.2: - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - damerau-levenshtein@1.0.8: {} - dargs@7.0.0: {} - - dash-ast@1.0.0: {} - - dash-ast@2.0.1: {} - - dashdash@1.14.1: - dependencies: - assert-plus: 1.0.0 - data-uri-to-buffer@4.0.1: {} data-uri-to-buffer@6.0.2: {} @@ -24597,10 +22670,6 @@ snapshots: dayjs@1.11.13: {} - debounce-fn@4.0.0: - dependencies: - mimic-fn: 3.1.0 - debounce@1.2.1: {} debug@2.6.9: @@ -24626,10 +22695,6 @@ snapshots: decode-uri-component@0.2.2: {} - decompress-response@3.3.0: - dependencies: - mimic-response: 1.0.1 - dedent@0.7.0: {} deep-eql@5.0.2: {} @@ -24655,8 +22720,6 @@ snapshots: which-collection: 1.0.2 which-typed-array: 1.1.15 - deep-extend@0.6.0: {} - deep-is@0.1.4: {} deepmerge-ts@7.1.0: @@ -24683,8 +22746,6 @@ snapshots: dependencies: clone: 1.0.4 - defer-to-connect@1.1.3: {} - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -24701,8 +22762,6 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - defined@1.0.1: {} - defu@6.1.4: {} degenerator@5.0.1: @@ -24725,13 +22784,6 @@ snapshots: deprecation@2.3.1: {} - deps-sort@2.0.1: - dependencies: - JSONStream: 1.3.5 - shasum-object: 1.0.0 - subarg: 1.0.0 - through2: 2.0.5 - dequal@2.0.3: {} des.js@1.1.0: @@ -24764,12 +22816,6 @@ snapshots: transitivePeerDependencies: - supports-color - detective@5.2.1: - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - didyoumean@1.2.2: {} diff-sequences@27.5.1: {} @@ -24791,10 +22837,6 @@ snapshots: dependencies: path-type: 4.0.0 - distributions@2.2.0: - dependencies: - cephes: 2.0.0 - dlv@1.1.3: {} dns-equal@1.0.0: {} @@ -24834,8 +22876,6 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 - domain-browser@1.2.0: {} - domain-browser@4.23.0: {} domelementtype@1.3.1: {} @@ -24876,14 +22916,6 @@ snapshots: no-case: 3.0.4 tslib: 2.8.0 - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 - dotenv-expand@5.1.0: {} dotenv@10.0.0: {} @@ -24892,14 +22924,6 @@ snapshots: dset@3.1.2: {} - dup@1.0.0: {} - - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - - duplexer3@0.1.5: {} - duplexer@0.1.2: {} duplexify@4.1.3: @@ -24917,11 +22941,6 @@ snapshots: optionalDependencies: wcwidth: 1.0.1 - ecc-jsbn@0.1.2: - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - eciesjs@0.3.20: dependencies: '@types/secp256k1': 4.0.6 @@ -24996,10 +23015,6 @@ snapshots: dependencies: once: 1.4.0 - endpoint@0.4.5: - dependencies: - inherits: 2.0.4 - engine.io-client@6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 @@ -25032,8 +23047,6 @@ snapshots: env-paths@2.2.1: {} - env-string@1.0.1: {} - envinfo@7.14.0: {} error-ex@1.3.2: @@ -25157,50 +23170,14 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es5-ext@0.10.64: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - es6-error@4.1.1: {} - es6-iterator@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - - es6-map@0.1.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-set: 0.1.6 - es6-symbol: 3.1.4 - event-emitter: 0.3.5 - es6-promise@4.2.8: {} es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 - es6-set@0.1.6: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - event-emitter: 0.3.5 - type: 2.7.3 - - es6-symbol@3.1.4: - dependencies: - d: 1.0.2 - ext: 1.7.0 - esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -25308,8 +23285,6 @@ snapshots: escalade@3.2.0: {} - escape-goat@2.1.1: {} - escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -25318,15 +23293,6 @@ snapshots: escape-string-regexp@4.0.0: {} - escodegen@1.14.3: - dependencies: - esprima: 4.0.1 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - escodegen@2.1.0: dependencies: esprima: 4.0.1 @@ -25375,23 +23341,23 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.3.3))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): dependencies: '@babel/core': 7.25.8 - '@babel/eslint-parser': 7.22.5(@babel/core@7.25.8)(eslint@9.9.1(jiti@2.3.3)) + '@babel/eslint-parser': 7.22.5(@babel/core@7.25.8)(eslint@9.9.1(jiti@2.4.2)) '@rushstack/eslint-patch': 1.6.1 - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 - eslint: 9.9.1(jiti@2.3.3) - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.3.3)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3)) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) - eslint-plugin-jsx-a11y: 6.9.0(eslint@9.9.1(jiti@2.3.3)) - eslint-plugin-react: 7.37.1(eslint@9.9.1(jiti@2.3.3)) - eslint-plugin-react-hooks: 4.6.2(eslint@9.9.1(jiti@2.3.3)) - eslint-plugin-testing-library: 5.11.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + eslint: 9.9.1(jiti@2.4.2) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2)) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2)) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + eslint-plugin-jsx-a11y: 6.9.0(eslint@9.9.1(jiti@2.4.2)) + eslint-plugin-react: 7.37.1(eslint@9.9.1(jiti@2.4.2)) + eslint-plugin-react-hooks: 4.6.2(eslint@9.9.1(jiti@2.4.2)) + eslint-plugin-testing-library: 5.11.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -25445,12 +23411,12 @@ snapshots: - supports-color optional: true - eslint-module-utils@2.11.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1(jiti@2.3.3)): + eslint-module-utils@2.11.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.9.1(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color @@ -25483,15 +23449,15 @@ snapshots: eslint: 8.57.0 ignore: 5.3.2 - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.3.3)): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2)): dependencies: '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.22.5) '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.22.5) - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) lodash: 4.17.21 string-natural-compare: 3.0.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3)): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -25499,9 +23465,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1(jiti@2.3.3)) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -25512,7 +23478,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/parser': 5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -25602,12 +23568,12 @@ snapshots: - supports-color optional: true - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): dependencies: - '@typescript-eslint/experimental-utils': 5.60.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + '@typescript-eslint/experimental-utils': 5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.9.1(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3))(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color @@ -25648,7 +23614,7 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.0 - eslint-plugin-jsx-a11y@6.9.0(eslint@9.9.1(jiti@2.3.3)): + eslint-plugin-jsx-a11y@6.9.0(eslint@9.9.1(jiti@2.4.2)): dependencies: aria-query: 5.1.3 array-includes: 3.1.8 @@ -25659,7 +23625,7 @@ snapshots: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.19 - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -25682,9 +23648,9 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-react-hooks@4.6.2(eslint@9.9.1(jiti@2.3.3)): + eslint-plugin-react-hooks@4.6.2(eslint@9.9.1(jiti@2.4.2)): dependencies: - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) eslint-plugin-react-refresh@0.4.13(eslint@8.57.0): dependencies: @@ -25734,7 +23700,7 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.1(eslint@9.9.1(jiti@2.3.3)): + eslint-plugin-react@7.37.1(eslint@9.9.1(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -25742,7 +23708,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -25756,10 +23722,10 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@5.11.0(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3): + eslint-plugin-testing-library@5.11.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 5.60.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.9.1(jiti@2.3.3) + '@typescript-eslint/utils': 5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.9.1(jiti@2.4.2) transitivePeerDependencies: - supports-color - typescript @@ -25790,10 +23756,10 @@ snapshots: eslint-visitor-keys@4.1.0: {} - eslint-webpack-plugin@3.2.0(eslint@9.9.1(jiti@2.3.3))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + eslint-webpack-plugin@3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: '@types/eslint': 8.40.2 - eslint: 9.9.1(jiti@2.3.3) + eslint: 9.9.1(jiti@2.4.2) jest-worker: 28.1.3 micromatch: 4.0.8 normalize-path: 3.0.0 @@ -25843,9 +23809,9 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.9.1(jiti@2.3.3): + eslint@9.9.1(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.3.3)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@2.4.2)) '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 @@ -25880,17 +23846,10 @@ snapshots: strip-ansi: 6.0.1 text-table: 0.2.0 optionalDependencies: - jiti: 2.3.3 + jiti: 2.4.2 transitivePeerDependencies: - supports-color - esniff@2.0.1: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - espree@10.2.0: dependencies: acorn: 8.13.0 @@ -25917,10 +23876,6 @@ snapshots: estraverse@5.3.0: {} - estree-is-function@1.0.0: {} - - estree-is-member-expression@1.0.0: {} - estree-walker@1.0.1: {} estree-walker@2.0.2: {} @@ -25980,11 +23935,6 @@ snapshots: - bufferutil - utf-8-validate - event-emitter@0.3.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-target-shim@5.0.1: {} eventemitter2@6.4.9: {} @@ -26000,18 +23950,6 @@ snapshots: md5.js: 1.3.5 safe-buffer: 5.2.1 - execa@4.1.0: - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -26036,10 +23974,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execspawn@1.0.1: - dependencies: - util-extend: 1.0.3 - exit@0.1.2: {} expect@27.5.1: @@ -26095,12 +24029,6 @@ snapshots: transitivePeerDependencies: - supports-color - ext@1.7.0: - dependencies: - type: 2.7.3 - - extend@3.0.2: {} - extendable-error@0.1.7: {} extension-port-stream@3.0.0: @@ -26127,8 +24055,6 @@ snapshots: - supports-color optional: true - extsprintf@1.3.0: {} - eyes@0.1.8: {} fast-check@3.17.2: @@ -26167,16 +24093,12 @@ snapshots: fast-safe-stringify@2.1.1: {} - fast-shallow-equal@1.0.0: {} - fast-stable-stringify@1.0.0: {} fast-xml-parser@4.5.0: dependencies: strnum: 1.0.5 - fastest-stable-stringify@2.0.2: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -26215,10 +24137,6 @@ snapshots: fflate@0.8.2: {} - figures@2.0.0: - dependencies: - escape-string-regexp: 1.0.5 - figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -26301,10 +24219,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flame-gradient@1.0.0: - dependencies: - sinusoidal-decimal: 1.0.0 - flat-cache@3.0.4: dependencies: flatted: 3.3.1 @@ -26315,8 +24229,6 @@ snapshots: flatted: 3.3.1 keyv: 4.5.4 - flatstr@1.0.12: {} - flatted@3.3.1: {} flexsearch@0.7.43: {} @@ -26345,9 +24257,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - forever-agent@0.6.1: {} - - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: '@babel/code-frame': 7.25.7 '@types/json-schema': 7.0.12 @@ -26365,13 +24275,7 @@ snapshots: typescript: 5.6.3 webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) optionalDependencies: - eslint: 9.9.1(jiti@2.3.3) - - form-data@2.3.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + eslint: 9.9.1(jiti@2.4.2) form-data@3.0.1: dependencies: @@ -26395,15 +24299,6 @@ snapshots: fresh@0.5.2: {} - from2-string@1.1.0: - dependencies: - from2: 2.3.0 - - from2@2.3.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - fromentries@1.3.2: {} fs-extra@10.1.0: @@ -26474,18 +24369,8 @@ snapshots: - supports-color optional: true - generate-function@2.3.1: - dependencies: - is-property: 1.0.2 - - generate-object-property@1.2.0: - dependencies: - is-property: 1.0.2 - gensync@1.0.0-beta.2: {} - get-assigned-identifiers@1.2.0: {} - get-caller-file@2.0.5: {} get-east-asian-width@1.2.0: {} @@ -26520,13 +24405,10 @@ snapshots: get-port@7.1.0: optional: true - get-stream@4.1.0: - dependencies: - pump: 3.0.0 - get-stream@5.2.0: dependencies: pump: 3.0.0 + optional: true get-stream@6.0.1: {} @@ -26551,10 +24433,6 @@ snapshots: transitivePeerDependencies: - supports-color - getpass@0.1.7: - dependencies: - assert-plus: 1.0.0 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -26600,10 +24478,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - global-modules@2.0.0: dependencies: global-prefix: 3.0.0 @@ -26651,22 +24525,6 @@ snapshots: dependencies: get-intrinsic: 1.2.4 - got@9.6.0: - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - graceful-fs@4.2.11: {} grapheme-splitter@1.0.4: {} @@ -26749,21 +24607,8 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - har-schema@2.0.0: {} - - har-validator@5.1.5: - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - harmony-reflect@1.6.2: {} - has-ansi@2.0.0: - dependencies: - ansi-regex: 2.1.1 - - has-async-hooks@1.0.0: {} - has-bigints@1.0.2: {} has-flag@3.0.0: {} @@ -26782,14 +24627,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - has-unicode@2.0.1: {} - - has-yarn@2.1.0: {} - - has@1.0.3: - dependencies: - function-bind: 1.1.2 - hash-base@3.1.0: dependencies: inherits: 2.0.4 @@ -26810,14 +24647,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hdr-histogram-js@3.0.0: - dependencies: - '@assemblyscript/loader': 0.19.23 - base64-js: 1.5.1 - pako: 1.0.11 - - hdr-histogram-percentiles-obj@3.0.0: {} - he@1.2.0: {} header-case@2.0.4: @@ -26845,17 +24674,6 @@ snapshots: hey-listen@1.0.8: {} - hidden-markov-model-tf@4.0.0(@tensorflow/tfjs-core@3.21.0): - dependencies: - '@tensorflow/tfjs-core': 3.21.0 - ml-kmeans: 4.2.1 - ndarray: 1.0.19 - ndarray-cholesky-factorization: 1.0.2 - ndarray-determinant: 1.0.0 - ndarray-inv: 0.2.0 - seedrandom: 3.0.5 - semver: 6.3.1 - hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 @@ -26879,8 +24697,6 @@ snapshots: readable-stream: 2.3.8 wbuf: 1.7.3 - hsl-to-rgb-for-reals@1.1.1: {} - html-encoding-sniffer@2.0.1: dependencies: whatwg-encoding: 1.0.5 @@ -26912,8 +24728,6 @@ snapshots: tapable: 2.2.1 webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) - htmlescape@1.1.1: {} - htmlfy@0.2.1: optional: true @@ -26931,8 +24745,6 @@ snapshots: domutils: 3.1.0 entities: 4.5.0 - http-cache-semantics@4.1.1: {} - http-deceiver@1.2.7: {} http-errors@1.6.3: @@ -26989,12 +24801,6 @@ snapshots: http-shutdown@1.2.2: {} - http-signature@1.2.0: - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 - https-browserify@1.0.0: {} https-proxy-agent@5.0.1: @@ -27013,8 +24819,6 @@ snapshots: human-id@1.0.2: {} - human-signals@1.1.1: {} - human-signals@2.1.0: {} human-signals@5.0.0: {} @@ -27025,20 +24829,6 @@ snapshots: hyperdyperid@1.2.0: {} - hyperid@3.3.0: - dependencies: - buffer: 5.7.1 - uuid: 8.3.2 - uuid-parse: 1.1.0 - - hyperscript-attribute-to-property@1.0.2: {} - - hyperx@2.5.4: - dependencies: - hyperscript-attribute-to-property: 1.0.2 - - hyphenate-style-name@1.0.4: {} - i18next-browser-languagedetector@7.1.0: dependencies: '@babel/runtime': 7.25.7 @@ -27096,8 +24886,6 @@ snapshots: import-from@4.0.0: {} - import-lazy@2.1.0: {} - import-local@3.1.0: dependencies: pkg-dir: 4.2.0 @@ -27121,32 +24909,6 @@ snapshots: ini@1.3.8: {} - ini@2.0.0: {} - - inline-source-map@0.6.3: - dependencies: - source-map: 0.5.7 - - inline-style-prefixer@7.0.1: - dependencies: - css-in-js-utils: 3.1.0 - - inquirer@6.5.2: - dependencies: - ansi-escapes: 3.2.0 - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-width: 2.2.1 - external-editor: 3.1.0 - figures: 2.0.0 - lodash: 4.17.21 - mute-stream: 0.0.7 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 2.1.1 - strip-ansi: 5.2.0 - through: 2.3.8 - inquirer@8.2.5: dependencies: ansi-escapes: 4.3.2 @@ -27165,45 +24927,16 @@ snapshots: through: 2.3.8 wrap-ansi: 7.0.0 - insert-module-globals@7.2.1: - dependencies: - JSONStream: 1.3.5 - acorn-node: 1.8.2 - combine-source-map: 0.8.0 - concat-stream: 1.6.2 - is-buffer: 1.1.6 - path-is-absolute: 1.0.1 - process: 0.11.10 - through2: 2.0.5 - undeclared-identifiers: 1.1.3 - xtend: 4.0.2 - - insight@0.11.1: - dependencies: - async: 2.6.4 - chalk: 4.1.2 - conf: 10.2.0 - inquirer: 6.5.2 - lodash.debounce: 4.0.8 - os-name: 4.0.1 - request: 2.88.2 - tough-cookie: 4.1.4 - uuid: 8.3.2 - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - internmap@1.0.1: {} - invariant@2.2.4: dependencies: loose-envify: 1.4.0 - iota-array@1.0.0: {} - ip-address@9.0.5: dependencies: jsbn: 1.1.0 @@ -27222,8 +24955,6 @@ snapshots: is-relative: 1.0.0 is-windows: 1.0.2 - is-any-array@2.0.1: {} - is-arguments@1.1.1: dependencies: call-bind: 1.0.7 @@ -27248,27 +24979,17 @@ snapshots: dependencies: binary-extensions: 2.2.0 - is-boolean-attribute@0.0.1: {} - is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-buffer@1.1.6: {} - - is-buffer@2.0.5: {} - is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 is-callable@1.2.7: {} - is-ci@2.0.0: - dependencies: - ci-info: 2.0.0 - is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -27293,10 +25014,6 @@ snapshots: dependencies: call-bind: 1.0.7 - is-fullwidth-code-point@1.0.0: - dependencies: - number-is-nan: 1.0.1 - is-fullwidth-code-point@2.0.0: {} is-fullwidth-code-point@3.0.0: {} @@ -27315,11 +25032,6 @@ snapshots: dependencies: is-docker: 3.0.0 - is-installed-globally@0.4.0: - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - is-interactive@1.0.0: {} is-interactive@2.0.0: {} @@ -27341,8 +25053,6 @@ snapshots: is-node-process@1.2.0: {} - is-npm@5.0.0: {} - is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -27351,8 +25061,6 @@ snapshots: is-obj@1.0.1: {} - is-obj@2.0.0: {} - is-path-inside@3.0.3: {} is-plain-obj@3.0.0: {} @@ -27366,8 +25074,6 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-property@1.0.2: {} - is-regex@1.1.4: dependencies: call-bind: 1.0.7 @@ -27452,8 +25158,6 @@ snapshots: dependencies: is-inside-container: 1.0.0 - is-yarn-global@0.3.0: {} - is64bit@2.0.0: dependencies: system-architecture: 0.1.0 @@ -27490,8 +25194,6 @@ snapshots: dependencies: ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - isstream@0.1.2: {} - istanbul-lib-coverage@3.2.2: {} istanbul-lib-hook@3.0.0: @@ -28089,6 +25791,8 @@ snapshots: jiti@2.3.3: {} + jiti@2.4.2: {} + jju@1.4.0: {} joi@17.13.3: @@ -28103,8 +25807,6 @@ snapshots: joycon@3.1.1: {} - js-cookie@2.2.1: {} - js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -28116,8 +25818,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsbn@0.1.1: {} - jsbn@1.1.0: {} jsc-android@250231.0.0: {} @@ -28224,8 +25924,6 @@ snapshots: jsesc@3.0.2: {} - json-buffer@3.0.0: {} - json-buffer@3.0.1: {} json-parse-better-errors@1.0.2: {} @@ -28243,8 +25941,6 @@ snapshots: json-schema-traverse@1.0.0: {} - json-schema-typed@7.0.3: {} - json-schema@0.4.0: {} json-stable-stringify-without-jsonify@1.0.1: {} @@ -28276,19 +25972,6 @@ snapshots: jsonpointer@5.0.1: {} - jsonstream2@3.0.0: - dependencies: - jsonparse: 1.3.1 - through2: 3.0.2 - type-component: 0.0.1 - - jsprim@1.4.2: - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 @@ -28310,10 +25993,6 @@ snapshots: node-gyp-build: 4.8.2 readable-stream: 3.6.2 - keyv@3.1.0: - dependencies: - json-buffer: 3.0.0 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -28326,7 +26005,7 @@ snapshots: klona@2.0.6: {} - knip@5.30.6(@types/node@22.5.5)(typescript@5.6.3): + knip@5.41.1(@types/node@22.5.5)(typescript@5.6.3): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 @@ -28334,34 +26013,25 @@ snapshots: easy-table: 1.2.0 enhanced-resolve: 5.17.1 fast-glob: 3.3.2 - jiti: 1.21.6 + jiti: 2.4.2 js-yaml: 4.1.0 minimist: 1.2.8 picocolors: 1.1.1 picomatch: 4.0.2 pretty-ms: 9.1.0 - smol-toml: 1.3.0 + smol-toml: 1.3.1 strip-json-comments: 5.0.1 summary: 2.1.0 typescript: 5.6.3 zod: 3.23.8 zod-validation-error: 3.4.0(zod@3.23.8) - labeled-stream-splicer@2.0.2: - dependencies: - inherits: 2.0.4 - stream-splicer: 2.0.1 - language-subtag-registry@0.3.22: {} language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.22 - latest-version@5.1.0: - dependencies: - package-json: 6.5.0 - launch-editor@2.6.0: dependencies: picocolors: 1.1.1 @@ -28372,15 +26042,8 @@ snapshots: readable-stream: 2.3.8 optional: true - leven@2.1.0: {} - leven@3.1.0: {} - levn@0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -28531,20 +26194,15 @@ snapshots: lodash.camelcase@4.3.0: {} - lodash.chunk@4.2.0: {} - - lodash.clonedeep@4.5.0: {} + lodash.clonedeep@4.5.0: + optional: true lodash.debounce@4.0.8: {} - lodash.flatten@4.4.0: {} - lodash.flattendeep@4.4.0: {} lodash.isequal@4.5.0: {} - lodash.memoize@3.0.4: {} - lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -28591,8 +26249,6 @@ snapshots: loglevel@1.9.1: optional: true - long@4.0.0: {} - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -28605,16 +26261,10 @@ snapshots: dependencies: tslib: 2.8.0 - lower-case@1.1.4: {} - lower-case@2.0.2: dependencies: tslib: 2.8.0 - lowercase-keys@1.0.1: {} - - lowercase-keys@2.0.0: {} - lru-cache@10.4.3: {} lru-cache@4.1.5: @@ -28636,16 +26286,6 @@ snapshots: lz-string@1.5.0: {} - macos-release@2.5.1: {} - - magic-string@0.23.2: - dependencies: - sourcemap-codec: 1.4.8 - - magic-string@0.25.1: - dependencies: - sourcemap-codec: 1.4.8 - magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 @@ -28680,8 +26320,6 @@ snapshots: dependencies: tmpl: 1.0.5 - manage-path@2.0.0: {} - map-cache@0.2.2: {} mark.js@8.11.1: {} @@ -28763,10 +26401,6 @@ snapshots: merge-descriptors@1.0.1: {} - merge-source-map@1.0.4: - dependencies: - source-map: 0.5.7 - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -28979,38 +26613,19 @@ snapshots: mime@3.0.0: {} - mimic-fn@1.2.0: {} - mimic-fn@2.1.0: {} - mimic-fn@3.1.0: {} - mimic-fn@4.0.0: {} - mimic-response@1.0.1: {} - mini-css-extract-plugin@2.7.6(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: schema-utils: 4.2.0 webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) - minify-stream@2.1.0: - dependencies: - concat-stream: 2.0.0 - convert-source-map: 1.9.0 - duplexify: 4.1.3 - from2-string: 1.1.0 - terser: 4.8.1 - xtend: 4.0.2 - minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} - minimatch@3.0.5: - dependencies: - brace-expansion: 1.1.11 - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -29047,8 +26662,6 @@ snapshots: mitt@3.0.1: {} - mkdirp-classic@0.5.3: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -29057,44 +26670,6 @@ snapshots: mkdirp@3.0.1: {} - ml-array-max@1.2.4: - dependencies: - is-any-array: 2.0.1 - - ml-array-min@1.2.3: - dependencies: - is-any-array: 2.0.1 - - ml-array-rescale@1.3.7: - dependencies: - is-any-array: 2.0.1 - ml-array-max: 1.2.4 - ml-array-min: 1.2.3 - - ml-distance-euclidean@2.0.0: {} - - ml-kmeans@4.2.1: - dependencies: - ml-distance-euclidean: 2.0.0 - ml-matrix: 5.3.0 - ml-nearest-vector: 2.0.1 - ml-random: 0.5.0 - - ml-matrix@5.3.0: - dependencies: - ml-array-max: 1.2.4 - ml-array-rescale: 1.3.7 - - ml-nearest-vector@2.0.1: - dependencies: - ml-distance-euclidean: 2.0.0 - - ml-random@0.5.0: - dependencies: - ml-xsadd: 2.0.0 - - ml-xsadd@2.0.0: {} - mlly@1.7.1: dependencies: acorn: 8.13.0 @@ -29102,26 +26677,6 @@ snapshots: pkg-types: 1.1.3 ufo: 1.5.4 - module-deps@6.2.3: - dependencies: - JSONStream: 1.3.5 - browser-resolve: 2.0.0 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - defined: 1.0.1 - detective: 5.2.1 - duplexer2: 0.1.4 - inherits: 2.0.4 - parents: 1.0.1 - readable-stream: 2.3.8 - resolve: 1.22.8 - stream-combiner2: 1.1.1 - subarg: 1.0.0 - through2: 2.0.5 - xtend: 4.0.2 - - morphdom@2.7.4: {} - motion@10.16.2: dependencies: '@motionone/animation': 10.18.0 @@ -29168,110 +26723,22 @@ snapshots: multiformats@9.9.0: {} - multistream@2.1.1: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - - mute-stream@0.0.7: {} - mute-stream@0.0.8: {} mute-stream@1.0.0: {} - mutexify@1.4.0: - dependencies: - queue-tick: 1.0.1 - mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - nano-css@5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - css-tree: 1.1.3 - csstype: 3.1.3 - fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 7.0.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - rtl-css-js: 1.16.1 - stacktrace-js: 2.0.2 - stylis: 4.3.1 - - nanoassert@1.1.0: {} - - nanobench@2.1.1: - dependencies: - browser-process-hrtime: 0.1.3 - chalk: 1.1.3 - mutexify: 1.4.0 - pretty-hrtime: 1.0.3 - - nanohtml@1.10.0: - dependencies: - acorn-node: 1.8.2 - camel-case: 3.0.0 - convert-source-map: 1.9.0 - estree-is-member-expression: 1.0.0 - hyperx: 2.5.4 - is-boolean-attribute: 0.0.1 - nanoassert: 1.1.0 - nanobench: 2.1.1 - normalize-html-whitespace: 0.2.0 - through2: 2.0.5 - transform-ast: 2.4.4 - nanoid@3.3.7: {} natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} - ndarray-blas-level1@1.1.3: {} - - ndarray-cholesky-factorization@1.0.2: - dependencies: - ndarray: 1.0.19 - ndarray-blas-level1: 1.1.3 - ndarray-scratch: 1.2.0 - - ndarray-crout-decomposition@1.1.0: {} - - ndarray-determinant@1.0.0: - dependencies: - ndarray-crout-decomposition: 1.1.0 - ndarray-diagonal: 1.0.0 - ndarray-ops: 1.2.2 - ndarray-scratch: 1.2.0 - - ndarray-diagonal@1.0.0: - dependencies: - ndarray: 1.0.19 - - ndarray-inv@0.2.0: - dependencies: - ndarray: 1.0.19 - ndarray-scratch: 1.2.0 - - ndarray-ops@1.2.2: - dependencies: - cwise-compiler: 1.1.3 - - ndarray-scratch@1.2.0: - dependencies: - ndarray: 1.0.19 - ndarray-ops: 1.2.2 - typedarray-pool: 1.2.0 - - ndarray@1.0.19: - dependencies: - iota-array: 1.0.0 - is-buffer: 1.1.6 - needle@3.3.1: dependencies: iconv-lite: 0.6.3 @@ -29283,8 +26750,6 @@ snapshots: netmask@2.0.2: {} - next-tick@1.1.0: {} - next@14.2.15(@babel/core@7.25.8)(@playwright/test@1.49.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.15 @@ -29313,10 +26778,6 @@ snapshots: nice-try@1.0.5: {} - no-case@2.3.2: - dependencies: - lower-case: 1.1.4 - no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -29345,10 +26806,6 @@ snapshots: node-fetch-native@1.6.4: {} - node-fetch@2.6.13: - dependencies: - whatwg-url: 14.1.0 - node-fetch@2.7.0: dependencies: whatwg-url: 14.1.0 @@ -29422,8 +26879,6 @@ snapshots: dependencies: abbrev: 1.1.1 - normalize-html-whitespace@0.2.0: {} - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -29439,8 +26894,6 @@ snapshots: normalize-range@0.1.2: {} - normalize-url@4.5.1: {} - normalize-url@6.1.0: {} npm-package-arg@11.0.2: @@ -29480,8 +26933,6 @@ snapshots: nullthrows@1.1.1: {} - number-is-nan@1.0.1: {} - nwsapi@2.2.5: {} nyc@17.1.0: @@ -29516,8 +26967,6 @@ snapshots: transitivePeerDependencies: - supports-color - oauth-sign@0.9.0: {} - ob1@0.80.12: dependencies: flow-enums-runtime: 0.0.6 @@ -29603,16 +27052,10 @@ snapshots: on-headers@1.0.2: {} - on-net-listen@1.1.2: {} - once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@2.0.1: - dependencies: - mimic-fn: 1.2.0 - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -29643,19 +27086,6 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - opn@5.5.0: - dependencies: - is-wsl: 1.1.0 - - optionator@0.8.3: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.5 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -29691,19 +27121,12 @@ snapshots: os-browserify@0.3.0: {} - os-name@4.0.1: - dependencies: - macos-release: 2.5.1 - windows-release: 4.0.0 - os-tmpdir@1.0.2: {} outdent@0.5.0: {} outvariant@1.4.3: {} - p-cancelable@1.1.0: {} - p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -29772,13 +27195,6 @@ snapshots: package-json-from-dist@1.0.0: {} - package-json@6.5.0: - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.1 - package-manager-detector@0.2.2: {} pako@1.0.11: {} @@ -29792,10 +27208,6 @@ snapshots: dependencies: callsites: 3.1.0 - parents@1.0.1: - dependencies: - path-platform: 0.11.15 - parse-asn1@5.1.6: dependencies: asn1.js: 5.4.1 @@ -29867,8 +27279,6 @@ snapshots: path-parse@1.0.7: {} - path-platform@0.11.15: {} - path-root-regex@0.1.2: {} path-root@0.1.1: @@ -30122,13 +27532,6 @@ snapshots: postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-import@13.0.0(postcss@8.4.49): - dependencies: - postcss: 8.4.49 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.8 - postcss-import@15.1.0(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -30175,11 +27578,11 @@ snapshots: postcss: 8.4.49 ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3) - postcss-load-config@6.0.1(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 2.3.3 + jiti: 2.4.2 postcss: 8.4.49 tsx: 4.19.1 yaml: 2.6.0 @@ -30465,12 +27868,8 @@ snapshots: preact@10.4.1: {} - prelude-ls@1.1.2: {} - prelude-ls@1.2.1: {} - prepend-http@2.0.0: {} - prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.3.0 @@ -30512,8 +27911,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-hrtime@1.0.3: {} - pretty-ms@9.1.0: dependencies: parse-ms: 4.0.0 @@ -30553,23 +27950,6 @@ snapshots: property-expr@2.0.5: {} - protocol-buffers-encodings@1.2.0: - dependencies: - b4a: 1.6.6 - signed-varint: 2.0.1 - varint: 5.0.0 - - protocol-buffers-schema@3.6.0: {} - - protocol-buffers@4.2.0: - dependencies: - generate-function: 2.3.1 - generate-object-property: 1.2.0 - protocol-buffers-encodings: 1.2.0 - protocol-buffers-schema: 3.6.0 - signed-varint: 2.0.1 - varint: 5.0.2 - proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -30612,22 +27992,12 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 - pumpify@2.0.1: - dependencies: - duplexify: 4.1.3 - inherits: 2.0.4 - pump: 3.0.0 - punycode.js@2.3.1: {} punycode@1.4.1: {} punycode@2.3.1: {} - pupa@2.1.1: - dependencies: - escape-goat: 2.1.1 - pure-rand@6.1.0: {} q@1.5.1: {} @@ -30665,8 +28035,6 @@ snapshots: dependencies: side-channel: 1.0.6 - qs@6.5.3: {} - query-selector-shadow-dom@1.0.1: optional: true @@ -30685,7 +28053,8 @@ snapshots: queue-microtask@1.2.3: {} - queue-tick@1.0.1: {} + queue-tick@1.0.1: + optional: true queue@6.0.2: dependencies: @@ -30693,12 +28062,6 @@ snapshots: quick-format-unescaped@4.0.4: {} - quote-stream@1.0.2: - dependencies: - buffer-equal: 0.0.1 - minimist: 1.2.8 - through2: 2.0.5 - radix3@1.1.2: {} raf@3.4.1: @@ -30725,13 +28088,6 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - react-app-polyfill@3.0.0: dependencies: core-js: 3.31.0 @@ -30741,7 +28097,7 @@ snapshots: regenerator-runtime: 0.13.11 whatwg-fetch: 3.6.2 - react-dev-utils@12.0.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + react-dev-utils@12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: '@babel/code-frame': 7.22.5 address: 1.2.2 @@ -30752,7 +28108,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -30877,7 +28233,7 @@ snapshots: optionalDependencies: '@types/react': 18.3.11 - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.3.3))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.22.5 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) @@ -30894,9 +28250,9 @@ snapshots: css-minimizer-webpack-plugin: 3.4.1(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) dotenv: 10.0.0 dotenv-expand: 5.1.0 - eslint: 9.9.1(jiti@2.3.3) - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.3.3))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) - eslint-webpack-plugin: 3.2.0(eslint@9.9.1(jiti@2.3.3))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + eslint: 9.9.1(jiti@2.4.2) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + eslint-webpack-plugin: 3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) file-loader: 6.2.0(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) fs-extra: 10.1.0 html-webpack-plugin: 5.5.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) @@ -30913,7 +28269,7 @@ snapshots: prompts: 2.4.2 react: 18.3.1 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@9.9.1(jiti@2.3.3))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + react-dev-utils: 12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) react-refresh: 0.11.0 resolve: 1.22.2 resolve-url-loader: 4.0.0 @@ -30984,30 +28340,6 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-universal-interface@0.6.2(react@18.3.1)(tslib@2.8.0): - dependencies: - react: 18.3.1 - tslib: 2.8.0 - - react-use@17.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@types/js-cookie': 2.2.7 - '@xobotyi/scrollbar-width': 1.9.5 - copy-to-clipboard: 3.3.3 - fast-deep-equal: 3.1.3 - fast-shallow-equal: 1.0.0 - js-cookie: 2.2.1 - nano-css: 5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.8.0) - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 - throttle-debounce: 3.0.1 - ts-easing: 0.2.0 - tslib: 2.8.0 - react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -31016,10 +28348,6 @@ snapshots: dependencies: pify: 2.3.0 - read-only-stream@2.0.0: - dependencies: - readable-stream: 2.3.8 - read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 @@ -31141,14 +28469,6 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.0 - registry-auth-token@4.2.2: - dependencies: - rc: 1.2.8 - - registry-url@5.1.0: - dependencies: - rc: 1.2.8 - regjsgen@0.8.0: {} regjsparser@0.11.1: @@ -31159,8 +28479,6 @@ snapshots: dependencies: jsesc: 0.5.0 - reinterval@1.1.0: {} - relateurl@0.2.7: {} relay-runtime@12.0.0: @@ -31191,35 +28509,6 @@ snapshots: repeat-string@1.6.1: {} - replace@1.2.2: - dependencies: - chalk: 2.4.2 - minimatch: 3.0.5 - yargs: 15.4.1 - - request@2.88.2: - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -31228,8 +28517,6 @@ snapshots: requires-port@1.0.0: {} - resize-observer-polyfill@1.5.1: {} - resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -31270,20 +28557,11 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@1.0.2: - dependencies: - lowercase-keys: 1.0.1 - resq@1.11.0: dependencies: fast-deep-equal: 2.0.1 optional: true - restore-cursor@2.0.0: - dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -31294,8 +28572,6 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - retimer@3.0.0: {} - retry@0.13.1: {} reusify@1.0.4: {} @@ -31391,10 +28667,6 @@ snapshots: bufferutil: 4.0.8 utf-8-validate: 5.0.10 - rtl-css-js@1.16.1: - dependencies: - '@babel/runtime': 7.25.7 - run-applescript@7.0.0: {} run-async@2.4.1: {} @@ -31403,10 +28675,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rxjs@6.6.7: - dependencies: - tslib: 1.14.1 - rxjs@7.8.1: dependencies: tslib: 2.8.0 @@ -31482,18 +28750,6 @@ snapshots: ajv-formats: 2.1.1(ajv@8.14.0) ajv-keywords: 5.1.0(ajv@8.14.0) - scope-analyzer@2.1.2: - dependencies: - array-from: 2.1.1 - dash-ast: 2.0.1 - es6-map: 0.1.5 - es6-set: 0.1.6 - es6-symbol: 3.1.4 - estree-is-function: 1.0.0 - get-assigned-identifiers: 1.2.0 - - screenfull@5.2.0: {} - scuid@1.1.0: {} search-insights@2.11.0: {} @@ -31504,8 +28760,6 @@ snapshots: node-addon-api: 5.1.0 node-gyp-build: 4.8.2 - seedrandom@3.0.5: {} - select-hose@2.0.0: {} selfsigned@2.4.1: @@ -31513,10 +28767,6 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - semver-diff@3.1.1: - dependencies: - semver: 6.3.1 - semver@5.7.2: {} semver@6.3.1: {} @@ -31636,8 +28886,6 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - set-harmonic-interval@1.0.1: {} - setimmediate@1.0.5: {} setprototypeof@1.1.0: {} @@ -31653,12 +28901,6 @@ snapshots: dependencies: kind-of: 6.0.3 - shallow-copy@0.0.1: {} - - shasum-object@1.0.0: - dependencies: - fast-safe-stringify: 2.1.1 - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -31678,10 +28920,6 @@ snapshots: '@shikijs/core': 1.14.1 '@types/hast': 3.0.4 - showdown@1.9.1: - dependencies: - yargs: 14.2.3 - side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -31695,24 +28933,12 @@ snapshots: signal-exit@4.1.0: {} - signed-varint@2.0.1: - dependencies: - varint: 5.0.2 - signedsource@1.0.0: {} - simple-concat@1.0.1: {} - simple-update-notifier@2.0.0: dependencies: semver: 7.6.3 - single-line-log@1.1.2: - dependencies: - string-width: 1.0.2 - - sinusoidal-decimal@1.0.0: {} - sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.24 @@ -31747,7 +28973,7 @@ snapshots: smart-buffer@4.2.0: {} - smol-toml@1.3.0: {} + smol-toml@1.3.1: {} snake-case@3.0.4: dependencies: @@ -31802,11 +29028,6 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - sonic-boom@1.4.1: - dependencies: - atomic-sleep: 1.0.0 - flatstr: 1.0.12 - sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 @@ -31827,8 +29048,6 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.6: {} - source-map@0.5.7: {} source-map@0.6.1: {} @@ -31907,24 +29126,8 @@ snapshots: sprintf-js@1.1.3: {} - sshpk@1.18.0: - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - stable@0.1.8: {} - stack-generator@2.0.10: - dependencies: - stackframe: 1.3.4 - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -31933,42 +29136,10 @@ snapshots: stackframe@1.3.4: {} - stacktrace-gps@3.1.2: - dependencies: - source-map: 0.5.6 - stackframe: 1.3.4 - - stacktrace-js@2.0.2: - dependencies: - error-stack-parser: 2.1.4 - stack-generator: 2.0.10 - stacktrace-gps: 3.1.2 - stacktrace-parser@0.1.10: dependencies: type-fest: 0.7.1 - static-eval@2.1.1: - dependencies: - escodegen: 2.1.0 - - static-module@3.0.4: - dependencies: - acorn-node: 1.8.2 - concat-stream: 1.6.2 - convert-source-map: 1.9.0 - duplexer2: 0.1.4 - escodegen: 1.14.3 - has: 1.0.3 - magic-string: 0.25.1 - merge-source-map: 1.0.4 - object-inspect: 1.13.2 - readable-stream: 2.3.8 - scope-analyzer: 2.1.2 - shallow-copy: 0.0.1 - static-eval: 2.1.1 - through2: 2.0.5 - statuses@1.5.0: {} statuses@2.0.1: {} @@ -31986,15 +29157,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - stream-collector@1.0.1: - dependencies: - once: 1.4.0 - - stream-combiner2@1.1.1: - dependencies: - duplexer2: 0.1.4 - readable-stream: 2.3.8 - stream-http@3.2.0: dependencies: builtin-status-codes: 3.0.0 @@ -32004,21 +29166,6 @@ snapshots: stream-shift@1.0.3: {} - stream-splicer@2.0.1: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - - stream-template@0.0.10: - dependencies: - end-of-stream: 1.4.4 - readable-stream: 2.3.8 - - streaming-json-stringify@3.1.0: - dependencies: - json-stringify-safe: 5.0.1 - readable-stream: 2.3.8 - streamsearch@1.1.0: {} streamx@2.18.0: @@ -32048,17 +29195,6 @@ snapshots: string-natural-compare@3.0.1: {} - string-width@1.0.2: - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - - string-width@2.1.1: - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - string-width@3.1.0: dependencies: emoji-regex: 7.0.3 @@ -32147,14 +29283,6 @@ snapshots: is-obj: 1.0.1 is-regexp: 1.0.0 - strip-ansi@3.0.1: - dependencies: - ansi-regex: 2.1.1 - - strip-ansi@4.0.0: - dependencies: - ansi-regex: 3.0.1 - strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 @@ -32177,8 +29305,6 @@ snapshots: strip-final-newline@3.0.0: {} - strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} strip-json-comments@5.0.1: {} @@ -32202,12 +29328,6 @@ snapshots: postcss: 8.4.49 postcss-selector-parser: 6.0.13 - stylis@4.3.1: {} - - subarg@1.0.0: - dependencies: - minimist: 1.2.8 - sucrase@3.32.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -32230,8 +29350,6 @@ snapshots: superstruct@1.0.4: {} - supports-color@2.0.0: {} - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -32312,16 +29430,10 @@ snapshots: transitivePeerDependencies: - typescript - syntax-error@1.4.0: - dependencies: - acorn-node: 1.8.2 - system-architecture@0.1.0: {} tabbable@6.2.0: {} - tachyons@4.12.0: {} - tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)): dependencies: '@alloc/quick-lru': 5.2.0 @@ -32428,13 +29540,6 @@ snapshots: '@swc/core': 1.7.14(@swc/helpers@0.5.12) esbuild: 0.17.19 - terser@4.8.1: - dependencies: - acorn: 8.13.0 - commander: 2.20.3 - source-map: 0.6.1 - source-map-support: 0.5.21 - terser@5.18.2: dependencies: '@jridgewell/source-map': 0.3.6 @@ -32497,38 +29602,21 @@ snapshots: throat@6.0.2: {} - throttle-debounce@3.0.1: {} - through2@2.0.5: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 - through2@3.0.2: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - through2@4.0.2: - dependencies: - readable-stream: 3.6.2 - through@2.3.8: {} thunky@1.1.0: {} tightrope@0.2.0: {} - timers-browserify@1.4.2: - dependencies: - process: 0.11.10 - timers-browserify@2.0.12: dependencies: setimmediate: 1.0.5 - timestring@6.0.0: {} - tiny-case@1.0.3: {} tinybench@2.9.0: {} @@ -32551,8 +29639,6 @@ snapshots: to-fast-properties@2.0.0: {} - to-readable-stream@1.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -32571,11 +29657,6 @@ snapshots: dependencies: nopt: 1.0.10 - tough-cookie@2.5.0: - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - tough-cookie@4.1.4: dependencies: psl: 1.9.0 @@ -32587,16 +29668,6 @@ snapshots: dependencies: punycode: 2.3.1 - transform-ast@2.4.4: - dependencies: - acorn-node: 1.8.2 - convert-source-map: 1.9.0 - dash-ast: 1.0.0 - is-buffer: 2.0.5 - magic-string: 0.23.2 - merge-source-map: 1.0.4 - nanobench: 2.1.1 - tree-dump@1.0.2(tslib@2.8.0): dependencies: tslib: 2.8.0 @@ -32609,8 +29680,6 @@ snapshots: dependencies: typescript: 5.6.3 - ts-easing@0.2.0: {} - ts-essentials@1.0.4: {} ts-generator@0.1.1: @@ -32726,17 +29795,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - ttest@3.0.0: - dependencies: - distributions: 2.2.0 - summary: 2.1.0 - tty-browserify@0.0.1: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - tunnel@0.0.6: {} turbo-darwin-64@2.1.2: @@ -32745,10 +29805,6 @@ snapshots: turbo-darwin-arm64@2.1.2: optional: true - turbo-json-parse@2.3.0: - dependencies: - generate-function: 2.3.1 - turbo-linux-64@2.1.2: optional: true @@ -32770,18 +29826,10 @@ snapshots: turbo-windows-64: 2.1.2 turbo-windows-arm64: 2.1.2 - tweetnacl@0.14.5: {} - - type-check@0.3.2: - dependencies: - prelude-ls: 1.1.2 - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-component@0.0.1: {} - type-detect@4.0.8: {} type-fest@0.16.0: {} @@ -32809,8 +29857,6 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type@2.7.3: {} - typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -32843,17 +29889,10 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedarray-pool@1.2.0: - dependencies: - bit-twiddle: 1.0.2 - dup: 1.0.0 - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - typedarray@0.0.6: {} - typedoc@0.26.3(typescript@5.6.3): dependencies: lunr: 2.3.9 @@ -32894,8 +29933,6 @@ snapshots: dependencies: multiformats: 9.9.0 - umd@3.0.3: {} - unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -32913,14 +29950,6 @@ snapshots: uncrypto@0.1.3: {} - undeclared-identifiers@1.1.3: - dependencies: - acorn-node: 1.8.2 - dash-ast: 1.0.0 - get-assigned-identifiers: 1.2.0 - simple-concat: 1.0.1 - xtend: 4.0.2 - undefsafe@2.0.5: {} undici-types@5.26.5: {} @@ -32958,8 +29987,6 @@ snapshots: unicorn-magic@0.1.0: {} - uniq@1.0.1: {} - unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 @@ -32980,13 +30007,6 @@ snapshots: unpipe@1.0.0: {} - unplugin@1.14.1(webpack-sources@3.2.3): - dependencies: - acorn: 8.13.0 - webpack-virtual-modules: 0.6.2 - optionalDependencies: - webpack-sources: 3.2.3 - unquote@1.1.1: {} unstorage@1.10.2(idb-keyval@6.2.1): @@ -33026,29 +30046,10 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-notifier@5.1.0: - dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.6.3 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - upper-case-first@2.0.2: dependencies: tslib: 2.8.0 - upper-case@1.1.3: {} - upper-case@2.0.2: dependencies: tslib: 2.8.0 @@ -33059,10 +30060,6 @@ snapshots: dependencies: punycode: 2.3.1 - url-parse-lax@3.0.0: - dependencies: - prepend-http: 2.0.0 - url-parse@1.5.10: dependencies: querystringify: 2.2.0 @@ -33108,8 +30105,6 @@ snapshots: util-deprecate@1.0.2: {} - util-extend@1.0.3: {} - util.promisify@1.0.1: dependencies: define-properties: 1.2.1 @@ -33117,10 +30112,6 @@ snapshots: has-symbols: 1.0.3 object.getownpropertydescriptors: 2.1.6 - util@0.10.4: - dependencies: - inherits: 2.0.3 - util@0.12.5: dependencies: inherits: 2.0.4 @@ -33133,10 +30124,6 @@ snapshots: utils-merge@1.0.1: {} - uuid-parse@1.1.0: {} - - uuid@3.4.0: {} - uuid@8.3.2: {} uuid@9.0.1: {} @@ -33169,18 +30156,8 @@ snapshots: value-or-promise@1.0.12: {} - varint@5.0.0: {} - - varint@5.0.2: {} - vary@1.1.2: {} - verror@1.10.0: - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 @@ -33605,8 +30582,6 @@ snapshots: webextension-polyfill@0.10.0: {} - webfontloader@1.6.28: {} - webidl-conversions@5.0.0: {} webidl-conversions@6.1.0: {} @@ -33680,8 +30655,6 @@ snapshots: webpack-sources@3.2.3: {} - webpack-virtual-modules@0.6.2: {} - webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19): dependencies: '@types/eslint-scope': 3.7.4 @@ -33800,14 +30773,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - widest-line@3.1.0: - dependencies: - string-width: 4.2.3 - - windows-release@4.0.0: - dependencies: - execa: 4.1.0 - word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -34014,8 +30979,6 @@ snapshots: bufferutil: 4.0.8 utf-8-validate: 6.0.4 - xdg-basedir@4.0.0: {} - xml-name-validator@3.0.0: {} xmlchars@2.2.0: {} @@ -34045,11 +31008,6 @@ snapshots: camelcase: 5.3.1 decamelize: 1.2.0 - yargs-parser@15.0.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -34072,20 +31030,6 @@ snapshots: y18n: 4.0.3 yargs-parser: 13.1.2 - yargs@14.2.3: - dependencies: - cliui: 5.0.0 - decamelize: 1.2.0 - find-up: 3.0.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 3.1.0 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 15.0.3 - yargs@15.4.1: dependencies: cliui: 6.0.0 diff --git a/scripts/tests-find.sh b/scripts/tests-find.sh index b6a808a4162..fe360babdec 100755 --- a/scripts/tests-find.sh +++ b/scripts/tests-find.sh @@ -14,4 +14,6 @@ elif [[ $* == *--e2e* ]]; then grep -lE "\*\s+@group\s+e2e" $FILES elif [[ $* == *--integration* ]]; then grep -lE "\*\s+@group\s+integration" $FILES +elif [[ $* == *--network* ]]; then + grep -lE "\*\s+@group\s+network" $FILES fi diff --git a/scripts/tests-validate.sh b/scripts/tests-validate.sh index 59da48b12e9..eec27cfdf6a 100755 --- a/scripts/tests-validate.sh +++ b/scripts/tests-validate.sh @@ -5,10 +5,10 @@ ROOT=$(cd "$(dirname "$0")/.."; pwd) # ignore files in apps/create-fuels-counter-guide/test/ FILES=$(find $ROOT/{apps,packages,internal} -name '*.test.ts' | grep -v "apps/create-fuels-counter-guide/test/") -INVALID_FILES=$(grep -LE "@group\s+(node|browser|e2e|integration)" $FILES) +INVALID_FILES=$(grep -LE "@group\s+(node|browser|e2e|integration|network)" $FILES) if [ ! -z "$INVALID_FILES" ]; then echo -e "Test files don't contain a test environment configuration:" echo -e $INVALID_FILES exit 1 -fi \ No newline at end of file +fi diff --git a/templates/nextjs/package.json b/templates/nextjs/package.json index b7f18b1308e..77d5888c79b 100644 --- a/templates/nextjs/package.json +++ b/templates/nextjs/package.json @@ -17,15 +17,12 @@ "@fuels/react": "0.36.1", "@tanstack/react-query": "5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "5.1.14", - "@wagmi/core": "2.13.9", "dotenv": "16.4.5", "fuels": "workspace:*", "next": "14.2.15", "react": "18.3.1", "react-dom": "18.3.1", - "react-toastify": "10.0.6", - "react-use": "17.5.1" + "react-toastify": "10.0.6" }, "devDependencies": { "@types/node": "22.5.5", diff --git a/templates/vite/package.json b/templates/vite/package.json index ad8c67df712..8fa7f0efca6 100644 --- a/templates/vite/package.json +++ b/templates/vite/package.json @@ -17,8 +17,6 @@ "@fuels/react": "0.36.1", "@tanstack/react-query": "5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "5.1.14", - "@wagmi/core": "2.13.9", "dotenv": "16.4.5", "fuels": "workspace:*", "react": "18.3.1", @@ -28,7 +26,6 @@ "devDependencies": { "@vitejs/plugin-react": "4.3.3", "@eslint/js": "9.10.0", - "@tanstack/router-plugin": "1.58.12", "@playwright/test": "1.49.1", "@types/react": "18.3.11", "@types/react-dom": "18.3",