From 28c0b1cdf12df80b1bab1067495fcfb81e4ce086 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 14:18:15 -0300 Subject: [PATCH 001/113] Starting new code-snippets app --- apps/docs-snippets2/.eslintrc.js | 6 +++ apps/docs-snippets2/.gitignore | 2 + apps/docs-snippets2/fuels.config.ts | 7 ++++ apps/docs-snippets2/package.json | 21 ++++++++++ apps/docs-snippets2/scripts/wrap-snippets.ts | 38 +++++++++++++++++ apps/docs-snippets2/sway/.gitignore | 2 + apps/docs-snippets2/sway/Forc.toml | 2 + apps/docs-snippets2/tsconfig.json | 10 +++++ apps/docs-snippets2/tsdoc.json | 4 ++ pnpm-lock.yaml | 43 ++++++++++++++------ 10 files changed, 123 insertions(+), 12 deletions(-) create mode 100644 apps/docs-snippets2/.eslintrc.js create mode 100644 apps/docs-snippets2/.gitignore create mode 100644 apps/docs-snippets2/fuels.config.ts create mode 100644 apps/docs-snippets2/package.json create mode 100644 apps/docs-snippets2/scripts/wrap-snippets.ts create mode 100644 apps/docs-snippets2/sway/.gitignore create mode 100644 apps/docs-snippets2/sway/Forc.toml create mode 100644 apps/docs-snippets2/tsconfig.json create mode 100644 apps/docs-snippets2/tsdoc.json diff --git a/apps/docs-snippets2/.eslintrc.js b/apps/docs-snippets2/.eslintrc.js new file mode 100644 index 0000000000..2632bc8f5f --- /dev/null +++ b/apps/docs-snippets2/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + extends: ['../../.eslintrc.js'], + rules: { + 'no-console': 'off', + }, +}; diff --git a/apps/docs-snippets2/.gitignore b/apps/docs-snippets2/.gitignore new file mode 100644 index 0000000000..76c90135f0 --- /dev/null +++ b/apps/docs-snippets2/.gitignore @@ -0,0 +1,2 @@ +src/typegend +*.wrapped.ts diff --git a/apps/docs-snippets2/fuels.config.ts b/apps/docs-snippets2/fuels.config.ts new file mode 100644 index 0000000000..cf312acb67 --- /dev/null +++ b/apps/docs-snippets2/fuels.config.ts @@ -0,0 +1,7 @@ +import { createConfig } from 'fuels'; + +export default createConfig({ + workspace: './sway', + output: './src/typegend', + forcBuildFlags: ['--release'], +}); diff --git a/apps/docs-snippets2/package.json b/apps/docs-snippets2/package.json new file mode 100644 index 0000000000..3e3a7dc5ff --- /dev/null +++ b/apps/docs-snippets2/package.json @@ -0,0 +1,21 @@ +{ + "name": "@fuel-ts/docs-snippets2", + "version": "0.67.0", + "description": "", + "private": true, + "scripts": { + "build": "run-s wrap:snippets build:forc", + "build:forc": "pnpm fuels build", + "wrap:snippets": "tsx scripts/wrap-snippets.ts", + "pretest": "pnpm build" + }, + "dependencies": { + "fuels": "workspace:*" + }, + "devDependencies": { + "glob": "^10.2.6" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts new file mode 100644 index 0000000000..3b76b3dcc7 --- /dev/null +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -0,0 +1,38 @@ +import { readFileSync, writeFileSync } from 'fs'; +import { globSync } from 'glob'; + +const importsReg = /import[\s\S]+from.+['"];/gm; + +const wrapper = `export const main = async (): Promise => { + const logs: any[] = []; + const console = { log (...args: any[]) { logs.push(args) }}; + // ———>>> + %SNIPPET% + // <<<——— + const singleCall = logs.length === 1 && logs[0].length === 1; + return singleCall ? logs[0][0] : logs; +}`.replace(/^\s{4}/gm, ' '); + +export const wrapSnippet = (filepath: string) => { + const raw = readFileSync(filepath, 'utf8'); + + // match + const imports = raw.match(importsReg)?.toString() ?? ''; + const snippet = imports.length ? raw.split(imports)[1] : raw; + + // format + const indented = snippet.replace(/^/gm, ' ').trim(); + const formatted = wrapper.replace('%SNIPPET%', indented); + + // write + const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); + const wrappedSnippet = [imports, '\n', formatted].join(''); + + writeFileSync(wrappedPath, wrappedSnippet); +}; + +const dir = 'src/**'; +const src = `${dir}/*.ts`; +const ignore = [`src/typegend`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; + +globSync(src, { ignore }).forEach(wrapSnippet); diff --git a/apps/docs-snippets2/sway/.gitignore b/apps/docs-snippets2/sway/.gitignore new file mode 100644 index 0000000000..77d3844f58 --- /dev/null +++ b/apps/docs-snippets2/sway/.gitignore @@ -0,0 +1,2 @@ +out +target diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml new file mode 100644 index 0000000000..c4b464ff15 --- /dev/null +++ b/apps/docs-snippets2/sway/Forc.toml @@ -0,0 +1,2 @@ +[workspace] +members = [] diff --git a/apps/docs-snippets2/tsconfig.json b/apps/docs-snippets2/tsconfig.json new file mode 100644 index 0000000000..6b53687b5a --- /dev/null +++ b/apps/docs-snippets2/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ES2022", + "outDir": "./dist", + "rootDir": "./", + "baseUrl": "./" + }, + "include": ["./src"] +} diff --git a/apps/docs-snippets2/tsdoc.json b/apps/docs-snippets2/tsdoc.json new file mode 100644 index 0000000000..4514b07272 --- /dev/null +++ b/apps/docs-snippets2/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b2803e7c1d..4aea85e451 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -526,6 +526,16 @@ importers: specifier: ^1.6.0 version: 1.6.0(@types/node@20.11.13)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + apps/docs-snippets2: + dependencies: + fuels: + specifier: workspace:* + version: link:../../packages/fuels + devDependencies: + glob: + specifier: ^10.2.6 + version: 10.3.10 + internal/check-imports: dependencies: '@fuel-ts/abi-coder': @@ -6554,7 +6564,6 @@ packages: bun@1.1.17: resolution: {integrity: sha512-x2vUqI75XQ11Qxb3FzQCd/AkbA8A3AiJ35xfw49JeNgu0MTi0RCuW+1zOyFf5iJM0xU07LKf2H69n4ASuEqhtQ==} - cpu: [arm64, x64] os: [darwin, linux, win32] hasBin: true @@ -20505,7 +20514,7 @@ snapshots: '@vitest/utils': 1.6.0 magic-string: 0.30.5 sirv: 2.0.4 - vitest: 1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + vitest: 1.6.0(@types/node@20.11.13)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) optionalDependencies: playwright: 1.44.0 webdriverio: 8.39.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4) @@ -23631,8 +23640,8 @@ snapshots: '@typescript-eslint/parser': 6.9.1(eslint@8.54.0)(typescript@5.2.2) eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.54.0) eslint-plugin-react: 7.33.2(eslint@8.54.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) @@ -23681,13 +23690,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0): dependencies: debug: 4.3.5 enhanced-resolve: 5.15.0 eslint: 8.54.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0))(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0))(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -23708,14 +23717,24 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0))(eslint@8.54.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0))(eslint@8.54.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.9.1(eslint@8.54.0)(typescript@5.2.2) eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.9.1(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.54.0 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color @@ -23766,7 +23785,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -23776,7 +23795,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0))(eslint@8.54.0))(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -23787,7 +23806,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.14.2 optionalDependencies: - '@typescript-eslint/parser': 6.9.1(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack From 48bbcba4d5d871991e9b0314998738c617427e53 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 15:05:26 -0300 Subject: [PATCH 002/113] Porting getting-started snippets --- .../introduction/getting-started.test.ts | 52 ------------------- .../connecting-to-localnode.test.ts | 11 ++++ .../introduction/connecting-to-localnode.ts | 14 +++++ .../connecting-to-testnet.test.ts | 11 ++++ .../src/introduction/connecting-to-testnet.ts | 14 +++++ .../connecting-to-a-local-node.md | 2 +- .../getting-started/connecting-to-testnet.md | 2 +- 7 files changed, 52 insertions(+), 54 deletions(-) delete mode 100644 apps/docs-snippets/src/guide/introduction/getting-started.test.ts create mode 100644 apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts create mode 100644 apps/docs-snippets2/src/introduction/connecting-to-localnode.ts create mode 100644 apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts create mode 100644 apps/docs-snippets2/src/introduction/connecting-to-testnet.ts diff --git a/apps/docs-snippets/src/guide/introduction/getting-started.test.ts b/apps/docs-snippets/src/guide/introduction/getting-started.test.ts deleted file mode 100644 index 533b2be3f4..0000000000 --- a/apps/docs-snippets/src/guide/introduction/getting-started.test.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { FUEL_NETWORK_URL, TESTNET_NETWORK_URL, Provider, Wallet, WalletUnlocked } from 'fuels'; - -/** - * @group node - * @group browser - */ -describe('Getting started', () => { - beforeAll(async () => { - // Avoids using the actual network. - const mockProvider = await Provider.create(FUEL_NETWORK_URL); - vi.spyOn(Provider, 'create').mockResolvedValue(mockProvider); - }); - - it('can connect to a local network', async () => { - // #region connecting-to-the-local-node - // #import { Provider, Wallet }; - - // Create a provider. - const LOCAL_FUEL_NETWORK = 'http://127.0.0.1:4000/v1/graphql'; - const provider = await Provider.create(LOCAL_FUEL_NETWORK); - - // Create our wallet (with a private key). - const PRIVATE_KEY = 'a1447cd75accc6b71a976fd3401a1f6ce318d27ba660b0315ee6ac347bf39568'; - const wallet = Wallet.fromPrivateKey(PRIVATE_KEY, provider); - // #endregion connecting-to-the-local-node - - expect(provider).toBeTruthy(); - expect(provider).toBeInstanceOf(Provider); - expect(wallet).toBeTruthy(); - expect(wallet).toBeInstanceOf(WalletUnlocked); - }); - - it('can connect to testnet', async () => { - // #region connecting-to-the-testnet - // #import { Provider, Wallet, TESTNET_NETWORK_URL }; - - // Create a provider, with the Latest Testnet URL. - const provider = await Provider.create(TESTNET_NETWORK_URL); - - // Create our wallet (with a private key). - const PRIVATE_KEY = 'a1447cd75accc6b71a976fd3401a1f6ce318d27ba660b0315ee6ac347bf39568'; - const wallet = Wallet.fromPrivateKey(PRIVATE_KEY, provider); - - // Perform a balance check. - const balances = await wallet.getBalances(); - // [{ assetId: '0x..', amount: bn(..) }, ..] - // #endregion connecting-to-the-testnet - - expect(balances).toBeTruthy(); - expect(balances).toBeInstanceOf(Array); - }); -}); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts new file mode 100644 index 0000000000..e70f56307d --- /dev/null +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -0,0 +1,11 @@ +import { main } from './connecting-to-testnet.wrapped'; + +/** + * @group node + * @group browser + */ +test('it works', async () => { + const { balances } = await main(); + expect(balances).toBeTruthy(); + expect(balances).toBeInstanceOf(Array); +}); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts new file mode 100644 index 0000000000..72339413bc --- /dev/null +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -0,0 +1,14 @@ +// #region main +import { Provider, Wallet, LOCAL_NETWORK_URL } from 'fuels'; + +const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; + +// Create a provider using the `LOCAL_NETWORK_URL` constant +const provider = await Provider.create(LOCAL_NETWORK_URL); + +// Then use it when creating a wallet +const wallet = Wallet.fromAddress(ADDRESS, provider); +const balances = await wallet.getBalances(); + +console.log({ balances }); +// #endregion main diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts new file mode 100644 index 0000000000..e70f56307d --- /dev/null +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts @@ -0,0 +1,11 @@ +import { main } from './connecting-to-testnet.wrapped'; + +/** + * @group node + * @group browser + */ +test('it works', async () => { + const { balances } = await main(); + expect(balances).toBeTruthy(); + expect(balances).toBeInstanceOf(Array); +}); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts new file mode 100644 index 0000000000..405f1181a8 --- /dev/null +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -0,0 +1,14 @@ +// #region main +import { Provider, Wallet, TESTNET_NETWORK_URL } from 'fuels'; + +const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; + +// Create a provider using the `TESTNET_NETWORK_URL` constant +const provider = await Provider.create(TESTNET_NETWORK_URL); + +// Then use it when creating a wallet +const wallet = Wallet.fromAddress(ADDRESS, provider); +const balances = await wallet.getBalances(); + +console.log({ balances }); +// #endregion main diff --git a/apps/docs/src/guide/getting-started/connecting-to-a-local-node.md b/apps/docs/src/guide/getting-started/connecting-to-a-local-node.md index b9c907291d..3da9ae5ad5 100644 --- a/apps/docs/src/guide/getting-started/connecting-to-a-local-node.md +++ b/apps/docs/src/guide/getting-started/connecting-to-a-local-node.md @@ -7,4 +7,4 @@ Firstly, you will need a local node running on your machine. We recommend one of In the following example, we create a provider to connect to the local node and sign a message. -<<< @/../../docs-snippets/src/guide/introduction/getting-started.test.ts#connecting-to-the-local-node{ts:line-numbers} +<<< @/../../docs-snippets2/src/introduction/connecting-to-localnode.ts#main{ts:line-numbers} diff --git a/apps/docs/src/guide/getting-started/connecting-to-testnet.md b/apps/docs/src/guide/getting-started/connecting-to-testnet.md index 37aae6cdb4..90ea6cde3f 100644 --- a/apps/docs/src/guide/getting-started/connecting-to-testnet.md +++ b/apps/docs/src/guide/getting-started/connecting-to-testnet.md @@ -19,4 +19,4 @@ In the example below, we connect a [Provider](../provider/index.md) to the lates > **Note:** New wallets on the Testnet will not have any assets! You can use the [Faucet](https://faucet-testnet.fuel.network/) to fund your wallet. -<<< @/../../docs-snippets/src/guide/introduction/getting-started.test.ts#connecting-to-the-testnet{ts:line-numbers} +<<< @/../../docs-snippets2/src/introduction/connecting-to-testnet.ts#main{ts:line-numbers} From 5b4f6782a8277807ee0070821e8270f31f349a2f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 15:17:16 -0300 Subject: [PATCH 003/113] Ignoring new app in changesets --- .changeset/config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/config.json b/.changeset/config.json index f563048608..ea1ab90cf0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -17,6 +17,7 @@ "demo-node-esm", "demo-typegen", "@fuel-ts/docs-snippets", + "@fuel-ts/docs-snippets2", "template-nextjs", "create-fuels-counter-guide", "demo-wallet-sdk-react" From a45a02a653a2f7490d75eca76e31a8d1941a331e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 15:28:13 -0300 Subject: [PATCH 004/113] Adding changeset --- .changeset/lemon-cars-shop.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changeset/lemon-cars-shop.md diff --git a/.changeset/lemon-cars-shop.md b/.changeset/lemon-cars-shop.md new file mode 100644 index 0000000000..1d2ece6c7b --- /dev/null +++ b/.changeset/lemon-cars-shop.md @@ -0,0 +1,4 @@ +--- +--- + +feat: new infra for code snippets From b382460b6240d2e5540a84a4e2cbc89397238120 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 15:33:02 -0300 Subject: [PATCH 005/113] Ignoring wrapped snippets files (generated) --- .eslintignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.eslintignore b/.eslintignore index b6a870793a..24543eaef9 100644 --- a/.eslintignore +++ b/.eslintignore @@ -23,3 +23,5 @@ CHANGELOG.md *.hbs templates/nextjs + +*.wrapped.ts From a83e65c1562b93fcee3f6e4adf82e83045d18e68 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 2 Jul 2024 15:56:06 -0300 Subject: [PATCH 006/113] =?UTF-8?q?Ignore=20test=20files=20trying=20to=20i?= =?UTF-8?q?mport=20files=20that=20haven=E2=80=99t=20been=20built=20yet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .knip.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.knip.json b/.knip.json index 047d7bf5d4..5aa392626c 100644 --- a/.knip.json +++ b/.knip.json @@ -4,7 +4,8 @@ "**/*/.vitepress/*", "/apps/docs/*", "/packages/abi-typegen/test/**", - "templates/**" + "templates/**", + "/apps/docs-snippets2/**/*.test.ts" ], "ignoreDependencies": [ "@/sway-api/*", From 89bd596b9d5396deb2ba26fd555d2c607753ca8b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:24:26 -0300 Subject: [PATCH 007/113] Using real code/file rather than code-string --- apps/docs-snippets2/scripts/wrap-snippets.ts | 14 ++++---------- apps/docs-snippets2/scripts/wrapper-fn.ts | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 apps/docs-snippets2/scripts/wrapper-fn.ts diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 3b76b3dcc7..d57a64afbe 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -1,17 +1,11 @@ import { readFileSync, writeFileSync } from 'fs'; import { globSync } from 'glob'; +import { join } from 'path'; const importsReg = /import[\s\S]+from.+['"];/gm; -const wrapper = `export const main = async (): Promise => { - const logs: any[] = []; - const console = { log (...args: any[]) { logs.push(args) }}; - // ———>>> - %SNIPPET% - // <<<——— - const singleCall = logs.length === 1 && logs[0].length === 1; - return singleCall ? logs[0][0] : logs; -}`.replace(/^\s{4}/gm, ' '); +const wrapperFnFilepath = join(__dirname, 'wrapper-fn.ts'); +const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); export const wrapSnippet = (filepath: string) => { const raw = readFileSync(filepath, 'utf8'); @@ -22,7 +16,7 @@ export const wrapSnippet = (filepath: string) => { // format const indented = snippet.replace(/^/gm, ' ').trim(); - const formatted = wrapper.replace('%SNIPPET%', indented); + const formatted = wrapperFnContents.replace('// %SNIPPET%', indented); // write const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts new file mode 100644 index 0000000000..1b7b5547ea --- /dev/null +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable no-global-assign */ + +export const main = async (url?: string): Promise => { + const logs: any[] = []; + console = { + ...console, + log: (...args: any[]) => logs.push(args), + }; + if (url) { + const LOCAL_NETWORK_URL = url; + } + // ———>>> + // %SNIPPET% + // <<<——— + const singleCall = logs.length === 1 && logs[0].length === 1; + return singleCall ? logs[0][0] : logs; +}; From 89348f90a4b9d1c95e150f9f1bc1e896c7ab5b85 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:25:16 -0300 Subject: [PATCH 008/113] Adding example using `launchTestNode` and `LOCAL_NETWORK_URL` overrides --- .../src/introduction/connecting-to-localnode.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index e70f56307d..b3242b969e 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -1,3 +1,5 @@ +import { launchTestNode } from 'fuels/test-utils'; + import { main } from './connecting-to-testnet.wrapped'; /** @@ -5,7 +7,8 @@ import { main } from './connecting-to-testnet.wrapped'; * @group browser */ test('it works', async () => { - const { balances } = await main(); + const { provider } = await launchTestNode(); + const { balances } = await main(provider.url); expect(balances).toBeTruthy(); expect(balances).toBeInstanceOf(Array); }); From 0b790b7d60385b57dd142631c0505a7b329c8be5 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:25:43 -0300 Subject: [PATCH 009/113] Skipping until forc workspace has at least one member --- apps/docs-snippets2/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/package.json b/apps/docs-snippets2/package.json index 3e3a7dc5ff..ea8f03b623 100644 --- a/apps/docs-snippets2/package.json +++ b/apps/docs-snippets2/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "build": "run-s wrap:snippets build:forc", - "build:forc": "pnpm fuels build", + "build:forc": "# pnpm fuels build", "wrap:snippets": "tsx scripts/wrap-snippets.ts", "pretest": "pnpm build" }, From 125aaad3f94c1fffcd4b1ac764a450c5818c9310 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:31:41 -0300 Subject: [PATCH 010/113] Renaming variable --- apps/docs-snippets2/scripts/wrapper-fn.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 1b7b5547ea..22a4644b8d 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -1,14 +1,14 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable no-global-assign */ -export const main = async (url?: string): Promise => { +export const main = async (localNetworkUrl?: string): Promise => { const logs: any[] = []; console = { ...console, log: (...args: any[]) => logs.push(args), }; - if (url) { - const LOCAL_NETWORK_URL = url; + if (localNetworkUrl) { + const LOCAL_NETWORK_URL = localNetworkUrl; } // ———>>> // %SNIPPET% From 340652707763dbd4eb53c6d000e324e71198aa78 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:45:57 -0300 Subject: [PATCH 011/113] Fixing regex --- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index d57a64afbe..5af9bc33c6 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -2,7 +2,7 @@ import { readFileSync, writeFileSync } from 'fs'; import { globSync } from 'glob'; import { join } from 'path'; -const importsReg = /import[\s\S]+from.+['"];/gm; +const importsReg = /^[\s\S]+from.+['"];/gm; const wrapperFnFilepath = join(__dirname, 'wrapper-fn.ts'); const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); From 01f85580b9ae0be05fc8cb32c7fa5de7f82f2e78 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:47:17 -0300 Subject: [PATCH 012/113] Ignoring lint issues individually --- apps/docs-snippets2/scripts/wrapper-fn.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 22a4644b8d..b1bdb4b37b 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -1,13 +1,14 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable no-global-assign */ export const main = async (localNetworkUrl?: string): Promise => { const logs: any[] = []; + // eslint-disable-next-line no-global-assign console = { ...console, log: (...args: any[]) => logs.push(args), }; if (localNetworkUrl) { + // eslint-disable-next-line @typescript-eslint/no-unused-vars const LOCAL_NETWORK_URL = localNetworkUrl; } // ———>>> From b63c1633b6684ec10d9304d50fe06a5bdd8a5f7a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 15:47:58 -0300 Subject: [PATCH 013/113] Removing from browser group --- .../src/introduction/connecting-to-localnode.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index b3242b969e..82656fd79e 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -4,7 +4,6 @@ import { main } from './connecting-to-testnet.wrapped'; /** * @group node - * @group browser */ test('it works', async () => { const { provider } = await launchTestNode(); From 36dbe163f37e8a23e9c8204dcc6878702ab7f436 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 16:04:28 -0300 Subject: [PATCH 014/113] Lintfix --- apps/docs-snippets2/scripts/wrapper-fn.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index b1bdb4b37b..14556f03b2 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ +// eslint-disable-next-line @typescript-eslint/require-await export const main = async (localNetworkUrl?: string): Promise => { const logs: any[] = []; // eslint-disable-next-line no-global-assign From 913433403c18a314576531488724f7876ee3dfef Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 17:36:12 -0300 Subject: [PATCH 015/113] Restoring console after snippet --- apps/docs-snippets2/scripts/wrapper-fn.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 14556f03b2..3580f8f742 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -3,6 +3,7 @@ // eslint-disable-next-line @typescript-eslint/require-await export const main = async (localNetworkUrl?: string): Promise => { const logs: any[] = []; + const bkpConsole = console; // eslint-disable-next-line no-global-assign console = { ...console, @@ -15,6 +16,8 @@ export const main = async (localNetworkUrl?: string): Promise => { // ———>>> // %SNIPPET% // <<<——— + // eslint-disable-next-line no-global-assign + console = bkpConsole; const singleCall = logs.length === 1 && logs[0].length === 1; return singleCall ? logs[0][0] : logs; }; From 168f1242584b4b8034bea47358d9a33173068e22 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 17:36:40 -0300 Subject: [PATCH 016/113] Keeping wrapper free from weird hacks --- apps/docs-snippets2/scripts/wrapper-fn.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 3580f8f742..4625c9e077 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -1,18 +1,16 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // eslint-disable-next-line @typescript-eslint/require-await -export const main = async (localNetworkUrl?: string): Promise => { +export const main = async (): Promise => { const logs: any[] = []; const bkpConsole = console; // eslint-disable-next-line no-global-assign console = { ...console, - log: (...args: any[]) => logs.push(args), + log: (...args: any[]) => { + logs.push(args); + }, }; - if (localNetworkUrl) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const LOCAL_NETWORK_URL = localNetworkUrl; - } // ———>>> // %SNIPPET% // <<<——— From 3dd1e3fce7c9457cef60e7040d44b4f200f8a2aa Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 17:40:20 -0300 Subject: [PATCH 017/113] Adding mock utility --- apps/docs-snippets2/test/importMocked.ts | 16 ++++++++++++++++ apps/docs-snippets2/tsconfig.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 apps/docs-snippets2/test/importMocked.ts diff --git a/apps/docs-snippets2/test/importMocked.ts b/apps/docs-snippets2/test/importMocked.ts new file mode 100644 index 0000000000..2060fc54d6 --- /dev/null +++ b/apps/docs-snippets2/test/importMocked.ts @@ -0,0 +1,16 @@ +import { launchTestNode } from 'fuels/test-utils'; +// eslint-disable-next-line import/no-extraneous-dependencies +import { vi } from 'vitest'; + +export const mockLocalNetwork = async () => { + const { provider } = await launchTestNode(); + vi.doMock('fuels', async () => { + const mod = await vi.importActual('fuels'); + return { + __esModule: true, + ...mod, + LOCAL_NETWORK_URL: provider.url, + }; + }); + return { provider }; +}; diff --git a/apps/docs-snippets2/tsconfig.json b/apps/docs-snippets2/tsconfig.json index 6b53687b5a..5006d44d00 100644 --- a/apps/docs-snippets2/tsconfig.json +++ b/apps/docs-snippets2/tsconfig.json @@ -6,5 +6,5 @@ "rootDir": "./", "baseUrl": "./" }, - "include": ["./src"] + "include": ["src", "test"] } From 6ed91e2162834b4ed07a5e3afc335ce7c39f3c0d Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 17:41:06 -0300 Subject: [PATCH 018/113] Using mocking utility --- .../src/introduction/connecting-to-localnode.test.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index 82656fd79e..5e18f367db 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -1,13 +1,12 @@ -import { launchTestNode } from 'fuels/test-utils'; - -import { main } from './connecting-to-testnet.wrapped'; +import { mockLocalNetwork } from '../../test/importMocked'; /** * @group node */ test('it works', async () => { - const { provider } = await launchTestNode(); - const { balances } = await main(provider.url); + await mockLocalNetwork(); + const { main } = await import('./connecting-to-localnode.wrapped'); + const { balances } = await main(); expect(balances).toBeTruthy(); expect(balances).toBeInstanceOf(Array); }); From 939f9d6dab284974c02f655044f11a526d0e2103 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 17:45:17 -0300 Subject: [PATCH 019/113] Validating if `nertworkUrl` was properly mocked --- .../src/introduction/connecting-to-localnode.test.ts | 8 +++++--- .../src/introduction/connecting-to-localnode.ts | 2 +- apps/docs-snippets2/test/importMocked.ts | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index 5e18f367db..1720d0fbb1 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -1,12 +1,14 @@ -import { mockLocalNetwork } from '../../test/importMocked'; +import { mockLocalNetworkWithTestNode } from '../../test/importMocked'; /** * @group node */ test('it works', async () => { - await mockLocalNetwork(); + const { provider } = await mockLocalNetworkWithTestNode(); const { main } = await import('./connecting-to-localnode.wrapped'); - const { balances } = await main(); + const { providerUrl, balances } = await main(); + + expect(providerUrl).toEqual(provider.url); expect(balances).toBeTruthy(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts index 72339413bc..216f5ecb70 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -10,5 +10,5 @@ const provider = await Provider.create(LOCAL_NETWORK_URL); const wallet = Wallet.fromAddress(ADDRESS, provider); const balances = await wallet.getBalances(); -console.log({ balances }); +console.log({ balances, providerUrl: provider.url }); // #endregion main diff --git a/apps/docs-snippets2/test/importMocked.ts b/apps/docs-snippets2/test/importMocked.ts index 2060fc54d6..212241e8a3 100644 --- a/apps/docs-snippets2/test/importMocked.ts +++ b/apps/docs-snippets2/test/importMocked.ts @@ -2,7 +2,7 @@ import { launchTestNode } from 'fuels/test-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { vi } from 'vitest'; -export const mockLocalNetwork = async () => { +export const mockLocalNetworkWithTestNode = async () => { const { provider } = await launchTestNode(); vi.doMock('fuels', async () => { const mod = await vi.importActual('fuels'); From f795f001b5b21c475d04b5b77b64db3979e29ed3 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 18:33:52 -0300 Subject: [PATCH 020/113] Mock provider instead? --- apps/docs-snippets2/test/importMocked.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/test/importMocked.ts b/apps/docs-snippets2/test/importMocked.ts index 212241e8a3..eb1efb7133 100644 --- a/apps/docs-snippets2/test/importMocked.ts +++ b/apps/docs-snippets2/test/importMocked.ts @@ -9,7 +9,9 @@ export const mockLocalNetworkWithTestNode = async () => { return { __esModule: true, ...mod, - LOCAL_NETWORK_URL: provider.url, + Provider: { + create: () => provider, + }, }; }); return { provider }; From 5732d8c8f1f4115e06c73cc1a0f3e1f153fef516 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 20:34:17 -0300 Subject: [PATCH 021/113] Mocking only for localhost --- apps/docs-snippets2/test/importMocked.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/test/importMocked.ts b/apps/docs-snippets2/test/importMocked.ts index eb1efb7133..ccc5c2a673 100644 --- a/apps/docs-snippets2/test/importMocked.ts +++ b/apps/docs-snippets2/test/importMocked.ts @@ -1,3 +1,5 @@ +import type { ProviderOptions } from 'fuels'; +import { Provider } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { vi } from 'vitest'; @@ -5,12 +7,18 @@ import { vi } from 'vitest'; export const mockLocalNetworkWithTestNode = async () => { const { provider } = await launchTestNode(); vi.doMock('fuels', async () => { - const mod = await vi.importActual('fuels'); + const module = await vi.importActual('fuels'); return { + ...module, __esModule: true, - ...mod, Provider: { - create: () => provider, + create: (url: string, options: ProviderOptions): Promise => { + const isLocalReg = /127\.0\.0\.1|localhost/; + if (isLocalReg.test(url)) { + return Promise.resolve(provider); + } + return Provider.create(url, options); + }, }, }; }); From 020022f9fc94c62421ea632263c9216f82be3287 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 4 Jul 2024 20:34:28 -0300 Subject: [PATCH 022/113] Adjusting snippets --- .../src/introduction/connecting-to-localnode.test.ts | 6 +++--- .../src/introduction/connecting-to-testnet.test.ts | 10 ++++++++-- .../src/introduction/connecting-to-testnet.ts | 2 +- ...{importMocked.ts => mockProviderForLocalNetwork.ts} | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) rename apps/docs-snippets2/test/{importMocked.ts => mockProviderForLocalNetwork.ts} (92%) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index 1720d0fbb1..f53b01cc1b 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -1,14 +1,14 @@ -import { mockLocalNetworkWithTestNode } from '../../test/importMocked'; +import { mockProviderForLocalNetwork } from '../../test/mockProviderForLocalNetwork'; /** * @group node */ test('it works', async () => { - const { provider } = await mockLocalNetworkWithTestNode(); + const { provider } = await mockProviderForLocalNetwork(); const { main } = await import('./connecting-to-localnode.wrapped'); const { providerUrl, balances } = await main(); - expect(providerUrl).toEqual(provider.url); + expect(providerUrl).toEqual(provider.url); // TODO: remove check after PoC expect(balances).toBeTruthy(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts index e70f56307d..d39f0bb010 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts @@ -1,11 +1,17 @@ +import { TESTNET_NETWORK_URL } from 'fuels'; + +import { mockProviderForLocalNetwork } from '../../test/mockProviderForLocalNetwork'; + import { main } from './connecting-to-testnet.wrapped'; /** * @group node - * @group browser */ test('it works', async () => { - const { balances } = await main(); + const { provider } = await mockProviderForLocalNetwork(); + const { providerUrl, balances } = await main(); + expect(providerUrl).toEqual(TESTNET_NETWORK_URL); // TODO: remove check after PoC + expect(providerUrl).not.toEqual(provider.url); // TODO: remove check after PoC expect(balances).toBeTruthy(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts index 405f1181a8..90431ad6ca 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -10,5 +10,5 @@ const provider = await Provider.create(TESTNET_NETWORK_URL); const wallet = Wallet.fromAddress(ADDRESS, provider); const balances = await wallet.getBalances(); -console.log({ balances }); +console.log({ balances, providerUrl: provider.url }); // #endregion main diff --git a/apps/docs-snippets2/test/importMocked.ts b/apps/docs-snippets2/test/mockProviderForLocalNetwork.ts similarity index 92% rename from apps/docs-snippets2/test/importMocked.ts rename to apps/docs-snippets2/test/mockProviderForLocalNetwork.ts index ccc5c2a673..42cd446bd8 100644 --- a/apps/docs-snippets2/test/importMocked.ts +++ b/apps/docs-snippets2/test/mockProviderForLocalNetwork.ts @@ -4,7 +4,7 @@ import { launchTestNode } from 'fuels/test-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { vi } from 'vitest'; -export const mockLocalNetworkWithTestNode = async () => { +export const mockProviderForLocalNetwork = async () => { const { provider } = await launchTestNode(); vi.doMock('fuels', async () => { const module = await vi.importActual('fuels'); From 1388057fdce332e6c1861b58a62bf2b16faae073 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 5 Jul 2024 14:48:59 -0300 Subject: [PATCH 023/113] Wrapping snippet in a try/catch --- apps/docs-snippets2/scripts/wrapper-fn.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 4625c9e077..99c2672255 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -11,9 +11,14 @@ export const main = async (): Promise => { logs.push(args); }, }; - // ———>>> - // %SNIPPET% - // <<<——— + try { + // ———>>> + // %SNIPPET% + // <<<——— + } catch (error) { + console.error(error); + return { error }; + } // eslint-disable-next-line no-global-assign console = bkpConsole; const singleCall = logs.length === 1 && logs[0].length === 1; From 98b02e1e3756801206f8842c666ef1206d4ee8bc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 17:42:09 -0300 Subject: [PATCH 024/113] Adding blank spaces --- apps/docs-snippets2/scripts/wrapper-fn.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 99c2672255..efc87e16aa 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -4,6 +4,7 @@ export const main = async (): Promise => { const logs: any[] = []; const bkpConsole = console; + // eslint-disable-next-line no-global-assign console = { ...console, @@ -11,6 +12,7 @@ export const main = async (): Promise => { logs.push(args); }, }; + try { // ———>>> // %SNIPPET% @@ -19,8 +21,10 @@ export const main = async (): Promise => { console.error(error); return { error }; } + // eslint-disable-next-line no-global-assign console = bkpConsole; + const singleCall = logs.length === 1 && logs[0].length === 1; return singleCall ? logs[0][0] : logs; }; From ea01d46f6a80f34e262f47a8baaabe1b3d2d398f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:42:01 -0300 Subject: [PATCH 025/113] Removing mocking utility --- .../test/mockProviderForLocalNetwork.ts | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 apps/docs-snippets2/test/mockProviderForLocalNetwork.ts diff --git a/apps/docs-snippets2/test/mockProviderForLocalNetwork.ts b/apps/docs-snippets2/test/mockProviderForLocalNetwork.ts deleted file mode 100644 index 42cd446bd8..0000000000 --- a/apps/docs-snippets2/test/mockProviderForLocalNetwork.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { ProviderOptions } from 'fuels'; -import { Provider } from 'fuels'; -import { launchTestNode } from 'fuels/test-utils'; -// eslint-disable-next-line import/no-extraneous-dependencies -import { vi } from 'vitest'; - -export const mockProviderForLocalNetwork = async () => { - const { provider } = await launchTestNode(); - vi.doMock('fuels', async () => { - const module = await vi.importActual('fuels'); - return { - ...module, - __esModule: true, - Provider: { - create: (url: string, options: ProviderOptions): Promise => { - const isLocalReg = /127\.0\.0\.1|localhost/; - if (isLocalReg.test(url)) { - return Promise.resolve(provider); - } - return Provider.create(url, options); - }, - }, - }; - }); - return { provider }; -}; From 2cacdb2dbfef3bcd9819520f946c2b7a8ac64be0 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:42:35 -0300 Subject: [PATCH 026/113] Adding pass-through options for `console.log` calls --- apps/docs-snippets2/scripts/wrapper-fn.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index efc87e16aa..af9596e113 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // eslint-disable-next-line @typescript-eslint/require-await -export const main = async (): Promise => { +export const main = async (passLogsThrough: boolean = false): Promise => { const logs: any[] = []; const bkpConsole = console; @@ -9,6 +9,9 @@ export const main = async (): Promise => { console = { ...console, log: (...args: any[]) => { + if (passLogsThrough) { + bkpConsole.log.apply(null, args); + } logs.push(args); }, }; From 86205c4f1530864fc87be5f4b9f15683e3000b35 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:43:08 -0300 Subject: [PATCH 027/113] Adding new slot for injecting test node launcher into wrapped snippet --- apps/docs-snippets2/scripts/wrapper-fn.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index af9596e113..5e1fd83b92 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -16,6 +16,10 @@ export const main = async (passLogsThrough: boolean = false): Promise>> + // %NODE_LAUNCHER% + // <<<——— + try { // ———>>> // %SNIPPET% From a6545afbb2f46e82cd929359b704ac65692d223d Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:43:54 -0300 Subject: [PATCH 028/113] Injecting node launcher for snippets using `LOCAL_NETWORK_URL` --- apps/docs-snippets2/scripts/wrap-snippets.ts | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 5af9bc33c6..130ab95227 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -11,12 +11,26 @@ export const wrapSnippet = (filepath: string) => { const raw = readFileSync(filepath, 'utf8'); // match - const imports = raw.match(importsReg)?.toString() ?? ''; + let imports = raw.match(importsReg)?.toString() ?? ''; const snippet = imports.length ? raw.split(imports)[1] : raw; + // creates node launcher injector and replaces `LOCAL_NETWORK_URL` + let nodeLauncher = ''; + if (/LOCAL_NETWORK_URL/.test(imports)) { + imports = imports.replace(/LOCAL_NETWORK_URL/, 'TESTNET_NETWORK_URL'); + imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; + nodeLauncher = [ + 'using node = await launchTestNode();', + 'const LOCAL_NETWORK_URL = node.provider.url;', + ].join('\n '); + } + // format - const indented = snippet.replace(/^/gm, ' ').trim(); - const formatted = wrapperFnContents.replace('// %SNIPPET%', indented); + const indented = snippet.replace(/^/gm, ' ').trim(); + + const formatted = wrapperFnContents + .replace('// %SNIPPET%', indented) + .replace('// %NODE_LAUNCHER%', nodeLauncher); // write const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); From fd9a886f12f5e1e66c4a941f9e165d50b50e821f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:44:04 -0300 Subject: [PATCH 029/113] Trim snippets --- .../src/introduction/connecting-to-localnode.ts | 8 +++----- .../src/introduction/connecting-to-testnet.ts | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts index 216f5ecb70..3b595e7930 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -3,12 +3,10 @@ import { Provider, Wallet, LOCAL_NETWORK_URL } from 'fuels'; const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; -// Create a provider using the `LOCAL_NETWORK_URL` constant const provider = await Provider.create(LOCAL_NETWORK_URL); - -// Then use it when creating a wallet const wallet = Wallet.fromAddress(ADDRESS, provider); -const balances = await wallet.getBalances(); -console.log({ balances, providerUrl: provider.url }); +const { balances } = await wallet.getBalances(); + +console.log(balances); // #endregion main diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts index 90431ad6ca..c7b7d44586 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -3,12 +3,10 @@ import { Provider, Wallet, TESTNET_NETWORK_URL } from 'fuels'; const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; -// Create a provider using the `TESTNET_NETWORK_URL` constant const provider = await Provider.create(TESTNET_NETWORK_URL); - -// Then use it when creating a wallet const wallet = Wallet.fromAddress(ADDRESS, provider); -const balances = await wallet.getBalances(); -console.log({ balances, providerUrl: provider.url }); +const { balances } = await wallet.getBalances(); + +console.log(balances); // #endregion main From 8295f4fac8adcb8c924e64c8442126206d83e88b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 18:44:17 -0300 Subject: [PATCH 030/113] Cleanup snippets tests --- .../src/introduction/connecting-to-localnode.test.ts | 9 ++------- .../src/introduction/connecting-to-testnet.test.ts | 10 +--------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts index f53b01cc1b..d6c0c14a81 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts @@ -1,14 +1,9 @@ -import { mockProviderForLocalNetwork } from '../../test/mockProviderForLocalNetwork'; +import { main } from './connecting-to-localnode.wrapped'; /** * @group node */ test('it works', async () => { - const { provider } = await mockProviderForLocalNetwork(); - const { main } = await import('./connecting-to-localnode.wrapped'); - const { providerUrl, balances } = await main(); - - expect(providerUrl).toEqual(provider.url); // TODO: remove check after PoC - expect(balances).toBeTruthy(); + const balances = await main(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts index d39f0bb010..baef76b49d 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts @@ -1,17 +1,9 @@ -import { TESTNET_NETWORK_URL } from 'fuels'; - -import { mockProviderForLocalNetwork } from '../../test/mockProviderForLocalNetwork'; - import { main } from './connecting-to-testnet.wrapped'; /** * @group node */ test('it works', async () => { - const { provider } = await mockProviderForLocalNetwork(); - const { providerUrl, balances } = await main(); - expect(providerUrl).toEqual(TESTNET_NETWORK_URL); // TODO: remove check after PoC - expect(providerUrl).not.toEqual(provider.url); // TODO: remove check after PoC - expect(balances).toBeTruthy(); + const balances = await main(); expect(balances).toBeInstanceOf(Array); }); From 70dde7cc66eff711e131b3fed44700e6420eb1b7 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 19:10:41 -0300 Subject: [PATCH 031/113] Stop ignoring test for `docs-snippets2` --- .knip.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.knip.json b/.knip.json index 808afd38f3..488634beb2 100644 --- a/.knip.json +++ b/.knip.json @@ -5,7 +5,6 @@ "/apps/docs/*", "/packages/abi-typegen/test/**", "templates/**", - "/apps/docs-snippets2/**/*.test.ts", "apps/create-fuels-counter-guide/**" ], "ignoreDependencies": [ From 45b576be6996d1b84d6bcd62b41ed8000fc98b3b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 15 Jul 2024 19:13:49 -0300 Subject: [PATCH 032/113] Re-adding `docs-snippets2` tests to knip ignore list --- .knip.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.knip.json b/.knip.json index 488634beb2..808afd38f3 100644 --- a/.knip.json +++ b/.knip.json @@ -5,6 +5,7 @@ "/apps/docs/*", "/packages/abi-typegen/test/**", "templates/**", + "/apps/docs-snippets2/**/*.test.ts", "apps/create-fuels-counter-guide/**" ], "ignoreDependencies": [ From 802356aac73f687b7a4bd778f2fb5a9e1188bca6 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 14:37:43 -0300 Subject: [PATCH 033/113] Using internal builds --- apps/docs-snippets2/fuels.config.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/docs-snippets2/fuels.config.ts b/apps/docs-snippets2/fuels.config.ts index cf312acb67..5b0109ac89 100644 --- a/apps/docs-snippets2/fuels.config.ts +++ b/apps/docs-snippets2/fuels.config.ts @@ -4,4 +4,6 @@ export default createConfig({ workspace: './sway', output: './src/typegend', forcBuildFlags: ['--release'], + forcPath: 'fuels-forc', + fuelCorePath: 'fuels-core', }); From 74f7cef3c0ddea549e05d0c1c5ac4b3293e13ac0 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 14:38:50 -0300 Subject: [PATCH 034/113] Fixing ignore rule --- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 130ab95227..5add442d0a 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -41,6 +41,6 @@ export const wrapSnippet = (filepath: string) => { const dir = 'src/**'; const src = `${dir}/*.ts`; -const ignore = [`src/typegend`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; +const ignore = [`src/typegend/**`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; globSync(src, { ignore }).forEach(wrapSnippet); From 8c0be15ed1c09c0eeb07e89b49cba5e28756ee56 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 14:39:10 -0300 Subject: [PATCH 035/113] Adding basic counter Sway project --- apps/docs-snippets2/sway/Forc.toml | 2 +- apps/docs-snippets2/sway/counter/Forc.toml | 7 +++++ apps/docs-snippets2/sway/counter/src/main.sw | 27 ++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 apps/docs-snippets2/sway/counter/Forc.toml create mode 100644 apps/docs-snippets2/sway/counter/src/main.sw diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml index c4b464ff15..74838452b0 100644 --- a/apps/docs-snippets2/sway/Forc.toml +++ b/apps/docs-snippets2/sway/Forc.toml @@ -1,2 +1,2 @@ [workspace] -members = [] +members = ["counter"] diff --git a/apps/docs-snippets2/sway/counter/Forc.toml b/apps/docs-snippets2/sway/counter/Forc.toml new file mode 100644 index 0000000000..e5c3009763 --- /dev/null +++ b/apps/docs-snippets2/sway/counter/Forc.toml @@ -0,0 +1,7 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +license = "Apache-2.0" +name = "counter" + +[dependencies] diff --git a/apps/docs-snippets2/sway/counter/src/main.sw b/apps/docs-snippets2/sway/counter/src/main.sw new file mode 100644 index 0000000000..e3e3beddcd --- /dev/null +++ b/apps/docs-snippets2/sway/counter/src/main.sw @@ -0,0 +1,27 @@ +contract; + +abi Counter { + #[storage(read)] + fn get_count() -> u64; + + #[storage(write, read)] + fn increment_count(amount: u64) -> u64; +} + +storage { + counter: u64 = 0, +} + +impl Counter for Contract { + #[storage(read)] + fn get_count() -> u64 { + storage.counter.read() + } + + #[storage(write, read)] + fn increment_count(amount: u64) -> u64 { + let current = storage.counter.read(); + storage.counter.write(current + amount); + storage.counter.read() + } +} From 6af5a6a49fc028739c08492ce723b471e24eb193 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 14:39:42 -0300 Subject: [PATCH 036/113] Improving scripts --- apps/docs-snippets2/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/package.json b/apps/docs-snippets2/package.json index ea8f03b623..0fe53597be 100644 --- a/apps/docs-snippets2/package.json +++ b/apps/docs-snippets2/package.json @@ -5,9 +5,10 @@ "private": true, "scripts": { "build": "run-s wrap:snippets build:forc", - "build:forc": "# pnpm fuels build", + "build:forc": "pnpm fuels build", "wrap:snippets": "tsx scripts/wrap-snippets.ts", - "pretest": "pnpm build" + "pretest": "pnpm build", + "test": "cd ../.. && pnpm test:filter apps/docs-snippets2" }, "dependencies": { "fuels": "workspace:*" From 143d8be545be1fbf69193c46749541de89d793b4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 15:27:23 -0300 Subject: [PATCH 037/113] Adding sample env file --- apps/docs-snippets2/src/env.ts | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 apps/docs-snippets2/src/env.ts diff --git a/apps/docs-snippets2/src/env.ts b/apps/docs-snippets2/src/env.ts new file mode 100644 index 0000000000..97453cfa9f --- /dev/null +++ b/apps/docs-snippets2/src/env.ts @@ -0,0 +1,2 @@ +export const WALLET_ADDRESS: string = ''; +export const WALLET_PVT_KEY: string = ''; From 5a47c48f19daeba1a174474480f91840d73e7f9e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 20:37:18 -0300 Subject: [PATCH 038/113] Standardizing snippets and tests --- apps/docs-snippets2/scripts/wrapper-fn.ts | 3 +-- .../src/introduction/connecting-to-localnode.test.ts | 2 +- .../docs-snippets2/src/introduction/connecting-to-localnode.ts | 2 +- .../src/introduction/connecting-to-testnet.test.ts | 2 +- apps/docs-snippets2/src/introduction/connecting-to-testnet.ts | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 5e1fd83b92..692c83256f 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -32,6 +32,5 @@ export const main = async (passLogsThrough: boolean = false): Promise { - const balances = await main(); + const [[{ balances }]] = await main(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts index 3b595e7930..139e54ed08 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -8,5 +8,5 @@ const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); -console.log(balances); +console.log({ balances }); // #endregion main diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts index baef76b49d..d77f0f35f3 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts @@ -4,6 +4,6 @@ import { main } from './connecting-to-testnet.wrapped'; * @group node */ test('it works', async () => { - const balances = await main(); + const [[{ balances }]] = await main(); expect(balances).toBeInstanceOf(Array); }); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts index c7b7d44586..9ac6e93b04 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -8,5 +8,5 @@ const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); -console.log(balances); +console.log({ balances }); // #endregion main From c68ea148b7dd403ac7100a3e0ad3060f25c3543b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 21:20:30 -0300 Subject: [PATCH 039/113] Validate env constants existence --- apps/docs-snippets2/scripts/wrap-snippets.ts | 38 ++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 5add442d0a..cd2d858653 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -14,14 +14,46 @@ export const wrapSnippet = (filepath: string) => { let imports = raw.match(importsReg)?.toString() ?? ''; const snippet = imports.length ? raw.split(imports)[1] : raw; - // creates node launcher injector and replaces `LOCAL_NETWORK_URL` + // 1—— creates node launcher injector + const keys = ['LOCAL_NETWORK_URL', 'WALLET_ADDRESS', 'WALLET_PVT_KEY']; + + const envImportReg = /import.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; + if (envImportReg.test(imports)) { + // match all import groups up to the `env.ts` import + const allImports = imports.match(envImportReg)?.[0]; + const envImport = `import ${allImports?.split('import ').pop()}`; + + // isolater the `env.ts` import line and extract its members + const envMembersReg = /import.+\{(.+)\}.+from.+'\.\.\/env'/m; + const envConstants = envImport.match(envMembersReg)?.[1].trim().split(/,\s?/); + + // check and warns against unsupported env members + envConstants?.forEach((envConst) => { + const found = keys.find((k) => k === envConst); + if (!found) { + throw new Error(`Mocked env consty '${envConst}' not supported in code snippets.`); + } + }); + + // Remove the env import line, favoring the + // inline declared variables. + imports = imports.replace(envImport, ''); + } + let nodeLauncher = ''; - if (/LOCAL_NETWORK_URL/.test(imports)) { - imports = imports.replace(/LOCAL_NETWORK_URL/, 'TESTNET_NETWORK_URL'); + + const localNetworkReg = /LOCAL_NETWORK_URL/; + if (localNetworkReg.test(imports)) { + // 2—— replaces `LOCAL_NETWORK_URL` + imports = imports.replace(localNetworkReg, 'TESTNET_NETWORK_URL'); imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; + + // 3—— injects launched node and env constants nodeLauncher = [ 'using node = await launchTestNode();', 'const LOCAL_NETWORK_URL = node.provider.url;', + 'const WALLET_ADDRESS = node.wallets[0].address;', + 'const WALLET_PVT_KEY = node.wallets[0].privateKey;', ].join('\n '); } From 7a6562373f9e3a3d0da894e2301dcc7078df7235 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 22:30:21 -0300 Subject: [PATCH 040/113] Drafting new snippet --- .../transaction-parameters.test.ts | 9 +++++ .../transactions/transaction-parameters.ts | 34 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 apps/docs-snippets2/src/transactions/transaction-parameters.test.ts create mode 100644 apps/docs-snippets2/src/transactions/transaction-parameters.ts diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts new file mode 100644 index 0000000000..a79ffd1cee --- /dev/null +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts @@ -0,0 +1,9 @@ +import { main } from './transaction-parameters.wrapped'; + +/** + * @group node + */ +test('it works', async () => { + const [[{ isStatusSuccess }]] = await main(); + expect(isStatusSuccess).toBeTruthy(); +}); diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts new file mode 100644 index 0000000000..05ebfc8798 --- /dev/null +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -0,0 +1,34 @@ +import { LOCAL_NETWORK_URL, Provider, Wallet } from 'fuels'; + +import { WALLET_ADDRESS, WALLET_PVT_KEY } from '../env'; +import { CounterAbi__factory } from '../typegend'; +import bytecode from '../typegend/contracts/CounterAbi.hex'; + +const { storageSlots } = CounterAbi__factory; + +const client = await Provider.create(LOCAL_NETWORK_URL); + +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, client); +const wallet2 = Wallet.fromAddress(WALLET_ADDRESS, client); + +const deploy = await CounterAbi__factory.deployContract(bytecode, wallet, { + storageSlots, +}); + +const { contract } = await deploy.waitForResult(); + +// #region transaction-parameters-8 +const { waitForResult } = await contract.functions + .increment_count(15) + .txParams({ + variableOutputs: 1, + }) + .call(); + +const { + transactionResult: { isStatusSuccess }, + value, +} = await waitForResult(); + +console.log({ isStatusSuccess, value, wallet2 }); +// #endregion transaction-parameters-8 From c32a6e927e34c1d883255046c6a4637028e37a47 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 22:41:22 -0300 Subject: [PATCH 041/113] Adjusting script command --- apps/docs-snippets2/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/package.json b/apps/docs-snippets2/package.json index 0fe53597be..87f57f55c0 100644 --- a/apps/docs-snippets2/package.json +++ b/apps/docs-snippets2/package.json @@ -8,7 +8,7 @@ "build:forc": "pnpm fuels build", "wrap:snippets": "tsx scripts/wrap-snippets.ts", "pretest": "pnpm build", - "test": "cd ../.. && pnpm test:filter apps/docs-snippets2" + "test": "cd ../.. && pnpm run test:filter apps/docs-snippets2" }, "dependencies": { "fuels": "workspace:*" From 0d810927d266a0a9a7ea8aa23e161706afe5b0ba Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 19 Jul 2024 22:44:19 -0300 Subject: [PATCH 042/113] Removing unnecessary wallet --- .../src/transactions/transaction-parameters.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index 05ebfc8798..bbc258832c 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -1,15 +1,13 @@ import { LOCAL_NETWORK_URL, Provider, Wallet } from 'fuels'; -import { WALLET_ADDRESS, WALLET_PVT_KEY } from '../env'; +import { WALLET_PVT_KEY } from '../env'; import { CounterAbi__factory } from '../typegend'; import bytecode from '../typegend/contracts/CounterAbi.hex'; const { storageSlots } = CounterAbi__factory; const client = await Provider.create(LOCAL_NETWORK_URL); - const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, client); -const wallet2 = Wallet.fromAddress(WALLET_ADDRESS, client); const deploy = await CounterAbi__factory.deployContract(bytecode, wallet, { storageSlots, @@ -30,5 +28,5 @@ const { value, } = await waitForResult(); -console.log({ isStatusSuccess, value, wallet2 }); +console.log({ isStatusSuccess, value }); // #endregion transaction-parameters-8 From 65d6e80088542ce4aa91aeec1f29b3a34e53e598 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:11:21 -0300 Subject: [PATCH 043/113] Extacting launcher into another file --- apps/docs-snippets2/scripts/launcher.ts | 7 +++ apps/docs-snippets2/scripts/wrap-snippets.ts | 55 +++++++------------- 2 files changed, 27 insertions(+), 35 deletions(-) create mode 100644 apps/docs-snippets2/scripts/launcher.ts diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts new file mode 100644 index 0000000000..b59c67e45c --- /dev/null +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -0,0 +1,7 @@ +import { launchTestNode } from 'fuels/test-utils'; + +using node = await launchTestNode({}); + +export const LOCAL_NETWORK_URL = node.provider.url; +export const WALLET_ADDRESS = node.wallets[0].address; +export const WALLET_PVT_KEY = node.wallets[0].privateKey; diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index cd2d858653..1d50acd6f9 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -2,75 +2,60 @@ import { readFileSync, writeFileSync } from 'fs'; import { globSync } from 'glob'; import { join } from 'path'; -const importsReg = /^[\s\S]+from.+['"];/gm; - const wrapperFnFilepath = join(__dirname, 'wrapper-fn.ts'); const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); +/** + * Wrap snippet for testing + * @param filepath - Snippet filepath + */ export const wrapSnippet = (filepath: string) => { + // 0— filter all imports from file const raw = readFileSync(filepath, 'utf8'); - - // match + const importsReg = /^[\s\S]+from.+['"];/gm; let imports = raw.match(importsReg)?.toString() ?? ''; const snippet = imports.length ? raw.split(imports)[1] : raw; - // 1—— creates node launcher injector - const keys = ['LOCAL_NETWORK_URL', 'WALLET_ADDRESS', 'WALLET_PVT_KEY']; - + // 1— remove .env import const envImportReg = /import.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; if (envImportReg.test(imports)) { - // match all import groups up to the `env.ts` import const allImports = imports.match(envImportReg)?.[0]; const envImport = `import ${allImports?.split('import ').pop()}`; - - // isolater the `env.ts` import line and extract its members - const envMembersReg = /import.+\{(.+)\}.+from.+'\.\.\/env'/m; - const envConstants = envImport.match(envMembersReg)?.[1].trim().split(/,\s?/); - - // check and warns against unsupported env members - envConstants?.forEach((envConst) => { - const found = keys.find((k) => k === envConst); - if (!found) { - throw new Error(`Mocked env consty '${envConst}' not supported in code snippets.`); - } - }); - - // Remove the env import line, favoring the - // inline declared variables. imports = imports.replace(envImport, ''); } + // 2— creates node launcher injector let nodeLauncher = ''; - const localNetworkReg = /LOCAL_NETWORK_URL/; if (localNetworkReg.test(imports)) { - // 2—— replaces `LOCAL_NETWORK_URL` + // 2.a—— replaces `LOCAL_NETWORK_URL` imports = imports.replace(localNetworkReg, 'TESTNET_NETWORK_URL'); imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; - // 3—— injects launched node and env constants - nodeLauncher = [ - 'using node = await launchTestNode();', - 'const LOCAL_NETWORK_URL = node.provider.url;', - 'const WALLET_ADDRESS = node.wallets[0].address;', - 'const WALLET_PVT_KEY = node.wallets[0].privateKey;', - ].join('\n '); + // 2.b—— injects launched node and env constants + nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') + .replace(/import.*$/gm, '') + .replace(/export/g, '') + .trim() + .replace(/\n/g, '\n '); } - // format + // 3— format indentation const indented = snippet.replace(/^/gm, ' ').trim(); - const formatted = wrapperFnContents .replace('// %SNIPPET%', indented) .replace('// %NODE_LAUNCHER%', nodeLauncher); - // write + // 4— write wrapped snippet to disk const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); const wrappedSnippet = [imports, '\n', formatted].join(''); writeFileSync(wrappedPath, wrappedSnippet); }; +/* + Wrap all snippets inside `src` dir +*/ const dir = 'src/**'; const src = `${dir}/*.ts`; const ignore = [`src/typegend/**`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; From 7ddc250c51cfca3d33de22f92725d4e30761e9da Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:12:53 -0300 Subject: [PATCH 044/113] New API draft --- .../transaction-parameters.api.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 apps/docs-snippets2/src/transactions/transaction-parameters.api.ts diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts new file mode 100644 index 0000000000..e54725afb0 --- /dev/null +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts @@ -0,0 +1,26 @@ +// #region transaction-parameters-8 +import { LOCAL_NETWORK_URL, fuels } from 'fuels'; + +import { WALLET_PVT_KEY } from '../env'; +import { Counter } from '../typegend'; + +const client = await fuels(LOCAL_NETWORK_URL); +const wallet = client.wallet(WALLET_PVT_KEY); +const deploy = await Counter.deploy(wallet); + +const { contract } = await deploy.waitForResult(); + +const { waitForResult } = await contract.functions + .increment_count(15) + .txParams({ + variableOutputs: 1, + }) + .call(); + +const { + value, + transactionResult: { isStatusSuccess }, +} = await waitForResult(); + +console.log({ value, isStatusSuccess }); +// #endregion transaction-parameters-8 From 28cce95d371d700322c139f822850092d8e4f010 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:45:37 -0300 Subject: [PATCH 045/113] Syncing env and launcher template --- apps/docs-snippets2/scripts/launcher.ts | 21 ++++++++++++++++++--- apps/docs-snippets2/src/env.ts | 16 ++++++++++++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts index b59c67e45c..1493d6debc 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -1,7 +1,22 @@ import { launchTestNode } from 'fuels/test-utils'; -using node = await launchTestNode({}); +using node = await launchTestNode({ walletsConfig: { count: 5 } }); export const LOCAL_NETWORK_URL = node.provider.url; -export const WALLET_ADDRESS = node.wallets[0].address; -export const WALLET_PVT_KEY = node.wallets[0].privateKey; + +const [w0, w2, w3, w4, w5] = node.wallets; + +export const WALLET_ADDRESS = w0.address; +export const WALLET_PVT_KEY = w0.privateKey; + +export const WALLET_ADDRESS_2 = w2.address; +export const WALLET_PVT_KEY_2 = w2.privateKey; + +export const WALLET_ADDRESS_3 = w3.address; +export const WALLET_PVT_KEY_3 = w3.privateKey; + +export const WALLET_ADDRESS_4 = w4.address; +export const WALLET_PVT_KEY_4 = w4.privateKey; + +export const WALLET_ADDRESS_5 = w5.address; +export const WALLET_PVT_KEY_5 = w5.privateKey; diff --git a/apps/docs-snippets2/src/env.ts b/apps/docs-snippets2/src/env.ts index 97453cfa9f..2ee440b556 100644 --- a/apps/docs-snippets2/src/env.ts +++ b/apps/docs-snippets2/src/env.ts @@ -1,2 +1,14 @@ -export const WALLET_ADDRESS: string = ''; -export const WALLET_PVT_KEY: string = ''; +export const WALLET_ADDRESS = ''; +export const WALLET_PVT_KEY = ''; + +export const WALLET_ADDRESS_2 = ''; +export const WALLET_PVT_KEY_2 = ''; + +export const WALLET_ADDRESS_3 = ''; +export const WALLET_PVT_KEY_3 = ''; + +export const WALLET_ADDRESS_4 = ''; +export const WALLET_PVT_KEY_4 = ''; + +export const WALLET_ADDRESS_5 = ''; +export const WALLET_PVT_KEY_5 = ''; From 47b19bdd197d84872e882d43b3f913db00c7c718 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:45:51 -0300 Subject: [PATCH 046/113] Better docs --- apps/docs-snippets2/scripts/wrap-snippets.ts | 37 ++++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 1d50acd6f9..b04e55e69d 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -10,13 +10,18 @@ const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); * @param filepath - Snippet filepath */ export const wrapSnippet = (filepath: string) => { - // 0— filter all imports from file - const raw = readFileSync(filepath, 'utf8'); + const snippetContents = readFileSync(filepath, 'utf8'); + + /* + Filter all imports from file. + */ const importsReg = /^[\s\S]+from.+['"];/gm; - let imports = raw.match(importsReg)?.toString() ?? ''; - const snippet = imports.length ? raw.split(imports)[1] : raw; + let imports = snippetContents.match(importsReg)?.toString() ?? ''; + const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; - // 1— remove .env import + /* + Remove .env import + */ const envImportReg = /import.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; if (envImportReg.test(imports)) { const allImports = imports.match(envImportReg)?.[0]; @@ -24,15 +29,21 @@ export const wrapSnippet = (filepath: string) => { imports = imports.replace(envImport, ''); } - // 2— creates node launcher injector + /* + Inject node launcher & friends + */ let nodeLauncher = ''; const localNetworkReg = /LOCAL_NETWORK_URL/; if (localNetworkReg.test(imports)) { - // 2.a—— replaces `LOCAL_NETWORK_URL` + /* + Replaces `LOCAL_NETWORK_URL` + */ imports = imports.replace(localNetworkReg, 'TESTNET_NETWORK_URL'); imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; - // 2.b—— injects launched node and env constants + /* + Injects launched node and env constants + */ nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') .replace(/import.*$/gm, '') .replace(/export/g, '') @@ -40,13 +51,17 @@ export const wrapSnippet = (filepath: string) => { .replace(/\n/g, '\n '); } - // 3— format indentation - const indented = snippet.replace(/^/gm, ' ').trim(); + /* + Format indentation + */ + const indented = snippetsNoImports.replace(/^/gm, ' ').trim(); const formatted = wrapperFnContents .replace('// %SNIPPET%', indented) .replace('// %NODE_LAUNCHER%', nodeLauncher); - // 4— write wrapped snippet to disk + /* + Write wrapped snippet to disk + */ const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); const wrappedSnippet = [imports, '\n', formatted].join(''); From f0287c22ca4053978ae92bc96849d6bd8847d7f8 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:46:15 -0300 Subject: [PATCH 047/113] Adding new sway script --- apps/docs-snippets2/sway/script-sum/src/Forc.toml | 7 +++++++ apps/docs-snippets2/sway/script-sum/src/main.sw | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 apps/docs-snippets2/sway/script-sum/src/Forc.toml create mode 100644 apps/docs-snippets2/sway/script-sum/src/main.sw diff --git a/apps/docs-snippets2/sway/script-sum/src/Forc.toml b/apps/docs-snippets2/sway/script-sum/src/Forc.toml new file mode 100644 index 0000000000..e5c3009763 --- /dev/null +++ b/apps/docs-snippets2/sway/script-sum/src/Forc.toml @@ -0,0 +1,7 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +license = "Apache-2.0" +name = "counter" + +[dependencies] diff --git a/apps/docs-snippets2/sway/script-sum/src/main.sw b/apps/docs-snippets2/sway/script-sum/src/main.sw new file mode 100644 index 0000000000..a1bb0b021d --- /dev/null +++ b/apps/docs-snippets2/sway/script-sum/src/main.sw @@ -0,0 +1,13 @@ +// #region script-with-configurable-contants-1 +// #region encode-and-decode-1 +script; + +configurable { + AMOUNT: u32 = 10, +} + +fn main(inputted_amount: u32) -> u32 { + inputted_amount + AMOUNT +} +// #endregion encode-and-decode-1 +// #endregion script-with-configurable-contants-1 From 4ac46af07c1dc56cd6837ac531f7b8b5ac73af38 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 00:46:37 -0300 Subject: [PATCH 048/113] Removing API draft --- .../transaction-parameters.api.ts | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 apps/docs-snippets2/src/transactions/transaction-parameters.api.ts diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts deleted file mode 100644 index e54725afb0..0000000000 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.api.ts +++ /dev/null @@ -1,26 +0,0 @@ -// #region transaction-parameters-8 -import { LOCAL_NETWORK_URL, fuels } from 'fuels'; - -import { WALLET_PVT_KEY } from '../env'; -import { Counter } from '../typegend'; - -const client = await fuels(LOCAL_NETWORK_URL); -const wallet = client.wallet(WALLET_PVT_KEY); -const deploy = await Counter.deploy(wallet); - -const { contract } = await deploy.waitForResult(); - -const { waitForResult } = await contract.functions - .increment_count(15) - .txParams({ - variableOutputs: 1, - }) - .call(); - -const { - value, - transactionResult: { isStatusSuccess }, -} = await waitForResult(); - -console.log({ value, isStatusSuccess }); -// #endregion transaction-parameters-8 From e0c319e799311a9ed9cf192809a0cca067cb6cd3 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:23:28 -0300 Subject: [PATCH 049/113] Fixing file location --- apps/docs-snippets2/sway/script-sum/{src => }/Forc.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename apps/docs-snippets2/sway/script-sum/{src => }/Forc.toml (84%) diff --git a/apps/docs-snippets2/sway/script-sum/src/Forc.toml b/apps/docs-snippets2/sway/script-sum/Forc.toml similarity index 84% rename from apps/docs-snippets2/sway/script-sum/src/Forc.toml rename to apps/docs-snippets2/sway/script-sum/Forc.toml index e5c3009763..3d6ea01cf6 100644 --- a/apps/docs-snippets2/sway/script-sum/src/Forc.toml +++ b/apps/docs-snippets2/sway/script-sum/Forc.toml @@ -2,6 +2,6 @@ authors = ["Fuel Labs "] entry = "main.sw" license = "Apache-2.0" -name = "counter" +name = "script-sum" [dependencies] From c647814d9f55298636bbedd7a63144f635dff9cd Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:23:39 -0300 Subject: [PATCH 050/113] Add script to workspace --- apps/docs-snippets2/sway/Forc.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml index 74838452b0..fd431b1e34 100644 --- a/apps/docs-snippets2/sway/Forc.toml +++ b/apps/docs-snippets2/sway/Forc.toml @@ -1,2 +1,2 @@ [workspace] -members = ["counter"] +members = ["counter", "script-sum"] From 1ebc19ddc67303c5272e3b99cb3e772353f7a419 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:23:53 -0300 Subject: [PATCH 051/113] Improve snippet --- .../transactions/transaction-parameters.ts | 47 +++++++++++++++---- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index bbc258832c..3f202e5670 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -1,32 +1,59 @@ -import { LOCAL_NETWORK_URL, Provider, Wallet } from 'fuels'; +import type { TxParams } from 'fuels'; +import { bn, LOCAL_NETWORK_URL, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; import { CounterAbi__factory } from '../typegend'; import bytecode from '../typegend/contracts/CounterAbi.hex'; +import { ScriptSumAbi__factory } from '../typegend/scripts'; const { storageSlots } = CounterAbi__factory; -const client = await Provider.create(LOCAL_NETWORK_URL); -const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, client); +const provider = await Provider.create(LOCAL_NETWORK_URL); +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); const deploy = await CounterAbi__factory.deployContract(bytecode, wallet, { storageSlots, }); +// #region transaction-parameters-6 +const txParams: TxParams = { + // #region transaction-parameters-1 + gasLimit: bn(69242), + // #endregion transaction-parameters-1 + // #region transaction-parameters-2 + maxFee: bn(69242), + // #endregion transaction-parameters-2 + // #region transaction-parameters-3 + tip: bn(100), + // #endregion transaction-parameters-3 + // #region transaction-parameters-4 + maturity: 1, + // #endregion transaction-parameters-4 + // #region transaction-parameters-5 + witnessLimit: bn(5000), + // #endregion transaction-parameters-5 +}; +// #endregion transaction-parameters-6 + const { contract } = await deploy.waitForResult(); +// #region transaction-parameters-7 +const transactionRequest = new ScriptTransactionRequest({ + script: ScriptSumAbi__factory.bin, + gasLimit: 100, +}); +// #endregion transaction-parameters-7 + // #region transaction-parameters-8 -const { waitForResult } = await contract.functions - .increment_count(15) - .txParams({ - variableOutputs: 1, - }) +const { waitForResult } = await contract.functions // contract methods + .increment_count(15) // contract method params + .txParams(txParams) // custom params .call(); const { - transactionResult: { isStatusSuccess }, value, + transactionResult: { isStatusSuccess }, } = await waitForResult(); -console.log({ isStatusSuccess, value }); +console.log({ value, isStatusSuccess, transactionRequest }); // #endregion transaction-parameters-8 From 9c93682026ef13f78527fc1d0d2015d6cec5e498 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:24:05 -0300 Subject: [PATCH 052/113] Using new snippets --- .../transactions/transaction-parameters.ts | 38 ++++++++++++------- .../transactions/transaction-parameters.md | 38 ++++++++++--------- 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index 3f202e5670..f1d1c66b7b 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -1,9 +1,16 @@ +// #region full import type { TxParams } from 'fuels'; -import { bn, LOCAL_NETWORK_URL, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; +import { + bn, + LOCAL_NETWORK_URL, + Provider, + ScriptTransactionRequest, + Wallet, +} from 'fuels'; import { WALLET_PVT_KEY } from '../env'; import { CounterAbi__factory } from '../typegend'; -import bytecode from '../typegend/contracts/CounterAbi.hex'; +import counterBytecode from '../typegend/contracts/CounterAbi.hex'; import { ScriptSumAbi__factory } from '../typegend/scripts'; const { storageSlots } = CounterAbi__factory; @@ -11,26 +18,30 @@ const { storageSlots } = CounterAbi__factory; const provider = await Provider.create(LOCAL_NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -const deploy = await CounterAbi__factory.deployContract(bytecode, wallet, { - storageSlots, -}); +const deploy = await CounterAbi__factory.deployContract( + counterBytecode, + wallet, + { + storageSlots, + } +); // #region transaction-parameters-6 const txParams: TxParams = { // #region transaction-parameters-1 - gasLimit: bn(69242), + gasLimit: bn(69242), // BigNumberish or undefined // #endregion transaction-parameters-1 // #region transaction-parameters-2 - maxFee: bn(69242), + maxFee: bn(69242), // BigNumberish or undefined // #endregion transaction-parameters-2 // #region transaction-parameters-3 - tip: bn(100), + tip: bn(100), // BigNumberish or undefined // #endregion transaction-parameters-3 // #region transaction-parameters-4 - maturity: 1, + maturity: 1, // BigNumberish or undefined // #endregion transaction-parameters-4 // #region transaction-parameters-5 - witnessLimit: bn(5000), + witnessLimit: bn(5000), // BigNumberish or undefined // #endregion transaction-parameters-5 }; // #endregion transaction-parameters-6 @@ -45,9 +56,9 @@ const transactionRequest = new ScriptTransactionRequest({ // #endregion transaction-parameters-7 // #region transaction-parameters-8 -const { waitForResult } = await contract.functions // contract methods - .increment_count(15) // contract method params - .txParams(txParams) // custom params +const { waitForResult } = await contract.functions + .increment_count(15) // contract method + .txParams(txParams) .call(); const { @@ -57,3 +68,4 @@ const { console.log({ value, isStatusSuccess, transactionRequest }); // #endregion transaction-parameters-8 +// #endregion full diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index 790dc59dd4..8402356dd8 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -2,56 +2,60 @@ 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). The parameters are: -### Gas Limit +All available parameters are shown below: + +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-6{ts:line-numbers} + +## Gas Limit The maximum amount of gas you're willing to allow the transaction to consume. If the transaction requires more gas than this limit, it will fail. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-1{ts:line-numbers} -### Max Fee +## Max Fee The maximum amount you're willing to pay for the transaction using the base asset. This allows users to set an upper limit on the transaction fee they are willing to pay, preventing unexpected high costs due to sudden network congestion or fee spikes. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-2{ts:line-numbers} -### Tip +## Tip An optional amount of the base asset to incentivise the block producer to include the transaction, ensuring faster processing for those willing to pay more. The value set here will be added to the transaction `maxFee`. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-3{ts:line-numbers} -### Maturity +## Maturity The number of blocks that must pass before the transaction can be included in a block. This is useful for time-sensitive transactions, such as those involving time-locked assets. For example, if the chain produces a new block every second, setting Maturity to `10` means the transaction will be processed after approximately 10 seconds. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-4{ts:line-numbers} -### Witness Limit +## Witness Limit The maximum byte length allowed for the transaction witnesses array. For instance, imagine a transaction that will deploy a contract. The contract bytecode will be one of the entries in the transaction witnesses. If you set this limit to `5000` and the contract bytecode length is `6000`, the transaction will be rejected because the witnesses bytes length exceeds the maximum value set. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-5{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-5{ts:line-numbers} -### Variable Outputs +## Variable Outputs The number of variable outputs that should be added to the transaction request. You can read more about it on this [guide](../contracts/variable-outputs.md) > **Note**: Setting transaction parameters is optional. If you don't specify them, the SDK will fetch some sensible defaults from the chain. -All available parameters are shown below: - -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-6{ts:line-numbers} - ## Setting Transaction Parameters To set the transaction parameters, you have access to the `txParams` method on a transaction request. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-7{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-7{ts:line-numbers} The same method is also accessible within a function invocation scope, so it can also be used when calling contract functions. -<<< @/../../docs-snippets/src/guide/transactions/transaction-parameters.test.ts#transaction-parameters-8{ts:line-numbers} +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#transaction-parameters-8{ts:line-numbers} > **Note:** When performing an action that results in a transaction (e.g. contract deployment, contract call with `.call()`, asset transfer), the SDK will automatically estimate the fee based on the gas limit and the transaction's byte size. This estimation is used when building the transaction. As a side effect, your wallet must own at least one coin of the base asset, regardless of the amount. + +## Full Example + +<<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#full{ts:line-numbers} From 739d78e5b19547a42899a44b5fe13d2e3303e4a2 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:44:08 -0300 Subject: [PATCH 053/113] Add new API draft --- .../src/transactions/new-api.ts | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 apps/docs-snippets2/src/transactions/new-api.ts diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts new file mode 100644 index 0000000000..8c1648931b --- /dev/null +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -0,0 +1,42 @@ +/* +import type { TxParams } from 'fuels'; +import { + LOCAL_NETWORK_URL, + fuels, + bn, +} from 'fuels'; + +import { WALLET_PVT_KEY } from '../env'; +import { SumScript, CounterContract, counterBytecode } from '../typegend'; + +const client = await fuels(LOCAL_NETWORK_URL); +const wallet = client.wallet(WALLET_PVT_KEY, client); +const deploy = await CounterContract.deploy(wallet); + +const txParams: TxParams = { + gasLimit: bn(69242), // BigNumberish or undefined + maxFee: bn(69242), // BigNumberish or undefined + tip: bn(100), // BigNumberish or undefined + maturity: 1, // BigNumberish or undefined + witnessLimit: bn(5000), // BigNumberish or undefined +}; + +const { contract } = await deploy.waitForResult(); + +const transactionRequest = new fuels.ScriptTransactionRequest({ + script: ScriptSum.bin, + gasLimit: 100, +}); + +const { waitForResult } = await contract.functions + .increment_count(15) // contract method + .txParams(txParams) + .call(); + +const { + value, + transactionResult: { isStatusSuccess }, +} = await waitForResult(); + +console.log({ value, isStatusSuccess, transactionRequest }); +*/ From 3808175ba9973bf9e4c69805ea11b6472c78ec19 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 01:59:20 -0300 Subject: [PATCH 054/113] Matching extra blankspace --- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index b04e55e69d..4579ec162f 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -46,7 +46,7 @@ export const wrapSnippet = (filepath: string) => { */ nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') .replace(/import.*$/gm, '') - .replace(/export/g, '') + .replace(/export /g, '') .trim() .replace(/\n/g, '\n '); } From a91820ff11f27630f72a64bb6e9f626012cc44fd Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:26:55 -0300 Subject: [PATCH 055/113] Ignoring env file --- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 4579ec162f..a50e8dc769 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -73,6 +73,6 @@ export const wrapSnippet = (filepath: string) => { */ const dir = 'src/**'; const src = `${dir}/*.ts`; -const ignore = [`src/typegend/**`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; +const ignore = [`src/typegend/**`, `src/env.ts`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; globSync(src, { ignore }).forEach(wrapSnippet); From 7b8bbbb9ab012723c156096696b2a56dea855092 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:27:03 -0300 Subject: [PATCH 056/113] Adding region marks --- apps/docs-snippets2/src/transactions/new-api.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index 8c1648931b..328ed9f42c 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -1,4 +1,5 @@ /* +// #region full import type { TxParams } from 'fuels'; import { LOCAL_NETWORK_URL, @@ -39,4 +40,5 @@ const { } = await waitForResult(); console.log({ value, isStatusSuccess, transactionRequest }); +// #endregion full */ From 847c4124db69b220711f047c9f5be0176d5e6cc3 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:29:21 -0300 Subject: [PATCH 057/113] Avoid repetition --- apps/docs/src/guide/transactions/transaction-parameters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index 8402356dd8..50b187bfb7 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -1,6 +1,6 @@ # Transaction 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). The parameters are: +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). All available parameters are shown below: From 3f756e969d58cd0f9a559c9be5869efac92f6dcb Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:39:31 -0300 Subject: [PATCH 058/113] Trim env consts --- apps/docs-snippets2/scripts/launcher.ts | 8 +------- apps/docs-snippets2/src/env.ts | 6 ------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts index 1493d6debc..af09172bfd 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -4,7 +4,7 @@ using node = await launchTestNode({ walletsConfig: { count: 5 } }); export const LOCAL_NETWORK_URL = node.provider.url; -const [w0, w2, w3, w4, w5] = node.wallets; +const [w0, w2, w3] = node.wallets; export const WALLET_ADDRESS = w0.address; export const WALLET_PVT_KEY = w0.privateKey; @@ -14,9 +14,3 @@ export const WALLET_PVT_KEY_2 = w2.privateKey; export const WALLET_ADDRESS_3 = w3.address; export const WALLET_PVT_KEY_3 = w3.privateKey; - -export const WALLET_ADDRESS_4 = w4.address; -export const WALLET_PVT_KEY_4 = w4.privateKey; - -export const WALLET_ADDRESS_5 = w5.address; -export const WALLET_PVT_KEY_5 = w5.privateKey; diff --git a/apps/docs-snippets2/src/env.ts b/apps/docs-snippets2/src/env.ts index 2ee440b556..b0851b5917 100644 --- a/apps/docs-snippets2/src/env.ts +++ b/apps/docs-snippets2/src/env.ts @@ -6,9 +6,3 @@ export const WALLET_PVT_KEY_2 = ''; export const WALLET_ADDRESS_3 = ''; export const WALLET_PVT_KEY_3 = ''; - -export const WALLET_ADDRESS_4 = ''; -export const WALLET_PVT_KEY_4 = ''; - -export const WALLET_ADDRESS_5 = ''; -export const WALLET_PVT_KEY_5 = ''; From 16abcb4f029b6d5fdc909389ab4551196ae4a41a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:39:39 -0300 Subject: [PATCH 059/113] Cleanup --- .../transactions/transaction-parameters.ts | 34 +++++++------------ 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index f1d1c66b7b..564acc1836 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -1,12 +1,6 @@ // #region full import type { TxParams } from 'fuels'; -import { - bn, - LOCAL_NETWORK_URL, - Provider, - ScriptTransactionRequest, - Wallet, -} from 'fuels'; +import { bn, LOCAL_NETWORK_URL, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; import { CounterAbi__factory } from '../typegend'; @@ -18,36 +12,32 @@ const { storageSlots } = CounterAbi__factory; const provider = await Provider.create(LOCAL_NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -const deploy = await CounterAbi__factory.deployContract( - counterBytecode, - wallet, - { - storageSlots, - } -); +const deploy = await CounterAbi__factory.deployContract(counterBytecode, wallet, { + storageSlots, +}); + +const { contract } = await deploy.waitForResult(); // #region transaction-parameters-6 const txParams: TxParams = { // #region transaction-parameters-1 - gasLimit: bn(69242), // BigNumberish or undefined + gasLimit: bn(69242), // #endregion transaction-parameters-1 // #region transaction-parameters-2 - maxFee: bn(69242), // BigNumberish or undefined + maxFee: bn(69242), // #endregion transaction-parameters-2 // #region transaction-parameters-3 - tip: bn(100), // BigNumberish or undefined + tip: bn(100), // #endregion transaction-parameters-3 // #region transaction-parameters-4 - maturity: 1, // BigNumberish or undefined + maturity: 1, // #endregion transaction-parameters-4 // #region transaction-parameters-5 - witnessLimit: bn(5000), // BigNumberish or undefined + witnessLimit: bn(5000), // #endregion transaction-parameters-5 }; // #endregion transaction-parameters-6 -const { contract } = await deploy.waitForResult(); - // #region transaction-parameters-7 const transactionRequest = new ScriptTransactionRequest({ script: ScriptSumAbi__factory.bin, @@ -57,7 +47,7 @@ const transactionRequest = new ScriptTransactionRequest({ // #region transaction-parameters-8 const { waitForResult } = await contract.functions - .increment_count(15) // contract method + .increment_count(15) // contract fn .txParams(txParams) .call(); From 094355b155e119c9600389764ddbd6945d2f8f2c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:39:52 -0300 Subject: [PATCH 060/113] Playing around new API --- .../src/transactions/new-api.ts | 34 ++++++++----------- .../transactions/transaction-parameters.ts | 2 +- .../transactions/transaction-parameters.md | 4 +++ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index 328ed9f42c..fdcc4dccc5 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -1,39 +1,35 @@ /* // #region full import type { TxParams } from 'fuels'; -import { - LOCAL_NETWORK_URL, - fuels, - bn, -} from 'fuels'; +import { LOCAL_NETWORK_URL, fuels, bn } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; -import { SumScript, CounterContract, counterBytecode } from '../typegend'; +import { Sum, Counter, counterBytecode } from '../typegend'; const client = await fuels(LOCAL_NETWORK_URL); const wallet = client.wallet(WALLET_PVT_KEY, client); -const deploy = await CounterContract.deploy(wallet); +const deploy = await Counter.deploy(wallet); + +const { contract } = await deploy.waitForResult(); const txParams: TxParams = { - gasLimit: bn(69242), // BigNumberish or undefined - maxFee: bn(69242), // BigNumberish or undefined - tip: bn(100), // BigNumberish or undefined - maturity: 1, // BigNumberish or undefined - witnessLimit: bn(5000), // BigNumberish or undefined + gasLimit: bn(69242), + maxFee: bn(69242), + tip: bn(100), + maturity: 1, + witnessLimit: bn(5000), }; -const { contract } = await deploy.waitForResult(); +const { waitForResult } = await contract.functions + .increment_count(15) // + .txParams(txParams) + .call(); const transactionRequest = new fuels.ScriptTransactionRequest({ - script: ScriptSum.bin, + script: Sum.bin, gasLimit: 100, }); -const { waitForResult } = await contract.functions - .increment_count(15) // contract method - .txParams(txParams) - .call(); - const { value, transactionResult: { isStatusSuccess }, diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index 564acc1836..311c83b334 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -47,7 +47,7 @@ const transactionRequest = new ScriptTransactionRequest({ // #region transaction-parameters-8 const { waitForResult } = await contract.functions - .increment_count(15) // contract fn + .increment_count(15) // .txParams(txParams) .call(); diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index 50b187bfb7..66c3f482a9 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -59,3 +59,7 @@ The same method is also accessible within a function invocation scope, so it can ## Full Example <<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#full{ts:line-numbers} + +## Full Example w/ new API + +<<< @/../../docs-snippets2/src/transactions/new-api.ts#full{ts:line-numbers} From a5d3d081e305b7cabb11f2a7d84032468c5e2dbe Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:48:44 -0300 Subject: [PATCH 061/113] Tidying up --- apps/docs-snippets2/src/transactions/new-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index fdcc4dccc5..6a1713a4e6 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -7,9 +7,9 @@ import { WALLET_PVT_KEY } from '../env'; import { Sum, Counter, counterBytecode } from '../typegend'; const client = await fuels(LOCAL_NETWORK_URL); -const wallet = client.wallet(WALLET_PVT_KEY, client); -const deploy = await Counter.deploy(wallet); +const wallet = client.wallet(WALLET_PVT_KEY); +const deployment = await Counter.deploy(wallet); const { contract } = await deploy.waitForResult(); const txParams: TxParams = { From 501d913308743621892b7b9c804d8e83f289774b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 09:52:35 -0300 Subject: [PATCH 062/113] Ignoring experimental file --- apps/docs-snippets2/scripts/wrap-snippets.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index a50e8dc769..c8eed18075 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -73,6 +73,12 @@ export const wrapSnippet = (filepath: string) => { */ const dir = 'src/**'; const src = `${dir}/*.ts`; -const ignore = [`src/typegend/**`, `src/env.ts`, `${dir}/*.test.ts`, `${dir}/*.wrapped.ts`]; +const ignore = [ + `src/typegend/**`, + `src/env.ts`, + `src/transactions/new-api.ts`, + `${dir}/*.test.ts`, + `${dir}/*.wrapped.ts`, +]; globSync(src, { ignore }).forEach(wrapSnippet); From 71f0c010f8cb6062e528e7cf030475fbbc3e1cf3 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:03:02 -0300 Subject: [PATCH 063/113] Ignoring generated files in eslint --- .eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintignore b/.eslintignore index 24543eaef9..f94e55b712 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,6 +12,7 @@ apps/demo-nextjs apps/demo-react-cra apps/demo-react-vite apps/create-fuels-counter-guide +apps/docs-snippets2/src/typegend packages/fuels/test/fixtures/project packages/account/src/providers/__generated__ From ae8fc47aed0e51cc422d583d2a13c3e30e3372af Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:26:03 -0300 Subject: [PATCH 064/113] Adjusting wallets count --- apps/docs-snippets2/scripts/launcher.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts index af09172bfd..6b206bd7bf 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -1,6 +1,6 @@ import { launchTestNode } from 'fuels/test-utils'; -using node = await launchTestNode({ walletsConfig: { count: 5 } }); +using node = await launchTestNode({ walletsConfig: { count: 3 } }); export const LOCAL_NETWORK_URL = node.provider.url; From 4379cffb73158c258919df548c545c04de99aa15 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:26:14 -0300 Subject: [PATCH 065/113] Moving chunk around --- apps/docs-snippets2/src/transactions/new-api.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index 6a1713a4e6..cedd34e31f 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -25,16 +25,16 @@ const { waitForResult } = await contract.functions .txParams(txParams) .call(); -const transactionRequest = new fuels.ScriptTransactionRequest({ - script: Sum.bin, - gasLimit: 100, -}); - const { value, transactionResult: { isStatusSuccess }, } = await waitForResult(); +const transactionRequest = new fuels.ScriptTransactionRequest({ + script: Sum.bin, + gasLimit: 100, +}); + console.log({ value, isStatusSuccess, transactionRequest }); // #endregion full */ From b4f2164eb11a784aa27afff006725375a1d49846 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:26:27 -0300 Subject: [PATCH 066/113] Adjusting ignore rule --- .eslintignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.eslintignore b/.eslintignore index f94e55b712..2455b1ef6b 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,6 +13,7 @@ apps/demo-react-cra apps/demo-react-vite apps/create-fuels-counter-guide apps/docs-snippets2/src/typegend +apps/docs-snippets2/src/**/*.wrapped.ts packages/fuels/test/fixtures/project packages/account/src/providers/__generated__ @@ -24,5 +25,3 @@ CHANGELOG.md *.hbs templates/nextjs - -*.wrapped.ts From 8bf629372213978f82b784211d6823d53615cc2f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:48:01 -0300 Subject: [PATCH 067/113] Improving imports manipulation --- apps/docs-snippets2/scripts/wrap-snippets.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index c8eed18075..ae5eaa71ba 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -20,7 +20,7 @@ export const wrapSnippet = (filepath: string) => { const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; /* - Remove .env import + Removes .env file import */ const envImportReg = /import.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; if (envImportReg.test(imports)) { @@ -33,12 +33,12 @@ export const wrapSnippet = (filepath: string) => { Inject node launcher & friends */ let nodeLauncher = ''; - const localNetworkReg = /LOCAL_NETWORK_URL/; + const localNetworkReg = /,?\s+LOCAL_NETWORK_URL(\s*,)?/; if (localNetworkReg.test(imports)) { /* - Replaces `LOCAL_NETWORK_URL` + Removes `LOCAL_NETWORK_URL` from `fuels` import members */ - imports = imports.replace(localNetworkReg, 'TESTNET_NETWORK_URL'); + imports = imports.replace(localNetworkReg, '$1'); imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; /* From 9590341fcd6d780349f6e0c819083fae42a50949 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:54:10 -0300 Subject: [PATCH 068/113] Adding comments --- apps/docs-snippets2/scripts/wrap-snippets.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index ae5eaa71ba..3a77a64743 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -39,16 +39,20 @@ export const wrapSnippet = (filepath: string) => { Removes `LOCAL_NETWORK_URL` from `fuels` import members */ imports = imports.replace(localNetworkReg, '$1'); + + /* + Adds launchNode import + */ imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; /* Injects launched node and env constants */ nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') - .replace(/import.*$/gm, '') - .replace(/export /g, '') - .trim() - .replace(/\n/g, '\n '); + .replace(/import.*$/gm, '') // ignore file imports + .replace(/export /g, '') // remove export keywords + .trim() // zip + .replace(/\n/g, '\n '); // indent chunk } /* From 4be8d634bf3a0b517e78ff555112f9a75c896f48 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:54:19 -0300 Subject: [PATCH 069/113] Adjusting template markers --- apps/docs-snippets2/scripts/wrapper-fn.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 692c83256f..01c78d9093 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -16,14 +16,14 @@ export const main = async (passLogsThrough: boolean = false): Promise>> + // NODE_LAUNCHER ———>>> // %NODE_LAUNCHER% - // <<<——— + // <<<——— NODE_LAUNCHER try { - // ———>>> + // SNIPPET ———>>> // %SNIPPET% - // <<<——— + // <<<——— SNIPPET } catch (error) { console.error(error); return { error }; From 88a04b4ecc7fc9b659a9173dc128c0b7e3711b7c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 10:56:14 -0300 Subject: [PATCH 070/113] Tyop --- apps/docs-snippets2/scripts/wrapper-fn.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts index 01c78d9093..70d071fdbc 100644 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ b/apps/docs-snippets2/scripts/wrapper-fn.ts @@ -16,9 +16,9 @@ export const main = async (passLogsThrough: boolean = false): Promise>> + // TEST NODE LAUNCHER ———>>> // %NODE_LAUNCHER% - // <<<——— NODE_LAUNCHER + // <<<——— TEST NODE LAUNCHER try { // SNIPPET ———>>> From 57289fda971db27681fd8d3e699fe2400f02110d Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 11:13:47 -0300 Subject: [PATCH 071/113] Update draft --- apps/docs-snippets2/src/transactions/new-api.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index cedd34e31f..49ca21a84a 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -4,12 +4,12 @@ import type { TxParams } from 'fuels'; import { LOCAL_NETWORK_URL, fuels, bn } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; -import { Sum, Counter, counterBytecode } from '../typegend'; +import { Counter, counterBytecode } from '../typegend'; const client = await fuels(LOCAL_NETWORK_URL); const wallet = client.wallet(WALLET_PVT_KEY); -const deployment = await Counter.deploy(wallet); +const deploy = await Counter.deploy(counterBytecode, wallet); const { contract } = await deploy.waitForResult(); const txParams: TxParams = { @@ -30,11 +30,6 @@ const { transactionResult: { isStatusSuccess }, } = await waitForResult(); -const transactionRequest = new fuels.ScriptTransactionRequest({ - script: Sum.bin, - gasLimit: 100, -}); - -console.log({ value, isStatusSuccess, transactionRequest }); +console.log({ value, isStatusSuccess }); // #endregion full */ From 71847b0f845fcd30248eb07fcd3f94606eadd09c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 11:13:54 -0300 Subject: [PATCH 072/113] Update title --- apps/docs/src/guide/transactions/transaction-parameters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index 66c3f482a9..aad16ca57c 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -60,6 +60,6 @@ The same method is also accessible within a function invocation scope, so it can <<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#full{ts:line-numbers} -## Full Example w/ new API +## Full Example using Sugar API <<< @/../../docs-snippets2/src/transactions/new-api.ts#full{ts:line-numbers} From 2f02691e40354095d253291ed51950b938e8ba5b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sat, 20 Jul 2024 11:30:00 -0300 Subject: [PATCH 073/113] Adjust deployment usage --- apps/docs-snippets2/src/transactions/new-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index 49ca21a84a..ee312f803f 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -4,12 +4,12 @@ import type { TxParams } from 'fuels'; import { LOCAL_NETWORK_URL, fuels, bn } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; -import { Counter, counterBytecode } from '../typegend'; +import { deployCounter } from '../typegend'; const client = await fuels(LOCAL_NETWORK_URL); const wallet = client.wallet(WALLET_PVT_KEY); -const deploy = await Counter.deploy(counterBytecode, wallet); +const deploy = await deployCounter(wallet); const { contract } = await deploy.waitForResult(); const txParams: TxParams = { From a7fd7e72441f977270c2e3eeee84145dd3ec864f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 13:51:03 -0300 Subject: [PATCH 074/113] Updating example --- apps/docs-snippets2/src/transactions/new-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts index ee312f803f..d267b289a7 100644 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ b/apps/docs-snippets2/src/transactions/new-api.ts @@ -4,12 +4,12 @@ import type { TxParams } from 'fuels'; import { LOCAL_NETWORK_URL, fuels, bn } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; -import { deployCounter } from '../typegend'; +import { CounterFactory } from '../typegend'; const client = await fuels(LOCAL_NETWORK_URL); const wallet = client.wallet(WALLET_PVT_KEY); -const deploy = await deployCounter(wallet); +const deploy = await CounterFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); const txParams: TxParams = { From 247898c47824fde7e637b6d4ed0b651bd5ae9740 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 13:58:50 -0300 Subject: [PATCH 075/113] Removing temp draft --- .../src/transactions/new-api.ts | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 apps/docs-snippets2/src/transactions/new-api.ts diff --git a/apps/docs-snippets2/src/transactions/new-api.ts b/apps/docs-snippets2/src/transactions/new-api.ts deleted file mode 100644 index d267b289a7..0000000000 --- a/apps/docs-snippets2/src/transactions/new-api.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* -// #region full -import type { TxParams } from 'fuels'; -import { LOCAL_NETWORK_URL, fuels, bn } from 'fuels'; - -import { WALLET_PVT_KEY } from '../env'; -import { CounterFactory } from '../typegend'; - -const client = await fuels(LOCAL_NETWORK_URL); -const wallet = client.wallet(WALLET_PVT_KEY); - -const deploy = await CounterFactory.deploy(wallet); -const { contract } = await deploy.waitForResult(); - -const txParams: TxParams = { - gasLimit: bn(69242), - maxFee: bn(69242), - tip: bn(100), - maturity: 1, - witnessLimit: bn(5000), -}; - -const { waitForResult } = await contract.functions - .increment_count(15) // - .txParams(txParams) - .call(); - -const { - value, - transactionResult: { isStatusSuccess }, -} = await waitForResult(); - -console.log({ value, isStatusSuccess }); -// #endregion full -*/ From dfe8eb9603185e39e58c1efb6c49a5ba2463d69a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 13:59:31 -0300 Subject: [PATCH 076/113] Removing temp draft section --- apps/docs/src/guide/transactions/transaction-parameters.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index aad16ca57c..50b187bfb7 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -59,7 +59,3 @@ The same method is also accessible within a function invocation scope, so it can ## Full Example <<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#full{ts:line-numbers} - -## Full Example using Sugar API - -<<< @/../../docs-snippets2/src/transactions/new-api.ts#full{ts:line-numbers} From aa09fbd3e8f92a5408d2198aa143de6e2d536ff4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 11 Aug 2024 09:38:29 -0300 Subject: [PATCH 077/113] Updating broken test --- .../src/transactions/transaction-parameters.ts | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index 311c83b334..e478825b36 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -3,18 +3,13 @@ import type { TxParams } from 'fuels'; import { bn, LOCAL_NETWORK_URL, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; import { WALLET_PVT_KEY } from '../env'; -import { CounterAbi__factory } from '../typegend'; -import counterBytecode from '../typegend/contracts/CounterAbi.hex'; -import { ScriptSumAbi__factory } from '../typegend/scripts'; - -const { storageSlots } = CounterAbi__factory; +import { CounterFactory } from '../typegend'; +import { ScriptSum } from '../typegend/scripts'; const provider = await Provider.create(LOCAL_NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); -const deploy = await CounterAbi__factory.deployContract(counterBytecode, wallet, { - storageSlots, -}); +const deploy = await CounterFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); @@ -40,7 +35,7 @@ const txParams: TxParams = { // #region transaction-parameters-7 const transactionRequest = new ScriptTransactionRequest({ - script: ScriptSumAbi__factory.bin, + script: ScriptSum.bytecode, gasLimit: 100, }); // #endregion transaction-parameters-7 From 9647ccfd4c8be61436f9d15999455c4a19b3523d Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 10 Sep 2024 12:23:07 -0300 Subject: [PATCH 078/113] Using `NETWORK_URL` across the board --- apps/docs-snippets2/scripts/launcher.ts | 2 +- apps/docs-snippets2/scripts/wrap-snippets.ts | 16 ++++++++-------- apps/docs-snippets2/src/env.ts | 2 ++ .../src/introduction/connecting-to-localnode.ts | 6 ++++-- .../src/introduction/connecting-to-testnet.ts | 6 ++++-- .../src/transactions/transaction-parameters.ts | 6 +++--- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts index 6b206bd7bf..9caa843d82 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -2,7 +2,7 @@ import { launchTestNode } from 'fuels/test-utils'; using node = await launchTestNode({ walletsConfig: { count: 3 } }); -export const LOCAL_NETWORK_URL = node.provider.url; +export const NETWORK_URL = node.provider.url; const [w0, w2, w3] = node.wallets; diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 3a77a64743..8fa0f94c7d 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -10,6 +10,8 @@ const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); * @param filepath - Snippet filepath */ export const wrapSnippet = (filepath: string) => { + console.log('-----'); + const snippetContents = readFileSync(filepath, 'utf8'); /* @@ -19,6 +21,9 @@ export const wrapSnippet = (filepath: string) => { let imports = snippetContents.match(importsReg)?.toString() ?? ''; const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; + // checks this before resetting .env imports + const requiresNodeLauncher = /NETWORK_URL/.test(imports); + /* Removes .env file import */ @@ -33,20 +38,15 @@ export const wrapSnippet = (filepath: string) => { Inject node launcher & friends */ let nodeLauncher = ''; - const localNetworkReg = /,?\s+LOCAL_NETWORK_URL(\s*,)?/; - if (localNetworkReg.test(imports)) { - /* - Removes `LOCAL_NETWORK_URL` from `fuels` import members - */ - imports = imports.replace(localNetworkReg, '$1'); + if (requiresNodeLauncher) { /* - Adds launchNode import + Adds `launchTestNode` import */ imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; /* - Injects launched node and env constants + Injects launched code snippet and populates env constants */ nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') .replace(/import.*$/gm, '') // ignore file imports diff --git a/apps/docs-snippets2/src/env.ts b/apps/docs-snippets2/src/env.ts index b0851b5917..c32677de38 100644 --- a/apps/docs-snippets2/src/env.ts +++ b/apps/docs-snippets2/src/env.ts @@ -1,3 +1,5 @@ +export const NETWORK_URL = ''; + export const WALLET_ADDRESS = ''; export const WALLET_PVT_KEY = ''; diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts index 139e54ed08..f2bf82c41c 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -1,9 +1,11 @@ // #region main -import { Provider, Wallet, LOCAL_NETWORK_URL } from 'fuels'; +import { Provider, Wallet } from 'fuels'; + +import { NETWORK_URL } from '../env'; const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; -const provider = await Provider.create(LOCAL_NETWORK_URL); +const provider = await Provider.create(NETWORK_URL); const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts index 9ac6e93b04..f2bf82c41c 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -1,9 +1,11 @@ // #region main -import { Provider, Wallet, TESTNET_NETWORK_URL } from 'fuels'; +import { Provider, Wallet } from 'fuels'; + +import { NETWORK_URL } from '../env'; const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; -const provider = await Provider.create(TESTNET_NETWORK_URL); +const provider = await Provider.create(NETWORK_URL); const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index e478825b36..a99ccb2dcb 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -1,12 +1,12 @@ // #region full import type { TxParams } from 'fuels'; -import { bn, LOCAL_NETWORK_URL, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; +import { bn, Provider, ScriptTransactionRequest, Wallet } from 'fuels'; -import { WALLET_PVT_KEY } from '../env'; +import { NETWORK_URL, WALLET_PVT_KEY } from '../env'; import { CounterFactory } from '../typegend'; import { ScriptSum } from '../typegend/scripts'; -const provider = await Provider.create(LOCAL_NETWORK_URL); +const provider = await Provider.create(NETWORK_URL); const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); const deploy = await CounterFactory.deploy(wallet); From 85c8cbd78b6acc2be26a26acea230c63cc6fd008 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 10 Sep 2024 12:28:28 -0300 Subject: [PATCH 079/113] Reword comment --- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 8fa0f94c7d..5e8fa5af7a 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -21,7 +21,7 @@ export const wrapSnippet = (filepath: string) => { let imports = snippetContents.match(importsReg)?.toString() ?? ''; const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; - // checks this before resetting .env imports + // Does the snippet requires node launcher? const requiresNodeLauncher = /NETWORK_URL/.test(imports); /* From 1fcdf29195ef16d27f14932d0f8377f270d077c7 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 10 Sep 2024 15:08:18 -0300 Subject: [PATCH 080/113] Adding scripts dir to tsconfig --- apps/docs-snippets2/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/tsconfig.json b/apps/docs-snippets2/tsconfig.json index 5006d44d00..b71cff574c 100644 --- a/apps/docs-snippets2/tsconfig.json +++ b/apps/docs-snippets2/tsconfig.json @@ -6,5 +6,5 @@ "rootDir": "./", "baseUrl": "./" }, - "include": ["src", "test"] + "include": ["src", "test", "scripts"] } From 3b463d093bbe97ed4c6c185ece00858df474a0a7 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 10 Sep 2024 15:08:29 -0300 Subject: [PATCH 081/113] Starting with more wallets --- apps/docs-snippets2/scripts/launcher.ts | 14 ++++++++++---- apps/docs-snippets2/src/env.ts | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher.ts index 9caa843d82..9e90a1425a 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher.ts @@ -1,16 +1,22 @@ import { launchTestNode } from 'fuels/test-utils'; -using node = await launchTestNode({ walletsConfig: { count: 3 } }); +using node = await launchTestNode({ walletsConfig: { count: 5 } }); export const NETWORK_URL = node.provider.url; -const [w0, w2, w3] = node.wallets; +const [w1, w2, w3, w4, w5] = node.wallets; -export const WALLET_ADDRESS = w0.address; -export const WALLET_PVT_KEY = w0.privateKey; +export const WALLET_ADDRESS = w1.address; +export const WALLET_PVT_KEY = w1.privateKey; export const WALLET_ADDRESS_2 = w2.address; export const WALLET_PVT_KEY_2 = w2.privateKey; export const WALLET_ADDRESS_3 = w3.address; export const WALLET_PVT_KEY_3 = w3.privateKey; + +export const WALLET_ADDRESS_4 = w4.address; +export const WALLET_PVT_KEY_4 = w4.privateKey; + +export const WALLET_ADDRESS_5 = w5.address; +export const WALLET_PVT_KEY_5 = w5.privateKey; diff --git a/apps/docs-snippets2/src/env.ts b/apps/docs-snippets2/src/env.ts index c32677de38..20daafaa27 100644 --- a/apps/docs-snippets2/src/env.ts +++ b/apps/docs-snippets2/src/env.ts @@ -8,3 +8,9 @@ export const WALLET_PVT_KEY_2 = ''; export const WALLET_ADDRESS_3 = ''; export const WALLET_PVT_KEY_3 = ''; + +export const WALLET_ADDRESS_4 = ''; +export const WALLET_PVT_KEY_4 = ''; + +export const WALLET_ADDRESS_5 = ''; +export const WALLET_PVT_KEY_5 = ''; From 9532319fb9b8b9d6d6cf60603ad5add45a43bd15 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 13 Sep 2024 16:00:03 -0300 Subject: [PATCH 082/113] Automatically generating tests for code snippets --- apps/docs-snippets2/.gitignore | 2 +- .../{launcher.ts => launcher-snippet.ts} | 18 ++++++++ apps/docs-snippets2/scripts/test-template.ts | 8 ++++ apps/docs-snippets2/scripts/wrap-snippets.ts | 42 +++++++++++++------ apps/docs-snippets2/scripts/wrapper-fn.ts | 36 ---------------- .../connecting-to-localnode.test.ts | 9 ---- .../introduction/connecting-to-localnode.ts | 2 +- .../connecting-to-testnet.test.ts | 9 ---- .../src/introduction/connecting-to-testnet.ts | 9 ++-- .../transaction-parameters.test.ts | 9 ---- .../transactions/transaction-parameters.ts | 5 ++- 11 files changed, 66 insertions(+), 83 deletions(-) rename apps/docs-snippets2/scripts/{launcher.ts => launcher-snippet.ts} (69%) create mode 100644 apps/docs-snippets2/scripts/test-template.ts delete mode 100644 apps/docs-snippets2/scripts/wrapper-fn.ts delete mode 100644 apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts delete mode 100644 apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts delete mode 100644 apps/docs-snippets2/src/transactions/transaction-parameters.test.ts diff --git a/apps/docs-snippets2/.gitignore b/apps/docs-snippets2/.gitignore index 76c90135f0..e2327c8eae 100644 --- a/apps/docs-snippets2/.gitignore +++ b/apps/docs-snippets2/.gitignore @@ -1,2 +1,2 @@ src/typegend -*.wrapped.ts +src/**/*.test.ts diff --git a/apps/docs-snippets2/scripts/launcher.ts b/apps/docs-snippets2/scripts/launcher-snippet.ts similarity index 69% rename from apps/docs-snippets2/scripts/launcher.ts rename to apps/docs-snippets2/scripts/launcher-snippet.ts index 9e90a1425a..f9da5808aa 100644 --- a/apps/docs-snippets2/scripts/launcher.ts +++ b/apps/docs-snippets2/scripts/launcher-snippet.ts @@ -20,3 +20,21 @@ export const WALLET_PVT_KEY_4 = w4.privateKey; export const WALLET_ADDRESS_5 = w5.address; export const WALLET_PVT_KEY_5 = w5.privateKey; + +const all = [ + WALLET_ADDRESS, + WALLET_PVT_KEY, + WALLET_ADDRESS_2, + WALLET_PVT_KEY_2, + WALLET_ADDRESS_3, + WALLET_PVT_KEY_3, + WALLET_ADDRESS_4, + WALLET_PVT_KEY_4, + WALLET_ADDRESS_5, + WALLET_PVT_KEY_5, +]; + +console.assert( + all.every((x) => !!x), + `All constants should be truthy.` +); diff --git a/apps/docs-snippets2/scripts/test-template.ts b/apps/docs-snippets2/scripts/test-template.ts new file mode 100644 index 0000000000..ccf29d5c96 --- /dev/null +++ b/apps/docs-snippets2/scripts/test-template.ts @@ -0,0 +1,8 @@ +test('%NAME%', async () => { + // TEST NODE LAUNCHER ———>>> + // %NODE_LAUNCHER% + // <<<——— TEST NODE LAUNCHER + // SNIPPET ———>>> + // %SNIPPET% + // <<<——— SNIPPET +}); diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index 5e8fa5af7a..007f5ec9a0 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -1,8 +1,8 @@ import { readFileSync, writeFileSync } from 'fs'; import { globSync } from 'glob'; -import { join } from 'path'; +import { join, basename } from 'path'; -const wrapperFnFilepath = join(__dirname, 'wrapper-fn.ts'); +const wrapperFnFilepath = join(__dirname, 'test-template.ts'); const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); /** @@ -10,15 +10,15 @@ const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); * @param filepath - Snippet filepath */ export const wrapSnippet = (filepath: string) => { - console.log('-----'); - const snippetContents = readFileSync(filepath, 'utf8'); /* Filter all imports from file. */ const importsReg = /^[\s\S]+from.+['"];/gm; + let imports = snippetContents.match(importsReg)?.toString() ?? ''; + const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; // Does the snippet requires node launcher? @@ -27,7 +27,7 @@ export const wrapSnippet = (filepath: string) => { /* Removes .env file import */ - const envImportReg = /import.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; + const envImportReg = /\nimport.+\{.+([\s\S]+).+\}.+from.+'\.\.\/env';/gm; if (envImportReg.test(imports)) { const allImports = imports.match(envImportReg)?.[0]; const envImport = `import ${allImports?.split('import ').pop()}`; @@ -41,14 +41,24 @@ export const wrapSnippet = (filepath: string) => { if (requiresNodeLauncher) { /* - Adds `launchTestNode` import + Adds `launchTestNode` import, always right below the last `fuels` import + and before the next relative one. */ - imports += `\nimport { launchTestNode } from 'fuels/test-utils'`; + const launchImport = `import { launchTestNode } from 'fuels/test-utils';`; + + const searchStr = `from 'fuels';`; + const lastIndexStart = imports.lastIndexOf(searchStr); + const lastIndexEnd = lastIndexStart + searchStr.length; + + const prefix = imports.slice(0, lastIndexEnd).trim(); + const suffix = imports.slice(lastIndexEnd).trim(); + + imports = `${prefix}\n${launchImport}\n\n${suffix}`; /* Injects launched code snippet and populates env constants */ - nodeLauncher = readFileSync(join(__dirname, 'launcher.ts'), 'utf-8') + nodeLauncher = readFileSync(join(__dirname, 'launcher-snippet.ts'), 'utf-8') .replace(/import.*$/gm, '') // ignore file imports .replace(/export /g, '') // remove export keywords .trim() // zip @@ -58,16 +68,22 @@ export const wrapSnippet = (filepath: string) => { /* Format indentation */ - const indented = snippetsNoImports.replace(/^/gm, ' ').trim(); + const indented = snippetsNoImports.replace(/^/gm, ' ').trim(); + const formatted = wrapperFnContents + .replace('%NAME%', basename(filepath)) .replace('// %SNIPPET%', indented) - .replace('// %NODE_LAUNCHER%', nodeLauncher); + .replace('// %NODE_LAUNCHER%', nodeLauncher) + .replace(/^.*#(end)?region.+$/gm, '') + .replace(/^[\s]*$/gm, '') // trailing spaces + .replace(/^([\s\S]]*\n){2,}/, '') // multiple empty lines + .trim(); /* - Write wrapped snippet to disk + Write snippet wrapped in an test to disk */ - const wrappedPath = filepath.replace('.ts', '.wrapped.ts'); - const wrappedSnippet = [imports, '\n', formatted].join(''); + const wrappedPath = filepath.replace('.ts', '.test.ts'); + const wrappedSnippet = [imports, '\n\n', formatted].join(''); writeFileSync(wrappedPath, wrappedSnippet); }; diff --git a/apps/docs-snippets2/scripts/wrapper-fn.ts b/apps/docs-snippets2/scripts/wrapper-fn.ts deleted file mode 100644 index 70d071fdbc..0000000000 --- a/apps/docs-snippets2/scripts/wrapper-fn.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ - -// eslint-disable-next-line @typescript-eslint/require-await -export const main = async (passLogsThrough: boolean = false): Promise => { - const logs: any[] = []; - const bkpConsole = console; - - // eslint-disable-next-line no-global-assign - console = { - ...console, - log: (...args: any[]) => { - if (passLogsThrough) { - bkpConsole.log.apply(null, args); - } - logs.push(args); - }, - }; - - // TEST NODE LAUNCHER ———>>> - // %NODE_LAUNCHER% - // <<<——— TEST NODE LAUNCHER - - try { - // SNIPPET ———>>> - // %SNIPPET% - // <<<——— SNIPPET - } catch (error) { - console.error(error); - return { error }; - } - - // eslint-disable-next-line no-global-assign - console = bkpConsole; - - return logs; -}; diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts deleted file mode 100644 index 4c0f6b0fde..0000000000 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { main } from './connecting-to-localnode.wrapped'; - -/** - * @group node - */ -test('it works', async () => { - const [[{ balances }]] = await main(); - expect(balances).toBeInstanceOf(Array); -}); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts index f2bf82c41c..2e1c935c48 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-localnode.ts @@ -10,5 +10,5 @@ const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); -console.log({ balances }); +console.assert(balances.length >= 0, 'Balances should be an array'); // #endregion main diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts deleted file mode 100644 index d77f0f35f3..0000000000 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { main } from './connecting-to-testnet.wrapped'; - -/** - * @group node - */ -test('it works', async () => { - const [[{ balances }]] = await main(); - expect(balances).toBeInstanceOf(Array); -}); diff --git a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts index f2bf82c41c..1665d9f38d 100644 --- a/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts +++ b/apps/docs-snippets2/src/introduction/connecting-to-testnet.ts @@ -1,14 +1,15 @@ // #region main import { Provider, Wallet } from 'fuels'; -import { NETWORK_URL } from '../env'; - const ADDRESS = '0x767caf5b08eba21c561078a4d5be09bbd7f16b9eca22699a61f1edd9e456126f'; -const provider = await Provider.create(NETWORK_URL); +const provider = await Provider.create('https://testnet.fuel.network/v1/graphql'); const wallet = Wallet.fromAddress(ADDRESS, provider); const { balances } = await wallet.getBalances(); -console.log({ balances }); +const [{ assetId }] = balances; + +console.assert(assetId, 'Asset ID for the first item should be defined.'); + // #endregion main diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts deleted file mode 100644 index a79ffd1cee..0000000000 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { main } from './transaction-parameters.wrapped'; - -/** - * @group node - */ -test('it works', async () => { - const [[{ isStatusSuccess }]] = await main(); - expect(isStatusSuccess).toBeTruthy(); -}); diff --git a/apps/docs-snippets2/src/transactions/transaction-parameters.ts b/apps/docs-snippets2/src/transactions/transaction-parameters.ts index a99ccb2dcb..74400e38b2 100644 --- a/apps/docs-snippets2/src/transactions/transaction-parameters.ts +++ b/apps/docs-snippets2/src/transactions/transaction-parameters.ts @@ -51,6 +51,9 @@ const { transactionResult: { isStatusSuccess }, } = await waitForResult(); -console.log({ value, isStatusSuccess, transactionRequest }); +console.assert(isStatusSuccess, 'Transaction status should be truthy.'); +console.assert(value, 'Transaction result should exist.'); +console.assert(transactionRequest, 'Transaction request should exist.'); + // #endregion transaction-parameters-8 // #endregion full From 00234d610826a94b8413df2f3c5f06a60b4c1ad1 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 13 Sep 2024 16:26:29 -0300 Subject: [PATCH 083/113] Forcing assertion failures to throw --- apps/docs-snippets2/scripts/test-template.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/docs-snippets2/scripts/test-template.ts b/apps/docs-snippets2/scripts/test-template.ts index ccf29d5c96..df033e8ee8 100644 --- a/apps/docs-snippets2/scripts/test-template.ts +++ b/apps/docs-snippets2/scripts/test-template.ts @@ -1,7 +1,25 @@ +/* eslint-disable @typescript-eslint/require-await */ +/* eslint-disable no-global-assign */ +const consoleBkp = { ...console }; + +afterAll(() => { + console = { ...consoleBkp }; +}); + test('%NAME%', async () => { // TEST NODE LAUNCHER ———>>> // %NODE_LAUNCHER% // <<<——— TEST NODE LAUNCHER + + console = { + ...console, + assert(isTruthy, errorMsg) { + if (!isTruthy) { + throw new Error(errorMsg); + } + }, + }; + // SNIPPET ———>>> // %SNIPPET% // <<<——— SNIPPET From eaca43fdb079ec44bba6da06ef9da4b6bdb5c11e Mon Sep 17 00:00:00 2001 From: chad Date: Sat, 21 Sep 2024 19:00:03 -0500 Subject: [PATCH 084/113] docs: initial transpose of encoding + bytes docs --- .changeset/config.json | 4 +- apps/docs-snippets2/package.json | 4 +- .../src/create-fuels/decrement-counter.ts | 53 ++++++ .../src/encoding/encode-and-decode.ts | 115 +++++++++++ .../src/encoding/working-with-bytes.ts | 180 ++++++++++++++++++ apps/docs-snippets2/sway/counter/src/main.sw | 10 + .../src/guide/creating-a-fuel-dapp/index.md | 6 +- .../src/guide/encoding/encode-and-decode.md | 12 +- .../src/guide/encoding/working-with-bytes.md | 16 +- 9 files changed, 385 insertions(+), 15 deletions(-) create mode 100644 apps/docs-snippets2/src/create-fuels/decrement-counter.ts create mode 100644 apps/docs-snippets2/src/encoding/encode-and-decode.ts create mode 100644 apps/docs-snippets2/src/encoding/working-with-bytes.ts diff --git a/.changeset/config.json b/.changeset/config.json index 6b9d3cda7f..7634f5d8aa 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -16,8 +16,8 @@ "demo-nextjs", "demo-node-esm", "demo-typegen", - "@fuel-ts/docs-snippets", - "@fuel-ts/docs-snippets2", + "docs-snippets", + "docs-snippets2", "template-nextjs", "create-fuels-counter-guide", "demo-wallet-sdk-react", diff --git a/apps/docs-snippets2/package.json b/apps/docs-snippets2/package.json index 87f57f55c0..5edafe0122 100644 --- a/apps/docs-snippets2/package.json +++ b/apps/docs-snippets2/package.json @@ -1,6 +1,6 @@ { - "name": "@fuel-ts/docs-snippets2", - "version": "0.67.0", + "name": "docs-snippets2", + "version": "1.0.0", "description": "", "private": true, "scripts": { diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts new file mode 100644 index 0000000000..379e0f02ed --- /dev/null +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -0,0 +1,53 @@ +// #region full +import { Wallet, Provider } from 'fuels'; + +import { NETWORK_URL, WALLET_PVT_KEY } from '../env'; +import { CounterFactory } from '../typegend/contracts'; + +// #region decrement-counter +// Let's create our provider from the network URL. +const provider = await Provider.create(NETWORK_URL); +// Let's create our wallet from the private key. +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); + +// Then we can deploy the contract. +const { waitForResult } = await CounterFactory.deploy(wallet); +const { contract } = await waitForResult(); + +// Lets setup some values to use in the test. +const initialCount = 0; +const incrementedValue = 5; +const decrementedValue = 2; + +// We can now call the contract functions and test the results. Lets assert the initial value of the counter. +const { waitForResult: initWaitForResult } = await contract.functions.get_count().call(); +const { value: initValue } = await initWaitForResult(); +console.assert( + initValue.toNumber() === initialCount, + 'Initial value should be equal to the initial count.' +); + +// Next we'll increment the counter, so that we can decrement it. +const { waitForResult: incWaitForResult } = await contract.functions.increment_count(5).call(); +const { value: incValue } = await incWaitForResult(); +console.assert( + incValue.toNumber() === incrementedValue, + 'Incremented value should be equal to the incremented value.' +); + +// Next, we'll decrement the counter by 3 and assert the new value. +const { waitForResult: decWaitForResult } = await contract.functions.decrement_count(3).call(); +const { value: decValue } = await decWaitForResult(); +console.assert( + decValue.toNumber() === decrementedValue, + 'Decremented value should be equal to the decremented value.' +); + +// Finally, we'll test the get count function again to ensure parity. +const { waitForResult: finalWaitForResult } = await contract.functions.get_count().call(); +const { value: finalValue } = await finalWaitForResult(); +console.assert( + finalValue.toNumber() === decrementedValue, + 'Final value should be equal to the decremented value.' +); +// #endregion full diff --git a/apps/docs-snippets2/src/encoding/encode-and-decode.ts b/apps/docs-snippets2/src/encoding/encode-and-decode.ts new file mode 100644 index 0000000000..356d31eb5e --- /dev/null +++ b/apps/docs-snippets2/src/encoding/encode-and-decode.ts @@ -0,0 +1,115 @@ +// #region full +import type { JsonAbi, TransactionResultReturnDataReceipt } from 'fuels'; +import { + buildFunctionResult, + ReceiptType, + arrayify, + Script, + Interface, + Provider, + Wallet, +} from 'fuels'; + +// #region encode-and-decode-3 +import { NETWORK_URL, WALLET_PVT_KEY } from '../env'; +import { ScriptSum } from '../typegend'; + +const provider = await Provider.create(NETWORK_URL); +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); + +// First we need to build out the transaction via the script that we want to encode. +// For that we'll need the ABI and the bytecode of the script +const abi: JsonAbi = ScriptSum.abi; +const bytecode = ScriptSum.bytecode; + +// Create the invocation scope for the script call, passing the initial +// value for the configurable constant +const script = new Script(bytecode, abi, wallet); +const initialValue = 10; +script.setConfigurableConstants({ AMOUNT: initialValue }); +const invocationScope = script.functions.main(0); + +// Create the transaction request, this can be picked off the invocation +// scope so the script bytecode is preset on the transaction +const request = await invocationScope.getTransactionRequest(); +// #endregion encode-and-decode-3 + +// #region encode-and-decode-4 + +// Now we can encode the argument we want to pass to the function. The argument is required +// as a function parameter for all abi functions and we can extract it from the ABI itself +const argument = abi.functions + .find((f) => f.name === 'main') + ?.inputs.find((i) => i.name === 'inputted_amount')?.concreteTypeId as string; + +// The `Interface` class (imported from `fuels`) is the entry point for encoding and decoding all things abi-related. +// We will use its `encodeType` method and create the encoding required for +// a u32 which takes 4 bytes up of property space. + +const abiInterface = new Interface(abi); +const argumentToAdd = 10; +const encodedArguments = abiInterface.encodeType(argument, [argumentToAdd]); +// Therefore the value of 10 will be encoded to: +// Uint8Array([0, 0, 0, 10] + +// The encoded value can now be set on the transaction via the script data property +request.scriptData = encodedArguments; + +// Now we can build out the rest of the transaction and then fund it +const txCost = await wallet.getTransactionCost(request); +request.maxFee = txCost.maxFee; +request.gasLimit = txCost.gasUsed; +await wallet.fund(request, txCost); + +// Finally, submit the built transaction +const response = await wallet.sendTransaction(request); +await response.waitForResult(); +// #endregion encode-and-decode-4 + +// #region encode-and-decode-5 + +// Get result of the transaction, including the contract call result. For this we'll need +// the previously created invocation scope, the transaction response and the script +const invocationResult = await buildFunctionResult({ + funcScope: invocationScope, + isMultiCall: false, + program: script, + transactionResponse: response, +}); + +// The decoded value can be destructured from the `FunctionInvocationResult` +const { value } = invocationResult; + +// Or we can decode the returned bytes ourselves, by retrieving the return data +// receipt that contains the returned bytes. We can get this by filtering on +// the returned receipt types +const returnDataReceipt = invocationResult.transactionResult.receipts.find( + (r) => r.type === ReceiptType.ReturnData +) as TransactionResultReturnDataReceipt; + +// The data is in hex format so it makes sense to use arrayify so that the data +// is more human readable +const returnData = arrayify(returnDataReceipt.data); +// returnData = new Uint8Array([0, 0, 0, 20] + +// And now we can decode the returned bytes in a similar fashion to how they were +// encoded, via the `Interface` +const [decodedReturnData] = abiInterface.decodeType(argument, returnData); +// 20 + +const totalValue = argumentToAdd + initialValue; +// #endregion encode-and-decode-5 +// #endregion full +console.assert(value === totalValue, 'Value should be equal to the total value.'); +console.assert( + decodedReturnData === totalValue, + 'Decoded return data should be equal to the total value.' +); +console.assert( + encodedArguments.toString() === new Uint8Array([0, 0, 0, 10]).toString(), + 'Encoded arguments should be equal to the total value.' +); +console.assert( + returnData.toString() === new Uint8Array([0, 0, 0, 20]).toString(), + 'Return data should be equal to the total value.' +); diff --git a/apps/docs-snippets2/src/encoding/working-with-bytes.ts b/apps/docs-snippets2/src/encoding/working-with-bytes.ts new file mode 100644 index 0000000000..e66df30771 --- /dev/null +++ b/apps/docs-snippets2/src/encoding/working-with-bytes.ts @@ -0,0 +1,180 @@ +// #region full +import { randomBytes } from 'crypto'; +import { + ArrayCoder, + B256Coder, + B512Coder, + BigNumberCoder, + BooleanCoder, + EnumCoder, + NumberCoder, + RawSliceCoder, + StdStringCoder, + StringCoder, + StructCoder, + TupleCoder, + VecCoder, + hexlify, +} from 'fuels'; + +// #region working-with-bytes-1 +const u8Coder = new NumberCoder('u8'); +const encodedU8 = u8Coder.encode(255); +// encodedU8 = new Uint8Array([255]); + +const u16Coder = new NumberCoder('u16'); +const encodedU16 = u16Coder.encode(255); +// encodedU16 = new Uint8Array([0, 255]); + +const u32Coder = new NumberCoder('u32'); +const encodedU32 = u32Coder.encode(255); +// encodedU32 = new Uint8Array([0, 0, 0, 255]); + +const u64Coder = new BigNumberCoder('u64'); +const encodedU64 = u64Coder.encode(255); +// encodedU64 = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 255]); + +const u256Coder = new BigNumberCoder('u256'); +const encodedU256 = u256Coder.encode(255); +// encodedU256 = new Uint8Array([ +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255 +// ]); +// #endregion working-with-bytes-1 + +console.assert( + encodedU8.toString() === new Uint8Array([255]).toString(), + 'Encoded U8 should be equal to 255' +); +console.assert( + encodedU16.toString() === new Uint8Array([0, 255]).toString(), + 'Encoded U16 should be equal to 255' +); +console.assert( + encodedU32.toString() === new Uint8Array([0, 0, 0, 255]).toString(), + 'Encoded U32 should be equal to 255' +); +console.assert( + encodedU64.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 255]).toString(), + 'Encoded U64 should be equal to 255' +); +console.assert( + encodedU256.toString() === + new Uint8Array([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, + ]).toString(), + 'Encoded U256 should be equal to 255' +); + +// #region working-with-bytes-2 + +const booleanCoder = new BooleanCoder(); +const encodedTrue = booleanCoder.encode(true); +// encodedTrue = new Uint8Array([1]); + +const encodedFalse = booleanCoder.encode(false); +// encodedFalse = new Uint8Array([0]); +// #endregion working-with-bytes-2 + +console.assert( + encodedTrue.toString() === new Uint8Array([1]).toString(), + 'Encoded True should be equal to 1' +); +console.assert( + encodedFalse.toString() === new Uint8Array([0]).toString(), + 'Encoded False should be equal to 0' +); + +// #region working-with-bytes-3 + +const stringCoder = new StringCoder(5); +const encoded = stringCoder.encode('hello'); +// #endregion working-with-bytes-3 + +console.assert( + encoded.toString() === new Uint8Array([104, 101, 108, 108, 111]).toString(), + 'Encoded should be equal to hello' +); + +// #region working-with-bytes-4 + +const b256Coder = new B256Coder(); +const encodedB256 = b256Coder.encode(hexlify(randomBytes(32))); +// encodedB256 = new Uint8Array(32); + +const b512Coder = new B512Coder(); +const encodedB512 = b512Coder.encode(hexlify(randomBytes(64))); +// encodedB512 = new Uint8Array(64); +// #endregion working-with-bytes-4 + +console.assert(encodedB256.length === 32, 'Encoded B256 should be equal to 32'); +console.assert(encodedB512.length === 64, 'Encoded B512 should be equal to 64'); + +// #region working-with-bytes-5 + +const tupleCoder = new TupleCoder([new NumberCoder('u8'), new NumberCoder('u16')]); +const encodedTuple = tupleCoder.encode([255, 255]); +// encodedTuple = new Uint8Array([255, 0, 255]); + +const structCoder = new StructCoder('struct', { + a: new NumberCoder('u8'), + b: new NumberCoder('u16'), +}); +const encodedStruct = structCoder.encode({ a: 255, b: 255 }); +// encodedStruct = new Uint8Array([255, 0, 255]); + +const arrayCoder = new ArrayCoder(new NumberCoder('u8'), 4); +const encodedArray = arrayCoder.encode([255, 0, 255, 0]); +// encodedArray = new Uint8Array([255, 0, 255, 0]); + +const enumCoder = new EnumCoder('enum', { a: new NumberCoder('u32') }); +const encodedEnum = enumCoder.encode({ a: 255 }); +// encodedEnum = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]); +// #endregion working-with-bytes-5 + +console.assert( + encodedTuple.toString() === new Uint8Array([255, 0, 255]).toString(), + 'Encoded Tuple should be equal to [255, 0, 255]' +); +console.assert( + encodedStruct.toString() === new Uint8Array([255, 0, 255]).toString(), + 'Encoded Struct should be equal to [255, 0, 255]' +); +console.assert( + encodedArray.toString() === new Uint8Array([255, 0, 255, 0]).toString(), + 'Encoded Array should be equal to [255, 0, 255, 0]' +); +console.assert( + encodedEnum.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]).toString(), + 'Encoded Enum should be equal to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]' +); + +// #region working-with-bytes-6 + +const vecCoder = new VecCoder(new NumberCoder('u8')); +const encodedVec = vecCoder.encode([255, 0, 255]); +// encodedVec = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]); + +const stdStringCoder = new StdStringCoder(); +const encodedStdString = stdStringCoder.encode('hello'); +// encodedStdString = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]); + +const rawSliceCoder = new RawSliceCoder(); +const encodedRawSlice = rawSliceCoder.encode([1, 2, 3, 4]); +// encodedRawSlice = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]); +// #endregion working-with-bytes-6 + +console.assert( + encodedVec.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]).toString(), + 'Encoded Vec should be equal to [0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]' +); +console.assert( + encodedStdString.toString() === + new Uint8Array([0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]).toString(), + 'Encoded StdString should be equal to [0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]' +); +console.assert( + encodedRawSlice.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]).toString(), + 'Encoded RawSlice should be equal to [0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]' +); +// #endregion full diff --git a/apps/docs-snippets2/sway/counter/src/main.sw b/apps/docs-snippets2/sway/counter/src/main.sw index e3e3beddcd..615a53c7dc 100644 --- a/apps/docs-snippets2/sway/counter/src/main.sw +++ b/apps/docs-snippets2/sway/counter/src/main.sw @@ -6,6 +6,9 @@ abi Counter { #[storage(write, read)] fn increment_count(amount: u64) -> u64; + + #[storage(write, read)] + fn decrement_count(amount: u64) -> u64; } storage { @@ -24,4 +27,11 @@ impl Counter for Contract { storage.counter.write(current + amount); storage.counter.read() } + + #[storage(write, read)] + fn decrement_count(amount: u64) -> u64 { + let current = storage.counter.read(); + storage.counter.write(current - amount); + storage.counter.read() + } } diff --git a/apps/docs/src/guide/creating-a-fuel-dapp/index.md b/apps/docs/src/guide/creating-a-fuel-dapp/index.md index a6c344a0ac..a7a5b73753 100644 --- a/apps/docs/src/guide/creating-a-fuel-dapp/index.md +++ b/apps/docs/src/guide/creating-a-fuel-dapp/index.md @@ -197,7 +197,7 @@ Testing the integration with your smart contract isn't essential, but it's good We've provided some examples for each program type in the `./test` directory of your project. But let's also add a test for our new `decrement_counter` function in the `./test/contract.test.ts` file: -<<< @/../../docs-snippets/src/guide/create-fuels/decrement_counter.test.ts#decrement-counter{ts:line-numbers} +<<< @/../../docs-snippets2/src/create-fuels/decrement-counter.ts#decrement-counter{ts:line-numbers} The template also comes with a UI testing setup using [Playwright](https://playwright.dev/). We can add a test for our new `decrement_counter` function in the `./test/ui/ui.test.ts` file: @@ -216,3 +216,7 @@ The template also comes with a UI testing setup using [Playwright](https://playw - If you have any questions or need help, feel free to reach out to us on the [Official Fuel Forum](https://forum.fuel.network/). - If you want to learn more about the Fuel Stack, check out the [Fuel Docs](https://docs.fuel.network/). + +# Full Example + +<<< @/../../docs-snippets2/src/create-fuels/decrement-counter.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/encoding/encode-and-decode.md b/apps/docs/src/guide/encoding/encode-and-decode.md index 8a6821829c..f619411567 100644 --- a/apps/docs/src/guide/encoding/encode-and-decode.md +++ b/apps/docs/src/guide/encoding/encode-and-decode.md @@ -11,7 +11,7 @@ The `Interface` class requires you to pass the [ABI](https://docs.fuel.network/d Imagine we are working with the following script that returns the sum of two `u32` integers: -<<< @/../../docs-snippets/test/fixtures/forc-projects/sum-script/src/main.sw#encode-and-decode-1{rust:line-numbers} +<<< @/../../docs-snippets2/sway/script-sum/src/main.sw#encode-and-decode-1{rust:line-numbers} When you build this script, using: @@ -27,16 +27,20 @@ Now, let's prepare some data to pass to the `main` function to retrieve the comb First, let's prepare the transaction: -<<< @/../../docs-snippets/src/guide/encoding/encode-and-decode.test.ts#encode-and-decode-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/encode-and-decode.ts#encode-and-decode-3{ts:line-numbers} Now, we can encode the script data to use in the transaction: -<<< @/../../docs-snippets/src/guide/encoding/encode-and-decode.test.ts#encode-and-decode-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/encode-and-decode.ts#encode-and-decode-4{ts:line-numbers} Finally, we can decode the result: -<<< @/../../docs-snippets/src/guide/encoding/encode-and-decode.test.ts#encode-and-decode-5{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/encode-and-decode.ts#encode-and-decode-5{ts:line-numbers} A similar approach can be taken with [Predicates](../predicates/index.md); however, you must set the encoded values to the `predicateData` property. [Contracts](../contracts/index.md) require more care. Although you can utilize the `scriptData` property, the arguments must be encoded as part of the [contract call script](https://docs.fuel.network/docs/sway/sway-program-types/smart_contracts/#calling-a-smart-contract-from-a-script). Therefore, it is recommended to use a `FunctionInvocationScope` when working with contracts which will be instantiated for you when [submitting a contract function](../contracts/methods.md), and therefore handles all the encoding. + +## Full Example + +<<< @/../../docs-snippets2/src/encoding/encode-and-decode.ts#full{ts:line-numbers} \ No newline at end of file diff --git a/apps/docs/src/guide/encoding/working-with-bytes.md b/apps/docs/src/guide/encoding/working-with-bytes.md index c9e4eda1cd..3a48863666 100644 --- a/apps/docs/src/guide/encoding/working-with-bytes.md +++ b/apps/docs/src/guide/encoding/working-with-bytes.md @@ -10,34 +10,38 @@ We know the sizes of all core types at compile time. They are the building block Each type will only contain the number of bits specified in the name. For example, a `u8` will contain 8 bits, and a `u256` will contain 256 bits and take up the exact property space with no additional padding. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-1{ts:line-numbers} ### Boolean A boolean is encoded as a single byte like a `u8`, its value being either `0` or `1`. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-2{ts:line-numbers} ### Fixed Length String A fixed-length string's size is known at compile time due to the argument declaration of `str[n]` with `n` denoting its length. Each character in the string is encoded as a `utf-8` bit. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-3{ts:line-numbers} ### `b256` / `b512` These are fixed-length byte arrays, with `b256` containing 256 bits and `b512` containing 512 bits. You can use them for address and signature formats. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-4{ts:line-numbers} ## Automatically Encoded Types These are the types that will contain nested types and no additional encoding is required other than the encoding of the nested types. This is relevant to `array`s, `tuple`s, and `struct`s and `enum`s. The only caveat here, is an `enum` will also contain a `u64` representing the `enum` case value. `option`s are encoded in the same way as `enum`s. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-5{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-5{ts:line-numbers} ## Heap types Heap types are types with a dynamic length that we do not know at compile time. These are `Vec`, `String`, and `raw_slice`. These types are encoded with a `u64` representing the length of the data, followed by the data itself. -<<< @/../../docs-snippets/src/guide/encoding/working-with-bytes.test.ts#working-with-bytes-6{ts:line-numbers} +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#working-with-bytes-6{ts:line-numbers} + +## Full Example + +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#full{ts:line-numbers} \ No newline at end of file From 2e53e9d91b23cd3fdf2707781af322a0e034f308 Mon Sep 17 00:00:00 2001 From: chad Date: Sat, 21 Sep 2024 20:30:43 -0500 Subject: [PATCH 085/113] docs: add wallet management + utilities --- .../src/create-fuels/decrement-counter.ts | 1 - .../src/utilities/unit-conversion.ts | 113 ++++++++++++++++++ .../getting-started-with-wallet-manager.ts | 74 ++++++++++++ .../locking-and-unlocking-wallet-manager.ts | 49 ++++++++ apps/docs-snippets2/sway/Forc.toml | 2 +- .../docs-snippets2/sway/echo-values/Forc.toml | 7 ++ .../sway/echo-values/src/main.sw | 48 ++++++++ .../src/guide/creating-a-fuel-dapp/index.md | 6 +- .../src/guide/encoding/encode-and-decode.md | 2 + .../src/guide/encoding/working-with-bytes.md | 4 +- .../transactions/transaction-parameters.md | 2 + .../src/guide/utilities/unit-conversion.md | 33 +++-- apps/docs/src/guide/wallets/wallet-manager.md | 22 ++-- 13 files changed, 331 insertions(+), 32 deletions(-) create mode 100644 apps/docs-snippets2/src/utilities/unit-conversion.ts create mode 100644 apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts create mode 100644 apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts create mode 100644 apps/docs-snippets2/sway/echo-values/Forc.toml create mode 100644 apps/docs-snippets2/sway/echo-values/src/main.sw diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts index 379e0f02ed..2be5c9ea6a 100644 --- a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -4,7 +4,6 @@ import { Wallet, Provider } from 'fuels'; import { NETWORK_URL, WALLET_PVT_KEY } from '../env'; import { CounterFactory } from '../typegend/contracts'; -// #region decrement-counter // Let's create our provider from the network URL. const provider = await Provider.create(NETWORK_URL); // Let's create our wallet from the private key. diff --git a/apps/docs-snippets2/src/utilities/unit-conversion.ts b/apps/docs-snippets2/src/utilities/unit-conversion.ts new file mode 100644 index 0000000000..30663999d4 --- /dev/null +++ b/apps/docs-snippets2/src/utilities/unit-conversion.ts @@ -0,0 +1,113 @@ +// #region full +import { BN, DECIMAL_GWEI, DECIMAL_KWEI, bn, Provider, Wallet } from 'fuels'; + +import { NETWORK_URL, WALLET_PVT_KEY } from '../env'; +import { EchoValuesFactory } from '../typegend/contracts/EchoValuesFactory'; + +// #region instantiation-1 +const myBigNumberOne = '100000000'; + +const resultOne = new BN('100000000').toString(); +console.assert(resultOne === myBigNumberOne, 'BN is not equal to expected'); +// #endregion instantiation-1 + +const myBigNumberTwo = '100000000'; + +// #region instantiation-2 + +const resultTwo = bn('100000000').toString(); +console.assert(resultTwo === myBigNumberTwo, 'BN is not equal to expected'); +// #endregion instantiation-2 + +// #region contract-calls-1 + +// Let's deploy a contract that has a function that takes a u64 as input +const provider = await Provider.create(NETWORK_URL); + +const wallet = await Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); + +const deployedContract = await new EchoValuesFactory(wallet).deploy(); +const { contract } = await deployedContract.waitForResult(); + +const MAX_U64 = bn('18446744073709551615'); + +const { waitForResult } = await contract.functions.echo_u64(MAX_U64).call(); +const { value } = await waitForResult(); + +console.assert(value.toString() === MAX_U64.toString(), 'BN is not equal to expected'); +// #endregion contract-calls-1 + +const myBigNumberThree = '1'; + +// #region parse-units-1 +const resultThree = bn.parseUnits('0.000000001').toString(); +console.assert(resultThree === myBigNumberThree, 'BN is not equal to expected'); +// #endregion parse-units-1 + +// #endregion parse-units-1 + +// #region parse-units-2 +const myBigNumberFour = '100100000000000'; +const resultFour = bn.parseUnits('100100').toString(); +console.assert(resultFour === myBigNumberFour, 'BN is not equal to expected'); +// #endregion parse-units-2 + +// #endregion parse-units-3 + +// #region parse-units-3 +const myBigNumberFive = '100100000200001'; + +const resultFive = bn.parseUnits('100,100.000200001').toString(); +console.assert(resultFive === myBigNumberFive, 'BN is not equal to expected'); +// #endregion parse-units-3 + +// #endregion parse-units-4 + +// #region parse-units-4 +const myBigNumberSix = '1000000000'; + +const resultSix = bn.parseUnits('1', DECIMAL_GWEI).toString(); +console.assert(resultSix === myBigNumberSix, 'BN is not equal to expected'); +// #endregion parse-units-4 + +// #region format-1 +const myBigNumberSeven = '1.000'; +const oneGwei = bn('1000000000'); + +const resultSeven = oneGwei.format(); +console.assert(resultSeven === myBigNumberSeven, 'BN is not equal to expected'); +// #endregion format-1 + +// #region format-2 +const myBigNumberEight = '2.000'; + +const twoGwei = bn('2000000000'); + +const resultEight = twoGwei.format({ units: DECIMAL_GWEI }); +console.assert(resultEight === myBigNumberEight, 'BN is not equal to expected'); +// #endregion format-2 + +// #region format-3 +const oneDecimalGwei = '1.0'; + +const formattedGwei = oneGwei.format({ precision: 1 }); +console.assert(formattedGwei === oneDecimalGwei, 'BN is not equal to expected'); +// #endregion format-3 + +// #region format-units-1 +const myFormattedGwei = '1.000000000'; + +const formattedUnitsGwei = oneGwei.formatUnits(); +console.assert(formattedUnitsGwei === myFormattedGwei, 'BN is not equal to expected'); +// #endregion format-units-1 + +// #region format-units-2 +const myFormattedKwei = '1.000000000000000'; + +const oneKwei = bn('1000000000000000'); + +const formattedUnitsKwei = oneKwei.formatUnits(DECIMAL_KWEI); +console.assert(formattedUnitsKwei === myFormattedKwei, 'BN is not equal to expected'); +// #endregion format-units-2 + +// #endregion full diff --git a/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts b/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts new file mode 100644 index 0000000000..ef768fb15f --- /dev/null +++ b/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts @@ -0,0 +1,74 @@ +// #region full +import { WalletManager, Wallet, Provider } from 'fuels'; + +import { NETWORK_URL } from '../env'; + +// #region getting-started-with-wallet-manager-1 + +// Initialize a WalletManager +const walletManager = new WalletManager(); +// #endregion getting-started-with-wallet-manager-1 + +// #region getting-started-with-wallet-manager-2 +const password = 'my-password'; + +await walletManager.unlock(password); +// #endregion getting-started-with-wallet-manager-2 + +// #region getting-started-with-wallet-manager-3 +// Initialize a Provider +const provider = await Provider.create(NETWORK_URL); +const myWallet = Wallet.generate({ + provider, +}); + +const privateKey = myWallet.privateKey; + +await walletManager.addVault({ + type: 'privateKey', + secret: privateKey, + title: 'My first private key vault', +}); +// #endregion getting-started-with-wallet-manager-3 + +// #region getting-started-with-wallet-manager-4 +await walletManager.addVault({ + type: 'privateKey', + secret: privateKey, + title: 'My second private key vault', +}); +// #endregion getting-started-with-wallet-manager-4 + +// #region getting-started-with-wallet-manager-5 +const vaults = walletManager.getVaults(); + +// #context console.log(vaults); +// #endregion getting-started-with-wallet-manager-5 + +// #region getting-started-with-wallet-manager-6 + +console.assert( + JSON.stringify(vaults) === + JSON.stringify([ + { + title: 'My first private key vault', + type: 'privateKey', + vaultId: 0, + }, + { + title: 'My second private key vault', + type: 'privateKey', + vaultId: 1, + }, + ]), + 'Vaults do not match expected structure' +); +// #endregion getting-started-with-wallet-manager-6 + +// #region getting-started-with-wallet-manager-7 +const retrievedWallet = walletManager.getWallet(myWallet.address); +console.assert(retrievedWallet.address.equals(myWallet.address), 'Wallets do not match'); +console.assert(vaults.length > 0, 'Vaults length should be greater than 0'); +// #endregion getting-started-with-wallet-manager-7 + +// #endregion full diff --git a/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts b/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts new file mode 100644 index 0000000000..fde13a7b36 --- /dev/null +++ b/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts @@ -0,0 +1,49 @@ +// #region full +import { WalletManager } from 'fuels'; + +const password = '0b540281-f87b-49ca-be37-2264c7f260f7'; +// #region locking-and-unlocking-wallet-manager-1 +const walletManager = new WalletManager(); + +// #context const password = 'my-password'; + +await walletManager.unlock(password); +// #endregion locking-and-unlocking-wallet-manager-1 + +const privateKey = '0xc7079e195cca2495e47b056115f850a8be1f2c4ffe2a806922accb36d2ff0dde'; + +await walletManager.addVault({ + type: 'privateKey', + secret: privateKey, +}); + +// #region locking-and-unlocking-wallet-manager-2 +await walletManager.lock(); +// #endregion locking-and-unlocking-wallet-manager-2 + +// #region locking-and-unlocking-wallet-manager-3 +await walletManager.unlock(password); +// #endregion locking-and-unlocking-wallet-manager-3 + +// #region locking-and-unlocking-wallet-manager-4 +const isLocked = walletManager.isLocked; + +console.assert(isLocked === false, 'WalletManager is locked'); +// #endregion locking-and-unlocking-wallet-manager-4 + +// #region locking-and-unlocking-wallet-manager-5 +const newPassword = 'my-new-password'; + +await walletManager.updatePassphrase(password, newPassword); +// #endregion locking-and-unlocking-wallet-manager-5 + +// #region locking-and-unlocking-wallet-manager-6 +await walletManager.unlock(newPassword); + +// perform your tasks... + +walletManager.lock(); // Always lock your WalletManager when you're done + +console.assert(walletManager.isLocked === true, 'WalletManager is unlocked'); +// #endregion locking-and-unlocking-wallet-manager-6 +// #endregion full diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml index fd431b1e34..135feb055f 100644 --- a/apps/docs-snippets2/sway/Forc.toml +++ b/apps/docs-snippets2/sway/Forc.toml @@ -1,2 +1,2 @@ [workspace] -members = ["counter", "script-sum"] +members = ["counter", "script-sum", "echo-values"] diff --git a/apps/docs-snippets2/sway/echo-values/Forc.toml b/apps/docs-snippets2/sway/echo-values/Forc.toml new file mode 100644 index 0000000000..999e113415 --- /dev/null +++ b/apps/docs-snippets2/sway/echo-values/Forc.toml @@ -0,0 +1,7 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +license = "Apache-2.0" +name = "echo-values" + +[dependencies] diff --git a/apps/docs-snippets2/sway/echo-values/src/main.sw b/apps/docs-snippets2/sway/echo-values/src/main.sw new file mode 100644 index 0000000000..87bb47a673 --- /dev/null +++ b/apps/docs-snippets2/sway/echo-values/src/main.sw @@ -0,0 +1,48 @@ +// #region understanding-fuel-binary-file +contract; + +use std::b512::B512; + +abi EchoValues { + fn echo_u8(value: u8) -> u8; + + fn echo_str_8(value: str[8]) -> str[8]; + + fn echo_str(value: str) -> str; + + fn echo_tuple(tuple: (u8, bool, u64)) -> (u8, bool, u64); + + fn echo_b512(input: B512) -> B512; + + fn echo_u64(value: u64) -> u64; +} + +impl EchoValues for Contract { + fn echo_u8(value: u8) -> u8 { + value + } + + fn echo_str(value: str) -> str { + value + } + + fn echo_str_8(value: str[8]) -> str[8] { + value + } + + // #region tuples-2 + fn echo_tuple(tuple: (u8, bool, u64)) -> (u8, bool, u64) { + tuple + } + // #endregion tuples-2 + + // #region bits512-3 + fn echo_b512(input: B512) -> B512 { + input + } + // #endregion bits512-3 + fn echo_u64(value: u64) -> u64 { + value + } +} +// #endregion understanding-fuel-binary-file diff --git a/apps/docs/src/guide/creating-a-fuel-dapp/index.md b/apps/docs/src/guide/creating-a-fuel-dapp/index.md index a7a5b73753..059500115e 100644 --- a/apps/docs/src/guide/creating-a-fuel-dapp/index.md +++ b/apps/docs/src/guide/creating-a-fuel-dapp/index.md @@ -197,7 +197,7 @@ Testing the integration with your smart contract isn't essential, but it's good We've provided some examples for each program type in the `./test` directory of your project. But let's also add a test for our new `decrement_counter` function in the `./test/contract.test.ts` file: -<<< @/../../docs-snippets2/src/create-fuels/decrement-counter.ts#decrement-counter{ts:line-numbers} +<<< @/../../docs-snippets2/src/create-fuels/decrement-counter.ts#full{ts:line-numbers} The template also comes with a UI testing setup using [Playwright](https://playwright.dev/). We can add a test for our new `decrement_counter` function in the `./test/ui/ui.test.ts` file: @@ -216,7 +216,3 @@ The template also comes with a UI testing setup using [Playwright](https://playw - If you have any questions or need help, feel free to reach out to us on the [Official Fuel Forum](https://forum.fuel.network/). - If you want to learn more about the Fuel Stack, check out the [Fuel Docs](https://docs.fuel.network/). - -# Full Example - -<<< @/../../docs-snippets2/src/create-fuels/decrement-counter.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/encoding/encode-and-decode.md b/apps/docs/src/guide/encoding/encode-and-decode.md index f619411567..2d55cd7d77 100644 --- a/apps/docs/src/guide/encoding/encode-and-decode.md +++ b/apps/docs/src/guide/encoding/encode-and-decode.md @@ -43,4 +43,6 @@ A similar approach can be taken with [Predicates](../predicates/index.md); howev ## Full Example +Here is the full example of the encoding and decoding methods: + <<< @/../../docs-snippets2/src/encoding/encode-and-decode.ts#full{ts:line-numbers} \ No newline at end of file diff --git a/apps/docs/src/guide/encoding/working-with-bytes.md b/apps/docs/src/guide/encoding/working-with-bytes.md index 3a48863666..e42d996062 100644 --- a/apps/docs/src/guide/encoding/working-with-bytes.md +++ b/apps/docs/src/guide/encoding/working-with-bytes.md @@ -44,4 +44,6 @@ Heap types are types with a dynamic length that we do not know at compile time. ## Full Example -<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#full{ts:line-numbers} \ No newline at end of file +Here is the full example of the working with bytes functions: + +<<< @/../../docs-snippets2/src/encoding/working-with-bytes.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/transactions/transaction-parameters.md b/apps/docs/src/guide/transactions/transaction-parameters.md index 50b187bfb7..524d72b512 100644 --- a/apps/docs/src/guide/transactions/transaction-parameters.md +++ b/apps/docs/src/guide/transactions/transaction-parameters.md @@ -58,4 +58,6 @@ The same method is also accessible within a function invocation scope, so it can ## Full Example +Here is the full example of the transaction parameters: + <<< @/../../docs-snippets2/src/transactions/transaction-parameters.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/utilities/unit-conversion.md b/apps/docs/src/guide/utilities/unit-conversion.md index 5903cf4ee7..8c21d0f70d 100644 --- a/apps/docs/src/guide/utilities/unit-conversion.md +++ b/apps/docs/src/guide/utilities/unit-conversion.md @@ -10,17 +10,17 @@ Below we will go over some common use cases for unit conversion. Using our `BN` class we can instantiate these numbers. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#instantiation-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#instantiation-1{ts:line-numbers} Or using our `bn` utility function. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#instantiation-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#instantiation-2{ts:line-numbers} ## Contract calls Generally, we will need to convert `u64` and `u256` numbers to a `BN` object when passing them to a Sway program from JavaScript. More information on this can be found [here](../types/numbers.md). -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#contract-calls-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#contract-calls-1{ts:line-numbers} > Note: If a contract call returns a number that is too large to be represented as a JavaScript number, you can convert it to a string using the `toString` method instead of `toNumber`. @@ -28,19 +28,19 @@ Generally, we will need to convert `u64` and `u256` numbers to a `BN` object whe Parsing string-represented numbers (from user input) has never been easier, than using the `parseUnits` function. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#parse-units-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#parse-units-1{ts:line-numbers} We can parse large numbers. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#parse-units-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#parse-units-2{ts:line-numbers} Or numbers formatted for human readability. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#parse-units-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#parse-units-3{ts:line-numbers} We can also parse numbers in other units of measure. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#parse-units-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#parse-units-4{ts:line-numbers} ## Formatting @@ -48,26 +48,33 @@ We can format common units of measure using the `format` function. In the following example, we format a BigNumber representation of one Gwei, into units for the Fuel network (with 3 decimal place precision). -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#format-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#format-1{ts:line-numbers} We can also format numbers in other units of measure by specifying the `units` variable. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#format-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#format-2{ts:line-numbers} A `precision` variable will allow for the formatting of numbers with a specific number of decimal places. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#format-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#format-3{ts:line-numbers} ### Format units The `formatUnits` function is a lesser alternative to the `format` function, as it will maintain the same precision as the input value. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#format-units-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#format-units-1{ts:line-numbers} We can also format numbers in other units of measure by specifying the `units` variable. -<<< @/../../docs-snippets/src/guide/utilities/unit-conversion.test.ts#format-units-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#format-units-2{ts:line-numbers} ## See also -- [Sway Numbers](../types/numbers.md) \ No newline at end of file +- [Sway Numbers](../types/numbers.md) + + +## Full Example + +For the full example of unit conversion see the snippet below: + +<<< @/../../docs-snippets2/src/utilities/unit-conversion.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/wallets/wallet-manager.md b/apps/docs/src/guide/wallets/wallet-manager.md index 56dd4cf2f4..a70ed0c1ee 100644 --- a/apps/docs/src/guide/wallets/wallet-manager.md +++ b/apps/docs/src/guide/wallets/wallet-manager.md @@ -28,13 +28,13 @@ For now, let's keep it simple and not worry about the storage. Later we will dis To instantiate a `WalletManager` you can simply: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-1{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-1{ts:line-numbers} ### Setting `WalletManager` Password By default, a `WalletManager` instance is locked when created. Before using it, you need to unlock it by setting a password. You can do this by calling the `unlock` method. -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-2{ts:line-numbers} Once your `WalletManager` is unlocked, it can manage your wallets. @@ -44,7 +44,7 @@ A vault in `WalletManager` serves as a secure container for wallets. The `Wallet To add a vault, we utilize the `addVault` method. Here's how we can create a private key vault and add a private key from a wallet we own: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-3{ts:line-numbers} The `addVault` method requires an object with three properties: `type`, `secret`, and `title`. The `WalletManager` currently supports two types of vaults: `privateKeyVault` and `mnemonicVault`. For the `secret`, we use our wallet's private key, and for the `title`, we can provide a custom name. @@ -52,7 +52,7 @@ By running this code, `WalletManager` creates a new vault instance of the type ` A key feature of the `WalletManager` is its ability to manage multiple vaults, even of the same type. This implies that if you run the `addVault` method again, with the same parameters, `WalletManager` will create another vault of the type `privateKey`, holding the same wallet. Here's an example: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-4{ts:line-numbers} After executing this, you will find that your `WalletManager` is managing two `privateKey` vaults, both storing the same wallet. @@ -62,17 +62,17 @@ Remember, both `title` and `secret` are optional when adding vaults, but providi With your `WalletManager` set up, you can now access your vaults and wallets. Here's how to retrieve the details of your vaults: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-5{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-5{ts:line-numbers} This will output something like this: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-6{bash:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-6{bash:line-numbers} As you can see, the `WalletManager` assigns unique `vaultIds` for each vault. The first vault you added has a `vaultId` of `0`, and the second one has a `vaultId` of `1`. Let's retrieve your wallet instance with the `getWallet` method: -<<< @/../../docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts#getting-started-with-wallet-manager-7{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts#getting-started-with-wallet-manager-7{ts:line-numbers} This guide walked through the steps to instantiate a `WalletManager`, set up its first vault, and retrieve vault information. The following sections will explore more functionalities of `WalletManager`, and go deeper into the usage of its vaults and the details of its storage system. @@ -98,7 +98,7 @@ Remember, it's crucial to lock your `WalletManager` when it's not in use to ensu The `unlock` method requires the previously set password to unlock the `WalletManager` and all its vaults. The password decrypts the stored vaults, allowing `WalletManager` to load its saved data. -<<< @/../../docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts#locking-and-unlocking-wallet-manager-3{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts#locking-and-unlocking-wallet-manager-3{ts:line-numbers} Providing an incorrect password will result in an error. However, when unlocked successfully, `WalletManager` is ready for use again. @@ -106,18 +106,18 @@ Providing an incorrect password will result in an error. However, when unlocked You can confirm the current lock state of the `WalletManager` by using the `isLocked` method: -<<< @/../../docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts#locking-and-unlocking-wallet-manager-4{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts#locking-and-unlocking-wallet-manager-4{ts:line-numbers} ### Updating the Password To change the current password, invoke the `updatePassphrase` method, and provide both the old and new passwords: -<<< @/../../docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts#locking-and-unlocking-wallet-manager-5{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts#locking-and-unlocking-wallet-manager-5{ts:line-numbers} ### Reminder: Always Lock Your `WalletManager` Always ensure you lock the `WalletManager` after completing operations. This step is critical for securing your wallets. -<<< @/../../docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts#locking-and-unlocking-wallet-manager-6{ts:line-numbers} +<<< @/../../docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts#locking-and-unlocking-wallet-manager-6{ts:line-numbers} By using `WalletManager` to manage lock and unlock states, you introduce an additional layer of security. Never forget to lock your `WalletManager` when it's not in use. From 1ba314b5eed5da41bb5ea8b3e6b577206e8bfb57 Mon Sep 17 00:00:00 2001 From: chad Date: Thu, 26 Sep 2024 18:46:59 -0500 Subject: [PATCH 086/113] docs: add launch node testing snippets --- .../testing/launching-a-test-node.test.ts | 4 +- apps/docs-snippets2/scripts/wrap-snippets.ts | 2 +- .../src/testing/launching-a-test-node.ts | 224 ++++++++++++++++++ .../src/testing/tweaking-the-blockchain.ts | 44 ++++ .../src/guide/testing/advanced-example.md | 2 +- apps/docs/src/guide/testing/basic-example.md | 2 +- apps/docs/src/guide/testing/custom-blocks.md | 9 +- .../guide/testing/launching-a-test-node.md | 4 +- .../src/guide/testing/test-node-options.md | 10 +- 9 files changed, 287 insertions(+), 14 deletions(-) create mode 100644 apps/docs-snippets2/src/testing/launching-a-test-node.ts create mode 100644 apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index 3557da4f37..33c02d54b4 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -30,8 +30,8 @@ describe('launching a test node', () => { const launched = await launchTestNode(); /* - Do your things, run your tests, and then call - `launched.cleanup()` to dispose of everything. + * Do your things, run your tests, and then call + `launched.cleanup()` to dispose of everything. */ launched.cleanup(); diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index a19dc9e284..ad37fc15cb 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -22,7 +22,7 @@ export const wrapSnippet = (filepath: string) => { const snippetsNoImports = imports.length ? snippetContents.split(imports)[1] : snippetContents; // Does the snippet requires node launcher? - const requiresNodeLauncher = /LOCAL_NETWORK_URL/.test(imports); + const requiresNodeLauncher = /NETWORK_URL/.test(imports); /* Removes .env file import diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.ts new file mode 100644 index 0000000000..a75058d6ad --- /dev/null +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.ts @@ -0,0 +1,224 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable import/first */ +import { WalletUnlocked, Provider } from 'fuels'; +import { launchTestNode, TestAssetId, TestMessage } from 'fuels/test-utils'; +import { join } from 'path'; + +// #region automatic-cleanup + +using launched = await launchTestNode(); + +/* + * The method `launched.cleanup()` will be automatically + * called when the variable `launched` goes out of block scope. + */ + +// #endregion automatic-cleanup + +// #region manual-cleanup + +const launchedTestNode = await launchTestNode(); + +/* + Do your things, run your tests, and then call + `launchedTestNode.cleanup()` to dispose of everything. + */ + +launchedTestNode.cleanup(); +// #endregion manual-cleanup + +// #region options + +const customLaunchTestNode = await launchTestNode(/* options */); +// #endregion options + +customLaunchTestNode.cleanup(); +// #region basic-example +import { CounterFactory } from '../typegend/contracts/CounterFactory'; + +using launchedContractNode = await launchTestNode({ + contractsConfigs: [{ factory: CounterFactory }], +}); + +const { + contracts: [contract], + provider, + wallets, +} = launchedContractNode; + +const { waitForResult } = await contract.functions.get_count().call(); +const response = await waitForResult(); + +console.assert(response.value.toNumber() === 0, 'Counter is not initialized'); +console.assert(provider instanceof Provider, 'Provider is not instance of Provider'); +console.assert(wallets.length === 4, 'Wallets length is not 4'); +// #endregion basic-example + +// #region advanced-example + +const assets = TestAssetId.random(2); +const message = new TestMessage({ amount: 1000 }); + +using counterContractNode = await launchTestNode({ + walletsConfig: { + count: 4, + assets, + coinsPerAsset: 2, + amountPerCoin: 1_000_000, + messages: [message], + }, + contractsConfigs: [ + { + factory: CounterFactory, + walletIndex: 3, + options: { storageSlots: [] }, + }, + ], +}); + +const { + contracts: [counterContract], + wallets: [wallet1, wallet2, wallet3, wallet4], +} = counterContractNode; + +console.assert( + counterContract instanceof CounterFactory, + 'CounterFactory is not instance of CounterFactory' +); +console.assert(wallet1 instanceof WalletUnlocked, 'Wallet1 is not instance of WalletUnlocked'); +console.assert(wallet2 instanceof WalletUnlocked, 'Wallet2 is not instance of WalletUnlocked'); +console.assert(wallet3 instanceof WalletUnlocked, 'Wallet3 is not instance of WalletUnlocked'); +console.assert(wallet4 instanceof WalletUnlocked, 'Wallet4 is not instance of WalletUnlocked'); + +// #endregion advanced-example + +// #region custom-fuel-core-args + +process.env.DEFAULT_FUEL_CORE_ARGS = `--tx-max-depth 20`; + +// `nodeOptions.args` will override the above values if provided. + +const nodeWithCustomArgs = await launchTestNode(); +const { provider: providerWithCustomArgs } = nodeWithCustomArgs; + +console.assert(providerWithCustomArgs.getNode().maxDepth.toNumber() === 20, 'Max depth is not 20'); +process.env.DEFAULT_FUEL_CORE_ARGS = ''; +// #endregion custom-fuel-core-args + +nodeWithCustomArgs.cleanup(); + +const mySnapshotDirPath = join(__dirname, '../../../../', '.fuel-core', 'configs'); + +// #region custom-chain-config +process.env.DEFAULT_CHAIN_SNAPSHOT_DIR = mySnapshotDirPath; + +const launchedWithCustomChainConfig = await launchTestNode(); + +const { provider: providerWithCustomChainConfig } = launchedWithCustomChainConfig; + +const { name } = await providerWithCustomChainConfig.fetchChain(); + +console.assert(name === 'custom-chain-config', 'Chain name is not custom-chain-config'); +// #endregion custom-chain-config + +launchedWithCustomChainConfig.cleanup(); +// #region custom-node-options + +const [baseAssetId] = TestAssetId.random(); + +const nodeWithCustomBaseAssetId = await launchTestNode({ + nodeOptions: { + snapshotConfig: { + chainConfig: { + consensus_parameters: { + V1: { + base_asset_id: baseAssetId.value, + }, + }, + }, + }, + }, +}); +// #endregion custom-node-options + +nodeWithCustomBaseAssetId.cleanup(); + +// #region asset-ids + +const randomAssetIds = TestAssetId.random(); + +const nodeWithCustomAssetIds = await launchTestNode({ + walletsConfig: { + assets: randomAssetIds, + }, +}); + +const { + wallets: [walletWithCustomAssetIds], +} = nodeWithCustomAssetIds; + +const { coins } = await walletWithCustomAssetIds.getCoins(randomAssetIds[0].value); +console.assert( + coins[0].assetId === randomAssetIds[0].value, + 'Asset id is not randomAssetIds[0].value' +); +// #endregion asset-ids + +nodeWithCustomAssetIds.cleanup(); + +// #region test-messages + +const testMessage = new TestMessage({ amount: 1000 }); + +const nodeWithTestMessages = await launchTestNode({ + walletsConfig: { + messages: [testMessage], + }, +}); + +const { + wallets: [walletWithTestMessages], +} = nodeWithTestMessages; + +const { + messages: [messageWithTestMessages], +} = await walletWithTestMessages.getMessages(); + +console.assert( + messageWithTestMessages.nonce === testMessage.nonce, + 'Nonce is not testMessage.nonce' +); +// #endregion test-messages + +nodeWithTestMessages.cleanup(); + +// #region test-messages-chain +const recipient = WalletUnlocked.generate(); +const testMessageOnChain = new TestMessage({ + amount: 1000, + recipient: recipient.address, +}); + +using launchedWithTestMessagesOnChain = await launchTestNode({ + nodeOptions: { + snapshotConfig: { + stateConfig: { + messages: [testMessageOnChain.toChainMessage()], + }, + }, + }, +}); + +const { provider: providerWithTestMessagesOnChain } = launchedWithTestMessagesOnChain; + +recipient.provider = providerWithTestMessagesOnChain; + +const { + messages: [messageOnChain], +} = await recipient.getMessages(); +// message.nonce === testMessage.nonce +console.assert( + messageOnChain.nonce === testMessageOnChain.nonce, + 'Nonce is not testMessageOnChain.nonce' +); +// #endregion test-messages-chain diff --git a/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts new file mode 100644 index 0000000000..9d316eaf60 --- /dev/null +++ b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts @@ -0,0 +1,44 @@ +// #region full +// #region produce-blocks +import { DateTime } from 'fuels'; +import { launchTestNode } from 'fuels/test-utils'; + +using launched = await launchTestNode(); +const { provider } = launched; +const block = await provider.getBlock('latest'); +if (!block) { + throw new Error('No latest block'); +} +const { time: timeLastBlockProduced } = block; + +const producedBlockHeight = await provider.produceBlocks(3); + +const producedBlock = await provider.getBlock(producedBlockHeight.toNumber()); + +const oldest = DateTime.fromTai64(timeLastBlockProduced); +const newest = DateTime.fromTai64(producedBlock!.time); +// newest >= oldest +console.assert(producedBlock, 'No latest block'); +console.assert(newest >= oldest, 'Newest block is not greater or equal to oldest block'); +// #endregion produce-blocks + +// #region produceBlocks-custom-timestamp +using launchedWithCustomTimestamp = await launchTestNode(); +const { provider: providerWithCustomTimestamp } = launchedWithCustomTimestamp; + +const latestBlock = await providerWithCustomTimestamp.getBlock('latest'); +if (!latestBlock) { + throw new Error('No latest block'); +} +const latestBlockTimestamp = DateTime.fromTai64(latestBlock.time).toUnixMilliseconds(); +const newBlockHeight = await providerWithCustomTimestamp.produceBlocks( + 3, + latestBlockTimestamp + 1000 +); + +console.assert( + newBlockHeight.toHex() === latestBlock.height.add(3).toHex(), + 'New block height is not equal to latest block height + 3' +); +// #endregion produceBlocks-custom-timestamp +// #endregion full diff --git a/apps/docs/src/guide/testing/advanced-example.md b/apps/docs/src/guide/testing/advanced-example.md index 7989c31b61..d8432d63a5 100644 --- a/apps/docs/src/guide/testing/advanced-example.md +++ b/apps/docs/src/guide/testing/advanced-example.md @@ -8,7 +8,7 @@ A more complex example showcasing genesis block state configuration with [`walletsConfig`](./test-node-options.md#walletsconfig) and deployment of multiple contracts is shown below. -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#advanced-example{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#advanced-example{ts:line-numbers} ## Summary diff --git a/apps/docs/src/guide/testing/basic-example.md b/apps/docs/src/guide/testing/basic-example.md index df30c0b8fc..4eab7cae85 100644 --- a/apps/docs/src/guide/testing/basic-example.md +++ b/apps/docs/src/guide/testing/basic-example.md @@ -10,7 +10,7 @@ Let's use `launchTestNode` with the counter contract from the [Fuel dApp tutoria _Note: you will have to change the import paths of the contract factory and bytecode to match your folder structure._ -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#basic-example{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#basic-example{ts:line-numbers} ## Summary diff --git a/apps/docs/src/guide/testing/custom-blocks.md b/apps/docs/src/guide/testing/custom-blocks.md index a00447c9ad..afd35dbd0a 100644 --- a/apps/docs/src/guide/testing/custom-blocks.md +++ b/apps/docs/src/guide/testing/custom-blocks.md @@ -2,10 +2,15 @@ You can force-produce blocks using the `produceBlocks` helper to achieve an arbitrary block height. This is especially useful when you want to do some testing regarding transaction maturity. -<<< @/../../docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts#produce-blocks{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/tweaking-the-blockchain.ts#produce-blocks{ts:line-numbers} # Blocks With Custom Timestamps You can also produce blocks with a custom block time using the `produceBlocks` helper by specifying the second optional parameter. -<<< @/../../docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts#produceBlocks-custom-timestamp{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/tweaking-the-blockchain.ts#produceBlocks-custom-timestamp{ts:line-numbers} + +# Full Example + +For a full example, see the following file: +<<< @/../../docs-snippets2/src/testing/tweaking-the-blockchain.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/testing/launching-a-test-node.md b/apps/docs/src/guide/testing/launching-a-test-node.md index 993a0d4767..a08f5f9263 100644 --- a/apps/docs/src/guide/testing/launching-a-test-node.md +++ b/apps/docs/src/guide/testing/launching-a-test-node.md @@ -10,7 +10,7 @@ For usage information for `launchTestNode` including it's inputs, outputs and op We support [explicit resource management](https://www.typescriptlang.org/docs/handbook/variable-declarations.html#using-declarations), introduced in TypeScript 5.2, which automatically calls a `cleanup` function after a variable instantiated with the `using` keyword goes out of block scope: -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#automatic-cleanup{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#automatic-cleanup{ts:line-numbers} ### Configuring Typescript @@ -35,4 +35,4 @@ If you don't want, or can't use [explicit resource management](https://www.types In this case, remember you must call `.cleanup()` to dispose of the node. -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#manual-cleanup{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#manual-cleanup{ts:line-numbers} diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index 65ffb58971..edae0e429d 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -7,7 +7,7 @@ This reference describes all the options of the [`launchTestNode`](./launching-a - [`nodeOptions`](./test-node-options.md#nodeoptions) - [`providerOptions`](./test-node-options.md#provideroptions) -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#options{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#options{ts:line-numbers} Check out the [API reference](../../api/Contract/LaunchTestNodeOptions.md) for usage information on the Test Node Options. @@ -26,17 +26,17 @@ Used to set the node's genesis block state (coins and messages). The `TestAssetId` utility integrates with [`walletsConfig`](./test-node-options.md#walletsconfig) and gives you an easy way to generate multiple random asset ids via the `TestAssetId.random` static method. -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#asset-ids{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#asset-ids{ts:line-numbers} ### `walletsConfig.messages` The `TestMessage` helper class is used to create messages for testing purposes. When passed via `walletsConfig.messages`, the `recipient` field of the message is overriden to be the wallet's address. -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#test-messages{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#test-messages{ts:line-numbers} It can also be used standalone and passed into the initial state of the chain via the `TestMessage.toChainMessage` instance method. -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#test-messages-chain{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#test-messages-chain{ts:line-numbers} ## `contractsConfigs` @@ -54,7 +54,7 @@ Options to modify the behavior of the node. For example, you can specify your own base asset id of the chain like below: -<<< @/../../docs-snippets/src/guide/testing/launching-a-test-node.test.ts#custom-node-options{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#custom-node-options{ts:line-numbers} _Note: The API for these options is still not fully complete and better documentation will come in the future._ From 63ebc631d6b04fbea73021d294312384130219ab Mon Sep 17 00:00:00 2001 From: chad Date: Fri, 27 Sep 2024 14:23:18 -0500 Subject: [PATCH 087/113] docs: added configurable constant + custom transaction snippets --- .eslintignore | 1 + .../src/scripts/script-custom-transaction.ts | 65 +++++++++++++++++++ .../src/scripts/script-with-configurable.ts | 55 ++++++++++++++++ .../src/testing/tweaking-the-blockchain.ts | 1 + apps/docs-snippets2/sway/Forc.toml | 2 +- .../script-transfer-to-contract/Forc.toml | 7 ++ .../script-transfer-to-contract/src/main.sw | 19 ++++++ .../src/guide/cookbook/custom-transactions.md | 10 ++- .../guide/scripts/configurable-constants.md | 11 +++- tsconfig.test.json | 2 +- 10 files changed, 167 insertions(+), 6 deletions(-) create mode 100644 apps/docs-snippets2/src/scripts/script-custom-transaction.ts create mode 100644 apps/docs-snippets2/src/scripts/script-with-configurable.ts create mode 100644 apps/docs-snippets2/sway/script-transfer-to-contract/Forc.toml create mode 100644 apps/docs-snippets2/sway/script-transfer-to-contract/src/main.sw diff --git a/.eslintignore b/.eslintignore index 5a12f6796a..2fa61cc9a3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -14,6 +14,7 @@ apps/demo-react-vite apps/create-fuels-counter-guide apps/docs-snippets2/src/typegend apps/docs-snippets2/src/**/*.wrapped.ts +apps/docs-snippets2/src/**/*.test.ts packages/fuels/src/cli/commands/deploy/proxy packages/fuels/test/fixtures/project diff --git a/apps/docs-snippets2/src/scripts/script-custom-transaction.ts b/apps/docs-snippets2/src/scripts/script-custom-transaction.ts new file mode 100644 index 0000000000..265dc6fd97 --- /dev/null +++ b/apps/docs-snippets2/src/scripts/script-custom-transaction.ts @@ -0,0 +1,65 @@ +// #region full +import { BN, ScriptTransactionRequest, coinQuantityfy } from 'fuels'; +import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; + +import { EchoValuesFactory } from '../typegend/contracts/EchoValuesFactory'; +import { ScriptTransferToContract } from '../typegend/scripts/ScriptTransferToContract'; + +using launched = await launchTestNode({ + contractsConfigs: [{ factory: EchoValuesFactory }], +}); +const { + contracts: [contract], + wallets: [wallet], +} = launched; + +const defaultTxParams = { + gasLimit: 10000, +}; + +// #region custom-transactions-2 + +// 1. Create a script transaction using the script binary +const request = new ScriptTransactionRequest({ + ...defaultTxParams, + gasLimit: 3_000_000, + script: ScriptTransferToContract.bytecode, +}); + +// 2. Instantiate the script main arguments +const scriptArguments = [ + contract.id.toB256(), + { bits: ASSET_A }, + new BN(1000), + { bits: ASSET_B }, + new BN(500), +]; + +// 3. Populate the script data and add the contract input and output +request + .setData(ScriptTransferToContract.abi, scriptArguments) + .addContractInputAndOutput(contract.id); + +// 4. Get the transaction resources +const quantities = [coinQuantityfy([1000, ASSET_A]), coinQuantityfy([500, ASSET_B])]; + +// 5. Calculate the transaction fee +const txCost = await wallet.getTransactionCost(request, { quantities }); + +request.gasLimit = txCost.gasUsed; +request.maxFee = txCost.maxFee; + +await wallet.fund(request, txCost); + +// 6. Send the transaction +const tx = await wallet.sendTransaction(request); +await tx.waitForResult(); + +const contractFinalBalanceAssetA = await contract.getBalance(ASSET_A); +const contractFinalBalanceAssetB = await contract.getBalance(ASSET_B); + +console.assert(new BN(contractFinalBalanceAssetA).toNumber() === 1000, 'unexpected balance'); +console.assert(new BN(contractFinalBalanceAssetB).toNumber() === 500, 'unexpected balance'); +// #endregion custom-transactions-2 + +// #endregion full diff --git a/apps/docs-snippets2/src/scripts/script-with-configurable.ts b/apps/docs-snippets2/src/scripts/script-with-configurable.ts new file mode 100644 index 0000000000..1f519755f5 --- /dev/null +++ b/apps/docs-snippets2/src/scripts/script-with-configurable.ts @@ -0,0 +1,55 @@ +// #region full +import { Script, BN, Wallet, Provider } from 'fuels'; + +import { WALLET_PVT_KEY, LOCAL_NETWORK_URL } from '../env'; +import { ScriptSum } from '../typegend/scripts/ScriptSum'; + +// #region script-with-configurable-contants-2 +const provider = await Provider.create(LOCAL_NETWORK_URL); +const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); +const script = new Script(ScriptSum.bytecode, ScriptSum.abi, wallet); + +const configurableConstants = { + AMOUNT: 81, +}; + +script.setConfigurableConstants(configurableConstants); + +const inputtedValue = 10; + +const { waitForResult } = await script.functions.main(inputtedValue).call(); +const { value } = await waitForResult(); + +const expectedTotal = inputtedValue + configurableConstants.AMOUNT; + +console.assert(new BN(value as number).toNumber() === expectedTotal, 'unexpected total'); +// #endregion script-with-configurable-contants-2 + +const argument = 10; +const expected = 20; + +// #region preparing-scripts +const myMainScript = new Script(ScriptSum.bytecode, ScriptSum.abi, wallet); + +const tx = myMainScript.functions.main(argument); + +// Set the call parameters +tx.callParams({ gasLimit: 1500 }); + +// Get the entire transaction request prior to +const txRequest = await tx.getTransactionRequest(); + +// Get the transaction ID +const txId = await tx.getTransactionId(); + +// Retrieve the value of the call and the actual gas used +const { waitForResult: waitForActualGasUsed } = await tx.call(); +const { value: valueOfActualGasUsed, gasUsed: gasUsedOfActualGasUsed } = + await waitForActualGasUsed(); +// #endregion preparing-scripts +console.assert(txRequest, 'txn request undefined'); +console.assert(txId, 'txn id undefined'); +console.assert(new BN(valueOfActualGasUsed as number).toNumber() === expected, 'unexpected total'); +console.assert(new BN(gasUsedOfActualGasUsed).toNumber() > 0, 'gas used is 0'); + +// #endregion full diff --git a/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts index 9d316eaf60..bb35b35a55 100644 --- a/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts +++ b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ // #region full // #region produce-blocks import { DateTime } from 'fuels'; diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml index 135feb055f..20603e5139 100644 --- a/apps/docs-snippets2/sway/Forc.toml +++ b/apps/docs-snippets2/sway/Forc.toml @@ -1,2 +1,2 @@ [workspace] -members = ["counter", "script-sum", "echo-values"] +members = ["counter", "script-sum", "echo-values", "script-transfer-to-contract"] diff --git a/apps/docs-snippets2/sway/script-transfer-to-contract/Forc.toml b/apps/docs-snippets2/sway/script-transfer-to-contract/Forc.toml new file mode 100644 index 0000000000..27eb944eb8 --- /dev/null +++ b/apps/docs-snippets2/sway/script-transfer-to-contract/Forc.toml @@ -0,0 +1,7 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +license = "Apache-2.0" +name = "script-transfer-to-contract" + +[dependencies] diff --git a/apps/docs-snippets2/sway/script-transfer-to-contract/src/main.sw b/apps/docs-snippets2/sway/script-transfer-to-contract/src/main.sw new file mode 100644 index 0000000000..0e8cd4d742 --- /dev/null +++ b/apps/docs-snippets2/sway/script-transfer-to-contract/src/main.sw @@ -0,0 +1,19 @@ +// #region custom-transactions-1 +script; + +use std::asset::transfer; + +fn main( + contract_address: b256, + asset_a: AssetId, + amount_asset_a: u64, + asset_b: AssetId, + amount_asset_b: u64, +) -> bool { + let wrapped_contract = ContractId::from(contract_address); + let contract_id = Identity::ContractId(wrapped_contract); + transfer(contract_id, asset_a, amount_asset_a); + transfer(contract_id, asset_b, amount_asset_b); + true +} +// #endregion custom-transactions-1 diff --git a/apps/docs/src/guide/cookbook/custom-transactions.md b/apps/docs/src/guide/cookbook/custom-transactions.md index 0f25df6888..aafbfade7d 100644 --- a/apps/docs/src/guide/cookbook/custom-transactions.md +++ b/apps/docs/src/guide/cookbook/custom-transactions.md @@ -4,8 +4,14 @@ There may be scenarios where you need to build out transactions that involve mul Consider the following script that transfers multiple assets to a contract: -<<< @/../../docs-snippets/test/fixtures/forc-projects/script-transfer-to-contract/src/main.sw#custom-transactions-1{ts:line-numbers} +<<< @/../../docs-snippets2/sway/script-transfer-to-contract/src/main.sw#custom-transactions-1{rust:line-numbers} This script can be executed by creating a [`ScriptTransactionRequest`](../../api/Account/ScriptTransactionRequest.md), appending the resource and contract inputs/outputs and then sending the transaction, as follows: -<<< @/../../docs-snippets/src/guide/scripts/script-custom-transaction.test.ts#custom-transactions-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/scripts/script-custom-transaction.ts#custom-transactions-2{ts:line-numbers} + +## Full Example + +For a full example, see below: + +<<< @/../../docs-snippets2/src/scripts/script-custom-transaction.ts#full{ts:line-numbers} diff --git a/apps/docs/src/guide/scripts/configurable-constants.md b/apps/docs/src/guide/scripts/configurable-constants.md index 65a4e6e1a8..b1b9d6a4e2 100644 --- a/apps/docs/src/guide/scripts/configurable-constants.md +++ b/apps/docs/src/guide/scripts/configurable-constants.md @@ -6,16 +6,23 @@ Configurable constants are fairly straightforward to add and set in your scripts Let's consider the following script: -<<< @/../../docs-snippets/test/fixtures/forc-projects/sum-script/src/main.sw#script-with-configurable-contants-1{rust:line-numbers} +<<< @/../../docs-snippets2/sway/script-sum/src/main.sw#script-with-configurable-contants-1{rust:line-numbers} In this script, `AMOUNT` is a configurable constant with a default value of `10`. The main function returns the sum of the `inputted_amount` and the configurable constant `AMOUNT`. To change the value of the `AMOUNT` constant, we can use the `setConfigurableConstants` method as shown in the following example: -<<< @/../../docs-snippets/src/guide/scripts/script-with-configurable.test.ts#script-with-configurable-contants-2{ts:line-numbers} +<<< @/../../docs-snippets2/src/scripts/script-with-configurable.ts#script-with-configurable-contants-2{ts:line-numbers} In this example, we're setting a new value `81` for the `AMOUNT` constant. We then call the main function with an inputted value of `10`. The expectation is that the script will return the sum of the inputted value and the new value of `AMOUNT`. This way, configurable constants in scripts allow for more flexibility and dynamic behavior during execution. + + +## Full Example + +For a full example, see below: + +<<< @/../../docs-snippets2/src/scripts/script-with-configurable.ts#full{ts:line-numbers} diff --git a/tsconfig.test.json b/tsconfig.test.json index 0330aadf23..3408c0b62a 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -4,5 +4,5 @@ "noEmit": true }, "include": ["**/*.test.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules", "apps/docs-snippets2/src/**/*.test.ts"] } From dfee87d12db64d71f9abffa021d297aa7f1a1e26 Mon Sep 17 00:00:00 2001 From: chad Date: Fri, 27 Sep 2024 14:31:13 -0500 Subject: [PATCH 088/113] lint: forc formatting --- apps/docs-snippets2/sway/Forc.toml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets2/sway/Forc.toml b/apps/docs-snippets2/sway/Forc.toml index 20603e5139..8b2b9950cf 100644 --- a/apps/docs-snippets2/sway/Forc.toml +++ b/apps/docs-snippets2/sway/Forc.toml @@ -1,2 +1,7 @@ [workspace] -members = ["counter", "script-sum", "echo-values", "script-transfer-to-contract"] +members = [ + "counter", + "script-sum", + "echo-values", + "script-transfer-to-contract", +] From 60be4a518b4d91624429a34a20c7570ce5066ef5 Mon Sep 17 00:00:00 2001 From: chad Date: Fri, 27 Sep 2024 17:56:50 -0500 Subject: [PATCH 089/113] docs: run test snippets in node --- apps/docs-snippets2/scripts/test-template.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/scripts/test-template.ts b/apps/docs-snippets2/scripts/test-template.ts index 95513d3ac3..6494b2eaf6 100644 --- a/apps/docs-snippets2/scripts/test-template.ts +++ b/apps/docs-snippets2/scripts/test-template.ts @@ -10,7 +10,6 @@ afterAll(() => { /** * @group node - * @group browser */ test('%NAME%', async () => { // TEST NODE LAUNCHER ———>>> From 546c1163e4ebc9640126dcfaa463d2a14e5aceb7 Mon Sep 17 00:00:00 2001 From: chad Date: Sat, 28 Sep 2024 12:33:59 -0500 Subject: [PATCH 090/113] docs: revert changes in test node original snippets --- .../src/guide/testing/launching-a-test-node.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index 33c02d54b4..3557da4f37 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -30,8 +30,8 @@ describe('launching a test node', () => { const launched = await launchTestNode(); /* - * Do your things, run your tests, and then call - `launched.cleanup()` to dispose of everything. + Do your things, run your tests, and then call + `launched.cleanup()` to dispose of everything. */ launched.cleanup(); From 607a87288387f9870d5e1f55e21795c174cc325c Mon Sep 17 00:00:00 2001 From: chad Date: Mon, 30 Sep 2024 15:27:49 -0500 Subject: [PATCH 091/113] chore: modify template to check test environment --- apps/docs-snippets2/scripts/test-template.ts | 4 +--- apps/docs-snippets2/scripts/wrap-snippets.ts | 15 +++++++++++++++ ...test-node.ts => launching-a-test-node.node.ts} | 0 3 files changed, 16 insertions(+), 3 deletions(-) rename apps/docs-snippets2/src/testing/{launching-a-test-node.ts => launching-a-test-node.node.ts} (100%) diff --git a/apps/docs-snippets2/scripts/test-template.ts b/apps/docs-snippets2/scripts/test-template.ts index 6494b2eaf6..ac07fd0196 100644 --- a/apps/docs-snippets2/scripts/test-template.ts +++ b/apps/docs-snippets2/scripts/test-template.ts @@ -8,9 +8,7 @@ afterAll(() => { console = { ...consoleBkp }; }); -/** - * @group node - */ +// %TEST_ENVIRONMENT% test('%NAME%', async () => { // TEST NODE LAUNCHER ———>>> // %NODE_LAUNCHER% diff --git a/apps/docs-snippets2/scripts/wrap-snippets.ts b/apps/docs-snippets2/scripts/wrap-snippets.ts index ad37fc15cb..71f01e183a 100644 --- a/apps/docs-snippets2/scripts/wrap-snippets.ts +++ b/apps/docs-snippets2/scripts/wrap-snippets.ts @@ -12,6 +12,20 @@ const wrapperFnContents = readFileSync(wrapperFnFilepath, 'utf-8'); export const wrapSnippet = (filepath: string) => { const snippetContents = readFileSync(filepath, 'utf8'); + /** + * Test environment + */ + let testEnvironments = ''; + + // Check if the filepath includes '.node' or '.browser' + if (filepath.includes('.node')) { + testEnvironments = '/**\n * @group node\n */'; + } else if (filepath.includes('.browser')) { + testEnvironments = '/**\n * @group browser\n */'; + } else { + testEnvironments = '/**\n * @group node\n * @group browser\n */'; + } + /* Filter all imports from file. */ @@ -74,6 +88,7 @@ export const wrapSnippet = (filepath: string) => { const wrappedSnippet = // eslintDisableRule + wrapperFnContents + .replace('// %TEST_ENVIRONMENT%', testEnvironments) .replace('%IMPORTS%', imports) .replace('%NAME%', basename(filepath)) .replace('// %SNIPPET%', indented) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts similarity index 100% rename from apps/docs-snippets2/src/testing/launching-a-test-node.ts rename to apps/docs-snippets2/src/testing/launching-a-test-node.node.ts From 7baad23672d51dd5f0a7cce5fb4ad670aad574a9 Mon Sep 17 00:00:00 2001 From: chad Date: Mon, 30 Sep 2024 16:10:16 -0500 Subject: [PATCH 092/113] docs: fix doc links --- apps/docs/src/guide/testing/advanced-example.md | 2 +- apps/docs/src/guide/testing/basic-example.md | 2 +- apps/docs/src/guide/testing/launching-a-test-node.md | 4 ++-- apps/docs/src/guide/testing/test-node-options.md | 10 +++++----- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/docs/src/guide/testing/advanced-example.md b/apps/docs/src/guide/testing/advanced-example.md index d8432d63a5..733aa513de 100644 --- a/apps/docs/src/guide/testing/advanced-example.md +++ b/apps/docs/src/guide/testing/advanced-example.md @@ -8,7 +8,7 @@ A more complex example showcasing genesis block state configuration with [`walletsConfig`](./test-node-options.md#walletsconfig) and deployment of multiple contracts is shown below. -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#advanced-example{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#advanced-example{ts:line-numbers} ## Summary diff --git a/apps/docs/src/guide/testing/basic-example.md b/apps/docs/src/guide/testing/basic-example.md index 4eab7cae85..c3be04517d 100644 --- a/apps/docs/src/guide/testing/basic-example.md +++ b/apps/docs/src/guide/testing/basic-example.md @@ -10,7 +10,7 @@ Let's use `launchTestNode` with the counter contract from the [Fuel dApp tutoria _Note: you will have to change the import paths of the contract factory and bytecode to match your folder structure._ -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#basic-example{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#basic-example{ts:line-numbers} ## Summary diff --git a/apps/docs/src/guide/testing/launching-a-test-node.md b/apps/docs/src/guide/testing/launching-a-test-node.md index a08f5f9263..e9b546477c 100644 --- a/apps/docs/src/guide/testing/launching-a-test-node.md +++ b/apps/docs/src/guide/testing/launching-a-test-node.md @@ -10,7 +10,7 @@ For usage information for `launchTestNode` including it's inputs, outputs and op We support [explicit resource management](https://www.typescriptlang.org/docs/handbook/variable-declarations.html#using-declarations), introduced in TypeScript 5.2, which automatically calls a `cleanup` function after a variable instantiated with the `using` keyword goes out of block scope: -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#automatic-cleanup{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#automatic-cleanup{ts:line-numbers} ### Configuring Typescript @@ -35,4 +35,4 @@ If you don't want, or can't use [explicit resource management](https://www.types In this case, remember you must call `.cleanup()` to dispose of the node. -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#manual-cleanup{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#manual-cleanup{ts:line-numbers} diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index edae0e429d..2bbf8624dd 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -7,7 +7,7 @@ This reference describes all the options of the [`launchTestNode`](./launching-a - [`nodeOptions`](./test-node-options.md#nodeoptions) - [`providerOptions`](./test-node-options.md#provideroptions) -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#options{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#options{ts:line-numbers} Check out the [API reference](../../api/Contract/LaunchTestNodeOptions.md) for usage information on the Test Node Options. @@ -26,17 +26,17 @@ Used to set the node's genesis block state (coins and messages). The `TestAssetId` utility integrates with [`walletsConfig`](./test-node-options.md#walletsconfig) and gives you an easy way to generate multiple random asset ids via the `TestAssetId.random` static method. -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#asset-ids{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#asset-ids{ts:line-numbers} ### `walletsConfig.messages` The `TestMessage` helper class is used to create messages for testing purposes. When passed via `walletsConfig.messages`, the `recipient` field of the message is overriden to be the wallet's address. -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#test-messages{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#test-messages{ts:line-numbers} It can also be used standalone and passed into the initial state of the chain via the `TestMessage.toChainMessage` instance method. -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#test-messages-chain{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#test-messages-chain{ts:line-numbers} ## `contractsConfigs` @@ -54,7 +54,7 @@ Options to modify the behavior of the node. For example, you can specify your own base asset id of the chain like below: -<<< @/../../docs-snippets2/src/testing/launching-a-test-node.ts#custom-node-options{ts:line-numbers} +<<< @/../../docs-snippets2/src/testing/launching-a-test-node.node.ts#custom-node-options{ts:line-numbers} _Note: The API for these options is still not fully complete and better documentation will come in the future._ From f6a58695f958b27b28e2df3959bc367a2b0142d6 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 10:57:06 -0500 Subject: [PATCH 093/113] docs: update test comments Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/create-fuels/decrement-counter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts index 1a407277a8..5b9fbff99c 100644 --- a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -13,7 +13,7 @@ const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider); const { waitForResult } = await CounterFactory.deploy(wallet); const { contract } = await waitForResult(); -// Lets setup some values to use in the test. +// Lets setup some values to use in our example. const initialCount = 0; const incrementedValue = 5; const decrementedValue = 2; From 9a58d2cd34393f451f17aaa335d8b42aaba5efe5 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:15:04 -0500 Subject: [PATCH 094/113] docs: remove unnecessary spacing Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index a75058d6ad..33fd06f267 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -93,7 +93,6 @@ console.assert(wallet4 instanceof WalletUnlocked, 'Wallet4 is not instance of Wa // #endregion advanced-example // #region custom-fuel-core-args - process.env.DEFAULT_FUEL_CORE_ARGS = `--tx-max-depth 20`; // `nodeOptions.args` will override the above values if provided. From f5893e5e107eb75ea83721110f279d3f16dcc201 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:15:20 -0500 Subject: [PATCH 095/113] docs: update variable naming Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/create-fuels/decrement-counter.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts index 5b9fbff99c..bb278547f5 100644 --- a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -19,8 +19,8 @@ const incrementedValue = 5; const decrementedValue = 2; // We can now call the contract functions and test the results. Lets assert the initial value of the counter. -const { waitForResult: initWaitForResult } = await contract.functions.get_count().call(); -const { value: initValue } = await initWaitForResult(); +const { waitForResult: getCountWaitForResult } = await contract.functions.get_count().call(); +const { value: initialGetCountValue } = await getCountWaitForResult(); console.assert( initValue.toNumber() === initialCount, 'Initial value should be equal to the initial count.' From a9aa0f29a364322ba4d05acc5b78079111618ad6 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:15:29 -0500 Subject: [PATCH 096/113] docs: update vars Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/create-fuels/decrement-counter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts index bb278547f5..ae3e3cc645 100644 --- a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -22,7 +22,7 @@ const decrementedValue = 2; const { waitForResult: getCountWaitForResult } = await contract.functions.get_count().call(); const { value: initialGetCountValue } = await getCountWaitForResult(); console.assert( - initValue.toNumber() === initialCount, + initialGetCountValue.toNumber() === initialCount, 'Initial value should be equal to the initial count.' ); From f725f954248a95c9915636a36b42b91528c2313e Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:15:44 -0500 Subject: [PATCH 097/113] docs: update spacing Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 33fd06f267..3881bf25cb 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -55,7 +55,6 @@ console.assert(wallets.length === 4, 'Wallets length is not 4'); // #endregion basic-example // #region advanced-example - const assets = TestAssetId.random(2); const message = new TestMessage({ amount: 1000 }); From ab529f271cd02d6f4dfea64ef8b684ba93c72477 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:15:59 -0500 Subject: [PATCH 098/113] docs: whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 3881bf25cb..c072760352 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -5,7 +5,6 @@ import { launchTestNode, TestAssetId, TestMessage } from 'fuels/test-utils'; import { join } from 'path'; // #region automatic-cleanup - using launched = await launchTestNode(); /* From 561b33c6d32888ec6e95522e1b3f4c4ab543b85e Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:16:30 -0500 Subject: [PATCH 099/113] docs: remove unnecessary comments Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index c072760352..1c6875c67d 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -213,7 +213,6 @@ recipient.provider = providerWithTestMessagesOnChain; const { messages: [messageOnChain], } = await recipient.getMessages(); -// message.nonce === testMessage.nonce console.assert( messageOnChain.nonce === testMessageOnChain.nonce, 'Nonce is not testMessageOnChain.nonce' From 84af072a8ef3c8b7e767500dae8d7a3663bbfa16 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:16:41 -0500 Subject: [PATCH 100/113] docs: whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 1c6875c67d..76791a1f9a 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -15,7 +15,6 @@ using launched = await launchTestNode(); // #endregion automatic-cleanup // #region manual-cleanup - const launchedTestNode = await launchTestNode(); /* From 098b3db4fe6c969dd38fbe971a206eb3e20f01df Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:16:58 -0500 Subject: [PATCH 101/113] docs: remove whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 76791a1f9a..fff9bdd108 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -163,7 +163,6 @@ console.assert( nodeWithCustomAssetIds.cleanup(); // #region test-messages - const testMessage = new TestMessage({ amount: 1000 }); const nodeWithTestMessages = await launchTestNode({ From 29f83c7afbb0ee7062f6a073bae4a476af96199f Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:17:19 -0500 Subject: [PATCH 102/113] docs: remove whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index fff9bdd108..8c06238c03 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -26,7 +26,6 @@ launchedTestNode.cleanup(); // #endregion manual-cleanup // #region options - const customLaunchTestNode = await launchTestNode(/* options */); // #endregion options From 2f094a1d9bbae69aeea5ec5c36cd79f129bb550c Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:17:37 -0500 Subject: [PATCH 103/113] docs: remove whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 8c06238c03..c296a1d82b 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -139,7 +139,6 @@ const nodeWithCustomBaseAssetId = await launchTestNode({ nodeWithCustomBaseAssetId.cleanup(); // #region asset-ids - const randomAssetIds = TestAssetId.random(); const nodeWithCustomAssetIds = await launchTestNode({ From b2b4d1338cd256dbef72df7670f05718b8e51c9d Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:19:05 -0500 Subject: [PATCH 104/113] docs: whitespace Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/testing/launching-a-test-node.node.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index c296a1d82b..6fe9323a7f 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -118,7 +118,6 @@ console.assert(name === 'custom-chain-config', 'Chain name is not custom-chain-c launchedWithCustomChainConfig.cleanup(); // #region custom-node-options - const [baseAssetId] = TestAssetId.random(); const nodeWithCustomBaseAssetId = await launchTestNode({ From 1a4dbe03e50de4e1ae06a83b1f5a723dc8e1bf03 Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 11:46:25 -0500 Subject: [PATCH 105/113] docs: add more spacing Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- apps/docs-snippets2/src/utilities/unit-conversion.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs-snippets2/src/utilities/unit-conversion.ts b/apps/docs-snippets2/src/utilities/unit-conversion.ts index 6c8eba283e..1c441deed4 100644 --- a/apps/docs-snippets2/src/utilities/unit-conversion.ts +++ b/apps/docs-snippets2/src/utilities/unit-conversion.ts @@ -8,6 +8,7 @@ import { EchoValuesFactory } from '../typegend/contracts/EchoValuesFactory'; const myBigNumberOne = '100000000'; const resultOne = new BN('100000000').toString(); + console.assert(resultOne === myBigNumberOne, 'BN is not equal to expected'); // #endregion instantiation-1 From 3c30cd27656c1d7d116c5fde2282702b3157df6f Mon Sep 17 00:00:00 2001 From: Chad Nehemiah Date: Tue, 1 Oct 2024 02:42:27 -0500 Subject: [PATCH 106/113] ci: update workflows to include next branch (#3234) --- .changeset/sour-actors-tease.md | 3 +++ .github/workflows/codeql.yml | 4 ++-- .github/workflows/forc-version.yaml | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 .changeset/sour-actors-tease.md diff --git a/.changeset/sour-actors-tease.md b/.changeset/sour-actors-tease.md new file mode 100644 index 0000000000..5c9afe6893 --- /dev/null +++ b/.changeset/sour-actors-tease.md @@ -0,0 +1,3 @@ +--- +--- +ci: update workflows to include next branch \ No newline at end of file diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 9be4c8e60b..05fe5ab978 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -2,9 +2,9 @@ name: "CodeQL" on: push: - branches: [ "master" ] + branches: [ "master" , "next" ] pull_request: - branches: [ "master" ] + branches: [ "master" , "next" ] schedule: - cron: '40 13 * * 4' diff --git a/.github/workflows/forc-version.yaml b/.github/workflows/forc-version.yaml index 52211abdf3..881f0abf80 100644 --- a/.github/workflows/forc-version.yaml +++ b/.github/workflows/forc-version.yaml @@ -4,6 +4,7 @@ on: pull_request: branches: - master + - next jobs: verify-forc-version: From afa017e90527663640a8c2e18a83b13ebb261431 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 08:23:48 +0000 Subject: [PATCH 107/113] build(deps): bump the deps-minor group with 9 updates (#3229) * build(deps): bump the deps-minor group with 9 updates Bumps the deps-minor group with 9 updates: | Package | From | To | | --- | --- | --- | | [@types/web](https://github.com/microsoft/TypeScript-DOM-Lib-Generator) | `0.0.164` | `0.0.167` | | [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `5.30.5` | `5.30.6` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.7` | `5.4.8` | | [@wagmi/connectors](https://github.com/wevm/wagmi/tree/HEAD/packages/connectors) | `5.1.12` | `5.1.14` | | [@wagmi/core](https://github.com/wevm/wagmi/tree/HEAD/packages/core) | `2.13.6` | `2.13.8` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.9` | `18.3.10` | | [typedoc-plugin-markdown](https://github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown) | `4.2.7` | `4.2.8` | | [vue](https://github.com/vuejs/core) | `3.5.8` | `3.5.10` | | [@tanstack/router-plugin](https://github.com/TanStack/router/tree/HEAD/packages/router-plugin) | `1.58.4` | `1.58.12` | Updates `@types/web` from 0.0.164 to 0.0.167 - [Release notes](https://github.com/microsoft/TypeScript-DOM-Lib-Generator/releases) - [Commits](https://github.com/microsoft/TypeScript-DOM-Lib-Generator/compare/@types/web@0.0.164...@types/web@0.0.167) Updates `knip` from 5.30.5 to 5.30.6 - [Release notes](https://github.com/webpro-nl/knip/releases) - [Changelog](https://github.com/webpro-nl/knip/blob/main/packages/knip/.release-it.json) - [Commits](https://github.com/webpro-nl/knip/commits/5.30.6/packages/knip) Updates `vite` from 5.4.7 to 5.4.8 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite) Updates `@wagmi/connectors` from 5.1.12 to 5.1.14 - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/connectors/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/@wagmi/connectors@5.1.14/packages/connectors) Updates `@wagmi/core` from 2.13.6 to 2.13.8 - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/core/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/@wagmi/core@2.13.8/packages/core) Updates `@types/react` from 18.3.9 to 18.3.10 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `typedoc-plugin-markdown` from 4.2.7 to 4.2.8 - [Release notes](https://github.com/typedoc2md/typedoc-plugin-markdown/releases) - [Changelog](https://github.com/typedoc2md/typedoc-plugin-markdown/blob/main/packages/typedoc-plugin-markdown/CHANGELOG.md) - [Commits](https://github.com/typedoc2md/typedoc-plugin-markdown/commits/typedoc-plugin-markdown@4.2.8/packages/typedoc-plugin-markdown) Updates `vue` from 3.5.8 to 3.5.10 - [Release notes](https://github.com/vuejs/core/releases) - [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/vuejs/core/compare/v3.5.8...v3.5.10) Updates `@tanstack/router-plugin` from 1.58.4 to 1.58.12 - [Release notes](https://github.com/TanStack/router/releases) - [Commits](https://github.com/TanStack/router/commits/v1.58.12/packages/router-plugin) --- updated-dependencies: - dependency-name: "@types/web" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: knip dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: "@wagmi/connectors" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: "@wagmi/core" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: "@types/react" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: typedoc-plugin-markdown dependency-type: direct:production update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: vue dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps-minor - dependency-name: "@tanstack/router-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps-minor ... Signed-off-by: dependabot[bot] * build: update dependency changeset * docs: update changeset * Update .changeset/tall-lemons-explode.md --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: chad Co-authored-by: Peter Smith <16990131+petertonysmith94@users.noreply.github.com> --- .changeset/tall-lemons-explode.md | 6 + apps/create-fuels-counter-guide/package.json | 8 +- apps/demo-nextjs/package.json | 2 +- apps/demo-react-cra/package.json | 2 +- apps/demo-react-vite/package.json | 4 +- apps/demo-wallet-sdk-react/package.json | 2 +- apps/docs/package.json | 4 +- package.json | 6 +- packages/fuels/package.json | 2 +- pnpm-lock.yaml | 2997 ++++++++---------- templates/nextjs/package.json | 6 +- templates/vite/package.json | 10 +- 12 files changed, 1296 insertions(+), 1753 deletions(-) create mode 100644 .changeset/tall-lemons-explode.md diff --git a/.changeset/tall-lemons-explode.md b/.changeset/tall-lemons-explode.md new file mode 100644 index 0000000000..7a2bd94b60 --- /dev/null +++ b/.changeset/tall-lemons-explode.md @@ -0,0 +1,6 @@ +--- +"fuels": patch +"create-fuels": patch +--- + +build(deps): bump the deps-minor group with 9 updates diff --git a/apps/create-fuels-counter-guide/package.json b/apps/create-fuels-counter-guide/package.json index 8f3698d79f..cf7f9884ad 100644 --- a/apps/create-fuels-counter-guide/package.json +++ b/apps/create-fuels-counter-guide/package.json @@ -18,8 +18,8 @@ "@fuels/react": "^0.27.1", "@tanstack/react-query": "^5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "^5.1.12", - "@wagmi/core": "^2.13.6", + "@wagmi/connectors": "^5.1.14", + "@wagmi/core": "^2.13.8", "dotenv": "^16.4.5", "fuels": "workspace:*", "react": "^18.3.1", @@ -31,7 +31,7 @@ "@eslint/js": "^9.10.0", "@types/node": "^22.5.5", "@playwright/test": "^1.47.2", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "autoprefixer": "^10.4.20", "eslint": "^8.57.0", @@ -42,7 +42,7 @@ "tailwindcss": "^3.4.12", "typescript": "~5.6.2", "typescript-eslint": "^8.5.0", - "vite": "^5.4.7", + "vite": "^5.4.8", "vitest": "~2.0.5" } } diff --git a/apps/demo-nextjs/package.json b/apps/demo-nextjs/package.json index c027750948..d88585b6e5 100644 --- a/apps/demo-nextjs/package.json +++ b/apps/demo-nextjs/package.json @@ -13,7 +13,7 @@ "@fuels/vm-asm": "0.57.1", "@types/node": "^22.5.5", "@types/react-dom": "^18.3", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "fuels": "workspace:*", "next": "14.2.13", "react-dom": "^18.3.1", diff --git a/apps/demo-react-cra/package.json b/apps/demo-react-cra/package.json index d400a802b1..1da1a7486a 100644 --- a/apps/demo-react-cra/package.json +++ b/apps/demo-react-cra/package.json @@ -6,7 +6,7 @@ "@fuels/vm-asm": "0.57.1", "@testing-library/react": "^16.0.1", "@types/node": "^22.5.5", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "eslint-config-react-app": "^7.0.1", "fuels": "workspace:*", diff --git a/apps/demo-react-vite/package.json b/apps/demo-react-vite/package.json index 138ef78dc0..347424fd3a 100644 --- a/apps/demo-react-vite/package.json +++ b/apps/demo-react-vite/package.json @@ -17,7 +17,7 @@ "react": "^18.3.1" }, "devDependencies": { - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "@typescript-eslint/eslint-plugin": "^6.9.1", "@typescript-eslint/parser": "^6.21.0", @@ -26,6 +26,6 @@ "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.12", "typescript": "~5.6.2", - "vite": "^5.4.7" + "vite": "^5.4.8" } } diff --git a/apps/demo-wallet-sdk-react/package.json b/apps/demo-wallet-sdk-react/package.json index baaca40f34..09fd3638ba 100644 --- a/apps/demo-wallet-sdk-react/package.json +++ b/apps/demo-wallet-sdk-react/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^22.5.5", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "eslint": "^8.57.0", "eslint-config-next": "14.2.13", diff --git a/apps/docs/package.json b/apps/docs/package.json index 97e4e7136b..e9fc56fce2 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -17,7 +17,7 @@ "@fuel-ts/errors": "workspace:*", "@fuel-ts/versions": "workspace:*", "fuels": "workspace:*", - "typedoc-plugin-markdown": "^4.2.7" + "typedoc-plugin-markdown": "^4.2.8" }, "devDependencies": { "@types/markdown-it": "^14.1.2", @@ -30,6 +30,6 @@ "typedoc-plugin-merge-modules": "^6.0.1", "vitepress-plugin-search": "1.0.4-alpha.22", "vitepress": "1.3.4", - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/package.json b/package.json index bbe89cfe5e..99cd29f5da 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "@playwright/test": "^1.47.2", "@types/node": "^22.5.5", "@types/node-fetch": "^2.6.11", - "@types/web": "^0.0.164", + "@types/web": "^0.0.167", "@typescript-eslint/eslint-plugin": "^6.9.1", "@typescript-eslint/parser": "^6.21.0", "@vitest/browser": "~2.0.5", @@ -109,7 +109,7 @@ "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-tsdoc": "^0.3.0", "glob": "^10.4.5", - "knip": "^5.30.4", + "knip": "^5.30.6", "memfs": "^4.11.1", "nodemon": "^3.1.7", "npm-run-all": "^4.1.5", @@ -125,7 +125,7 @@ "tsx": "^4.19.1", "turbo": "^2.1.2", "typescript": "~5.6.2", - "vite": "^5.4.7", + "vite": "^5.4.8", "vite-plugin-json5": "^1.1.2", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-plain-text": "^1.4.2", diff --git a/packages/fuels/package.json b/packages/fuels/package.json index 45fd141bd3..8086d0254e 100644 --- a/packages/fuels/package.json +++ b/packages/fuels/package.json @@ -96,7 +96,7 @@ "devDependencies": { "@types/lodash.camelcase": "^4.3.9", "@types/rimraf": "^3.0.2", - "vite": "^5.4.7" + "vite": "^5.4.8" }, "keywords": [ "ethereum", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd7199b6ed..bb9b2f7b5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: 6.0.0 '@codspeed/vitest-plugin': specifier: ^3.1.1 - version: 3.1.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(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.31.6)) + version: 3.1.1(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1))(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.34.1)) '@elasticpath/textlint-rule-no-dead-relative-link': specifier: ^1.1.1 version: 1.1.1 @@ -60,8 +60,8 @@ importers: specifier: ^2.6.11 version: 2.6.11 '@types/web': - specifier: ^0.0.164 - version: 0.0.164 + specifier: ^0.0.167 + version: 0.0.167 '@typescript-eslint/eslint-plugin': specifier: ^6.9.1 version: 6.9.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) @@ -73,7 +73,7 @@ importers: version: 2.0.5(bufferutil@4.0.8)(playwright@1.47.2)(typescript@5.6.2)(utf-8-validate@6.0.4)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@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.31.6)) + 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.34.1)) autocannon: specifier: ^7.15.0 version: 7.15.0 @@ -126,8 +126,8 @@ importers: specifier: ^10.4.5 version: 10.4.5 knip: - specifier: ^5.30.4 - version: 5.30.5(@types/node@22.5.5)(typescript@5.6.2) + specifier: ^5.30.6 + version: 5.30.6(@types/node@22.5.5)(typescript@5.6.2) memfs: specifier: ^4.11.1 version: 4.11.1 @@ -174,20 +174,20 @@ importers: specifier: ~5.6.2 version: 5.6.2 vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + specifier: ^5.4.8 + version: 5.4.8(@types/node@22.5.5)(terser@5.34.1) vite-plugin-json5: specifier: ^1.1.2 - version: 1.1.2(@rollup/pluginutils@5.1.0(rollup@4.21.0))(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)) + version: 1.1.2(@rollup/pluginutils@5.1.0(rollup@4.22.5))(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1)) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.21.0)(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)) + version: 0.22.0(rollup@4.22.5)(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1)) vite-plugin-plain-text: specifier: ^1.4.2 version: 1.4.2 vitest: specifier: ~2.0.5 - version: 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.31.6) + version: 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.34.1) webdriverio: specifier: ^9.0.9 version: 9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -196,7 +196,7 @@ importers: dependencies: '@fuels/connectors': specifier: ^0.27.1 - version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8) + version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(zod@3.23.8) '@fuels/react': specifier: ^0.27.1 version: 0.27.1(@tanstack/react-query@5.56.2(react@18.3.1))(@types/react-dom@18.3.0)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -204,11 +204,11 @@ importers: specifier: ^5.55.4 version: 5.56.2(react@18.3.1) '@wagmi/connectors': - specifier: ^5.1.12 - version: 5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + specifier: ^5.1.14 + version: 5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) '@wagmi/core': - specifier: ^2.13.6 - version: 2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + specifier: ^2.13.8 + version: 2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -238,14 +238,14 @@ importers: specifier: ^22.5.5 version: 22.5.5 '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)) + version: 4.3.1(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -274,11 +274,11 @@ importers: specifier: ^8.5.0 version: 8.5.0(eslint@8.57.0)(typescript@5.6.2) vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + specifier: ^5.4.8 + version: 5.4.8(@types/node@22.5.5)(terser@5.34.1) vitest: specifier: ~2.0.5 - version: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.31.6) + version: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.34.1) apps/demo-bun-fuels: dependencies: @@ -317,8 +317,8 @@ importers: specifier: ^22.5.5 version: 22.5.5 '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 @@ -351,13 +351,13 @@ importers: version: 0.57.1 '@testing-library/react': specifier: ^16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^22.5.5 version: 22.5.5 '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 @@ -403,8 +403,8 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 @@ -416,7 +416,7 @@ importers: version: 6.21.0(eslint@8.57.0)(typescript@5.6.2) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)) + version: 4.3.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -430,8 +430,8 @@ importers: specifier: ~5.6.2 version: 5.6.2 vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + specifier: ^5.4.8 + version: 5.4.8(@types/node@22.7.4)(terser@5.34.1) apps/demo-typegen: dependencies: @@ -453,7 +453,7 @@ importers: dependencies: '@fuels/connectors': specifier: ^0.27.1 - version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8) + version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(zod@3.23.8) '@fuels/react': specifier: ^0.27.1 version: 0.27.1(@tanstack/react-query@5.56.2(react@18.3.1))(@types/react-dom@18.3.0)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -477,8 +477,8 @@ importers: specifier: ^22.5.5 version: 22.5.5 '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 @@ -493,7 +493,7 @@ importers: version: 8.4.47 postcss-load-config: specifier: ^6.0.1 - version: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.0) + version: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1) tailwindcss: specifier: ^3.4.12 version: 3.4.13(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.2)) @@ -513,8 +513,8 @@ importers: specifier: workspace:* version: link:../../packages/fuels typedoc-plugin-markdown: - specifier: ^4.2.7 - version: 4.2.7(typedoc@0.26.6(typescript@5.6.2)) + specifier: ^4.2.8 + version: 4.2.8(typedoc@0.26.6(typescript@5.6.2)) devDependencies: '@types/markdown-it': specifier: ^14.1.2 @@ -542,13 +542,13 @@ importers: version: 6.0.1(typedoc@0.26.6(typescript@5.6.2)) vitepress: specifier: 1.3.4 - version: 1.3.4(@algolia/client-search@4.22.1)(@types/node@22.5.5)(@types/react@18.3.9)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.6)(typescript@5.6.2) + version: 1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.4)(@types/react@18.3.10)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.34.1)(typescript@5.6.2) vitepress-plugin-search: specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.5.5)(@types/react@18.3.9)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.6)(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2)) + version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.4)(@types/react@18.3.10)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.34.1)(typescript@5.6.2))(vue@3.5.10(typescript@5.6.2)) vue: - specifier: ^3.5.8 - version: 3.5.8(typescript@5.6.2) + specifier: ^3.5.10 + version: 3.5.10(typescript@5.6.2) apps/docs-snippets: devDependencies: @@ -569,7 +569,7 @@ importers: version: link:../../packages/fuels vitest: specifier: ~2.0.5 - version: 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.31.6) + version: 2.0.5(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.34.1) apps/docs-snippets2: dependencies: @@ -789,7 +789,7 @@ importers: devDependencies: '@graphql-codegen/cli': specifier: ^5.0.2 - version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.4.1)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4) + version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.4.1)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4) '@graphql-codegen/typescript': specifier: ^4.0.9 version: 4.0.9(graphql@16.9.0) @@ -1062,8 +1062,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + specifier: ^5.4.8 + version: 5.4.8(@types/node@22.7.4)(terser@5.34.1) packages/hasher: dependencies: @@ -1252,7 +1252,7 @@ importers: dependencies: '@fuels/connectors': specifier: ^0.27.1 - version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8) + version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(zod@3.23.8) '@fuels/react': specifier: ^0.27.1 version: 0.27.1(@tanstack/react-query@5.56.2(react@18.3.1))(@types/react-dom@18.3.0)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1260,11 +1260,11 @@ importers: specifier: ^5.55.4 version: 5.56.2(react@18.3.1) '@wagmi/connectors': - specifier: ^5.1.12 - version: 5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + specifier: ^5.1.14 + version: 5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) '@wagmi/core': - specifier: ^2.13.6 - version: 2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + specifier: ^2.13.8 + version: 2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -1297,8 +1297,8 @@ importers: specifier: ^22.5.5 version: 22.5.5 '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 @@ -1322,13 +1322,13 @@ importers: version: 5.6.2 vitest: specifier: ~2.0.5 - version: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.31.6) + version: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.34.1) templates/vite: dependencies: '@fuels/connectors': specifier: ^0.27.1 - version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8) + version: 0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(zod@3.23.8) '@fuels/react': specifier: ^0.27.1 version: 0.27.1(@tanstack/react-query@5.56.2(react@18.3.1))(@types/react-dom@18.3.0)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1336,11 +1336,11 @@ importers: specifier: ^5.55.4 version: 5.56.2(react@18.3.1) '@wagmi/connectors': - specifier: ^5.1.12 - version: 5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + specifier: ^5.1.14 + version: 5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) '@wagmi/core': - specifier: ^2.13.6 - version: 2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + specifier: ^2.13.8 + version: 2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) clsx: specifier: 2.1.1 version: 2.1.1 @@ -1367,17 +1367,17 @@ importers: specifier: ^1.47.2 version: 1.47.2 '@tanstack/router-plugin': - specifier: ^1.56.4 - version: 1.58.4(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(webpack-sources@3.2.3) + specifier: ^1.58.12 + version: 1.58.12(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(webpack-sources@3.2.3) '@types/react': - specifier: ^18.3.8 - version: 18.3.9 + specifier: ^18.3.10 + version: 18.3.10 '@types/react-dom': specifier: ^18.3 version: 18.3.0 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)) + version: 4.3.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -1398,7 +1398,7 @@ importers: version: 8.4.47 tailwindcss: specifier: ^3.4.12 - version: 3.4.13(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.2)) + version: 3.4.13(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2)) typescript: specifier: ~5.6.2 version: 5.6.2 @@ -1406,11 +1406,11 @@ importers: specifier: ^8.5.0 version: 8.5.0(eslint@8.57.0)(typescript@5.6.2) vite: - specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + specifier: ^5.4.8 + version: 5.4.8(@types/node@22.7.4)(terser@5.34.1) vitest: specifier: ~2.0.5 - version: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.31.6) + version: 2.0.5(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.34.1) packages: @@ -1584,14 +1584,6 @@ packages: resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.25.5': - resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} @@ -1680,18 +1672,10 @@ packages: resolution: {integrity: sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.22.5': resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} @@ -1786,10 +1770,6 @@ packages: resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.6': - resolution: {integrity: sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==} - engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} @@ -1798,10 +1778,6 @@ packages: resolution: {integrity: sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} @@ -1858,16 +1834,6 @@ packages: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.22.5': - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.25.6': resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} @@ -2063,12 +2029,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.22.5': - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.7': resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} @@ -2679,34 +2639,18 @@ packages: resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.6': - resolution: {integrity: sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==} + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/template@7.24.6': + resolution: {integrity: sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==} engines: {node: '>=6.9.0'} '@babel/template@7.25.0': resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.22.5': - resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.1': - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.25.4': - resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} @@ -2715,10 +2659,6 @@ packages: resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} - engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} @@ -3537,6 +3477,10 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.5.1': resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -4061,9 +4005,6 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.3': - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} - '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} @@ -4142,8 +4083,8 @@ packages: resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==} engines: {node: ^18.18 || >=20} - '@metamask/rpc-errors@6.3.1': - resolution: {integrity: sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg==} + '@metamask/rpc-errors@6.4.0': + resolution: {integrity: sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==} engines: {node: '>=16.0.0'} '@metamask/safe-event-emitter@2.0.0': @@ -4200,8 +4141,8 @@ packages: resolution: {integrity: sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==} engines: {node: '>=16.0.0'} - '@metamask/utils@9.1.0': - resolution: {integrity: sha512-g2REf+xSt0OZfMoNNdC4+/Yy8eP3KUqvIArel54XRFKPoXbHI6+YjFfrLtfykWBjffOp7DTfIc3Kvk5TLfuiyg==} + '@metamask/utils@9.2.1': + resolution: {integrity: sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ==} engines: {node: '>=16.0.0'} '@microsoft/tsdoc-config@0.17.0': @@ -4972,83 +4913,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.0': - resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} + '@rollup/rollup-android-arm-eabi@4.22.5': + resolution: {integrity: sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.0': - resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} + '@rollup/rollup-android-arm64@4.22.5': + resolution: {integrity: sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.0': - resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} + '@rollup/rollup-darwin-arm64@4.22.5': + resolution: {integrity: sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.0': - resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} + '@rollup/rollup-darwin-x64@4.22.5': + resolution: {integrity: sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': - resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': + resolution: {integrity: sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.0': - resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} + '@rollup/rollup-linux-arm-musleabihf@4.22.5': + resolution: {integrity: sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.0': - resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} + '@rollup/rollup-linux-arm64-gnu@4.22.5': + resolution: {integrity: sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.0': - resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} + '@rollup/rollup-linux-arm64-musl@4.22.5': + resolution: {integrity: sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': - resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': + resolution: {integrity: sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.0': - resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} + '@rollup/rollup-linux-riscv64-gnu@4.22.5': + resolution: {integrity: sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.0': - resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} + '@rollup/rollup-linux-s390x-gnu@4.22.5': + resolution: {integrity: sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.0': - resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} + '@rollup/rollup-linux-x64-gnu@4.22.5': + resolution: {integrity: sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.0': - resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} + '@rollup/rollup-linux-x64-musl@4.22.5': + resolution: {integrity: sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.0': - resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} + '@rollup/rollup-win32-arm64-msvc@4.22.5': + resolution: {integrity: sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.0': - resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} + '@rollup/rollup-win32-ia32-msvc@4.22.5': + resolution: {integrity: sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.0': - resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} + '@rollup/rollup-win32-x64-msvc@4.22.5': + resolution: {integrity: sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==} cpu: [x64] os: [win32] @@ -5400,12 +5341,12 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/router-generator@1.58.1': - resolution: {integrity: sha512-oj/97KWi8EHFx/w07fAuXXyhWi5xgSMCfzbB9q42c1ZdLbv8wzBo4a6PO1fCi01tpKKHUopA8dSlGIOeJDhBAA==} + '@tanstack/router-generator@1.58.12': + resolution: {integrity: sha512-Ovzb+zCbiRgJAg6awTXWQjn1uRkVyiBc4jiIk7ll2hg0bHjIOsgiegwx/F2YKycY98vWj9TLv/U4Hoo4rmK0IA==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.58.4': - resolution: {integrity: sha512-Ypoy+HrHwpv9A41bj7dpHhtLYavu7CU8WyuJnuFBY3SI5ZKWF7s/hMYUtVmEVwwT7fJCVQ8gcTkbfAag4uy/pA==} + '@tanstack/router-plugin@1.58.12': + resolution: {integrity: sha512-WVR5UupNcvj7lvCrle7CrmHm6aezTG98g3N81oNPaCS0U3cEUaUiNqna0cWk4M4WuzAzUbpbQ81xBapIMc8Thw==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -5538,9 +5479,6 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/babel__core@7.20.1': - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} - '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -5592,6 +5530,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/express-serve-static-core@4.17.35': resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} @@ -5709,8 +5650,8 @@ packages: '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - '@types/node@18.19.45': - resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==} + '@types/node@18.19.54': + resolution: {integrity: sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==} '@types/node@20.14.15': resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} @@ -5718,6 +5659,9 @@ packages: '@types/node@22.5.5': resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} + '@types/node@22.7.4': + resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} + '@types/offscreencanvas@2019.3.0': resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==} @@ -5751,8 +5695,8 @@ packages: '@types/react@18.3.1': resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} - '@types/react@18.3.9': - resolution: {integrity: sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==} + '@types/react@18.3.10': + resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==} '@types/resolve@0.0.8': resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} @@ -5826,8 +5770,8 @@ packages: '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@types/web@0.0.164': - resolution: {integrity: sha512-71djRqHpHbvyYG/Vap1B7Wa61J0TH9fa0QEwahUVp28awcImIgqOPlfnKi5vswcmUBpRyGKvaGs42/5iPwCixg==} + '@types/web@0.0.167': + resolution: {integrity: sha512-IhdCUXL+vwofU/IzuOD+/T8Xteuk8fS9TvVJi7y7HTuURs7pWf3Kysxz4+lU0NSkj2LjDQ8AbKaaFFoAgeqYPg==} '@types/webgl-ext@0.0.30': resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==} @@ -6152,17 +6096,17 @@ packages: '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@vue/compiler-core@3.5.8': - resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} + '@vue/compiler-core@3.5.10': + resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==} - '@vue/compiler-dom@3.5.8': - resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} + '@vue/compiler-dom@3.5.10': + resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==} - '@vue/compiler-sfc@3.5.8': - resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} + '@vue/compiler-sfc@3.5.10': + resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==} - '@vue/compiler-ssr@3.5.8': - resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} + '@vue/compiler-ssr@3.5.10': + resolution: {integrity: sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==} '@vue/devtools-api@6.6.3': resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} @@ -6176,25 +6120,25 @@ packages: '@vue/devtools-shared@7.3.8': resolution: {integrity: sha512-1NiJbn7Yp47nPDWhFZyEKpB2+5/+7JYv8IQnU0ccMrgslPR2dL7u1DIyI7mLqy4HN1ll36gQy0k8GqBYSFgZJw==} - '@vue/reactivity@3.5.8': - resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} + '@vue/reactivity@3.5.10': + resolution: {integrity: sha512-kW08v06F6xPSHhid9DJ9YjOGmwNDOsJJQk0ax21wKaUYzzuJGEuoKNU2Ujux8FLMrP7CFJJKsHhXN9l2WOVi2g==} - '@vue/runtime-core@3.5.8': - resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} + '@vue/runtime-core@3.5.10': + resolution: {integrity: sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==} - '@vue/runtime-dom@3.5.8': - resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} + '@vue/runtime-dom@3.5.10': + resolution: {integrity: sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==} - '@vue/server-renderer@3.5.8': - resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} + '@vue/server-renderer@3.5.10': + resolution: {integrity: sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==} peerDependencies: - vue: 3.5.8 + vue: 3.5.10 '@vue/shared@3.4.38': resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} - '@vue/shared@3.5.8': - resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} + '@vue/shared@3.5.10': + resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==} '@vueuse/core@11.0.0': resolution: {integrity: sha512-shibzNGjmRjZucEm97B8V0NO5J3vPHMCE/mltxQ3vHezbDoFQBMtK11XsfwfPionxSbo+buqPmsCljtYuXIBpw==} @@ -6246,10 +6190,10 @@ packages: '@vueuse/shared@11.0.0': resolution: {integrity: sha512-i4ZmOrIEjSsL94uAEt3hz88UCz93fMyP/fba9S+vypX90fKg3uYX9cThqvWc9aXxuTzR0UGhOKOTQd//Goh1nQ==} - '@wagmi/connectors@5.1.12': - resolution: {integrity: sha512-w/MCH+J/sdqfy9ZFoEA3YKnJWlaExTCjMN4qjVNGsRtvy4ADz//zjQsmOZx51oa5xt42hv3fITN36aYZe/rO7g==} + '@wagmi/connectors@5.1.14': + resolution: {integrity: sha512-3faf6gXFI1nX/kud5e2s+8fMjnuWp14XwqHVNCOfl7nVXQlEFAvjQxI1GrGyHckfHm7e6oXdm2eJwJGgPWi0QQ==} peerDependencies: - '@wagmi/core': 2.13.6 + '@wagmi/core': 2.13.8 typescript: '>=5.0.4' viem: 2.x peerDependenciesMeta: @@ -6268,8 +6212,8 @@ packages: typescript: optional: true - '@wagmi/core@2.13.6': - resolution: {integrity: sha512-5QkYd9dWntUJMH3EFQqPJRDBwc0+PVPmuMQF09wKXCFvTIdTLFnEI3itPIoMwO4ULtvsrftDzpT71lqpu1EJJQ==} + '@wagmi/core@2.13.8': + resolution: {integrity: sha512-bX84cpLq3WWQgGthJlSgcWPAOdLzrP/W0jnbz5XowkCUn6j/T77WyxN5pBb+HmLoJf3ei9tkX9zWhMpczTc3cA==} peerDependencies: '@tanstack/query-core': '>=5.0.0' typescript: '>=5.0.4' @@ -6681,8 +6625,8 @@ packages: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@7.4.1: @@ -6795,8 +6739,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@2.2.1: @@ -7316,6 +7260,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -7466,6 +7415,9 @@ packages: caniuse-lite@1.0.30001647: resolution: {integrity: sha512-n83xdNiyeNcHpzWY+1aFbqCK7LuLfBricc4+alSQL2Xb6OR3XpnQAmlDG+pQcdTfiHRuLcQ96VOfrPSGiNJYSg==} + caniuse-lite@1.0.30001664: + resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} + capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -8657,6 +8609,9 @@ packages: electron-to-chromium@1.4.442: resolution: {integrity: sha512-RkrZF//Ya+0aJq2NM3OdisNh5ZodZq1rdXOS96G8DdDgpDKqKE81yTbbQ3F/4CKm1JBPsGu1Lp/akkna2xO06Q==} + electron-to-chromium@1.5.29: + resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} + electron-to-chromium@1.5.4: resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} @@ -8694,6 +8649,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} @@ -8736,8 +8695,8 @@ packages: env-string@1.0.1: resolution: {integrity: sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==} - envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} hasBin: true @@ -8850,6 +8809,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + 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'} @@ -9078,8 +9041,8 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@2.1.0: @@ -9090,8 +9053,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-webpack-plugin@3.2.0: @@ -9120,8 +9083,8 @@ packages: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + 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} espree@9.6.1: @@ -9137,6 +9100,10 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -9347,6 +9314,10 @@ packages: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true + fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} + hasBin: true + fastest-stable-stringify@2.0.2: resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} @@ -9493,8 +9464,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.244.0: - resolution: {integrity: sha512-Dkc88m5k8bx1VvHTO9HEJ7tvMcSb3Zvcv1PY4OHK7pHdtdY2aUjhmPy6vpjVJ2uUUOIybRlb91sXE8g4doChtA==} + flow-parser@0.247.1: + resolution: {integrity: sha512-DHwcm06fWbn2Z6uFD3NaBZ5lMOoABIQ4asrVA80IWvYjjT5WdbghkUOL1wIcbLcagnFTdCZYOlSNnKNp/xnRZQ==} engines: {node: '>=0.4.0'} focus-trap@7.5.4: @@ -9973,14 +9944,14 @@ packages: hermes-estree@0.19.1: resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==} - hermes-estree@0.23.0: - resolution: {integrity: sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==} + hermes-estree@0.23.1: + resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} hermes-parser@0.19.1: resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==} - hermes-parser@0.23.0: - resolution: {integrity: sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==} + hermes-parser@0.23.1: + resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} hermes-profile-transformer@0.0.6: resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} @@ -11123,8 +11094,8 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - knip@5.30.5: - resolution: {integrity: sha512-opta1VVKAfIzhvj1iyOr/3SgSDC6jYPoUaYkvjftNqMTeURppYY5VqrAa5DOcJnIsdcAdyoIKHUFg9NRiFaM5w==} + knip@5.30.6: + resolution: {integrity: sha512-YkcnRVl0N99xZ7eaXE7KlH/4cPTCn6BGuk9KxINEdCMFN3yita2vGBizApy97ZOHgghy8tb589gQ3xvLMFIO4w==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -11562,61 +11533,61 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - metro-babel-transformer@0.80.10: - resolution: {integrity: sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==} + metro-babel-transformer@0.80.12: + resolution: {integrity: sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==} engines: {node: '>=18'} - metro-cache-key@0.80.10: - resolution: {integrity: sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==} + metro-cache-key@0.80.12: + resolution: {integrity: sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==} engines: {node: '>=18'} - metro-cache@0.80.10: - resolution: {integrity: sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==} + metro-cache@0.80.12: + resolution: {integrity: sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==} engines: {node: '>=18'} - metro-config@0.80.10: - resolution: {integrity: sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==} + metro-config@0.80.12: + resolution: {integrity: sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==} engines: {node: '>=18'} - metro-core@0.80.10: - resolution: {integrity: sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==} + metro-core@0.80.12: + resolution: {integrity: sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==} engines: {node: '>=18'} - metro-file-map@0.80.10: - resolution: {integrity: sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==} + metro-file-map@0.80.12: + resolution: {integrity: sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==} engines: {node: '>=18'} - metro-minify-terser@0.80.10: - resolution: {integrity: sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==} + metro-minify-terser@0.80.12: + resolution: {integrity: sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==} engines: {node: '>=18'} - metro-resolver@0.80.10: - resolution: {integrity: sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==} + metro-resolver@0.80.12: + resolution: {integrity: sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==} engines: {node: '>=18'} - metro-runtime@0.80.10: - resolution: {integrity: sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==} + metro-runtime@0.80.12: + resolution: {integrity: sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==} engines: {node: '>=18'} - metro-source-map@0.80.10: - resolution: {integrity: sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==} + metro-source-map@0.80.12: + resolution: {integrity: sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==} engines: {node: '>=18'} - metro-symbolicate@0.80.10: - resolution: {integrity: sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==} + metro-symbolicate@0.80.12: + resolution: {integrity: sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==} engines: {node: '>=18'} hasBin: true - metro-transform-plugins@0.80.10: - resolution: {integrity: sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==} + metro-transform-plugins@0.80.12: + resolution: {integrity: sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==} engines: {node: '>=18'} - metro-transform-worker@0.80.10: - resolution: {integrity: sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==} + metro-transform-worker@0.80.12: + resolution: {integrity: sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==} engines: {node: '>=18'} - metro@0.80.10: - resolution: {integrity: sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==} + metro@0.80.12: + resolution: {integrity: sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==} engines: {node: '>=18'} hasBin: true @@ -12039,6 +12010,10 @@ packages: resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true + node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} + hasBin: true + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -12137,8 +12112,8 @@ packages: oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - ob1@0.80.10: - resolution: {integrity: sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==} + ob1@0.80.12: + resolution: {integrity: sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==} engines: {node: '>=18'} obj-multiplex@1.0.0: @@ -12273,6 +12248,10 @@ packages: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -13149,6 +13128,9 @@ packages: preact@10.23.2: resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} + preact@10.24.1: + resolution: {integrity: sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==} + preact@10.4.1: resolution: {integrity: sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==} @@ -13836,8 +13818,8 @@ packages: rollup: optional: true - rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + rollup@2.79.2: + resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} engines: {node: '>=10.0.0'} hasBin: true @@ -13846,8 +13828,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.21.0: - resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} + rollup@4.22.5: + resolution: {integrity: sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -14024,6 +14006,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} @@ -14049,6 +14035,10 @@ packages: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -14741,8 +14731,8 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.31.6: - resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + terser@5.34.1: + resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==} engines: {node: '>=10'} hasBin: true @@ -15172,8 +15162,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc-plugin-markdown@4.2.7: - resolution: {integrity: sha512-bLsQdweSm48P9j6kGqQ3/4GCH5zu2EnURSkkxqirNc+uVFE9YK825ogDw+WbNkRHIV6eZK/1U43gT7YfglyYOg==} + typedoc-plugin-markdown@4.2.8: + resolution: {integrity: sha512-1EDsc66jaCjZtxdYy+Rl0KDU1WY/iyuCOOPaeFzcYFZ81FNXV8CmgUDOHri20WGmYnkEM5nQ+ooxj1vyuQo0Lg==} engines: {node: '>= 18'} peerDependencies: typedoc: 0.26.x @@ -15424,6 +15414,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + update-notifier@5.1.0: resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} engines: {node: '>=10'} @@ -15611,8 +15607,8 @@ packages: vite-plugin-plain-text@1.4.2: resolution: {integrity: sha512-nkCWW16lkTidaGZ9kItwMZ5OEkUeXMrY4Okc9IQXrN/p6SAuDYmEiGqMRKl1rnhm6CR1h98uJtn+ODkv0cL7DA==} - vite@5.4.7: - resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} + vite@5.4.8: + resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -15704,8 +15700,8 @@ packages: '@vue/composition-api': optional: true - vue@3.5.8: - resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} + vue@3.5.10: + resolution: {integrity: sha512-Vy2kmJwHPlouC/tSnIgXVg03SG+9wSqT1xu1Vehc+ChsXsRd7jLkKgMltVEFOzUdBr3uFwBCG+41LJtfAcBRng==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -16106,6 +16102,11 @@ packages: engines: {node: '>= 14'} hasBin: true + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} @@ -16168,8 +16169,8 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-validation-error@3.3.1: - resolution: {integrity: sha512-uFzCZz7FQis256dqw4AhPQgD6f3pzNca/Zh62RNELavlumQB3nDIUFbF5JQfFLcMbO1s02Q7Xg/gpcOBlEnYZA==} + zod-validation-error@3.4.0: + resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} engines: {node: '>=18.0.0'} peerDependencies: zod: ^3.18.0 @@ -16368,10 +16369,10 @@ snapshots: '@ardatan/relay-compiler@12.0.0(graphql@16.9.0)': dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.5 + '@babel/generator': 7.25.6 '@babel/parser': 7.25.6 - '@babel/runtime': 7.25.4 - '@babel/traverse': 7.25.4 + '@babel/runtime': 7.25.6 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 babel-preset-fbjs: 3.4.0(@babel/core@7.25.2) chalk: 4.1.2 @@ -16427,14 +16428,14 @@ snapshots: dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.5 - '@babel/generator': 7.24.4 + '@babel/generator': 7.25.6 '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) '@babel/helper-module-transforms': 7.22.5 '@babel/helpers': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/template': 7.24.6 - '@babel/traverse': 7.22.5 - '@babel/types': 7.24.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 1.9.0 debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -16447,14 +16448,14 @@ snapshots: dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 + '@babel/generator': 7.25.6 '@babel/helper-compilation-targets': 7.24.7 '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -16492,20 +16493,6 @@ snapshots: semver: 6.3.1 '@babel/generator@7.24.4': - dependencies: - '@babel/types': 7.24.6 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/generator@7.24.7': - dependencies: - '@babel/types': 7.25.6 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/generator@7.25.5': dependencies: '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 @@ -16544,24 +16531,6 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-compilation-targets@7.22.5(@babel/core@7.24.7)': - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.24.7 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.23.3 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.22.5(@babel/core@7.25.2)': - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.25.2 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.23.3 - lru-cache: 5.1.1 - semver: 6.3.1 - '@babel/helper-compilation-targets@7.24.7': dependencies: '@babel/compat-data': 7.24.7 @@ -16574,25 +16543,10 @@ snapshots: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -16649,13 +16603,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -16684,18 +16631,6 @@ snapshots: regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.7(supports-color@5.5.0) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -16760,19 +16695,10 @@ snapshots: '@babel/template': 7.25.0 '@babel/types': 7.25.6 - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - '@babel/helper-hoist-variables@7.22.5': dependencies: '@babel/types': 7.25.6 - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.25.6 - '@babel/helper-member-expression-to-functions@7.22.5': dependencies: '@babel/types': 7.25.6 @@ -16790,7 +16716,7 @@ snapshots: '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -16801,9 +16727,9 @@ snapshots: '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-validator-identifier': 7.24.7 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -16853,16 +16779,6 @@ snapshots: '@babel/helper-plugin-utils@7.24.8': {} - '@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - '@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -16907,7 +16823,7 @@ snapshots: '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -16936,7 +16852,7 @@ snapshots: '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -16956,18 +16872,12 @@ snapshots: dependencies: '@babel/types': 7.25.6 - '@babel/helper-split-export-declaration@7.24.6': - dependencies: - '@babel/types': 7.25.6 - '@babel/helper-split-export-declaration@7.24.7': dependencies: '@babel/types': 7.25.6 '@babel/helper-string-parser@7.24.6': {} - '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-string-parser@7.24.8': {} '@babel/helper-validator-identifier@7.24.6': {} @@ -16984,7 +16894,7 @@ snapshots: dependencies: '@babel/helper-function-name': 7.24.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -17000,7 +16910,7 @@ snapshots: '@babel/helpers@7.22.5': dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -17017,7 +16927,7 @@ snapshots: '@babel/highlight@7.22.5': dependencies: - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 @@ -17035,51 +16945,31 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.0 - '@babel/parser@7.22.5': - dependencies: - '@babel/types': 7.25.6 - - '@babel/parser@7.24.7': - dependencies: - '@babel/types': 7.25.6 - '@babel/parser@7.25.6': dependencies: '@babel/types': 7.25.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.24.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.25.2) @@ -17103,19 +16993,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -17123,18 +17005,18 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 - '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -17162,40 +17044,28 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.7)': @@ -17228,39 +17098,28 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.5)': + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -17269,22 +17128,16 @@ snapshots: dependencies: '@babel/core': 7.25.2 - '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.5)': + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -17300,77 +17153,67 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.5)': + '@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.24.7)': dependencies: @@ -17382,25 +17225,20 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow@7.24.6(@babel/core@7.25.2)': dependencies: @@ -17422,70 +17260,55 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.22.5)': dependencies: @@ -17505,126 +17328,116 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.24.7)': @@ -17637,38 +17450,27 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': dependencies: @@ -17680,21 +17482,11 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.7) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) transitivePeerDependencies: @@ -17704,26 +17496,17 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.7) transitivePeerDependencies: - supports-color @@ -17731,8 +17514,8 @@ snapshots: '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -17755,35 +17538,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.24.7)': dependencies: @@ -17795,19 +17568,11 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -17815,16 +17580,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -17832,7 +17588,7 @@ snapshots: dependencies: '@babel/core': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) transitivePeerDependencies: - supports-color @@ -17841,35 +17597,20 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-classes@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 globals: 11.12.0 @@ -17880,11 +17621,11 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.25.2) + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 globals: 11.12.0 @@ -17915,22 +17656,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/template': 7.25.0 - '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.25.0 '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.25.0 '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': @@ -17945,20 +17680,15 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.25.0 - '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.7)': dependencies: @@ -17970,98 +17700,69 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.25.2) '@babel/plugin-transform-flow-strip-types@7.24.6(@babel/core@7.25.2)': dependencies: @@ -18081,41 +17782,29 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-function-name': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-function-name': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.25.2) + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-function-name': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.24.7)': dependencies: @@ -18135,38 +17824,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-literals@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-literals@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-literals@7.25.2(@babel/core@7.24.7)': dependencies: @@ -18178,87 +17856,59 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-simple-access': 7.22.5 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-simple-access': 7.22.5 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-simple-access': 7.22.5 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -18280,23 +17930,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color @@ -18304,53 +17944,39 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18364,96 +17990,62 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.24.7)': dependencies: - '@babel/compat-data': 7.22.5 + '@babel/compat-data': 7.25.4 '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.7) '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/compat-data': 7.22.5 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.25.2) - '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-replace-supers': 7.22.5 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.5 transitivePeerDependencies: - supports-color @@ -18461,64 +18053,46 @@ snapshots: '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18530,19 +18104,11 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -18550,7 +18116,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -18570,22 +18136,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) transitivePeerDependencies: - supports-color @@ -18595,7 +18151,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -18620,35 +18176,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18660,10 +18206,12 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18690,14 +18238,16 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.22.5) + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.25.2)': dependencies: @@ -18743,53 +18293,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - regenerator-transform: 0.15.1 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.1 '@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.1 - '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-runtime@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-runtime@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -18818,20 +18357,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18843,22 +18377,16 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-spread@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-spread@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': @@ -18877,20 +18405,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': dependencies: @@ -18902,43 +18425,33 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.5)': + '@babel/plugin-transform-typescript@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -18964,56 +18477,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': dependencies: @@ -19027,121 +18523,29 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/polyfill@7.12.1': dependencies: core-js: 2.6.12 regenerator-runtime: 0.13.11 - '@babel/preset-env@7.22.5(@babel/core@7.22.5)': - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.22.5) - '@babel/types': 7.25.6 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/preset-env@7.22.5(@babel/core@7.24.7)': dependencies: '@babel/compat-data': 7.22.5 '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.22.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.24.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.24.7) @@ -19226,8 +18630,8 @@ snapshots: dependencies: '@babel/compat-data': 7.22.5 '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.22.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.25.2) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.25.2) @@ -19315,19 +18719,10 @@ snapshots: '@babel/helper-validator-option': 7.24.8 '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - '@babel/preset-modules@0.1.5(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.25.6 - esutils: 2.0.3 - '@babel/preset-modules@0.1.5(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.24.7) '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.24.7) '@babel/types': 7.25.6 @@ -19336,30 +18731,32 @@ snapshots: '@babel/preset-modules@0.1.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.25.2) '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.25.2) '@babel/types': 7.25.6 esutils: 2.0.3 - '@babel/preset-react@7.22.5(@babel/core@7.22.5)': + '@babel/preset-react@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color - '@babel/preset-typescript@7.22.5(@babel/core@7.22.5)': + '@babel/preset-typescript@7.22.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -19389,80 +18786,21 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.6': - dependencies: - '@babel/code-frame': 7.24.6 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.6 - - '@babel/template@7.24.7': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - - '@babel/template@7.25.0': + '@babel/runtime@7.25.6': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + regenerator-runtime: 0.14.1 - '@babel/traverse@7.22.5': + '@babel/template@7.24.6': dependencies: '@babel/code-frame': 7.24.6 - '@babel/generator': 7.25.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - debug: 4.3.7(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.24.1': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.5 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-function-name': 7.24.6 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.6 '@babel/parser': 7.25.6 '@babel/types': 7.25.6 - debug: 4.3.7(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.24.7': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.5 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - debug: 4.3.7(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.25.4': + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.5 '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 '@babel/types': 7.25.6 - debug: 4.3.7(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color '@babel/traverse@7.25.6': dependencies: @@ -19482,12 +18820,6 @@ snapshots: '@babel/helper-validator-identifier': 7.24.6 to-fast-properties: 2.0.0 - '@babel/types@7.24.7': - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - '@babel/types@7.25.6': dependencies: '@babel/helper-string-parser': 7.24.8 @@ -19786,11 +19118,11 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@3.1.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(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.31.6))': + '@codspeed/vitest-plugin@3.1.1(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1))(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.34.1))': dependencies: '@codspeed/core': 3.1.1 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) - 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.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) + 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.34.1) transitivePeerDependencies: - debug @@ -19803,7 +19135,7 @@ snapshots: eth-json-rpc-filters: 6.0.1 eventemitter3: 5.0.1 keccak: 3.0.4 - preact: 10.23.2 + preact: 10.24.1 sha.js: 2.4.11 transitivePeerDependencies: - supports-color @@ -19814,7 +19146,7 @@ snapshots: clsx: 1.2.1 eventemitter3: 5.0.1 keccak: 3.0.4 - preact: 10.23.2 + preact: 10.24.1 sha.js: 2.4.11 '@colors/colors@1.5.0': @@ -19907,9 +19239,9 @@ snapshots: '@docsearch/css@3.6.1': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)': + '@docsearch/js@3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0) + '@docsearch/react': 3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0) preact: 10.23.2 transitivePeerDependencies: - '@algolia/client-search' @@ -19918,14 +19250,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)': + '@docsearch/react@3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.11.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) '@docsearch/css': 3.6.1 algoliasearch: 4.22.1 optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) search-insights: 2.11.0 @@ -20240,6 +19572,8 @@ snapshots: '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.5.1': {} '@eslint/config-array@0.18.0': @@ -20268,7 +19602,7 @@ snapshots: dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@5.5.0) - espree: 10.1.0 + espree: 10.2.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -20327,16 +19661,16 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@fuels/connectors@0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8)': + '@fuels/connectors@0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(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.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@web3modal/core': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/solana': 5.0.0(@types/react@18.3.9)(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.8(typescript@5.6.2)) - '@web3modal/wagmi': 5.0.0(mq76p5xygmrqrzqw4n6hh3kbd4) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@web3modal/core': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/solana': 5.0.0(@types/react@18.3.10)(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.10(typescript@5.6.2)) + '@web3modal/wagmi': 5.0.0(5kldriemlb2tx5lxhknwu7ajm4) 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) @@ -20370,16 +19704,16 @@ snapshots: - vue - zod - '@fuels/connectors@0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.8(typescript@5.6.2))(zod@3.23.8)': + '@fuels/connectors@0.27.1(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(vue@3.5.10(typescript@5.6.2))(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.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@web3modal/core': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/solana': 5.0.0(@types/react@18.3.9)(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.8(typescript@5.6.2)) - '@web3modal/wagmi': 5.0.0(n7lvsomc3vqwa5ijyxhghe6nqq) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@web3modal/core': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/solana': 5.0.0(@types/react@18.3.10)(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.10(typescript@5.6.2)) + '@web3modal/wagmi': 5.0.0(ixqlaj433fz4d3bc2hewfnhw5m) 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) @@ -20433,7 +19767,7 @@ snapshots: graphql: 16.9.0 tslib: 2.6.3 - '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.4.1)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4)': + '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.4.1)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4)': dependencies: '@babel/generator': 7.24.4 '@babel/template': 7.24.6 @@ -20444,12 +19778,12 @@ snapshots: '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/code-file-loader': 8.1.2(graphql@16.9.0) '@graphql-tools/git-loader': 8.0.6(graphql@16.9.0) - '@graphql-tools/github-loader': 8.0.1(@types/node@22.5.5)(graphql@16.9.0) + '@graphql-tools/github-loader': 8.0.1(@types/node@22.7.4)(graphql@16.9.0) '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) - '@graphql-tools/prisma-loader': 8.0.4(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) - '@graphql-tools/url-loader': 8.0.2(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/prisma-loader': 8.0.4(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 @@ -20457,7 +19791,7 @@ snapshots: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.9.0 - graphql-config: 5.0.3(@types/node@22.5.5)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4) + graphql-config: 5.0.3(@types/node@22.7.4)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4) inquirer: 8.2.5 is-glob: 4.0.3 jiti: 1.21.0 @@ -20486,7 +19820,7 @@ snapshots: '@graphql-codegen/client-preset@4.3.0(graphql@16.9.0)': dependencies: '@babel/helper-plugin-utils': 7.24.6 - '@babel/template': 7.24.6 + '@babel/template': 7.25.0 '@graphql-codegen/add': 5.0.3(graphql@16.9.0) '@graphql-codegen/gql-tag-operations': 4.0.7(graphql@16.9.0) '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) @@ -20717,14 +20051,14 @@ snapshots: - bufferutil - utf-8-validate - '@graphql-tools/executor-http@1.0.9(@types/node@22.5.5)(graphql@16.9.0)': + '@graphql-tools/executor-http@1.0.9(@types/node@22.7.4)(graphql@16.9.0)': dependencies: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@repeaterjs/repeater': 3.0.4 '@whatwg-node/fetch': 0.9.18 extract-files: 11.0.0 graphql: 16.9.0 - meros: 1.3.0(@types/node@22.5.5) + meros: 1.3.0(@types/node@22.7.4) tslib: 2.7.0 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -20763,10 +20097,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.1(@types/node@22.5.5)(graphql@16.9.0)': + '@graphql-tools/github-loader@8.0.1(@types/node@22.7.4)(graphql@16.9.0)': dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.9(@types/node@22.5.5)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.0.9(@types/node@22.7.4)(graphql@16.9.0) '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.9.0) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@whatwg-node/fetch': 0.9.18 @@ -20792,7 +20126,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/parser': 7.25.6 '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.25.2) - '@babel/traverse': 7.24.1 + '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 '@graphql-tools/utils': 10.2.2(graphql@16.9.0) graphql: 16.9.0 @@ -20839,9 +20173,9 @@ snapshots: graphql: 16.9.0 tslib: 2.7.0 - '@graphql-tools/prisma-loader@8.0.4(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': + '@graphql-tools/prisma-loader@8.0.4(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': dependencies: - '@graphql-tools/url-loader': 8.0.2(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@types/js-yaml': 4.0.5 '@whatwg-node/fetch': 0.9.18 @@ -20893,12 +20227,12 @@ snapshots: tslib: 2.7.0 value-or-promise: 1.0.12 - '@graphql-tools/url-loader@8.0.2(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': + '@graphql-tools/url-loader@8.0.2(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.11(graphql@16.9.0) '@graphql-tools/executor-graphql-ws': 1.1.2(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) - '@graphql-tools/executor-http': 1.0.9(@types/node@22.5.5)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.0.9(@types/node@22.7.4)(graphql@16.9.0) '@graphql-tools/executor-legacy-ws': 1.0.6(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@graphql-tools/wrap': 10.0.5(graphql@16.9.0) @@ -21037,7 +20371,7 @@ snapshots: '@jest/console@28.1.3': dependencies: '@jest/types': 28.1.3 - '@types/node': 22.5.5 + '@types/node': 22.7.4 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 @@ -21088,14 +20422,14 @@ snapshots: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock: 27.5.1 '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock: 29.7.0 '@jest/expect-utils@29.5.0': @@ -21106,7 +20440,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -21115,7 +20449,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -21217,7 +20551,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/yargs': 15.0.19 chalk: 4.1.2 @@ -21282,11 +20616,6 @@ snapshots: '@jridgewell/set-array@1.2.1': {} - '@jridgewell/source-map@0.3.3': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/source-map@0.3.6': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -21361,7 +20690,7 @@ snapshots: '@metamask/json-rpc-engine@7.3.3': dependencies: - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.4.0 '@metamask/safe-event-emitter': 3.1.1 '@metamask/utils': 8.5.0 transitivePeerDependencies: @@ -21369,7 +20698,7 @@ snapshots: '@metamask/json-rpc-engine@8.0.2': dependencies: - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.4.0 '@metamask/safe-event-emitter': 3.1.1 '@metamask/utils': 8.5.0 transitivePeerDependencies: @@ -21398,7 +20727,7 @@ snapshots: '@metamask/json-rpc-engine': 8.0.2 '@metamask/json-rpc-middleware-stream': 7.0.2 '@metamask/object-multiplex': 2.0.0 - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.4.0 '@metamask/safe-event-emitter': 3.1.1 '@metamask/utils': 8.5.0 detect-browser: 5.3.0 @@ -21410,9 +20739,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/rpc-errors@6.3.1': + '@metamask/rpc-errors@6.4.0': dependencies: - '@metamask/utils': 9.1.0 + '@metamask/utils': 9.2.1 fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color @@ -21436,30 +20765,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/sdk-install-modal-web@0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@metamask/sdk-install-modal-web@0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: i18next: 23.11.5 qr-code-styling: 1.6.0-rc.1 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - '@metamask/sdk-install-modal-web@0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@metamask/sdk-install-modal-web@0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: i18next: 23.11.5 qr-code-styling: 1.6.0-rc.1 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - '@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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(utf-8-validate@5.0.10)': + '@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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(utf-8-validate@5.0.10)': dependencies: '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 '@metamask/sdk-communication-layer': 0.28.2(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@metamask/sdk-install-modal-web': 0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@metamask/sdk-install-modal-web': 0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 '@types/uuid': 10.0.0 bowser: 2.11.0 @@ -21473,9 +20802,9 @@ snapshots: obj-multiplex: 1.0.0 pump: 3.0.0 qrcode-terminal-nooctal: 0.12.1 - react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) readable-stream: 3.6.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.0) + rollup-plugin-visualizer: 5.12.0(rollup@4.22.5) socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) util: 0.12.5 uuid: 8.3.2 @@ -21490,12 +20819,12 @@ snapshots: - supports-color - utf-8-validate - '@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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(utf-8-validate@5.0.10)': + '@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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(utf-8-validate@5.0.10)': dependencies: '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 '@metamask/sdk-communication-layer': 0.28.2(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@metamask/sdk-install-modal-web': 0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@metamask/sdk-install-modal-web': 0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 '@types/uuid': 10.0.0 bowser: 2.11.0 @@ -21509,9 +20838,9 @@ snapshots: obj-multiplex: 1.0.0 pump: 3.0.0 qrcode-terminal-nooctal: 0.12.1 - react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) readable-stream: 3.6.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.0) + rollup-plugin-visualizer: 5.12.0(rollup@4.22.5) socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) util: 0.12.5 uuid: 8.3.2 @@ -21552,7 +20881,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/utils@9.1.0': + '@metamask/utils@9.2.1': dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 @@ -22092,7 +21421,7 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.1)(react@18.3.1)': dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 react: 18.3.1 optionalDependencies: '@types/react': 18.3.1 @@ -22107,7 +21436,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.1)(react@18.3.1)': dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -22115,7 +21444,7 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.1)(react@18.3.1)': dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 react: 18.3.1 optionalDependencies: '@types/react': 18.3.1 @@ -22142,7 +21471,7 @@ snapshots: '@react-native-community/cli-debugger-ui@13.6.6': dependencies: - serve-static: 1.15.0 + serve-static: 1.16.2 transitivePeerDependencies: - supports-color @@ -22156,7 +21485,7 @@ snapshots: chalk: 4.1.2 command-exists: 1.2.9 deepmerge: 4.3.1 - envinfo: 7.13.0 + envinfo: 7.14.0 execa: 5.1.1 hermes-profile-transformer: 0.0.6 node-stream-zip: 1.15.0 @@ -22164,7 +21493,7 @@ snapshots: semver: 7.6.3 strip-ansi: 5.2.0 wcwidth: 1.0.1 - yaml: 2.5.0 + yaml: 2.5.1 transitivePeerDependencies: - encoding @@ -22183,7 +21512,7 @@ snapshots: chalk: 4.1.2 execa: 5.1.1 fast-glob: 3.3.2 - fast-xml-parser: 4.4.1 + fast-xml-parser: 4.5.0 logkitty: 0.7.1 transitivePeerDependencies: - encoding @@ -22194,7 +21523,7 @@ snapshots: chalk: 4.1.2 execa: 5.1.1 fast-glob: 3.3.2 - fast-xml-parser: 4.4.1 + fast-xml-parser: 4.5.0 ora: 5.4.1 transitivePeerDependencies: - encoding @@ -22214,7 +21543,7 @@ snapshots: errorhandler: 1.5.1 nocache: 3.0.4 pretty-format: 26.6.2 - serve-static: 1.15.0 + serve-static: 1.16.2 ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil @@ -22415,9 +21744,9 @@ snapshots: '@react-native/metro-babel-transformer': 0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7)) chalk: 4.1.2 execa: 5.1.1 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-core: 0.80.10 + metro: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-config: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-core: 0.80.12 node-fetch: 2.7.0 querystring: 0.2.1 readline: 1.3.0 @@ -22437,9 +21766,9 @@ snapshots: '@react-native/metro-babel-transformer': 0.74.83(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2)) chalk: 4.1.2 execa: 5.1.1 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-core: 0.80.10 + metro: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-config: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-core: 0.80.12 node-fetch: 2.7.0 querystring: 0.2.1 readline: 1.3.0 @@ -22465,7 +21794,7 @@ snapshots: nullthrows: 1.1.1 open: 7.4.2 selfsigned: 2.4.1 - serve-static: 1.15.0 + serve-static: 1.16.2 temp-dir: 2.0.0 ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -22500,29 +21829,29 @@ snapshots: '@react-native/normalize-colors@0.74.83': {} - '@react-native/virtualized-lists@0.74.83(@types/react@18.3.9)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@react-native/virtualized-lists@0.74.83(@types/react@18.3.10)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 - '@react-native/virtualized-lists@0.74.83(@types/react@18.3.9)(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@react-native/virtualized-lists@0.74.83(@types/react@18.3.10)(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 '@repeaterjs/repeater@3.0.4': {} '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 18.19.45 + '@types/node': 18.19.54 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -22531,100 +21860,102 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(@types/babel__core@7.20.5)(rollup@2.79.1)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(@types/babel__core@7.20.5)(rollup@2.79.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.22.5 - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - rollup: 2.79.1 + '@babel/helper-module-imports': 7.24.7 + '@rollup/pluginutils': 3.1.0(rollup@2.79.2) + rollup: 2.79.2 optionalDependencies: '@types/babel__core': 7.20.5 + transitivePeerDependencies: + - supports-color - '@rollup/plugin-inject@5.0.5(rollup@4.21.0)': + '@rollup/plugin-inject@5.0.5(rollup@4.22.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + '@rollup/pluginutils': 5.1.0(rollup@4.22.5) estree-walker: 2.0.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.0 + rollup: 4.22.5 - '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1)': + '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.2)': dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + '@rollup/pluginutils': 3.1.0(rollup@2.79.2) '@types/resolve': 1.17.1 builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 2.79.1 + rollup: 2.79.2 - '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': + '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + '@rollup/pluginutils': 3.1.0(rollup@2.79.2) magic-string: 0.25.9 - rollup: 2.79.1 + rollup: 2.79.2 - '@rollup/pluginutils@3.1.0(rollup@2.79.1)': + '@rollup/pluginutils@3.1.0(rollup@2.79.2)': dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 2.79.1 + rollup: 2.79.2 - '@rollup/pluginutils@5.1.0(rollup@4.21.0)': + '@rollup/pluginutils@5.1.0(rollup@4.22.5)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.0 + rollup: 4.22.5 - '@rollup/rollup-android-arm-eabi@4.21.0': + '@rollup/rollup-android-arm-eabi@4.22.5': optional: true - '@rollup/rollup-android-arm64@4.21.0': + '@rollup/rollup-android-arm64@4.22.5': optional: true - '@rollup/rollup-darwin-arm64@4.21.0': + '@rollup/rollup-darwin-arm64@4.22.5': optional: true - '@rollup/rollup-darwin-x64@4.21.0': + '@rollup/rollup-darwin-x64@4.22.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.0': + '@rollup/rollup-linux-arm-musleabihf@4.22.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.0': + '@rollup/rollup-linux-arm64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.0': + '@rollup/rollup-linux-arm64-musl@4.22.5': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.0': + '@rollup/rollup-linux-riscv64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.0': + '@rollup/rollup-linux-s390x-gnu@4.22.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.0': + '@rollup/rollup-linux-x64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-x64-musl@4.21.0': + '@rollup/rollup-linux-x64-musl@4.22.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.0': + '@rollup/rollup-win32-arm64-msvc@4.22.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.0': + '@rollup/rollup-win32-ia32-msvc@4.22.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.0': + '@rollup/rollup-win32-x64-msvc@4.22.5': optional: true '@rtsao/scc@1.1.0': {} @@ -22987,10 +22318,10 @@ snapshots: '@svgr/webpack@5.5.0': dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.5) - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) - '@babel/preset-react': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.25.2) + '@babel/preset-env': 7.22.5(@babel/core@7.25.2) + '@babel/preset-react': 7.22.5(@babel/core@7.25.2) '@svgr/core': 5.5.0 '@svgr/plugin-jsx': 5.5.0 '@svgr/plugin-svgo': 5.5.0 @@ -23073,14 +22404,14 @@ snapshots: '@tanstack/query-core': 5.56.2 react: 18.3.1 - '@tanstack/router-generator@1.58.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.4(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(webpack-sources@3.2.3)': + '@tanstack/router-plugin@1.58.12(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(webpack-sources@3.2.3)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -23090,7 +22421,7 @@ snapshots: '@babel/template': 7.25.0 '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 - '@tanstack/router-generator': 1.58.1 + '@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 @@ -23101,7 +22432,7 @@ snapshots: unplugin: 1.14.1(webpack-sources@3.2.3) zod: 3.23.8 optionalDependencies: - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color - webpack-sources @@ -23138,14 +22469,14 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.4 '@testing-library/dom': 10.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 '@types/react-dom': 18.3.0 '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': @@ -23294,14 +22625,6 @@ snapshots: '@types/aria-query@5.0.4': {} - '@types/babel__core@7.20.1': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.25.6 @@ -23358,17 +22681,19 @@ snapshots: '@types/eslint-scope@3.7.4': dependencies: '@types/eslint': 8.40.2 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/eslint@8.40.2': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.12 '@types/estree@0.0.39': {} '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/express-serve-static-core@4.17.35': dependencies: '@types/node': 22.5.5 @@ -23441,7 +22766,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/linkify-it@5.0.0': {} @@ -23483,7 +22808,7 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/node-fetch@2.6.11': dependencies: @@ -23492,13 +22817,13 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/node@12.20.55': {} '@types/node@18.15.13': {} - '@types/node@18.19.45': + '@types/node@18.19.54': dependencies: undici-types: 5.26.5 @@ -23510,6 +22835,10 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/node@22.7.4': + dependencies: + undici-types: 6.19.8 + '@types/offscreencanvas@2019.3.0': {} '@types/parse-json@4.0.0': {} @@ -23535,14 +22864,14 @@ snapshots: '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 '@types/react@18.3.1': dependencies: '@types/prop-types': 15.7.5 csstype: 3.1.3 - '@types/react@18.3.9': + '@types/react@18.3.10': dependencies: '@types/prop-types': 15.7.5 csstype: 3.1.3 @@ -23553,11 +22882,11 @@ snapshots: '@types/resolve@1.17.1': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/responselike@1.0.3': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/retry@0.12.0': {} @@ -23568,7 +22897,7 @@ snapshots: '@types/secp256k1@4.0.6': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/seedrandom@2.4.34': {} @@ -23579,7 +22908,7 @@ snapshots: '@types/send@0.17.1': dependencies: '@types/mime': 1.3.2 - '@types/node': 22.5.5 + '@types/node': 22.7.4 '@types/serve-index@1.9.1': dependencies: @@ -23617,7 +22946,7 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@types/web@0.0.164': {} + '@types/web@0.0.167': {} '@types/webgl-ext@0.0.30': {} @@ -23659,7 +22988,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 optional: true '@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.6.2))(eslint@9.9.1(jiti@1.21.6))(typescript@5.6.2)': @@ -23990,21 +23319,32 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))': + '@vitejs/plugin-react@4.3.1(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.2(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(vue@3.5.8(typescript@5.6.2))': + '@vitejs/plugin-react@4.3.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))': dependencies: - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) - vue: 3.5.8(typescript@5.6.2) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.7) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.1.2(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))': + dependencies: + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) + vue: 3.5.10(typescript@5.6.2) '@vitest/browser@2.0.5(bufferutil@4.0.8)(playwright@1.47.2)(typescript@5.6.2)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: @@ -24014,7 +23354,7 @@ snapshots: magic-string: 0.30.11 msw: 2.4.7(typescript@5.6.2) sirv: 2.0.4 - 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@5.0.10))(terser@5.31.6) + 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@5.0.10))(terser@5.34.1) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: playwright: 1.47.2 @@ -24033,7 +23373,7 @@ snapshots: magic-string: 0.30.11 msw: 2.4.7(typescript@5.6.2) sirv: 2.0.4 - 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.31.6) + vitest: 2.0.5(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.34.1) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: playwright: 1.47.2 @@ -24043,7 +23383,7 @@ snapshots: - typescript - utf-8-validate - '@vitest/coverage-istanbul@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.31.6))': + '@vitest/coverage-istanbul@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.34.1))': dependencies: '@istanbuljs/schema': 0.1.3 debug: 4.3.7(supports-color@5.5.0) @@ -24055,7 +23395,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - 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.31.6) + 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.34.1) transitivePeerDependencies: - supports-color @@ -24096,35 +23436,35 @@ snapshots: loupe: 3.1.1 tinyrainbow: 1.2.0 - '@vue/compiler-core@3.5.8': + '@vue/compiler-core@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.10 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.8': + '@vue/compiler-dom@3.5.10': dependencies: - '@vue/compiler-core': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-core': 3.5.10 + '@vue/shared': 3.5.10 - '@vue/compiler-sfc@3.5.8': + '@vue/compiler-sfc@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.8 - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-core': 3.5.10 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.8': + '@vue/compiler-ssr@3.5.10': dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.10 + '@vue/shared': 3.5.10 '@vue/devtools-api@6.6.3': {} @@ -24146,47 +23486,47 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.8': + '@vue/reactivity@3.5.10': dependencies: - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.10 - '@vue/runtime-core@3.5.8': + '@vue/runtime-core@3.5.10': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.10 + '@vue/shared': 3.5.10 - '@vue/runtime-dom@3.5.8': + '@vue/runtime-dom@3.5.10': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/runtime-core': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.10 + '@vue/runtime-core': 3.5.10 + '@vue/shared': 3.5.10 csstype: 3.1.3 - '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.6.2))': + '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 - vue: 3.5.8(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 + vue: 3.5.10(typescript@5.6.2) '@vue/shared@3.4.38': {} - '@vue/shared@3.5.8': {} + '@vue/shared@3.5.10': {} - '@vueuse/core@11.0.0(vue@3.5.8(typescript@5.6.2))': + '@vueuse/core@11.0.0(vue@3.5.10(typescript@5.6.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.0.0 - '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) + '@vueuse/shared': 11.0.0(vue@3.5.10(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.5.8(typescript@5.6.2))': + '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.5.10(typescript@5.6.2))': dependencies: - '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.6.2)) - '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) + '@vueuse/core': 11.0.0(vue@3.5.10(typescript@5.6.2)) + '@vueuse/shared': 11.0.0(vue@3.5.10(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) optionalDependencies: axios: 1.7.7 focus-trap: 7.5.4 @@ -24198,22 +23538,22 @@ snapshots: '@vueuse/metadata@11.0.0': {} - '@vueuse/shared@11.0.0(vue@3.5.8(typescript@5.6.2))': + '@vueuse/shared@11.0.0(vue@3.5.10(typescript@5.6.2))': dependencies: - vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(utf-8-validate@5.0.10) + '@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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - '@walletconnect/modal': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@wagmi/core': 2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@walletconnect/modal': 2.6.2(@types/react@18.3.10)(react@18.3.1) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: @@ -24244,15 +23584,15 @@ snapshots: - utf-8-validate - zod - '@wagmi/connectors@5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(utf-8-validate@5.0.10) + '@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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - '@walletconnect/modal': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@wagmi/core': 2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.16.1(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@walletconnect/modal': 2.6.2(@types/react@18.3.10)(react@18.3.1) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: @@ -24283,12 +23623,12 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.13.4(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.6.2) viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8) - zustand: 4.4.1(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1) + zustand: 4.4.1(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1) optionalDependencies: '@tanstack/query-core': 5.56.2 typescript: 5.6.2 @@ -24297,12 +23637,12 @@ snapshots: - immer - react - '@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))': + '@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.6.2) viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8) - zustand: 4.4.1(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1) + zustand: 4.4.1(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1) optionalDependencies: '@tanstack/query-core': 5.56.2 typescript: 5.6.2 @@ -24445,13 +23785,13 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.13.0(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.13.0(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@walletconnect/modal': 2.6.2(@types/react@18.3.10)(react@18.3.1) '@walletconnect/sign-client': 2.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/types': 2.13.0 '@walletconnect/universal-provider': 2.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -24478,13 +23818,13 @@ snapshots: - uWebSockets.js - utf-8-validate - '@walletconnect/ethereum-provider@2.16.1(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.16.1(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@walletconnect/modal': 2.6.2(@types/react@18.3.10)(react@18.3.1) '@walletconnect/sign-client': 2.16.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/types': 2.16.1 '@walletconnect/universal-provider': 2.16.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -24602,16 +23942,16 @@ snapshots: '@walletconnect/mobile-registry@1.4.0': {} - '@walletconnect/modal-core@2.6.2(@types/react@18.3.9)(react@18.3.1)': + '@walletconnect/modal-core@2.6.2(@types/react@18.3.10)(react@18.3.1)': dependencies: - valtio: 1.11.2(@types/react@18.3.9)(react@18.3.1) + valtio: 1.11.2(@types/react@18.3.10)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - '@walletconnect/modal-ui@2.6.2(@types/react@18.3.9)(react@18.3.1)': + '@walletconnect/modal-ui@2.6.2(@types/react@18.3.10)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@walletconnect/modal-core': 2.6.2(@types/react@18.3.10)(react@18.3.1) lit: 2.8.0 motion: 10.16.2 qrcode: 1.5.3 @@ -24619,10 +23959,10 @@ snapshots: - '@types/react' - react - '@walletconnect/modal@2.6.2(@types/react@18.3.9)(react@18.3.1)': + '@walletconnect/modal@2.6.2(@types/react@18.3.10)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.9)(react@18.3.1) - '@walletconnect/modal-ui': 2.6.2(@types/react@18.3.9)(react@18.3.1) + '@walletconnect/modal-core': 2.6.2(@types/react@18.3.10)(react@18.3.1) + '@walletconnect/modal-ui': 2.6.2(@types/react@18.3.10)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react @@ -25144,11 +24484,11 @@ snapshots: bignumber.js: 9.1.2 dayjs: 1.11.10 - '@web3modal/core@5.0.0(@types/react@18.3.9)(react@18.3.1)': + '@web3modal/core@5.0.0(@types/react@18.3.10)(react@18.3.1)': dependencies: '@web3modal/common': 5.0.0 '@web3modal/wallet': 5.0.0 - valtio: 1.11.2(@types/react@18.3.9)(react@18.3.1) + valtio: 1.11.2(@types/react@18.3.10)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react @@ -25157,9 +24497,9 @@ snapshots: dependencies: buffer: 6.0.3 - '@web3modal/scaffold-react@5.0.0(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@web3modal/scaffold-react@5.0.0(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@web3modal/scaffold': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -25180,20 +24520,20 @@ snapshots: - ioredis - uWebSockets.js - '@web3modal/scaffold-utils@5.0.0(@types/react@18.3.9)(react@18.3.1)': + '@web3modal/scaffold-utils@5.0.0(@types/react@18.3.10)(react@18.3.1)': dependencies: - '@web3modal/core': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/core': 5.0.0(@types/react@18.3.10)(react@18.3.1) '@web3modal/polyfills': 5.0.0 - valtio: 1.11.2(@types/react@18.3.9)(react@18.3.1) + valtio: 1.11.2(@types/react@18.3.10)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - '@web3modal/scaffold-vue@5.0.0(@types/react@18.3.9)(react@18.3.1)(vue@3.5.8(typescript@5.6.2))': + '@web3modal/scaffold-vue@5.0.0(@types/react@18.3.10)(react@18.3.1)(vue@3.5.10(typescript@5.6.2))': dependencies: - '@web3modal/scaffold': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) optionalDependencies: - vue: 3.5.8(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25212,12 +24552,12 @@ snapshots: - react - uWebSockets.js - '@web3modal/scaffold@5.0.0(@types/react@18.3.9)(react@18.3.1)': + '@web3modal/scaffold@5.0.0(@types/react@18.3.10)(react@18.3.1)': dependencies: '@web3modal/common': 5.0.0 - '@web3modal/core': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/siwe': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/core': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/siwe': 5.0.0(@types/react@18.3.10)(react@18.3.1) '@web3modal/ui': 5.0.0 '@web3modal/wallet': 5.0.0 lit: 3.1.0 @@ -25239,13 +24579,13 @@ snapshots: - react - uWebSockets.js - '@web3modal/siwe@5.0.0(@types/react@18.3.9)(react@18.3.1)': + '@web3modal/siwe@5.0.0(@types/react@18.3.10)(react@18.3.1)': dependencies: '@walletconnect/utils': 2.12.0 - '@web3modal/core': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/core': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.10)(react@18.3.1) lit: 3.1.0 - valtio: 1.11.2(@types/react@18.3.9)(react@18.3.1) + valtio: 1.11.2(@types/react@18.3.10)(react@18.3.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25264,7 +24604,7 @@ snapshots: - react - uWebSockets.js - '@web3modal/solana@5.0.0(@types/react@18.3.9)(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.8(typescript@5.6.2))': + '@web3modal/solana@5.0.0(@types/react@18.3.10)(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.10(typescript@5.6.2))': dependencies: '@ethersproject/sha2': 5.7.0 '@solana/wallet-adapter-backpack': 0.1.14(@solana/web3.js@1.91.7(bufferutil@4.0.8)(utf-8-validate@5.0.10)) @@ -25276,16 +24616,16 @@ snapshots: '@solana/web3.js': 1.91.7(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/universal-provider': 2.11.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@web3modal/polyfills': 5.0.0 - '@web3modal/scaffold': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.9)(react@18.3.1)(vue@3.5.8(typescript@5.6.2)) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.10)(react@18.3.1)(vue@3.5.10(typescript@5.6.2)) bn.js: 5.2.1 bs58: 5.0.0 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vue: 3.5.8(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25311,22 +24651,22 @@ snapshots: lit: 3.1.0 qrcode: 1.5.3 - '@web3modal/wagmi@5.0.0(mq76p5xygmrqrzqw4n6hh3kbd4)': + '@web3modal/wagmi@5.0.0(5kldriemlb2tx5lxhknwu7ajm4)': dependencies: - '@wagmi/connectors': 5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@wagmi/connectors': 5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.10)(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.9)(react@18.3.1) - '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.9)(react@18.3.1)(vue@3.5.8(typescript@5.6.2)) - '@web3modal/siwe': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.10)(react@18.3.1)(vue@3.5.10(typescript@5.6.2)) + '@web3modal/siwe': 5.0.0(@types/react@18.3.10)(react@18.3.1) viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.8(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25347,22 +24687,22 @@ snapshots: - uWebSockets.js - utf-8-validate - '@web3modal/wagmi@5.0.0(n7lvsomc3vqwa5ijyxhghe6nqq)': + '@web3modal/wagmi@5.0.0(ixqlaj433fz4d3bc2hewfnhw5m)': dependencies: - '@wagmi/connectors': 5.1.12(@types/react@18.3.9)(@wagmi/core@2.13.6(@tanstack/query-core@5.56.2)(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.9)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@wagmi/connectors': 5.1.14(@types/react@18.3.10)(@wagmi/core@2.13.8(@tanstack/query-core@5.56.2)(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.22.5)(typescript@5.6.2)(utf-8-validate@5.0.10)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.10)(immer@9.0.21)(react@18.3.1)(typescript@5.6.2)(viem@2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.10)(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.9)(react@18.3.1) - '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.9)(react@18.3.1) - '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.9)(react@18.3.1)(vue@3.5.8(typescript@5.6.2)) - '@web3modal/siwe': 5.0.0(@types/react@18.3.9)(react@18.3.1) + '@web3modal/scaffold': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-react': 5.0.0(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.0(@types/react@18.3.10)(react@18.3.1) + '@web3modal/scaffold-vue': 5.0.0(@types/react@18.3.10)(react@18.3.1)(vue@3.5.10(typescript@5.6.2)) + '@web3modal/siwe': 5.0.0(@types/react@18.3.10)(react@18.3.1) viem: 2.20.1(bufferutil@4.0.8)(typescript@5.6.2)(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.8(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25551,7 +24891,7 @@ snapshots: acorn-walk@7.2.0: {} - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 optional: true @@ -25670,7 +25010,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@2.2.1: {} @@ -25989,7 +25329,7 @@ snapshots: '@babel/core': 7.22.5 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.20.1 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 babel-preset-jest: 27.5.1(@babel/core@7.22.5) chalk: 4.1.2 @@ -26003,7 +25343,7 @@ snapshots: '@babel/core': 7.25.2 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.20.1 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 babel-preset-jest: 27.5.1(@babel/core@7.25.2) chalk: 4.1.2 @@ -26023,7 +25363,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -26066,18 +25406,9 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5): - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.24.7): dependencies: - '@babel/compat-data': 7.22.5 + '@babel/compat-data': 7.25.4 '@babel/core': 7.24.7 '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.7) semver: 6.3.1 @@ -26086,7 +25417,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.22.5 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.25.2) semver: 6.3.1 @@ -26109,14 +25440,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.5): - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 @@ -26133,13 +25456,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.5): - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 @@ -26263,20 +25579,20 @@ snapshots: babel-preset-react-app@10.0.1: dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.5) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.5) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.22.5) - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) - '@babel/preset-react': 7.22.5(@babel/core@7.22.5) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.25.2 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.25.2) + '@babel/preset-env': 7.22.5(@babel/core@7.25.2) + '@babel/preset-react': 7.22.5(@babel/core@7.25.2) + '@babel/preset-typescript': 7.22.5(@babel/core@7.25.2) '@babel/runtime': 7.25.4 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -26569,6 +25885,13 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) + browserslist@4.24.0: + dependencies: + caniuse-lite: 1.0.30001664 + electron-to-chromium: 1.5.29 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.0) + bs58@4.0.1: dependencies: base-x: 3.0.10 @@ -26720,13 +26043,15 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001647 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001664 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 caniuse-lite@1.0.30001647: {} + caniuse-lite@1.0.30001664: {} + capital-case@1.0.4: dependencies: no-case: 3.0.4 @@ -26877,7 +26202,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -27213,11 +26538,11 @@ snapshots: core-js-compat@3.31.0: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-js-compat@3.38.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-js-pure@3.31.0: {} @@ -27660,7 +26985,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 dayjs@1.11.10: {} @@ -28031,6 +27356,8 @@ snapshots: electron-to-chromium@1.4.442: {} + electron-to-chromium@1.5.29: {} + electron-to-chromium@1.5.4: {} elliptic@6.5.7: @@ -28061,6 +27388,8 @@ snapshots: encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + encoding-sniffer@0.2.0: dependencies: iconv-lite: 0.6.3 @@ -28108,7 +27437,7 @@ snapshots: env-string@1.0.1: {} - envinfo@7.13.0: {} + envinfo@7.14.0: {} error-ex@1.3.2: dependencies: @@ -28421,6 +27750,8 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-goat@2.1.1: {} escape-html@1.0.3: {} @@ -28822,7 +28153,7 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.2: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -28831,7 +28162,7 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.1.0: {} eslint-webpack-plugin@3.2.0(eslint@9.9.1(jiti@1.21.6))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: @@ -28889,7 +28220,7 @@ snapshots: eslint@9.9.1(jiti@1.21.6): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.9.1 @@ -28901,10 +28232,10 @@ snapshots: cross-spawn: 7.0.3 debug: 4.3.7(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - esquery: 1.5.0 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -28919,7 +28250,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 optionalDependencies: @@ -28934,11 +28265,11 @@ snapshots: event-emitter: 0.3.5 type: 2.7.3 - espree@10.1.0: + espree@10.2.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + eslint-visitor-keys: 4.1.0 espree@9.6.1: dependencies: @@ -28952,6 +28283,10 @@ snapshots: dependencies: estraverse: 5.3.0 + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -28970,7 +28305,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -29231,6 +28566,10 @@ snapshots: dependencies: strnum: 1.0.5 + fast-xml-parser@4.5.0: + dependencies: + strnum: 1.0.5 + fastest-stable-stringify@2.0.2: {} fastq@1.17.1: @@ -29407,7 +28746,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.244.0: {} + flow-parser@0.247.1: {} focus-trap@7.5.4: dependencies: @@ -29782,17 +29121,17 @@ snapshots: graphemer@1.4.0: {} - graphql-config@5.0.3(@types/node@22.5.5)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4): + graphql-config@5.0.3(@types/node@22.7.4)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.6.2)(utf-8-validate@6.0.4): dependencies: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) '@graphql-tools/merge': 9.0.4(graphql@16.9.0) - '@graphql-tools/url-loader': 8.0.2(@types/node@22.5.5)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@22.7.4)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) cosmiconfig: 8.3.6(typescript@5.6.2) graphql: 16.9.0 - jiti: 1.21.6 + jiti: 1.21.0 minimatch: 4.2.3 string-env-interpolation: 1.0.1 tslib: 2.7.0 @@ -29948,15 +29287,15 @@ snapshots: hermes-estree@0.19.1: {} - hermes-estree@0.23.0: {} + hermes-estree@0.23.1: {} hermes-parser@0.19.1: dependencies: hermes-estree: 0.19.1 - hermes-parser@0.23.0: + hermes-parser@0.23.1: dependencies: - hermes-estree: 0.23.0 + hermes-estree: 0.23.1 hermes-profile-transformer@0.0.6: dependencies: @@ -30169,11 +29508,11 @@ snapshots: i18next-browser-languagedetector@7.1.0: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 i18next@23.11.5: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 iconv-lite@0.4.24: dependencies: @@ -30757,7 +30096,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -30862,7 +30201,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -30877,7 +30216,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -30886,7 +30225,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -30917,7 +30256,7 @@ snapshots: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -30991,12 +30330,12 @@ snapshots: jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -31195,7 +30534,7 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 merge-stream: 2.0.0 supports-color: 7.2.0 @@ -31213,7 +30552,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -31283,7 +30622,7 @@ snapshots: '@babel/register': 7.24.6(@babel/core@7.25.2) babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) chalk: 4.1.2 - flow-parser: 0.244.0 + flow-parser: 0.247.1 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -31308,7 +30647,7 @@ snapshots: '@babel/register': 7.24.6(@babel/core@7.25.2) babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) chalk: 4.1.2 - flow-parser: 0.244.0 + flow-parser: 0.247.1 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -31476,7 +30815,7 @@ snapshots: keccak@3.0.4: dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 readable-stream: 3.6.2 keyv@3.1.0: @@ -31495,7 +30834,7 @@ snapshots: klona@2.0.6: {} - knip@5.30.5(@types/node@22.5.5)(typescript@5.6.2): + knip@5.30.6(@types/node@22.5.5)(typescript@5.6.2): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 @@ -31514,7 +30853,7 @@ snapshots: summary: 2.1.0 typescript: 5.6.2 zod: 3.23.8 - zod-validation-error: 3.3.1(zod@3.23.8) + zod-validation-error: 3.4.0(zod@3.23.8) labeled-stream-splicer@2.0.2: dependencies: @@ -32009,54 +31348,53 @@ snapshots: merge2@1.4.1: {} - meros@1.3.0(@types/node@22.5.5): + meros@1.3.0(@types/node@22.7.4): optionalDependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.4 methods@1.1.2: {} - metro-babel-transformer@0.80.10: + metro-babel-transformer@0.80.12: dependencies: '@babel/core': 7.25.2 flow-enums-runtime: 0.0.6 - hermes-parser: 0.23.0 + hermes-parser: 0.23.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-cache-key@0.80.10: + metro-cache-key@0.80.12: dependencies: flow-enums-runtime: 0.0.6 - metro-cache@0.80.10: + metro-cache@0.80.12: dependencies: exponential-backoff: 3.1.1 flow-enums-runtime: 0.0.6 - metro-core: 0.80.10 + metro-core: 0.80.12 - metro-config@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + metro-config@0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 flow-enums-runtime: 0.0.6 jest-validate: 29.7.0 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-cache: 0.80.10 - metro-core: 0.80.10 - metro-runtime: 0.80.10 + metro: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-cache: 0.80.12 + metro-core: 0.80.12 + metro-runtime: 0.80.12 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate - metro-core@0.80.10: + metro-core@0.80.12: dependencies: flow-enums-runtime: 0.0.6 lodash.throttle: 4.1.1 - metro-resolver: 0.80.10 + metro-resolver: 0.80.12 - metro-file-map@0.80.10: + metro-file-map@0.80.12: dependencies: anymatch: 3.1.3 debug: 2.6.9 @@ -32074,39 +31412,39 @@ snapshots: transitivePeerDependencies: - supports-color - metro-minify-terser@0.80.10: + metro-minify-terser@0.80.12: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.31.6 + terser: 5.34.1 - metro-resolver@0.80.10: + metro-resolver@0.80.12: dependencies: flow-enums-runtime: 0.0.6 - metro-runtime@0.80.10: + metro-runtime@0.80.12: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 flow-enums-runtime: 0.0.6 - metro-source-map@0.80.10: + metro-source-map@0.80.12: dependencies: '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-symbolicate: 0.80.10 + metro-symbolicate: 0.80.12 nullthrows: 1.1.1 - ob1: 0.80.10 + ob1: 0.80.12 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-symbolicate@0.80.10: + metro-symbolicate@0.80.12: dependencies: flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-source-map: 0.80.10 + metro-source-map: 0.80.12 nullthrows: 1.1.1 source-map: 0.5.7 through2: 2.0.5 @@ -32114,7 +31452,7 @@ snapshots: transitivePeerDependencies: - supports-color - metro-transform-plugins@0.80.10: + metro-transform-plugins@0.80.12: dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -32125,28 +31463,27 @@ snapshots: transitivePeerDependencies: - supports-color - metro-transform-worker@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + metro-transform-worker@0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 '@babel/parser': 7.25.6 '@babel/types': 7.25.6 flow-enums-runtime: 0.0.6 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-minify-terser: 0.80.10 - metro-source-map: 0.80.10 - metro-transform-plugins: 0.80.10 + metro: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-minify-terser: 0.80.12 + metro-source-map: 0.80.12 + metro-transform-plugins: 0.80.12 nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate - metro@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + metro@0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@babel/code-frame': 7.24.7 '@babel/core': 7.25.2 @@ -32164,26 +31501,25 @@ snapshots: error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 - hermes-parser: 0.23.0 + hermes-parser: 0.23.1 image-size: 1.1.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-core: 0.80.10 - metro-file-map: 0.80.10 - metro-resolver: 0.80.10 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 - metro-symbolicate: 0.80.10 - metro-transform-plugins: 0.80.10 - metro-transform-worker: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-config: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-core: 0.80.12 + metro-file-map: 0.80.12 + metro-resolver: 0.80.12 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 + metro-symbolicate: 0.80.12 + metro-transform-plugins: 0.80.12 + metro-transform-worker: 0.80.12(bufferutil@4.0.8)(utf-8-validate@5.0.10) mime-types: 2.1.35 - node-fetch: 2.7.0 nullthrows: 1.1.1 serialize-error: 2.1.0 source-map: 0.5.7 @@ -32193,7 +31529,6 @@ snapshots: yargs: 17.7.2 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate @@ -32662,6 +31997,8 @@ snapshots: node-gyp-build@4.8.1: {} + node-gyp-build@4.8.2: {} + node-int64@0.4.0: {} node-preload@0.2.1: @@ -32817,7 +32154,7 @@ snapshots: oauth-sign@0.9.0: {} - ob1@0.80.10: + ob1@0.80.12: dependencies: flow-enums-runtime: 0.0.6 @@ -32986,6 +32323,15 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + ora@5.4.1: dependencies: bl: 4.1.0 @@ -33427,7 +32773,7 @@ snapshots: postcss-colormin@5.3.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.47 @@ -33435,7 +32781,7 @@ snapshots: postcss-convert-values@5.1.3(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -33558,14 +32904,22 @@ snapshots: postcss: 8.4.47 ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.2) - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.0): + postcss-load-config@4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2)): + dependencies: + lilconfig: 2.1.0 + yaml: 2.5.0 + optionalDependencies: + postcss: 8.4.47 + ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2) + + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 1.21.6 postcss: 8.4.47 tsx: 4.19.1 - yaml: 2.5.0 + yaml: 2.5.1 postcss-loader@6.2.1(postcss@8.4.47)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): dependencies: @@ -33591,7 +32945,7 @@ snapshots: postcss-merge-rules@5.1.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -33611,7 +32965,7 @@ snapshots: postcss-minify-params@5.1.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 cssnano-utils: 3.1.0(postcss@8.4.47) postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -33684,7 +33038,7 @@ snapshots: postcss-normalize-unicode@5.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -33791,7 +33145,7 @@ snapshots: postcss-reduce-initial@5.1.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 postcss: 8.4.47 @@ -33846,6 +33200,8 @@ snapshots: preact@10.23.2: {} + preact@10.24.1: {} + preact@10.4.1: {} prelude-ls@1.1.2: {} @@ -34194,21 +33550,21 @@ snapshots: react-is@18.3.1: {} - react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1): + react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1): dependencies: escape-string-regexp: 2.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1): + react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1): dependencies: escape-string-regexp: 2.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + react-native: 0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10): + react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native-community/cli': 13.6.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -34220,7 +33576,7 @@ snapshots: '@react-native/gradle-plugin': 0.74.83 '@react-native/js-polyfills': 0.74.83 '@react-native/normalize-colors': 0.74.83 - '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.9)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.10)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -34232,8 +33588,8 @@ snapshots: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 mkdirp: 0.5.6 nullthrows: 1.1.1 pretty-format: 26.6.2 @@ -34249,7 +33605,7 @@ snapshots: ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) yargs: 17.7.2 optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -34258,7 +33614,7 @@ snapshots: - supports-color - utf-8-validate - react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10): + react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native-community/cli': 13.6.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -34270,7 +33626,7 @@ snapshots: '@react-native/gradle-plugin': 0.74.83 '@react-native/js-polyfills': 0.74.83 '@react-native/normalize-colors': 0.74.83 - '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.9)(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.10)(react-native@0.74.1(@babel/core@7.25.2)(@babel/preset-env@7.22.5(@babel/core@7.25.2))(@types/react@18.3.10)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -34282,8 +33638,8 @@ snapshots: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 mkdirp: 0.5.6 nullthrows: 1.1.1 pretty-format: 26.6.2 @@ -34299,7 +33655,7 @@ snapshots: ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) yargs: 17.7.2 optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -34572,7 +33928,7 @@ snapshots: regenerator-transform@0.15.1: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 regex-parser@2.2.11: {} @@ -34610,7 +33966,7 @@ snapshots: relay-runtime@12.0.0: dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.6 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: @@ -34792,24 +34148,24 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - rollup-plugin-terser@7.0.2(rollup@2.79.1): + rollup-plugin-terser@7.0.2(rollup@2.79.2): dependencies: '@babel/code-frame': 7.24.7 jest-worker: 26.6.2 - rollup: 2.79.1 + rollup: 2.79.2 serialize-javascript: 4.0.0 - terser: 5.31.6 + terser: 5.34.1 - rollup-plugin-visualizer@5.12.0(rollup@4.21.0): + rollup-plugin-visualizer@5.12.0(rollup@4.22.5): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.21.0 + rollup: 4.22.5 - rollup@2.79.1: + rollup@2.79.2: optionalDependencies: fsevents: 2.3.3 @@ -34817,26 +34173,26 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.21.0: + rollup@4.22.5: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.0 - '@rollup/rollup-android-arm64': 4.21.0 - '@rollup/rollup-darwin-arm64': 4.21.0 - '@rollup/rollup-darwin-x64': 4.21.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 - '@rollup/rollup-linux-arm-musleabihf': 4.21.0 - '@rollup/rollup-linux-arm64-gnu': 4.21.0 - '@rollup/rollup-linux-arm64-musl': 4.21.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 - '@rollup/rollup-linux-riscv64-gnu': 4.21.0 - '@rollup/rollup-linux-s390x-gnu': 4.21.0 - '@rollup/rollup-linux-x64-gnu': 4.21.0 - '@rollup/rollup-linux-x64-musl': 4.21.0 - '@rollup/rollup-win32-arm64-msvc': 4.21.0 - '@rollup/rollup-win32-ia32-msvc': 4.21.0 - '@rollup/rollup-win32-x64-msvc': 4.21.0 + '@rollup/rollup-android-arm-eabi': 4.22.5 + '@rollup/rollup-android-arm64': 4.22.5 + '@rollup/rollup-darwin-arm64': 4.22.5 + '@rollup/rollup-darwin-x64': 4.22.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.5 + '@rollup/rollup-linux-arm-musleabihf': 4.22.5 + '@rollup/rollup-linux-arm64-gnu': 4.22.5 + '@rollup/rollup-linux-arm64-musl': 4.22.5 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.5 + '@rollup/rollup-linux-riscv64-gnu': 4.22.5 + '@rollup/rollup-linux-s390x-gnu': 4.22.5 + '@rollup/rollup-linux-x64-gnu': 4.22.5 + '@rollup/rollup-linux-x64-musl': 4.22.5 + '@rollup/rollup-win32-arm64-msvc': 4.22.5 + '@rollup/rollup-win32-ia32-msvc': 4.22.5 + '@rollup/rollup-win32-x64-msvc': 4.22.5 fsevents: 2.3.3 rpc-websockets@7.11.0: @@ -34977,7 +34333,7 @@ snapshots: dependencies: elliptic: 6.5.7 node-addon-api: 5.1.0 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 seedrandom@3.0.5: {} @@ -35030,6 +34386,24 @@ snapshots: transitivePeerDependencies: - supports-color + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + sentence-case@3.0.4: dependencies: no-case: 3.0.4 @@ -35071,6 +34445,15 @@ snapshots: transitivePeerDependencies: - supports-color + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-blocking@2.0.0: {} set-function-length@1.2.2: @@ -35634,7 +35017,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@2.0.0: dependencies: @@ -35675,7 +35058,7 @@ snapshots: stylehacks@5.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-selector-parser: 6.0.13 @@ -35861,6 +35244,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.13(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2)) + postcss-nested: 6.0.1(postcss@8.4.47) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.32.0 + transitivePeerDependencies: + - ts-node + tapable@1.1.3: {} tapable@2.2.1: {} @@ -35905,7 +35315,7 @@ snapshots: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.31.6 + terser: 5.34.1 webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) optionalDependencies: '@swc/core': 1.7.14(@swc/helpers@0.5.12) @@ -35920,12 +35330,12 @@ snapshots: terser@5.18.2: dependencies: - '@jridgewell/source-map': 0.3.3 + '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 - terser@5.31.6: + terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -36187,7 +35597,28 @@ snapshots: '@tsconfig/node16': 1.0.4 '@types/node': 22.5.5 acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.7.14(@swc/helpers@0.5.12) + optional: true + + ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.4)(typescript@5.6.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.7.4 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -36389,7 +35820,7 @@ snapshots: typedarray@0.0.6: {} - typedoc-plugin-markdown@4.2.7(typedoc@0.26.6(typescript@5.6.2)): + typedoc-plugin-markdown@4.2.8(typedoc@0.26.6(typescript@5.6.2)): dependencies: typedoc: 0.26.6(typescript@5.6.2) @@ -36596,6 +36027,12 @@ snapshots: dependencies: browserslist: 4.23.3 escalade: 3.1.2 + picocolors: 1.0.1 + + update-browserslist-db@1.1.1(browserslist@4.24.0): + dependencies: + browserslist: 4.24.0 + escalade: 3.2.0 picocolors: 1.1.0 update-notifier@5.1.0: @@ -36676,7 +36113,7 @@ snapshots: utf-8-validate@6.0.4: dependencies: - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 optional: true util-deprecate@1.0.2: {} @@ -36730,12 +36167,12 @@ snapshots: validate-npm-package-name@5.0.1: {} - valtio@1.11.2(@types/react@18.3.9)(react@18.3.1): + valtio@1.11.2(@types/react@18.3.10)(react@18.3.1): dependencies: proxy-compare: 2.5.1 use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 react: 18.3.1 value-or-promise@1.0.12: {} @@ -36782,13 +36219,31 @@ snapshots: - utf-8-validate - zod - vite-node@2.0.5(@types/node@22.5.5)(terser@5.31.6): + vite-node@2.0.5(@types/node@22.5.5)(terser@5.34.1): + dependencies: + cac: 6.7.14 + debug: 4.3.7(supports-color@5.5.0) + pathe: 1.1.2 + tinyrainbow: 1.2.0 + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@2.0.5(@types/node@22.7.4)(terser@5.34.1): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@5.5.0) pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - '@types/node' - less @@ -36800,17 +36255,17 @@ snapshots: - supports-color - terser - vite-plugin-json5@1.1.2(@rollup/pluginutils@5.1.0(rollup@4.21.0))(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)): + vite-plugin-json5@1.1.2(@rollup/pluginutils@5.1.0(rollup@4.22.5))(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1)): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + '@rollup/pluginutils': 5.1.0(rollup@4.22.5) json5: 2.2.3 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) - vite-plugin-node-polyfills@0.22.0(rollup@4.21.0)(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6)): + vite-plugin-node-polyfills@0.22.0(rollup@4.22.5)(vite@5.4.8(@types/node@22.5.5)(terser@5.34.1)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.21.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.22.5) node-stdlib-browser: 1.2.0 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) transitivePeerDependencies: - rollup @@ -36820,44 +36275,54 @@ snapshots: fast-glob: 3.3.1 minimatch: 6.2.0 - vite@5.4.7(@types/node@22.5.5)(terser@5.31.6): + vite@5.4.8(@types/node@22.5.5)(terser@5.34.1): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.21.0 + rollup: 4.22.5 optionalDependencies: '@types/node': 22.5.5 fsevents: 2.3.3 - terser: 5.31.6 + terser: 5.34.1 + + vite@5.4.8(@types/node@22.7.4)(terser@5.34.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.22.5 + optionalDependencies: + '@types/node': 22.7.4 + fsevents: 2.3.3 + terser: 5.34.1 - vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.5.5)(@types/react@18.3.9)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.6)(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2)): + vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.4)(@types/react@18.3.10)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.34.1)(typescript@5.6.2))(vue@3.5.10(typescript@5.6.2)): dependencies: '@types/flexsearch': 0.7.3 '@types/markdown-it': 12.2.3 flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.1 - vitepress: 1.3.4(@algolia/client-search@4.22.1)(@types/node@22.5.5)(@types/react@18.3.9)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.6)(typescript@5.6.2) - vue: 3.5.8(typescript@5.6.2) + vitepress: 1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.4)(@types/react@18.3.10)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.34.1)(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) - vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.5.5)(@types/react@18.3.9)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.6)(typescript@5.6.2): + vitepress@1.3.4(@algolia/client-search@4.22.1)(@types/node@22.7.4)(@types/react@18.3.10)(axios@1.7.7)(idb-keyval@6.2.1)(postcss@8.4.47)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.34.1)(typescript@5.6.2): dependencies: '@docsearch/css': 3.6.1 - '@docsearch/js': 3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0) + '@docsearch/js': 3.6.1(@algolia/client-search@4.22.1)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0) '@shikijs/core': 1.14.1 '@shikijs/transformers': 1.14.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.2(vite@5.4.7(@types/node@22.5.5)(terser@5.31.6))(vue@3.5.8(typescript@5.6.2)) + '@vitejs/plugin-vue': 5.1.2(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2)) '@vue/devtools-api': 7.3.8 '@vue/shared': 3.4.38 - '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.6.2)) - '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.5.8(typescript@5.6.2)) + '@vueuse/core': 11.0.0(vue@3.5.10(typescript@5.6.2)) + '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.5.10(typescript@5.6.2)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.14.1 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) - vue: 3.5.8(typescript@5.6.2) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) + vue: 3.5.10(typescript@5.6.2) optionalDependencies: postcss: 8.4.47 transitivePeerDependencies: @@ -36888,7 +36353,7 @@ snapshots: - typescript - universal-cookie - 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@5.0.10))(terser@5.31.6): + 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@5.0.10))(terser@5.34.1): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -36906,8 +36371,8 @@ snapshots: tinybench: 2.9.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) - vite-node: 2.0.5(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) + vite-node: 2.0.5(@types/node@22.5.5)(terser@5.34.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.5.5 @@ -36923,7 +36388,7 @@ snapshots: - supports-color - terser - 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.31.6): + 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.34.1): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -36941,8 +36406,8 @@ snapshots: tinybench: 2.9.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.7(@types/node@22.5.5)(terser@5.31.6) - vite-node: 2.0.5(@types/node@22.5.5)(terser@5.31.6) + vite: 5.4.8(@types/node@22.5.5)(terser@5.34.1) + vite-node: 2.0.5(@types/node@22.5.5)(terser@5.34.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.5.5 @@ -36958,21 +36423,91 @@ snapshots: - supports-color - terser + vitest@2.0.5(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.34.1): + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.7(supports-color@5.5.0) + execa: 8.0.1 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) + vite-node: 2.0.5(@types/node@22.7.4)(terser@5.34.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.7.4 + '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.47.2)(typescript@5.6.2)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.0.5(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.34.1): + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.7(supports-color@5.5.0) + execa: 8.0.1 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) + vite-node: 2.0.5(@types/node@22.7.4)(terser@5.34.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.7.4 + '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.47.2)(typescript@5.6.2)(utf-8-validate@6.0.4)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vlq@1.0.1: {} vm-browserify@1.1.2: {} - vue-demi@0.14.10(vue@3.5.8(typescript@5.6.2)): + vue-demi@0.14.10(vue@3.5.10(typescript@5.6.2)): dependencies: - vue: 3.5.8(typescript@5.6.2) + vue: 3.5.10(typescript@5.6.2) - vue@3.5.8(typescript@5.6.2): + vue@3.5.10(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-sfc': 3.5.8 - '@vue/runtime-dom': 3.5.8 - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.6.2)) - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-sfc': 3.5.10 + '@vue/runtime-dom': 3.5.10 + '@vue/server-renderer': 3.5.10(vue@3.5.10(typescript@5.6.2)) + '@vue/shared': 3.5.10 optionalDependencies: typescript: 5.6.2 @@ -37365,9 +36900,9 @@ snapshots: '@babel/core': 7.25.2 '@babel/preset-env': 7.22.5(@babel/core@7.25.2) '@babel/runtime': 7.25.4 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.2)(@types/babel__core@7.20.5)(rollup@2.79.1) - '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) - '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.2)(@types/babel__core@7.20.5)(rollup@2.79.2) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.2) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.2) '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.12.0 common-tags: 1.8.2 @@ -37376,8 +36911,8 @@ snapshots: glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.79.1 - rollup-plugin-terser: 7.0.2(rollup@2.79.1) + rollup: 2.79.2 + rollup-plugin-terser: 7.0.2(rollup@2.79.2) source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -37584,6 +37119,8 @@ snapshots: yaml@2.5.0: {} + yaml@2.5.1: {} + yargs-parser@13.1.2: dependencies: camelcase: 5.3.1 @@ -37691,7 +37228,7 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-validation-error@3.3.1(zod@3.23.8): + zod-validation-error@3.4.0(zod@3.23.8): dependencies: zod: 3.23.8 @@ -37699,11 +37236,11 @@ snapshots: zod@3.23.8: {} - zustand@4.4.1(@types/react@18.3.9)(immer@9.0.21)(react@18.3.1): + zustand@4.4.1(@types/react@18.3.10)(immer@9.0.21)(react@18.3.1): dependencies: use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 immer: 9.0.21 react: 18.3.1 diff --git a/templates/nextjs/package.json b/templates/nextjs/package.json index 54fcff1754..a190740d78 100644 --- a/templates/nextjs/package.json +++ b/templates/nextjs/package.json @@ -17,8 +17,8 @@ "@fuels/react": "^0.27.1", "@tanstack/react-query": "^5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "^5.1.12", - "@wagmi/core": "^2.13.6", + "@wagmi/connectors": "^5.1.14", + "@wagmi/core": "^2.13.8", "dotenv": "^16.4.5", "fuels": "workspace:*", "next": "14.2.13", @@ -30,7 +30,7 @@ "devDependencies": { "@types/node": "^22.5.5", "@playwright/test": "^1.47.2", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "autoprefixer": "^10.4.20", "eslint": "^8.57.0", diff --git a/templates/vite/package.json b/templates/vite/package.json index d0fc36f802..9ba09b1974 100644 --- a/templates/vite/package.json +++ b/templates/vite/package.json @@ -17,8 +17,8 @@ "@fuels/react": "^0.27.1", "@tanstack/react-query": "^5.55.4", "clsx": "2.1.1", - "@wagmi/connectors": "^5.1.12", - "@wagmi/core": "^2.13.6", + "@wagmi/connectors": "^5.1.14", + "@wagmi/core": "^2.13.8", "dotenv": "^16.4.5", "fuels": "workspace:*", "react": "^18.3.1", @@ -28,9 +28,9 @@ "devDependencies": { "@vitejs/plugin-react": "^4.3.1", "@eslint/js": "^9.10.0", - "@tanstack/router-plugin": "^1.56.4", + "@tanstack/router-plugin": "^1.58.12", "@playwright/test": "^1.47.2", - "@types/react": "^18.3.8", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3", "autoprefixer": "^10.4.20", "eslint": "^8.57.0", @@ -41,7 +41,7 @@ "tailwindcss": "^3.4.12", "typescript": "~5.6.2", "typescript-eslint": "^8.5.0", - "vite": "^5.4.7", + "vite": "^5.4.8", "vitest": "~2.0.5" } } From a4b16b1abbfbf1df8e4d9c5b78fcb96d26a1bf6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:57:02 +0000 Subject: [PATCH 108/113] build(deps): bump chalk from 4.0.0 to 4.1.2 (#3231) * build(deps): bump chalk from 4.0.0 to 4.1.2 Bumps [chalk](https://github.com/chalk/chalk) from 4.0.0 to 4.1.2. - [Release notes](https://github.com/chalk/chalk/releases) - [Commits](https://github.com/chalk/chalk/compare/v4.0.0...v4.1.2) --- updated-dependencies: - dependency-name: chalk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * build: update dependency changeset --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/honest-toes-punch.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changeset/honest-toes-punch.md diff --git a/.changeset/honest-toes-punch.md b/.changeset/honest-toes-punch.md new file mode 100644 index 0000000000..f258b42be2 --- /dev/null +++ b/.changeset/honest-toes-punch.md @@ -0,0 +1,4 @@ +--- +--- + +build(deps): bump chalk from 4.0.0 to 4.1.2 From b43cf2b7060fda1daac5b50ef6163747d5e1ba5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nedim=20Salki=C4=87?= Date: Tue, 1 Oct 2024 14:00:02 +0200 Subject: [PATCH 109/113] chore: disable `no-continue` eslint rule (#3225) --- .changeset/thin-waves-care.md | 4 ++++ .eslintrc.js | 1 + packages/account/src/providers/fuel-graphql-subscriber.ts | 1 - packages/contract/src/contract-factory.ts | 1 - packages/merkle/src/sparse/sparseMerkleTree.ts | 4 ---- packages/utils/src/utils/toUtf8String.ts | 1 - 6 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 .changeset/thin-waves-care.md diff --git a/.changeset/thin-waves-care.md b/.changeset/thin-waves-care.md new file mode 100644 index 0000000000..12799d87b0 --- /dev/null +++ b/.changeset/thin-waves-care.md @@ -0,0 +1,4 @@ +--- +--- + +chore: disable `no-continue` eslint rule \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 90c1d96286..7624456d5c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,6 +21,7 @@ module.exports = { }, }, rules: { + 'no-continue': 'off', 'no-restricted-syntax': [ 'off', { diff --git a/packages/account/src/providers/fuel-graphql-subscriber.ts b/packages/account/src/providers/fuel-graphql-subscriber.ts index 5ada84b935..d0ff7a9ad4 100644 --- a/packages/account/src/providers/fuel-graphql-subscriber.ts +++ b/packages/account/src/providers/fuel-graphql-subscriber.ts @@ -76,7 +76,6 @@ export class FuelGraphqlSubscriber implements AsyncIterator { .replace(':keep-alive-text\n\n', ''); if (decoded === '') { - // eslint-disable-next-line no-continue continue; } diff --git a/packages/contract/src/contract-factory.ts b/packages/contract/src/contract-factory.ts index 981091700a..9adcfb3a55 100644 --- a/packages/contract/src/contract-factory.ts +++ b/packages/contract/src/contract-factory.ts @@ -344,7 +344,6 @@ export default class ContractFactory { // is still valid so we can use this for the loader contract if ((err).message.indexOf(`BlobId is already taken ${blobId}`) > -1) { uploadedBlobs.push(blobId); - // eslint-disable-next-line no-continue continue; } diff --git a/packages/merkle/src/sparse/sparseMerkleTree.ts b/packages/merkle/src/sparse/sparseMerkleTree.ts index cadf8780a9..2e738f6317 100644 --- a/packages/merkle/src/sparse/sparseMerkleTree.ts +++ b/packages/merkle/src/sparse/sparseMerkleTree.ts @@ -114,7 +114,6 @@ export class SparseMerkleTree { for (let i = 0; i < sideNodes.length; i += 1) { if (sideNodes[i] === '') { - // eslint-disable-next-line no-continue continue; } @@ -127,7 +126,6 @@ export class SparseMerkleTree { // This is the leaf sibling that needs to be percolated up the tree. currentHash = sideNode; currentData = sideNode; - // eslint-disable-next-line no-continue continue; } else { // This is the node sibling that needs to be left in its place. @@ -139,7 +137,6 @@ export class SparseMerkleTree { if (!nonPlaceholderReached && sideNode === ZERO) { // We found another placeholder sibling node, keep going up the // tree until we find the first sibling that is not a placeholder. - // eslint-disable-next-line no-continue continue; } else if (!nonPlaceholderReached) { // We found the first sibling node that is not a placeholder, it is @@ -221,7 +218,6 @@ export class SparseMerkleTree { if (commonPrefixCount !== MAX_HEIGHT && commonPrefixCount > MAX_HEIGHT - 1 - i) { sideNode = ZERO; } else { - // eslint-disable-next-line no-continue continue; } } else { diff --git a/packages/utils/src/utils/toUtf8String.ts b/packages/utils/src/utils/toUtf8String.ts index a4a3795b1a..992f37b667 100644 --- a/packages/utils/src/utils/toUtf8String.ts +++ b/packages/utils/src/utils/toUtf8String.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-continue */ import type { BytesLike } from '@fuel-ts/interfaces'; import { arrayify } from './arrayify'; From 7f38a0cb5dd59e8d229d1e77fc5b8db633c31862 Mon Sep 17 00:00:00 2001 From: chad Date: Tue, 1 Oct 2024 12:09:13 -0500 Subject: [PATCH 110/113] chore: re-arrange console.assert statements --- .../src/encoding/working-with-bytes.ts | 102 +++++++----------- 1 file changed, 38 insertions(+), 64 deletions(-) diff --git a/apps/docs-snippets2/src/encoding/working-with-bytes.ts b/apps/docs-snippets2/src/encoding/working-with-bytes.ts index e66df30771..31e3c66ff4 100644 --- a/apps/docs-snippets2/src/encoding/working-with-bytes.ts +++ b/apps/docs-snippets2/src/encoding/working-with-bytes.ts @@ -20,43 +20,35 @@ import { // #region working-with-bytes-1 const u8Coder = new NumberCoder('u8'); const encodedU8 = u8Coder.encode(255); -// encodedU8 = new Uint8Array([255]); - -const u16Coder = new NumberCoder('u16'); -const encodedU16 = u16Coder.encode(255); -// encodedU16 = new Uint8Array([0, 255]); - -const u32Coder = new NumberCoder('u32'); -const encodedU32 = u32Coder.encode(255); -// encodedU32 = new Uint8Array([0, 0, 0, 255]); - -const u64Coder = new BigNumberCoder('u64'); -const encodedU64 = u64Coder.encode(255); -// encodedU64 = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 255]); - -const u256Coder = new BigNumberCoder('u256'); -const encodedU256 = u256Coder.encode(255); -// encodedU256 = new Uint8Array([ -// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255 -// ]); -// #endregion working-with-bytes-1 - console.assert( encodedU8.toString() === new Uint8Array([255]).toString(), 'Encoded U8 should be equal to 255' ); + +const u16Coder = new NumberCoder('u16'); +const encodedU16 = u16Coder.encode(255); console.assert( encodedU16.toString() === new Uint8Array([0, 255]).toString(), 'Encoded U16 should be equal to 255' ); + +const u32Coder = new NumberCoder('u32'); +const encodedU32 = u32Coder.encode(255); + console.assert( encodedU32.toString() === new Uint8Array([0, 0, 0, 255]).toString(), 'Encoded U32 should be equal to 255' ); + +const u64Coder = new BigNumberCoder('u64'); +const encodedU64 = u64Coder.encode(255); console.assert( encodedU64.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 255]).toString(), 'Encoded U64 should be equal to 255' ); + +const u256Coder = new BigNumberCoder('u256'); +const encodedU256 = u256Coder.encode(255); console.assert( encodedU256.toString() === new Uint8Array([ @@ -65,28 +57,25 @@ console.assert( ]).toString(), 'Encoded U256 should be equal to 255' ); +// #endregion working-with-bytes-1 // #region working-with-bytes-2 - const booleanCoder = new BooleanCoder(); const encodedTrue = booleanCoder.encode(true); -// encodedTrue = new Uint8Array([1]); - -const encodedFalse = booleanCoder.encode(false); -// encodedFalse = new Uint8Array([0]); -// #endregion working-with-bytes-2 - console.assert( encodedTrue.toString() === new Uint8Array([1]).toString(), 'Encoded True should be equal to 1' ); + +const encodedFalse = booleanCoder.encode(false); console.assert( encodedFalse.toString() === new Uint8Array([0]).toString(), 'Encoded False should be equal to 0' ); -// #region working-with-bytes-3 +// #endregion working-with-bytes-2 +// #region working-with-bytes-3 const stringCoder = new StringCoder(5); const encoded = stringCoder.encode('hello'); // #endregion working-with-bytes-3 @@ -97,84 +86,69 @@ console.assert( ); // #region working-with-bytes-4 - const b256Coder = new B256Coder(); const encodedB256 = b256Coder.encode(hexlify(randomBytes(32))); -// encodedB256 = new Uint8Array(32); +console.assert(encodedB256.length === 32, 'Encoded B256 should be equal to 32'); const b512Coder = new B512Coder(); const encodedB512 = b512Coder.encode(hexlify(randomBytes(64))); -// encodedB512 = new Uint8Array(64); -// #endregion working-with-bytes-4 - -console.assert(encodedB256.length === 32, 'Encoded B256 should be equal to 32'); console.assert(encodedB512.length === 64, 'Encoded B512 should be equal to 64'); +// #endregion working-with-bytes-4 // #region working-with-bytes-5 - const tupleCoder = new TupleCoder([new NumberCoder('u8'), new NumberCoder('u16')]); const encodedTuple = tupleCoder.encode([255, 255]); -// encodedTuple = new Uint8Array([255, 0, 255]); +console.assert( + encodedTuple.toString() === new Uint8Array([255, 0, 255]).toString(), + 'Encoded Tuple should be equal to [255, 0, 255]' +); const structCoder = new StructCoder('struct', { a: new NumberCoder('u8'), b: new NumberCoder('u16'), }); const encodedStruct = structCoder.encode({ a: 255, b: 255 }); -// encodedStruct = new Uint8Array([255, 0, 255]); - -const arrayCoder = new ArrayCoder(new NumberCoder('u8'), 4); -const encodedArray = arrayCoder.encode([255, 0, 255, 0]); -// encodedArray = new Uint8Array([255, 0, 255, 0]); - -const enumCoder = new EnumCoder('enum', { a: new NumberCoder('u32') }); -const encodedEnum = enumCoder.encode({ a: 255 }); -// encodedEnum = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]); -// #endregion working-with-bytes-5 - -console.assert( - encodedTuple.toString() === new Uint8Array([255, 0, 255]).toString(), - 'Encoded Tuple should be equal to [255, 0, 255]' -); console.assert( encodedStruct.toString() === new Uint8Array([255, 0, 255]).toString(), 'Encoded Struct should be equal to [255, 0, 255]' ); + +const arrayCoder = new ArrayCoder(new NumberCoder('u8'), 4); +const encodedArray = arrayCoder.encode([255, 0, 255, 0]); console.assert( encodedArray.toString() === new Uint8Array([255, 0, 255, 0]).toString(), 'Encoded Array should be equal to [255, 0, 255, 0]' ); + +const enumCoder = new EnumCoder('enum', { a: new NumberCoder('u32') }); +const encodedEnum = enumCoder.encode({ a: 255 }); console.assert( encodedEnum.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]).toString(), 'Encoded Enum should be equal to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]' ); +// #endregion working-with-bytes-5 // #region working-with-bytes-6 - const vecCoder = new VecCoder(new NumberCoder('u8')); const encodedVec = vecCoder.encode([255, 0, 255]); -// encodedVec = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]); - -const stdStringCoder = new StdStringCoder(); -const encodedStdString = stdStringCoder.encode('hello'); -// encodedStdString = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]); - -const rawSliceCoder = new RawSliceCoder(); -const encodedRawSlice = rawSliceCoder.encode([1, 2, 3, 4]); -// encodedRawSlice = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]); -// #endregion working-with-bytes-6 - console.assert( encodedVec.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]).toString(), 'Encoded Vec should be equal to [0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]' ); + +const stdStringCoder = new StdStringCoder(); +const encodedStdString = stdStringCoder.encode('hello'); console.assert( encodedStdString.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]).toString(), 'Encoded StdString should be equal to [0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]' ); + +const rawSliceCoder = new RawSliceCoder(); +const encodedRawSlice = rawSliceCoder.encode([1, 2, 3, 4]); console.assert( encodedRawSlice.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]).toString(), 'Encoded RawSlice should be equal to [0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]' ); +// #endregion working-with-bytes-6 // #endregion full From 9fe51f23afbbfc432efcca40035266bfcafe6f3c Mon Sep 17 00:00:00 2001 From: chad Date: Thu, 3 Oct 2024 11:45:18 -0500 Subject: [PATCH 111/113] chore: remove console.assert --- .../src/create-fuels/decrement-counter.ts | 34 ++++----- .../src/encoding/encode-and-decode.ts | 14 +--- .../src/encoding/working-with-bytes.ts | 76 ++----------------- .../src/scripts/script-custom-transaction.ts | 9 ++- .../src/scripts/script-with-configurable.ts | 6 +- .../src/testing/launching-a-test-node.node.ts | 41 +++------- .../src/testing/tweaking-the-blockchain.ts | 11 +-- .../src/utilities/unit-conversion.ts | 13 +--- .../getting-started-with-wallet-manager.ts | 19 +---- .../locking-and-unlocking-wallet-manager.ts | 7 +- 10 files changed, 46 insertions(+), 184 deletions(-) diff --git a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts index ae3e3cc645..1839115afa 100644 --- a/apps/docs-snippets2/src/create-fuels/decrement-counter.ts +++ b/apps/docs-snippets2/src/create-fuels/decrement-counter.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { Wallet, Provider } from 'fuels'; @@ -19,34 +20,25 @@ const incrementedValue = 5; const decrementedValue = 2; // We can now call the contract functions and test the results. Lets assert the initial value of the counter. -const { waitForResult: getCountWaitForResult } = await contract.functions.get_count().call(); +const { waitForResult: getCountWaitForResult } = await contract.functions + .get_count() + .call(); const { value: initialGetCountValue } = await getCountWaitForResult(); -console.assert( - initialGetCountValue.toNumber() === initialCount, - 'Initial value should be equal to the initial count.' -); - // Next we'll increment the counter, so that we can decrement it. -const { waitForResult: incWaitForResult } = await contract.functions.increment_count(5).call(); +const { waitForResult: incWaitForResult } = await contract.functions + .increment_count(5) + .call(); const { value: incValue } = await incWaitForResult(); -console.assert( - incValue.toNumber() === incrementedValue, - 'Incremented value should be equal to the incremented value.' -); // Next, we'll decrement the counter by 3 and assert the new value. -const { waitForResult: decWaitForResult } = await contract.functions.decrement_count(3).call(); +const { waitForResult: decWaitForResult } = await contract.functions + .decrement_count(3) + .call(); const { value: decValue } = await decWaitForResult(); -console.assert( - decValue.toNumber() === decrementedValue, - 'Decremented value should be equal to the decremented value.' -); // Finally, we'll test the get count function again to ensure parity. -const { waitForResult: finalWaitForResult } = await contract.functions.get_count().call(); +const { waitForResult: finalWaitForResult } = await contract.functions + .get_count() + .call(); const { value: finalValue } = await finalWaitForResult(); -console.assert( - finalValue.toNumber() === decrementedValue, - 'Final value should be equal to the decremented value.' -); // #endregion full diff --git a/apps/docs-snippets2/src/encoding/encode-and-decode.ts b/apps/docs-snippets2/src/encoding/encode-and-decode.ts index eec55decdd..276e34706d 100644 --- a/apps/docs-snippets2/src/encoding/encode-and-decode.ts +++ b/apps/docs-snippets2/src/encoding/encode-and-decode.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import type { JsonAbi, TransactionResultReturnDataReceipt } from 'fuels'; import { @@ -100,16 +101,3 @@ const [decodedReturnData] = abiInterface.decodeType(argument, returnData); const totalValue = argumentToAdd + initialValue; // #endregion encode-and-decode-5 // #endregion full -console.assert(value === totalValue, 'Value should be equal to the total value.'); -console.assert( - decodedReturnData === totalValue, - 'Decoded return data should be equal to the total value.' -); -console.assert( - encodedArguments.toString() === new Uint8Array([0, 0, 0, 10]).toString(), - 'Encoded arguments should be equal to the total value.' -); -console.assert( - returnData.toString() === new Uint8Array([0, 0, 0, 20]).toString(), - 'Return data should be equal to the total value.' -); diff --git a/apps/docs-snippets2/src/encoding/working-with-bytes.ts b/apps/docs-snippets2/src/encoding/working-with-bytes.ts index 31e3c66ff4..1dc89c369d 100644 --- a/apps/docs-snippets2/src/encoding/working-with-bytes.ts +++ b/apps/docs-snippets2/src/encoding/working-with-bytes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { randomBytes } from 'crypto'; import { @@ -20,58 +21,25 @@ import { // #region working-with-bytes-1 const u8Coder = new NumberCoder('u8'); const encodedU8 = u8Coder.encode(255); -console.assert( - encodedU8.toString() === new Uint8Array([255]).toString(), - 'Encoded U8 should be equal to 255' -); const u16Coder = new NumberCoder('u16'); const encodedU16 = u16Coder.encode(255); -console.assert( - encodedU16.toString() === new Uint8Array([0, 255]).toString(), - 'Encoded U16 should be equal to 255' -); const u32Coder = new NumberCoder('u32'); const encodedU32 = u32Coder.encode(255); -console.assert( - encodedU32.toString() === new Uint8Array([0, 0, 0, 255]).toString(), - 'Encoded U32 should be equal to 255' -); - const u64Coder = new BigNumberCoder('u64'); const encodedU64 = u64Coder.encode(255); -console.assert( - encodedU64.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 255]).toString(), - 'Encoded U64 should be equal to 255' -); const u256Coder = new BigNumberCoder('u256'); const encodedU256 = u256Coder.encode(255); -console.assert( - encodedU256.toString() === - new Uint8Array([ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 255, - ]).toString(), - 'Encoded U256 should be equal to 255' -); // #endregion working-with-bytes-1 // #region working-with-bytes-2 const booleanCoder = new BooleanCoder(); const encodedTrue = booleanCoder.encode(true); -console.assert( - encodedTrue.toString() === new Uint8Array([1]).toString(), - 'Encoded True should be equal to 1' -); const encodedFalse = booleanCoder.encode(false); -console.assert( - encodedFalse.toString() === new Uint8Array([0]).toString(), - 'Encoded False should be equal to 0' -); // #endregion working-with-bytes-2 @@ -80,75 +48,41 @@ const stringCoder = new StringCoder(5); const encoded = stringCoder.encode('hello'); // #endregion working-with-bytes-3 -console.assert( - encoded.toString() === new Uint8Array([104, 101, 108, 108, 111]).toString(), - 'Encoded should be equal to hello' -); - // #region working-with-bytes-4 const b256Coder = new B256Coder(); const encodedB256 = b256Coder.encode(hexlify(randomBytes(32))); -console.assert(encodedB256.length === 32, 'Encoded B256 should be equal to 32'); - const b512Coder = new B512Coder(); const encodedB512 = b512Coder.encode(hexlify(randomBytes(64))); -console.assert(encodedB512.length === 64, 'Encoded B512 should be equal to 64'); // #endregion working-with-bytes-4 // #region working-with-bytes-5 -const tupleCoder = new TupleCoder([new NumberCoder('u8'), new NumberCoder('u16')]); +const tupleCoder = new TupleCoder([ + new NumberCoder('u8'), + new NumberCoder('u16'), +]); const encodedTuple = tupleCoder.encode([255, 255]); -console.assert( - encodedTuple.toString() === new Uint8Array([255, 0, 255]).toString(), - 'Encoded Tuple should be equal to [255, 0, 255]' -); const structCoder = new StructCoder('struct', { a: new NumberCoder('u8'), b: new NumberCoder('u16'), }); const encodedStruct = structCoder.encode({ a: 255, b: 255 }); -console.assert( - encodedStruct.toString() === new Uint8Array([255, 0, 255]).toString(), - 'Encoded Struct should be equal to [255, 0, 255]' -); const arrayCoder = new ArrayCoder(new NumberCoder('u8'), 4); const encodedArray = arrayCoder.encode([255, 0, 255, 0]); -console.assert( - encodedArray.toString() === new Uint8Array([255, 0, 255, 0]).toString(), - 'Encoded Array should be equal to [255, 0, 255, 0]' -); const enumCoder = new EnumCoder('enum', { a: new NumberCoder('u32') }); const encodedEnum = enumCoder.encode({ a: 255 }); -console.assert( - encodedEnum.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]).toString(), - 'Encoded Enum should be equal to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255]' -); // #endregion working-with-bytes-5 // #region working-with-bytes-6 const vecCoder = new VecCoder(new NumberCoder('u8')); const encodedVec = vecCoder.encode([255, 0, 255]); -console.assert( - encodedVec.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]).toString(), - 'Encoded Vec should be equal to [0, 0, 0, 0, 0, 0, 0, 3, 255, 0, 255]' -); const stdStringCoder = new StdStringCoder(); const encodedStdString = stdStringCoder.encode('hello'); -console.assert( - encodedStdString.toString() === - new Uint8Array([0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]).toString(), - 'Encoded StdString should be equal to [0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]' -); const rawSliceCoder = new RawSliceCoder(); const encodedRawSlice = rawSliceCoder.encode([1, 2, 3, 4]); -console.assert( - encodedRawSlice.toString() === new Uint8Array([0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]).toString(), - 'Encoded RawSlice should be equal to [0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 3, 4]' -); // #endregion working-with-bytes-6 // #endregion full diff --git a/apps/docs-snippets2/src/scripts/script-custom-transaction.ts b/apps/docs-snippets2/src/scripts/script-custom-transaction.ts index 265dc6fd97..d229b093fe 100644 --- a/apps/docs-snippets2/src/scripts/script-custom-transaction.ts +++ b/apps/docs-snippets2/src/scripts/script-custom-transaction.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { BN, ScriptTransactionRequest, coinQuantityfy } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; @@ -41,7 +42,10 @@ request .addContractInputAndOutput(contract.id); // 4. Get the transaction resources -const quantities = [coinQuantityfy([1000, ASSET_A]), coinQuantityfy([500, ASSET_B])]; +const quantities = [ + coinQuantityfy([1000, ASSET_A]), + coinQuantityfy([500, ASSET_B]), +]; // 5. Calculate the transaction fee const txCost = await wallet.getTransactionCost(request, { quantities }); @@ -57,9 +61,6 @@ await tx.waitForResult(); const contractFinalBalanceAssetA = await contract.getBalance(ASSET_A); const contractFinalBalanceAssetB = await contract.getBalance(ASSET_B); - -console.assert(new BN(contractFinalBalanceAssetA).toNumber() === 1000, 'unexpected balance'); -console.assert(new BN(contractFinalBalanceAssetB).toNumber() === 500, 'unexpected balance'); // #endregion custom-transactions-2 // #endregion full diff --git a/apps/docs-snippets2/src/scripts/script-with-configurable.ts b/apps/docs-snippets2/src/scripts/script-with-configurable.ts index 1f519755f5..102ac12eef 100644 --- a/apps/docs-snippets2/src/scripts/script-with-configurable.ts +++ b/apps/docs-snippets2/src/scripts/script-with-configurable.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { Script, BN, Wallet, Provider } from 'fuels'; @@ -22,7 +23,6 @@ const { value } = await waitForResult(); const expectedTotal = inputtedValue + configurableConstants.AMOUNT; -console.assert(new BN(value as number).toNumber() === expectedTotal, 'unexpected total'); // #endregion script-with-configurable-contants-2 const argument = 10; @@ -47,9 +47,5 @@ const { waitForResult: waitForActualGasUsed } = await tx.call(); const { value: valueOfActualGasUsed, gasUsed: gasUsedOfActualGasUsed } = await waitForActualGasUsed(); // #endregion preparing-scripts -console.assert(txRequest, 'txn request undefined'); -console.assert(txId, 'txn id undefined'); -console.assert(new BN(valueOfActualGasUsed as number).toNumber() === expected, 'unexpected total'); -console.assert(new BN(gasUsedOfActualGasUsed).toNumber() > 0, 'gas used is 0'); // #endregion full diff --git a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts index 6fe9323a7f..789dce56fd 100644 --- a/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts +++ b/apps/docs-snippets2/src/testing/launching-a-test-node.node.ts @@ -46,9 +46,6 @@ const { const { waitForResult } = await contract.functions.get_count().call(); const response = await waitForResult(); -console.assert(response.value.toNumber() === 0, 'Counter is not initialized'); -console.assert(provider instanceof Provider, 'Provider is not instance of Provider'); -console.assert(wallets.length === 4, 'Wallets length is not 4'); // #endregion basic-example // #region advanced-example @@ -77,15 +74,6 @@ const { wallets: [wallet1, wallet2, wallet3, wallet4], } = counterContractNode; -console.assert( - counterContract instanceof CounterFactory, - 'CounterFactory is not instance of CounterFactory' -); -console.assert(wallet1 instanceof WalletUnlocked, 'Wallet1 is not instance of WalletUnlocked'); -console.assert(wallet2 instanceof WalletUnlocked, 'Wallet2 is not instance of WalletUnlocked'); -console.assert(wallet3 instanceof WalletUnlocked, 'Wallet3 is not instance of WalletUnlocked'); -console.assert(wallet4 instanceof WalletUnlocked, 'Wallet4 is not instance of WalletUnlocked'); - // #endregion advanced-example // #region custom-fuel-core-args @@ -96,24 +84,28 @@ process.env.DEFAULT_FUEL_CORE_ARGS = `--tx-max-depth 20`; const nodeWithCustomArgs = await launchTestNode(); const { provider: providerWithCustomArgs } = nodeWithCustomArgs; -console.assert(providerWithCustomArgs.getNode().maxDepth.toNumber() === 20, 'Max depth is not 20'); process.env.DEFAULT_FUEL_CORE_ARGS = ''; // #endregion custom-fuel-core-args nodeWithCustomArgs.cleanup(); -const mySnapshotDirPath = join(__dirname, '../../../../', '.fuel-core', 'configs'); +const mySnapshotDirPath = join( + __dirname, + '../../../../', + '.fuel-core', + 'configs' +); // #region custom-chain-config process.env.DEFAULT_CHAIN_SNAPSHOT_DIR = mySnapshotDirPath; const launchedWithCustomChainConfig = await launchTestNode(); -const { provider: providerWithCustomChainConfig } = launchedWithCustomChainConfig; +const { provider: providerWithCustomChainConfig } = + launchedWithCustomChainConfig; const { name } = await providerWithCustomChainConfig.fetchChain(); -console.assert(name === 'custom-chain-config', 'Chain name is not custom-chain-config'); // #endregion custom-chain-config launchedWithCustomChainConfig.cleanup(); @@ -150,10 +142,8 @@ const { wallets: [walletWithCustomAssetIds], } = nodeWithCustomAssetIds; -const { coins } = await walletWithCustomAssetIds.getCoins(randomAssetIds[0].value); -console.assert( - coins[0].assetId === randomAssetIds[0].value, - 'Asset id is not randomAssetIds[0].value' +const { coins } = await walletWithCustomAssetIds.getCoins( + randomAssetIds[0].value ); // #endregion asset-ids @@ -176,10 +166,6 @@ const { messages: [messageWithTestMessages], } = await walletWithTestMessages.getMessages(); -console.assert( - messageWithTestMessages.nonce === testMessage.nonce, - 'Nonce is not testMessage.nonce' -); // #endregion test-messages nodeWithTestMessages.cleanup(); @@ -201,15 +187,12 @@ using launchedWithTestMessagesOnChain = await launchTestNode({ }, }); -const { provider: providerWithTestMessagesOnChain } = launchedWithTestMessagesOnChain; +const { provider: providerWithTestMessagesOnChain } = + launchedWithTestMessagesOnChain; recipient.provider = providerWithTestMessagesOnChain; const { messages: [messageOnChain], } = await recipient.getMessages(); -console.assert( - messageOnChain.nonce === testMessageOnChain.nonce, - 'Nonce is not testMessageOnChain.nonce' -); // #endregion test-messages-chain diff --git a/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts index bb35b35a55..59450cd453 100644 --- a/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts +++ b/apps/docs-snippets2/src/testing/tweaking-the-blockchain.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ // #region full // #region produce-blocks @@ -19,8 +20,6 @@ const producedBlock = await provider.getBlock(producedBlockHeight.toNumber()); const oldest = DateTime.fromTai64(timeLastBlockProduced); const newest = DateTime.fromTai64(producedBlock!.time); // newest >= oldest -console.assert(producedBlock, 'No latest block'); -console.assert(newest >= oldest, 'Newest block is not greater or equal to oldest block'); // #endregion produce-blocks // #region produceBlocks-custom-timestamp @@ -31,15 +30,13 @@ const latestBlock = await providerWithCustomTimestamp.getBlock('latest'); if (!latestBlock) { throw new Error('No latest block'); } -const latestBlockTimestamp = DateTime.fromTai64(latestBlock.time).toUnixMilliseconds(); +const latestBlockTimestamp = DateTime.fromTai64( + latestBlock.time +).toUnixMilliseconds(); const newBlockHeight = await providerWithCustomTimestamp.produceBlocks( 3, latestBlockTimestamp + 1000 ); -console.assert( - newBlockHeight.toHex() === latestBlock.height.add(3).toHex(), - 'New block height is not equal to latest block height + 3' -); // #endregion produceBlocks-custom-timestamp // #endregion full diff --git a/apps/docs-snippets2/src/utilities/unit-conversion.ts b/apps/docs-snippets2/src/utilities/unit-conversion.ts index 1c441deed4..6622df7056 100644 --- a/apps/docs-snippets2/src/utilities/unit-conversion.ts +++ b/apps/docs-snippets2/src/utilities/unit-conversion.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { BN, DECIMAL_GWEI, DECIMAL_KWEI, bn, Provider, Wallet } from 'fuels'; @@ -9,7 +10,6 @@ const myBigNumberOne = '100000000'; const resultOne = new BN('100000000').toString(); -console.assert(resultOne === myBigNumberOne, 'BN is not equal to expected'); // #endregion instantiation-1 const myBigNumberTwo = '100000000'; @@ -17,7 +17,6 @@ const myBigNumberTwo = '100000000'; // #region instantiation-2 const resultTwo = bn('100000000').toString(); -console.assert(resultTwo === myBigNumberTwo, 'BN is not equal to expected'); // #endregion instantiation-2 // #region contract-calls-1 @@ -35,14 +34,12 @@ const MAX_U64 = bn('18446744073709551615'); const { waitForResult } = await contract.functions.echo_u64(MAX_U64).call(); const { value } = await waitForResult(); -console.assert(value.toString() === MAX_U64.toString(), 'BN is not equal to expected'); // #endregion contract-calls-1 const myBigNumberThree = '1'; // #region parse-units-1 const resultThree = bn.parseUnits('0.000000001').toString(); -console.assert(resultThree === myBigNumberThree, 'BN is not equal to expected'); // #endregion parse-units-1 // #endregion parse-units-1 @@ -50,7 +47,6 @@ console.assert(resultThree === myBigNumberThree, 'BN is not equal to expected'); // #region parse-units-2 const myBigNumberFour = '100100000000000'; const resultFour = bn.parseUnits('100100').toString(); -console.assert(resultFour === myBigNumberFour, 'BN is not equal to expected'); // #endregion parse-units-2 // #endregion parse-units-3 @@ -59,7 +55,6 @@ console.assert(resultFour === myBigNumberFour, 'BN is not equal to expected'); const myBigNumberFive = '100100000200001'; const resultFive = bn.parseUnits('100,100.000200001').toString(); -console.assert(resultFive === myBigNumberFive, 'BN is not equal to expected'); // #endregion parse-units-3 // #endregion parse-units-4 @@ -68,7 +63,6 @@ console.assert(resultFive === myBigNumberFive, 'BN is not equal to expected'); const myBigNumberSix = '1000000000'; const resultSix = bn.parseUnits('1', DECIMAL_GWEI).toString(); -console.assert(resultSix === myBigNumberSix, 'BN is not equal to expected'); // #endregion parse-units-4 // #region format-1 @@ -76,7 +70,6 @@ const myBigNumberSeven = '1.000'; const oneGwei = bn('1000000000'); const resultSeven = oneGwei.format(); -console.assert(resultSeven === myBigNumberSeven, 'BN is not equal to expected'); // #endregion format-1 // #region format-2 @@ -85,21 +78,18 @@ const myBigNumberEight = '2.000'; const twoGwei = bn('2000000000'); const resultEight = twoGwei.format({ units: DECIMAL_GWEI }); -console.assert(resultEight === myBigNumberEight, 'BN is not equal to expected'); // #endregion format-2 // #region format-3 const oneDecimalGwei = '1.0'; const formattedGwei = oneGwei.format({ precision: 1 }); -console.assert(formattedGwei === oneDecimalGwei, 'BN is not equal to expected'); // #endregion format-3 // #region format-units-1 const myFormattedGwei = '1.000000000'; const formattedUnitsGwei = oneGwei.formatUnits(); -console.assert(formattedUnitsGwei === myFormattedGwei, 'BN is not equal to expected'); // #endregion format-units-1 // #region format-units-2 @@ -108,7 +98,6 @@ const myFormattedKwei = '1.000000000000000'; const oneKwei = bn('1000000000000000'); const formattedUnitsKwei = oneKwei.formatUnits(DECIMAL_KWEI); -console.assert(formattedUnitsKwei === myFormattedKwei, 'BN is not equal to expected'); // #endregion format-units-2 // #endregion full diff --git a/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts b/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts index 36eb3f4313..e4cc611ae5 100644 --- a/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts +++ b/apps/docs-snippets2/src/wallet-manager/getting-started-with-wallet-manager.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { WalletManager, Wallet, Provider } from 'fuels'; @@ -47,28 +48,10 @@ const vaults = walletManager.getVaults(); // #region getting-started-with-wallet-manager-6 -console.assert( - JSON.stringify(vaults) === - JSON.stringify([ - { - title: 'My first private key vault', - type: 'privateKey', - vaultId: 0, - }, - { - title: 'My second private key vault', - type: 'privateKey', - vaultId: 1, - }, - ]), - 'Vaults do not match expected structure' -); // #endregion getting-started-with-wallet-manager-6 // #region getting-started-with-wallet-manager-7 const retrievedWallet = walletManager.getWallet(myWallet.address); -console.assert(retrievedWallet.address.equals(myWallet.address), 'Wallets do not match'); -console.assert(vaults.length > 0, 'Vaults length should be greater than 0'); // #endregion getting-started-with-wallet-manager-7 // #endregion full diff --git a/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts b/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts index fde13a7b36..909700ce51 100644 --- a/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts +++ b/apps/docs-snippets2/src/wallet-manager/locking-and-unlocking-wallet-manager.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ // #region full import { WalletManager } from 'fuels'; @@ -10,7 +11,8 @@ const walletManager = new WalletManager(); await walletManager.unlock(password); // #endregion locking-and-unlocking-wallet-manager-1 -const privateKey = '0xc7079e195cca2495e47b056115f850a8be1f2c4ffe2a806922accb36d2ff0dde'; +const privateKey = + '0xc7079e195cca2495e47b056115f850a8be1f2c4ffe2a806922accb36d2ff0dde'; await walletManager.addVault({ type: 'privateKey', @@ -28,7 +30,6 @@ await walletManager.unlock(password); // #region locking-and-unlocking-wallet-manager-4 const isLocked = walletManager.isLocked; -console.assert(isLocked === false, 'WalletManager is locked'); // #endregion locking-and-unlocking-wallet-manager-4 // #region locking-and-unlocking-wallet-manager-5 @@ -43,7 +44,5 @@ await walletManager.unlock(newPassword); // perform your tasks... walletManager.lock(); // Always lock your WalletManager when you're done - -console.assert(walletManager.isLocked === true, 'WalletManager is unlocked'); // #endregion locking-and-unlocking-wallet-manager-6 // #endregion full From e19b126effabcd1a9e2c943160bd8733abc0458d Mon Sep 17 00:00:00 2001 From: chad Date: Thu, 3 Oct 2024 19:42:57 -0500 Subject: [PATCH 112/113] docs: add README for snippets --- apps/docs-snippets2/README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 apps/docs-snippets2/README.md diff --git a/apps/docs-snippets2/README.md b/apps/docs-snippets2/README.md new file mode 100644 index 0000000000..d1a132047b --- /dev/null +++ b/apps/docs-snippets2/README.md @@ -0,0 +1,26 @@ +# `docs-snippets` + +**docs-snippets** is a private package for generating snippets for the Fuel documentation site. + + +# Table of contents + +- [building](#building) +- [running](#running) + +## Building + +This builds the snippets into testable scripts from the `src` folder and generates the Typegen `types` in the `typegend` folder. All test scripts end with a `.test.ts` suffix. +```sh +pnpm build +``` + +## Testing + +This will build the snippets and run the generated tests. To specific a particular environment for a test, the snippet should be named as `{name}.{environment}.test.ts`. e.g. `deploy-contract.node.test.ts` + +If no environment is specified, it will run in the browser and node environments by default. + +```sh +pnpm test +``` From 4716eaad6b8a7c3fe0c848596790eb45b493947d Mon Sep 17 00:00:00 2001 From: chad Date: Fri, 4 Oct 2024 12:44:08 -0500 Subject: [PATCH 113/113] lint: update README --- apps/docs-snippets2/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets2/README.md b/apps/docs-snippets2/README.md index d1a132047b..6c2a92b505 100644 --- a/apps/docs-snippets2/README.md +++ b/apps/docs-snippets2/README.md @@ -5,9 +5,10 @@ # Table of contents -- [building](#building) -- [running](#running) - +- [`docs-snippets`](#docs-snippets) +- [Table of contents](#table-of-contents) + - [Building](#building) + - [Testing](#testing) ## Building This builds the snippets into testable scripts from the `src` folder and generates the Typegen `types` in the `typegend` folder. All test scripts end with a `.test.ts` suffix.