From f2ecf1666be8f58f56e686609d6f3b4fefae281d Mon Sep 17 00:00:00 2001 From: EnzoVezzaro Date: Wed, 16 Mar 2022 08:17:02 -0400 Subject: [PATCH 1/7] added freeAgreement to pricing validation (#1188) --- src/components/Publish/Navigation/index.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Publish/Navigation/index.tsx b/src/components/Publish/Navigation/index.tsx index 989e1becd..1d8770b28 100644 --- a/src/components/Publish/Navigation/index.tsx +++ b/src/components/Publish/Navigation/index.tsx @@ -20,7 +20,8 @@ export default function Navigation(): ReactElement { const isSuccessMetadata = errors.metadata === undefined const isSuccessServices = errors.services === undefined const isSuccessPricing = - errors.pricing === undefined && touched.pricing?.price + errors.pricing === undefined && + (touched.pricing?.price || touched.pricing?.freeAgreement) const isSuccessPreview = isSuccessMetadata && isSuccessServices && isSuccessPricing From 822cec37536674fbc415c7ac00e3efaf8b8738d2 Mon Sep 17 00:00:00 2001 From: Norbi <37236152+KatunaNorbert@users.noreply.github.com> Date: Wed, 16 Mar 2022 14:52:05 +0200 Subject: [PATCH 2/7] Keep algorithm private checkbox fixes (#1174) * fix set access inside publish form * added initial value for service access to fix continue button disabled * removed compute environment options field * removed compute options from form.json * update access and algorithmPrivacy fields based on asset type Co-authored-by: Matthias Kretschmann --- content/publish/form.json | 9 --------- src/components/Publish/Metadata/index.tsx | 15 +++++++++++++-- src/components/Publish/Services/index.tsx | 6 +++++- src/components/Publish/_constants.tsx | 2 +- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/content/publish/form.json b/content/publish/form.json index 7e2c85c89..6556d6473 100644 --- a/content/publish/form.json +++ b/content/publish/form.json @@ -141,15 +141,6 @@ "options": ["Forever", "1 day", "1 week", "1 month", "1 year"], "sortOptions": false, "required": true - }, - { - "name": "computeOptions", - "label": "Compute Environment", - "type": "radio", - "options": [ - "populated from computeEnvironmentDefaults in Publish/_constants & computeEnvironmentOptions in Publish/Services/" - ], - "required": true } ] }, diff --git a/src/components/Publish/Metadata/index.tsx b/src/components/Publish/Metadata/index.tsx index 46fd34f0b..3fd8e2c37 100644 --- a/src/components/Publish/Metadata/index.tsx +++ b/src/components/Publish/Metadata/index.tsx @@ -1,7 +1,7 @@ import { BoxSelectionOption } from '@shared/FormFields/BoxSelection' import Input from '@shared/FormInput' import { Field, useFormikContext } from 'formik' -import React, { ReactElement } from 'react' +import React, { ReactElement, useEffect } from 'react' import content from '../../../../content/publish/form.json' import { FormPublishData } from '../_types' import { getFieldContent } from '../_utils' @@ -17,7 +17,7 @@ const assetTypeOptionsTitles = getFieldContent( export default function MetadataFields(): ReactElement { // connect with Form state, use for conditional field rendering - const { values } = useFormikContext() + const { values, setFieldValue } = useFormikContext() // BoxSelection component is not a Formik component // so we need to handle checked state manually. @@ -45,6 +45,17 @@ export default function MetadataFields(): ReactElement { checked: values.metadata.dockerImage === `${preset.image}:${preset.tag}` })) + useEffect(() => { + setFieldValue( + 'services[0].access', + values.metadata.type === 'algorithm' ? 'compute' : 'access' + ) + setFieldValue( + 'services[0].algorithmPrivacy', + values.metadata.type === 'algorithm' + ) + }, [values.metadata.type]) + dockerImageOptions.push({ name: 'custom', title: 'Custom', checked: false }) return ( diff --git a/src/components/Publish/Services/index.tsx b/src/components/Publish/Services/index.tsx index a85ea7671..2262eaa31 100644 --- a/src/components/Publish/Services/index.tsx +++ b/src/components/Publish/Services/index.tsx @@ -43,7 +43,11 @@ export default function ServicesFields(): ReactElement { // Auto-change access type based on algo privacy boolean. // Could be also done later in transformPublishFormToDdo(). useEffect(() => { - if (!values.services[0].algorithmPrivacy) return + if ( + values.services[0].algorithmPrivacy === null || + values.services[0].algorithmPrivacy === undefined + ) + return setFieldValue( 'services[0].access', diff --git a/src/components/Publish/_constants.tsx b/src/components/Publish/_constants.tsx index c231eed3b..42b1ecb14 100644 --- a/src/components/Publish/_constants.tsx +++ b/src/components/Publish/_constants.tsx @@ -70,7 +70,7 @@ export const initialValues: FormPublishData = { links: [{ url: '' }], dataTokenOptions: { name: '', symbol: '' }, timeout: '', - access: '', + access: 'access', providerUrl: { url: 'https://provider.mainnet.oceanprotocol.com', valid: true From ecad0ebb50e7c901e5005818d63c5ec799df7a7e Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 16 Mar 2022 12:56:09 +0000 Subject: [PATCH 3/7] package updates (#1191) Notable updates: * ocean.js v1.0.0-next.28 * @walletconnect/web3-provider v1.7.5 * @portis/web3 v4.0.7 * urql v2.2.0 * web3 v1.7.1 * npm audit fix --- package-lock.json | 1902 +++++++++++++++++++++++++++++---------------- package.json | 34 +- 2 files changed, 1230 insertions(+), 706 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0dde5ae07..9eb1b4044 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,20 +13,20 @@ "@coingecko/cryptoformat": "^0.4.4", "@loadable/component": "^5.15.2", "@oceanprotocol/art": "^3.2.0", - "@oceanprotocol/lib": "^1.0.0-next.27", + "@oceanprotocol/lib": "^1.0.0-next.28", "@oceanprotocol/typographies": "^0.1.0", - "@portis/web3": "^4.0.6", + "@portis/web3": "^4.0.7", "@tippyjs/react": "^4.2.6", - "@walletconnect/web3-provider": "^1.7.1", - "axios": "^0.25.0", + "@walletconnect/web3-provider": "^1.7.5", + "axios": "^0.26.1", "bignumber.js": "^9.0.2", - "chart.js": "^3.7.0", + "chart.js": "^3.7.1", "classnames": "^2.3.1", "date-fns": "^2.28.0", "decimal.js": "^10.3.1", "dom-confetti": "^0.2.2", - "dotenv": "^15.0.0", - "filesize": "^8.0.6", + "dotenv": "^16.0.0", + "filesize": "^8.0.7", "formik": "^2.2.9", "gray-matter": "^4.0.3", "is-url-superb": "^6.1.0", @@ -36,7 +36,7 @@ "lodash.omit": "^4.5.0", "myetherwallet-blockies": "^0.1.1", "next": "^12.1.0", - "query-string": "^7.1.0", + "query-string": "^7.1.1", "react": "^17.0.2", "react-chartjs-2": "^4.0.1", "react-clipboard.js": "^2.0.16", @@ -44,8 +44,8 @@ "react-dom": "^17.0.2", "react-dotdotdot": "^1.3.1", "react-modal": "^3.14.4", - "react-paginate": "^8.1.0", - "react-spring": "^9.4.2", + "react-paginate": "^8.1.2", + "react-spring": "^9.4.4", "react-tabs": "^3.2.3", "react-toastify": "^8.1.0", "remark": "^13.0.0", @@ -53,10 +53,10 @@ "remark-html": "^13.0.1", "remove-markdown": "^0.3.0", "slugify": "^1.6.5", - "swr": "^1.2.0", - "urql": "^2.1.1", + "swr": "^1.2.2", + "urql": "^2.2.0", "use-dark-mode": "^2.3.1", - "web3": "^1.6.1", + "web3": "^1.7.1", "web3modal": "^1.9.5", "yup": "^0.32.11" }, @@ -76,8 +76,8 @@ "@types/react-tabs": "^2.3.4", "@types/remove-markdown": "^0.3.1", "@types/yup": "^0.29.11", - "@typescript-eslint/eslint-plugin": "^5.9.1", - "@typescript-eslint/parser": "^5.9.1", + "@typescript-eslint/eslint-plugin": "^5.15.0", + "@typescript-eslint/parser": "^5.15.0", "apollo": "^2.33.9", "eslint": "^7.27.0", "eslint-config-oceanprotocol": "^1.5.0", @@ -88,11 +88,11 @@ "file-loader": "^6.2.0", "https-browserify": "^1.0.0", "husky": "^7.0.4", - "prettier": "^2.5.1", + "prettier": "^2.6.0", "pretty-quick": "^3.1.3", "process": "^0.11.10", "serve": "^13.0.2", - "stream-http": "^2.8.3", + "stream-http": "^3.2.0", "typescript": "^4.5.4" }, "engines": { @@ -3403,9 +3403,9 @@ } }, "node_modules/@oceanprotocol/lib": { - "version": "1.0.0-next.27", - "resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-1.0.0-next.27.tgz", - "integrity": "sha512-TKPq/N34oTleQLgmsy9PloPmtaOXWIZGEaZUqG940Qf9VPw0+PO7QbgQHMMW0NRILNQFw+kpxZ3OeZ9ry0LS8g==", + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-1.0.0-next.28.tgz", + "integrity": "sha512-al0pSEQyUh5UVKOSJdHV4hWeSQW5Ov1ERH0nMNIIiaEDWCJECkYHoJwtOS1Oxa/TxsGR9Bz/+N0ec7tJfKX6kQ==", "dependencies": { "@oceanprotocol/contracts": "1.0.0-alpha.22", "bignumber.js": "^9.0.2", @@ -3442,9 +3442,9 @@ } }, "node_modules/@oclif/color/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -4034,9 +4034,9 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -4453,26 +4453,26 @@ } }, "node_modules/@react-spring/animated": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.4.3.tgz", - "integrity": "sha512-hKKmeXPoGpJ/zrG/RC8stwW8PmMH0BbewHD8aUPLbyzD9fNvZEJ0mjKmOI0CcSwMpb43kuwY2nX3ZJVImPQCoQ==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.4.4.tgz", + "integrity": "sha512-e9xnuBaUTD+NolKikUmrGWjX8AVCPyj1GcEgjgq9E+0sXKv46UY7cm2EmB6mUDTxWIDVKebARY++xT4nGDraBQ==", "dependencies": { - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0" } }, "node_modules/@react-spring/core": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.4.3.tgz", - "integrity": "sha512-Jr6/GjHwXYxAtttcYDXOtH36krO0XGjYaSsGR6g+vOUO4y0zAPPXoAwpK6vS7Haip5fRwk7rMdNG+OzU7bB4Bg==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.4.4.tgz", + "integrity": "sha512-llgb0ljFyjMB0JhWsaFHOi9XFT8n1jBMVs1IFY2ipIBerWIRWrgUmIpakLPHTa4c4jwqTaDSwX90s2a0iN7dxQ==", "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/rafz": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/rafz": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" }, "funding": { "type": "opencollective", @@ -4482,84 +4482,37 @@ "react": "^16.8.0 || ^17.0.0" } }, - "node_modules/@react-spring/konva": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/konva/-/konva-9.4.3.tgz", - "integrity": "sha512-JWxx0YIwipjJTDs7q9XtArlBCTjejyAJZrbhvxmizOM6ZukUj8hcEFYU03Vt5HUTSC4WfG0rkg2O9V1EAXuzCQ==", - "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - }, - "peerDependencies": { - "konva": ">=2.6", - "react": "^16.8.0 || ^17.0.0", - "react-konva": "^16.8.0 || ^17.0.0" - } - }, - "node_modules/@react-spring/native": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/native/-/native-9.4.3.tgz", - "integrity": "sha512-dfOwzSxJcbHKTNJ26pceZ7xCrqf2+L6W/U17/7aogQwGec4yf1zocWXV3QS+h0HDuY0Bk/yYa7PEy+D+HWc7Og==", - "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-native": ">=0.58" - } - }, "node_modules/@react-spring/rafz": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.4.3.tgz", - "integrity": "sha512-KnujiZNIHzXsRq1D4tVbCajl8Lx+e6vtvUk7o69KbuneSpEgil9P/x3b+hMDk8U0NHGhJjzhU7723/CNsQansA==" + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.4.4.tgz", + "integrity": "sha512-5ki/sQ06Mdf8AuFstSt5zbNNicRT4LZogiJttDAww1ozhuvemafNWEHxhzcULgCPCDu2s7HsroaISV7+GQWrhw==" }, "node_modules/@react-spring/shared": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.4.3.tgz", - "integrity": "sha512-mB1UUD/pl1LzaY0XeNWZtvJzxMa8gLQf02nY12HAz4Rukm9dFRj0jeYwQYLdfYLsGFo1ldvHNurun6hZMG7kiQ==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.4.4.tgz", + "integrity": "sha512-ySVgScDZlhm/+Iy2smY9i/DDrShArY0j6zjTS/Re1lasKnhq8qigoGiAxe8xMPJNlCaj3uczCqHy3TY9bKRtfQ==", "dependencies": { - "@react-spring/rafz": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/rafz": "~9.4.4", + "@react-spring/types": "~9.4.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0" } }, - "node_modules/@react-spring/three": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.4.3.tgz", - "integrity": "sha512-AhCPqoZZXUnzVcKal01sdYBRqkVd2iNxDMk7BGXZsQNWeqaOMaaBT/a6d3oG3wwPX6xIa9ogBtzmzEasN6HYzA==", - "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - }, - "peerDependencies": { - "@react-three/fiber": ">=6.0", - "react": ">=16.11", - "three": ">=0.126" - } - }, "node_modules/@react-spring/types": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.4.3.tgz", - "integrity": "sha512-dzJrPvUc42K2un9y6D1IsrPQO5tKsbWwUo+wsATnXjG3ePWyuDBIOMJuPe605NhIXUmPH+Vik2wMoZz06hD1uA==" + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.4.4.tgz", + "integrity": "sha512-KpxKt/D//q/t/6FBcde/RE36LKp8PpWu7kFEMLwpzMGl9RpcexunmYOQJWwmJWtkQjgE1YRr7DzBMryz6La1cQ==" }, "node_modules/@react-spring/web": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.4.3.tgz", - "integrity": "sha512-llKve/uJ73JVagBAVvA74S/LfZP4oSB3XP1qmggSUNXzPZZo5ylIMrs55PxpLyxgzzihuhDU5N17ct3ATViOHw==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.4.4.tgz", + "integrity": "sha512-iJmOLdhcuizriUlu/xqBc5y8KaFts+UI+iC+GxyTwBtzxA9czKiSAZW2ESuhG8stafa3jncwjfTQQp84KN36cw==", "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0", @@ -4567,14 +4520,14 @@ } }, "node_modules/@react-spring/zdog": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.4.3.tgz", - "integrity": "sha512-ujRJBKEWC6miwPhCwHkn13h9OfqK+Kkq49crebo5neY4kCK2efNoagQo54DwXFgbVNFJV+6GwcAZVI2ybS5L1Q==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.4.4.tgz", + "integrity": "sha512-qmD8zRcodbQKTAFVMdgW2pYIZP1KttDnz2S2JEc7kx8I8F5ljn9czgRl5c4w9HJ0dpO8VTfPq4sKa4tlUL23yg==", "dependencies": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0", @@ -6513,14 +6466,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz", - "integrity": "sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", + "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/type-utils": "5.13.0", - "@typescript-eslint/utils": "5.13.0", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/type-utils": "5.15.0", + "@typescript-eslint/utils": "5.15.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -6545,72 +6498,13 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", + "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.13.0.tgz", - "integrity": "sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", - "debug": "^4.3.2" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz", - "integrity": "sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", - "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.13.0", + "@typescript-eslint/utils": "5.15.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -6630,10 +6524,120 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", + "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", + "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", + "debug": "^4.3.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", + "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/types": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.13.0.tgz", - "integrity": "sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", + "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6644,13 +6648,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz", - "integrity": "sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", + "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -6685,37 +6689,13 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.13.0.tgz", - "integrity": "sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz", - "integrity": "sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", + "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.13.0", + "@typescript-eslint/types": "5.15.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -6753,54 +6733,54 @@ } }, "node_modules/@walletconnect/browser-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.4.tgz", - "integrity": "sha512-YAM+PyRdJb6WZMUDHPAjlYAad6NrgQypmKiC9iKZhcgcYuFIkbY+tRx+Lp7WAXeZS8TsORagi+Sl4T+MnsRzxA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.5.tgz", + "integrity": "sha512-gm9ufi0n5cGBXoGWDtMVSqIJ0eXYW+ZFuTNVN0fm4oal26J7cPrOdFjzhv5zvx5fKztWQ21DNFZ+PRXBjXg04Q==", "dependencies": { "@walletconnect/safe-json": "1.0.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "@walletconnect/window-getters": "1.0.0", "@walletconnect/window-metadata": "1.0.0", "detect-browser": "5.2.0" } }, "node_modules/@walletconnect/client": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.4.tgz", - "integrity": "sha512-J6o5vCv84I1ROI7XGHzkabp37TUXpdyqDRQrg6d0usYQVD7B232Hz9jV4K4Ei9PF5CdauXgafFF95Qanlx1shw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.5.tgz", + "integrity": "sha512-Vh3h1kfhmJ4Jx//H0lmmfDc5Q2s+R73Nh5cetVN41QPRrAcqHE4lR2ZS8XxRCNBl4/gcHZJIZS9J2Ui4tTXBLA==", "dependencies": { - "@walletconnect/core": "^1.7.4", - "@walletconnect/iso-crypto": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/core": "^1.7.5", + "@walletconnect/iso-crypto": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "node_modules/@walletconnect/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.4.tgz", - "integrity": "sha512-yhNgyc2r5z4r633J4jMfbcC5PzMq7qlie70rXIOqN2apKnnxffqWEogv9DaZvwV/Lr3h/8aEuGIXP1ModriWPg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.5.tgz", + "integrity": "sha512-c4B8s9fZ/Ah2p460Hxo4e9pwLQVYT2+dVYAfqaxVzfYjhAokDEtO55Bdm1hujtRjQVqwTvCljKxBB+LgMp3k8w==", "dependencies": { - "@walletconnect/socket-transport": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/socket-transport": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "node_modules/@walletconnect/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-IgUReNrycIFxkGgq8YT9HsosCkhutakWD9Q411PR0aJfxpEa/VKJeaLRtoz6DvJpztWStwhIHnAbBoOVR72a6g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.2.tgz", + "integrity": "sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==", "dependencies": { - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.1", + "@walletconnect/randombytes": "^1.0.2", "aes-js": "^3.1.2", "hash.js": "^1.1.7" } }, "node_modules/@walletconnect/encoding": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.0.tgz", - "integrity": "sha512-4nkJFnS0QF5JdieG/3VPD1/iEWkLSZ14EBInLZ00RWxmC6EMZrzAeHNAWIgm+xP3NK0lqz+7lEsmWGtcl5gYnQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.1.tgz", + "integrity": "sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==", "dependencies": { "is-typedarray": "1.0.0", "typedarray-to-buffer": "3.1.5" @@ -6812,24 +6792,24 @@ "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" }, "node_modules/@walletconnect/http-connection": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.4.tgz", - "integrity": "sha512-vXdAbUZJ9u8fbGvNBqR39p2HLemKqice9S6KDaZWz7EGClN5agoLK+wh3AgZOoZ4gfwhvcqAQvEiEgIXRd2d0w==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.5.tgz", + "integrity": "sha512-WDy2Y/07c1F107362jel0voeV6QMJuWbwAKNLtxlX8Y9KNzqZAGlHhIZykSWrMjNGwxBaXoqLPmu60uVvodc6A==", "dependencies": { - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "eventemitter3": "4.0.7", "xhr2-cookies": "1.1.0" } }, "node_modules/@walletconnect/iso-crypto": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.4.tgz", - "integrity": "sha512-oqLuBcORDO0doaK7LYissviUVlS//jdrhK8GnMMI6mkNh195FHURoi7jUvSE8Nxr5doUNRi9d7bDrEujA++xtw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.5.tgz", + "integrity": "sha512-mJdRs2SqAPOLBBqLhU+ZnAh2c8TL2uDuL/ojV4aBzZ0ZHNT7X2zSOjAiixCb3vvH8GAt30OKmiRo3+ChI/9zvA==", "dependencies": { - "@walletconnect/crypto": "^1.0.1", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "node_modules/@walletconnect/jsonrpc-types": { @@ -6856,24 +6836,24 @@ "deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry" }, "node_modules/@walletconnect/qrcode-modal": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.4.tgz", - "integrity": "sha512-e3uHqrscLdFOwF26O0v8nzzyO+8TF5Zb1G+jsn8QB5QLpiDXMMWeQqV0wWM/V80bX/wsvBTL0aSvzeHVvKFWYw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.5.tgz", + "integrity": "sha512-LVq35jc3VMGq1EMcGCObQtEiercMDmUHDnc7A3AmUo0LoAbaPo6c8Hq0zqy2+JhtLmxUhU3ktf+szmCoiUDTUQ==", "dependencies": { - "@walletconnect/browser-utils": "^1.7.4", + "@walletconnect/browser-utils": "^1.7.5", "@walletconnect/mobile-registry": "^1.4.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "copy-to-clipboard": "^3.3.1", "preact": "10.4.1", "qrcode": "1.4.4" } }, "node_modules/@walletconnect/randombytes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.1.tgz", - "integrity": "sha512-YJTyq69i0PtxVg7osEpKfvjTaWuAsR49QEcqGKZRKVQWMbGXBZ65fovemK/SRgtiFRv0V8PwsrlKSheqzfPNcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.2.tgz", + "integrity": "sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==", "dependencies": { - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/environment": "^1.0.0", "randombytes": "^2.1.0" } @@ -6884,29 +6864,29 @@ "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" }, "node_modules/@walletconnect/socket-transport": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.4.tgz", - "integrity": "sha512-5RDIZtyQqs5LFqmluE/5Gy4obaClGVDrhlhZJTUn86R49FppJq2pe362NnoJt6J6xLSLZlZ54WIBl6cIlRoVww==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.5.tgz", + "integrity": "sha512-4TYCxrNWb4f5a1NGsALXidr+/6dOiqgVfUQJ4fdP6R7ijL+7jtdiktguU9FIDq5wFXRE+ZdpCpwSAfOt60q/mQ==", "dependencies": { - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "ws": "7.5.3" } }, "node_modules/@walletconnect/types": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.4.tgz", - "integrity": "sha512-jvdW1/7z16dCC3i2uwPSgXjUXkmvJH0M2PbYD8ZETyEj/oSiLd32nPAUZVU0IVqQk4XAZHUTKhlRgxTch1W4Qg==" + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.5.tgz", + "integrity": "sha512-0HvZzxD93et4DdrYgAvclI1BqclkZS7iPWRtbGg3r+PQhRPbOkNypzBy6XH6wflbmr+WBGdmyJvynHsdhcCqUA==" }, "node_modules/@walletconnect/utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.4.tgz", - "integrity": "sha512-09667lbpClPpbskCpLllAQ3MSiNnDlTlqcmWANJ/ZuqCqq5ENyytPqkUjPFSfRfRVkgdQ2t/byeQtDd1TEpHcg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.5.tgz", + "integrity": "sha512-U954rIIA/g/Cmdqy+n3hMY1DDMmXxGs8w/QmrK9b/H5nkQ3e4QicOyynq5g/JTTesN5HZdDTFiyX9r0GSKa+iA==", "dependencies": { - "@walletconnect/browser-utils": "^1.7.4", - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/browser-utils": "^1.7.5", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/jsonrpc-utils": "^1.0.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "bn.js": "4.11.8", "js-sha3": "0.8.0", "query-string": "6.13.5" @@ -6934,15 +6914,15 @@ } }, "node_modules/@walletconnect/web3-provider": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.4.tgz", - "integrity": "sha512-VyHyUTx8ovrMRPs0VaMLXUjaG5eNbpK1ZWj+8frOJA18jpgDmtmAVccj0oUukAxuhVTnLZR10KGs0Kd8oWWNTA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.5.tgz", + "integrity": "sha512-x+UWOTu7jd9qog9NWhaspOmVRDJPnQrgZBscnaSC+x/aAsi52VUrd1GZ9c5UNZFgss41fdx3Z2KhkPeVrlrbuQ==", "dependencies": { - "@walletconnect/client": "^1.7.4", - "@walletconnect/http-connection": "^1.7.4", - "@walletconnect/qrcode-modal": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/client": "^1.7.5", + "@walletconnect/http-connection": "^1.7.5", + "@walletconnect/qrcode-modal": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "web3-provider-engine": "16.0.1" } }, @@ -8300,9 +8280,9 @@ "dev": true }, "node_modules/apollo/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -8572,11 +8552,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "dependencies": { - "follow-redirects": "^1.14.7" + "follow-redirects": "^1.14.8" } }, "node_modules/babel-plugin-dynamic-import-node": { @@ -10105,9 +10085,9 @@ } }, "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { "node": ">=6" } @@ -10692,6 +10672,12 @@ "url": "https://opencollective.com/date-fns" } }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "peer": true + }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -10978,9 +10964,9 @@ } }, "node_modules/dotenv": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-15.0.1.tgz", - "integrity": "sha512-4OnbwRfzR+xQThp7uq1xpUS9fmgZ//njexOtPjPSbK3yHGrSHSJnaJRsXderSSm2elfvVj+Y5awDC0I8Oy8rkA==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==", "engines": { "node": ">=12" } @@ -11067,6 +11053,16 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/encoding-down": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", @@ -11122,6 +11118,19 @@ "node": ">=6" } }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -11383,9 +11392,9 @@ } }, "node_modules/eslint-config-oceanprotocol/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -12230,33 +12239,6 @@ "node": ">=4.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", @@ -16036,6 +16018,12 @@ "graceful-fs": "^4.1.9" } }, + "node_modules/konva": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/konva/-/konva-3.4.1.tgz", + "integrity": "sha512-Lra+Sb9dFwsCtkWoFvtcmVFbzAZCqSS/we3iTxDogBl3DTTjieY0e/1crqvs/EZCNR5uV2Kfvkn7t2547cD1SQ==", + "peer": true + }, "node_modules/lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -18878,6 +18866,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "node_modules/pointer-events-polyfill": { + "version": "0.4.4-pre", + "resolved": "https://registry.npmjs.org/pointer-events-polyfill/-/pointer-events-polyfill-0.4.4-pre.tgz", + "integrity": "sha512-t7iitVY5jW9mGOFZEHphJOzB8eMhoYaE6I5HqsUX14rjsPa9F6OlMOCj3EpqDzNb/8XtMk2BxMpOyePPyuefHw==", + "peer": true + }, "node_modules/postcss": { "version": "8.4.5", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", @@ -18935,15 +18929,18 @@ } }, "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/prettier-linter-helpers": { @@ -19467,6 +19464,16 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "node_modules/react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, "node_modules/react-modal": { "version": "3.14.4", "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.14.4.tgz", @@ -19497,16 +19504,236 @@ } }, "node_modules/react-spring": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-9.4.3.tgz", - "integrity": "sha512-GGKAqQQ790JLoA2SAUgdJErFRG8oFR6pzX8jnJoqORVWX5Wo9bJUWs4563f2oN19+yQkVhc77neAkqQ7GCN8Lw==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-9.4.4.tgz", + "integrity": "sha512-VOqilh9DJBsS6Pf550YLhdReS3j9a2AQVh7NcsNtWoxTYIeuErWi6ym0++6bBhQp4yT5xvVvUDaJ8ez8vrFgaw==", "dependencies": { - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/konva": "~9.4.3-beta.0", - "@react-spring/native": "~9.4.3-beta.0", - "@react-spring/three": "~9.4.3-beta.0", - "@react-spring/web": "~9.4.3-beta.0", - "@react-spring/zdog": "~9.4.3-beta.0" + "@react-spring/core": "~9.4.4", + "@react-spring/konva": "~9.4.4", + "@react-spring/native": "~9.4.4", + "@react-spring/three": "~9.4.4", + "@react-spring/web": "~9.4.4", + "@react-spring/zdog": "~9.4.4" + } + }, + "node_modules/react-spring/node_modules/@react-spring/konva": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/konva/-/konva-9.4.4.tgz", + "integrity": "sha512-ZHwsf4l/W5YzK8TwlvGXL9SYiHxxC6iEOAKStRs8WV6VuBvTFgIoGK5RNOTbsRC2N/spNWnN6JViz1PNbgrB+A==", + "dependencies": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + }, + "peerDependencies": { + "konva": ">=2.6", + "react": "^16.8.0 || ^17.0.0", + "react-konva": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/react-spring/node_modules/@react-spring/native": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/native/-/native-9.4.4.tgz", + "integrity": "sha512-p0/JI59JVkgVjnoLvu+cpEgEkE0B3RDvzT1oNaCAx0ePaGQo4ICAS8PyOgPvN5IHUOy59CBLSMNnFyHV+IgaGQ==", + "dependencies": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-native": ">=0.58" + } + }, + "node_modules/react-spring/node_modules/@react-spring/three": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.4.4.tgz", + "integrity": "sha512-z77ohxg8zG0CcZJojzfoJTTrjSbIyefNz2RlId68/4IypnOs1p8kB2Q1p+wX4KyWORpLg8ivsPcjtwBjGwfDtg==", + "dependencies": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + }, + "peerDependencies": { + "@react-three/fiber": ">=6.0", + "react": ">=16.11", + "three": ">=0.126" + } + }, + "node_modules/react-spring/node_modules/@react-three/fiber": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-7.0.26.tgz", + "integrity": "sha512-46NBais4fQIGcMGLBbOf84lp8y/cg73jOEVmAQQJqWX6iOVeNg29jYd15LBuCW2qPD1qDRU0rOfLbMDgwr/vxQ==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "react-merge-refs": "^1.1.0", + "react-reconciler": "^0.26.2", + "react-three-fiber": "0.0.0-deprecated", + "react-use-measure": "^2.1.1", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "^0.20.2", + "use-asset": "^1.0.4", + "utility-types": "^3.10.0", + "zustand": "^3.5.1" + }, + "peerDependencies": { + "react": ">=17.0", + "react-dom": ">=17.0", + "three": ">=0.133" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-spring/node_modules/@react-three/fiber/node_modules/react-reconciler": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz", + "integrity": "sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^17.0.2" + } + }, + "node_modules/react-spring/node_modules/@react-three/fiber/node_modules/react-use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", + "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==", + "peer": true, + "dependencies": { + "debounce": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.13", + "react-dom": ">=16.13" + } + }, + "node_modules/react-spring/node_modules/@react-three/fiber/node_modules/use-asset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/use-asset/-/use-asset-1.0.4.tgz", + "integrity": "sha512-7/hqDrWa0iMnCoET9W1T07EmD4Eg/Wmoj/X8TGBc++ECRK4m5yTsjP4O6s0yagbxfqIOuUkIxe2/sA+VR2GxZA==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "react": ">=17.0" + } + }, + "node_modules/react-spring/node_modules/react": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", + "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-spring/node_modules/react-dom": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", + "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-spring/node_modules/react-dom/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-spring/node_modules/react-konva": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-konva/-/react-konva-16.8.6.tgz", + "integrity": "sha512-6KRIqHyJuTTMuAehDIXvw+ZrtEj2aMc2fwolhmFlg1HBzH4PJimsMByTcEx292Afh9d38TcHdjXP1C58qqDOlg==", + "peer": true, + "dependencies": { + "react-reconciler": "^0.20.4", + "scheduler": "^0.13.6" + }, + "peerDependencies": { + "konva": "^3.2.3", + "react": "16.8.x", + "react-dom": "16.8.x" + } + }, + "node_modules/react-spring/node_modules/react-konva/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-spring/node_modules/react-reconciler": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", + "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-spring/node_modules/react-reconciler/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-spring/node_modules/react/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "node_modules/react-tabs": { @@ -19521,6 +19748,12 @@ "react": "^16.3.0 || ^17.0.0-0" } }, + "node_modules/react-three-fiber": { + "version": "0.0.0-deprecated", + "resolved": "https://registry.npmjs.org/react-three-fiber/-/react-three-fiber-0.0.0-deprecated.tgz", + "integrity": "sha512-EblIqTAsIpkYeM8bZtC4lcpTE0A2zCEGipFB52RgcQq/q+0oryrk7Sxt+sqhIjUu6xMNEVywV8dr74lz5yWO6A==", + "peer": true + }, "node_modules/react-toastify": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-8.2.0.tgz", @@ -19533,6 +19766,63 @@ "react-dom": ">=16" } }, + "node_modules/react-zdog": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/react-zdog/-/react-zdog-1.0.11.tgz", + "integrity": "sha512-L6/8Zi+Nf+faNMsSZ31HLmLlu6jcbs/jqqFvme7CFnYjAeYfhJ4HyuHKd7Pu/zk9tegv6FaJj1v+hmUwUpKLQw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.4.4", + "lodash-es": "^4.17.11", + "pointer-events-polyfill": "^0.4.4-pre", + "react-reconciler": "^0.20.4", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "0.13.3" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8", + "zdog": ">=1.1" + } + }, + "node_modules/react-zdog/node_modules/react-reconciler": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", + "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-zdog/node_modules/react-reconciler/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-zdog/node_modules/scheduler": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.3.tgz", + "integrity": "sha512-UxN5QRYWtpR1egNWzJcVLk8jlegxAugswQc984lD3kU7NuobsO37/sRfbpTdBjtnD5TBNFA2Q2oLV5+UmPSmEQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -19995,6 +20285,12 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "peer": true + }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -21077,52 +21373,15 @@ } }, "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, "dependencies": { "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" } }, "node_modules/strict-uri-encode": { @@ -21739,6 +21998,12 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "node_modules/three": { + "version": "0.138.3", + "resolved": "https://registry.npmjs.org/three/-/three-0.138.3.tgz", + "integrity": "sha512-4t1cKC8gimNyJChJbaklg8W/qj3PpsLJUIFm5LIuAy/hVxxNm1ru2FGTSfbTSsuHmC/7ipsyuGKqrSAKLNtkzg==", + "peer": true + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -21791,12 +22056,6 @@ "node": ">=0.6.0" } }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -22418,6 +22677,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "peer": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -23975,9 +24243,9 @@ } }, "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { "node": ">=6" } @@ -24113,6 +24381,12 @@ "node": ">=10" } }, + "node_modules/zdog": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz", + "integrity": "sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==", + "peer": true + }, "node_modules/zen-observable": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", @@ -24135,6 +24409,23 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/zustand": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.1.tgz", + "integrity": "sha512-wHBCZlKj+bg03/hP+Tzv24YhnqqP8MCeN9ECPDXoF01062SIbnfl3j9O0znkDw1lNTY0a8WN3F///a0UhhaEqg==", + "peer": true, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", @@ -26402,9 +26693,9 @@ } }, "@oceanprotocol/lib": { - "version": "1.0.0-next.27", - "resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-1.0.0-next.27.tgz", - "integrity": "sha512-TKPq/N34oTleQLgmsy9PloPmtaOXWIZGEaZUqG940Qf9VPw0+PO7QbgQHMMW0NRILNQFw+kpxZ3OeZ9ry0LS8g==", + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-1.0.0-next.28.tgz", + "integrity": "sha512-al0pSEQyUh5UVKOSJdHV4hWeSQW5Ov1ERH0nMNIIiaEDWCJECkYHoJwtOS1Oxa/TxsGR9Bz/+N0ec7tJfKX6kQ==", "requires": { "@oceanprotocol/contracts": "1.0.0-alpha.22", "bignumber.js": "^9.0.2", @@ -26435,9 +26726,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "chalk": { @@ -26890,9 +27181,9 @@ "dev": true }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "clean-stack": { @@ -27227,97 +27518,64 @@ } }, "@react-spring/animated": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.4.3.tgz", - "integrity": "sha512-hKKmeXPoGpJ/zrG/RC8stwW8PmMH0BbewHD8aUPLbyzD9fNvZEJ0mjKmOI0CcSwMpb43kuwY2nX3ZJVImPQCoQ==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.4.4.tgz", + "integrity": "sha512-e9xnuBaUTD+NolKikUmrGWjX8AVCPyj1GcEgjgq9E+0sXKv46UY7cm2EmB6mUDTxWIDVKebARY++xT4nGDraBQ==", "requires": { - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" } }, "@react-spring/core": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.4.3.tgz", - "integrity": "sha512-Jr6/GjHwXYxAtttcYDXOtH36krO0XGjYaSsGR6g+vOUO4y0zAPPXoAwpK6vS7Haip5fRwk7rMdNG+OzU7bB4Bg==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.4.4.tgz", + "integrity": "sha512-llgb0ljFyjMB0JhWsaFHOi9XFT8n1jBMVs1IFY2ipIBerWIRWrgUmIpakLPHTa4c4jwqTaDSwX90s2a0iN7dxQ==", "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/rafz": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - } - }, - "@react-spring/konva": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/konva/-/konva-9.4.3.tgz", - "integrity": "sha512-JWxx0YIwipjJTDs7q9XtArlBCTjejyAJZrbhvxmizOM6ZukUj8hcEFYU03Vt5HUTSC4WfG0rkg2O9V1EAXuzCQ==", - "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - } - }, - "@react-spring/native": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/native/-/native-9.4.3.tgz", - "integrity": "sha512-dfOwzSxJcbHKTNJ26pceZ7xCrqf2+L6W/U17/7aogQwGec4yf1zocWXV3QS+h0HDuY0Bk/yYa7PEy+D+HWc7Og==", - "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/rafz": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" } }, "@react-spring/rafz": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.4.3.tgz", - "integrity": "sha512-KnujiZNIHzXsRq1D4tVbCajl8Lx+e6vtvUk7o69KbuneSpEgil9P/x3b+hMDk8U0NHGhJjzhU7723/CNsQansA==" + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.4.4.tgz", + "integrity": "sha512-5ki/sQ06Mdf8AuFstSt5zbNNicRT4LZogiJttDAww1ozhuvemafNWEHxhzcULgCPCDu2s7HsroaISV7+GQWrhw==" }, "@react-spring/shared": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.4.3.tgz", - "integrity": "sha512-mB1UUD/pl1LzaY0XeNWZtvJzxMa8gLQf02nY12HAz4Rukm9dFRj0jeYwQYLdfYLsGFo1ldvHNurun6hZMG7kiQ==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.4.4.tgz", + "integrity": "sha512-ySVgScDZlhm/+Iy2smY9i/DDrShArY0j6zjTS/Re1lasKnhq8qigoGiAxe8xMPJNlCaj3uczCqHy3TY9bKRtfQ==", "requires": { - "@react-spring/rafz": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" - } - }, - "@react-spring/three": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.4.3.tgz", - "integrity": "sha512-AhCPqoZZXUnzVcKal01sdYBRqkVd2iNxDMk7BGXZsQNWeqaOMaaBT/a6d3oG3wwPX6xIa9ogBtzmzEasN6HYzA==", - "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/rafz": "~9.4.4", + "@react-spring/types": "~9.4.4" } }, "@react-spring/types": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.4.3.tgz", - "integrity": "sha512-dzJrPvUc42K2un9y6D1IsrPQO5tKsbWwUo+wsATnXjG3ePWyuDBIOMJuPe605NhIXUmPH+Vik2wMoZz06hD1uA==" + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.4.4.tgz", + "integrity": "sha512-KpxKt/D//q/t/6FBcde/RE36LKp8PpWu7kFEMLwpzMGl9RpcexunmYOQJWwmJWtkQjgE1YRr7DzBMryz6La1cQ==" }, "@react-spring/web": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.4.3.tgz", - "integrity": "sha512-llKve/uJ73JVagBAVvA74S/LfZP4oSB3XP1qmggSUNXzPZZo5ylIMrs55PxpLyxgzzihuhDU5N17ct3ATViOHw==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.4.4.tgz", + "integrity": "sha512-iJmOLdhcuizriUlu/xqBc5y8KaFts+UI+iC+GxyTwBtzxA9czKiSAZW2ESuhG8stafa3jncwjfTQQp84KN36cw==", "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" } }, "@react-spring/zdog": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.4.3.tgz", - "integrity": "sha512-ujRJBKEWC6miwPhCwHkn13h9OfqK+Kkq49crebo5neY4kCK2efNoagQo54DwXFgbVNFJV+6GwcAZVI2ybS5L1Q==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.4.4.tgz", + "integrity": "sha512-qmD8zRcodbQKTAFVMdgW2pYIZP1KttDnz2S2JEc7kx8I8F5ljn9czgRl5c4w9HJ0dpO8VTfPq4sKa4tlUL23yg==", "requires": { - "@react-spring/animated": "~9.4.3-beta.0", - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/shared": "~9.4.3-beta.0", - "@react-spring/types": "~9.4.3-beta.0" + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" } }, "@samverschueren/stream-to-observable": { @@ -28976,14 +29234,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz", - "integrity": "sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", + "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/type-utils": "5.13.0", - "@typescript-eslint/utils": "5.13.0", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/type-utils": "5.15.0", + "@typescript-eslint/utils": "5.15.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -28992,6 +29250,48 @@ "tsutils": "^3.21.0" }, "dependencies": { + "@typescript-eslint/type-utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", + "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.15.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", + "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -29004,52 +29304,41 @@ } }, "@typescript-eslint/parser": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.13.0.tgz", - "integrity": "sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", + "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz", - "integrity": "sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", + "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", - "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.13.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0" } }, "@typescript-eslint/types": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.13.0.tgz", - "integrity": "sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", + "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz", - "integrity": "sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", + "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -29068,27 +29357,13 @@ } } }, - "@typescript-eslint/utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.13.0.tgz", - "integrity": "sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, "@typescript-eslint/visitor-keys": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz", - "integrity": "sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", + "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", + "@typescript-eslint/types": "5.15.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -29114,54 +29389,54 @@ "requires": {} }, "@walletconnect/browser-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.4.tgz", - "integrity": "sha512-YAM+PyRdJb6WZMUDHPAjlYAad6NrgQypmKiC9iKZhcgcYuFIkbY+tRx+Lp7WAXeZS8TsORagi+Sl4T+MnsRzxA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.5.tgz", + "integrity": "sha512-gm9ufi0n5cGBXoGWDtMVSqIJ0eXYW+ZFuTNVN0fm4oal26J7cPrOdFjzhv5zvx5fKztWQ21DNFZ+PRXBjXg04Q==", "requires": { "@walletconnect/safe-json": "1.0.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "@walletconnect/window-getters": "1.0.0", "@walletconnect/window-metadata": "1.0.0", "detect-browser": "5.2.0" } }, "@walletconnect/client": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.4.tgz", - "integrity": "sha512-J6o5vCv84I1ROI7XGHzkabp37TUXpdyqDRQrg6d0usYQVD7B232Hz9jV4K4Ei9PF5CdauXgafFF95Qanlx1shw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.5.tgz", + "integrity": "sha512-Vh3h1kfhmJ4Jx//H0lmmfDc5Q2s+R73Nh5cetVN41QPRrAcqHE4lR2ZS8XxRCNBl4/gcHZJIZS9J2Ui4tTXBLA==", "requires": { - "@walletconnect/core": "^1.7.4", - "@walletconnect/iso-crypto": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/core": "^1.7.5", + "@walletconnect/iso-crypto": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "@walletconnect/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.4.tgz", - "integrity": "sha512-yhNgyc2r5z4r633J4jMfbcC5PzMq7qlie70rXIOqN2apKnnxffqWEogv9DaZvwV/Lr3h/8aEuGIXP1ModriWPg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.5.tgz", + "integrity": "sha512-c4B8s9fZ/Ah2p460Hxo4e9pwLQVYT2+dVYAfqaxVzfYjhAokDEtO55Bdm1hujtRjQVqwTvCljKxBB+LgMp3k8w==", "requires": { - "@walletconnect/socket-transport": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/socket-transport": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "@walletconnect/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-IgUReNrycIFxkGgq8YT9HsosCkhutakWD9Q411PR0aJfxpEa/VKJeaLRtoz6DvJpztWStwhIHnAbBoOVR72a6g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.2.tgz", + "integrity": "sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==", "requires": { - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.1", + "@walletconnect/randombytes": "^1.0.2", "aes-js": "^3.1.2", "hash.js": "^1.1.7" } }, "@walletconnect/encoding": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.0.tgz", - "integrity": "sha512-4nkJFnS0QF5JdieG/3VPD1/iEWkLSZ14EBInLZ00RWxmC6EMZrzAeHNAWIgm+xP3NK0lqz+7lEsmWGtcl5gYnQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.1.tgz", + "integrity": "sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==", "requires": { "is-typedarray": "1.0.0", "typedarray-to-buffer": "3.1.5" @@ -29173,24 +29448,24 @@ "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" }, "@walletconnect/http-connection": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.4.tgz", - "integrity": "sha512-vXdAbUZJ9u8fbGvNBqR39p2HLemKqice9S6KDaZWz7EGClN5agoLK+wh3AgZOoZ4gfwhvcqAQvEiEgIXRd2d0w==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.5.tgz", + "integrity": "sha512-WDy2Y/07c1F107362jel0voeV6QMJuWbwAKNLtxlX8Y9KNzqZAGlHhIZykSWrMjNGwxBaXoqLPmu60uVvodc6A==", "requires": { - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "eventemitter3": "4.0.7", "xhr2-cookies": "1.1.0" } }, "@walletconnect/iso-crypto": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.4.tgz", - "integrity": "sha512-oqLuBcORDO0doaK7LYissviUVlS//jdrhK8GnMMI6mkNh195FHURoi7jUvSE8Nxr5doUNRi9d7bDrEujA++xtw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.5.tgz", + "integrity": "sha512-mJdRs2SqAPOLBBqLhU+ZnAh2c8TL2uDuL/ojV4aBzZ0ZHNT7X2zSOjAiixCb3vvH8GAt30OKmiRo3+ChI/9zvA==", "requires": { - "@walletconnect/crypto": "^1.0.1", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4" + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5" } }, "@walletconnect/jsonrpc-types": { @@ -29216,24 +29491,24 @@ "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==" }, "@walletconnect/qrcode-modal": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.4.tgz", - "integrity": "sha512-e3uHqrscLdFOwF26O0v8nzzyO+8TF5Zb1G+jsn8QB5QLpiDXMMWeQqV0wWM/V80bX/wsvBTL0aSvzeHVvKFWYw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.5.tgz", + "integrity": "sha512-LVq35jc3VMGq1EMcGCObQtEiercMDmUHDnc7A3AmUo0LoAbaPo6c8Hq0zqy2+JhtLmxUhU3ktf+szmCoiUDTUQ==", "requires": { - "@walletconnect/browser-utils": "^1.7.4", + "@walletconnect/browser-utils": "^1.7.5", "@walletconnect/mobile-registry": "^1.4.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "copy-to-clipboard": "^3.3.1", "preact": "10.4.1", "qrcode": "1.4.4" } }, "@walletconnect/randombytes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.1.tgz", - "integrity": "sha512-YJTyq69i0PtxVg7osEpKfvjTaWuAsR49QEcqGKZRKVQWMbGXBZ65fovemK/SRgtiFRv0V8PwsrlKSheqzfPNcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.2.tgz", + "integrity": "sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==", "requires": { - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/environment": "^1.0.0", "randombytes": "^2.1.0" } @@ -29244,29 +29519,29 @@ "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" }, "@walletconnect/socket-transport": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.4.tgz", - "integrity": "sha512-5RDIZtyQqs5LFqmluE/5Gy4obaClGVDrhlhZJTUn86R49FppJq2pe362NnoJt6J6xLSLZlZ54WIBl6cIlRoVww==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.5.tgz", + "integrity": "sha512-4TYCxrNWb4f5a1NGsALXidr+/6dOiqgVfUQJ4fdP6R7ijL+7jtdiktguU9FIDq5wFXRE+ZdpCpwSAfOt60q/mQ==", "requires": { - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "ws": "7.5.3" } }, "@walletconnect/types": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.4.tgz", - "integrity": "sha512-jvdW1/7z16dCC3i2uwPSgXjUXkmvJH0M2PbYD8ZETyEj/oSiLd32nPAUZVU0IVqQk4XAZHUTKhlRgxTch1W4Qg==" + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.5.tgz", + "integrity": "sha512-0HvZzxD93et4DdrYgAvclI1BqclkZS7iPWRtbGg3r+PQhRPbOkNypzBy6XH6wflbmr+WBGdmyJvynHsdhcCqUA==" }, "@walletconnect/utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.4.tgz", - "integrity": "sha512-09667lbpClPpbskCpLllAQ3MSiNnDlTlqcmWANJ/ZuqCqq5ENyytPqkUjPFSfRfRVkgdQ2t/byeQtDd1TEpHcg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.5.tgz", + "integrity": "sha512-U954rIIA/g/Cmdqy+n3hMY1DDMmXxGs8w/QmrK9b/H5nkQ3e4QicOyynq5g/JTTesN5HZdDTFiyX9r0GSKa+iA==", "requires": { - "@walletconnect/browser-utils": "^1.7.4", - "@walletconnect/encoding": "^1.0.0", + "@walletconnect/browser-utils": "^1.7.5", + "@walletconnect/encoding": "^1.0.1", "@walletconnect/jsonrpc-utils": "^1.0.0", - "@walletconnect/types": "^1.7.4", + "@walletconnect/types": "^1.7.5", "bn.js": "4.11.8", "js-sha3": "0.8.0", "query-string": "6.13.5" @@ -29290,15 +29565,15 @@ } }, "@walletconnect/web3-provider": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.4.tgz", - "integrity": "sha512-VyHyUTx8ovrMRPs0VaMLXUjaG5eNbpK1ZWj+8frOJA18jpgDmtmAVccj0oUukAxuhVTnLZR10KGs0Kd8oWWNTA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.5.tgz", + "integrity": "sha512-x+UWOTu7jd9qog9NWhaspOmVRDJPnQrgZBscnaSC+x/aAsi52VUrd1GZ9c5UNZFgss41fdx3Z2KhkPeVrlrbuQ==", "requires": { - "@walletconnect/client": "^1.7.4", - "@walletconnect/http-connection": "^1.7.4", - "@walletconnect/qrcode-modal": "^1.7.4", - "@walletconnect/types": "^1.7.4", - "@walletconnect/utils": "^1.7.4", + "@walletconnect/client": "^1.7.5", + "@walletconnect/http-connection": "^1.7.5", + "@walletconnect/qrcode-modal": "^1.7.5", + "@walletconnect/types": "^1.7.5", + "@walletconnect/utils": "^1.7.5", "web3-provider-engine": "16.0.1" } }, @@ -29542,9 +29817,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -30732,11 +31007,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "requires": { - "follow-redirects": "^1.14.7" + "follow-redirects": "^1.14.8" } }, "babel-plugin-dynamic-import-node": { @@ -31935,9 +32210,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "emoji-regex": { "version": "7.0.3", @@ -32411,6 +32686,12 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "peer": true + }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -32631,9 +32912,9 @@ } }, "dotenv": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-15.0.1.tgz", - "integrity": "sha512-4OnbwRfzR+xQThp7uq1xpUS9fmgZ//njexOtPjPSbK3yHGrSHSJnaJRsXderSSm2elfvVj+Y5awDC0I8Oy8rkA==" + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==" }, "drbg.js": { "version": "1.0.1", @@ -32705,6 +32986,28 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "peer": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "encoding-down": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", @@ -33099,9 +33402,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "cross-spawn": { @@ -33736,23 +34039,6 @@ } } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, "eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", @@ -36574,6 +36860,12 @@ "graceful-fs": "^4.1.9" } }, + "konva": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/konva/-/konva-3.4.1.tgz", + "integrity": "sha512-Lra+Sb9dFwsCtkWoFvtcmVFbzAZCqSS/we3iTxDogBl3DTTjieY0e/1crqvs/EZCNR5uV2Kfvkn7t2547cD1SQ==", + "peer": true + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -38803,6 +39095,12 @@ } } }, + "pointer-events-polyfill": { + "version": "0.4.4-pre", + "resolved": "https://registry.npmjs.org/pointer-events-polyfill/-/pointer-events-polyfill-0.4.4-pre.tgz", + "integrity": "sha512-t7iitVY5jW9mGOFZEHphJOzB8eMhoYaE6I5HqsUX14rjsPa9F6OlMOCj3EpqDzNb/8XtMk2BxMpOyePPyuefHw==", + "peer": true + }, "postcss": { "version": "8.4.5", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", @@ -38840,9 +39138,9 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", "dev": true }, "prettier-linter-helpers": { @@ -39229,6 +39527,12 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==", + "peer": true + }, "react-modal": { "version": "3.14.4", "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.14.4.tgz", @@ -39249,16 +39553,194 @@ } }, "react-spring": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-9.4.3.tgz", - "integrity": "sha512-GGKAqQQ790JLoA2SAUgdJErFRG8oFR6pzX8jnJoqORVWX5Wo9bJUWs4563f2oN19+yQkVhc77neAkqQ7GCN8Lw==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-9.4.4.tgz", + "integrity": "sha512-VOqilh9DJBsS6Pf550YLhdReS3j9a2AQVh7NcsNtWoxTYIeuErWi6ym0++6bBhQp4yT5xvVvUDaJ8ez8vrFgaw==", "requires": { - "@react-spring/core": "~9.4.3-beta.0", - "@react-spring/konva": "~9.4.3-beta.0", - "@react-spring/native": "~9.4.3-beta.0", - "@react-spring/three": "~9.4.3-beta.0", - "@react-spring/web": "~9.4.3-beta.0", - "@react-spring/zdog": "~9.4.3-beta.0" + "@react-spring/core": "~9.4.4", + "@react-spring/konva": "~9.4.4", + "@react-spring/native": "~9.4.4", + "@react-spring/three": "~9.4.4", + "@react-spring/web": "~9.4.4", + "@react-spring/zdog": "~9.4.4" + }, + "dependencies": { + "@react-spring/konva": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/konva/-/konva-9.4.4.tgz", + "integrity": "sha512-ZHwsf4l/W5YzK8TwlvGXL9SYiHxxC6iEOAKStRs8WV6VuBvTFgIoGK5RNOTbsRC2N/spNWnN6JViz1PNbgrB+A==", + "requires": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + } + }, + "@react-spring/native": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/native/-/native-9.4.4.tgz", + "integrity": "sha512-p0/JI59JVkgVjnoLvu+cpEgEkE0B3RDvzT1oNaCAx0ePaGQo4ICAS8PyOgPvN5IHUOy59CBLSMNnFyHV+IgaGQ==", + "requires": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + } + }, + "@react-spring/three": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.4.4.tgz", + "integrity": "sha512-z77ohxg8zG0CcZJojzfoJTTrjSbIyefNz2RlId68/4IypnOs1p8kB2Q1p+wX4KyWORpLg8ivsPcjtwBjGwfDtg==", + "requires": { + "@react-spring/animated": "~9.4.4", + "@react-spring/core": "~9.4.4", + "@react-spring/shared": "~9.4.4", + "@react-spring/types": "~9.4.4" + } + }, + "@react-three/fiber": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-7.0.26.tgz", + "integrity": "sha512-46NBais4fQIGcMGLBbOf84lp8y/cg73jOEVmAQQJqWX6iOVeNg29jYd15LBuCW2qPD1qDRU0rOfLbMDgwr/vxQ==", + "peer": true, + "requires": { + "@babel/runtime": "^7.13.10", + "react-merge-refs": "^1.1.0", + "react-reconciler": "^0.26.2", + "react-three-fiber": "0.0.0-deprecated", + "react-use-measure": "^2.1.1", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "^0.20.2", + "use-asset": "^1.0.4", + "utility-types": "^3.10.0", + "zustand": "^3.5.1" + }, + "dependencies": { + "react-reconciler": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz", + "integrity": "sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", + "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==", + "peer": true, + "requires": { + "debounce": "^1.2.1" + } + }, + "use-asset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/use-asset/-/use-asset-1.0.4.tgz", + "integrity": "sha512-7/hqDrWa0iMnCoET9W1T07EmD4Eg/Wmoj/X8TGBc++ECRK4m5yTsjP4O6s0yagbxfqIOuUkIxe2/sA+VR2GxZA==", + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + } + } + }, + "react": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", + "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "dependencies": { + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-dom": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", + "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "dependencies": { + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-konva": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-konva/-/react-konva-16.8.6.tgz", + "integrity": "sha512-6KRIqHyJuTTMuAehDIXvw+ZrtEj2aMc2fwolhmFlg1HBzH4PJimsMByTcEx292Afh9d38TcHdjXP1C58qqDOlg==", + "peer": true, + "requires": { + "react-reconciler": "^0.20.4", + "scheduler": "^0.13.6" + }, + "dependencies": { + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-reconciler": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", + "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "dependencies": { + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + } } }, "react-tabs": { @@ -39270,6 +39752,12 @@ "prop-types": "^15.5.0" } }, + "react-three-fiber": { + "version": "0.0.0-deprecated", + "resolved": "https://registry.npmjs.org/react-three-fiber/-/react-three-fiber-0.0.0-deprecated.tgz", + "integrity": "sha512-EblIqTAsIpkYeM8bZtC4lcpTE0A2zCEGipFB52RgcQq/q+0oryrk7Sxt+sqhIjUu6xMNEVywV8dr74lz5yWO6A==", + "peer": true + }, "react-toastify": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-8.2.0.tgz", @@ -39278,6 +39766,56 @@ "clsx": "^1.1.1" } }, + "react-zdog": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/react-zdog/-/react-zdog-1.0.11.tgz", + "integrity": "sha512-L6/8Zi+Nf+faNMsSZ31HLmLlu6jcbs/jqqFvme7CFnYjAeYfhJ4HyuHKd7Pu/zk9tegv6FaJj1v+hmUwUpKLQw==", + "peer": true, + "requires": { + "@babel/runtime": "^7.4.4", + "lodash-es": "^4.17.11", + "pointer-events-polyfill": "^0.4.4-pre", + "react-reconciler": "^0.20.4", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "0.13.3" + }, + "dependencies": { + "react-reconciler": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", + "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "dependencies": { + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "scheduler": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.3.tgz", + "integrity": "sha512-UxN5QRYWtpR1egNWzJcVLk8jlegxAugswQc984lD3kU7NuobsO37/sRfbpTdBjtnD5TBNFA2Q2oLV5+UmPSmEQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -39638,6 +40176,12 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "peer": true + }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -40498,54 +41042,15 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" } }, "strict-uri-encode": { @@ -41003,6 +41508,12 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "three": { + "version": "0.138.3", + "resolved": "https://registry.npmjs.org/three/-/three-0.138.3.tgz", + "integrity": "sha512-4t1cKC8gimNyJChJbaklg8W/qj3PpsLJUIFm5LIuAy/hVxxNm1ru2FGTSfbTSsuHmC/7ipsyuGKqrSAKLNtkzg==", + "peer": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -41049,12 +41560,6 @@ "os-tmpdir": "~1.0.2" } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -41533,6 +42038,12 @@ "object.getownpropertydescriptors": "^2.1.1" } }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "peer": true + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -42800,9 +43311,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "emoji-regex": { "version": "7.0.3", @@ -42932,6 +43443,12 @@ "toposort": "^2.0.2" } }, + "zdog": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz", + "integrity": "sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==", + "peer": true + }, "zen-observable": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", @@ -42956,6 +43473,13 @@ } } }, + "zustand": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.1.tgz", + "integrity": "sha512-wHBCZlKj+bg03/hP+Tzv24YhnqqP8MCeN9ECPDXoF01062SIbnfl3j9O0znkDw1lNTY0a8WN3F///a0UhhaEqg==", + "peer": true, + "requires": {} + }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index c89b573b3..a4e3fdfe1 100644 --- a/package.json +++ b/package.json @@ -21,20 +21,20 @@ "@coingecko/cryptoformat": "^0.4.4", "@loadable/component": "^5.15.2", "@oceanprotocol/art": "^3.2.0", - "@oceanprotocol/lib": "^1.0.0-next.27", + "@oceanprotocol/lib": "^1.0.0-next.28", "@oceanprotocol/typographies": "^0.1.0", - "@portis/web3": "^4.0.6", + "@portis/web3": "^4.0.7", "@tippyjs/react": "^4.2.6", - "@walletconnect/web3-provider": "^1.7.1", - "axios": "^0.25.0", + "@walletconnect/web3-provider": "^1.7.5", + "axios": "^0.26.1", "bignumber.js": "^9.0.2", - "chart.js": "^3.7.0", + "chart.js": "^3.7.1", "classnames": "^2.3.1", "date-fns": "^2.28.0", "decimal.js": "^10.3.1", "dom-confetti": "^0.2.2", - "dotenv": "^15.0.0", - "filesize": "^8.0.6", + "dotenv": "^16.0.0", + "filesize": "^8.0.7", "formik": "^2.2.9", "gray-matter": "^4.0.3", "is-url-superb": "^6.1.0", @@ -44,7 +44,7 @@ "lodash.omit": "^4.5.0", "myetherwallet-blockies": "^0.1.1", "next": "^12.1.0", - "query-string": "^7.1.0", + "query-string": "^7.1.1", "react": "^17.0.2", "react-chartjs-2": "^4.0.1", "react-clipboard.js": "^2.0.16", @@ -52,8 +52,8 @@ "react-dom": "^17.0.2", "react-dotdotdot": "^1.3.1", "react-modal": "^3.14.4", - "react-paginate": "^8.1.0", - "react-spring": "^9.4.2", + "react-paginate": "^8.1.2", + "react-spring": "^9.4.4", "react-tabs": "^3.2.3", "react-toastify": "^8.1.0", "remark": "^13.0.0", @@ -61,10 +61,10 @@ "remark-html": "^13.0.1", "remove-markdown": "^0.3.0", "slugify": "^1.6.5", - "swr": "^1.2.0", - "urql": "^2.1.1", + "swr": "^1.2.2", + "urql": "^2.2.0", "use-dark-mode": "^2.3.1", - "web3": "^1.6.1", + "web3": "^1.7.1", "web3modal": "^1.9.5", "yup": "^0.32.11" }, @@ -84,8 +84,8 @@ "@types/react-tabs": "^2.3.4", "@types/remove-markdown": "^0.3.1", "@types/yup": "^0.29.11", - "@typescript-eslint/eslint-plugin": "^5.9.1", - "@typescript-eslint/parser": "^5.9.1", + "@typescript-eslint/eslint-plugin": "^5.15.0", + "@typescript-eslint/parser": "^5.15.0", "apollo": "^2.33.9", "eslint": "^7.27.0", "eslint-config-oceanprotocol": "^1.5.0", @@ -96,11 +96,11 @@ "file-loader": "^6.2.0", "https-browserify": "^1.0.0", "husky": "^7.0.4", - "prettier": "^2.5.1", + "prettier": "^2.6.0", "pretty-quick": "^3.1.3", "process": "^0.11.10", "serve": "^13.0.2", - "stream-http": "^2.8.3", + "stream-http": "^3.2.0", "typescript": "^4.5.4" }, "repository": { From bea8635a53a926f696d03bbdde8dbeab84c2bea6 Mon Sep 17 00:00:00 2001 From: Luca Milanese Date: Wed, 16 Mar 2022 14:19:08 +0100 Subject: [PATCH 4/7] Feat: add final did to tokenURI in NFT metadata (#1167) * feat: set NFT metadata and tokenURI in a single transaction * feat: move token uri encoding in second publish transaction * feat: add final asset did in tokenURI * fix: edit metadata and computeDataset submit functions * feat: extract decodeTokenURI function * fix: revert to previous metadata edit flow * fix: revert to generateNftCreateData * feat: add final asset link in tokenURI description --- src/@utils/nft.ts | 80 ++++++++++++++++++++++++++------ src/components/Publish/index.tsx | 5 +- 2 files changed, 69 insertions(+), 16 deletions(-) diff --git a/src/@utils/nft.ts b/src/@utils/nft.ts index 114d1b46b..d9584d9cb 100644 --- a/src/@utils/nft.ts +++ b/src/@utils/nft.ts @@ -5,7 +5,8 @@ import { getHash, Nft, ProviderInstance, - DDO + DDO, + MetadataAndTokenURI } from '@oceanprotocol/lib' import Web3 from 'web3' import { TransactionReceipt } from 'web3-core' @@ -45,17 +46,12 @@ function encodeSvg(svgString: string): string { export function generateNftMetadata(): NftMetadata { const waves = new SvgWaves() const svg = waves.generateSvg() - - // TODO: figure out if also image URI needs base64 encoding - // e.g. 'data:image/svg+xml;base64,' - // generated SVG embedded as 'data:image/svg+xml' and encoded characters const imageData = `data:image/svg+xml,${encodeSvg(svg.outerHTML)}` const newNft: NftMetadata = { name: 'Ocean Asset NFT', symbol: 'OCEAN-NFT', description: `This NFT represents an asset in the Ocean Protocol v4 ecosystem.`, - // TODO: ideally this includes the final DID external_url: 'https://market.oceanprotocol.com', background_color: '141414', // dark background image_data: imageData @@ -65,18 +61,11 @@ export function generateNftMetadata(): NftMetadata { } export function generateNftCreateData(nftMetadata: NftMetadata): any { - // TODO: figure out if Buffer.from method is working in browser in final build - // as BTOA is deprecated. - // tokenURI: window?.btoa(JSON.stringify(nftMetadata)) - const encodedMetadata = Buffer.from(JSON.stringify(nftMetadata)).toString( - 'base64' - ) - const nftCreateData = { name: nftMetadata.name, symbol: nftMetadata.symbol, templateIndex: 1, - tokenURI: `data:application/json;base64,${encodedMetadata}` + tokenURI: '' } return nftCreateData @@ -129,3 +118,66 @@ export async function setNftMetadata( return setMetadataTx } + +export async function setNFTMetadataAndTokenURI( + asset: Asset | DDO, + accountId: string, + web3: Web3, + nftMetadata: NftMetadata, + signal: AbortSignal +): Promise { + const encryptedDdo = await ProviderInstance.encrypt( + asset, + asset.services[0].serviceEndpoint, + signal + ) + LoggerInstance.log( + '[setNFTMetadataAndTokenURI] Got encrypted DDO', + encryptedDdo + ) + + const metadataHash = getHash(JSON.stringify(asset)) + + // add final did to external_url and asset link to description in nftMetadata before encoding + const externalUrl = `${nftMetadata.external_url}/asset/${asset.id}` + const encodedMetadata = Buffer.from( + JSON.stringify({ + ...nftMetadata, + description: `${nftMetadata.description}\n\nView on Ocean Market: ${externalUrl}`, + external_url: externalUrl + }) + ).toString('base64') + const nft = new Nft(web3) + + // theoretically used by aquarius or provider, not implemented yet, will remain hardcoded + const flags = '0x02' + + const metadataAndTokenURI: MetadataAndTokenURI = { + metaDataState: 0, + metaDataDecryptorUrl: asset.services[0].serviceEndpoint, + metaDataDecryptorAddress: '', + flags, + data: encryptedDdo, + metaDataHash: '0x' + metadataHash, + tokenId: 1, + tokenURI: `data:application/json;base64,${encodedMetadata}`, + metadataProofs: [] + } + + const estGasSetMetadataAndTokenURI = await nft.estGasSetMetadataAndTokenURI( + asset.nftAddress, + accountId, + metadataAndTokenURI + ) + LoggerInstance.log( + '[setNFTMetadataAndTokenURI] est Gas set metadata and token uri --', + estGasSetMetadataAndTokenURI + ) + const setMetadataAndTokenURITx = await nft.setMetadataAndTokenURI( + asset.nftAddress, + accountId, + metadataAndTokenURI + ) + + return setMetadataAndTokenURITx +} diff --git a/src/components/Publish/index.tsx b/src/components/Publish/index.tsx index fa8776381..fc4035c2a 100644 --- a/src/components/Publish/index.tsx +++ b/src/components/Publish/index.tsx @@ -24,7 +24,7 @@ import { import { getOceanConfig } from '@utils/ocean' import { validationSchema } from './_validation' import { useAbortController } from '@hooks/useAbortController' -import { setNftMetadata } from '@utils/nft' +import { setNFTMetadataAndTokenURI } from '@utils/nft' // TODO: restore FormikPersist, add back clear form action const formName = 'ocean-publish-form' @@ -173,10 +173,11 @@ export default function PublishPage({ if (!_ddo || !_encryptedDdo) throw new Error('No DDO received.') - const res = await setNftMetadata( + const res = await setNFTMetadataAndTokenURI( _ddo, accountId, web3, + values.metadata.nft, newAbortController() ) From 8d852323adbbfd930ab5a4a2671e10117b7959d6 Mon Sep 17 00:00:00 2001 From: EnzoVezzaro Date: Wed, 16 Mar 2022 10:37:28 -0400 Subject: [PATCH 5/7] fix txCount on 'Create tokens & pricing' in publish (#1187) * fix txCount on 'Create tokens & pricing' in publish * fix description on submit step in publish --- src/components/Publish/Steps.tsx | 4 ++-- src/components/Publish/index.tsx | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/components/Publish/Steps.tsx b/src/components/Publish/Steps.tsx index b325b430f..18d970764 100644 --- a/src/components/Publish/Steps.tsx +++ b/src/components/Publish/Steps.tsx @@ -1,6 +1,6 @@ import { ReactElement, useEffect } from 'react' import { useFormikContext } from 'formik' -import { wizardSteps } from './_constants' +import { wizardSteps, initialPublishFeedback } from './_constants' import { useWeb3 } from '@context/Web3' import { FormPublishData, PublishFeedback } from './_types' @@ -38,7 +38,7 @@ export function Steps({ 'a single transaction', 'a single transaction, after an initial approve transaction' ) - : feedback['1'].description + : initialPublishFeedback['1'].description } }) }, [values.pricing.type, setFieldValue]) diff --git a/src/components/Publish/index.tsx b/src/components/Publish/index.tsx index fc4035c2a..4cc9660ac 100644 --- a/src/components/Publish/index.tsx +++ b/src/components/Publish/index.tsx @@ -63,7 +63,15 @@ export default function PublishPage({ ...prevState, '1': { ...prevState['1'], - status: 'active' + status: 'active', + txCount: values.pricing.type === 'dynamic' ? 2 : 1, + description: + values.pricing.type === 'dynamic' + ? prevState['1'].description.replace( + 'a single transaction', + 'a single transaction, after an initial approve transaction' + ) + : prevState['1'].description } })) @@ -102,7 +110,14 @@ export default function PublishPage({ '1': { ...prevState['1'], status: 'error', - errorMessage: error.message + errorMessage: error.message, + description: + values.pricing.type === 'dynamic' + ? prevState['1'].description.replace( + 'a single transaction', + 'a single transaction, after an initial approve transaction' + ) + : prevState['1'].description } })) } From 8b331c0a638879dbbe289c5b6c5d470790081743 Mon Sep 17 00:00:00 2001 From: Norbi <37236152+KatunaNorbert@users.noreply.github.com> Date: Wed, 16 Mar 2022 17:35:31 +0200 Subject: [PATCH 6/7] Fix/issue 1151 pool chart fill color (#1193) * added colours for dark and light mode and refetch on appearance change * keep same border colour --- .../Asset/AssetActions/Pool/Graph/index.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/Asset/AssetActions/Pool/Graph/index.tsx b/src/components/Asset/AssetActions/Pool/Graph/index.tsx index 9e6524a83..f799edc45 100644 --- a/src/components/Asset/AssetActions/Pool/Graph/index.tsx +++ b/src/components/Asset/AssetActions/Pool/Graph/index.tsx @@ -85,11 +85,18 @@ export default function Graph({ const newGraphData = { labels: timestamps, - datasets: [{ ...lineStyle, data, borderColor: `#8b98a9` }] + datasets: [ + { + ...lineStyle, + data, + borderColor: `#8b98a9`, + backgroundColor: darkMode.value ? '#201f1f' : '#f7f7f7' + } + ] } setGraphData(newGraphData) LoggerInstance.log('[pool graph] New graph data created:', newGraphData) - }, [poolSnapshots, graphType, currency, prices, locale]) + }, [poolSnapshots, graphType, currency, prices, locale, darkMode.value]) return (
From 9d1b7794a32cf90d057bfe2c6270f7d760d77410 Mon Sep 17 00:00:00 2001 From: Moritz Kirstein Date: Wed, 16 Mar 2022 20:01:51 +0100 Subject: [PATCH 7/7] Feat: Display NFT in asset details (#1125) * feat: add decodeTokenUri helper * refactor: restructure of MetaMain component * feat: add nft tooltip * feat: add opensea link for nfts * style: adjust nft image size in tooltip * feat: add nft data to publish preview * fix: readd owner to nft metadata * refactor: conditional display of nft tooltip * style: fix link styles in nft tooltip * feat: add placeholder graphic as fallback if nft data does not contain one * fix: display openSea link only on supported networks * fix: rename ddo props to asset in metamain related components * feat: add original publisher to asset details * chore: remove unused imports * fix: remove unused prop * feat: convert publisher address to checksum address * chore: remove console.error when decoding tokenURI * Revert "chore: remove console.error when decoding tokenURI" This reverts commit f387175970f763b4921af10d938d47920af08b4f. * feat: shorten nft address in tooltip preview * fix: use Web3.utils instead of the actual web3 instance to convert wei in ether Co-authored-by: Luca Milanese Co-authored-by: Matthias Kretschmann --- src/@utils/nft.ts | 19 ++++- .../@shared/FormFields/Nft/TxFee.tsx | 3 +- src/components/@shared/atoms/Copy.module.css | 12 +-- src/components/@shared/atoms/Copy.tsx | 5 +- .../Asset/AssetContent/EditHistory.tsx | 13 ++- .../Asset/AssetContent/MetaMain.module.css | 51 ------------ .../Asset/AssetContent/MetaMain.tsx | 75 ------------------ .../MetaMain/MetaAsset.module.css | 26 ++++++ .../Asset/AssetContent/MetaMain/MetaAsset.tsx | 54 +++++++++++++ .../AssetContent/MetaMain/MetaInfo.module.css | 19 +++++ .../Asset/AssetContent/MetaMain/MetaInfo.tsx | 47 +++++++++++ .../MetaMain/NftTooltip.module.css | 41 ++++++++++ .../AssetContent/MetaMain/NftTooltip.tsx | 79 +++++++++++++++++++ .../AssetContent/MetaMain/index.module.css | 44 +++++++++++ .../Asset/AssetContent/MetaMain/index.tsx | 53 +++++++++++++ .../Asset/AssetContent/index.module.css | 1 + src/components/Asset/AssetContent/index.tsx | 19 +++-- src/components/Publish/_utils.ts | 1 + 18 files changed, 417 insertions(+), 145 deletions(-) delete mode 100644 src/components/Asset/AssetContent/MetaMain.module.css delete mode 100644 src/components/Asset/AssetContent/MetaMain.tsx create mode 100644 src/components/Asset/AssetContent/MetaMain/MetaAsset.module.css create mode 100644 src/components/Asset/AssetContent/MetaMain/MetaAsset.tsx create mode 100644 src/components/Asset/AssetContent/MetaMain/MetaInfo.module.css create mode 100644 src/components/Asset/AssetContent/MetaMain/MetaInfo.tsx create mode 100644 src/components/Asset/AssetContent/MetaMain/NftTooltip.module.css create mode 100644 src/components/Asset/AssetContent/MetaMain/NftTooltip.tsx create mode 100644 src/components/Asset/AssetContent/MetaMain/index.module.css create mode 100644 src/components/Asset/AssetContent/MetaMain/index.tsx diff --git a/src/@utils/nft.ts b/src/@utils/nft.ts index d9584d9cb..f8abb0dbf 100644 --- a/src/@utils/nft.ts +++ b/src/@utils/nft.ts @@ -1,13 +1,13 @@ -import { SvgWaves } from './SvgWaves' import { - Asset, LoggerInstance, + Asset, getHash, Nft, ProviderInstance, DDO, MetadataAndTokenURI } from '@oceanprotocol/lib' +import { SvgWaves } from './SvgWaves' import Web3 from 'web3' import { TransactionReceipt } from 'web3-core' @@ -60,6 +60,8 @@ export function generateNftMetadata(): NftMetadata { return newNft } +const tokenUriPrefix = 'data:application/json;base64,' + export function generateNftCreateData(nftMetadata: NftMetadata): any { const nftCreateData = { name: nftMetadata.name, @@ -71,6 +73,19 @@ export function generateNftCreateData(nftMetadata: NftMetadata): any { return nftCreateData } +export function decodeTokenURI(tokenURI: string): NftMetadata { + if (!tokenURI) return undefined + try { + const nftMeta = JSON.parse( + Buffer.from(tokenURI.replace(tokenUriPrefix, ''), 'base64').toString() + ) as NftMetadata + + return nftMeta + } catch (error) { + LoggerInstance.error(`[NFT] ${error.message}`) + } +} + export async function setNftMetadata( asset: Asset | DDO, accountId: string, diff --git a/src/components/@shared/FormFields/Nft/TxFee.tsx b/src/components/@shared/FormFields/Nft/TxFee.tsx index 4937ac21e..3ee40ca8e 100644 --- a/src/components/@shared/FormFields/Nft/TxFee.tsx +++ b/src/components/@shared/FormFields/Nft/TxFee.tsx @@ -1,6 +1,7 @@ import React, { ReactElement, useEffect, useState } from 'react' import { usePrices } from '@context/Prices' import { useWeb3 } from '@context/Web3' +import Web3 from 'web3' import useNftFactory from '@hooks/contracts/useNftFactory' import { NftFactory } from '@oceanprotocol/lib' import Conversion from '@shared/Price/Conversion' @@ -20,7 +21,7 @@ const getEstGasFee = async ( const gasPrice = await web3.eth.getGasPrice() const gasLimit = await nftFactory?.estGasCreateNFT(address, nft) - const gasFeeEth = web3.utils.fromWei( + const gasFeeEth = Web3.utils.fromWei( (+gasPrice * +gasLimit).toString(), 'ether' ) diff --git a/src/components/@shared/atoms/Copy.module.css b/src/components/@shared/atoms/Copy.module.css index 4ba29b771..561f98eeb 100644 --- a/src/components/@shared/atoms/Copy.module.css +++ b/src/components/@shared/atoms/Copy.module.css @@ -6,7 +6,6 @@ background: none; padding: 0; cursor: pointer; - position: relative; } .icon { @@ -25,11 +24,12 @@ fill: var(--brand-alert-green); } -.copied::after { - content: 'Copied!'; - position: absolute; - top: -150%; - left: -140%; +.action { + display: flex; + gap: 5px; +} + +.feedback { font-size: var(--font-size-mini); color: var(--brand-alert-green); } diff --git a/src/components/@shared/atoms/Copy.tsx b/src/components/@shared/atoms/Copy.tsx index c5dcb1e91..c0b623fac 100644 --- a/src/components/@shared/atoms/Copy.tsx +++ b/src/components/@shared/atoms/Copy.tsx @@ -27,7 +27,10 @@ export default function Copy({ text }: { text: string }): ReactElement { onSuccess={() => setIsCopied(true)} className={`${styles.button} ${isCopied ? styles.copied : ''}`} > - +
+ + {isCopied && Copied!} +
) } diff --git a/src/components/Asset/AssetContent/EditHistory.tsx b/src/components/Asset/AssetContent/EditHistory.tsx index f295e7f26..d80ce4dff 100644 --- a/src/components/Asset/AssetContent/EditHistory.tsx +++ b/src/components/Asset/AssetContent/EditHistory.tsx @@ -17,6 +17,7 @@ const getReceipts = gql` id nft { address + owner } tx timestamp @@ -25,7 +26,13 @@ const getReceipts = gql` } ` -export default function EditHistory(): ReactElement { +export default function EditHistory({ + receipts, + setReceipts +}: { + receipts: ReceiptData[] + setReceipts: (receipts: ReceiptData[]) => void +}): ReactElement { const { asset } = useAsset() function getUpdateType(type: string): string { @@ -66,13 +73,11 @@ export default function EditHistory(): ReactElement { // // 2. Construct display data based on fetched data. // - const [receipts, setReceipts] = useState() - useEffect(() => { if (!data || data.nftUpdates.length === 0) return const receiptCollection = data.nftUpdates setReceipts(receiptCollection) - }, [data]) + }, [data, setReceipts]) return ( <> diff --git a/src/components/Asset/AssetContent/MetaMain.module.css b/src/components/Asset/AssetContent/MetaMain.module.css deleted file mode 100644 index 5dbf54000..000000000 --- a/src/components/Asset/AssetContent/MetaMain.module.css +++ /dev/null @@ -1,51 +0,0 @@ -.meta { - margin-bottom: calc(var(--spacer) / 1.5); - color: var(--color-secondary); - font-size: var(--font-size-small); -} - -.asset { - margin-left: -2rem; - margin-right: -2rem; - padding-left: 2rem; - padding-right: 3rem; - border-bottom: 1px solid var(--border-color); - margin-bottom: calc(var(--spacer) / 1.5); - padding-bottom: calc(var(--spacer) / 1.75); -} - -@media (min-width: 40rem) { - .asset { - margin-top: -0.65rem; - } -} - -.assetType { - display: inline-block; - border-right: 1px solid var(--border-color); - padding-right: calc(var(--spacer) / 3.5); - margin-right: calc(var(--spacer) / 4); -} - -.datatoken { - white-space: pre; - margin-right: calc(var(--spacer) / 3); -} - -.byline { - font-size: var(--font-size-small); -} - -.updated { - font-size: var(--font-size-mini); -} - -.addWrap { - padding-left: calc(var(--spacer) / 5); - border-left: 1px solid var(--border-color); - display: inline-block; -} - -.add { - font-size: var(--font-size-mini); -} diff --git a/src/components/Asset/AssetContent/MetaMain.tsx b/src/components/Asset/AssetContent/MetaMain.tsx deleted file mode 100644 index 2f1229a13..000000000 --- a/src/components/Asset/AssetContent/MetaMain.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import React, { ReactElement } from 'react' -import { useAsset } from '@context/Asset' -import { useWeb3 } from '@context/Web3' -import ExplorerLink from '@shared/ExplorerLink' -import Publisher from '@shared/Publisher' -import AddToken from '@shared/AddToken' -import Time from '@shared/atoms/Time' -import AssetType from '@shared/AssetType' -import styles from './MetaMain.module.css' -import { getServiceByName } from '@utils/ddo' -import { Asset } from '@oceanprotocol/lib' - -export default function MetaMain({ ddo }: { ddo: Asset }): ReactElement { - const { isAssetNetwork } = useAsset() - const { web3ProviderInfo } = useWeb3() - - const isCompute = Boolean(getServiceByName(ddo, 'compute')) - const accessType = isCompute ? 'compute' : 'access' - const blockscoutNetworks = [1287, 2021000, 2021001, 44787, 246, 1285] - const isBlockscoutExplorer = blockscoutNetworks.includes(ddo?.chainId) - - const dataTokenName = ddo?.datatokens[0]?.name - const dataTokenSymbol = ddo?.datatokens[0]?.symbol - - return ( - - ) -} diff --git a/src/components/Asset/AssetContent/MetaMain/MetaAsset.module.css b/src/components/Asset/AssetContent/MetaMain/MetaAsset.module.css new file mode 100644 index 000000000..005d09b61 --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/MetaAsset.module.css @@ -0,0 +1,26 @@ +.wrapper { + display: flex; + flex-direction: column; + height: 100%; + padding-left: calc(var(--spacer) / 2); + justify-content: center; +} + +.datatoken { + white-space: pre; + margin-right: calc(var(--spacer) / 3); +} + +.owner { + display: block; +} + +.addWrap { + padding-left: calc(var(--spacer) / 5); + border-left: 1px solid var(--border-color); + display: inline-block; +} + +.add { + font-size: var(--font-size-mini); +} diff --git a/src/components/Asset/AssetContent/MetaMain/MetaAsset.tsx b/src/components/Asset/AssetContent/MetaMain/MetaAsset.tsx new file mode 100644 index 000000000..295c0cfea --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/MetaAsset.tsx @@ -0,0 +1,54 @@ +import { useAsset } from '@context/Asset' +import { useWeb3 } from '@context/Web3' +import { Asset } from '@oceanprotocol/lib' +import AddToken from '@shared/AddToken' +import ExplorerLink from '@shared/ExplorerLink' +import Publisher from '@shared/Publisher' +import React, { ReactElement } from 'react' +import styles from './MetaAsset.module.css' + +export default function MetaAsset({ + asset, + isBlockscoutExplorer +}: { + asset: Asset + isBlockscoutExplorer: boolean +}): ReactElement { + const { isAssetNetwork } = useAsset() + const { web3ProviderInfo } = useWeb3() + + const dataTokenSymbol = asset?.datatokens[0]?.symbol + + return ( +
+ + Owned by + + + + {`Accessed with ${dataTokenSymbol}`} + + {web3ProviderInfo?.name === 'MetaMask' && isAssetNetwork && ( + + + + )} + +
+ ) +} diff --git a/src/components/Asset/AssetContent/MetaMain/MetaInfo.module.css b/src/components/Asset/AssetContent/MetaMain/MetaInfo.module.css new file mode 100644 index 000000000..b10de6b6a --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/MetaInfo.module.css @@ -0,0 +1,19 @@ +.wrapper { + padding: calc(var(--spacer) / 2); +} + +.assetType { + display: inline-block; + border-right: 1px solid var(--border-color); + padding-right: calc(var(--spacer) / 3.5); + margin-right: calc(var(--spacer) / 4); +} + +.byline { + display: inline-block; + font-size: var(--font-size-small); +} + +.updated { + font-size: var(--font-size-mini); +} diff --git a/src/components/Asset/AssetContent/MetaMain/MetaInfo.tsx b/src/components/Asset/AssetContent/MetaMain/MetaInfo.tsx new file mode 100644 index 000000000..08b62631a --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/MetaInfo.tsx @@ -0,0 +1,47 @@ +import { Asset } from '@oceanprotocol/lib' +import AssetType from '@shared/AssetType' +import Time from '@shared/atoms/Time' +import Publisher from '@shared/Publisher' +import { getServiceByName } from '@utils/ddo' +import React, { ReactElement } from 'react' +import styles from './MetaInfo.module.css' + +export default function MetaInfo({ + asset, + nftPublisher +}: { + asset: Asset + nftPublisher: string +}): ReactElement { + const isCompute = Boolean(getServiceByName(asset, 'compute')) + const accessType = isCompute ? 'compute' : 'access' + const nftOwner = asset?.nft?.owner + + return ( +
+ +
+

+ Published

+
+
+ ) +} diff --git a/src/components/Asset/AssetContent/MetaMain/NftTooltip.module.css b/src/components/Asset/AssetContent/MetaMain/NftTooltip.module.css new file mode 100644 index 000000000..3916afc25 --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/NftTooltip.module.css @@ -0,0 +1,41 @@ +.wrapper { + display: flex; + justify-content: flex-start; + align-items: center; +} + +.wrapper img { + margin: 0; + width: 128px; + height: 128px; +} + +.info { + padding: calc(var(--spacer) / 2); + color: var(--color-secondary); +} + +.info h5 { + margin-bottom: 0; +} + +.address { + word-break: break-all; +} + +.address button::after { + word-break: normal; +} + +.links { + margin-top: calc(var(--spacer) / 3); +} + +.links a { + display: block; +} + +.fallback { + padding-top: calc(var(--spacer) / 3); + font-style: italic; +} diff --git a/src/components/Asset/AssetContent/MetaMain/NftTooltip.tsx b/src/components/Asset/AssetContent/MetaMain/NftTooltip.tsx new file mode 100644 index 000000000..b18273819 --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/NftTooltip.tsx @@ -0,0 +1,79 @@ +import Copy from '@shared/atoms/Copy' +import External from '@images/external.svg' +import ExplorerLink from '@shared/ExplorerLink' +import { NftMetadata } from '@utils/nft' +import React, { ReactElement } from 'react' +import styles from './NftTooltip.module.css' +import explorerLinkStyles from '@shared/ExplorerLink/index.module.css' +import { accountTruncate } from '@utils/web3' + +export default function NftTooltip({ + nft, + address, + chainId, + isBlockscoutExplorer +}: { + nft: NftMetadata + address: string + chainId: number + isBlockscoutExplorer: boolean +}): ReactElement { + // Currently Ocean NFTs are not displayed correctly on OpenSea + // Code prepared to easily integrate this feature once this is fixed + // + // Supported OpeanSea networks: + // https://support.opensea.io/hc/en-us/articles/4404027708051-Which-blockchains-does-OpenSea-support- + const openseaNetworks = [1, 137] + const openseaTestNetworks = [4] + const openSeaSupported = openseaNetworks + .concat(openseaTestNetworks) + .includes(chainId) + + const openSeaBaseUri = openSeaSupported + ? openseaTestNetworks.includes(chainId) + ? 'https://testnets.opensea.io' + : 'https://opensea.io' + : undefined + + return ( +
+ {nft && {nft?.name}} +
+ {nft &&
{nft.name}
} + {address && ( + + {accountTruncate(address)} + + )} +
+ {address && ( + + View on explorer + + )} + + {openSeaSupported && nft && address && ( + + View on OpeanSea + + )} +
+ {!nft?.image_data && ( +

+ This Data NFT was not created on Ocean Market +

+ )} +
+
+ ) +} diff --git a/src/components/Asset/AssetContent/MetaMain/index.module.css b/src/components/Asset/AssetContent/MetaMain/index.module.css new file mode 100644 index 000000000..389bf2038 --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/index.module.css @@ -0,0 +1,44 @@ +.meta { + margin-left: calc(var(--spacer) * -1); + margin-right: calc(var(--spacer) * -1); + margin-bottom: calc(var(--spacer) / 1.5); + color: var(--color-secondary); + font-size: var(--font-size-small); +} + +.asset { + display: flex; + justify-content: flex-start; + align-items: flex-start; + height: calc(var(--spacer) * 2); + border-bottom: 1px solid var(--border-color); +} + +.nftImage { + position: relative; + margin: 0; + border-right: 1px solid var(--border-color); + width: calc(var(--spacer) * 2); + height: calc(var(--spacer) * 2); +} + +.nftImage img, +.nftImage > svg:first-of-type { + width: 100%; + height: 100%; +} + +.nftImage > svg:first-of-type { + transform: scale(0.7); +} + +.nftImage .tooltip { + position: absolute; + padding: 0; + left: 0; + bottom: 0; +} + +.nftImage .tooltip svg { + fill: var(--font-color-text); +} diff --git a/src/components/Asset/AssetContent/MetaMain/index.tsx b/src/components/Asset/AssetContent/MetaMain/index.tsx new file mode 100644 index 000000000..2d06f12b6 --- /dev/null +++ b/src/components/Asset/AssetContent/MetaMain/index.tsx @@ -0,0 +1,53 @@ +import React, { ReactElement } from 'react' +import styles from './index.module.css' +import { Asset } from '@oceanprotocol/lib' +import { decodeTokenURI } from '@utils/nft' +import MetaAsset from './MetaAsset' +import MetaInfo from './MetaInfo' +import Tooltip from '@shared/atoms/Tooltip' +import NftTooltip from './NftTooltip' +import Logo from '@shared/atoms/Logo' + +export default function MetaMain({ + asset, + nftPublisher +}: { + asset: Asset + nftPublisher: string +}): ReactElement { + const nftMetadata = decodeTokenURI(asset?.nft?.tokenURI) + + const blockscoutNetworks = [1287, 2021000, 2021001, 44787, 246, 1285] + const isBlockscoutExplorer = blockscoutNetworks.includes(asset?.chainId) + + return ( + + ) +} diff --git a/src/components/Asset/AssetContent/index.module.css b/src/components/Asset/AssetContent/index.module.css index 0b100d73a..9a3b3d705 100644 --- a/src/components/Asset/AssetContent/index.module.css +++ b/src/components/Asset/AssetContent/index.module.css @@ -16,6 +16,7 @@ .content { composes: box from '@shared/atoms/Box.module.css'; + padding-top: 0; margin-top: var(--spacer); position: relative; } diff --git a/src/components/Asset/AssetContent/index.tsx b/src/components/Asset/AssetContent/index.tsx index f91a16a40..c8cdc92dc 100644 --- a/src/components/Asset/AssetContent/index.tsx +++ b/src/components/Asset/AssetContent/index.tsx @@ -16,16 +16,27 @@ import NetworkName from '@shared/NetworkName' import content from '../../../../content/purgatory.json' import { AssetExtended } from 'src/@types/AssetExtended' import { useWeb3 } from '@context/Web3' +import Web3 from 'web3' export default function AssetContent({ asset }: { asset: AssetExtended }): ReactElement { - const { debug } = useUserPreferences() const [isOwner, setIsOwner] = useState(false) const { accountId } = useWeb3() const { isInPurgatory, purgatoryData, owner, isAssetNetwork } = useAsset() + const { debug } = useUserPreferences() + const [receipts, setReceipts] = useState([]) + const [nftPublisher, setNftPublisher] = useState() + + useEffect(() => { + setNftPublisher( + Web3.utils.toChecksumAddress( + receipts?.find((e) => e.type === 'METADATA_CREATED')?.nft?.owner + ) + ) + }, [receipts]) useEffect(() => { if (!accountId || !owner) return @@ -43,11 +54,10 @@ export default function AssetContent({
- + {asset?.accessDetails?.datatoken !== null && ( )} - {isInPurgatory === true ? ( )} - - + {debug === true && }
diff --git a/src/components/Publish/_utils.ts b/src/components/Publish/_utils.ts index a5ae3bf88..05efb3dbd 100644 --- a/src/components/Publish/_utils.ts +++ b/src/components/Publish/_utils.ts @@ -181,6 +181,7 @@ export async function transformPublishFormToDdo( } ], nft: { + ...generateNftCreateData(values?.metadata.nft), owner: accountId } })