From b7ad4fcaa78a88df2290fc5db548d77efbe1e664 Mon Sep 17 00:00:00 2001 From: Glitch <66949816+glitch-txs@users.noreply.github.com> Date: Tue, 27 Feb 2024 21:51:03 -0300 Subject: [PATCH 1/8] Siwe package (#1957) Co-authored-by: Ilja <3154053+xzilja@users.noreply.github.com> --- apps/laboratory/package.json | 10 +- .../src/components/Siwe/SiweData.tsx | 2 +- .../src/pages/api/auth/[...nextauth].ts | 2 +- apps/laboratory/src/utils/SiweUtils.ts | 2 +- examples/html-wagmi/package.json | 2 + examples/next-wagmi/package.json | 4 +- examples/react-wagmi/package.json | 4 +- examples/vue-wagmi/package.json | 4 +- package-lock.json | 2145 +++++++---------- packages/core/index.ts | 6 - .../core/src/controllers/OptionsController.ts | 5 + packages/core/src/utils/TypeUtil.ts | 43 - packages/scaffold-utils/package.json | 2 +- .../scaffold-utils/src/EthersHelpersUtil.ts | 2 +- packages/scaffold-utils/src/HelpersUtil.ts | 2 +- packages/scaffold-utils/src/PresetsUtil.ts | 2 +- packages/scaffold/index.ts | 2 - packages/scaffold/package.json | 14 +- packages/scaffold/src/client.ts | 31 +- .../scaffold/src/modal/w3m-modal/index.ts | 17 +- .../scaffold/src/partials/w3m-header/index.ts | 11 +- .../w3m-connecting-external-view/index.ts | 4 +- .../src/views/w3m-connecting-wc-view/index.ts | 4 +- .../views/w3m-network-switch-view/index.ts | 4 +- .../core/controller}/SIWEController.ts | 9 +- .../siwe/{src => core}/utils/ConstantsUtil.ts | 0 packages/siwe/core/utils/TypeUtils.ts | 40 + packages/siwe/exports/index.ts | 21 +- packages/siwe/package.json | 25 +- .../partials/w3m-connecting-siwe/index.ts | 0 .../partials/w3m-connecting-siwe/styles.ts | 0 .../views/w3m-connecting-siwe-view/index.ts | 2 +- packages/siwe/src/client.ts | 7 +- .../tests/controllers/SIWEController.test.ts | 2 +- packages/siwe/tsconfig.json | 2 +- packages/wagmi/exports/react/index.ts | 1 - packages/wagmi/package.json | 7 +- packages/wagmi/src/client.ts | 2 +- .../wagmi/src/connectors/EmailConnector.ts | 5 +- .../src/utils/defaultWagmiReactConfig.ts | 1 - turbo.json | 6 +- 41 files changed, 1081 insertions(+), 1373 deletions(-) rename packages/{core/src/controllers => siwe/core/controller}/SIWEController.ts (94%) rename packages/siwe/{src => core}/utils/ConstantsUtil.ts (100%) create mode 100644 packages/siwe/core/utils/TypeUtils.ts rename packages/{scaffold/src => siwe/scaffold}/partials/w3m-connecting-siwe/index.ts (100%) rename packages/{scaffold/src => siwe/scaffold}/partials/w3m-connecting-siwe/styles.ts (100%) rename packages/{scaffold/src => siwe/scaffold}/views/w3m-connecting-siwe-view/index.ts (97%) rename packages/{core => siwe}/tests/controllers/SIWEController.test.ts (96%) diff --git a/apps/laboratory/package.json b/apps/laboratory/package.json index 603ca99010..1fa356b4b6 100644 --- a/apps/laboratory/package.json +++ b/apps/laboratory/package.json @@ -25,7 +25,7 @@ "@sentry/react": "7.92.0", "@tanstack/react-query": "5.17.19", "@web3modal/ethers": "4.0.10", - "@web3modal/ethers5": "4.0.10", + "@web3modal/siwe": "4.0.10", "@web3modal/wagmi": "4.0.10", "framer-motion": "10.17.9", "next": "14.0.4", @@ -33,14 +33,14 @@ "react-icons": "4.12.0", "siwe": "2.1.4", "valtio": "1.11.2", - "viem": "2.5.0", - "wagmi": "2.5.6" + "ethers": "6.9.0", + "viem": "2.7.13", + "wagmi": "2.5.7" }, "devDependencies": { "@aws-sdk/client-cloudwatch": "3.509.0", "@mailsac/api": "1.0.5", "@playwright/test": "1.40.1", - "dotenv": "16.3.1", - "ethers": "6.9.0" + "dotenv": "16.3.1" } } diff --git a/apps/laboratory/src/components/Siwe/SiweData.tsx b/apps/laboratory/src/components/Siwe/SiweData.tsx index ae4f9c86a3..57cfbf00cf 100644 --- a/apps/laboratory/src/components/Siwe/SiweData.tsx +++ b/apps/laboratory/src/components/Siwe/SiweData.tsx @@ -10,7 +10,7 @@ import { } from '@chakra-ui/react' import { useEffect, useState } from 'react' import { useSession } from 'next-auth/react' -import type { SIWESession } from '@web3modal/core' +import type { SIWESession } from '@web3modal/siwe' export function SiweData() { const [ready, setReady] = useState(false) diff --git a/apps/laboratory/src/pages/api/auth/[...nextauth].ts b/apps/laboratory/src/pages/api/auth/[...nextauth].ts index e34db35f47..bfdb989512 100644 --- a/apps/laboratory/src/pages/api/auth/[...nextauth].ts +++ b/apps/laboratory/src/pages/api/auth/[...nextauth].ts @@ -1,4 +1,4 @@ -import type { SIWESession } from '@web3modal/core' +import type { SIWESession } from '@web3modal/siwe' import type { NextApiRequest, NextApiResponse } from 'next' import nextAuth from 'next-auth' import credentialsProvider from 'next-auth/providers/credentials' diff --git a/apps/laboratory/src/utils/SiweUtils.ts b/apps/laboratory/src/utils/SiweUtils.ts index 4240cbfdac..faa4b4de06 100644 --- a/apps/laboratory/src/utils/SiweUtils.ts +++ b/apps/laboratory/src/utils/SiweUtils.ts @@ -1,6 +1,6 @@ import { SiweMessage } from 'siwe' import { getCsrfToken, signIn, signOut, getSession } from 'next-auth/react' -import type { SIWEVerifyMessageArgs, SIWECreateMessageArgs, SIWESession } from '@web3modal/core' +import type { SIWEVerifyMessageArgs, SIWECreateMessageArgs, SIWESession } from '@web3modal/siwe' import { createSIWEConfig } from '@web3modal/siwe' export const siweConfig = createSIWEConfig({ diff --git a/examples/html-wagmi/package.json b/examples/html-wagmi/package.json index 3f48b00d01..04cf8f1537 100644 --- a/examples/html-wagmi/package.json +++ b/examples/html-wagmi/package.json @@ -8,6 +8,8 @@ }, "dependencies": { "@web3modal/wagmi": "4.0.10", + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/examples/next-wagmi/package.json b/examples/next-wagmi/package.json index 69023ab7a3..8c0aa6f829 100644 --- a/examples/next-wagmi/package.json +++ b/examples/next-wagmi/package.json @@ -14,8 +14,8 @@ "next": "14.1.0", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.5.0", - "wagmi": "2.5.6" + "viem": "2.7.13", + "wagmi": "2.5.7" }, "devDependencies": { "@types/node": "20.11.5", diff --git a/examples/react-wagmi/package.json b/examples/react-wagmi/package.json index 580516a421..75d751f01e 100644 --- a/examples/react-wagmi/package.json +++ b/examples/react-wagmi/package.json @@ -11,9 +11,9 @@ "@web3modal/wagmi": "4.0.10", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.5.0", "vite": "5.0.12", - "wagmi": "2.5.6" + "viem": "2.7.13", + "wagmi": "2.5.7" }, "devDependencies": { "@vitejs/plugin-react": "4.2.1", diff --git a/examples/vue-wagmi/package.json b/examples/vue-wagmi/package.json index fde6917bb9..217d79b229 100644 --- a/examples/vue-wagmi/package.json +++ b/examples/vue-wagmi/package.json @@ -7,7 +7,9 @@ "build:examples": "vite build" }, "dependencies": { - "@web3modal/wagmi": "4.0.10" + "@web3modal/wagmi": "4.0.10", + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5" }, "devDependencies": { "@vitejs/plugin-vue": "5.0.2" diff --git a/package-lock.json b/package-lock.json index 87cbdf95d0..def0657715 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,23 +79,23 @@ "@sentry/react": "7.92.0", "@tanstack/react-query": "5.17.19", "@web3modal/ethers": "4.0.10", - "@web3modal/ethers5": "4.0.10", + "@web3modal/siwe": "4.0.10", "@web3modal/wagmi": "4.0.10", + "ethers": "6.9.0", "framer-motion": "10.17.9", "next": "14.0.4", "next-auth": "4.24.5", "react-icons": "4.12.0", "siwe": "2.1.4", "valtio": "1.11.2", - "viem": "2.5.0", - "wagmi": "2.5.6" + "viem": "2.7.13", + "wagmi": "2.5.7" }, "devDependencies": { "@aws-sdk/client-cloudwatch": "3.509.0", "@mailsac/api": "1.0.5", "@playwright/test": "1.40.1", - "dotenv": "16.3.1", - "ethers": "6.9.0" + "dotenv": "16.3.1" } }, "apps/laboratory/node_modules/dotenv": { @@ -172,6 +172,8 @@ "name": "@examples/html-wagmi", "version": "4.0.10", "dependencies": { + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "@web3modal/wagmi": "4.0.10", "react": "18.2.0", "react-dom": "18.2.0" @@ -189,8 +191,8 @@ "next": "14.1.0", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.5.0", - "wagmi": "2.5.6" + "viem": "2.7.13", + "wagmi": "2.5.7" }, "devDependencies": { "@types/node": "20.11.5", @@ -315,9 +317,9 @@ "@web3modal/wagmi": "4.0.10", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.5.0", + "viem": "2.7.13", "vite": "5.0.12", - "wagmi": "2.5.6" + "wagmi": "2.5.7" }, "devDependencies": { "@vitejs/plugin-react": "4.2.1", @@ -386,6 +388,8 @@ "name": "@examples/vue-wagmi", "version": "4.0.10", "dependencies": { + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "@web3modal/wagmi": "4.0.10" }, "devDependencies": { @@ -6435,9 +6439,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -6479,9 +6483,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -6611,14 +6615,6 @@ "node": ">=14.0.0" } }, - "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/@metamask/json-rpc-engine": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.2.tgz", @@ -6632,14 +6628,6 @@ "node": ">=16.0.0" } }, - "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.3.0.tgz", @@ -6671,6 +6659,33 @@ "node": ">=12.0.0" } }, + "node_modules/@metamask/object-multiplex/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/@metamask/object-multiplex/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@metamask/object-multiplex/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/@metamask/onboarding": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz", @@ -6691,6 +6706,11 @@ "node": ">=14.0.0" } }, + "node_modules/@metamask/post-message-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/@metamask/post-message-stream/node_modules/process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", @@ -6740,12 +6760,22 @@ "node": ">=14.0.0" } }, + "node_modules/@metamask/providers/node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" + }, + "node_modules/@metamask/providers/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + }, "node_modules/@metamask/rpc-errors": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.1.0.tgz", - "integrity": "sha512-JQElKxai26FpDyRKO/yH732wI+BV90i1u6pOuDOpdADSbppB2g1pPh3AGST1zkZqEE9eIKIUw8UdBQ4rp3VTSg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.2.0.tgz", + "integrity": "sha512-cSpYlHQiITfyFiBUXazCbHrxlOF5vl6ZG4ppll107/8N5f+WSFlJJPrkykbj6Hyi1bD2/BEBzmOFz47VqxOhKg==", "dependencies": { - "@metamask/utils": "^8.1.0", + "@metamask/utils": "^8.3.0", "fast-safe-stringify": "^2.0.6" }, "engines": { @@ -6771,20 +6801,22 @@ } }, "node_modules/@metamask/safe-event-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", + "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", + "engines": { + "node": ">=12.0.0" + } }, "node_modules/@metamask/sdk": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.14.1.tgz", - "integrity": "sha512-52kfvnlyMXRO8/oPGoQOFMevSjgkLzpl8aGG6Ivx/6jiqSv5ScuOg6YdSWXR937Ts0zWE0V8KTUBMfnGGt0S9Q==", - "dev": true, + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.14.3.tgz", + "integrity": "sha512-BYLs//nY2wioVSih78gOQI6sLIYY3vWkwVqXGYUgkBV+bi49bv+9S0m+hZ2cwiRaxfMYtKs0KvhAQ8weiYwDrg==", "dependencies": { "@metamask/onboarding": "^1.0.1", "@metamask/post-message-stream": "^6.1.0", "@metamask/providers": "^10.2.1", - "@metamask/sdk-communication-layer": "0.14.1", + "@metamask/sdk-communication-layer": "0.14.3", "@metamask/sdk-install-modal-web": "0.14.1", "@react-native-async-storage/async-storage": "^1.17.11", "@types/dom-screen-wake-lock": "^1.0.0", @@ -6821,10 +6853,9 @@ } }, "node_modules/@metamask/sdk-communication-layer": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.14.1.tgz", - "integrity": "sha512-K1KhkKMdAAPi079G/bX/cIazqT6qnkRnykrs7nA1sU2BouG7BYD4qPgv7ridc3BNIewnFg9eMzzYIgOgfXzJKw==", - "dev": true, + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.14.3.tgz", + "integrity": "sha512-yjSbj8y7fFbQXv2HBzUX6D9C8BimkCYP6BDV7hdw53W8b/GlYCtXVxUFajQ9tuO1xPTRjR/xt/dkdr2aCi6WGw==", "dependencies": { "bufferutil": "^4.0.8", "cross-fetch": "^3.1.5", @@ -6836,20 +6867,10 @@ "uuid": "^8.3.2" } }, - "node_modules/@metamask/sdk-communication-layer/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/@metamask/sdk-communication-layer/node_modules/utf-8-validate": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz", "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==", - "dev": true, "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -6894,11 +6915,18 @@ "@babel/runtime": "^7.20.6" } }, + "node_modules/@metamask/sdk/node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/@metamask/sdk/node_modules/i18next": { "version": "22.5.1", "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "dev": true, "funding": [ { "type": "individual", @@ -6917,6 +6945,33 @@ "@babel/runtime": "^7.20.6" } }, + "node_modules/@metamask/sdk/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/@metamask/sdk/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@metamask/sdk/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/@metamask/utils": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", @@ -7363,10 +7418,9 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", - "hasInstallScript": true, + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -7381,24 +7435,24 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", "cpu": [ "arm64" ], @@ -7415,9 +7469,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", "cpu": [ "arm64" ], @@ -7434,9 +7488,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", "cpu": [ "x64" ], @@ -7453,9 +7507,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", "cpu": [ "x64" ], @@ -7472,9 +7526,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", "cpu": [ "arm" ], @@ -7491,9 +7545,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", "cpu": [ "arm64" ], @@ -7510,9 +7564,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", "cpu": [ "arm64" ], @@ -7529,9 +7583,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", "cpu": [ "x64" ], @@ -7548,9 +7602,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", "cpu": [ "x64" ], @@ -7567,9 +7621,9 @@ } }, "node_modules/@parcel/watcher-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.0.tgz", - "integrity": "sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", + "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", "bundleDependencies": [ "napi-wasm" ], @@ -7592,9 +7646,9 @@ "license": "MIT" }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", "cpu": [ "arm64" ], @@ -7611,9 +7665,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", "cpu": [ "ia32" ], @@ -7630,9 +7684,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", "cpu": [ "x64" ], @@ -8378,9 +8432,9 @@ } }, "node_modules/@react-native-async-storage/async-storage": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.22.1.tgz", - "integrity": "sha512-kLC0kREjUzXawcNFWrBXD8efBYbQq/F9pchDuUuXf6Wue9dCur9nEkjJYM1Ods81BVisPey1QVDT3qVoOYbqgQ==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.22.2.tgz", + "integrity": "sha512-nZpzT4Wz1OkVdQaZP/awpDCTKiPzdmG0PYmRF37ZeJlfwlwOg55in0TP2YUOW0MhOCRiNMomWWLojDLv5j2OIw==", "dependencies": { "merge-options": "^3.0.4" }, @@ -8755,10 +8809,13 @@ } }, "node_modules/@react-native-community/cli-doctor/node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", + "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", "peer": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -9538,6 +9595,33 @@ "@babel/preset-env": "^7.1.6" } }, + "node_modules/@react-native/codegen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native/codegen/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "peer": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@react-native/codegen/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -9548,6 +9632,31 @@ "concat-map": "0.0.1" } }, + "node_modules/@react-native/codegen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native/codegen/node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/@react-native/codegen/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -9568,6 +9677,48 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@react-native/codegen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native/codegen/node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, "node_modules/@react-native/codegen/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -9580,23 +9731,70 @@ "node": "*" } }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.73.16", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz", - "integrity": "sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==", + "node_modules/@react-native/codegen/node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", "peer": true, "dependencies": { - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native/dev-middleware": "0.73.7", - "@react-native/metro-babel-transformer": "0.73.15", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@react-native/codegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@react-native/codegen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native/codegen/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.73.16", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz", + "integrity": "sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==", + "peer": true, + "dependencies": { + "@react-native-community/cli-server-api": "12.3.2", + "@react-native-community/cli-tools": "12.3.2", + "@react-native/dev-middleware": "0.73.7", + "@react-native/metro-babel-transformer": "0.73.15", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "readline": "^1.3.0" }, "engines": { "node": ">=18" @@ -10287,12 +10485,12 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", - "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10300,15 +10498,15 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.1.tgz", - "integrity": "sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.2.tgz", + "integrity": "sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==", "dev": true, "dependencies": { - "@smithy/node-config-provider": "^2.2.1", - "@smithy/types": "^2.9.1", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/types": "^2.10.0", "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.1", + "@smithy/util-middleware": "^2.1.2", "tslib": "^2.5.0" }, "engines": { @@ -10316,18 +10514,18 @@ } }, "node_modules/@smithy/core": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.2.tgz", - "integrity": "sha512-tYDmTp0f2TZVE18jAOH1PnmkngLQ+dOGUlMd1u67s87ieueNeyqhja6z/Z4MxhybEiXKOWFOmGjfTZWFxljwJw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.3.tgz", + "integrity": "sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==", "dev": true, "dependencies": { - "@smithy/middleware-endpoint": "^2.4.1", - "@smithy/middleware-retry": "^2.1.1", - "@smithy/middleware-serde": "^2.1.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/util-middleware": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.2", + "@smithy/middleware-retry": "^2.1.2", + "@smithy/middleware-serde": "^2.1.2", + "@smithy/protocol-http": "^3.2.0", + "@smithy/smithy-client": "^2.4.0", + "@smithy/types": "^2.10.0", + "@smithy/util-middleware": "^2.1.2", "tslib": "^2.5.0" }, "engines": { @@ -10335,15 +10533,15 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz", - "integrity": "sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz", + "integrity": "sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==", "dev": true, "dependencies": { - "@smithy/node-config-provider": "^2.2.1", - "@smithy/property-provider": "^2.1.1", - "@smithy/types": "^2.9.1", - "@smithy/url-parser": "^2.1.1", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/property-provider": "^2.1.2", + "@smithy/types": "^2.10.0", + "@smithy/url-parser": "^2.1.2", "tslib": "^2.5.0" }, "engines": { @@ -10351,37 +10549,37 @@ } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", - "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz", + "integrity": "sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==", "dev": true, "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "@smithy/util-hex-encoding": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", - "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz", + "integrity": "sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==", "dev": true, "dependencies": { - "@smithy/protocol-http": "^3.1.1", - "@smithy/querystring-builder": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/protocol-http": "^3.2.0", + "@smithy/querystring-builder": "^2.1.2", + "@smithy/types": "^2.10.0", "@smithy/util-base64": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.1.tgz", - "integrity": "sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.2.tgz", + "integrity": "sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "@smithy/util-buffer-from": "^2.1.1", "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" @@ -10391,12 +10589,12 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz", - "integrity": "sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz", + "integrity": "sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" } }, @@ -10413,13 +10611,13 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz", - "integrity": "sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz", + "integrity": "sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==", "dev": true, "dependencies": { - "@smithy/protocol-http": "^3.1.1", - "@smithy/types": "^2.9.1", + "@smithy/protocol-http": "^3.2.0", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10427,17 +10625,17 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", - "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz", + "integrity": "sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==", "dev": true, "dependencies": { - "@smithy/middleware-serde": "^2.1.1", - "@smithy/node-config-provider": "^2.2.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/url-parser": "^2.1.1", - "@smithy/util-middleware": "^2.1.1", + "@smithy/middleware-serde": "^2.1.2", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/shared-ini-file-loader": "^2.3.2", + "@smithy/types": "^2.10.0", + "@smithy/url-parser": "^2.1.2", + "@smithy/util-middleware": "^2.1.2", "tslib": "^2.5.0" }, "engines": { @@ -10445,18 +10643,18 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz", - "integrity": "sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz", + "integrity": "sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==", "dev": true, "dependencies": { - "@smithy/node-config-provider": "^2.2.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/service-error-classification": "^2.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/util-middleware": "^2.1.1", - "@smithy/util-retry": "^2.1.1", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/protocol-http": "^3.2.0", + "@smithy/service-error-classification": "^2.1.2", + "@smithy/smithy-client": "^2.4.0", + "@smithy/types": "^2.10.0", + "@smithy/util-middleware": "^2.1.2", + "@smithy/util-retry": "^2.1.2", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -10465,12 +10663,12 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", - "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz", + "integrity": "sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10478,12 +10676,12 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", - "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz", + "integrity": "sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10491,14 +10689,14 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", - "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz", + "integrity": "sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==", "dev": true, "dependencies": { - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.9.1", + "@smithy/property-provider": "^2.1.2", + "@smithy/shared-ini-file-loader": "^2.3.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10506,15 +10704,15 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", - "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz", + "integrity": "sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==", "dev": true, "dependencies": { - "@smithy/abort-controller": "^2.1.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/querystring-builder": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/abort-controller": "^2.1.2", + "@smithy/protocol-http": "^3.2.0", + "@smithy/querystring-builder": "^2.1.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10522,12 +10720,12 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", - "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.2.tgz", + "integrity": "sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10535,12 +10733,12 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", - "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.0.tgz", + "integrity": "sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10548,12 +10746,12 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", - "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz", + "integrity": "sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "@smithy/util-uri-escape": "^2.1.1", "tslib": "^2.5.0" }, @@ -10562,12 +10760,12 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", - "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz", + "integrity": "sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10575,24 +10773,24 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz", - "integrity": "sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz", + "integrity": "sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1" + "@smithy/types": "^2.10.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", - "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz", + "integrity": "sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10600,16 +10798,16 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", - "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.2.tgz", + "integrity": "sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==", "dev": true, "dependencies": { - "@smithy/eventstream-codec": "^2.1.1", + "@smithy/eventstream-codec": "^2.1.2", "@smithy/is-array-buffer": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-middleware": "^2.1.1", + "@smithy/util-middleware": "^2.1.2", "@smithy/util-uri-escape": "^2.1.1", "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" @@ -10619,16 +10817,16 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", - "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.0.tgz", + "integrity": "sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==", "dev": true, "dependencies": { - "@smithy/middleware-endpoint": "^2.4.1", - "@smithy/middleware-stack": "^2.1.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/types": "^2.9.1", - "@smithy/util-stream": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.2", + "@smithy/middleware-stack": "^2.1.2", + "@smithy/protocol-http": "^3.2.0", + "@smithy/types": "^2.10.0", + "@smithy/util-stream": "^2.1.2", "tslib": "^2.5.0" }, "engines": { @@ -10636,9 +10834,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", - "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.0.tgz", + "integrity": "sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==", "dev": true, "dependencies": { "tslib": "^2.5.0" @@ -10648,13 +10846,13 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", - "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.2.tgz", + "integrity": "sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==", "dev": true, "dependencies": { - "@smithy/querystring-parser": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/querystring-parser": "^2.1.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" } }, @@ -10718,14 +10916,14 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz", - "integrity": "sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz", + "integrity": "sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==", "dev": true, "dependencies": { - "@smithy/property-provider": "^2.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", + "@smithy/property-provider": "^2.1.2", + "@smithy/smithy-client": "^2.4.0", + "@smithy/types": "^2.10.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -10734,17 +10932,17 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.0.tgz", - "integrity": "sha512-iFJp/N4EtkanFpBUtSrrIbtOIBf69KNuve03ic1afhJ9/korDxdM0c6cCH4Ehj/smI9pDCfVv+bqT3xZjF2WaA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz", + "integrity": "sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==", "dev": true, "dependencies": { - "@smithy/config-resolver": "^2.1.1", - "@smithy/credential-provider-imds": "^2.2.1", - "@smithy/node-config-provider": "^2.2.1", - "@smithy/property-provider": "^2.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", + "@smithy/config-resolver": "^2.1.2", + "@smithy/credential-provider-imds": "^2.2.2", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/property-provider": "^2.1.2", + "@smithy/smithy-client": "^2.4.0", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10752,13 +10950,13 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz", - "integrity": "sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz", + "integrity": "sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==", "dev": true, "dependencies": { - "@smithy/node-config-provider": "^2.2.1", - "@smithy/types": "^2.9.1", + "@smithy/node-config-provider": "^2.2.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10778,12 +10976,12 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", - "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.2.tgz", + "integrity": "sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==", "dev": true, "dependencies": { - "@smithy/types": "^2.9.1", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10791,13 +10989,13 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.1.tgz", - "integrity": "sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.2.tgz", + "integrity": "sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==", "dev": true, "dependencies": { - "@smithy/service-error-classification": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/service-error-classification": "^2.1.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -10805,14 +11003,14 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", - "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.2.tgz", + "integrity": "sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==", "dev": true, "dependencies": { - "@smithy/fetch-http-handler": "^2.4.1", - "@smithy/node-http-handler": "^2.3.1", - "@smithy/types": "^2.9.1", + "@smithy/fetch-http-handler": "^2.4.2", + "@smithy/node-http-handler": "^2.4.0", + "@smithy/types": "^2.10.0", "@smithy/util-base64": "^2.1.1", "@smithy/util-buffer-from": "^2.1.1", "@smithy/util-hex-encoding": "^2.1.1", @@ -10849,13 +11047,13 @@ } }, "node_modules/@smithy/util-waiter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.1.tgz", - "integrity": "sha512-kYy6BLJJNif+uqNENtJqWdXcpqo1LS+nj1AfXcDhOpqpSHJSAkVySLyZV9fkmuVO21lzGoxjvd1imGGJHph/IA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.2.tgz", + "integrity": "sha512-yxLC57GBDmbDmrnH+vJxsrbV4/aYUucBONkSRLZyJIVFAl/QJH+O/h+phITHDaxVZCYZAcudYJw4ERE32BJM7g==", "dev": true, "dependencies": { - "@smithy/abort-controller": "^2.1.1", - "@smithy/types": "^2.9.1", + "@smithy/abort-controller": "^2.1.2", + "@smithy/types": "^2.10.0", "tslib": "^2.5.0" }, "engines": { @@ -11596,44 +11794,6 @@ "node": ">=8" } }, - "node_modules/@storybook/cli/node_modules/jscodeshift": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.1.tgz", - "integrity": "sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==", - "dependencies": { - "@babel/core": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/preset-flow": "^7.22.15", - "@babel/preset-typescript": "^7.23.0", - "@babel/register": "^7.22.15", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.23.3", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - }, - "peerDependenciesMeta": { - "@babel/preset-env": { - "optional": true - } - } - }, "node_modules/@storybook/cli/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -11720,16 +11880,6 @@ "node": ">= 10.0.0" } }, - "node_modules/@storybook/cli/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "node_modules/@storybook/client-logger": { "version": "7.6.7", "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.7.tgz", @@ -11767,121 +11917,25 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/codemod/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" + "node_modules/@storybook/codemod/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@storybook/codemod/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@storybook/codemod/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/codemod/node_modules/jscodeshift": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.1.tgz", - "integrity": "sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==", - "dependencies": { - "@babel/core": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/preset-flow": "^7.22.15", - "@babel/preset-typescript": "^7.23.0", - "@babel/register": "^7.22.15", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.23.3", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - }, - "peerDependenciesMeta": { - "@babel/preset-env": { - "optional": true - } - } - }, - "node_modules/@storybook/codemod/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@storybook/codemod/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/codemod/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/@storybook/components": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.7.tgz", - "integrity": "sha512-1HN4p+MCI4Tx9VGZayZyqbW7SB7mXQLnS5fUbTE1gXaMYHpzFvcrRNROeV1LZPClJX6qx1jgE5ngZojhxGuxMA==", - "dev": true, + "node_modules/@storybook/components": { + "version": "7.6.7", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.7.tgz", + "integrity": "sha512-1HN4p+MCI4Tx9VGZayZyqbW7SB7mXQLnS5fUbTE1gXaMYHpzFvcrRNROeV1LZPClJX6qx1jgE5ngZojhxGuxMA==", + "dev": true, "dependencies": { "@radix-ui/react-select": "^1.2.2", "@radix-ui/react-toolbar": "^1.0.4", @@ -11952,9 +12006,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "18.19.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz", - "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==", + "version": "18.19.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.18.tgz", + "integrity": "sha512-80CP7B8y4PzZF0GWx15/gVWRrB5y/bIjNI84NK3cmQJu0WZwvmj2WMA5LcofQFVfLqqCSp545+U2LsrVzX36Zg==", "dependencies": { "undici-types": "~5.26.4" } @@ -12183,9 +12237,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "18.19.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz", - "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==", + "version": "18.19.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.18.tgz", + "integrity": "sha512-80CP7B8y4PzZF0GWx15/gVWRrB5y/bIjNI84NK3cmQJu0WZwvmj2WMA5LcofQFVfLqqCSp545+U2LsrVzX36Zg==", "dependencies": { "undici-types": "~5.26.4" } @@ -13191,9 +13245,9 @@ } }, "node_modules/@types/semver": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", - "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==" + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/send": { "version": "0.17.4", @@ -13668,6 +13722,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.19.tgz", "integrity": "sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==", + "peer": true, "dependencies": { "@babel/parser": "^7.23.9", "@vue/shared": "3.4.19", @@ -13680,6 +13735,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.19.tgz", "integrity": "sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==", + "peer": true, "dependencies": { "@vue/compiler-core": "3.4.19", "@vue/shared": "3.4.19" @@ -13689,6 +13745,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.19.tgz", "integrity": "sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==", + "peer": true, "dependencies": { "@babel/parser": "^7.23.9", "@vue/compiler-core": "3.4.19", @@ -13719,6 +13776,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -13732,6 +13790,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.19.tgz", "integrity": "sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.4.19", "@vue/shared": "3.4.19" @@ -13741,6 +13800,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.19.tgz", "integrity": "sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==", + "peer": true, "dependencies": { "@vue/shared": "3.4.19" } @@ -13749,6 +13809,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.19.tgz", "integrity": "sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==", + "peer": true, "dependencies": { "@vue/reactivity": "3.4.19", "@vue/shared": "3.4.19" @@ -13758,6 +13819,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.19.tgz", "integrity": "sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==", + "peer": true, "dependencies": { "@vue/runtime-core": "3.4.19", "@vue/shared": "3.4.19", @@ -13768,6 +13830,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.19.tgz", "integrity": "sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==", + "peer": true, "dependencies": { "@vue/compiler-ssr": "3.4.19", "@vue/shared": "3.4.19" @@ -13779,26 +13842,26 @@ "node_modules/@vue/shared": { "version": "3.4.19", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.19.tgz", - "integrity": "sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==" + "integrity": "sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==", + "peer": true }, "node_modules/@wagmi/connectors": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-4.1.4.tgz", - "integrity": "sha512-Mk/JnVs9pPd9cN/b5F+kHZMRU13yVf1zJwXNzSKpt7BOJQBqiFxJtmuZdRsNboEGEiPDFoEnzOzeAFi2xk3UGw==", - "dev": true, + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-4.1.14.tgz", + "integrity": "sha512-e8I89FsNBtzhIilU3nqmgMR9xvSgCfmkWLz9iCKBTqyitbK5EJU7WTEtjjYFm1v2J//JeAwaA2XEKtG9BLR9jQ==", "dependencies": { "@coinbase/wallet-sdk": "3.9.1", - "@metamask/sdk": "0.14.1", + "@metamask/sdk": "0.14.3", "@safe-global/safe-apps-provider": "0.18.1", "@safe-global/safe-apps-sdk": "8.1.0", - "@walletconnect/ethereum-provider": "2.11.0", + "@walletconnect/ethereum-provider": "2.11.1", "@walletconnect/modal": "2.6.2" }, "funding": { "url": "https://github.com/sponsors/wevm" }, "peerDependencies": { - "@wagmi/core": "2.2.1", + "@wagmi/core": "2.6.5", "typescript": ">=5.0.4", "viem": "2.x" }, @@ -13808,124 +13871,10 @@ } } }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.0.tgz", - "integrity": "sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==", - "dev": true, - "dependencies": { - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.14", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/relay-auth": "^1.0.4", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", - "events": "^3.3.0", - "isomorphic-unfetch": "3.1.0", - "lodash.isequal": "4.5.0", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/ethereum-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.0.tgz", - "integrity": "sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==", - "dev": true, - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "^1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.3", - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/modal": "^2.6.2", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/universal-provider": "2.11.0", - "@walletconnect/utils": "2.11.0", - "events": "^3.3.0" - } - }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/sign-client": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.0.tgz", - "integrity": "sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==", - "dev": true, - "dependencies": { - "@walletconnect/core": "2.11.0", - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", - "events": "^3.3.0" - } - }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/types": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.0.tgz", - "integrity": "sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==", - "dev": true, - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/universal-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.0.tgz", - "integrity": "sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==", - "dev": true, - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.2", - "@walletconnect/jsonrpc-utils": "^1.0.7", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", - "events": "^3.3.0" - } - }, - "node_modules/@wagmi/connectors/node_modules/@walletconnect/utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.0.tgz", - "integrity": "sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==", - "dev": true, - "dependencies": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, "node_modules/@wagmi/core": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.2.1.tgz", - "integrity": "sha512-eoTHG600lFpQyeofuo1nlAuTlI7rjduJK/yU4F8sLwjucROSE5RmD2OpQOkeEC3JGoXjrYxVPbY77PUD6ajzqw==", - "dev": true, + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.6.5.tgz", + "integrity": "sha512-DLyrc0o+dx05oIhBJuxnS7ekS5e6rB5mytlqPme+Km7aLdeBdcfYB4yJyYCyWoi93OLa7M5sbflTttz3o56bKw==", "dependencies": { "eventemitter3": "5.0.1", "mipd": "0.0.5", @@ -14042,14 +13991,6 @@ "tslib": "1.14.1" } }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -14585,12 +14526,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, "node_modules/anser": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", @@ -15235,19 +15170,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -15630,9 +15552,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001588", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", - "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", "funding": [ { "type": "opencollective", @@ -15956,9 +15878,9 @@ } }, "node_modules/clipboardy/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dependencies": { "path-key": "^4.0.0" }, @@ -16241,6 +16163,33 @@ "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -16442,9 +16391,9 @@ } }, "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" } @@ -16463,9 +16412,17 @@ } }, "node_modules/crossws": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.1.tgz", - "integrity": "sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==" + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.3.tgz", + "integrity": "sha512-bAdbYPj/ej8+WCVRVnjEr54WYI/LncI25G/pJPZteO2CXUQFrhj5IOCscw9qsYKGKTWs9NkimUtTjdp9SoLD9A==", + "peerDependencies": { + "uWebSockets.js": "*" + }, + "peerDependenciesMeta": { + "uWebSockets.js": { + "optional": true + } + } }, "node_modules/crypto-random-string": { "version": "2.0.0", @@ -17047,19 +17004,6 @@ "stream-shift": "^1.0.0" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -17104,9 +17048,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.677", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.677.tgz", - "integrity": "sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q==" + "version": "1.4.681", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz", + "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -18017,12 +17961,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -18254,14 +18192,6 @@ "node": ">=14.0.0" } }, - "node_modules/eth-block-tracker/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/eth-json-rpc-filters": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz", @@ -18277,14 +18207,6 @@ "node": ">=14.0.0" } }, - "node_modules/eth-json-rpc-filters/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/eth-json-rpc-filters/node_modules/pify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", @@ -18633,9 +18555,10 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", @@ -18964,9 +18887,9 @@ "peer": true }, "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "version": "0.229.2", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.229.2.tgz", + "integrity": "sha512-T72XV2Izvl7yV6dhHhLaJ630Y6vOZJl6dnOS6dN0bPW9ExuREu7xGAf3omtcxX76POTuux9TJPu9ZpS48a/rdw==", "engines": { "node": ">=0.4.0" } @@ -19553,17 +19476,18 @@ } }, "node_modules/h3": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.2.tgz", - "integrity": "sha512-r1iNNcFGL4G9pL3lgYxwX0O2ZmqdKqhILAJsnlw5icn5I1QHnADM4TgVdYRtHUqy+NntVpHIEFwnw/XCbebICg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", + "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", "dependencies": { "cookie-es": "^1.0.0", + "crossws": "^0.2.2", "defu": "^6.1.4", - "destr": "^2.0.2", + "destr": "^2.0.3", "iron-webcrypto": "^1.0.0", "ohash": "^1.1.3", "radix3": "^1.1.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "uncrypto": "^0.1.3", "unenv": "^1.9.0" } @@ -19873,9 +19797,9 @@ } }, "node_modules/i18next": { - "version": "23.9.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.9.0.tgz", - "integrity": "sha512-f3MUciKqwzNV//mHG6EtdSlC65+nqH/3zK8sOSWqNV6FVu2tmHhF/rFOp9UF8S4m1odojtuipKaKJrP0Loh60g==", + "version": "23.10.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.0.tgz", + "integrity": "sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==", "funding": [ { "type": "individual", @@ -20280,12 +20204,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "peer": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-generator-function": { @@ -20436,11 +20359,12 @@ } }, "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/is-plain-object": { @@ -20654,9 +20578,10 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -21329,9 +21254,9 @@ } }, "node_modules/joi": { - "version": "17.12.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", - "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", "peer": true, "dependencies": { "@hapi/hoek": "^9.3.0", @@ -21390,20 +21315,20 @@ "peer": true }, "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "peer": true, + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", + "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==", "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", + "@babel/core": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/preset-flow": "^7.22.15", + "@babel/preset-typescript": "^7.23.0", + "@babel/register": "^7.22.15", "babel-core": "^7.0.0-bridge.0", "chalk": "^4.1.2", "flow-parser": "0.*", @@ -21411,7 +21336,7 @@ "micromatch": "^4.0.4", "neo-async": "^2.5.0", "node-dir": "^0.1.17", - "recast": "^0.21.0", + "recast": "^0.23.3", "temp": "^0.8.4", "write-file-atomic": "^2.3.0" }, @@ -21420,13 +21345,17 @@ }, "peerDependencies": { "@babel/preset-env": "^7.1.6" + }, + "peerDependenciesMeta": { + "@babel/preset-env": { + "optional": true + } } }, "node_modules/jscodeshift/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -21437,23 +21366,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jscodeshift/node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "peer": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/jscodeshift/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21469,40 +21385,14 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "peer": true, - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jscodeshift/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jscodeshift/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -21514,7 +21404,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "peer": true, "dependencies": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -21561,6 +21450,11 @@ "node": ">=10.0.0" } }, + "node_modules/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" + }, "node_modules/json-rpc-middleware-stream": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.2.3.tgz", @@ -21574,12 +21468,31 @@ "node": ">=14.0.0" } }, - "node_modules/json-rpc-middleware-stream/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" + "node_modules/json-rpc-middleware-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/json-rpc-middleware-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/json-rpc-middleware-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" } }, "node_modules/json-rpc-random-id": { @@ -21704,19 +21617,6 @@ "node": ">=10.0.0" } }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -21847,26 +21747,26 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/listhen": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", - "integrity": "sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", + "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", "dependencies": { - "@parcel/watcher": "^2.4.0", - "@parcel/watcher-wasm": "2.4.0", - "citty": "^0.1.5", + "@parcel/watcher": "^2.4.1", + "@parcel/watcher-wasm": "^2.4.1", + "citty": "^0.1.6", "clipboardy": "^4.0.0", "consola": "^3.2.3", - "crossws": "^0.1.0", + "crossws": "^0.2.0", "defu": "^6.1.4", "get-port-please": "^3.1.2", - "h3": "^1.10.1", + "h3": "^1.10.2", "http-shutdown": "^1.2.2", "jiti": "^1.21.0", - "mlly": "^1.5.0", + "mlly": "^1.6.1", "node-forge": "^1.3.1", "pathe": "^1.1.2", "std-env": "^3.7.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "untun": "^0.1.3", "uqr": "^0.1.2" }, @@ -22408,6 +22308,14 @@ "node": ">=10" } }, + "node_modules/merge-options/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -23063,15 +22971,6 @@ "node": ">= 6" } }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/minipass": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", @@ -23275,9 +23174,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dependencies": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -23824,9 +23723,9 @@ } }, "node_modules/nypm/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dependencies": { "path-key": "^4.0.0" }, @@ -23908,6 +23807,33 @@ "readable-stream": "^2.3.3" } }, + "node_modules/obj-multiplex/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/obj-multiplex/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/obj-multiplex/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -24538,6 +24464,33 @@ "stream-shift": "^1.0.0" } }, + "node_modules/peek-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/peek-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/peek-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -24802,9 +24755,9 @@ } }, "node_modules/preact": { - "version": "10.19.5", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.5.tgz", - "integrity": "sha512-OPELkDmSVbKjbFqF9tgvOowiiQ9TmsJljIzXRyNE8nGiis94pwv1siF78rQkAP1Q1738Ce6pellRg/Ns/CtHqQ==", + "version": "10.19.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.6.tgz", + "integrity": "sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -24822,9 +24775,9 @@ } }, "node_modules/preferred-pm": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", - "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", + "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", "dev": true, "dependencies": { "find-up": "^5.0.0", @@ -25062,6 +25015,11 @@ "stream-shift": "^1.0.0" } }, + "node_modules/pumpify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/pumpify/node_modules/pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -25071,13 +25029,35 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } + "node_modules/pumpify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/pumpify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } }, "node_modules/puppeteer-core": { "version": "2.1.1", @@ -25885,17 +25865,16 @@ } }, "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/readdirp": { @@ -26452,12 +26431,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -26802,6 +26775,15 @@ "node": ">=6" } }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/smartwrap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", @@ -27143,13 +27125,32 @@ } }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -27182,27 +27183,11 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", @@ -27505,19 +27490,6 @@ "node": ">=6" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", @@ -27661,9 +27633,9 @@ } }, "node_modules/terser": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", - "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", + "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -27763,10 +27735,37 @@ "xtend": "~4.0.1" } }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" }, "node_modules/tinybench": { "version": "2.6.0", @@ -28807,9 +28806,9 @@ } }, "node_modules/viem": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.5.0.tgz", - "integrity": "sha512-ytHXIWtlgPs4mcsGxXjJrQ25v+N4dE2hBzgCU8CVv4iXNh3PRFRgyYa7igZlmxiMVzkfSHHADOtivS980JhilA==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.7.13.tgz", + "integrity": "sha512-NGWLEocRp2UTqGidzI9bnL9u6WHlG2ik7IwqXNe6/QC2dL6jE3Z1mUnUUVcSx71h81nx74EflD9ahtleK3RQdA==", "funding": [ { "type": "github", @@ -29564,9 +29563,9 @@ } }, "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { "path-key": "^4.0.0" @@ -29647,6 +29646,7 @@ "version": "3.4.19", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.19.tgz", "integrity": "sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.4.19", "@vue/compiler-sfc": "3.4.19", @@ -29664,12 +29664,12 @@ } }, "node_modules/wagmi": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-2.5.6.tgz", - "integrity": "sha512-Fi5Ju7N0Pd4EOxSBiyl/sVd2Iquf3w2ED4USalfIm0v1DbyEEIIT90AX2Mhzn/Ty9UnB3MTSO2/wFjj5VzZFTw==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-2.5.7.tgz", + "integrity": "sha512-xSuteMXFKvra4xDddqZbZv/gQlcg3X+To5AoZW7WoAm0iVlF8/vEGpQzCWy6KZs2z1szxPrr0YnH3Zr1Qj4E/A==", "dependencies": { - "@wagmi/connectors": "4.1.13", - "@wagmi/core": "2.6.4", + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "use-sync-external-store": "1.2.0" }, "funding": { @@ -29687,159 +29687,6 @@ } } }, - "node_modules/wagmi/node_modules/@metamask/sdk": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.14.3.tgz", - "integrity": "sha512-BYLs//nY2wioVSih78gOQI6sLIYY3vWkwVqXGYUgkBV+bi49bv+9S0m+hZ2cwiRaxfMYtKs0KvhAQ8weiYwDrg==", - "dependencies": { - "@metamask/onboarding": "^1.0.1", - "@metamask/post-message-stream": "^6.1.0", - "@metamask/providers": "^10.2.1", - "@metamask/sdk-communication-layer": "0.14.3", - "@metamask/sdk-install-modal-web": "0.14.1", - "@react-native-async-storage/async-storage": "^1.17.11", - "@types/dom-screen-wake-lock": "^1.0.0", - "bowser": "^2.9.0", - "cross-fetch": "^4.0.0", - "eciesjs": "^0.3.15", - "eth-rpc-errors": "^4.0.3", - "eventemitter2": "^6.4.7", - "extension-port-stream": "^2.0.1", - "i18next": "22.5.1", - "i18next-browser-languagedetector": "^7.1.0", - "obj-multiplex": "^1.0.0", - "pump": "^3.0.0", - "qrcode-terminal-nooctal": "^0.12.1", - "react-i18next": "^13.2.2", - "react-native-webview": "^11.26.0", - "readable-stream": "^2.3.7", - "rollup-plugin-visualizer": "^5.9.2", - "socket.io-client": "^4.5.1", - "util": "^0.12.4", - "uuid": "^8.3.2" - }, - "peerDependencies": { - "react": "^18.2.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/wagmi/node_modules/@metamask/sdk-communication-layer": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.14.3.tgz", - "integrity": "sha512-yjSbj8y7fFbQXv2HBzUX6D9C8BimkCYP6BDV7hdw53W8b/GlYCtXVxUFajQ9tuO1xPTRjR/xt/dkdr2aCi6WGw==", - "dependencies": { - "bufferutil": "^4.0.8", - "cross-fetch": "^3.1.5", - "date-fns": "^2.29.3", - "eciesjs": "^0.3.16", - "eventemitter2": "^6.4.5", - "socket.io-client": "^4.5.1", - "utf-8-validate": "^6.0.3", - "uuid": "^8.3.2" - } - }, - "node_modules/wagmi/node_modules/@metamask/sdk-communication-layer/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/wagmi/node_modules/@wagmi/connectors": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-4.1.13.tgz", - "integrity": "sha512-icllYbAHyXBChZK1FdVobCdZFSJQO5NQWAxv5C8P/qJrXdQPeDIQtmdcschB6h0cqfU9zjSSOkmEBZBAcOT2TQ==", - "dependencies": { - "@coinbase/wallet-sdk": "3.9.1", - "@metamask/sdk": "0.14.3", - "@safe-global/safe-apps-provider": "0.18.1", - "@safe-global/safe-apps-sdk": "8.1.0", - "@walletconnect/ethereum-provider": "2.11.1", - "@walletconnect/modal": "2.6.2" - }, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "@wagmi/core": "2.6.4", - "typescript": ">=5.0.4", - "viem": "2.x" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/wagmi/node_modules/@wagmi/core": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.6.4.tgz", - "integrity": "sha512-+p2vbztAaAOehwr8lh/oS3mzsJBByJssRqIYTpexC75O68HWeHgSixGLJOUFrVUwfn++/vuU5nj0Ye5PnJ3m6g==", - "dependencies": { - "eventemitter3": "5.0.1", - "mipd": "0.0.5", - "zustand": "4.4.1" - }, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "@tanstack/query-core": ">=5.0.0", - "typescript": ">=5.0.4", - "viem": "2.x" - }, - "peerDependenciesMeta": { - "@tanstack/query-core": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/wagmi/node_modules/i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.20.6" - } - }, - "node_modules/wagmi/node_modules/utf-8-validate": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz", - "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -29978,12 +29825,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/which-collection": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", @@ -30803,7 +30644,19 @@ "lit": "3.1.0" }, "devDependencies": { + "@web3modal/siwe": "4.0.10", "@web3modal/wallet": "4.0.10" + }, + "optionalDependencies": { + "@web3modal/siwe": "4.0.10" + }, + "peerDependencies": { + "@web3modal/siwe": ">=4" + }, + "peerDependenciesMeta": { + "@web3modal/siwe": { + "optional": true + } } }, "packages/scaffold-react": { @@ -30823,8 +30676,8 @@ "version": "4.0.10", "license": "Apache-2.0", "dependencies": { + "@web3modal/core": "4.0.10", "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", "valtio": "1.11.2" } }, @@ -30841,8 +30694,7 @@ }, "packages/scaffold/node_modules/lit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.0.tgz", - "integrity": "sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==", + "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^2.0.0", "lit-element": "^4.0.0", @@ -30857,26 +30709,23 @@ "@web3modal/core": "4.0.10", "@web3modal/scaffold-utils": "4.0.10" }, - "optionalDependencies": { - "react": ">=17", - "react-dom": ">=17", - "vue": ">=3" + "devDependencies": { + "lit": "3.1.0", + "valtio": "1.11.2" }, "peerDependencies": { - "react": ">=17", - "react-dom": ">=17", - "vue": ">=3" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "vue": { - "optional": true - } + "lit": ">=3", + "valtio": ">=1 <2" + } + }, + "packages/siwe/node_modules/lit": { + "version": "3.1.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.0.0", + "lit-element": "^4.0.0", + "lit-html": "^3.1.0" } }, "packages/ui": { @@ -30896,8 +30745,7 @@ }, "packages/ui/node_modules/lit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.0.tgz", - "integrity": "sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==", + "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^2.0.0", "lit-element": "^4.0.0", @@ -30916,12 +30764,11 @@ "@web3modal/scaffold-vue": "4.0.10" }, "devDependencies": { - "@wagmi/connectors": "4.1.4", - "@wagmi/core": "2.2.1", - "@web3modal/siwe": "4.0.10", + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.0.10", + "viem": "2.7.13", "vue": "3.4.3" }, "optionalDependencies": { @@ -30954,62 +30801,10 @@ } } }, - "packages/wagmi/node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "dev": true, - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "packages/wagmi/node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "dev": true, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "packages/wagmi/node_modules/@scure/bip32": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz", - "integrity": "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==", - "dev": true, - "dependencies": { - "@noble/curves": "~1.2.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "packages/wagmi/node_modules/@scure/bip39": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", - "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", - "dev": true, - "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "packages/wagmi/node_modules/@vue/compiler-core": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.3.tgz", - "integrity": "sha512-u8jzgFg0EDtSrb/hG53Wwh1bAOQFtc1ZCegBpA/glyvTlgHl+tq13o1zvRfLbegYUw/E4mSTGOiCnAJ9SJ+lsg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.23.6", "@vue/shared": "3.4.3", @@ -31020,9 +30815,8 @@ }, "packages/wagmi/node_modules/@vue/compiler-dom": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.3.tgz", - "integrity": "sha512-oGF1E9/htI6JWj/lTJgr6UgxNCtNHbM6xKVreBWeZL9QhRGABRVoWGAzxmtBfSOd+w0Zi5BY0Es/tlJrN6WgEg==", "dev": true, + "license": "MIT", "dependencies": { "@vue/compiler-core": "3.4.3", "@vue/shared": "3.4.3" @@ -31030,9 +30824,8 @@ }, "packages/wagmi/node_modules/@vue/compiler-sfc": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.3.tgz", - "integrity": "sha512-NuJqb5is9I4uzv316VRUDYgIlPZCG8D+ARt5P4t5UDShIHKL25J3TGZAUryY/Aiy0DsY7srJnZL5ryB6DD63Zw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.23.6", "@vue/compiler-core": "3.4.3", @@ -31047,9 +30840,8 @@ }, "packages/wagmi/node_modules/@vue/compiler-ssr": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.3.tgz", - "integrity": "sha512-wnYQtMBkeFSxgSSQbYGQeXPhQacQiog2c6AlvMldQH6DB+gSXK/0F6DVXAJfEiuBSgBhUc8dwrrG5JQcqwalsA==", "dev": true, + "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.4.3", "@vue/shared": "3.4.3" @@ -31057,18 +30849,16 @@ }, "packages/wagmi/node_modules/@vue/reactivity": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.3.tgz", - "integrity": "sha512-q5f9HLDU+5aBKizXHAx0w4whkIANs1Muiq9R5YXm0HtorSlflqv9u/ohaMxuuhHWCji4xqpQ1eL04WvmAmGnFg==", "dev": true, + "license": "MIT", "dependencies": { "@vue/shared": "3.4.3" } }, "packages/wagmi/node_modules/@vue/runtime-core": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.3.tgz", - "integrity": "sha512-C1r6QhB1qY7D591RCSFhMULyzL9CuyrGc+3PpB0h7dU4Qqw6GNyo4BNFjHZVvsWncrUlKX3DIKg0Y7rNNr06NQ==", "dev": true, + "license": "MIT", "dependencies": { "@vue/reactivity": "3.4.3", "@vue/shared": "3.4.3" @@ -31076,9 +30866,8 @@ }, "packages/wagmi/node_modules/@vue/runtime-dom": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.3.tgz", - "integrity": "sha512-wrsprg7An5Ec+EhPngWdPuzkp0BEUxAKaQtN9dPU/iZctPyD9aaXmVtehPJerdQxQale6gEnhpnfywNw3zOv2A==", "dev": true, + "license": "MIT", "dependencies": { "@vue/runtime-core": "3.4.3", "@vue/shared": "3.4.3", @@ -31087,9 +30876,8 @@ }, "packages/wagmi/node_modules/@vue/server-renderer": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.3.tgz", - "integrity": "sha512-BUxt8oVGMKKsqSkM1uU3d3Houyfy4WAc2SpSQRebNd+XJGATVkW/rO129jkyL+kpB/2VRKzE63zwf5RtJ3XuZw==", "dev": true, + "license": "MIT", "dependencies": { "@vue/compiler-ssr": "3.4.3", "@vue/shared": "3.4.3" @@ -31100,35 +30888,11 @@ }, "packages/wagmi/node_modules/@vue/shared": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.3.tgz", - "integrity": "sha512-rIwlkkP1n4uKrRzivAKPZIEkHiuwY5mmhMJ2nZKCBLz8lTUlE73rQh4n1OnnMurXt1vcUNyH4ZPfdh8QweTjpQ==", - "dev": true - }, - "packages/wagmi/node_modules/abitype": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.10.0.tgz", - "integrity": "sha512-QvMHEUzgI9nPj9TWtUGnS2scas80/qaL5PBxGdwWhhvzqXfOph+IEiiiWrzuisu3U3JgDQVruW9oLbJoQ3oZ3A==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/wagmi-dev" - }, - "peerDependencies": { - "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "zod": { - "optional": true - } - } + "license": "MIT" }, "packages/wagmi/node_modules/postcss": { "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "dev": true, "funding": [ { @@ -31144,6 +30908,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -31153,41 +30918,10 @@ "node": "^10 || ^12 || >=14" } }, - "packages/wagmi/node_modules/viem": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.0.10.tgz", - "integrity": "sha512-ncdvXJ0v8Qc83qQaPzPG7pTr7gbg9hRUCNL7n/1b5ZFE17YIeQVtGTx6zqg4zdjTXlTKPrecKvqeKUUjKrmnYg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "dependencies": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "0.10.0", - "isows": "1.0.3", - "ws": "8.13.0" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "packages/wagmi/node_modules/vue": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.3.tgz", - "integrity": "sha512-GjN+culMAGv/mUbkIv8zMKItno8npcj5gWlXkSxf1SPTQf8eJ4A+YfHIvQFyL1IfuJcMl3soA7SmN1fRxbf/wA==", "dev": true, + "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.4.3", "@vue/compiler-sfc": "3.4.3", @@ -31204,27 +30938,6 @@ } } }, - "packages/wagmi/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "packages/wallet": { "name": "@web3modal/wallet", "version": "4.0.10", diff --git a/packages/core/index.ts b/packages/core/index.ts index 02b276901d..2e701ec5f5 100644 --- a/packages/core/index.ts +++ b/packages/core/index.ts @@ -26,12 +26,6 @@ export type { ConnectionControllerState } from './src/controllers/ConnectionController.js' -export { SIWEController } from './src/controllers/SIWEController.js' -export type { - SIWEControllerClient, - SIWEControllerClientState -} from './src/controllers/SIWEController.js' - export { ConnectorController } from './src/controllers/ConnectorController.js' export type { ConnectorControllerState } from './src/controllers/ConnectorController.js' diff --git a/packages/core/src/controllers/OptionsController.ts b/packages/core/src/controllers/OptionsController.ts index dde0e45307..4b9b17a9b4 100644 --- a/packages/core/src/controllers/OptionsController.ts +++ b/packages/core/src/controllers/OptionsController.ts @@ -15,6 +15,7 @@ export interface OptionsControllerState { customWallets?: CustomWallet[] termsConditionsUrl?: string privacyPolicyUrl?: string + isSiweEnabled?: boolean enableAnalytics?: boolean metadata?: Metadata enableOnramp?: boolean @@ -73,6 +74,10 @@ export const OptionsController = { state.customWallets = customWallets }, + setIsSiweEnabled(isSiweEnabled: OptionsControllerState['isSiweEnabled']) { + state.isSiweEnabled = isSiweEnabled + }, + setEnableAnalytics(enableAnalytics: OptionsControllerState['enableAnalytics']) { state.enableAnalytics = enableAnalytics }, diff --git a/packages/core/src/utils/TypeUtil.ts b/packages/core/src/utils/TypeUtil.ts index 2e2d434a42..7255294580 100644 --- a/packages/core/src/utils/TypeUtil.ts +++ b/packages/core/src/utils/TypeUtil.ts @@ -328,49 +328,6 @@ export type Event = } } -// -- SIWEController Types --------------------------------------------------- - -export interface SIWESession { - address: string - chainId: number -} - -export interface SIWECreateMessageArgs { - nonce: string - address: string - chainId: number -} - -export interface SIWEVerifyMessageArgs { - message: string - signature: string -} - -export interface SIWEClientMethods { - getNonce: () => Promise - createMessage: (args: SIWECreateMessageArgs) => string - verifyMessage: (args: SIWEVerifyMessageArgs) => Promise - getSession: () => Promise - signOut: () => Promise - onSignIn?: (session?: SIWESession) => void - onSignOut?: () => void -} - -export interface SIWEConfig extends SIWEClientMethods { - // Defaults to true - enabled?: boolean - // In milliseconds, defaults to 5 minutes - nonceRefetchIntervalMs?: number - // In milliseconds, defaults to 5 minutes - sessionRefetchIntervalMs?: number - // Defaults to true - signOutOnDisconnect?: boolean - // Defaults to true - signOutOnAccountChange?: boolean - // Defaults to true - signOutOnNetworkChange?: boolean -} - // Onramp Types export type DestinationWallet = { address: string diff --git a/packages/scaffold-utils/package.json b/packages/scaffold-utils/package.json index 95c7702c16..a153d7c479 100644 --- a/packages/scaffold-utils/package.json +++ b/packages/scaffold-utils/package.json @@ -35,8 +35,8 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { + "@web3modal/core": "4.0.10", "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", "valtio": "1.11.2" }, "keywords": [ diff --git a/packages/scaffold-utils/src/EthersHelpersUtil.ts b/packages/scaffold-utils/src/EthersHelpersUtil.ts index 524d82e728..25f16d91e0 100644 --- a/packages/scaffold-utils/src/EthersHelpersUtil.ts +++ b/packages/scaffold-utils/src/EthersHelpersUtil.ts @@ -1,4 +1,4 @@ -import type { CaipNetwork } from '@web3modal/scaffold' +import type { CaipNetwork } from '@web3modal/core' import { ConstantsUtil } from './ConstantsUtil.js' import { PresetsUtil } from './PresetsUtil.js' import type { Chain, Provider } from './EthersTypesUtil.js' diff --git a/packages/scaffold-utils/src/HelpersUtil.ts b/packages/scaffold-utils/src/HelpersUtil.ts index f53f7866df..1271c66991 100644 --- a/packages/scaffold-utils/src/HelpersUtil.ts +++ b/packages/scaffold-utils/src/HelpersUtil.ts @@ -1,4 +1,4 @@ -import type { CaipNetworkId, Tokens } from '@web3modal/scaffold' +import type { CaipNetworkId, Tokens } from '@web3modal/core' import { ConstantsUtil } from './ConstantsUtil.js' export const HelpersUtil = { diff --git a/packages/scaffold-utils/src/PresetsUtil.ts b/packages/scaffold-utils/src/PresetsUtil.ts index 05e0af2b15..5e3928e016 100644 --- a/packages/scaffold-utils/src/PresetsUtil.ts +++ b/packages/scaffold-utils/src/PresetsUtil.ts @@ -1,4 +1,4 @@ -import type { ConnectorType } from '@web3modal/scaffold' +import type { ConnectorType } from '@web3modal/core' import { ConstantsUtil } from './ConstantsUtil.js' export const PresetsUtil = { diff --git a/packages/scaffold/index.ts b/packages/scaffold/index.ts index 0c63888889..fba2aa8681 100644 --- a/packages/scaffold/index.ts +++ b/packages/scaffold/index.ts @@ -12,7 +12,6 @@ export * from './src/views/w3m-all-wallets-view/index.js' export * from './src/views/w3m-buy-in-progress-view/index.js' export * from './src/views/w3m-connect-view/index.js' export * from './src/views/w3m-connecting-external-view/index.js' -export * from './src/views/w3m-connecting-siwe-view/index.js' export * from './src/views/w3m-connecting-wc-view/index.js' export * from './src/views/w3m-downloads-view/index.js' export * from './src/views/w3m-get-wallet-view/index.js' @@ -42,7 +41,6 @@ export * from './src/partials/w3m-connecting-wc-browser/index.js' export * from './src/partials/w3m-connecting-wc-desktop/index.js' export * from './src/partials/w3m-connecting-wc-mobile/index.js' export * from './src/partials/w3m-connecting-wc-qrcode/index.js' -export * from './src/partials/w3m-connecting-siwe/index.js' export * from './src/partials/w3m-connecting-wc-unsupported/index.js' export * from './src/partials/w3m-connecting-wc-web/index.js' export * from './src/partials/w3m-header/index.js' diff --git a/packages/scaffold/package.json b/packages/scaffold/package.json index b972d93b07..c19273eb45 100644 --- a/packages/scaffold/package.json +++ b/packages/scaffold/package.json @@ -21,8 +21,20 @@ "@web3modal/ui": "4.0.10", "lit": "3.1.0" }, + "peerDependencies": { + "@web3modal/siwe": ">=4" + }, "devDependencies": { - "@web3modal/wallet": "4.0.10" + "@web3modal/wallet": "4.0.10", + "@web3modal/siwe": "4.0.10" + }, + "peerDependenciesMeta": { + "@web3modal/siwe": { + "optional": true + } + }, + "optionalDependencies": { + "@web3modal/siwe": "4.0.10" }, "keywords": [ "web3", diff --git a/packages/scaffold/src/client.ts b/packages/scaffold/src/client.ts index 2026f00b78..66139d7c4c 100644 --- a/packages/scaffold/src/client.ts +++ b/packages/scaffold/src/client.ts @@ -1,6 +1,5 @@ import type { ConnectionControllerClient, - SIWEControllerClient, EventsControllerState, NetworkControllerClient, NetworkControllerState, @@ -9,7 +8,6 @@ import type { ThemeControllerState, ThemeMode, ThemeVariables, - SIWEControllerClientState, ModalControllerState } from '@web3modal/core' import { @@ -24,10 +22,10 @@ import { OptionsController, PublicStateController, ThemeController, - SIWEController, SnackController } from '@web3modal/core' import { setColorTheme, setThemeVariables } from '@web3modal/ui' +import type { SIWEControllerClient } from '@web3modal/siwe' // -- Helpers ------------------------------------------------------------------- let isInitialized = false @@ -198,28 +196,8 @@ export class Web3ModalScaffold { AccountController.setAddressExplorerUrl(addressExplorerUrl) } - protected setSIWENonce: (typeof SIWEController)['setNonce'] = nonce => { - SIWEController.setNonce(nonce) - } - - protected setSIWESession: (typeof SIWEController)['setSession'] = session => { - SIWEController.setSession(session) - } - - protected setSIWEStatus: (typeof SIWEController)['setStatus'] = status => { - SIWEController.setStatus(status) - } - - protected setSIWEMessage: (typeof SIWEController)['setMessage'] = message => { - SIWEController.setMessage(message) - } - - public subscribeSIWEState(callback: (newState: SIWEControllerClientState) => void) { - return SIWEController.subscribe(callback) - } - // -- Private ------------------------------------------------------------------ - private initControllers(options: ScaffoldOptions) { + private async initControllers(options: ScaffoldOptions) { NetworkController.setClient(options.networkControllerClient) NetworkController.setDefaultCaipNetwork(options.defaultChain) @@ -238,8 +216,9 @@ export class Web3ModalScaffold { ConnectionController.setClient(options.connectionControllerClient) if (options.siweControllerClient) { - const siweClient = options.siweControllerClient - SIWEController.setSIWEClient(siweClient) + const { SIWEController } = await import('@web3modal/siwe') + + SIWEController.setSIWEClient(options.siweControllerClient) } if (options.metadata) { diff --git a/packages/scaffold/src/modal/w3m-modal/index.ts b/packages/scaffold/src/modal/w3m-modal/index.ts index af9eb9e9a1..466078c229 100644 --- a/packages/scaffold/src/modal/w3m-modal/index.ts +++ b/packages/scaffold/src/modal/w3m-modal/index.ts @@ -4,8 +4,8 @@ import { ConnectionController, EventsController, ModalController, + OptionsController, RouterController, - SIWEController, SnackController, ThemeController } from '@web3modal/core' @@ -32,7 +32,7 @@ export class W3mModal extends LitElement { @state() private caipAddress = AccountController.state.caipAddress - @state() private isSiweEnabled = SIWEController.state.isSiweEnabled + @state() private isSiweEnabled = OptionsController.state.isSiweEnabled public constructor() { super() @@ -40,9 +40,6 @@ export class W3mModal extends LitElement { ApiController.prefetch() this.unsubscribe.push( ModalController.subscribeKey('open', val => (val ? this.onOpen() : this.onClose())), - SIWEController.subscribeKey('isSiweEnabled', isEnabled => { - this.isSiweEnabled = isEnabled - }), AccountController.subscribe(newAccountState => this.onNewAccountState(newAccountState)) ) EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' }) @@ -76,8 +73,12 @@ export class W3mModal extends LitElement { } private async handleClose() { - if (this.isSiweEnabled && SIWEController.state.status !== 'success') { - await ConnectionController.disconnect() + if (this.isSiweEnabled) { + const { SIWEController } = await import('@web3modal/siwe') + + if (SIWEController.state.status !== 'success') { + await ConnectionController.disconnect() + } } ModalController.close() } @@ -164,6 +165,8 @@ export class W3mModal extends LitElement { const { isConnected, caipAddress: newCaipAddress } = newState if (this.isSiweEnabled) { + const { SIWEController } = await import('@web3modal/siwe') + if (isConnected && !this.caipAddress) { this.caipAddress = newCaipAddress } diff --git a/packages/scaffold/src/partials/w3m-header/index.ts b/packages/scaffold/src/partials/w3m-header/index.ts index 4ccd3793f7..948f9464b6 100644 --- a/packages/scaffold/src/partials/w3m-header/index.ts +++ b/packages/scaffold/src/partials/w3m-header/index.ts @@ -4,8 +4,8 @@ import { ConnectorController, EventsController, ModalController, - RouterController, - SIWEController + OptionsController, + RouterController } from '@web3modal/core' import { customElement } from '@web3modal/ui' import { LitElement, html } from 'lit' @@ -107,8 +107,11 @@ export class W3mHeader extends LitElement { } private async onClose() { - if (SIWEController.state.isSiweEnabled && SIWEController.state.status !== 'success') { - await ConnectionController.disconnect() + if (OptionsController.state.isSiweEnabled) { + const { SIWEController } = await import('@web3modal/siwe') + if (SIWEController.state.status !== 'success') { + await ConnectionController.disconnect() + } } ModalController.close() } diff --git a/packages/scaffold/src/views/w3m-connecting-external-view/index.ts b/packages/scaffold/src/views/w3m-connecting-external-view/index.ts index 04fb32212a..c7eeb1019d 100644 --- a/packages/scaffold/src/views/w3m-connecting-external-view/index.ts +++ b/packages/scaffold/src/views/w3m-connecting-external-view/index.ts @@ -3,8 +3,8 @@ import { ConnectionController, EventsController, ModalController, + OptionsController, RouterController, - SIWEController, StorageUtil } from '@web3modal/core' import { customElement } from '@web3modal/ui' @@ -45,7 +45,7 @@ export class W3mConnectingExternalView extends W3mConnectingWidget { } await ConnectionController.connectExternal(this.connector) - if (SIWEController.state.isSiweEnabled) { + if (OptionsController.state.isSiweEnabled) { RouterController.push('ConnectingSiwe') } else { ModalController.close() diff --git a/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts b/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts index 3f36a965f9..1dd8a8e31a 100644 --- a/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts +++ b/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts @@ -7,8 +7,8 @@ import { CoreHelperUtil, EventsController, ModalController, + OptionsController, RouterController, - SIWEController, SnackController, StorageUtil } from '@web3modal/core' @@ -76,7 +76,7 @@ export class W3mConnectingWcView extends LitElement { await ConnectionController.state.wcPromise this.finalizeConnection() - if (SIWEController.state.isSiweEnabled) { + if (OptionsController.state.isSiweEnabled) { RouterController.push('ConnectingSiwe') } else { ModalController.close() diff --git a/packages/scaffold/src/views/w3m-network-switch-view/index.ts b/packages/scaffold/src/views/w3m-network-switch-view/index.ts index 6f6c60c5f2..7ba1639d96 100644 --- a/packages/scaffold/src/views/w3m-network-switch-view/index.ts +++ b/packages/scaffold/src/views/w3m-network-switch-view/index.ts @@ -1,8 +1,8 @@ import { AssetUtil, NetworkController, + OptionsController, RouterController, - SIWEController, RouterUtil } from '@web3modal/core' import { customElement } from '@web3modal/ui' @@ -111,7 +111,7 @@ export class W3mNetworkSwitchView extends LitElement { this.error = false if (this.network) { await NetworkController.switchActiveNetwork(this.network) - if (!SIWEController.state.isSiweEnabled) { + if (!OptionsController.state.isSiweEnabled) { RouterUtil.navigateAfterNetworkSwitch() } } diff --git a/packages/core/src/controllers/SIWEController.ts b/packages/siwe/core/controller/SIWEController.ts similarity index 94% rename from packages/core/src/controllers/SIWEController.ts rename to packages/siwe/core/controller/SIWEController.ts index e0de7cb04f..6e0488c8a5 100644 --- a/packages/core/src/controllers/SIWEController.ts +++ b/packages/siwe/core/controller/SIWEController.ts @@ -5,7 +5,8 @@ import type { SIWESession, SIWECreateMessageArgs, SIWEVerifyMessageArgs -} from '../utils/TypeUtil.js' +} from '../utils/TypeUtils.js' +import { OptionsController } from '@web3modal/core' // -- Types --------------------------------------------- // export interface SIWEControllerClient extends SIWEClientMethods { @@ -26,15 +27,13 @@ export interface SIWEControllerClientState { session?: SIWESession message?: string status: 'uninitialized' | 'ready' | 'loading' | 'success' | 'rejected' | 'error' - isSiweEnabled?: boolean } type StateKey = keyof SIWEControllerClientState // -- State --------------------------------------------- // const state = proxy({ - status: 'uninitialized', - isSiweEnabled: false + status: 'uninitialized' }) // -- Controller ---------------------------------------- // @@ -121,7 +120,7 @@ export const SIWEController = { setSIWEClient(client: SIWEControllerClient) { state._client = ref(client) state.status = 'ready' - state.isSiweEnabled = client.options.enabled + OptionsController.setIsSiweEnabled(client.options.enabled) }, setNonce(nonce: SIWEControllerClientState['nonce']) { diff --git a/packages/siwe/src/utils/ConstantsUtil.ts b/packages/siwe/core/utils/ConstantsUtil.ts similarity index 100% rename from packages/siwe/src/utils/ConstantsUtil.ts rename to packages/siwe/core/utils/ConstantsUtil.ts diff --git a/packages/siwe/core/utils/TypeUtils.ts b/packages/siwe/core/utils/TypeUtils.ts new file mode 100644 index 0000000000..e0a674366c --- /dev/null +++ b/packages/siwe/core/utils/TypeUtils.ts @@ -0,0 +1,40 @@ +export interface SIWESession { + address: string + chainId: number +} + +export interface SIWECreateMessageArgs { + nonce: string + address: string + chainId: number +} + +export interface SIWEVerifyMessageArgs { + message: string + signature: string +} + +export interface SIWEClientMethods { + getNonce: () => Promise + createMessage: (args: SIWECreateMessageArgs) => string + verifyMessage: (args: SIWEVerifyMessageArgs) => Promise + getSession: () => Promise + signOut: () => Promise + onSignIn?: (session?: SIWESession) => void + onSignOut?: () => void +} + +export interface SIWEConfig extends SIWEClientMethods { + // Defaults to true + enabled?: boolean + // In milliseconds, defaults to 5 minutes + nonceRefetchIntervalMs?: number + // In milliseconds, defaults to 5 minutes + sessionRefetchIntervalMs?: number + // Defaults to true + signOutOnDisconnect?: boolean + // Defaults to true + signOutOnAccountChange?: boolean + // Defaults to true + signOutOnNetworkChange?: boolean +} diff --git a/packages/siwe/exports/index.ts b/packages/siwe/exports/index.ts index 8bdebf8242..be2d7efec0 100644 --- a/packages/siwe/exports/index.ts +++ b/packages/siwe/exports/index.ts @@ -1,8 +1,25 @@ -import type { SIWEConfig, SIWESession } from '@web3modal/core' +import type { + SIWEConfig, + SIWESession, + SIWECreateMessageArgs, + SIWEVerifyMessageArgs, + SIWEClientMethods +} from '../core/utils/TypeUtils.js' import { Web3ModalSIWEClient } from '../src/client.js' +export { SIWEController, type SIWEControllerClient } from '../core/controller/SIWEController.js' -export type { Web3ModalSIWEClient, SIWEConfig, SIWESession } +export type { + Web3ModalSIWEClient, + SIWEConfig, + SIWESession, + SIWECreateMessageArgs, + SIWEVerifyMessageArgs, + SIWEClientMethods +} export function createSIWEConfig(siweConfig: SIWEConfig) { return new Web3ModalSIWEClient(siweConfig) } + +export * from '../scaffold/partials/w3m-connecting-siwe/index.js' +export * from '../scaffold/views/w3m-connecting-siwe-view/index.js' diff --git a/packages/siwe/package.json b/packages/siwe/package.json index 89873e485c..7aac7e8113 100644 --- a/packages/siwe/package.json +++ b/packages/siwe/package.json @@ -19,26 +19,13 @@ "@web3modal/core": "4.0.10", "@web3modal/scaffold-utils": "4.0.10" }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17", - "vue": ">=3" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "vue": { - "optional": true - } + "devDependencies": { + "valtio": "1.11.2", + "lit": "3.1.0" }, - "optionalDependencies": { - "react": ">=17", - "react-dom": ">=17", - "vue": ">=3" + "peerDependencies": { + "valtio": ">=1 <2", + "lit": ">=3" }, "keywords": [ "web3", diff --git a/packages/scaffold/src/partials/w3m-connecting-siwe/index.ts b/packages/siwe/scaffold/partials/w3m-connecting-siwe/index.ts similarity index 100% rename from packages/scaffold/src/partials/w3m-connecting-siwe/index.ts rename to packages/siwe/scaffold/partials/w3m-connecting-siwe/index.ts diff --git a/packages/scaffold/src/partials/w3m-connecting-siwe/styles.ts b/packages/siwe/scaffold/partials/w3m-connecting-siwe/styles.ts similarity index 100% rename from packages/scaffold/src/partials/w3m-connecting-siwe/styles.ts rename to packages/siwe/scaffold/partials/w3m-connecting-siwe/styles.ts diff --git a/packages/scaffold/src/views/w3m-connecting-siwe-view/index.ts b/packages/siwe/scaffold/views/w3m-connecting-siwe-view/index.ts similarity index 97% rename from packages/scaffold/src/views/w3m-connecting-siwe-view/index.ts rename to packages/siwe/scaffold/views/w3m-connecting-siwe-view/index.ts index 155e1d1079..bb93ed95d8 100644 --- a/packages/scaffold/src/views/w3m-connecting-siwe-view/index.ts +++ b/packages/siwe/scaffold/views/w3m-connecting-siwe-view/index.ts @@ -5,12 +5,12 @@ import { ModalController, OptionsController, RouterController, - SIWEController, SnackController } from '@web3modal/core' import { customElement } from '@web3modal/ui' import { LitElement, html } from 'lit' import { state } from 'lit/decorators.js' +import { SIWEController } from '../../../core/controller/SIWEController.js' @customElement('w3m-connecting-siwe-view') export class W3mConnectingSiweView extends LitElement { diff --git a/packages/siwe/src/client.ts b/packages/siwe/src/client.ts index 4481a4a168..7514078b43 100644 --- a/packages/siwe/src/client.ts +++ b/packages/siwe/src/client.ts @@ -1,10 +1,11 @@ import type { SIWECreateMessageArgs, SIWEVerifyMessageArgs, - SIWEControllerClient, SIWEConfig, SIWEClientMethods -} from '@web3modal/core' +} from '../core/utils/TypeUtils.js' +import type { SIWEControllerClient } from '../core/controller/SIWEController.js' + import { AccountController, NetworkController, @@ -12,7 +13,7 @@ import { RouterUtil } from '@web3modal/core' -import { ConstantsUtil } from './utils/ConstantsUtil.js' +import { ConstantsUtil } from '../core/utils/ConstantsUtil.js' import { HelpersUtil } from '@web3modal/scaffold-utils' // -- Client -------------------------------------------------------------------- // diff --git a/packages/core/tests/controllers/SIWEController.test.ts b/packages/siwe/tests/controllers/SIWEController.test.ts similarity index 96% rename from packages/core/tests/controllers/SIWEController.test.ts rename to packages/siwe/tests/controllers/SIWEController.test.ts index d5fbdf4e7c..3e52674c04 100644 --- a/packages/core/tests/controllers/SIWEController.test.ts +++ b/packages/siwe/tests/controllers/SIWEController.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest' -import { SIWEController } from '../../index.js' +import { SIWEController } from '../../core/controller/SIWEController.js' // -- Mocks ------------------------------------------------------------- const session = { address: '0x', chainId: 1 } diff --git a/packages/siwe/tsconfig.json b/packages/siwe/tsconfig.json index 3d47bfed70..5a47ccaef8 100644 --- a/packages/siwe/tsconfig.json +++ b/packages/siwe/tsconfig.json @@ -5,5 +5,5 @@ "declarationDir": "./dist/types" }, "extends": "../../tsconfig.json", - "include": ["exports", "src"] + "include": ["exports", "src", "core", "scaffold", "tests"] } diff --git a/packages/wagmi/exports/react/index.ts b/packages/wagmi/exports/react/index.ts index 7843b831b0..453f9b55f9 100644 --- a/packages/wagmi/exports/react/index.ts +++ b/packages/wagmi/exports/react/index.ts @@ -11,7 +11,6 @@ let modal: Web3Modal | undefined = undefined export function createWeb3Modal(options: Web3ModalOptions) { if (!modal) { - // @ts-expect-error Types Overlap modal = new Web3Modal({ ...options, _sdkVersion: `react-wagmi-${ConstantsUtil.VERSION}` }) getWeb3Modal(modal) } diff --git a/packages/wagmi/package.json b/packages/wagmi/package.json index deecda3ee1..4d9843c6a7 100644 --- a/packages/wagmi/package.json +++ b/packages/wagmi/package.json @@ -58,12 +58,11 @@ "@web3modal/scaffold-vue": "4.0.10" }, "devDependencies": { - "@wagmi/connectors": "4.1.4", - "@wagmi/core": "2.2.1", - "@web3modal/siwe": "4.0.10", + "@wagmi/connectors": "4.1.14", + "@wagmi/core": "2.6.5", "react": "18.2.0", "react-dom": "18.2.0", - "viem": "2.0.10", + "viem": "2.7.13", "vue": "3.4.3" }, "peerDependencies": { diff --git a/packages/wagmi/src/client.ts b/packages/wagmi/src/client.ts index 2ed3cdc767..da6c7ff277 100644 --- a/packages/wagmi/src/client.ts +++ b/packages/wagmi/src/client.ts @@ -11,7 +11,7 @@ import { watchAccount, watchConnectors } from '@wagmi/core' -import { mainnet } from '@wagmi/core/chains' +import { mainnet } from 'viem/chains' import type { Chain } from '@wagmi/core/chains' import type { GetAccountReturnType } from '@wagmi/core' import type { diff --git a/packages/wagmi/src/connectors/EmailConnector.ts b/packages/wagmi/src/connectors/EmailConnector.ts index 68ebe29b09..4eec419114 100644 --- a/packages/wagmi/src/connectors/EmailConnector.ts +++ b/packages/wagmi/src/connectors/EmailConnector.ts @@ -1,5 +1,4 @@ -import { createConnector, normalizeChainId } from '@wagmi/core' -import type { Chain } from '@wagmi/core/chains' +import { createConnector, normalizeChainId, type CreateConfigParameters } from '@wagmi/core' import { W3mFrameProvider } from '@web3modal/wallet' import { SwitchChainError, getAddress } from 'viem' import type { Address } from 'viem' @@ -16,7 +15,7 @@ interface ConnectOptions { } export type EmailParameters = { - chains?: Chain[] + chains?: CreateConfigParameters['chains'] options: W3mFrameProviderOptions } diff --git a/packages/wagmi/src/utils/defaultWagmiReactConfig.ts b/packages/wagmi/src/utils/defaultWagmiReactConfig.ts index a6e39f33ac..6e76ea9bc3 100644 --- a/packages/wagmi/src/utils/defaultWagmiReactConfig.ts +++ b/packages/wagmi/src/utils/defaultWagmiReactConfig.ts @@ -62,7 +62,6 @@ export function defaultWagmiConfig({ // Dissabled by default if (enableEmail === true) { - // @ts-expect-error Chain types overlap with core connectors.push(emailConnector({ chains: [...chains], options: { projectId } })) } diff --git a/turbo.json b/turbo.json index f63d5822ae..6cc372f569 100644 --- a/turbo.json +++ b/turbo.json @@ -27,7 +27,7 @@ }, "build:scaffold": { "outputs": ["dist/**"], - "dependsOn": ["^build:common", "^build:core", "^build:ui", "^build:wallet"], + "dependsOn": ["^build:common", "^build:core", "^build:ui", "^build:wallet", "^build:siwe"], "cache": false }, "build:scaffold-utils": { @@ -37,12 +37,12 @@ }, "build:scaffold-react": { "outputs": ["dist/**"], - "dependsOn": ["^build:scaffold-utils"], + "dependsOn": ["^build:scaffold-utils", "^build:scaffold", "^build:siwe"], "cache": false }, "build:scaffold-vue": { "outputs": ["dist/**"], - "dependsOn": ["^build:scaffold-utils"], + "dependsOn": ["^build:scaffold-utils", "^build:scaffold", "^build:siwe"], "cache": false }, "build:siwe": { From d612339d0b4fc91b8583d671b685d4196c6f4430 Mon Sep 17 00:00:00 2001 From: Sven <38101365+svenvoskamp@users.noreply.github.com> Date: Thu, 29 Feb 2024 03:06:44 +0100 Subject: [PATCH 2/8] :fix Add option for `allowUnsupportedChain` (#1982) Co-authored-by: Glitch <66949816+glitch-txs@users.noreply.github.com> Co-authored-by: tomiir --- packages/core/src/controllers/NetworkController.ts | 9 ++++++++- packages/scaffold/src/client.ts | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/core/src/controllers/NetworkController.ts b/packages/core/src/controllers/NetworkController.ts index 5d711d689c..1aa13df2e9 100644 --- a/packages/core/src/controllers/NetworkController.ts +++ b/packages/core/src/controllers/NetworkController.ts @@ -23,6 +23,7 @@ export interface NetworkControllerState { caipNetwork?: CaipNetwork requestedCaipNetworks?: CaipNetwork[] approvedCaipNetworkIds?: CaipNetworkId[] + allowUnsupportedChain?: boolean } type StateKey = keyof NetworkControllerState @@ -56,7 +57,9 @@ export const NetworkController = { setCaipNetwork(caipNetwork: NetworkControllerState['caipNetwork']) { state.caipNetwork = caipNetwork PublicStateController.set({ selectedNetworkId: caipNetwork?.id }) - this.checkIfSupportedNetwork() + if (!this.state.allowUnsupportedChain) { + this.checkIfSupportedNetwork() + } }, setDefaultCaipNetwork(caipNetwork: NetworkControllerState['caipNetwork']) { @@ -69,6 +72,10 @@ export const NetworkController = { state.requestedCaipNetworks = requestedNetworks }, + setAllowUnsupportedChain(allowUnsupportedChain: NetworkControllerState['allowUnsupportedChain']) { + state.allowUnsupportedChain = allowUnsupportedChain + }, + getRequestedCaipNetworks() { const { approvedCaipNetworkIds, requestedCaipNetworks } = state diff --git a/packages/scaffold/src/client.ts b/packages/scaffold/src/client.ts index 66139d7c4c..283c1ca1ea 100644 --- a/packages/scaffold/src/client.ts +++ b/packages/scaffold/src/client.ts @@ -47,6 +47,7 @@ export interface LibraryOptions { enableAnalytics?: OptionsControllerState['enableAnalytics'] metadata?: OptionsControllerState['metadata'] enableOnramp?: OptionsControllerState['enableOnramp'] + allowUnsupportedChain?: NetworkControllerState['allowUnsupportedChain'] _sdkVersion: OptionsControllerState['sdkVersion'] } @@ -236,6 +237,10 @@ export class Web3ModalScaffold { if (options.enableOnramp) { OptionsController.setOnrampEnabled(Boolean(options.enableOnramp)) } + + if (options.allowUnsupportedChain) { + NetworkController.setAllowUnsupportedChain(options.allowUnsupportedChain) + } } private async initOrContinue() { From b77ac5537dd7ceacb545af3a6a151da54f0405c1 Mon Sep 17 00:00:00 2001 From: tomiir Date: Wed, 28 Feb 2024 22:26:31 -0400 Subject: [PATCH 3/8] feat: unify connection events (#1929) --- packages/core/src/utils/TypeUtil.ts | 12 +++--------- .../src/partials/w3m-connecting-wc-browser/index.ts | 2 +- .../src/views/w3m-connecting-external-view/index.ts | 12 ++++-------- .../src/views/w3m-connecting-wc-view/index.ts | 3 ++- .../src/views/w3m-email-verify-otp-view/index.ts | 2 +- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/packages/core/src/utils/TypeUtil.ts b/packages/core/src/utils/TypeUtil.ts index 7255294580..8299f95093 100644 --- a/packages/core/src/utils/TypeUtil.ts +++ b/packages/core/src/utils/TypeUtil.ts @@ -27,14 +27,7 @@ export interface LinkingRecord { export type ProjectId = string -export type Platform = - | 'mobile' - | 'desktop' - | 'browser' - | 'web' - | 'qrcode' - | 'unsupported' - | 'external' +export type Platform = 'mobile' | 'desktop' | 'browser' | 'web' | 'qrcode' | 'unsupported' export type ConnectorType = 'EXTERNAL' | 'WALLET_CONNECT' | 'INJECTED' | 'ANNOUNCED' | 'EMAIL' @@ -216,7 +209,8 @@ export type Event = type: 'track' event: 'CONNECT_SUCCESS' properties: { - method: 'qrcode' | 'mobile' | 'external' | 'browser' | 'email' + method: 'qrcode' | 'mobile' | 'browser' | 'email' + name: string } } | { diff --git a/packages/scaffold/src/partials/w3m-connecting-wc-browser/index.ts b/packages/scaffold/src/partials/w3m-connecting-wc-browser/index.ts index 790b15a9ca..0b4f47013b 100644 --- a/packages/scaffold/src/partials/w3m-connecting-wc-browser/index.ts +++ b/packages/scaffold/src/partials/w3m-connecting-wc-browser/index.ts @@ -43,7 +43,7 @@ export class W3mConnectingWcBrowser extends W3mConnectingWidget { EventsController.sendEvent({ type: 'track', event: 'CONNECT_SUCCESS', - properties: { method: 'browser' } + properties: { method: 'browser', name: this.wallet?.name || 'Unknown' } }) } catch (error) { EventsController.sendEvent({ diff --git a/packages/scaffold/src/views/w3m-connecting-external-view/index.ts b/packages/scaffold/src/views/w3m-connecting-external-view/index.ts index c7eeb1019d..b4bf8d3673 100644 --- a/packages/scaffold/src/views/w3m-connecting-external-view/index.ts +++ b/packages/scaffold/src/views/w3m-connecting-external-view/index.ts @@ -1,4 +1,4 @@ -import type { BaseError, ConnectorType, Platform } from '@web3modal/core' +import type { BaseError } from '@web3modal/core' import { ConnectionController, EventsController, @@ -10,11 +10,6 @@ import { import { customElement } from '@web3modal/ui' import { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js' -const platformMap = { - INJECTED: 'browser', - ANNOUNCED: 'browser' -} as Record - @customElement('w3m-connecting-external-view') export class W3mConnectingExternalView extends W3mConnectingWidget { public constructor() { @@ -22,12 +17,13 @@ export class W3mConnectingExternalView extends W3mConnectingWidget { if (!this.connector) { throw new Error('w3m-connecting-view: No connector provided') } + EventsController.sendEvent({ type: 'track', event: 'SELECT_WALLET', properties: { name: this.connector.name ?? 'Unknown', - platform: platformMap[this.connector.type] ?? 'external' + platform: 'browser' } }) this.onConnect = this.onConnectProxy.bind(this) @@ -54,7 +50,7 @@ export class W3mConnectingExternalView extends W3mConnectingWidget { EventsController.sendEvent({ type: 'track', event: 'CONNECT_SUCCESS', - properties: { method: 'external' } + properties: { method: 'browser', name: this.connector.name || 'Unknown' } }) } } catch (error) { diff --git a/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts b/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts index 1dd8a8e31a..fd6c3ad01e 100644 --- a/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts +++ b/packages/scaffold/src/views/w3m-connecting-wc-view/index.ts @@ -111,7 +111,8 @@ export class W3mConnectingWcView extends LitElement { type: 'track', event: 'CONNECT_SUCCESS', properties: { - method: wcLinking ? 'mobile' : 'qrcode' + method: wcLinking ? 'mobile' : 'qrcode', + name: this.wallet?.name || 'Unknown' } }) } diff --git a/packages/scaffold/src/views/w3m-email-verify-otp-view/index.ts b/packages/scaffold/src/views/w3m-email-verify-otp-view/index.ts index 26d58c38c9..e6060a09bb 100644 --- a/packages/scaffold/src/views/w3m-email-verify-otp-view/index.ts +++ b/packages/scaffold/src/views/w3m-email-verify-otp-view/index.ts @@ -20,7 +20,7 @@ export class W3mEmailVerifyOtpView extends W3mEmailOtpWidget { EventsController.sendEvent({ type: 'track', event: 'CONNECT_SUCCESS', - properties: { method: 'email' } + properties: { method: 'email', name: this.emailConnector.name || 'Unknown' } }) } } catch (error) { From 0e10f06f92a9bc0f2bc9577ff9a73a3fdc42806f Mon Sep 17 00:00:00 2001 From: tomiir Date: Wed, 28 Feb 2024 23:53:30 -0400 Subject: [PATCH 4/8] chore: onramp tests (#1944) --- packages/common/src/utils/TypeUtil.ts | 1 + .../core/src/controllers/OnRampController.ts | 52 +++- .../src/controllers/TransactionsController.ts | 1 + .../tests/constants/OnrampTransactions.ts | 151 +++++++++++ .../controllers/OnRampController.test.ts | 148 +++++++++++ .../tests/controllers/OnRampController.ts | 20 -- .../TransactionsController.test.ts | 243 +++++++++++++++++- 7 files changed, 573 insertions(+), 43 deletions(-) create mode 100644 packages/core/tests/constants/OnrampTransactions.ts create mode 100644 packages/core/tests/controllers/OnRampController.test.ts delete mode 100644 packages/core/tests/controllers/OnRampController.ts diff --git a/packages/common/src/utils/TypeUtil.ts b/packages/common/src/utils/TypeUtil.ts index d723cbb3c8..9a199626dd 100644 --- a/packages/common/src/utils/TypeUtil.ts +++ b/packages/common/src/utils/TypeUtil.ts @@ -26,6 +26,7 @@ export interface TransactionMetadata { sentTo: string status: TransactionStatus | CoinbaseTransactionStatus nonce: number + chain?: string } export interface TransactionTransfer { diff --git a/packages/core/src/controllers/OnRampController.ts b/packages/core/src/controllers/OnRampController.ts index bdaf4880b8..bc18ccde84 100644 --- a/packages/core/src/controllers/OnRampController.ts +++ b/packages/core/src/controllers/OnRampController.ts @@ -30,7 +30,7 @@ export interface OnRampControllerState { type StateKey = keyof OnRampControllerState -const USDC_CURRENCY_DEFAULT = { +export const USDC_CURRENCY_DEFAULT = { id: '2b92315d-eab7-5bef-84fa-089a131333f5', name: 'USD Coin', symbol: 'USDC', @@ -50,7 +50,7 @@ const USDC_CURRENCY_DEFAULT = { ] } -const USD_CURRENCY_DEFAULT = { +export const USD_CURRENCY_DEFAULT = { id: 'USD', payment_method_limits: [ { @@ -66,8 +66,7 @@ const USD_CURRENCY_DEFAULT = { ] } -// -- State --------------------------------------------- // -const state = proxy({ +const defaultState = { providers: ONRAMP_PROVIDERS as OnRampProvider[], selectedProvider: null, error: null, @@ -76,7 +75,10 @@ const state = proxy({ purchaseCurrencies: [USDC_CURRENCY_DEFAULT], paymentCurrencies: [], quotesLoading: false -}) +} + +// -- State --------------------------------------------- // +const state = proxy(defaultState) // -- Controller ---------------------------------------- // export const OnRampController = { @@ -124,15 +126,37 @@ export const OnRampController = { async getQuote() { state.quotesLoading = true - const quote = await BlockchainApiController.getOnrampQuote({ - purchaseCurrency: state.purchaseCurrency, - paymentCurrency: state.paymentCurrency, - amount: state.paymentAmount?.toString() || '0', - network: state.purchaseCurrency?.name - }) - state.quotesLoading = false - state.purchaseAmount = Number(quote.purchaseAmount.amount) + try { + const quote = await BlockchainApiController.getOnrampQuote({ + purchaseCurrency: state.purchaseCurrency, + paymentCurrency: state.paymentCurrency, + amount: state.paymentAmount?.toString() || '0', + network: state.purchaseCurrency?.symbol + }) + state.quotesLoading = false + state.purchaseAmount = Number(quote.purchaseAmount.amount) + + return quote + } catch (error) { + state.error = (error as Error).message + state.quotesLoading = false + + return null + } finally { + state.quotesLoading = false + } + }, - return quote + resetState() { + state.providers = ONRAMP_PROVIDERS as OnRampProvider[] + state.selectedProvider = null + state.error = null + state.purchaseCurrency = USDC_CURRENCY_DEFAULT + state.paymentCurrency = USD_CURRENCY_DEFAULT + state.purchaseCurrencies = [USDC_CURRENCY_DEFAULT] + state.paymentCurrencies = [] + state.paymentAmount = undefined + state.purchaseAmount = undefined + state.quotesLoading = false } } diff --git a/packages/core/src/controllers/TransactionsController.ts b/packages/core/src/controllers/TransactionsController.ts index 9e296afdfd..095041948c 100644 --- a/packages/core/src/controllers/TransactionsController.ts +++ b/packages/core/src/controllers/TransactionsController.ts @@ -97,6 +97,7 @@ export const TransactionsController = { transactions.forEach(transaction => { const year = new Date(transaction.metadata.minedAt).getFullYear() const month = new Date(transaction.metadata.minedAt).getMonth() + const yearTransactions = grouped[year] ?? {} const monthTransactions = yearTransactions[month] ?? [] diff --git a/packages/core/tests/constants/OnrampTransactions.ts b/packages/core/tests/constants/OnrampTransactions.ts new file mode 100644 index 0000000000..0792bd4fe5 --- /dev/null +++ b/packages/core/tests/constants/OnrampTransactions.ts @@ -0,0 +1,151 @@ +export const ONRAMP_TRANSACTIONS_RESPONSES_JAN = { + SUCCESS: { + id: '1eeccf2f-ef04-6d48-a2dd-0e1dca1d3cfb', + metadata: { + operationType: 'buy', + hash: '0xbf5f116e0e77b304404ff873b527578d8c0a247732a50b0da174a533b669ab5b', + minedAt: '2024-01-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_SUCCESS', + nonce: 1, + chain: 'eip155:137' + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '3.003898' + } + } + ] + }, + FAILED: { + id: '1eeccf2f-ef04-6d48-a2dd-0e1dca1d3cfb', + metadata: { + operationType: 'buy', + hash: '', + minedAt: '2024-01-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_FAILED', + nonce: 1 + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '4.995375' + } + } + ] + }, + IN_PROGRESS: { + id: '1eeccf2f-ef04-6d48-a2dd-0e1dca1d3cfb', + metadata: { + operationType: 'buy', + hash: '', + minedAt: '2024-01-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS', + nonce: 1 + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '4.995375' + } + } + ] + } +} + +export const ONRAMP_TRANSACTIONS_RESPONSES_FEB = { + SUCCESS: { + id: '1eecc239-9ed5-696e-afeb-129d128962f1', + metadata: { + operationType: 'buy', + hash: '0xbf5f116e0e77b304404ff873b527578d8c0a247732a50b0da174a533b669ab5b', + minedAt: '2024-02-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_SUCCESS', + nonce: 1, + chain: 'eip155:137' + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '3.003898' + } + } + ] + }, + FAILED: { + id: '1eecc239-9ed5-696e-afeb-129d128962f1', + metadata: { + operationType: 'buy', + hash: '', + minedAt: '2024-02-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_FAILED', + nonce: 1 + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '4.995375' + } + } + ] + }, + IN_PROGRESS: { + id: '1eecc239-9ed5-696e-afeb-129d128962f1', + metadata: { + operationType: 'buy', + hash: '', + minedAt: '2024-02-15T16:59:37.345Z', + sentFrom: 'Coinbase', + sentTo: '0xf3ea39310011333095CFCcCc7c4Ad74034CABA64', + status: 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS', + nonce: 1 + }, + transfers: [ + { + fungible_info: { + name: 'USDC', + symbol: 'USDC' + }, + direction: 'in', + quantity: { + numeric: '4.995375' + } + } + ] + } +} diff --git a/packages/core/tests/controllers/OnRampController.test.ts b/packages/core/tests/controllers/OnRampController.test.ts new file mode 100644 index 0000000000..5bc6789b05 --- /dev/null +++ b/packages/core/tests/controllers/OnRampController.test.ts @@ -0,0 +1,148 @@ +import { describe, expect, it, vi } from 'vitest' +import { + ApiController, + BlockchainApiController, + OnRampController, + type OnRampProvider, + type PaymentCurrency, + type PurchaseCurrency +} from '../../index.js' +import { ONRAMP_PROVIDERS } from '../../src/utils/ConstantsUtil.js' +import { + USDC_CURRENCY_DEFAULT, + USD_CURRENCY_DEFAULT +} from '../../src/controllers/OnRampController.js' + +const purchaseCurrencies: [PurchaseCurrency, ...PurchaseCurrency[]] = [ + { id: 'test-coin', symbol: 'TEST', name: 'Test Coin', networks: [] }, + { id: 'test-coin-2', symbol: 'TES2', name: 'Test Coin 2', networks: [] } +] +const paymentCurrencies: [PaymentCurrency, ...PaymentCurrency[]] = [ + { id: 'test-currency', payment_method_limits: [] }, + { id: 'test-currency-2', payment_method_limits: [] } +] + +const mockQuote = { + paymentTotal: { + amount: '100', + currency: 'USD' + }, + paymentSubtotal: { + amount: '200', + currency: 'USD' + }, + purchaseAmount: { + amount: '100', + currency: 'USDC' + }, + coinbaseFee: { + amount: '50', + currency: 'USD' + }, + networkFee: { + amount: '50', + currency: 'USD' + }, + quoteId: 'test' +} + +const defaultState = { + providers: ONRAMP_PROVIDERS as OnRampProvider[], + selectedProvider: null, + error: null, + purchaseCurrency: USDC_CURRENCY_DEFAULT, + paymentCurrency: USD_CURRENCY_DEFAULT, + purchaseCurrencies: [USDC_CURRENCY_DEFAULT], + paymentCurrencies: [], + quotesLoading: false +} + +// -- Tests -------------------------------------------------------------------- +describe('OnRampController', () => { + it('should have valid default state', () => { + expect(OnRampController.state).toEqual(defaultState) + }) + + it('should get available currencies and properly update state', async () => { + OnRampController.resetState() + const getOnrampOptions = vi + .spyOn(BlockchainApiController, 'getOnrampOptions') + .mockResolvedValueOnce({ + purchaseCurrencies, + paymentCurrencies + }) + + const fetchCurrencyImages = vi + .spyOn(ApiController, 'fetchCurrencyImages') + .mockResolvedValueOnce(undefined) + + const fetchTokenImages = vi + .spyOn(ApiController, 'fetchTokenImages') + .mockResolvedValueOnce(undefined) + + await OnRampController.getAvailableCurrencies() + expect(getOnrampOptions).toHaveBeenCalled() + expect(fetchCurrencyImages).toHaveBeenCalledWith( + paymentCurrencies?.map(currency => currency.id) + ) + expect(fetchTokenImages).toHaveBeenCalledWith(purchaseCurrencies?.map(token => token.symbol)) + expect(OnRampController.state.purchaseCurrencies).toEqual(purchaseCurrencies) + expect(OnRampController.state.paymentCurrencies).toEqual(paymentCurrencies) + }) + + it('should get quotes and properly update state with default params', async () => { + OnRampController.resetState() + const getOnrampQuote = vi + .spyOn(BlockchainApiController, 'getOnrampQuote') + .mockResolvedValue(mockQuote) + + const quote = await OnRampController.getQuote() + expect(quote).toEqual(mockQuote) + expect(getOnrampQuote).toHaveBeenCalledWith({ + purchaseCurrency: USDC_CURRENCY_DEFAULT, + paymentCurrency: USD_CURRENCY_DEFAULT, + amount: '0', + network: 'USDC' + }) + }) + + it('should get quotes and properly update state with set state', async () => { + OnRampController.resetState() + + const getOnrampQuote = vi + .spyOn(BlockchainApiController, 'getOnrampQuote') + .mockResolvedValue(mockQuote) + + OnRampController.setPaymentAmount(100) + OnRampController.setPurchaseCurrency(purchaseCurrencies[0]) + OnRampController.setPaymentCurrency(paymentCurrencies[0]) + + const quote = await OnRampController.getQuote() + + expect(quote).toEqual(mockQuote) + expect(getOnrampQuote).toHaveBeenCalledWith({ + purchaseCurrency: purchaseCurrencies[0], + paymentCurrency: paymentCurrencies[0], + amount: '100', + network: 'TEST' + }) + + expect(OnRampController.state.purchaseAmount).toEqual(100) + expect(OnRampController.state.quotesLoading).toEqual(false) + }) + + it('should set error when failing to get quotes', async () => { + OnRampController.resetState() + const error = new Error('Test error') + const getOnrampQuote = vi + .spyOn(BlockchainApiController, 'getOnrampQuote') + .mockRejectedValue(error) + + const quote = await OnRampController.getQuote() + + expect(quote).toEqual(null) + expect(getOnrampQuote).toHaveBeenCalled() + expect(OnRampController.state.error).toEqual(error.message) + expect(OnRampController.state.quotesLoading).toEqual(false) + }) +}) diff --git a/packages/core/tests/controllers/OnRampController.ts b/packages/core/tests/controllers/OnRampController.ts deleted file mode 100644 index bf90772db3..0000000000 --- a/packages/core/tests/controllers/OnRampController.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { describe, expect, it } from 'vitest' -import { OnRampController } from '../../index.js' -import { ONRAMP_PROVIDERS } from '../../src/utils/ConstantsUtil.js' - -// -- Tests -------------------------------------------------------------------- -describe('OnRampController', () => { - it('should have valid default state', () => { - expect(OnRampController.state).toEqual({ - providers: ONRAMP_PROVIDERS, - selectedProvider: null, - error: null - }) - }) - - it('should update state correctly on setProjectId()', () => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - OnRampController.setSelectedProvider(ONRAMP_PROVIDERS[0] as any) - expect(OnRampController.state.selectedProvider).toEqual(ONRAMP_PROVIDERS[0]) - }) -}) diff --git a/packages/core/tests/controllers/TransactionsController.test.ts b/packages/core/tests/controllers/TransactionsController.test.ts index 465a50dfd2..75c2833b4b 100644 --- a/packages/core/tests/controllers/TransactionsController.test.ts +++ b/packages/core/tests/controllers/TransactionsController.test.ts @@ -1,16 +1,241 @@ -import { describe, expect, it } from 'vitest' -import { TransactionsController } from '../../index.js' +import { describe, expect, it, vi } from 'vitest' +import { BlockchainApiController, OptionsController, TransactionsController } from '../../index.js' +import { + ONRAMP_TRANSACTIONS_RESPONSES_FEB, + ONRAMP_TRANSACTIONS_RESPONSES_JAN +} from '../constants/OnrampTransactions.js' +import type { Transaction } from '@web3modal/common' + +// -- Constants ---------------------------------------------------------------- +const projectId = '123' +OptionsController.state.projectId = projectId +const defaultState = { + transactions: [], + transactionsByYear: {}, + loading: false, + empty: false, + next: undefined, + coinbaseTransactions: {} +} // -- Tests -------------------------------------------------------------------- describe('TransactionsController', () => { it('should have valid default state', () => { - expect(TransactionsController.state).toEqual({ - transactions: [], - transactionsByYear: {}, - loading: false, - empty: false, - next: undefined, - coinbaseTransactions: {} + expect(TransactionsController.state).toEqual(defaultState) + }) + + it('should fetch onramp transactions and group them appropiately', async () => { + const accountAddress = ONRAMP_TRANSACTIONS_RESPONSES_JAN.SUCCESS.metadata.sentTo + + const response = { + data: [ + ONRAMP_TRANSACTIONS_RESPONSES_JAN.SUCCESS, + ONRAMP_TRANSACTIONS_RESPONSES_FEB.FAILED + ] as Transaction[], + next: '' + } + + const fetchTransactions = vi + .spyOn(BlockchainApiController, 'fetchTransactions') + .mockResolvedValue(response) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 0: [ONRAMP_TRANSACTIONS_RESPONSES_JAN.SUCCESS], + 1: [ONRAMP_TRANSACTIONS_RESPONSES_FEB.FAILED] + } + }) + }) + + it('should update onramp transaction from pending to success', async () => { + const { SUCCESS, IN_PROGRESS } = ONRAMP_TRANSACTIONS_RESPONSES_FEB + const accountAddress = SUCCESS.metadata.sentTo + + // Manually clear state - vitest hooks are wiping state prematurely + TransactionsController.state.coinbaseTransactions = {} + + const pendingResponse = { + data: [IN_PROGRESS] as Transaction[], + next: '' + } + + const fetchTransactions = vi + .spyOn(BlockchainApiController, 'fetchTransactions') + .mockResolvedValue(pendingResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 1: [IN_PROGRESS] + } + }) + + // Update the transaction + const successResponse = { + data: [SUCCESS] as Transaction[], + next: '' + } + + fetchTransactions.mockResolvedValue(successResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + // Transaction should be replaced + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 1: [SUCCESS] + } + }) + }) + + it('should update onramp transaction from pending to failed', async () => { + const { FAILED, IN_PROGRESS } = ONRAMP_TRANSACTIONS_RESPONSES_FEB + const accountAddress = FAILED.metadata.sentTo + + // Manually clear state - vitest hooks are wiping state prematurely + TransactionsController.state.coinbaseTransactions = {} + + const pendingResponse = { + data: [IN_PROGRESS] as Transaction[], + next: '' + } + + const fetchTransactions = vi + .spyOn(BlockchainApiController, 'fetchTransactions') + .mockResolvedValue(pendingResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 1: [IN_PROGRESS] + } + }) + + // Update the transaction + const successResponse = { + data: [FAILED] as Transaction[], + next: '' + } + + fetchTransactions.mockResolvedValue(successResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + // Transaction should be replaced + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 1: [FAILED] + } + }) + }) + + it('should push new onramp transactions while updating old ones', async () => { + const { SUCCESS, IN_PROGRESS } = ONRAMP_TRANSACTIONS_RESPONSES_JAN + const accountAddress = SUCCESS.metadata.sentTo + + // Manually clear state - vitest hooks are wiping state prematurely + TransactionsController.state.coinbaseTransactions = {} + + const pendingResponse = { + data: [IN_PROGRESS] as Transaction[], + next: '' + } + + const fetchTransactions = vi + .spyOn(BlockchainApiController, 'fetchTransactions') + .mockResolvedValue(pendingResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 0: [IN_PROGRESS] + } + }) + + // Update the transaction + const successResponse = { + data: [SUCCESS, ONRAMP_TRANSACTIONS_RESPONSES_FEB.IN_PROGRESS] as Transaction[], + next: '' + } + + fetchTransactions.mockResolvedValue(successResponse) + + await TransactionsController.fetchTransactions(accountAddress, 'coinbase') + + expect(fetchTransactions).toHaveBeenCalledWith({ + account: accountAddress, + projectId, + onramp: 'coinbase', + cursor: undefined + }) + + // Transaction should be replaced + expect(TransactionsController.state.transactions).toEqual([]) + expect(TransactionsController.state.transactionsByYear).toEqual({}) + expect(TransactionsController.state.coinbaseTransactions).toEqual({ + 2024: { + 0: [SUCCESS], + 1: [ONRAMP_TRANSACTIONS_RESPONSES_FEB.IN_PROGRESS] + } }) }) }) From 115ab27af9213e93b3fc10a73f67974579b92719 Mon Sep 17 00:00:00 2001 From: tomiir Date: Thu, 29 Feb 2024 04:53:18 -0400 Subject: [PATCH 5/8] chore: update to v4.0.11 (#2008) --- apps/gallery/CHANGELOG.md | 10 ++ apps/gallery/package.json | 6 +- apps/laboratory/CHANGELOG.md | 11 ++ apps/laboratory/package.json | 8 +- examples/html-ethers5/CHANGELOG.md | 9 ++ examples/html-ethers5/package.json | 4 +- examples/html-wagmi/CHANGELOG.md | 9 ++ examples/html-wagmi/package.json | 4 +- examples/next-wagmi/CHANGELOG.md | 9 ++ examples/next-wagmi/package.json | 4 +- examples/react-ethers5/CHANGELOG.md | 9 ++ examples/react-ethers5/package.json | 4 +- examples/react-wagmi/CHANGELOG.md | 9 ++ examples/react-wagmi/package.json | 4 +- examples/vue-ethers5/CHANGELOG.md | 9 ++ examples/vue-ethers5/package.json | 4 +- examples/vue-wagmi/CHANGELOG.md | 9 ++ examples/vue-wagmi/package.json | 4 +- package-lock.json | 146 +++++++++---------- packages/common/CHANGELOG.md | 6 + packages/common/package.json | 2 +- packages/core/CHANGELOG.md | 10 ++ packages/core/package.json | 6 +- packages/ethers/CHANGELOG.md | 14 ++ packages/ethers/package.json | 18 +-- packages/ethers5/CHANGELOG.md | 14 ++ packages/ethers5/package.json | 18 +-- packages/polyfills/CHANGELOG.md | 6 + packages/polyfills/package.json | 2 +- packages/scaffold-react/CHANGELOG.md | 9 ++ packages/scaffold-react/package.json | 4 +- packages/scaffold-utils/CHANGELOG.md | 10 ++ packages/scaffold-utils/package.json | 6 +- packages/scaffold-utils/src/ConstantsUtil.ts | 2 +- packages/scaffold-vue/CHANGELOG.md | 9 ++ packages/scaffold-vue/package.json | 4 +- packages/scaffold/CHANGELOG.md | 12 ++ packages/scaffold/package.json | 16 +- packages/siwe/CHANGELOG.md | 10 ++ packages/siwe/package.json | 6 +- packages/ui/CHANGELOG.md | 6 + packages/ui/package.json | 4 +- packages/wagmi/CHANGELOG.md | 14 ++ packages/wagmi/package.json | 16 +- packages/wallet/CHANGELOG.md | 6 + packages/wallet/package.json | 2 +- 46 files changed, 357 insertions(+), 147 deletions(-) diff --git a/apps/gallery/CHANGELOG.md b/apps/gallery/CHANGELOG.md index 5a98540553..5ccfc3b5a4 100644 --- a/apps/gallery/CHANGELOG.md +++ b/apps/gallery/CHANGELOG.md @@ -1,5 +1,15 @@ # @apps/gallery +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/common@4.0.11 + - @web3modal/ui@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/apps/gallery/package.json b/apps/gallery/package.json index 81546fc629..a905dab883 100644 --- a/apps/gallery/package.json +++ b/apps/gallery/package.json @@ -1,6 +1,6 @@ { "name": "@apps/gallery", - "version": "4.0.10", + "version": "4.0.11", "private": true, "main": "index.js", "scripts": { @@ -9,8 +9,8 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/ui": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/ui": "4.0.11", "lit": "3.1.0", "storybook": "7.6.7" }, diff --git a/apps/laboratory/CHANGELOG.md b/apps/laboratory/CHANGELOG.md index 25479409ee..4786da1301 100644 --- a/apps/laboratory/CHANGELOG.md +++ b/apps/laboratory/CHANGELOG.md @@ -1,5 +1,16 @@ # @apps/laboratory +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/ethers@4.0.11 + - @web3modal/siwe@4.0.11 + - @web3modal/wagmi@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/apps/laboratory/package.json b/apps/laboratory/package.json index 1fa356b4b6..7b10620bce 100644 --- a/apps/laboratory/package.json +++ b/apps/laboratory/package.json @@ -1,6 +1,6 @@ { "name": "@apps/laboratory", - "version": "4.0.10", + "version": "4.0.11", "private": true, "scripts": { "dev:laboratory": "next dev", @@ -24,9 +24,9 @@ "@sentry/browser": "7.92.0", "@sentry/react": "7.92.0", "@tanstack/react-query": "5.17.19", - "@web3modal/ethers": "4.0.10", - "@web3modal/siwe": "4.0.10", - "@web3modal/wagmi": "4.0.10", + "@web3modal/ethers": "4.0.11", + "@web3modal/siwe": "4.0.11", + "@web3modal/wagmi": "4.0.11", "framer-motion": "10.17.9", "next": "14.0.4", "next-auth": "4.24.5", diff --git a/examples/html-ethers5/CHANGELOG.md b/examples/html-ethers5/CHANGELOG.md index e70e398872..5ab73e790a 100644 --- a/examples/html-ethers5/CHANGELOG.md +++ b/examples/html-ethers5/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/html-ethers5 +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/ethers5@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/html-ethers5/package.json b/examples/html-ethers5/package.json index eea745508c..e65a9e35dc 100644 --- a/examples/html-ethers5/package.json +++ b/examples/html-ethers5/package.json @@ -1,13 +1,13 @@ { "name": "@examples/html-ethers5", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3011", "build:examples": "vite build" }, "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2" }, "devDependencies": { diff --git a/examples/html-wagmi/CHANGELOG.md b/examples/html-wagmi/CHANGELOG.md index 3500e2a051..404b448245 100644 --- a/examples/html-wagmi/CHANGELOG.md +++ b/examples/html-wagmi/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/html-wagmi +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/wagmi@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/html-wagmi/package.json b/examples/html-wagmi/package.json index 04cf8f1537..f3a648e461 100644 --- a/examples/html-wagmi/package.json +++ b/examples/html-wagmi/package.json @@ -1,13 +1,13 @@ { "name": "@examples/html-wagmi", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3001", "build:examples": "vite build" }, "dependencies": { - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "@wagmi/connectors": "4.1.14", "@wagmi/core": "2.6.5", "react": "18.2.0", diff --git a/examples/next-wagmi/CHANGELOG.md b/examples/next-wagmi/CHANGELOG.md index 9d570df284..09211934d8 100644 --- a/examples/next-wagmi/CHANGELOG.md +++ b/examples/next-wagmi/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/next-wagmi +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/wagmi@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/next-wagmi/package.json b/examples/next-wagmi/package.json index 8c0aa6f829..cbca86b42a 100644 --- a/examples/next-wagmi/package.json +++ b/examples/next-wagmi/package.json @@ -1,6 +1,6 @@ { "name": "@examples/next-wagmi", - "version": "4.0.10", + "version": "4.0.11", "private": true, "scripts": { "dev": "next dev", @@ -10,7 +10,7 @@ }, "dependencies": { "@tanstack/react-query": "5.17.19", - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "next": "14.1.0", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/examples/react-ethers5/CHANGELOG.md b/examples/react-ethers5/CHANGELOG.md index cff4dce766..9e0d380dbf 100644 --- a/examples/react-ethers5/CHANGELOG.md +++ b/examples/react-ethers5/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/react-ethers5 +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/ethers5@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/react-ethers5/package.json b/examples/react-ethers5/package.json index df7844adf0..9ee97a2c85 100644 --- a/examples/react-ethers5/package.json +++ b/examples/react-ethers5/package.json @@ -1,13 +1,13 @@ { "name": "@examples/react-ethers5", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3012", "build:examples": "vite build" }, "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2", "react": "18.2.0", "react-dom": "18.2.0" diff --git a/examples/react-wagmi/CHANGELOG.md b/examples/react-wagmi/CHANGELOG.md index b051ee1a10..2bf8dc94d3 100644 --- a/examples/react-wagmi/CHANGELOG.md +++ b/examples/react-wagmi/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/react-wagmi +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/wagmi@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/react-wagmi/package.json b/examples/react-wagmi/package.json index 75d751f01e..de63b0db7c 100644 --- a/examples/react-wagmi/package.json +++ b/examples/react-wagmi/package.json @@ -1,14 +1,14 @@ { "name": "@examples/react-wagmi", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3002", "build:examples": "vite build" }, "dependencies": { "@tanstack/react-query": "5.17.19", - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "react": "18.2.0", "react-dom": "18.2.0", "vite": "5.0.12", diff --git a/examples/vue-ethers5/CHANGELOG.md b/examples/vue-ethers5/CHANGELOG.md index be7a273b29..0b5768dbe1 100644 --- a/examples/vue-ethers5/CHANGELOG.md +++ b/examples/vue-ethers5/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/vue-ethers5 +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/ethers5@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/vue-ethers5/package.json b/examples/vue-ethers5/package.json index de27f62a22..a37e38dfa4 100644 --- a/examples/vue-ethers5/package.json +++ b/examples/vue-ethers5/package.json @@ -1,13 +1,13 @@ { "name": "@examples/vue-ethers5", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3013", "build:examples": "vite build" }, "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2" }, "devDependencies": { diff --git a/examples/vue-wagmi/CHANGELOG.md b/examples/vue-wagmi/CHANGELOG.md index 0a96694c43..d09a8938c7 100644 --- a/examples/vue-wagmi/CHANGELOG.md +++ b/examples/vue-wagmi/CHANGELOG.md @@ -1,5 +1,14 @@ # @examples/vue-wagmi +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/wagmi@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/examples/vue-wagmi/package.json b/examples/vue-wagmi/package.json index 217d79b229..e1cf0a4b3c 100644 --- a/examples/vue-wagmi/package.json +++ b/examples/vue-wagmi/package.json @@ -1,13 +1,13 @@ { "name": "@examples/vue-wagmi", "private": true, - "version": "4.0.10", + "version": "4.0.11", "scripts": { "dev:example": "vite --port 3003", "build:examples": "vite build" }, "dependencies": { - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "@wagmi/connectors": "4.1.14", "@wagmi/core": "2.6.5" }, diff --git a/package-lock.json b/package-lock.json index def0657715..1d2dc128ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,10 +41,10 @@ }, "apps/gallery": { "name": "@apps/gallery", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/ui": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/ui": "4.0.11", "lit": "3.1.0", "storybook": "7.6.7" }, @@ -70,7 +70,7 @@ }, "apps/laboratory": { "name": "@apps/laboratory", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { "@chakra-ui/react": "2.8.2", "@emotion/react": "11.11.3", @@ -78,9 +78,9 @@ "@sentry/browser": "7.92.0", "@sentry/react": "7.92.0", "@tanstack/react-query": "5.17.19", - "@web3modal/ethers": "4.0.10", - "@web3modal/siwe": "4.0.10", - "@web3modal/wagmi": "4.0.10", + "@web3modal/ethers": "4.0.11", + "@web3modal/siwe": "4.0.11", + "@web3modal/wagmi": "4.0.11", "ethers": "6.9.0", "framer-motion": "10.17.9", "next": "14.0.4", @@ -112,9 +112,9 @@ }, "examples/html-ethers5": { "name": "@examples/html-ethers5", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2" }, "devDependencies": { @@ -170,11 +170,11 @@ }, "examples/html-wagmi": { "name": "@examples/html-wagmi", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { "@wagmi/connectors": "4.1.14", "@wagmi/core": "2.6.5", - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "react": "18.2.0", "react-dom": "18.2.0" }, @@ -184,10 +184,10 @@ }, "examples/next-wagmi": { "name": "@examples/next-wagmi", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { "@tanstack/react-query": "5.17.19", - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "next": "14.1.0", "react": "18.2.0", "react-dom": "18.2.0", @@ -250,9 +250,9 @@ }, "examples/react-ethers5": { "name": "@examples/react-ethers5", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2", "react": "18.2.0", "react-dom": "18.2.0" @@ -311,10 +311,10 @@ }, "examples/react-wagmi": { "name": "@examples/react-wagmi", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { "@tanstack/react-query": "5.17.19", - "@web3modal/wagmi": "4.0.10", + "@web3modal/wagmi": "4.0.11", "react": "18.2.0", "react-dom": "18.2.0", "viem": "2.7.13", @@ -328,9 +328,9 @@ }, "examples/vue-ethers5": { "name": "@examples/vue-ethers5", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { - "@web3modal/ethers5": "4.0.10", + "@web3modal/ethers5": "4.0.11", "ethers": "5.7.2" }, "devDependencies": { @@ -386,11 +386,11 @@ }, "examples/vue-wagmi": { "name": "@examples/vue-wagmi", - "version": "4.0.10", + "version": "4.0.11", "dependencies": { "@wagmi/connectors": "4.1.14", "@wagmi/core": "2.6.5", - "@web3modal/wagmi": "4.0.10" + "@web3modal/wagmi": "4.0.11" }, "devDependencies": { "@vitejs/plugin-vue": "5.0.2" @@ -30164,7 +30164,7 @@ }, "packages/common": { "name": "@web3modal/common", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "dayjs": "1.11.10" @@ -30172,11 +30172,11 @@ }, "packages/core": { "name": "@web3modal/core", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/wallet": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/wallet": "4.0.11", "valtio": "1.11.2" }, "devDependencies": { @@ -30185,33 +30185,33 @@ }, "packages/ethers": { "name": "@web3modal/ethers", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "@coinbase/wallet-sdk": "3.9.1", "@walletconnect/ethereum-provider": "2.11.1", - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10", + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11", "valtio": "1.11.2" }, "devDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": "6.9.0", "react": "18.2.0", "react-dom": "18.2.0", "vue": "3.4.3" }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" }, "peerDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": ">=6.0.0", "react": ">=17", "react-dom": ">=17", @@ -30382,33 +30382,33 @@ }, "packages/ethers5": { "name": "@web3modal/ethers5", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "@coinbase/wallet-sdk": "3.9.1", "@walletconnect/ethereum-provider": "2.11.1", - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10", + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11", "valtio": "1.11.2" }, "devDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": "5.7.2", "react": "18.2.0", "react-dom": "18.2.0", "vue": "3.4.3" }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" }, "peerDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": ">=5.0.0 <6.0.0", "react": ">=17", "react-dom": ">=17", @@ -30627,7 +30627,7 @@ }, "packages/polyfills": { "name": "@web3modal/polyfills", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "buffer": "6.0.3" @@ -30635,23 +30635,23 @@ }, "packages/scaffold": { "name": "@web3modal/scaffold", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/core": "4.0.10", - "@web3modal/ui": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/core": "4.0.11", + "@web3modal/ui": "4.0.11", "lit": "3.1.0" }, "devDependencies": { - "@web3modal/siwe": "4.0.10", - "@web3modal/wallet": "4.0.10" + "@web3modal/siwe": "4.0.11", + "@web3modal/wallet": "4.0.11" }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10" + "@web3modal/siwe": "4.0.11" }, "peerDependencies": { - "@web3modal/siwe": ">=4" + "@web3modal/siwe": ">=4.0.11" }, "peerDependenciesMeta": { "@web3modal/siwe": { @@ -30661,10 +30661,10 @@ }, "packages/scaffold-react": { "name": "@web3modal/scaffold-react", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/scaffold": "4.0.10" + "@web3modal/scaffold": "4.0.11" }, "peerDependencies": { "react": ">=17", @@ -30673,20 +30673,20 @@ }, "packages/scaffold-utils": { "name": "@web3modal/scaffold-utils", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/core": "4.0.10", - "@web3modal/polyfills": "4.0.10", + "@web3modal/core": "4.0.11", + "@web3modal/polyfills": "4.0.11", "valtio": "1.11.2" } }, "packages/scaffold-vue": { "name": "@web3modal/scaffold-vue", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/scaffold": "4.0.10" + "@web3modal/scaffold": "4.0.11" }, "peerDependencies": { "vue": ">=3" @@ -30703,11 +30703,11 @@ }, "packages/siwe": { "name": "@web3modal/siwe", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/core": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10" + "@web3modal/core": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11" }, "devDependencies": { "lit": "3.1.0", @@ -30730,7 +30730,7 @@ }, "packages/ui": { "name": "@web3modal/ui", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "lit": "3.1.0", @@ -30738,7 +30738,7 @@ }, "devDependencies": { "@types/qrcode": "1.5.5", - "@web3modal/common": "4.0.10", + "@web3modal/common": "4.0.11", "eslint-plugin-lit": "1.11.0", "eslint-plugin-wc": "2.0.4" } @@ -30754,14 +30754,14 @@ }, "packages/wagmi": { "name": "@web3modal/wagmi", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10" + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11" }, "devDependencies": { "@wagmi/connectors": "4.1.14", @@ -30772,7 +30772,7 @@ "vue": "3.4.3" }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" @@ -30780,7 +30780,7 @@ "peerDependencies": { "@wagmi/connectors": ">=4.0.0", "@wagmi/core": ">=2.0.0", - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "viem": ">=2.0.0", @@ -30940,7 +30940,7 @@ }, "packages/wallet": { "name": "@web3modal/wallet", - "version": "4.0.10", + "version": "4.0.11", "license": "Apache-2.0", "dependencies": { "zod": "3.22.4" diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index b9026f34b9..fc7d6bb51b 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -1,5 +1,11 @@ # @web3modal/common +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + ## 4.0.10 ### Patch Changes diff --git a/packages/common/package.json b/packages/common/package.json index 83096abdbc..3a3ec45a85 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/common", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index d77ab6e94f..2d13d153fc 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,15 @@ # @web3modal/core +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/common@4.0.11 + - @web3modal/wallet@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 4604b95eea..6e21659ce0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/core", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -17,8 +17,8 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/wallet": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/wallet": "4.0.11", "valtio": "1.11.2" }, "devDependencies": { diff --git a/packages/ethers/CHANGELOG.md b/packages/ethers/CHANGELOG.md index 0db4b2e31e..04a25884df 100644 --- a/packages/ethers/CHANGELOG.md +++ b/packages/ethers/CHANGELOG.md @@ -1,5 +1,19 @@ # @web3modal/ethers +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/polyfills@4.0.11 + - @web3modal/scaffold@4.0.11 + - @web3modal/scaffold-react@4.0.11 + - @web3modal/scaffold-utils@4.0.11 + - @web3modal/scaffold-vue@4.0.11 + - @web3modal/siwe@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/ethers/package.json b/packages/ethers/package.json index 2a5462ea89..7e6d551418 100644 --- a/packages/ethers/package.json +++ b/packages/ethers/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/ethers", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/exports/index.js", "types": "./dist/types/exports/index.d.ts", @@ -45,22 +45,22 @@ "dependencies": { "@coinbase/wallet-sdk": "3.9.1", "@walletconnect/ethereum-provider": "2.11.1", - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10", + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11", "valtio": "1.11.2" }, "peerDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": ">=6.0.0", "react": ">=17", "react-dom": ">=17", "vue": ">=3" }, "devDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": "6.9.0", "react": "18.2.0", "react-dom": "18.2.0", @@ -81,7 +81,7 @@ } }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" diff --git a/packages/ethers5/CHANGELOG.md b/packages/ethers5/CHANGELOG.md index 1b24d25442..80c858e028 100644 --- a/packages/ethers5/CHANGELOG.md +++ b/packages/ethers5/CHANGELOG.md @@ -1,5 +1,19 @@ # @web3modal/ethers5 +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/polyfills@4.0.11 + - @web3modal/scaffold@4.0.11 + - @web3modal/scaffold-react@4.0.11 + - @web3modal/scaffold-utils@4.0.11 + - @web3modal/scaffold-vue@4.0.11 + - @web3modal/siwe@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/ethers5/package.json b/packages/ethers5/package.json index 311c1ccc65..460c6a739b 100644 --- a/packages/ethers5/package.json +++ b/packages/ethers5/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/ethers5", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/exports/index.js", "types": "./dist/types/exports/index.d.ts", @@ -45,22 +45,22 @@ "dependencies": { "@coinbase/wallet-sdk": "3.9.1", "@walletconnect/ethereum-provider": "2.11.1", - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10", + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11", "valtio": "1.11.2" }, "devDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": "5.7.2", "react": "18.2.0", "react-dom": "18.2.0", "vue": "3.4.3" }, "peerDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "ethers": ">=5.0.0 <6.0.0", "react": ">=17", "react-dom": ">=17", @@ -81,7 +81,7 @@ } }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" diff --git a/packages/polyfills/CHANGELOG.md b/packages/polyfills/CHANGELOG.md index ec16de45a2..ca231cd6b2 100644 --- a/packages/polyfills/CHANGELOG.md +++ b/packages/polyfills/CHANGELOG.md @@ -1,5 +1,11 @@ # @web3modal/polyfills +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + ## 4.0.10 ### Patch Changes diff --git a/packages/polyfills/package.json b/packages/polyfills/package.json index 14775b496d..bc910a65cd 100644 --- a/packages/polyfills/package.json +++ b/packages/polyfills/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/polyfills", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", diff --git a/packages/scaffold-react/CHANGELOG.md b/packages/scaffold-react/CHANGELOG.md index 4871ec5dd5..f0de33cf69 100644 --- a/packages/scaffold-react/CHANGELOG.md +++ b/packages/scaffold-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @web3modal/scaffold-react +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/scaffold@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/scaffold-react/package.json b/packages/scaffold-react/package.json index 70d13b20a7..ddf7f229a0 100644 --- a/packages/scaffold-react/package.json +++ b/packages/scaffold-react/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/scaffold-react", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -16,7 +16,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/scaffold": "4.0.10" + "@web3modal/scaffold": "4.0.11" }, "peerDependencies": { "react": ">=17", diff --git a/packages/scaffold-utils/CHANGELOG.md b/packages/scaffold-utils/CHANGELOG.md index ff7dcbf62b..8e5d4721de 100644 --- a/packages/scaffold-utils/CHANGELOG.md +++ b/packages/scaffold-utils/CHANGELOG.md @@ -1,5 +1,15 @@ # @web3modal/scaffold-utils +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/core@4.0.11 + - @web3modal/polyfills@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/scaffold-utils/package.json b/packages/scaffold-utils/package.json index a153d7c479..60cfdfce47 100644 --- a/packages/scaffold-utils/package.json +++ b/packages/scaffold-utils/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/scaffold-utils", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/exports/index.js", "types": "./dist/types/exports/index.d.ts", @@ -35,8 +35,8 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/core": "4.0.10", - "@web3modal/polyfills": "4.0.10", + "@web3modal/core": "4.0.11", + "@web3modal/polyfills": "4.0.11", "valtio": "1.11.2" }, "keywords": [ diff --git a/packages/scaffold-utils/src/ConstantsUtil.ts b/packages/scaffold-utils/src/ConstantsUtil.ts index dc7ea0a5c0..8e34a501ce 100644 --- a/packages/scaffold-utils/src/ConstantsUtil.ts +++ b/packages/scaffold-utils/src/ConstantsUtil.ts @@ -11,5 +11,5 @@ export const ConstantsUtil = { ADD_CHAIN_METHOD: 'wallet_addEthereumChain', EIP6963_ANNOUNCE_EVENT: 'eip6963:announceProvider', EIP6963_REQUEST_EVENT: 'eip6963:requestProvider', - VERSION: '4.0.10' + VERSION: '4.0.11' } diff --git a/packages/scaffold-vue/CHANGELOG.md b/packages/scaffold-vue/CHANGELOG.md index acb935694d..e7d84eac3a 100644 --- a/packages/scaffold-vue/CHANGELOG.md +++ b/packages/scaffold-vue/CHANGELOG.md @@ -1,5 +1,14 @@ # @web3modal/scaffold-vue +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/scaffold@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/scaffold-vue/package.json b/packages/scaffold-vue/package.json index 115faaed3b..3f340e4beb 100644 --- a/packages/scaffold-vue/package.json +++ b/packages/scaffold-vue/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/scaffold-vue", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -16,7 +16,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/scaffold": "4.0.10" + "@web3modal/scaffold": "4.0.11" }, "peerDependencies": { "vue": ">=3" diff --git a/packages/scaffold/CHANGELOG.md b/packages/scaffold/CHANGELOG.md index 68a887ad09..7e6dd53811 100644 --- a/packages/scaffold/CHANGELOG.md +++ b/packages/scaffold/CHANGELOG.md @@ -1,5 +1,17 @@ # @web3modal/scaffold +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/common@4.0.11 + - @web3modal/core@4.0.11 + - @web3modal/siwe@4.0.11 + - @web3modal/ui@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/scaffold/package.json b/packages/scaffold/package.json index c19273eb45..180eecf8a3 100644 --- a/packages/scaffold/package.json +++ b/packages/scaffold/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/scaffold", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -16,17 +16,17 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/common": "4.0.10", - "@web3modal/core": "4.0.10", - "@web3modal/ui": "4.0.10", + "@web3modal/common": "4.0.11", + "@web3modal/core": "4.0.11", + "@web3modal/ui": "4.0.11", "lit": "3.1.0" }, "peerDependencies": { - "@web3modal/siwe": ">=4" + "@web3modal/siwe": ">=4.0.11" }, "devDependencies": { - "@web3modal/wallet": "4.0.10", - "@web3modal/siwe": "4.0.10" + "@web3modal/wallet": "4.0.11", + "@web3modal/siwe": "4.0.11" }, "peerDependenciesMeta": { "@web3modal/siwe": { @@ -34,7 +34,7 @@ } }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10" + "@web3modal/siwe": "4.0.11" }, "keywords": [ "web3", diff --git a/packages/siwe/CHANGELOG.md b/packages/siwe/CHANGELOG.md index 494f799b03..9f88b4908a 100644 --- a/packages/siwe/CHANGELOG.md +++ b/packages/siwe/CHANGELOG.md @@ -1,5 +1,15 @@ # @web3modal/siwe +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/core@4.0.11 + - @web3modal/scaffold-utils@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/siwe/package.json b/packages/siwe/package.json index 7aac7e8113..6f92c9a2a6 100644 --- a/packages/siwe/package.json +++ b/packages/siwe/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/siwe", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/exports/index.js", "types": "./dist/types/exports/index.d.ts", @@ -16,8 +16,8 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/core": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10" + "@web3modal/core": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11" }, "devDependencies": { "valtio": "1.11.2", diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index 8b67e8ad60..f7f2a2747e 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -1,5 +1,11 @@ # @web3modal/ui +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + ## 4.0.10 ### Patch Changes diff --git a/packages/ui/package.json b/packages/ui/package.json index 007d4956d6..279ffa801d 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/ui", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -21,7 +21,7 @@ }, "devDependencies": { "@types/qrcode": "1.5.5", - "@web3modal/common": "4.0.10", + "@web3modal/common": "4.0.11", "eslint-plugin-lit": "1.11.0", "eslint-plugin-wc": "2.0.4" }, diff --git a/packages/wagmi/CHANGELOG.md b/packages/wagmi/CHANGELOG.md index 91cd51328c..fb50ee4ad4 100644 --- a/packages/wagmi/CHANGELOG.md +++ b/packages/wagmi/CHANGELOG.md @@ -1,5 +1,19 @@ # @web3modal/wagmi +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + +- Updated dependencies []: + - @web3modal/polyfills@4.0.11 + - @web3modal/scaffold@4.0.11 + - @web3modal/scaffold-react@4.0.11 + - @web3modal/scaffold-utils@4.0.11 + - @web3modal/scaffold-vue@4.0.11 + - @web3modal/siwe@4.0.11 + ## 4.0.10 ### Patch Changes diff --git a/packages/wagmi/package.json b/packages/wagmi/package.json index 4d9843c6a7..ea644b98ef 100644 --- a/packages/wagmi/package.json +++ b/packages/wagmi/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/wagmi", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/exports/index.js", "types": "./dist/types/exports/index.d.ts", @@ -51,11 +51,11 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@web3modal/polyfills": "4.0.10", - "@web3modal/scaffold": "4.0.10", - "@web3modal/scaffold-react": "4.0.10", - "@web3modal/scaffold-utils": "4.0.10", - "@web3modal/scaffold-vue": "4.0.10" + "@web3modal/polyfills": "4.0.11", + "@web3modal/scaffold": "4.0.11", + "@web3modal/scaffold-react": "4.0.11", + "@web3modal/scaffold-utils": "4.0.11", + "@web3modal/scaffold-vue": "4.0.11" }, "devDependencies": { "@wagmi/connectors": "4.1.14", @@ -68,7 +68,7 @@ "peerDependencies": { "@wagmi/connectors": ">=4.0.0", "@wagmi/core": ">=2.0.0", - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "viem": ">=2.0.0", @@ -89,7 +89,7 @@ } }, "optionalDependencies": { - "@web3modal/siwe": "4.0.10", + "@web3modal/siwe": "4.0.11", "react": ">=17", "react-dom": ">=17", "vue": ">=3" diff --git a/packages/wallet/CHANGELOG.md b/packages/wallet/CHANGELOG.md index 83e90cc3f8..e384b15f2f 100644 --- a/packages/wallet/CHANGELOG.md +++ b/packages/wallet/CHANGELOG.md @@ -1,5 +1,11 @@ # @web3modal/wallet +## 4.0.11 + +### Patch Changes + +- Analytics connection event improvements. Unsupported chain flag. Siwe package refactor. RPC improvements. UI improvements' + ## 4.0.10 ### Patch Changes diff --git a/packages/wallet/package.json b/packages/wallet/package.json index 93d627570f..0627fd36b5 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -1,6 +1,6 @@ { "name": "@web3modal/wallet", - "version": "4.0.10", + "version": "4.0.11", "type": "module", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", From 3867c37dff0ccde0edbeafd284604868bdcce25a Mon Sep 17 00:00:00 2001 From: Luka Isailovic Date: Thu, 29 Feb 2024 16:22:02 +0100 Subject: [PATCH 6/8] feat: add support for brave browser in tests (#1997) --- .github/workflows/ui_tests.yml | 3 +++ .../scripts/install-brave-browser.sh | 11 ++++++++ .../tests/shared/constants/browsers.ts | 2 ++ .../tests/shared/constants/devices.ts | 2 +- .../tests/shared/pages/ModalPage.ts | 10 +++---- apps/laboratory/tests/shared/utils/device.ts | 6 +---- apps/laboratory/tests/shared/utils/project.ts | 27 ++++++++++++++++++- .../shared/validators/WalletValidator.ts | 5 +++- 8 files changed, 53 insertions(+), 13 deletions(-) create mode 100755 apps/laboratory/scripts/install-brave-browser.sh create mode 100644 apps/laboratory/tests/shared/constants/browsers.ts diff --git a/.github/workflows/ui_tests.yml b/.github/workflows/ui_tests.yml index 2ae2b32a95..768835247a 100644 --- a/.github/workflows/ui_tests.yml +++ b/.github/workflows/ui_tests.yml @@ -57,6 +57,9 @@ jobs: - name: Get installed Playwright version id: playwright-version run: echo "PLAYWRIGHT_VERSION=$(node -e "console.log(require('./package-lock.json').packages['apps/laboratory']['devDependencies']['@playwright/test'])")" >> $GITHUB_ENV + - name: Install Brave Browser + working-directory: ./apps/laboratory/ + run: sudo ./scripts/install-brave-browser.sh - name: Cache playwright binaries uses: actions/cache@v4 id: playwright-cache diff --git a/apps/laboratory/scripts/install-brave-browser.sh b/apps/laboratory/scripts/install-brave-browser.sh new file mode 100755 index 0000000000..14efd1a970 --- /dev/null +++ b/apps/laboratory/scripts/install-brave-browser.sh @@ -0,0 +1,11 @@ +echo "Installing Brave Browser" + +touch /var/lib/man-db/auto-update + +curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg + +echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list + +apt update -y + +apt install brave-browser -y \ No newline at end of file diff --git a/apps/laboratory/tests/shared/constants/browsers.ts b/apps/laboratory/tests/shared/constants/browsers.ts new file mode 100644 index 0000000000..8b09a3a5f6 --- /dev/null +++ b/apps/laboratory/tests/shared/constants/browsers.ts @@ -0,0 +1,2 @@ +export const BRAVE_MACOS_PATH = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser' +export const BRAVE_UBUNTU_PATH = '/usr/bin/brave-browser' diff --git a/apps/laboratory/tests/shared/constants/devices.ts b/apps/laboratory/tests/shared/constants/devices.ts index bd2712511b..bd6f14150f 100644 --- a/apps/laboratory/tests/shared/constants/devices.ts +++ b/apps/laboratory/tests/shared/constants/devices.ts @@ -1 +1 @@ -export const DEVICES = ['Desktop Chrome', 'Desktop Firefox', 'Desktop Safari'] +export const DEVICES = ['Desktop Chrome', 'Desktop Brave', 'Desktop Firefox'] diff --git a/apps/laboratory/tests/shared/pages/ModalPage.ts b/apps/laboratory/tests/shared/pages/ModalPage.ts index dc5e11301b..9c7aebe1fd 100644 --- a/apps/laboratory/tests/shared/pages/ModalPage.ts +++ b/apps/laboratory/tests/shared/pages/ModalPage.ts @@ -81,12 +81,12 @@ export class ModalPage { async disconnect() { const accountBtn = this.page.getByTestId('account-button') - await expect(accountBtn).toBeVisible() - await expect(accountBtn).toBeEnabled() + await expect(accountBtn, 'Account button should be visible').toBeVisible() + await expect(accountBtn, 'Account button should be enabled').toBeEnabled() await accountBtn.click({ force: true }) const disconnectBtn = this.page.getByTestId('disconnect-button') - await expect(disconnectBtn).toBeVisible() - await expect(disconnectBtn).toBeEnabled() + await expect(disconnectBtn, 'Disconnect button should be visible').toBeVisible() + await expect(disconnectBtn, 'Disconnect button should be visible').toBeEnabled() await disconnectBtn.click({ force: true }) } @@ -108,7 +108,7 @@ export class ModalPage { async promptSiwe() { const siweSign = this.page.getByTestId('w3m-connecting-siwe-sign') - await expect(siweSign, 'Siwe promp sign button should be enabled').toBeEnabled() + await expect(siweSign, 'Siwe prompt sign button should be enabled').toBeEnabled() await siweSign.click() } diff --git a/apps/laboratory/tests/shared/utils/device.ts b/apps/laboratory/tests/shared/utils/device.ts index e0e7343c14..2ec9db92b4 100644 --- a/apps/laboratory/tests/shared/utils/device.ts +++ b/apps/laboratory/tests/shared/utils/device.ts @@ -1,9 +1,5 @@ import { DEVICES } from '../constants/devices' export function getAvailableDevices(): string[] { - if (!process.env['CI']) { - return DEVICES - } - - return DEVICES.filter(d => d !== 'Desktop Safari') + return DEVICES } diff --git a/apps/laboratory/tests/shared/utils/project.ts b/apps/laboratory/tests/shared/utils/project.ts index 3b2af965db..18d8a0e5d7 100644 --- a/apps/laboratory/tests/shared/utils/project.ts +++ b/apps/laboratory/tests/shared/utils/project.ts @@ -1,5 +1,7 @@ import { devices } from '@playwright/test' import { getAvailableDevices } from './device' +import { getValue } from './config' +import { BRAVE_MACOS_PATH, BRAVE_UBUNTU_PATH } from '../constants/browsers' const availableDevices = getAvailableDevices() @@ -9,16 +11,35 @@ const PERMUTATIONS = availableDevices.flatMap(device => LIBRARIES.map(library => ({ device, library })) ) +interface UseOptions { + launchOptions: { + executablePath: string + } +} + interface CustomProperties { testIgnore?: string testMatch?: string + useOptions?: UseOptions } export type CustomProjectProperties = { [T in string]: CustomProperties } +const braveOptions: UseOptions = { + launchOptions: { + executablePath: getValue(BRAVE_UBUNTU_PATH, BRAVE_MACOS_PATH) + } +} + const customProjectProperties: CustomProjectProperties = { + 'Desktop Brave/wagmi': { + useOptions: braveOptions + }, + 'Desktop Brave/ethers': { + useOptions: braveOptions + }, 'Desktop Chrome/wagmi': { testIgnore: 'email.spec.ts' }, @@ -37,13 +58,17 @@ export interface Permutation { export function getProjects() { return PERMUTATIONS.map(({ device, library }) => { + const deviceName = device === 'Desktop Brave' ? 'Desktop Chrome' : device let project = { name: `${device}/${library}`, - use: { ...devices[device], library } + use: { ...devices[deviceName], library } } const props = customProjectProperties[project.name] if (props) { project = { ...project, ...props } + if (props.useOptions) { + project.use = { ...project.use, ...props.useOptions } + } } return project diff --git a/apps/laboratory/tests/shared/validators/WalletValidator.ts b/apps/laboratory/tests/shared/validators/WalletValidator.ts index 73f23b114e..e2cb23ea4e 100644 --- a/apps/laboratory/tests/shared/validators/WalletValidator.ts +++ b/apps/laboratory/tests/shared/validators/WalletValidator.ts @@ -17,7 +17,10 @@ export class WalletValidator { } async expectConnected() { - await expect(this.gotoSessions).toBeVisible() + await expect( + this.gotoSessions, + 'Approve screen should be closed and sessions tab visible' + ).toBeVisible() await this.gotoSessions.click() await this.expectSessionCard() } From fbaa405895d12cacebc1e0337a951ddfb95425cb Mon Sep 17 00:00:00 2001 From: Luka Isailovic Date: Thu, 29 Feb 2024 16:59:31 +0100 Subject: [PATCH 7/8] fix: brave os local path (#2009) --- .../laboratory/tests/shared/constants/browsers.ts | 15 ++++++++++++++- apps/laboratory/tests/shared/utils/project.ts | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/apps/laboratory/tests/shared/constants/browsers.ts b/apps/laboratory/tests/shared/constants/browsers.ts index 8b09a3a5f6..061c8f9f0f 100644 --- a/apps/laboratory/tests/shared/constants/browsers.ts +++ b/apps/laboratory/tests/shared/constants/browsers.ts @@ -1,2 +1,15 @@ export const BRAVE_MACOS_PATH = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser' -export const BRAVE_UBUNTU_PATH = '/usr/bin/brave-browser' +export const BRAVE_LINUX_PATH = '/usr/bin/brave-browser' +export const BRAVE_WINDOWS_PATH = + 'C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe' + +export function getLocalBravePath(): string { + switch (process.platform) { + case 'linux': + return BRAVE_LINUX_PATH + case 'win32': + return BRAVE_WINDOWS_PATH + default: + return BRAVE_MACOS_PATH + } +} diff --git a/apps/laboratory/tests/shared/utils/project.ts b/apps/laboratory/tests/shared/utils/project.ts index 18d8a0e5d7..2474435b74 100644 --- a/apps/laboratory/tests/shared/utils/project.ts +++ b/apps/laboratory/tests/shared/utils/project.ts @@ -1,7 +1,7 @@ import { devices } from '@playwright/test' import { getAvailableDevices } from './device' import { getValue } from './config' -import { BRAVE_MACOS_PATH, BRAVE_UBUNTU_PATH } from '../constants/browsers' +import { getLocalBravePath, BRAVE_LINUX_PATH } from '../constants/browsers' const availableDevices = getAvailableDevices() @@ -29,7 +29,7 @@ export type CustomProjectProperties = { const braveOptions: UseOptions = { launchOptions: { - executablePath: getValue(BRAVE_UBUNTU_PATH, BRAVE_MACOS_PATH) + executablePath: getValue(BRAVE_LINUX_PATH, getLocalBravePath()) } } From d11cc2de29d62ff69cd101441a2d38bdf7d5dd0a Mon Sep 17 00:00:00 2001 From: Luka Isailovic Date: Thu, 29 Feb 2024 17:20:03 +0100 Subject: [PATCH 8/8] fix: disable man-db auto update (#2010) --- apps/laboratory/scripts/install-brave-browser.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/laboratory/scripts/install-brave-browser.sh b/apps/laboratory/scripts/install-brave-browser.sh index 14efd1a970..8d83bfcf5e 100755 --- a/apps/laboratory/scripts/install-brave-browser.sh +++ b/apps/laboratory/scripts/install-brave-browser.sh @@ -1,6 +1,6 @@ echo "Installing Brave Browser" -touch /var/lib/man-db/auto-update +echo "set man-db/auto-update false" | sudo debconf-communicate && sudo dpkg-reconfigure man-db curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg