From a57b316239d85a3c6211596643b64573c1d93c60 Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Thu, 5 Dec 2024 19:00:06 +0000 Subject: [PATCH 1/8] feat: replace Biconomy with internal meta-tx-gateway --- .env.example | 3 +++ .github/workflows/ci.yaml | 4 ++++ .github/workflows/ci_reusable.yaml | 4 ++++ src/lib/config.ts | 3 +++ 4 files changed, 14 insertions(+) diff --git a/.env.example b/.env.example index fe81917cb..a89131072 100644 --- a/.env.example +++ b/.env.example @@ -19,6 +19,9 @@ REACT_APP_META_TX_API_KEY_MAP={"testing-80001-0":"xxxxxx", "testing-5-0":"xxxxxx # As each contracts needs its own AipId, we need to consider protocol, and all supported ERC20 tokens REACT_APP_META_TX_API_IDS_MAP={"testing-80001-0":{"protocol": "xxxxxx", "BOSON": "yyyyyy", "WETH": "zzzzzz"}, "testing-5-0":{"protocol": "xxxxxx", "BOSON": "yyyyyy", "WETH": "zzzzzz"}} +# Meta-transactions Gateway URL (ex: "https://api.biconomy.io") +REACT_APP_META_TX_RELAYER_URL= + # Comma-separated default list of offer IDs that are shown in the app REACT_APP_OFFER_CURATION_LIST= diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 661486fd3..22390cfe7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -59,6 +59,7 @@ jobs: REACT_APP_MOONPAY_EXTERNAL_LINK: "https://www.moonpay.com/buy" REACT_APP_META_TX_API_KEY_MAP: ${{ vars.REACT_APP_META_TX_API_KEY_MAP_TESTING }} REACT_APP_META_TX_API_IDS_MAP: ${{ vars.REACT_APP_META_TX_API_IDS_MAP_TESTING }} + REACT_APP_META_TX_RELAYER_URL: ${{ vars.REACT_APP_META_TX_RELAYER_URL_TESTING }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} @@ -93,6 +94,7 @@ jobs: REACT_APP_MOONPAY_EXTERNAL_LINK: "https://www.moonpay.com/buy" REACT_APP_META_TX_API_KEY_MAP: ${{ vars.REACT_APP_META_TX_API_KEY_MAP_TESTING }} REACT_APP_META_TX_API_IDS_MAP: ${{ vars.REACT_APP_META_TX_API_IDS_MAP_TESTING }} + REACT_APP_META_TX_RELAYER_URL: ${{ vars.REACT_APP_META_TX_RELAYER_URL_TESTING }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} FLEEK_API_KEY: ${{ secrets.FLEEK_API_KEY }} @@ -132,6 +134,7 @@ jobs: REACT_APP_MOONPAY_EXTERNAL_LINK: "https://www.moonpay.com/buy" REACT_APP_META_TX_API_KEY_MAP: ${{ vars.REACT_APP_META_TX_API_KEY_MAP_STAGING }} REACT_APP_META_TX_API_IDS_MAP: ${{ vars.REACT_APP_META_TX_API_IDS_MAP_STAGING }} + REACT_APP_META_TX_RELAYER_URL: ${{ vars.REACT_APP_META_TX_RELAYER_URL_STAGING }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} FLEEK_API_KEY: ${{ secrets.FLEEK_API_KEY }} @@ -171,6 +174,7 @@ jobs: REACT_APP_MOONPAY_EXTERNAL_LINK: "https://www.moonpay.com/buy" REACT_APP_META_TX_API_KEY_MAP: ${{ vars.REACT_APP_META_TX_API_KEY_MAP_PRODUCTION }} REACT_APP_META_TX_API_IDS_MAP: ${{ vars.REACT_APP_META_TX_API_IDS_MAP_PRODUCTION }} + REACT_APP_META_TX_RELAYER_URL: ${{ vars.REACT_APP_META_TX_RELAYER_URL_PRODUCTION }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} FLEEK_API_KEY: ${{ secrets.FLEEK_API_KEY }} diff --git a/.github/workflows/ci_reusable.yaml b/.github/workflows/ci_reusable.yaml index 2c1d32921..0c2c68e69 100644 --- a/.github/workflows/ci_reusable.yaml +++ b/.github/workflows/ci_reusable.yaml @@ -66,6 +66,9 @@ on: REACT_APP_META_TX_API_IDS_MAP: required: true type: string + REACT_APP_META_TX_RELAYER_URL: + required: false + type: string secrets: NPM_TOKEN: required: true @@ -121,6 +124,7 @@ jobs: REACT_APP_GOOGLE_TAG_ID: ${{ secrets.REACT_APP_GOOGLE_TAG_ID }} REACT_APP_META_TX_API_KEY_MAP: ${{ inputs.REACT_APP_META_TX_API_KEY_MAP }} REACT_APP_META_TX_API_IDS_MAP: ${{ inputs.REACT_APP_META_TX_API_IDS_MAP }} + REACT_APP_META_TX_RELAYER_URL: ${{ inputs.REACT_APP_META_TX_RELAYER_URL }} REACT_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }} REACT_APP_RELEASE_TAG: ${{ inputs.REACT_APP_RELEASE_TAG }} REACT_APP_RELEASE_NAME: ${{ inputs.REACT_APP_RELEASE_NAME }} diff --git a/src/lib/config.ts b/src/lib/config.ts index 4612d1bc1..6fddaf7ea 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -185,6 +185,9 @@ export const getDappConfig = (envConfig: ProtocolConfig) => { metaTx: envConfig.metaTx ? { ...envConfig.metaTx, + relayerUrl: + process.env.REACT_APP_META_TX_RELAYER_URL || + envConfig.metaTx?.relayerUrl, apiKey: getMetaTxApiKey(envConfig), apiIds: getMetaTxApiIds(envConfig) } From e209556b2bed0d8b6421d4311c0136f9103ea99c Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Thu, 19 Dec 2024 16:51:23 +0000 Subject: [PATCH 2/8] upgrade to the latest version of core-components --- package-lock.json | 964 ++++++++++++++++++++++++++++++++-------------- package.json | 8 +- 2 files changed, 682 insertions(+), 290 deletions(-) diff --git a/package-lock.json b/package-lock.json index 02bee87ee..4d559d948 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@apollo/client": "^3.8.1", "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9", - "@bosonprotocol/react-kit": "^0.34.0", + "@bosonprotocol/react-kit": "^0.35.1-alpha.7", "@davatar/react": "^1.10.4", "@ethersproject/address": "^5.6.1", "@ethersproject/units": "^5.7.0", @@ -122,7 +122,7 @@ "viem": "^1.21.4", "web-vitals": "^2.1.4", "webpack": "^5.73.0", - "yup": "^0.32.11", + "yup": "^1.5.0", "zustand": "^4.1.2" }, "devDependencies": { @@ -2487,28 +2487,43 @@ "yup": "^0.32.11" } }, + "node_modules/@bosonprotocol/chat-sdk/node_modules/yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@bosonprotocol/common": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/@bosonprotocol/common/-/common-1.29.0.tgz", - "integrity": "sha512-TlRucPiPXrqgSEAgz6dwlArdkPO2HZcgnZan3IJo5x58YM0QbxMtvdPseUIpOwgkIF9vEE8346tYiA+CdrXyZw==", - "license": "Apache-2.0", + "version": "1.30.0-alpha.7", + "resolved": "https://registry.npmjs.org/@bosonprotocol/common/-/common-1.30.0-alpha.7.tgz", + "integrity": "sha512-sN+nnI+Zem0NwYlz9bEMxnzBKDnGLHZiVZKJp+ixgbv+kH6TWTJCXfh3YVSHbzJEIySqsDxiX5djtX2gBvYHuA==", "dependencies": { - "@bosonprotocol/metadata": "^1.16.2", + "@bosonprotocol/metadata": "^1.16.3-alpha.3", "@ethersproject/abi": "^5.5.0", "@ethersproject/address": "^5.5.0", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/constants": "^5.5.0", - "@ethersproject/units": "^5.5.0", - "yup": "^0.32.11" + "@ethersproject/units": "^5.5.0" } }, "node_modules/@bosonprotocol/core-sdk": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/@bosonprotocol/core-sdk/-/core-sdk-1.41.0.tgz", - "integrity": "sha512-3qYW3j+bsAVv3necppqFtRBhtg3m8po25UVJ6Btq8G1o05YSqt5eiGrX6SWWlWXjw2XSsju29rR9oSpqyu0HKg==", - "license": "Apache-2.0", + "version": "1.42.0-alpha.1", + "resolved": "https://registry.npmjs.org/@bosonprotocol/core-sdk/-/core-sdk-1.42.0-alpha.1.tgz", + "integrity": "sha512-dJnTPEAyslLYdTmAHhunefR/nO+TxB1W0a5/6RKXghSVGYxefeBK0M+LHMPbKWnONyTOriWEjJzpJ1uUfLVGFg==", "dependencies": { - "@bosonprotocol/common": "^1.29.0", + "@bosonprotocol/common": "^1.30.0-alpha.7", "@ethersproject/abi": "^5.5.0", "@ethersproject/address": "^5.5.0", "@ethersproject/bignumber": "^5.5.0", @@ -2520,17 +2535,15 @@ "graphql-request": "^4.3.0", "mustache": "^4.2.0", "opensea-js": "^7.1.13", - "schema-to-yup": "^1.11.11", - "yup": "^0.32.11" + "schema-to-yup": "^1.11.11" } }, "node_modules/@bosonprotocol/ethers-sdk": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@bosonprotocol/ethers-sdk/-/ethers-sdk-1.15.0.tgz", - "integrity": "sha512-Ceg9iNyJV9Ppe/xtPbaWko8MqwebckNxo2Nou/kvjun+LXfwXi/xK5WzjWAvRqcqk+exy7qxbKC+Zw8Sp93PKQ==", - "license": "Apache-2.0", + "version": "1.15.1-alpha.7", + "resolved": "https://registry.npmjs.org/@bosonprotocol/ethers-sdk/-/ethers-sdk-1.15.1-alpha.7.tgz", + "integrity": "sha512-qzGxx17jHAEGMybPKuFpNXFXGIgbYhuX74Oe+mJPBD65sF5xbjRrEIGErtmpL5SKfC96klrsnoXKZAaMNNbdQA==", "dependencies": { - "@bosonprotocol/common": "^1.29.0" + "@bosonprotocol/common": "^1.30.0-alpha.7" }, "peerDependencies": { "ethers": "^5.5.0" @@ -2540,7 +2553,6 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/@bosonprotocol/ipfs-storage/-/ipfs-storage-1.12.0.tgz", "integrity": "sha512-8aD4F3jsy/XoVkuIusQq37wTYr/XiffknUBMw8iv6DAldLUlofRL6DrYSAQ9wULqRvmAYnmi7ApCJT+BHeZV4Q==", - "license": "Apache-2.0", "dependencies": { "@bosonprotocol/metadata-storage": "^1.0.1", "ipfs-http-client": "^56.0.1", @@ -2549,30 +2561,28 @@ } }, "node_modules/@bosonprotocol/metadata": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/@bosonprotocol/metadata/-/metadata-1.16.2.tgz", - "integrity": "sha512-yA99IO+BHvc3AkCba/fsrrXr3npb7zxwPvz8PUJ9qrKd7Gid95hE5V5sG9tpbeNc/UuErQ3wX8G5pmitVNlaIQ==", - "license": "Apache-2.0", + "version": "1.16.3-alpha.3", + "resolved": "https://registry.npmjs.org/@bosonprotocol/metadata/-/metadata-1.16.3-alpha.3.tgz", + "integrity": "sha512-4fe588oZXH+B7LPOQwRXFnOMpR5Th3ifk1Yt6rO4S1tAt6B2cgDI5lVBSJDNF/tcppBr01MTreJjp8sQjxFkTg==", "dependencies": { "@bosonprotocol/metadata-storage": "^1.0.1", - "schema-to-yup": "^1.11.11" + "schema-to-yup": "^1.11.11", + "yup": "^1.5.0" } }, "node_modules/@bosonprotocol/metadata-storage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@bosonprotocol/metadata-storage/-/metadata-storage-1.0.1.tgz", - "integrity": "sha512-f2W2SQAvY5IKD6L9JwaiNye7gGRIIPd/HOB0i+otWLzMPBlwQtbN4JeWSuKeJvuaqu8tyMy7CHzN8EkhrJDB+A==", - "license": "Apache-2.0" + "integrity": "sha512-f2W2SQAvY5IKD6L9JwaiNye7gGRIIPd/HOB0i+otWLzMPBlwQtbN4JeWSuKeJvuaqu8tyMy7CHzN8EkhrJDB+A==" }, "node_modules/@bosonprotocol/react-kit": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.34.0.tgz", - "integrity": "sha512-Smf6kplGcCT0E7UYq+oI1pnQqhguecNnITbToQ09MKiOOo9Idklo6Xe2BhHLuYxKyakGNmTevKh0/zuDz7Yc4A==", - "license": "Apache-2.0", + "version": "0.35.1-alpha.7", + "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.35.1-alpha.7.tgz", + "integrity": "sha512-TBgqR8YP4veqpvaD1X42msJuXF96HwjCHbH7Qp7etN4Z1Ebm8zarjKjujFIImokqfQ9xD+ytDqZepZwFb6RjKA==", "dependencies": { "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9", - "@bosonprotocol/core-sdk": "^1.41.0", - "@bosonprotocol/ethers-sdk": "^1.15.0", + "@bosonprotocol/core-sdk": "^1.42.0-alpha.1", + "@bosonprotocol/ethers-sdk": "^1.15.1-alpha.7", "@bosonprotocol/ipfs-storage": "^1.12.0", "@davatar/react": "1.11.1", "@ethersproject/units": "5.6.0", @@ -2636,17 +2646,19 @@ "use-resize-observer": "^9.1.0", "utility-types": "3.10.0", "viem": "^1.21.4", - "wagmi": "^1.4.13", - "yup": "0.32.11" + "wagmi": "^1.4.13" }, "peerDependencies": { "ethers": "^5.7.2", "react": "17 - 18", - "react-dom": "17 - 18" + "react-dom": "17 - 18", + "yup": "^1.5.0" } }, "node_modules/@bosonprotocol/react-kit/node_modules/@ethersproject/units": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", + "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", "funding": [ { "type": "individual", @@ -2657,7 +2669,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0", "@ethersproject/constants": "^5.6.0", @@ -2665,30 +2676,34 @@ } }, "node_modules/@bosonprotocol/react-kit/node_modules/@floating-ui/core": { - "version": "1.4.1", - "license": "MIT", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", "dependencies": { - "@floating-ui/utils": "^0.1.1" + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@bosonprotocol/react-kit/node_modules/@floating-ui/dom": { - "version": "1.5.1", - "license": "MIT", + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", "dependencies": { - "@floating-ui/core": "^1.4.1", - "@floating-ui/utils": "^0.1.1" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@bosonprotocol/react-kit/node_modules/@remix-run/router": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.4.0.tgz", + "integrity": "sha512-BJ9SxXux8zAg991UmT8slpwpsd31K1dHHbD3Ba4VzD+liLQ4WAMSxQp2d2ZPRPfN0jN2NPRowcSSoM7lCaF08Q==", "engines": { "node": ">=14" } }, "node_modules/@bosonprotocol/react-kit/node_modules/@sentry/browser": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.43.0.tgz", + "integrity": "sha512-NlRkBYKb9o5IQdGY8Ktps19Hz9RdSuqS1tlLC7Sjr+MqZqSHmhKq8MWJKciRynxBeMbeGt0smExi9BqpVQdCEg==", "dependencies": { "@sentry/core": "7.43.0", "@sentry/replay": "7.43.0", @@ -2702,7 +2717,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@sentry/core": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.43.0.tgz", + "integrity": "sha512-zvMZgEi7ptLBwDnd+xR/u4zdSe5UzS4S3ZhoemdQrn1PxsaVySD/ptyzLoGSZEABqlRxGHnQrZ78MU1hUDvKuQ==", "dependencies": { "@sentry/types": "7.43.0", "@sentry/utils": "7.43.0", @@ -2714,14 +2730,16 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@sentry/types": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.43.0.tgz", + "integrity": "sha512-5XxCWqYWJNoS+P6Ie2ZpUDxLRCt7FTEzmlQkCdjW6MFWOX26hAbF/wEuOTYAFKZXMIXOz0Egofik1e8v1Cg6/A==", "engines": { "node": ">=8" } }, "node_modules/@bosonprotocol/react-kit/node_modules/@sentry/utils": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.43.0.tgz", + "integrity": "sha512-f78YfMLcgNU7+suyWFCuQhQlneXXMS+egb0EFZh7iU7kANUPRX5T4b+0C+fwaPm5gA6XfGYskr4ZnzQJLOlSqg==", "dependencies": { "@sentry/types": "7.43.0", "tslib": "^1.9.3" @@ -2732,7 +2750,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "engines": { "node": ">=14" }, @@ -2746,7 +2765,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", "engines": { "node": ">=14" }, @@ -2760,7 +2780,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", "engines": { "node": ">=14" }, @@ -2774,7 +2795,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "engines": { "node": ">=14" }, @@ -2788,7 +2810,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-svg-dynamic-title": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "engines": { "node": ">=14" }, @@ -2802,7 +2825,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-svg-em-dimensions": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "engines": { "node": ">=14" }, @@ -2816,7 +2840,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-transform-react-native-svg": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "engines": { "node": ">=14" }, @@ -2830,7 +2855,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-plugin-transform-svg-component": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "engines": { "node": ">=12" }, @@ -2844,7 +2870,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/babel-preset": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", @@ -2868,7 +2895,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/core": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -2886,7 +2914,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/hast-util-to-babel-ast": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dependencies": { "@babel/types": "^7.21.3", "entities": "^4.4.0" @@ -2901,7 +2930,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/plugin-jsx": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -2921,7 +2951,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/plugin-svgo": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "dependencies": { "cosmiconfig": "^8.1.3", "deepmerge": "^4.3.1", @@ -2940,7 +2971,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/@svgr/webpack": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", "dependencies": { "@babel/core": "^7.21.3", "@babel/plugin-transform-react-constant-elements": "^7.21.3", @@ -2961,11 +2993,13 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/argparse": { "version": "2.0.1", - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/@bosonprotocol/react-kit/node_modules/camelcase": { "version": "6.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" }, @@ -2974,25 +3008,28 @@ } }, "node_modules/@bosonprotocol/react-kit/node_modules/chart.js": { - "version": "4.4.1", - "license": "MIT", + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.7.tgz", + "integrity": "sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==", "dependencies": { "@kurkle/color": "^0.3.0" }, "engines": { - "pnpm": ">=7" + "pnpm": ">=8" } }, "node_modules/@bosonprotocol/react-kit/node_modules/commander": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { "node": ">= 10" } }, "node_modules/@bosonprotocol/react-kit/node_modules/cosmiconfig": { "version": "8.3.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", @@ -3016,7 +3053,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/css-select": { "version": "5.1.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -3030,7 +3068,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/css-tree": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" @@ -3041,7 +3080,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/csso": { "version": "5.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dependencies": { "css-tree": "~2.2.0" }, @@ -3052,7 +3092,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/csso/node_modules/css-tree": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" @@ -3064,11 +3105,13 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" }, "node_modules/@bosonprotocol/react-kit/node_modules/dom-serializer": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -3080,7 +3123,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/domhandler": { "version": "5.0.3", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dependencies": { "domelementtype": "^2.3.0" }, @@ -3093,7 +3137,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/domutils": { "version": "3.1.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -3105,7 +3150,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/entities": { "version": "4.5.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { "node": ">=0.12" }, @@ -3115,7 +3161,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/graphql-request": { "version": "5.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", + "integrity": "sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "cross-fetch": "^3.1.5", @@ -3128,7 +3175,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/js-yaml": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" }, @@ -3138,11 +3186,14 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/mdn-data": { "version": "2.0.30", - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" }, "node_modules/@bosonprotocol/react-kit/node_modules/multibase": { "version": "4.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", "dependencies": { "@multiformats/base-x": "^4.0.1" }, @@ -3152,12 +3203,14 @@ } }, "node_modules/@bosonprotocol/react-kit/node_modules/multiformats": { - "version": "13.1.0", - "license": "Apache-2.0 OR MIT" + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.3.1.tgz", + "integrity": "sha512-QxowxTNwJ3r5RMctoGA5p13w5RbRT2QDkoM+yFlqfLiioBp78nhDjnRLvmSBI9+KAqN4VdgOVWM9c0CHd86m3g==" }, "node_modules/@bosonprotocol/react-kit/node_modules/multihashes": { "version": "4.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", "dependencies": { "multibase": "^4.0.1", "uint8arrays": "^3.0.0", @@ -3170,7 +3223,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-chartjs-2": { "version": "5.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz", + "integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==", "peerDependencies": { "chart.js": "^4.1.1", "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -3178,7 +3232,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-markdown": { "version": "8.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.6.tgz", + "integrity": "sha512-KgPWsYgHuftdx510wwIzpwf+5js/iHqBR+fzxefv8Khk3mFbnioF1bmL2idHN3ler0LMQmICKeDrWnZrX9mtbQ==", "dependencies": { "@types/hast": "^2.0.0", "@types/prop-types": "^15.0.0", @@ -3207,7 +3262,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-phone-number-input": { "version": "3.2.19", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-phone-number-input/-/react-phone-number-input-3.2.19.tgz", + "integrity": "sha512-3peWqyFgJ3+IvkB0GHvhAzQ6LEfJw1/obG8KPvCcac8OKp9Ir+pLdyySgxbD56EYkaAwZbBwOQJaGNqIX0yrtg==", "dependencies": { "classnames": "^2.3.1", "country-flag-icons": "^1.5.4", @@ -3222,7 +3278,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-router": { "version": "6.9.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.9.0.tgz", + "integrity": "sha512-51lKevGNUHrt6kLuX3e/ihrXoXCa9ixY/nVWRLlob4r/l0f45x3SzBvYJe3ctleLUQQ5fVa4RGgJOTH7D9Umhw==", "dependencies": { "@remix-run/router": "1.4.0" }, @@ -3235,7 +3292,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-router-dom": { "version": "6.9.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.9.0.tgz", + "integrity": "sha512-/seUAPY01VAuwkGyVBPCn1OXfVbaWGGu4QN9uj0kCPcTyNYgL1ldZpxZUpRU7BLheKQI4Twtl/OW2nHRF1u26Q==", "dependencies": { "@remix-run/router": "1.4.0", "react-router": "6.9.0" @@ -3250,7 +3308,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/react-select": { "version": "5.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.0.tgz", + "integrity": "sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==", "dependencies": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", @@ -3268,19 +3327,22 @@ } }, "node_modules/@bosonprotocol/react-kit/node_modules/style-to-object": { - "version": "0.4.2", - "license": "MIT", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "dependencies": { "inline-style-parser": "0.1.1" } }, "node_modules/@bosonprotocol/react-kit/node_modules/stylis": { - "version": "4.3.1", - "license": "MIT" + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==" }, "node_modules/@bosonprotocol/react-kit/node_modules/svgo": { - "version": "3.2.0", - "license": "MIT", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -3303,7 +3365,8 @@ }, "node_modules/@bosonprotocol/react-kit/node_modules/varint": { "version": "5.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" }, "node_modules/@cfcs/core": { "version": "0.0.6", @@ -5448,8 +5511,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.1.1", - "license": "MIT" + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==" }, "node_modules/@glidejs/glide": { "version": "3.6.0", @@ -6480,7 +6544,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", - "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.6.0", "multiformats": "^9.5.4" @@ -6490,7 +6553,6 @@ "version": "8.0.11", "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.5.4", "multiformats": "^9.5.4" @@ -6500,7 +6562,6 @@ "version": "2.1.18", "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", - "license": "(Apache-2.0 AND MIT)", "dependencies": { "multiformats": "^9.5.4" } @@ -7264,8 +7325,9 @@ "license": "Apache-2.0" }, "node_modules/@kurkle/color": { - "version": "0.3.2", - "license": "MIT" + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==" }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", @@ -9018,7 +9080,6 @@ "resolved": "https://registry.npmjs.org/@opensea/seaport-js/-/seaport-js-4.0.4.tgz", "integrity": "sha512-pOBgU+y1H9Bh463ZdgFshFBxnBQvEaGfoOJFDHbkvZTNLSqIOyuDmICFTQJEiPjYsS6tMQTbw2oJBtcVLFUT2g==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "ethers": "^6.9.0", "merkletreejs": "^0.4.0" @@ -9030,14 +9091,12 @@ "node_modules/@opensea/seaport-js/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", - "license": "MIT" + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" }, "node_modules/@opensea/seaport-js/node_modules/@types/node": { "version": "22.7.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", - "license": "MIT", "dependencies": { "undici-types": "~6.19.2" } @@ -9045,8 +9104,7 @@ "node_modules/@opensea/seaport-js/node_modules/aes-js": { "version": "4.0.0-beta.5", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "license": "MIT" + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "node_modules/@opensea/seaport-js/node_modules/ethers": { "version": "6.13.4", @@ -9062,7 +9120,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", @@ -9079,14 +9136,12 @@ "node_modules/@opensea/seaport-js/node_modules/tslib": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/@opensea/seaport-js/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -10703,8 +10758,9 @@ } }, "node_modules/@rainbow-me/rainbowkit": { - "version": "1.3.4", - "license": "MIT", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@rainbow-me/rainbowkit/-/rainbowkit-1.3.7.tgz", + "integrity": "sha512-VZ12R8mgpwSuupajG5pkEHftKHP+h16Ci5JBmjuFzPhERqYTL3S/FzRDhha7gl+ZpQMWzF7NkMjURMK8Xjdb8A==", "dependencies": { "@vanilla-extract/css": "1.14.0", "@vanilla-extract/dynamic": "2.1.0", @@ -10726,7 +10782,8 @@ }, "node_modules/@rainbow-me/rainbowkit/node_modules/clsx": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } @@ -13009,7 +13066,8 @@ }, "node_modules/@sentry/replay": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.43.0.tgz", + "integrity": "sha512-2dGJS6p8uG1JZ7x/A3FyqnILTkXarbvfR+o1lC7z9lu34Wx0ZBeU2in/S2YHNGAE6XvfsePq3ya/s7LaNkk4qQ==", "dependencies": { "@sentry/core": "7.43.0", "@sentry/types": "7.43.0", @@ -13021,7 +13079,8 @@ }, "node_modules/@sentry/replay/node_modules/@sentry/core": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.43.0.tgz", + "integrity": "sha512-zvMZgEi7ptLBwDnd+xR/u4zdSe5UzS4S3ZhoemdQrn1PxsaVySD/ptyzLoGSZEABqlRxGHnQrZ78MU1hUDvKuQ==", "dependencies": { "@sentry/types": "7.43.0", "@sentry/utils": "7.43.0", @@ -13033,14 +13092,16 @@ }, "node_modules/@sentry/replay/node_modules/@sentry/types": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.43.0.tgz", + "integrity": "sha512-5XxCWqYWJNoS+P6Ie2ZpUDxLRCt7FTEzmlQkCdjW6MFWOX26hAbF/wEuOTYAFKZXMIXOz0Egofik1e8v1Cg6/A==", "engines": { "node": ">=8" } }, "node_modules/@sentry/replay/node_modules/@sentry/utils": { "version": "7.43.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.43.0.tgz", + "integrity": "sha512-f78YfMLcgNU7+suyWFCuQhQlneXXMS+egb0EFZh7iU7kANUPRX5T4b+0C+fwaPm5gA6XfGYskr4ZnzQJLOlSqg==", "dependencies": { "@sentry/types": "7.43.0", "tslib": "^1.9.3" @@ -13673,7 +13734,8 @@ }, "node_modules/@tanstack/query-core": { "version": "4.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -13681,7 +13743,8 @@ }, "node_modules/@tanstack/query-persist-client-core": { "version": "4.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.36.1.tgz", + "integrity": "sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg==", "dependencies": { "@tanstack/query-core": "4.36.1" }, @@ -13692,7 +13755,8 @@ }, "node_modules/@tanstack/query-sync-storage-persister": { "version": "4.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.36.1.tgz", + "integrity": "sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA==", "dependencies": { "@tanstack/query-persist-client-core": "4.36.1" }, @@ -13703,7 +13767,8 @@ }, "node_modules/@tanstack/react-query": { "version": "4.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", "dependencies": { "@tanstack/query-core": "4.36.1", "use-sync-external-store": "^1.2.0" @@ -13728,7 +13793,8 @@ }, "node_modules/@tanstack/react-query-persist-client": { "version": "4.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-4.36.1.tgz", + "integrity": "sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ==", "dependencies": { "@tanstack/query-persist-client-core": "4.36.1" }, @@ -14243,8 +14309,7 @@ "node_modules/@types/long": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "license": "MIT" + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/lru-cache": { "version": "5.1.1", @@ -15402,7 +15467,8 @@ }, "node_modules/@vanilla-extract/css": { "version": "1.14.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.14.0.tgz", + "integrity": "sha512-rYfm7JciWZ8PFzBM/HDiE2GLnKI3xJ6/vdmVJ5BSgcCZ5CxRlM9Cjqclni9lGzF3eMOijnUhCd/KV8TOzyzbMA==", "dependencies": { "@emotion/hash": "^0.9.0", "@vanilla-extract/private": "^1.0.3", @@ -15418,12 +15484,14 @@ } }, "node_modules/@vanilla-extract/css/node_modules/@emotion/hash": { - "version": "0.9.1", - "license": "MIT" + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" }, "node_modules/@vanilla-extract/css/node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -15436,7 +15504,8 @@ }, "node_modules/@vanilla-extract/css/node_modules/chalk": { "version": "4.1.2", - "license": "MIT", + "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" @@ -15450,7 +15519,8 @@ }, "node_modules/@vanilla-extract/css/node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -15460,18 +15530,21 @@ }, "node_modules/@vanilla-extract/css/node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/@vanilla-extract/css/node_modules/has-flag": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, "node_modules/@vanilla-extract/css/node_modules/supports-color": { "version": "7.2.0", - "license": "MIT", + "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" }, @@ -15481,24 +15554,29 @@ }, "node_modules/@vanilla-extract/dynamic": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@vanilla-extract/dynamic/-/dynamic-2.1.0.tgz", + "integrity": "sha512-8zl0IgBYRtgD1h+56Zu13wHTiMTJSVEa4F7RWX9vTB/5Xe2KtjoiqApy/szHPVFA56c+ex6A4GpCQjT1bKXbYw==", "dependencies": { "@vanilla-extract/private": "^1.0.3" } }, "node_modules/@vanilla-extract/private": { - "version": "1.0.3", - "license": "MIT" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.6.tgz", + "integrity": "sha512-ytsG/JLweEjw7DBuZ/0JCN4WAQgM9erfSTdS1NQY778hFQSZ6cfCDEZZ0sgVm4k54uNz6ImKB33AYvSR//fjxw==" }, "node_modules/@vanilla-extract/sprinkles": { "version": "1.6.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@vanilla-extract/sprinkles/-/sprinkles-1.6.1.tgz", + "integrity": "sha512-N/RGKwGAAidBupZ436RpuweRQHEFGU+mvAqBo8PRMAjJEmHoPDttV8RObaMLrJHWLqvX+XUMinHUnD0hFRQISw==", "peerDependencies": { "@vanilla-extract/css": "^1.0.0" } }, "node_modules/@wagmi/connectors": { "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-3.1.11.tgz", + "integrity": "sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==", "funding": [ { "type": "gitcoin", @@ -15509,7 +15587,6 @@ "url": "https://github.com/sponsors/wagmi-dev" } ], - "license": "MIT", "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", "@safe-global/safe-apps-provider": "^0.18.1", @@ -15531,33 +15608,156 @@ } } }, + "node_modules/@wagmi/connectors/node_modules/@noble/curves": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", + "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", + "dependencies": { + "@noble/hashes": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@wagmi/connectors/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", + "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@wagmi/connectors/node_modules/@noble/hashes": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@wagmi/connectors/node_modules/@safe-global/safe-apps-provider": { - "version": "0.18.2", - "license": "MIT", + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.5.tgz", + "integrity": "sha512-9v9wjBi3TwLsEJ3C2ujYoexp3pFJ0omDLH/GX91e2QB+uwCKTBYyhxFSrTQ9qzoyQd+bfsk4gjOGW87QcJhf7g==", "dependencies": { - "@safe-global/safe-apps-sdk": "^9.0.0", + "@safe-global/safe-apps-sdk": "^9.1.0", "events": "^3.3.0" } }, "node_modules/@wagmi/connectors/node_modules/@safe-global/safe-apps-provider/node_modules/@safe-global/safe-apps-sdk": { - "version": "9.0.0", - "license": "MIT", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz", + "integrity": "sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==", "dependencies": { "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", - "viem": "^1.6.0" + "viem": "^2.1.1" + } + }, + "node_modules/@wagmi/connectors/node_modules/@safe-global/safe-apps-provider/node_modules/abitype": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.7.tgz", + "integrity": "sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/@safe-global/safe-apps-provider/node_modules/viem": { + "version": "2.21.55", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.21.55.tgz", + "integrity": "sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "dependencies": { + "@noble/curves": "1.7.0", + "@noble/hashes": "1.6.1", + "@scure/bip32": "1.6.0", + "@scure/bip39": "1.5.0", + "abitype": "1.0.7", + "isows": "1.0.6", + "ox": "0.1.2", + "webauthn-p256": "0.0.10", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@wagmi/connectors/node_modules/@safe-global/safe-apps-sdk": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz", + "integrity": "sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==", "dependencies": { "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", "viem": "^1.0.0" } }, + "node_modules/@wagmi/connectors/node_modules/@scure/base": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@wagmi/connectors/node_modules/@scure/bip32": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.0.tgz", + "integrity": "sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==", + "dependencies": { + "@noble/curves": "~1.7.0", + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@wagmi/connectors/node_modules/@scure/bip39": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.0.tgz", + "integrity": "sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==", + "dependencies": { + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@wagmi/connectors/node_modules/abitype": { "version": "0.8.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.8.7.tgz", + "integrity": "sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==", "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3 >=3.19.1" @@ -15568,8 +15768,44 @@ } } }, + "node_modules/@wagmi/connectors/node_modules/isows": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", + "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/@wagmi/connectors/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "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 + } + } + }, "node_modules/@wagmi/core": { "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-1.4.13.tgz", + "integrity": "sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==", "funding": [ { "type": "gitcoin", @@ -15580,7 +15816,6 @@ "url": "https://github.com/sponsors/wagmi-dev" } ], - "license": "MIT", "dependencies": { "@wagmi/connectors": "3.1.11", "abitype": "0.8.7", @@ -15599,7 +15834,8 @@ }, "node_modules/@wagmi/core/node_modules/abitype": { "version": "0.8.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.8.7.tgz", + "integrity": "sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==", "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3 >=3.19.1" @@ -15916,7 +16152,8 @@ }, "node_modules/@walletconnect/legacy-client": { "version": "2.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz", + "integrity": "sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==", "dependencies": { "@walletconnect/crypto": "^1.0.3", "@walletconnect/encoding": "^1.0.2", @@ -15932,7 +16169,8 @@ }, "node_modules/@walletconnect/legacy-client/node_modules/query-string": { "version": "6.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", "dependencies": { "decode-uri-component": "^0.2.0", "filter-obj": "^1.1.0", @@ -15948,7 +16186,8 @@ }, "node_modules/@walletconnect/legacy-modal": { "version": "2.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz", + "integrity": "sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==", "dependencies": { "@walletconnect/legacy-types": "^2.0.0", "@walletconnect/legacy-utils": "^2.0.0", @@ -15959,7 +16198,8 @@ }, "node_modules/@walletconnect/legacy-provider": { "version": "2.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz", + "integrity": "sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==", "dependencies": { "@walletconnect/jsonrpc-http-connection": "^1.0.4", "@walletconnect/jsonrpc-provider": "^1.0.6", @@ -15971,14 +16211,16 @@ }, "node_modules/@walletconnect/legacy-types": { "version": "2.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz", + "integrity": "sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==", "dependencies": { "@walletconnect/jsonrpc-types": "^1.0.2" } }, "node_modules/@walletconnect/legacy-utils": { "version": "2.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz", + "integrity": "sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==", "dependencies": { "@walletconnect/encoding": "^1.0.2", "@walletconnect/jsonrpc-utils": "^1.0.4", @@ -15992,7 +16234,8 @@ }, "node_modules/@walletconnect/legacy-utils/node_modules/query-string": { "version": "6.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", "dependencies": { "decode-uri-component": "^0.2.0", "filter-obj": "^1.1.0", @@ -17189,8 +17432,7 @@ "node_modules/any-signal": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", - "license": "MIT" + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" }, "node_modules/anymatch": { "version": "3.1.3", @@ -17918,7 +18160,8 @@ }, "node_modules/babel-plugin-styled-components": { "version": "2.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -18216,7 +18459,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "license": "ISC", "dependencies": { "browser-readablestream-to-it": "^1.0.3" } @@ -18399,8 +18641,7 @@ "node_modules/browser-readablestream-to-it": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", - "license": "ISC" + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" }, "node_modules/browser-stdout": { "version": "1.3.1", @@ -18582,8 +18823,7 @@ "node_modules/buffer-reverse": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==", - "license": "MIT" + "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", @@ -18842,7 +19082,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", - "license": "Apache-2.0", "bin": { "cborg": "cli.js" } @@ -20246,8 +20485,7 @@ "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", - "license": "MIT" + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" }, "node_modules/crypto-random-string": { "version": "2.0.0", @@ -20660,7 +20898,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", - "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^6.0.3", "multiformats": "^9.0.2" @@ -20670,7 +20907,6 @@ "version": "6.0.15", "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", - "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.5.4", "multiformats": "^9.5.4" @@ -20695,7 +20931,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dashify/-/dashify-2.0.0.tgz", "integrity": "sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==", - "license": "MIT", "engines": { "node": ">=4" } @@ -20882,7 +21117,8 @@ }, "node_modules/deep-object-diff": { "version": "1.1.9", - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" }, "node_modules/deepmerge": { "version": "4.3.1", @@ -21650,7 +21886,8 @@ }, "node_modules/enquire.js": { "version": "2.1.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" }, "node_modules/enquirer": { "version": "2.3.6", @@ -22818,7 +23055,8 @@ }, "node_modules/eth-revert-reason": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/eth-revert-reason/-/eth-revert-reason-1.0.3.tgz", + "integrity": "sha512-HD4pB+s2Jr4cwdywbcTcdLXPwxOZNrnH/luVuploeqEBlCNvFZQGzOwfgOy8WTSTqqEvjZOrIt+cNPt5Zl4pXw==", "dependencies": { "ethers": "^4.0.46" }, @@ -22827,12 +23065,14 @@ } }, "node_modules/eth-revert-reason/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "node_modules/eth-revert-reason/node_modules/ethers": { "version": "4.0.49", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dependencies": { "aes-js": "3.0.0", "bn.js": "^4.11.9", @@ -22847,7 +23087,8 @@ }, "node_modules/eth-revert-reason/node_modules/hash.js": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.0" @@ -22855,18 +23096,24 @@ }, "node_modules/eth-revert-reason/node_modules/js-sha3": { "version": "0.5.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" }, "node_modules/eth-revert-reason/node_modules/scrypt-js": { "version": "2.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" }, "node_modules/eth-revert-reason/node_modules/setimmediate": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==" }, "node_modules/eth-revert-reason/node_modules/uuid": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details." }, "node_modules/eth-rpc-errors": { "version": "4.0.2", @@ -26327,7 +26574,6 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "license": "MIT", "dependencies": { "interface-store": "^2.0.2", "nanoid": "^3.0.2", @@ -26337,8 +26583,7 @@ "node_modules/interface-store": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", - "license": "(Apache-2.0 OR MIT)" + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "node_modules/internal-slot": { "version": "1.0.7", @@ -26418,7 +26663,6 @@ "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-pb": "^2.1.3", "interface-datastore": "^6.0.2", @@ -26432,7 +26676,6 @@ "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "license": "MIT", "dependencies": { "any-signal": "^3.0.0", "blob-to-it": "^1.0.1", @@ -26461,7 +26704,6 @@ "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^7.0.0", "@ipld/dag-json": "^8.0.1", @@ -26491,7 +26733,6 @@ "version": "6.0.9", "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "license": "Apache-2.0 OR MIT", "dependencies": { "err-code": "^3.0.1", "protobufjs": "^6.10.2" @@ -26505,7 +26746,6 @@ "version": "9.0.14", "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "license": "Apache-2.0 OR MIT", "dependencies": { "any-signal": "^3.0.0", "browser-readablestream-to-it": "^1.0.0", @@ -26533,7 +26773,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -27550,14 +27789,12 @@ "node_modules/it-first": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", - "license": "ISC" + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "node_modules/it-glob": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "license": "ISC", "dependencies": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -27574,8 +27811,7 @@ "node_modules/it-peekable": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", - "license": "ISC" + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" }, "node_modules/it-reader": { "version": "2.1.0", @@ -30084,7 +30320,8 @@ }, "node_modules/jquery": { "version": "3.7.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", "peer": true }, "node_modules/js-beautify": { @@ -30543,7 +30780,8 @@ }, "node_modules/json2mq": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", "dependencies": { "string-convert": "^0.2.0" } @@ -31374,8 +31612,7 @@ "node_modules/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "license": "Apache-2.0" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "node_modules/longest-streak": { "version": "3.0.1", @@ -31719,7 +31956,8 @@ }, "node_modules/media-query-parser": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", "dependencies": { "@babel/runtime": "^7.12.5" } @@ -31802,7 +32040,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.4.0.tgz", "integrity": "sha512-a48Ta5kWiVNBgeEbZVMm6FB1hBlp6vEuou/XnZdlkmd2zq6NZR6Sh2j+kR1B0iOZIXrTMcigBYzZ39MLdYhm1g==", - "license": "MIT", "dependencies": { "bignumber.js": "^9.0.1", "buffer-reverse": "^1.0.1", @@ -33903,8 +34140,9 @@ } }, "node_modules/modern-ahocorasick": { - "version": "1.0.1", - "license": "MIT" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-ahocorasick/-/modern-ahocorasick-1.1.0.tgz", + "integrity": "sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==" }, "node_modules/module-error": { "version": "1.0.2", @@ -33958,7 +34196,6 @@ "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "license": "MIT", "dependencies": { "dns-over-http-resolver": "^1.2.3", "err-code": "^3.0.1", @@ -33973,7 +34210,6 @@ "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", - "license": "MIT", "dependencies": { "multiaddr": "^10.0.0" } @@ -34104,7 +34340,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "license": "MIT", "bin": { "mustache": "bin/mustache" } @@ -34167,6 +34402,8 @@ }, "node_modules/nanoclone": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==", "license": "MIT" }, "node_modules/nanoid": { @@ -37120,7 +37357,6 @@ "resolved": "https://registry.npmjs.org/opensea-js/-/opensea-js-7.1.14.tgz", "integrity": "sha512-CePsccXrtXfxe1vFOOLHuVfoHwgqOhCdvQBZydrl/et/cOP84b97x8iaf4ikjBojUXN1VqPPDx1d/q1Wb+6x8g==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "@opensea/seaport-js": "^4.0.0", "ethers": "^6.9.0" @@ -37132,14 +37368,12 @@ "node_modules/opensea-js/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", - "license": "MIT" + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" }, "node_modules/opensea-js/node_modules/@types/node": { "version": "22.7.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", - "license": "MIT", "dependencies": { "undici-types": "~6.19.2" } @@ -37147,8 +37381,7 @@ "node_modules/opensea-js/node_modules/aes-js": { "version": "4.0.0-beta.5", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "license": "MIT" + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "node_modules/opensea-js/node_modules/ethers": { "version": "6.13.4", @@ -37164,7 +37397,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", @@ -37181,14 +37413,12 @@ "node_modules/opensea-js/node_modules/tslib": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/opensea-js/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -37321,7 +37551,8 @@ }, "node_modules/outdent": { "version": "0.8.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" }, "node_modules/overlap-area": { "version": "1.1.0", @@ -37330,6 +37561,133 @@ "@daybrush/utils": "^1.7.1" } }, + "node_modules/ox": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.1.2.tgz", + "integrity": "sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/ox/node_modules/@adraffy/ens-normalize": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz", + "integrity": "sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==" + }, + "node_modules/ox/node_modules/@noble/curves": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", + "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", + "dependencies": { + "@noble/hashes": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", + "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@noble/hashes": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/base": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/bip32": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.0.tgz", + "integrity": "sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==", + "dependencies": { + "@noble/curves": "~1.7.0", + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/bip39": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.0.tgz", + "integrity": "sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==", + "dependencies": { + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/abitype": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.7.tgz", + "integrity": "sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/ox/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "node_modules/p-defer": { "version": "3.0.0", "license": "MIT", @@ -37447,10 +37805,9 @@ } }, "node_modules/parse-duration": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", - "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==", - "license": "MIT" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.1.tgz", + "integrity": "sha512-27m0hKqcGzYFGtrZ1FPSNuAUi1mvqYIUjHHIgYYAc+4wcj7t2o7Qj3X4s7THMOYyeTcFjmKUZu0yJG2oE947bw==" }, "node_modules/parse-filepath": { "version": "1.0.2", @@ -39090,7 +39447,6 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -39894,7 +40250,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "license": "MIT", "dependencies": { "p-defer": "^3.0.0" } @@ -40406,7 +40761,8 @@ }, "node_modules/react-remove-scroll": { "version": "2.5.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", "dependencies": { "react-remove-scroll-bar": "^2.3.4", "react-style-singleton": "^2.2.1", @@ -40452,8 +40808,9 @@ "license": "0BSD" }, "node_modules/react-remove-scroll/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/react-responsive": { "version": "9.0.2", @@ -40673,7 +41030,8 @@ }, "node_modules/react-slick": { "version": "0.29.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.29.0.tgz", + "integrity": "sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==", "dependencies": { "classnames": "^2.2.5", "enquire.js": "^2.1.6", @@ -41489,8 +41847,7 @@ "node_modules/retimer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", - "license": "MIT" + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" }, "node_modules/retry": { "version": "0.13.1", @@ -41879,7 +42236,6 @@ "version": "1.12.18", "resolved": "https://registry.npmjs.org/schema-to-yup/-/schema-to-yup-1.12.18.tgz", "integrity": "sha512-rzMtnIQpkokOzyb6JfsuCB+/BklFB5J7pFcvc/SnybOtmks8uW4SJXfMpzMQT98f826XgI3/mlPGQf0HBhF8FQ==", - "license": "MIT", "dependencies": { "dashify": "^2.0.0", "uniq": "^1.0.1", @@ -41887,30 +42243,6 @@ "yup": "^1.0.0" } }, - "node_modules/schema-to-yup/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/schema-to-yup/node_modules/yup": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz", - "integrity": "sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==", - "license": "MIT", - "dependencies": { - "property-expr": "^2.0.5", - "tiny-case": "^1.0.3", - "toposort": "^2.0.2", - "type-fest": "^2.19.0" - } - }, "node_modules/schema-utils": { "version": "3.1.1", "license": "MIT", @@ -42374,7 +42706,8 @@ }, "node_modules/slick-carousel": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==", "peerDependencies": { "jquery": ">=1.8.0" } @@ -42763,7 +43096,8 @@ }, "node_modules/string-convert": { "version": "0.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" }, "node_modules/string-env-interpolation": { "version": "1.0.1", @@ -43579,7 +43913,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", - "license": "MIT", "dependencies": { "retimer": "^3.0.0" } @@ -43701,7 +44034,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", - "license": "MIT", "engines": { "node": ">=0.6" } @@ -44360,8 +44692,7 @@ "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "license": "MIT" + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, "node_modules/unenv": { "version": "1.9.0", @@ -44450,8 +44781,7 @@ "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", - "license": "MIT" + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" }, "node_modules/unique-string": { "version": "2.0.0", @@ -44754,7 +45084,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/uppercamelcase/-/uppercamelcase-3.0.0.tgz", "integrity": "sha512-zTWmRiOJACCdFGWjzye3L5cjSuVdZ/c8C0iHIwVbfORFD8IhGNAO6BOWkZ+fj+SI6/aFbdjGXE6gwPG780H4gQ==", - "license": "MIT", "dependencies": { "camelcase": "^4.1.0" }, @@ -44766,7 +45095,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "license": "MIT", "engines": { "node": ">=4" } @@ -44788,7 +45116,8 @@ }, "node_modules/use-async-effect": { "version": "2.2.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/use-async-effect/-/use-async-effect-2.2.7.tgz", + "integrity": "sha512-Vq94tKPyo/9Nok4LOapV0GoGgZPhbeDW/bP6bulLPV4+lIoftaBRBBbGjTbM+j5W1Bm2EkUHJgapeu5YnQvKEA==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -44920,7 +45249,8 @@ }, "node_modules/utility-types": { "version": "3.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", "engines": { "node": ">= 4" } @@ -45173,6 +45503,8 @@ }, "node_modules/wagmi": { "version": "1.4.13", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-1.4.13.tgz", + "integrity": "sha512-AScVYFjqNt1wMgL99Bob7MLdhoTZ3XKiOZL5HVBdy4W1sh7QodA3gQ8IsmTuUrQ7oQaTxjiXEhwg7sWNrPBvJA==", "funding": [ { "type": "gitcoin", @@ -45183,7 +45515,6 @@ "url": "https://github.com/sponsors/wagmi-dev" } ], - "license": "MIT", "dependencies": { "@tanstack/query-sync-storage-persister": "^4.27.1", "@tanstack/react-query": "^4.28.0", @@ -45205,7 +45536,8 @@ }, "node_modules/wagmi/node_modules/abitype": { "version": "0.8.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.8.7.tgz", + "integrity": "sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==", "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3 >=3.19.1" @@ -45528,6 +45860,57 @@ "node": ">=8.0.0" } }, + "node_modules/webauthn-p256": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz", + "integrity": "sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "dependencies": { + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0" + } + }, + "node_modules/webauthn-p256/node_modules/@noble/curves": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", + "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", + "dependencies": { + "@noble/hashes": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/webauthn-p256/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", + "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/webauthn-p256/node_modules/@noble/hashes": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/webcrypto-core": { "version": "1.7.5", "dev": true, @@ -46520,7 +46903,8 @@ }, "node_modules/xmlhttprequest": { "version": "1.8.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", "engines": { "node": ">=0.4.0" } @@ -46668,19 +47052,27 @@ } }, "node_modules/yup": { - "version": "0.32.11", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.5.0.tgz", + "integrity": "sha512-NJfBIHnp1QbqZwxcgl6irnDMIsb/7d1prNhFx02f1kp8h+orpi4xs3w90szNpOh68a/iHPdMsYvhZWoDmUvXBQ==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.15.4", - "@types/lodash": "^4.14.175", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "nanoclone": "^0.2.1", - "property-expr": "^2.0.4", - "toposort": "^2.0.2" - }, + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zdog": { diff --git a/package.json b/package.json index ecec2ebdd..39926c63b 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "coverage:e2e": "cross-env CI=true npx playwright test --project=chromium && npx nyc report --reporter=json", "coverage:e2e:view": "npx nyc report --reporter html && echo 'open coverage/index.html to see it'", "coverage:report": "npm run coverage:unit", - "upgrade:corec:latest": "npm install @bosonprotocol/common@latest @bosonprotocol/core-sdk@latest @bosonprotocol/ethers-sdk@latest @bosonprotocol/ipfs-storage@latest @bosonprotocol/react-kit@latest @bosonprotocol/widgets-sdk@latest", - "upgrade:corec:alpha": "npm install @bosonprotocol/common@alpha @bosonprotocol/core-sdk@alpha @bosonprotocol/ethers-sdk@alpha @bosonprotocol/ipfs-storage@alpha @bosonprotocol/react-kit@alpha @bosonprotocol/widgets-sdk@alpha", + "upgrade:corec:latest": "npm install @bosonprotocol/react-kit@latest", + "upgrade:corec:alpha": "npm install @bosonprotocol/react-kit@alpha", "generate": "graphql-codegen", "clean-react-cache": "run-script-os", "clean-react-cache:default": "rm -rf node_modules/.cache", @@ -46,7 +46,7 @@ "dependencies": { "@apollo/client": "^3.8.1", "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9", - "@bosonprotocol/react-kit": "^0.34.0", + "@bosonprotocol/react-kit": "^0.35.1-alpha.7", "@davatar/react": "^1.10.4", "@ethersproject/address": "^5.6.1", "@ethersproject/units": "^5.7.0", @@ -158,7 +158,7 @@ "viem": "^1.21.4", "web-vitals": "^2.1.4", "webpack": "^5.73.0", - "yup": "^0.32.11", + "yup": "^1.5.0", "zustand": "^4.1.2" }, "devDependencies": { From fe810a12045068cf91636a22c473231d77fd3d55 Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Thu, 19 Dec 2024 16:58:08 +0000 Subject: [PATCH 3/8] fix OS version for CI pipeline --- .github/workflows/ci.yaml | 4 ++-- .github/workflows/ci_reusable.yaml | 2 +- .github/workflows/lint-pr.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 22390cfe7..d7ddde928 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,7 +21,7 @@ on: jobs: prejob: name: Get Latest Tag - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 outputs: releaseTag: ${{ steps.tag.outputs.tag }} releaseName: ${{ steps.name.outputs.name }} @@ -191,7 +191,7 @@ jobs: job-summary: name: Create Job Summary - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 if: ${{ always() && contains(join(needs.*.result, ','), 'success') }} needs: [ diff --git a/.github/workflows/ci_reusable.yaml b/.github/workflows/ci_reusable.yaml index 0c2c68e69..05375bdda 100644 --- a/.github/workflows/ci_reusable.yaml +++ b/.github/workflows/ci_reusable.yaml @@ -107,7 +107,7 @@ on: jobs: build-test-deploy: name: Build, Test and Deploy the Marketplace Interface - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 env: REACT_APP_BUYER_SELLER_AGREEMENT_TEMPLATE: "ipfs://QmaUobgQYrMnm2jZ3WowPtwRs4MpMR2TSinp3ChebjnZwe" REACT_APP_RNFT_LICENSE_TEMPLATE: "ipfs://QmPbzbp7xcSKhQPjT5VacLRMVgM1U6DB4LiF2GVyHhvcA7" diff --git a/.github/workflows/lint-pr.yaml b/.github/workflows/lint-pr.yaml index af07db0fc..0e5b69056 100644 --- a/.github/workflows/lint-pr.yaml +++ b/.github/workflows/lint-pr.yaml @@ -10,7 +10,7 @@ on: jobs: lint-pr: name: Validate PR title - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: amannn/action-semantic-pull-request@v4 env: From 11073fb0c3e1a21195b552b1fb911d240f4b5566 Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Thu, 19 Dec 2024 18:48:00 +0000 Subject: [PATCH 4/8] fix compilation problems --- .../form/Upload/WithUploadToIpfs.tsx | 2 +- .../modal/components/Profile/utils.ts | 21 +++++--- src/components/product/ProductImages.tsx | 2 +- .../ConfirmProductDetails.tsx | 7 +-- .../ConfirmProductDigital.tsx | 20 +++---- src/components/product/utils/initialValues.ts | 7 +-- .../product/utils/validationSchema.ts | 53 ++++++++++--------- .../searchModal/CurrencySearchModal.tsx | 4 +- src/components/tokenSafety/index.tsx | 5 +- src/lib/constants/tokenSafety.tsx | 5 +- src/lib/utils/files.ts | 2 +- src/lib/utils/hooks/chat/getThreadWorker.ts | 9 +++- src/lib/utils/hooks/chat/useInfiniteThread.ts | 2 +- .../utils/hooks/offers/useOffersWhitelist.ts | 2 +- .../product/extractUniqueRandomProducts.ts | 2 +- .../transformSwapRouteToGetQuoteResult.ts | 4 +- src/lib/validation/index.ts | 10 ++-- src/pages/chat/components/UploadForm/const.ts | 7 ++- .../create-product/CreateProductInner.tsx | 2 +- .../create-product/utils/buildCondition.ts | 2 +- .../create-product/utils/productDigital.ts | 4 +- src/pages/dcl/DCLPage.tsx | 4 +- tsconfig.json | 1 + 23 files changed, 97 insertions(+), 80 deletions(-) diff --git a/src/components/form/Upload/WithUploadToIpfs.tsx b/src/components/form/Upload/WithUploadToIpfs.tsx index a77098f26..9d0f07888 100644 --- a/src/components/form/Upload/WithUploadToIpfs.tsx +++ b/src/components/form/Upload/WithUploadToIpfs.tsx @@ -70,7 +70,7 @@ export function WithUploadToIpfs

( return false; } - const ipfsArray = []; + const ipfsArray: FileProps[] = []; for (let i = 0; i < filesArray.length; i++) { const file = filesArray[i]; const cid = await saveFile(file); diff --git a/src/components/modal/components/Profile/utils.ts b/src/components/modal/components/Profile/utils.ts index ffb854db4..712178043 100644 --- a/src/components/modal/components/Profile/utils.ts +++ b/src/components/modal/components/Profile/utils.ts @@ -30,8 +30,14 @@ export function buildProfileFromMetadata( (img) => img.tag === "cover" ); const isLens = useLens && lensProfile; - let lensCoverPicture = null, - lensProfileImage = null; + let lensCoverPicture: { + url: string; + type: string; + } | null = null; + let lensProfileImage: { + url: string; + type: string; + } | null = null; if (isLens) { const lensCoverPictureUrl = getLensCoverPictureUrl(lensProfile); const lensCoverPictureType = lensCoverPictureUrl @@ -68,17 +74,16 @@ export function buildProfileFromMetadata( { ...coverPicture, src: coverPicture.url, - fit: "fit" in coverPicture ? coverPicture.fit : undefined, + fit: + "fit" in coverPicture ? (coverPicture.fit as string) : undefined, position: "position" in coverPicture - ? coverPicture.position ?? undefined + ? (coverPicture.position as string) || undefined : undefined } - ] ?? [] - : [], - logo: profileImage - ? [{ ...profileImage, src: profileImage.url }] ?? [] + ] : [], + logo: profileImage ? [{ ...profileImage, src: profileImage.url }] : [], contactPreference: OPTIONS_CHANNEL_COMMUNICATIONS_PREFERENCE.find( (obj) => obj.value === metadata?.contactPreference diff --git a/src/components/product/ProductImages.tsx b/src/components/product/ProductImages.tsx index 2aa3fa24c..3a8f489e2 100644 --- a/src/components/product/ProductImages.tsx +++ b/src/components/product/ProductImages.tsx @@ -78,7 +78,7 @@ const getProductImageError = ( typeof Object.values(errors.productImages)?.[0] === "string" ? Object.values(errors.productImages)?.[0] : null; - return error; + return String(error); }; export default function ProductImages({ onChangeOneSetOfImages }: Props) { const { nextIsDisabled, values, errors } = useForm(); diff --git a/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx b/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx index b083ccbf9..76beb2e18 100644 --- a/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx +++ b/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx @@ -31,6 +31,7 @@ import { Warning } from "phosphor-react"; import { useMemo } from "react"; import styled from "styled-components"; +import { FileProps } from "../../form/Upload/types"; import { SectionTitle } from "../Product.styles"; import { getBundleItemName } from "../productDigital/getBundleItemName"; import { @@ -310,12 +311,12 @@ export default function ConfirmProductDetails({ ([name, images]) => { if ( !images || - !images.length || - !images?.[0]?.src + !(images as FileProps[]).length || + !(images as FileProps[])?.[0]?.src ) { return null; } - const [img] = images; + const [img] = images as FileProps[]; const imgSrc = img.src; return ( diff --git a/src/components/product/confirmProductDetailsPage/ConfirmProductDigital.tsx b/src/components/product/confirmProductDetailsPage/ConfirmProductDigital.tsx index 56d1d3110..72e73a5e5 100644 --- a/src/components/product/confirmProductDetailsPage/ConfirmProductDigital.tsx +++ b/src/components/product/confirmProductDetailsPage/ConfirmProductDigital.tsx @@ -56,11 +56,11 @@ export const ConfirmProductDigital: React.FC = () => {

  • Type: - {bi.type.label} + {bi.type?.label}
  • NFT type: - {bi.newNftType.label} + {bi.newNftType?.label}
  • Name: @@ -78,7 +78,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Buyer information required for transfer:{" "} - {bi.newNftBuyerTransferInfo.label} + {bi.newNftBuyerTransferInfo?.label}
  • @@ -91,11 +91,11 @@ export const ConfirmProductDigital: React.FC = () => {
  • Type: - {bi.type.label} + {bi.type?.label}
  • NFT type: - {bi.mintedNftType.label} + {bi.mintedNftType?.label}
  • ContractAddress:{" "} @@ -117,7 +117,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Buyer information required for transfer:{" "} - {bi.mintedNftBuyerTransferInfo.label} + {bi.mintedNftBuyerTransferInfo?.label}
  • @@ -130,7 +130,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Type: - {bi.type.label} + {bi.type?.label}
  • Name: {bi.digitalFileName} @@ -150,7 +150,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Buyer information required for transfer:{" "} - {bi.digitalFileBuyerTransferInfo.label} + {bi.digitalFileBuyerTransferInfo?.label}
  • @@ -163,7 +163,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Type: - {bi.type.label} + {bi.type?.label}
  • Name: {bi.experientialName} @@ -180,7 +180,7 @@ export const ConfirmProductDigital: React.FC = () => {
  • Buyer information required for transfer:{" "} - {bi.experientialBuyerTransferInfo.label} + {bi.experientialBuyerTransferInfo?.label}
  • diff --git a/src/components/product/utils/initialValues.ts b/src/components/product/utils/initialValues.ts index 73a27109a..247b820db 100644 --- a/src/components/product/utils/initialValues.ts +++ b/src/components/product/utils/initialValues.ts @@ -9,6 +9,7 @@ import { OPTIONS_PERIOD, OPTIONS_UNIT, OPTIONS_WEIGHT, + ProductTypeTypeValues, TOKEN_CRITERIA, TOKEN_TYPES } from "./const"; @@ -36,9 +37,9 @@ export const createYourProfileInitialValues: CreateYourProfile = { export const productTypeInitialValues = { productType: { - productType: "", + productType: "" as ProductTypeTypeValues, productVariant: "", - tokenGatedOffer: "" + tokenGatedOffer: "false" } } as const; @@ -176,7 +177,7 @@ export const shippingInfoInitialValues = { export const imagesSpecificOrAllInitialValues = { imagesSpecificOrAll: { - value: "all", + value: "all" as NonNullable<"all" | "specific" | undefined>, label: "All" } }; diff --git a/src/components/product/utils/validationSchema.ts b/src/components/product/utils/validationSchema.ts index bedfaeab7..60667ae55 100644 --- a/src/components/product/utils/validationSchema.ts +++ b/src/components/product/utils/validationSchema.ts @@ -7,8 +7,7 @@ import { import { Dayjs } from "dayjs"; import { ethers } from "ethers"; import { checkValidUrl, notUrlErrorMessage } from "lib/validation/regex/url"; -import { ValidationError } from "yup"; -import { AnyObject } from "yup/lib/types"; +import { AnyObject, ValidationError } from "yup"; import { validationMessage } from "../../../lib/constants/validationMessage"; import { fixformattedString } from "../../../lib/utils/number"; @@ -118,7 +117,7 @@ const getBundleItemsMedia = ({ Yup.object({ image: validationOfIpfsImage(), video: validationOfIpfsImage() - }).nullable(true) + }).nullable() ).test( "invalidBundleItemsMedia", "Please add an image for new NFTs", @@ -347,7 +346,7 @@ const transferCriteria = Yup.string().required(validationMessage.required); const transferTime = Yup.number() .min(0, "It cannot be negative") .required(validationMessage.required) - .nullable(true); + .nullable(); const transferTimeUnit = Yup.object({ value: Yup.string(), label: Yup.string() @@ -362,7 +361,7 @@ const buyerTransferInfo = Yup.object({ label: Yup.string() }) .required(validationMessage.required) - .nullable(true); + .nullable(); const testTokenAddress = async function ({ tokenType, coreSDK, @@ -472,7 +471,7 @@ const commonFieldsBundleItem = { label: Yup.string() }) .required(validationMessage.required) - .nullable(true) + .nullable() .default(undefined), isNftMintedAlready: Yup.object({ value: Yup.string().oneOf( @@ -488,7 +487,7 @@ const commonFieldsBundleItem = { otherwise: (schema) => schema }) .default(undefined) - .nullable(true) + .nullable() }; const nftType = Yup.object({ value: Yup.string() @@ -497,7 +496,7 @@ const nftType = Yup.object({ label: Yup.string() }) .required(validationMessage.required) - .nullable(true); + .nullable(); const getExistingNftSchema = ({ coreSDK }: { coreSDK: CoreSDK }) => Yup.object({ ...commonFieldsBundleItem, @@ -511,7 +510,7 @@ const getExistingNftSchema = ({ coreSDK }: { coreSDK: CoreSDK }) => label: Yup.string() }) .required(validationMessage.required) - .nullable(true) + .nullable() .default([{ value: "", label: "" }]), mintedNftContractAddress: Yup.string() .required(validationMessage.required) @@ -690,30 +689,32 @@ export const commonCoreTermsOfSaleValidationSchema = { offerValidityPeriod: Yup.mixed() .when("infiniteExpirationOffers", { is: true, - then: Yup.mixed() - .required(validationMessage.required) - .defined(validationMessage.required), - otherwise: Yup.mixed() - .required(validationMessage.required) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - .isOfferValidityDatesValid() + then: (schema) => + schema + .required(validationMessage.required) + .defined(validationMessage.required), + otherwise: (schema) => + schema + .required(validationMessage.required) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + .isOfferValidityDatesValid() }) .required(validationMessage.required), redemptionPeriod: Yup.mixed().when( "infiniteExpirationOffers", { is: true, - then: Yup.mixed().optional(), + then: (schema) => schema.optional(), // .required(validationMessage.required) // .defined(validationMessage.required), - otherwise: Yup.mixed() - // Yup.array() - .required(validationMessage.required) - // .min(2, validationMessage.required) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - .isRedemptionDatesValid() + otherwise: (schema) => + schema + .required(validationMessage.required) + // .min(2, validationMessage.required) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + .isRedemptionDatesValid() } ), voucherValidDurationInDays: Yup.number().when("infiniteExpirationOffers", { @@ -723,7 +724,7 @@ export const commonCoreTermsOfSaleValidationSchema = { .required(validationMessage.required) .min(1, "It has to be 1 at least"); }, - otherwise: Yup.number().min(0, "It must be 0").max(0, "It must be 0") + otherwise: (schema) => schema.min(0, "It must be 0").max(0, "It must be 0") }) }; diff --git a/src/components/searchModal/CurrencySearchModal.tsx b/src/components/searchModal/CurrencySearchModal.tsx index e3e1a3665..57308d795 100644 --- a/src/components/searchModal/CurrencySearchModal.tsx +++ b/src/components/searchModal/CurrencySearchModal.tsx @@ -3,7 +3,7 @@ import Modal from "components/modal/Modal"; import TokenSafety from "components/tokenSafety"; import { useLast } from "lib/utils/hooks/useLast"; import { useWindowSize } from "lib/utils/hooks/useWindowSize"; -import { memo, useCallback, useEffect, useState } from "react"; +import { memo, ReactElement, useCallback, useEffect, useState } from "react"; import { useUserAddedTokens } from "state/user/hooks"; import styled from "styled-components"; @@ -84,7 +84,7 @@ export default memo(function CurrencySearchModal({ const { height: windowHeight } = useWindowSize(); // change min height if not searching let modalHeight: number | undefined = 80; - let content = null; + let content: ReactElement | null = null; switch (modalView) { case CurrencyModalView.search: if (windowHeight) { diff --git a/src/components/tokenSafety/index.tsx b/src/components/tokenSafety/index.tsx index 62c623410..f847d133d 100644 --- a/src/components/tokenSafety/index.tsx +++ b/src/components/tokenSafety/index.tsx @@ -19,6 +19,7 @@ import { ExplorerDataType, getExplorerLink } from "lib/utils/getExplorerLink"; import { useToken } from "lib/utils/hooks/Tokens"; import { ArrowSquareOut as LinkIconFeather, Copy } from "phosphor-react"; import { lighten } from "polished"; +import { ReactElement } from "react-markdown/lib/react-markdown"; import { useAddUserToken } from "state/user/hooks"; import styled from "styled-components"; @@ -230,8 +231,8 @@ export default function TokenSafety({ onBlocked, showCancel }: TokenSafetyProps) { - const logos = []; - const urls = []; + const logos: ReactElement[] = []; + const urls: ReactElement[] = []; const token1Warning = tokenAddress ? checkWarning(tokenAddress) : null; const token1 = useToken(tokenAddress); diff --git a/src/lib/constants/tokenSafety.tsx b/src/lib/constants/tokenSafety.tsx index 5a17dfdf8..6288d901f 100644 --- a/src/lib/constants/tokenSafety.tsx +++ b/src/lib/constants/tokenSafety.tsx @@ -1,4 +1,5 @@ import { constants } from "ethers"; +import { ReactElement } from "react"; import { NATIVE_CHAIN_ID } from "./tokens"; import tokenSafetyLookup, { TOKEN_LIST_TYPES } from "./tokenSafetyLookup"; @@ -13,8 +14,8 @@ export enum WARNING_LEVEL { } export function getWarningCopy(warning: Warning | null, plural = false) { - let heading = null, - description = null; + let heading: ReactElement | null = null, + description: ReactElement | null = null; if (warning) { switch (warning.level) { case WARNING_LEVEL.MEDIUM: diff --git a/src/lib/utils/files.ts b/src/lib/utils/files.ts index e9fc37d36..61a1098cb 100644 --- a/src/lib/utils/files.ts +++ b/src/lib/utils/files.ts @@ -3,7 +3,7 @@ export type FileWithEncodedData = File & { encodedData: string }; export const getFilesWithEncodedData = async ( files: File[] ): Promise => { - const promises = []; + const promises: Array> = []; for (const file of files as FileWithEncodedData[]) { promises.push( new Promise((resolve, reject) => { diff --git a/src/lib/utils/hooks/chat/getThreadWorker.ts b/src/lib/utils/hooks/chat/getThreadWorker.ts index 72ea716b6..22fbd0d6e 100644 --- a/src/lib/utils/hooks/chat/getThreadWorker.ts +++ b/src/lib/utils/hooks/chat/getThreadWorker.ts @@ -179,7 +179,14 @@ function getTimesInFailedPeriod(failedTimesArray: Time[]) { if (dateStep === time.dateStep) { return null; } - const subTimePeriods = []; + const subTimePeriods: { + startTime: Date; + endTime: Date; + isBeginning: boolean; + dateStep: DateStep; + dateStepValue: number; + genesisDate: Date; + }[] = []; let iDateIndex = 1; let from = time.startTime; while (dayjs(from).isBefore(time.endTime)) { diff --git a/src/lib/utils/hooks/chat/useInfiniteThread.ts b/src/lib/utils/hooks/chat/useInfiniteThread.ts index 7ad58fb79..e57827f73 100644 --- a/src/lib/utils/hooks/chat/useInfiniteThread.ts +++ b/src/lib/utils/hooks/chat/useInfiniteThread.ts @@ -232,7 +232,7 @@ export function useInfiniteThread({ } const setIsValidToMessages = async (newThreadXmtp: ThreadObjectWithInfo) => { - const promises = []; + const promises: Array> = []; for (const message of newThreadXmtp.messages) { promises.push( message.isValid === undefined diff --git a/src/lib/utils/hooks/offers/useOffersWhitelist.ts b/src/lib/utils/hooks/offers/useOffersWhitelist.ts index 144d83d01..ec5f6285c 100644 --- a/src/lib/utils/hooks/offers/useOffersWhitelist.ts +++ b/src/lib/utils/hooks/offers/useOffersWhitelist.ts @@ -6,7 +6,7 @@ export const useOffersWhitelist = () => { const { config: { envConfig } } = useConfigContext(); - return useQuery( + return useQuery( ["useOffersWhitelist", envConfig.configId, envConfig.offersWhiteList], async () => { const response = await fetch(envConfig.offersWhiteList); diff --git a/src/lib/utils/product/extractUniqueRandomProducts.ts b/src/lib/utils/product/extractUniqueRandomProducts.ts index 9fa6b4d1f..be92e26a1 100644 --- a/src/lib/utils/product/extractUniqueRandomProducts.ts +++ b/src/lib/utils/product/extractUniqueRandomProducts.ts @@ -16,7 +16,7 @@ export default function extractUniqueRandomProducts({ quantity }: Props) { const sellerIdToProducts = groupBy(products, (p) => p.seller.id); - const productsToReturn = []; + const productsToReturn: ExtendedOffer[] = []; const maxProductsToReturn = Math.min(products.length, quantity); for ( let index = 0; diff --git a/src/lib/utils/transformSwapRouteToGetQuoteResult.ts b/src/lib/utils/transformSwapRouteToGetQuoteResult.ts index bb84ba2bc..e5a372199 100644 --- a/src/lib/utils/transformSwapRouteToGetQuoteResult.ts +++ b/src/lib/utils/transformSwapRouteToGetQuoteResult.ts @@ -40,7 +40,7 @@ export function transformSwapRouteToGetQuoteResult( const tokenIn = tokenPath[i]; const tokenOut = tokenPath[i + 1]; - let edgeAmountIn = undefined; + let edgeAmountIn: string | undefined = undefined; if (i === 0) { edgeAmountIn = tradeType === TradeType.EXACT_INPUT @@ -48,7 +48,7 @@ export function transformSwapRouteToGetQuoteResult( : quote.quotient.toString(); } - let edgeAmountOut = undefined; + let edgeAmountOut: string | undefined = undefined; if (i === pools.length - 1) { edgeAmountOut = tradeType === TradeType.EXACT_INPUT diff --git a/src/lib/validation/index.ts b/src/lib/validation/index.ts index 56e3f1718..c7777325f 100644 --- a/src/lib/validation/index.ts +++ b/src/lib/validation/index.ts @@ -7,7 +7,7 @@ import isOfferValidityDatesValid from "./isOfferValidityDatesValid"; import isRedemptionDatesValid from "./isRedemptionDatesValid"; import returnPeriodValue from "./returnPeriodValue"; -Yup.addMethod>>( +Yup.addMethod( Yup.array, "isRedemptionDatesValid", isRedemptionDatesValid @@ -17,7 +17,7 @@ Yup.addMethod>( "isRedemptionDatesValid", isRedemptionDatesValid ); -Yup.addMethod>>( +Yup.addMethod( Yup.array, "isOfferValidityDatesValid", isOfferValidityDatesValid @@ -27,11 +27,7 @@ Yup.addMethod>( "isOfferValidityDatesValid", isOfferValidityDatesValid ); -Yup.addMethod>>( - Yup.array, - "isItBeforeNow", - isItBeforeNow -); +Yup.addMethod(Yup.array, "isItBeforeNow", isItBeforeNow); Yup.addMethod( Yup.string, "disputePeriodValue", diff --git a/src/pages/chat/components/UploadForm/const.ts b/src/pages/chat/components/UploadForm/const.ts index 8f66f3e05..13a463747 100644 --- a/src/pages/chat/components/UploadForm/const.ts +++ b/src/pages/chat/components/UploadForm/const.ts @@ -21,8 +21,11 @@ export const validationOfFile = ({ supportedFormats?: string[]; }) => { const formats = supportedFormats || SUPPORTED_FILE_FORMATS; - return Yup.mixed() - .nullable(isOptional ? true : undefined) + let schema = Yup.mixed(); + if (!isOptional) { + schema = schema.nullable(); + } + return schema .test("numFiles", `Please upload one file`, (files: File[]) => { return isOptional ? true : !!(files || []).length; }) diff --git a/src/pages/create-product/CreateProductInner.tsx b/src/pages/create-product/CreateProductInner.tsx index ed983f29b..911eb4f79 100644 --- a/src/pages/create-product/CreateProductInner.tsx +++ b/src/pages/create-product/CreateProductInner.tsx @@ -553,7 +553,7 @@ function CreateProductInner({ for (const [index, variant] of Object.entries(variants)) { const productImages = productVariantsImages?.[Number(index)]?.productImages; - const { color, size } = variant; + const { color, size } = variant as { color: string; size: string }; const typeOptions = [ { type: TypeKeys.Size, diff --git a/src/pages/create-product/utils/buildCondition.ts b/src/pages/create-product/utils/buildCondition.ts index c014fa74e..c0b51167c 100644 --- a/src/pages/create-product/utils/buildCondition.ts +++ b/src/pages/create-product/utils/buildCondition.ts @@ -26,7 +26,7 @@ export const buildCondition = ( let threshold: string | undefined; let tokenId = partialTokenGating.tokenId || "0"; - let formatedValue = null; + let formatedValue: string | null = null; if (decimals && partialTokenGating.minBalance) { formatedValue = utils .parseUnits(partialTokenGating.minBalance, decimals) diff --git a/src/pages/create-product/utils/productDigital.ts b/src/pages/create-product/utils/productDigital.ts index 22d3f7689..8417b3aac 100644 --- a/src/pages/create-product/utils/productDigital.ts +++ b/src/pages/create-product/utils/productDigital.ts @@ -120,7 +120,7 @@ export function getDigitalMetadatas({ { traitType: "nft-type", - value: bundleItem.newNftType.value, + value: bundleItem.newNftType?.value || "", displayType: "NFT type" } ]; @@ -169,7 +169,7 @@ export function getDigitalMetadatas({ { traitType: "nft-type", - value: bundleItem.mintedNftType.value, + value: bundleItem.mintedNftType?.value || "", displayType: "NFT type" } ]; diff --git a/src/pages/dcl/DCLPage.tsx b/src/pages/dcl/DCLPage.tsx index 947c014a9..bbb8fa148 100644 --- a/src/pages/dcl/DCLPage.tsx +++ b/src/pages/dcl/DCLPage.tsx @@ -15,7 +15,7 @@ import { useKeepQueryParamsNavigate } from "../../lib/utils/hooks/useKeepQueryPa import { DetailsStep } from "./steps/details/DetailsStep"; import { ExecuteStep } from "./steps/execute/ExecuteStep"; import { DCLLayout } from "./styles"; -import { FormType, validationSchema } from "./validationSchema"; +import { FormType, LocationValues, validationSchema } from "./validationSchema"; const Background = styled.div` width: 100%; `; @@ -108,7 +108,7 @@ export default () => { > initialValues={{ - location: "" + location: "" as LocationValues.OwnLand | LocationValues.BosonLand }} validationSchema={validationSchema} onSubmit={() => { diff --git a/tsconfig.json b/tsconfig.json index 0e236ad97..a4652c530 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,7 @@ "isolatedModules": true, "noEmit": true, "noImplicitThis": false, + "noImplicitAny": false, "jsx": "react-jsx", "paths": { "stream": ["./node_modules/readable-stream"], From 182751650fa4ec27b0266857eaf151591dc17b7b Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Fri, 20 Dec 2024 15:33:56 +0000 Subject: [PATCH 5/8] solve noImplicitAny compilation errors --- .../SalesChannelsModal/SalesChannelsModal.tsx | 11 +- src/components/product/Preview.tsx | 24 +-- src/components/product/ProductImages.tsx | 26 +-- src/components/product/ProductInformation.tsx | 62 +++---- src/components/product/ProductVariants.tsx | 155 ++++++++++-------- src/components/product/ShippingInfo.tsx | 86 +++++----- src/components/product/TermsOfExchange.tsx | 6 +- .../ConfirmProductDetails.tsx | 155 +++++++++++------- .../product/utils/usePreviewOffers.ts | 29 +++- .../product/utils/validationSchema.ts | 100 ++++++----- .../create-product/CreateProductInner.tsx | 28 ++-- tsconfig.json | 1 - 12 files changed, 401 insertions(+), 282 deletions(-) diff --git a/src/components/modal/components/SalesChannelsModal/SalesChannelsModal.tsx b/src/components/modal/components/SalesChannelsModal/SalesChannelsModal.tsx index e6fad217b..983f42fa4 100644 --- a/src/components/modal/components/SalesChannelsModal/SalesChannelsModal.tsx +++ b/src/components/modal/components/SalesChannelsModal/SalesChannelsModal.tsx @@ -57,16 +57,19 @@ export const SalesChannelsModal: React.FC = ({ salesChannels: Object.keys(Channels) .filter( (chKey) => - channels?.some((ch) => ch.value === chKey) || - sellerSalesChannels.some((slch) => slch.tag === chKey) + channels?.some( + (ch: { value: string }) => ch.value === chKey + ) || sellerSalesChannels.some((slch) => slch.tag === chKey) ) .map((chKey) => { const sl = sellerSalesChannels.find( (slch) => slch.tag === chKey ); - const channel = channels?.find((ch) => ch.value === chKey); + const channel = channels?.find( + (ch: { value: string }) => ch.value === chKey + ); const isProductInChannel = !!channels?.some( - (ch) => ch.value === chKey + (ch: { value: string }) => ch.value === chKey ); return { ...sl, diff --git a/src/components/product/Preview.tsx b/src/components/product/Preview.tsx index dfd0802ff..e39bfbea3 100644 --- a/src/components/product/Preview.tsx +++ b/src/components/product/Preview.tsx @@ -165,16 +165,20 @@ export default function Preview({ const variant: VariantV1 = { offer, variations: [ - ...(values.productVariants?.colors?.filter(isTruthy).map((color) => ({ - id: color, - option: color, - type: "Color" as const - })) ?? []), - ...(values.productVariants?.sizes?.filter(isTruthy).map((size) => ({ - id: size, - option: size, - type: "Size" as const - })) ?? []) + ...(values.productVariants?.colors + ?.filter(isTruthy) + .map((color: string) => ({ + id: color, + option: color, + type: "Color" as const + })) ?? []), + ...(values.productVariants?.sizes + ?.filter(isTruthy) + .map((size: string) => ({ + id: size, + option: size, + type: "Size" as const + })) ?? []) ] }; const OfferImage = ( diff --git a/src/components/product/ProductImages.tsx b/src/components/product/ProductImages.tsx index 3a8f489e2..6dad5ac9c 100644 --- a/src/components/product/ProductImages.tsx +++ b/src/components/product/ProductImages.tsx @@ -106,18 +106,20 @@ export default function ProductImages({ onChangeOneSetOfImages }: Props) { ) } ] - : values.productVariants?.variants?.map((variant, index) => { - return { - id: variant.name || index + "", - title: variant.name || `Variant ${index}`, - content: ( - - ) - }; - }) || []), + : values.productVariants?.variants?.map( + (variant: { name: string }, index: number) => { + return { + id: variant.name || index + "", + title: variant.name || `Variant ${index}`, + content: ( + + ) + }; + } + ) || []), ...(isPhygital ? values.productDigital?.bundleItems ?.map((bi, index) => { diff --git a/src/components/product/ProductInformation.tsx b/src/components/product/ProductInformation.tsx index f2fc7a18f..848cfbe4c 100644 --- a/src/components/product/ProductInformation.tsx +++ b/src/components/product/ProductInformation.tsx @@ -56,9 +56,11 @@ const checkLastElementIsPristine = ( const checkIfElementIsDuplicated = ( elements: ProductInformationType["productInformation"]["attributes"] ): boolean => { - const listElements = elements.map((element) => { - return `${element.name}_${element.value}`.toLowerCase(); - }); + const listElements = elements.map( + (element: { name: string; value: string }) => { + return `${element.name}_${element.value}`.toLowerCase(); + } + ); return new Set(listElements).size !== listElements.length; }; @@ -93,31 +95,35 @@ const AddAttributesContainer = ({ <> {render && ( <> - {elements.map((_el, index, array) => ( - -
    - -
    -
    - -
    - {array.length > 1 && ( - { - arrayHelpers.remove(index); - }} - /> - )} -
    - ))} + {elements.map( + (_el: never, index: number, array: string | never[]) => ( + +
    + +
    +
    + +
    + {array.length > 1 && ( + { + arrayHelpers.remove(index); + }} + /> + )} +
    + ) + )} )} diff --git a/src/components/product/ProductVariants.tsx b/src/components/product/ProductVariants.tsx index a100f9aef..91d0d1b1e 100644 --- a/src/components/product/ProductVariants.tsx +++ b/src/components/product/ProductVariants.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { useConfigContext } from "components/config/ConfigContext"; import { useField } from "formik"; -import { useCallback, useEffect } from "react"; +import { Key, useCallback, useEffect } from "react"; import styled from "styled-components"; import { isTruthy } from "../../lib/types/helpers"; @@ -102,21 +102,21 @@ const deleteTagsIfNoVariants = ( const { color, size } = variantToDelete; if (colors?.length) { const variantsWithSameColor = variants.filter( - (variant) => variant.color === color + (variant: { color: string }) => variant.color === color ); if (variantsWithSameColor.length <= 1) { // 1 because the variantToDelete is still there - const filtered = colors.filter((item) => item !== color); + const filtered = colors.filter((item: string) => item !== color); setColors(filtered); } } if (sizes?.length) { const variantsWithSameSize = variants.filter( - (variant) => variant.size === size + (variant: { size: string }) => variant.size === size ); if (variantsWithSameSize.length <= 1) { // 1 because the variantToDelete is still there - const filtered = sizes.filter((item) => item !== size); + const filtered = sizes.filter((item: string) => item !== size); setSizes(filtered); } } @@ -147,10 +147,10 @@ export default function ProductVariants() { } const existingVariants = new Set(); const colors = (fieldColors?.value || []).filter( - (value) => !!value + (value: any) => !!value ) as string[]; const sizes = (fieldSizes?.value || []).filter( - (value) => !!value + (value: any) => !!value ) as string[]; for (const variant of variants) { variant.color && existingVariants.add(getColorSizeKey(variant.color)); @@ -188,12 +188,14 @@ export default function ProductVariants() { }); // remove variants with single tags of the other type - const variantsToKeep = variants.filter((variant) => { - const { color, size } = variant; - const hasOnlyTheOtherTag = - type === "color" ? !!size && !color : !!color && !size; - return !hasOnlyTheOtherTag; - }); + const variantsToKeep = variants.filter( + (variant: { color: string; size: string }) => { + const { color, size } = variant; + const hasOnlyTheOtherTag = + type === "color" ? !!size && !color : !!color && !size; + return !hasOnlyTheOtherTag; + } + ); // add variants with pair Color / Size for (const otherTag of otherTags) { @@ -235,9 +237,11 @@ export default function ProductVariants() { (type: "color" | "size", tag: string) => { const variants = fieldVariants?.value || []; - const variantsToKeep = variants.filter((variant) => { - return variant[type] !== tag; - }); + const variantsToKeep = variants.filter( + (variant: { [x: string]: string }) => { + return variant[type] !== tag; + } + ); helpersVariants.setValue([...variantsToKeep]); }, [fieldVariants?.value, helpersVariants] @@ -311,62 +315,71 @@ export default function ProductVariants() { - {variants?.map((variant, idx) => { - return ( - - - {variant.name} - - - - - - - - - - { - deleteTagsIfNoVariants( - variant, - variants, - fieldColors.value, - helpersColors.setValue, - fieldSizes.value, - helpersSizes.setValue - ); - helpersVariants.setValue([ - ...variants.filter((_, index) => index !== idx) - ]); - }} - > - Remove - + {variants?.map( + ( + variant: { + name: Key | null | undefined; + }, + idx: number + ) => { + return ( + + + {variant.name} - - - ); - })} + + + + + + + + + { + deleteTagsIfNoVariants( + variant, + variants, + fieldColors.value, + helpersColors.setValue, + fieldSizes.value, + helpersSizes.setValue + ); + helpersVariants.setValue([ + ...variants.filter( + (_: never, index: number) => index !== idx + ) + ]); + }} + > + Remove + + + + + ); + } + )} diff --git a/src/components/product/ShippingInfo.tsx b/src/components/product/ShippingInfo.tsx index 7d807d7fc..a82a5e53e 100644 --- a/src/components/product/ShippingInfo.tsx +++ b/src/components/product/ShippingInfo.tsx @@ -101,51 +101,53 @@ const AddSupportedJurisdictions = () => { <> {render && ( <> - {jurisdictions.map((_, index, array) => ( - - -
    - { - handleBlur(e); - setFieldTouched( - `shippingInfo.jurisdiction[${index}].time`, - true - ); - }} - /> -
    -
    - { - handleBlur(e); - setFieldTouched( - `shippingInfo.jurisdiction[${index}].region`, - true - ); - }} - /> -
    - {array.length > 1 && ( -
    - { - arrayHelpers.remove(index); + {jurisdictions.map( + (_: never, index: number, array: string | never[]) => ( + + +
    + { + handleBlur(e); + setFieldTouched( + `shippingInfo.jurisdiction[${index}].time`, + true + ); }} />
    - )} -
    -
    - ))} +
    + { + handleBlur(e); + setFieldTouched( + `shippingInfo.jurisdiction[${index}].region`, + true + ); + }} + /> +
    + {array.length > 1 && ( +
    + { + arrayHelpers.remove(index); + }} + /> +
    + )} + + + ) + )} )} {!checkLastElementIsPristine(jurisdictions) && ( diff --git a/src/components/product/TermsOfExchange.tsx b/src/components/product/TermsOfExchange.tsx index 2f9bd684c..04246add9 100644 --- a/src/components/product/TermsOfExchange.tsx +++ b/src/components/product/TermsOfExchange.tsx @@ -80,14 +80,16 @@ export default function TermsOfExchange() { values.productType?.productVariant === ProductTypeVariantsValues.differentVariants && new Set( - values.productVariants?.variants?.map((variant) => variant.currency.value) + values.productVariants?.variants?.map( + (variant: { currency: { value: string } }) => variant.currency.value + ) ).size > 1; const maxPricePenOrSellerDeposit = values.productType?.productVariant === ProductTypeVariantsValues.differentVariants ? Math.min( ...(values.productVariants?.variants?.map( - (variant) => variant.price + (variant: { price: string }) => variant.price ) ?? []) ) : values.coreTermsOfSale?.price; diff --git a/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx b/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx index 76beb2e18..e2fe73c7f 100644 --- a/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx +++ b/src/components/product/confirmProductDetailsPage/ConfirmProductDetails.tsx @@ -28,7 +28,7 @@ import map from "lodash/map"; import { useChatContext } from "pages/chat/ChatProvider/ChatContext"; import { AgreeToTermsAndSellerAgreement } from "pages/create-product/AgreeToTermsAndSellerAgreement"; import { Warning } from "phosphor-react"; -import { useMemo } from "react"; +import { Key, ReactElement, ReactFragment, ReactPortal, useMemo } from "react"; import styled from "styled-components"; import { FileProps } from "../../form/Upload/types"; @@ -278,57 +278,96 @@ export default function ConfirmProductDetails({ - {values.productVariants.variants.map((variant, idx) => { - const variantImages = - values.productVariantsImages?.[idx]?.productImages; - return ( - - - - {variant.name} - - - - - {variant.price} - - - - - {variant.currency.label} - - - - - {variant.quantity} - - - {!isOneSetOfImages && ( - - - {variantImages && - Object.entries(variantImages).map( - ([name, images]) => { - if ( - !images || - !(images as FileProps[]).length || - !(images as FileProps[])?.[0]?.src - ) { - return null; - } - const [img] = images as FileProps[]; - const imgSrc = img.src; - return ( - - ); - } - )} - + {values.productVariants.variants.map( + ( + variant: { + name: Key | null | undefined; + price: + | string + | number + | boolean + | ReactElement + | ReactFragment + | ReactPortal + | null + | undefined; + currency: { + label: + | string + | number + | boolean + | ReactElement + | ReactFragment + | ReactPortal + | null + | undefined; + }; + quantity: + | string + | number + | boolean + | ReactElement + | ReactFragment + | ReactPortal + | null + | undefined; + }, + idx: string | number + ) => { + const variantImages = + values.productVariantsImages?.[idx]?.productImages; + return ( + + + + {variant.name} + - )} - - ); - })} + + + {variant.price} + + + + + {variant.currency.label} + + + + + {variant.quantity} + + + {!isOneSetOfImages && ( + + + {variantImages && + Object.entries(variantImages).map( + ([name, images]) => { + if ( + !images || + !(images as FileProps[]).length || + !(images as FileProps[])?.[0]?.src + ) { + return null; + } + const [img] = images as FileProps[]; + const imgSrc = img.src; + return ( + + ); + } + )} + + + )} + + ); + } + )}
    @@ -372,9 +411,14 @@ export default function ConfirmProductDetails({ Digital images & videos - {values.bundleItemsMedia - .filter(isTruthy) - .map((biMedia, index) => { + {values.bundleItemsMedia.filter(isTruthy).map( + ( + biMedia: { + image: { src: string }[]; + video: { src: string }[]; + }, + index: number + ) => { const bundleItem = values.productDigital?.bundleItems?.[index]; const name = getBundleItemName(bundleItem); @@ -398,7 +442,8 @@ export default function ConfirmProductDetails({
    ); - })} + } + )} )} diff --git a/src/components/product/utils/usePreviewOffers.ts b/src/components/product/utils/usePreviewOffers.ts index 7ccf3b8fe..cce9a0329 100644 --- a/src/components/product/utils/usePreviewOffers.ts +++ b/src/components/product/utils/usePreviewOffers.ts @@ -120,9 +120,14 @@ export const usePreviewOffers = ({ supportedJurisdictions: values.shippingInfo.jurisdiction.length > 0 ? values.shippingInfo.jurisdiction - .filter((v) => v.time && v.region) + .filter( + (v: { time: string; region: string }) => v.time && v.region + ) .reduce( - (prev, current) => { + ( + prev: { id: string; label: string; deliveryTime: string }[], + current: { region: string; time: string } + ) => { const { region, time } = current; if ( !region || @@ -268,13 +273,19 @@ export const usePreviewOffers = ({ if (isMultiVariant) { const { variants = [] } = values.productVariants; - return variants.map((variant) => { - return buildOffer({ - price: variant.price || 0, - quantityAvailable: variant.quantity, - exchangeSymbol: variant.currency.value - }); - }); + return variants.map( + (variant: { + price: number; + quantity: number; + currency: { value: string }; + }) => { + return buildOffer({ + price: variant.price || 0, + quantityAvailable: variant.quantity, + exchangeSymbol: variant.currency.value + }); + } + ); } return [ diff --git a/src/components/product/utils/validationSchema.ts b/src/components/product/utils/validationSchema.ts index 60667ae55..33f72cdb6 100644 --- a/src/components/product/utils/validationSchema.ts +++ b/src/components/product/utils/validationSchema.ts @@ -121,49 +121,75 @@ const getBundleItemsMedia = ({ ).test( "invalidBundleItemsMedia", "Please add an image for new NFTs", - async function (bundleItemsMedia, context) { + async function ( + bundleItemsMedia: { image: FileProps[]; video: FileProps[] }[], + context: { + parent: { + productDigital: { + bundleItems: Array< + NewNFT | ExistingNFT | DigitalFile | Experiential + >; + }; + }; + options: { + from: { + value: { + productDigital: { + bundleItems: Array< + NewNFT | ExistingNFT | DigitalFile | Experiential + >; + }; + }; + }[]; + }; + createError: (arg0: { path: string; message: string }) => Error; + } + ) { if (isPhygital) { const productDigital = context.parent.productDigital ?? - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore context.options?.from?.find((from) => from.value.productDigital) ?.value?.productDigital; const results = await Promise.allSettled( - bundleItemsMedia?.map(async (bundleItemMedia, index) => { - const bundleItem = productDigital.bundleItems[index]; - if (!bundleItem) { - throw new Error( - `something went wrong as bundleItem could not be found from bundleItemMedia=${JSON.stringify(bundleItemMedia)}, all bundleItems=${JSON.stringify(productDigital.bundleItems)}, index=${index}` - ); - } - if ( - getIsBundleItem( - bundleItem, - "mintedNftContractAddress" - ) - ) { - return; // nothing to test, no images must be uploaded - } - if (getIsBundleItem(bundleItem, "newNftName")) { - const isValid = await Yup.object({ - image: validationOfRequiredIpfsImage(), - video: validationOfIpfsImage() - }).validate(bundleItemMedia); - return isValid; - } - if ( - getIsBundleItem(bundleItem, "digitalFileName") || - getIsBundleItem(bundleItem, "experientialName") - ) { - const isValid = await Yup.object({ - image: validationOfIpfsImage(), - video: validationOfIpfsImage() - }).validate(bundleItemMedia); - return isValid; + bundleItemsMedia?.map( + async ( + bundleItemMedia: { image: FileProps[]; video: FileProps[] }, + index: number + ) => { + const bundleItem = productDigital.bundleItems[index]; + if (!bundleItem) { + throw new Error( + `something went wrong as bundleItem could not be found from bundleItemMedia=${JSON.stringify(bundleItemMedia)}, all bundleItems=${JSON.stringify(productDigital.bundleItems)}, index=${index}` + ); + } + if ( + getIsBundleItem( + bundleItem, + "mintedNftContractAddress" + ) + ) { + return; // nothing to test, no images must be uploaded + } + if (getIsBundleItem(bundleItem, "newNftName")) { + const isValid = await Yup.object({ + image: validationOfRequiredIpfsImage(), + video: validationOfIpfsImage() + }).validate(bundleItemMedia); + return isValid; + } + if ( + getIsBundleItem(bundleItem, "digitalFileName") || + getIsBundleItem(bundleItem, "experientialName") + ) { + const isValid = await Yup.object({ + image: validationOfIpfsImage(), + video: validationOfIpfsImage() + }).validate(bundleItemMedia); + return isValid; + } } - }) || [] + ) || [] ); results.forEach((result, index) => { @@ -276,7 +302,7 @@ export const getProductVariantsImagesValidationSchema = ({ }) ).test({ name: "minLength", - test: function (value) { + test: function (value: never[]) { return value?.length === this.parent.productVariants?.variants.length; } }) @@ -768,7 +794,7 @@ export const getTokenGatingValidationSchema = ({ : ( formValues.productVariants .variants as Yup.InferType["productVariants"]["variants"] - ).reduce((acum, current) => { + ).reduce((acum: number, current: { quantity: number }) => { acum = acum + current.quantity; return acum; }, 0); diff --git a/src/pages/create-product/CreateProductInner.tsx b/src/pages/create-product/CreateProductInner.tsx index 911eb4f79..5c1a6587c 100644 --- a/src/pages/create-product/CreateProductInner.tsx +++ b/src/pages/create-product/CreateProductInner.tsx @@ -383,25 +383,31 @@ function CreateProductInner({ const productMainImageLink: string | undefined = isMultiVariant && !isOneSetOfImages - ? productVariantsImages?.find((variant) => { - return variant.productImages?.thumbnail?.[0]?.src; - })?.productImages?.thumbnail?.[0]?.src + ? productVariantsImages?.find( + (variant: { + productImages: { thumbnail: { src: string }[] }; + }) => { + return variant.productImages?.thumbnail?.[0]?.src; + } + )?.productImages?.thumbnail?.[0]?.src : productImages?.thumbnail?.[0]?.src; const productAttributes: Array<{ traitType: string; value: string; - }> = productInformation.attributes.map(({ name, value }) => { - return { - traitType: name || "", - value: value || "" - }; - }); + }> = productInformation.attributes.map( + ({ name, value }: { name: string; value: string }) => { + return { + traitType: name || "", + value: value || "" + }; + } + ); const supportedJurisdictions: Array = shippingInfo.jurisdiction - .filter((v) => v.time && v.region) - .reduce((prev, current) => { + .filter((v: { time: any; region: any }) => v.time && v.region) + .reduce((prev: any, current: { region: any; time: any }) => { const { region, time } = current; if (!region || region.length === 0 || !time || time.length === 0) { return prev; diff --git a/tsconfig.json b/tsconfig.json index a4652c530..0e236ad97 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,7 +16,6 @@ "isolatedModules": true, "noEmit": true, "noImplicitThis": false, - "noImplicitAny": false, "jsx": "react-jsx", "paths": { "stream": ["./node_modules/readable-stream"], From 1a7b790d7e53b8aae289e27f3b30c8eaf027892b Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Fri, 20 Dec 2024 15:47:19 +0000 Subject: [PATCH 6/8] Apply suggestions from code review Co-authored-by: albertfolch-redeemeum <102516373+albertfolch-redeemeum@users.noreply.github.com> --- src/components/product/ProductImages.tsx | 2 +- src/pages/chat/components/UploadForm/const.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/product/ProductImages.tsx b/src/components/product/ProductImages.tsx index 6dad5ac9c..bf33132b0 100644 --- a/src/components/product/ProductImages.tsx +++ b/src/components/product/ProductImages.tsx @@ -78,7 +78,7 @@ const getProductImageError = ( typeof Object.values(errors.productImages)?.[0] === "string" ? Object.values(errors.productImages)?.[0] : null; - return String(error); + return error? String(error) : error; }; export default function ProductImages({ onChangeOneSetOfImages }: Props) { const { nextIsDisabled, values, errors } = useForm(); diff --git a/src/pages/chat/components/UploadForm/const.ts b/src/pages/chat/components/UploadForm/const.ts index 13a463747..35b24c177 100644 --- a/src/pages/chat/components/UploadForm/const.ts +++ b/src/pages/chat/components/UploadForm/const.ts @@ -22,7 +22,7 @@ export const validationOfFile = ({ }) => { const formats = supportedFormats || SUPPORTED_FILE_FORMATS; let schema = Yup.mixed(); - if (!isOptional) { + if (isOptional) { schema = schema.nullable(); } return schema From eed47b7497b6d2e8ea9b765f90b1125c24d4e6d4 Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Fri, 20 Dec 2024 16:07:32 +0000 Subject: [PATCH 7/8] remove ts-ignore directives --- .../product/utils/validationSchema.ts | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/components/product/utils/validationSchema.ts b/src/components/product/utils/validationSchema.ts index 33f72cdb6..7f9707332 100644 --- a/src/components/product/utils/validationSchema.ts +++ b/src/components/product/utils/validationSchema.ts @@ -111,8 +111,6 @@ const getBundleItemsMedia = ({ }: { isPhygital: boolean; }): ArrayOfMedia => ({ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore bundleItemsMedia: Yup.array( Yup.object({ image: validationOfIpfsImage(), @@ -650,8 +648,7 @@ export const getProductDigitalValidationSchema = ({ } const results = await Promise.allSettled( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (bundleItems as any).map(async (bundleItem: unknown) => { + (bundleItems as unknown[]).map(async (bundleItem: unknown) => { if ( getIsBundleItem( bundleItem, @@ -720,11 +717,7 @@ export const commonCoreTermsOfSaleValidationSchema = { .required(validationMessage.required) .defined(validationMessage.required), otherwise: (schema) => - schema - .required(validationMessage.required) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - .isOfferValidityDatesValid() + schema.required(validationMessage.required).isOfferValidityDatesValid() }) .required(validationMessage.required), redemptionPeriod: Yup.mixed().when( @@ -738,8 +731,6 @@ export const commonCoreTermsOfSaleValidationSchema = { schema .required(validationMessage.required) // .min(2, validationMessage.required) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore .isRedemptionDatesValid() } ), @@ -783,9 +774,7 @@ export const getTokenGatingValidationSchema = ({ .matches(/^\+?[1-9]\d*$/, "Value must greater than 0") .test("notGreaterThan_initialQuantity", function (value, context) { if (value && Number.isInteger(Number.parseInt(value))) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const formValues = context.from[1].value; + const formValues = context.from?.[1].value; const isOneVariant = formValues.productType.productVariant === ProductTypeVariantsValues.oneItemType; From 10e5689b2bbc466d1e8bfd441812f5a22035ee97 Mon Sep 17 00:00:00 2001 From: Ludovic Levalleux Date: Fri, 20 Dec 2024 16:16:06 +0000 Subject: [PATCH 8/8] fix compilation --- src/components/product/ProductImages.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/product/ProductImages.tsx b/src/components/product/ProductImages.tsx index bf33132b0..fa2994d30 100644 --- a/src/components/product/ProductImages.tsx +++ b/src/components/product/ProductImages.tsx @@ -65,7 +65,7 @@ const productImagesPrefix = "productImages"; const getProductImageError = ( index: number, errors: ReturnType>["errors"] -) => { +): string | null => { const error = errors.productImages && typeof errors.productImages === "string" ? errors.productImages @@ -78,7 +78,7 @@ const getProductImageError = ( typeof Object.values(errors.productImages)?.[0] === "string" ? Object.values(errors.productImages)?.[0] : null; - return error? String(error) : error; + return error ? String(error) : null; }; export default function ProductImages({ onChangeOneSetOfImages }: Props) { const { nextIsDisabled, values, errors } = useForm();