From 31e130a889cc54107d4308835e7d491c5de4e866 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 14:40:38 +0800
Subject: [PATCH 01/13] en: wagmiv1 init
---
package.json | 3 +-
src/App.js | 24 +-
src/Providers.js | 14 +
src/config/chains.js | 10 +
src/utils/wagmi/index.js | 54 ++++
yarn.lock | 680 ++++++++++++++++++++++++++++++++-------
6 files changed, 654 insertions(+), 131 deletions(-)
create mode 100644 src/Providers.js
create mode 100644 src/config/chains.js
create mode 100644 src/utils/wagmi/index.js
diff --git a/package.json b/package.json
index 022564b4..fa900246 100644
--- a/package.json
+++ b/package.json
@@ -94,7 +94,8 @@
"style-loader": "^3.3.1",
"tailwindcss": "^3.0.2",
"terser-webpack-plugin": "^5.2.5",
- "wagmi": "^0.12.12",
+ "viem": "^1.19.1",
+ "wagmi": "^1.4.6",
"web-vitals": "^2.1.4",
"webpack": "^5.64.4",
"webpack-dev-server": "^4.6.0",
diff --git a/src/App.js b/src/App.js
index 175fb8c6..d6a3cfe2 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,10 +1,7 @@
-import i18n from 'i18next';
import { useEffect } from "react";
import BeforeRouterEnter from "@/components/BeforeRouterEnter";
import { WagmiConfig, configureChains, createClient } from 'wagmi'
import { goerli, mainnet, polygon, polygonMumbai } from 'wagmi/chains'
-import { MetaMaskConnector } from 'wagmi/connectors/metaMask'
-import { WalletConnectConnector } from 'wagmi/connectors/walletConnect'
import { publicProvider } from 'wagmi/providers/public'
import { infuraProvider } from 'wagmi/providers/infura'
import MyProvider from './provider';
@@ -13,6 +10,7 @@ import { EthereumClient, w3mConnectors, w3mProvider } from '@web3modal/ethereum'
import { Web3Modal } from '@web3modal/react'
import * as Sentry from "@sentry/react";
import { ConfigProvider } from 'antd';
+import Providers from "./Providers";
require("@solana/wallet-adapter-react-ui/styles.css");
const sentryKey = process.env.REACT_APP_SENTRY_KEY;
@@ -55,22 +53,6 @@ const web3modalClient = createClient({
// webSocketProvider,
})
-const wagmiClient = createClient({
- autoConnect: true,
- connectors: [
- new MetaMaskConnector({ chains }),
- new WalletConnectConnector({
- chains,
- options: {
- projectId: projectId,
- showQrModal: true
- },
- }),
- ],
- provider,
- webSocketProvider,
-})
-
const ethereumClient = new EthereumClient(web3modalClient, chains)
export default function App() {
@@ -104,7 +86,7 @@ export default function App() {
<>
{/* wagmi */}
-
+
-
+
+ {children}
+
+ )
+}
\ No newline at end of file
diff --git a/src/config/chains.js b/src/config/chains.js
new file mode 100644
index 00000000..2d562cf2
--- /dev/null
+++ b/src/config/chains.js
@@ -0,0 +1,10 @@
+import { polygon, polygonMumbai } from "viem/chains";
+
+
+export const CHAINS_DEV = [
+ polygonMumbai
+]
+
+export const CHAINS = [
+ polygon
+]
\ No newline at end of file
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
new file mode 100644
index 00000000..04dfa444
--- /dev/null
+++ b/src/utils/wagmi/index.js
@@ -0,0 +1,54 @@
+import { configureChains } from 'wagmi';
+import { MetaMaskConnector } from 'wagmi/connectors/metaMask';
+import { WalletConnectConnector } from 'wagmi/connectors/walletConnect';
+import { CHAINS, CHAINS_DEV } from '@/config/chains';
+
+
+export const { publicClient, chains } = configureChains(
+ process.env.REACT_APP_IS_DEV ? CHAINS_DEV : CHAINS,
+ [],
+ {
+ batch: {
+ multicall: {
+ batchSize: 1024 * 200,
+ wait: 16,
+ },
+ },
+ pollingInterval: 6_000,
+ },
+ )
+
+export const metaMaskConnector = new MetaMaskConnector({
+ chains,
+ options: {
+ shimDisconnect: false,
+ },
+})
+
+export const walletConnectConnector = new WalletConnectConnector({
+ chains,
+ options: {
+ projectId: "a9f8856bf87d913f7af93c2a3e5ebb15",
+ showQrModal: true
+ },
+})
+
+export const noopStorage = {
+ getItem: (_key) => '',
+ setItem: (_key, _value) => null,
+ removeItem: (_key) => null,
+}
+
+export const wagmiConfig = createConfig({
+ storage: createStorage({
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage,
+ key: 'wagmi_v1.1',
+ }),
+ autoConnect: false,
+ publicClient,
+ connectors: [
+ metaMaskConnector,
+ walletConnectConnector,
+ ],
+})
+
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index c36f9b6d..f0d3e085 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -12,6 +12,11 @@
resolved "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28"
integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==
+"@adraffy/ens-normalize@1.10.0":
+ version "1.10.0"
+ resolved "https://registry.npmmirror.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7"
+ integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==
+
"@alloc/quick-lru@^5.2.0":
version "5.2.0"
resolved "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
@@ -1852,6 +1857,11 @@
resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@ioredis/commands@^1.1.1":
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11"
+ integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==
+
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -2198,11 +2208,6 @@
bs58 "^5.0.0"
uuid "^8.3.2"
-"@ledgerhq/connect-kit-loader@^1.0.1":
- version "1.1.2"
- resolved "https://registry.npmmirror.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.2.tgz#d550e3c1f046e4c796f32a75324b03606b7e226a"
- integrity sha512-mscwGroSJQrCTjtNGBu+18FQbZYA4+q6Tyx6K7CXHl6AwgZKbWfZYdgP2F+fyZcRUdGRsMX8QtvU61VcGGtO1A==
-
"@ledgerhq/devices@6.27.1", "@ledgerhq/devices@^6.27.1":
version "6.27.1"
resolved "https://registry.npmmirror.com/@ledgerhq/devices/-/devices-6.27.1.tgz#3b13ab1d1ba8201e9e74a08f390560483978c962"
@@ -2422,7 +2427,7 @@
dependencies:
"@noble/hashes" "1.3.1"
-"@noble/curves@^1.1.0", "@noble/curves@^1.2.0":
+"@noble/curves@1.2.0", "@noble/curves@^1.1.0", "@noble/curves@^1.2.0", "@noble/curves@~1.2.0":
version "1.2.0"
resolved "https://registry.npmmirror.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35"
integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==
@@ -2439,6 +2444,11 @@
resolved "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39"
integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
+"@noble/hashes@~1.3.2":
+ version "1.3.3"
+ resolved "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699"
+ integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -2460,6 +2470,98 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@parcel/watcher-android-arm64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab"
+ integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==
+
+"@parcel/watcher-darwin-arm64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad"
+ integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==
+
+"@parcel/watcher-darwin-x64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219"
+ integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==
+
+"@parcel/watcher-freebsd-x64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6"
+ integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==
+
+"@parcel/watcher-linux-arm-glibc@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da"
+ integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==
+
+"@parcel/watcher-linux-arm64-glibc@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc"
+ integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==
+
+"@parcel/watcher-linux-arm64-musl@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43"
+ integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==
+
+"@parcel/watcher-linux-x64-glibc@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943"
+ integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==
+
+"@parcel/watcher-linux-x64-musl@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd"
+ integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==
+
+"@parcel/watcher-wasm@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz#73b66c6fbd2a3326ae86a1ec77eab7139d0dd725"
+ integrity sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==
+ dependencies:
+ is-glob "^4.0.3"
+ micromatch "^4.0.5"
+ napi-wasm "^1.1.0"
+
+"@parcel/watcher-win32-arm64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6"
+ integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==
+
+"@parcel/watcher-win32-ia32@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a"
+ integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==
+
+"@parcel/watcher-win32-x64@2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7"
+ integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==
+
+"@parcel/watcher@^2.3.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9"
+ integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==
+ dependencies:
+ detect-libc "^1.0.3"
+ is-glob "^4.0.3"
+ micromatch "^4.0.5"
+ node-addon-api "^7.0.0"
+ optionalDependencies:
+ "@parcel/watcher-android-arm64" "2.3.0"
+ "@parcel/watcher-darwin-arm64" "2.3.0"
+ "@parcel/watcher-darwin-x64" "2.3.0"
+ "@parcel/watcher-freebsd-x64" "2.3.0"
+ "@parcel/watcher-linux-arm-glibc" "2.3.0"
+ "@parcel/watcher-linux-arm64-glibc" "2.3.0"
+ "@parcel/watcher-linux-arm64-musl" "2.3.0"
+ "@parcel/watcher-linux-x64-glibc" "2.3.0"
+ "@parcel/watcher-linux-x64-musl" "2.3.0"
+ "@parcel/watcher-win32-arm64" "2.3.0"
+ "@parcel/watcher-win32-ia32" "2.3.0"
+ "@parcel/watcher-win32-x64" "2.3.0"
+
"@particle-network/auth@^0.5.5":
version "0.5.6"
resolved "https://registry.npmmirror.com/@particle-network/auth/-/auth-0.5.6.tgz#058e00980511fdf72189b6d4a7576e67934a008a"
@@ -2624,29 +2726,21 @@
resolved "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz#5f1b518ec5fa54437c0b7c4a821546c64fed6922"
integrity sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==
-"@safe-global/safe-apps-provider@^0.15.2":
- version "0.15.2"
- resolved "https://registry.npmmirror.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.15.2.tgz#fa5c30140134e72bb969da76b80a16c545323e3a"
- integrity sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ==
+"@safe-global/safe-apps-provider@^0.18.1":
+ version "0.18.1"
+ resolved "https://registry.npmmirror.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.1.tgz#287b5a1e2ef3be630dacde54279409df3ced8202"
+ integrity sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==
dependencies:
- "@safe-global/safe-apps-sdk" "7.9.0"
+ "@safe-global/safe-apps-sdk" "^8.1.0"
events "^3.3.0"
-"@safe-global/safe-apps-sdk@7.9.0":
- version "7.9.0"
- resolved "https://registry.npmmirror.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.9.0.tgz#0c79a7760470bfdaf4cce9aa5bceef56898c7037"
- integrity sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w==
- dependencies:
- "@safe-global/safe-gateway-typescript-sdk" "^3.5.3"
- ethers "^5.7.2"
-
-"@safe-global/safe-apps-sdk@^7.9.0":
- version "7.11.0"
- resolved "https://registry.npmmirror.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.11.0.tgz#2cbc164fb70141cdf4d3331ff222cd98a2529316"
- integrity sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A==
+"@safe-global/safe-apps-sdk@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmmirror.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz#d1d0c69cd2bf4eef8a79c5d677d16971926aa64a"
+ integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==
dependencies:
"@safe-global/safe-gateway-typescript-sdk" "^3.5.3"
- ethers "^5.7.2"
+ viem "^1.0.0"
"@safe-global/safe-gateway-typescript-sdk@^3.5.3":
version "3.12.0"
@@ -2658,6 +2752,11 @@
resolved "https://registry.npmmirror.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f"
integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==
+"@scure/base@~1.1.2":
+ version "1.1.5"
+ resolved "https://registry.npmmirror.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157"
+ integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==
+
"@scure/bip32@1.3.1":
version "1.3.1"
resolved "https://registry.npmmirror.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10"
@@ -2667,6 +2766,15 @@
"@noble/hashes" "~1.3.1"
"@scure/base" "~1.1.0"
+"@scure/bip32@1.3.2":
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8"
+ integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==
+ dependencies:
+ "@noble/curves" "~1.2.0"
+ "@noble/hashes" "~1.3.2"
+ "@scure/base" "~1.1.2"
+
"@scure/bip39@1.2.1":
version "1.2.1"
resolved "https://registry.npmmirror.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a"
@@ -4217,34 +4325,28 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
-"@wagmi/chains@0.2.22":
- version "0.2.22"
- resolved "https://registry.npmmirror.com/@wagmi/chains/-/chains-0.2.22.tgz#25e511e134a00742e4fbf5108613dadf876c5bd9"
- integrity sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==
-
-"@wagmi/connectors@0.3.24":
- version "0.3.24"
- resolved "https://registry.npmmirror.com/@wagmi/connectors/-/connectors-0.3.24.tgz#2c1d69fc0ae6b85b75a4d57547fc7e2d4bc117e8"
- integrity sha512-1pI0G9HRblc651dCz9LXuEu/zWQk23XwOUYqJEINb/c2TTLtw5TnTRIcefxxK6RnxeJvcKfnmK0rdZp/4ujFAA==
+"@wagmi/connectors@3.1.10":
+ version "3.1.10"
+ resolved "https://registry.npmmirror.com/@wagmi/connectors/-/connectors-3.1.10.tgz#830cd788579ef56a2526574914481f2d3aabc9f7"
+ integrity sha512-ZLJC1QaeiZarkF07Cr9mOlVjPO1Lf5TBx+JKBms2y5fUIXlKrxCfQgO/gDCureboI+Us2X3IRI659+XacSGpbA==
dependencies:
"@coinbase/wallet-sdk" "^3.6.6"
- "@ledgerhq/connect-kit-loader" "^1.0.1"
- "@safe-global/safe-apps-provider" "^0.15.2"
- "@safe-global/safe-apps-sdk" "^7.9.0"
- "@walletconnect/ethereum-provider" "2.9.0"
+ "@safe-global/safe-apps-provider" "^0.18.1"
+ "@safe-global/safe-apps-sdk" "^8.1.0"
+ "@walletconnect/ethereum-provider" "2.10.6"
"@walletconnect/legacy-provider" "^2.0.0"
- "@walletconnect/modal" "^2.5.9"
- abitype "^0.3.0"
+ "@walletconnect/modal" "2.6.2"
+ "@walletconnect/utils" "2.10.2"
+ abitype "0.8.7"
eventemitter3 "^4.0.7"
-"@wagmi/core@0.10.17":
- version "0.10.17"
- resolved "https://registry.npmmirror.com/@wagmi/core/-/core-0.10.17.tgz#d2a641c3c608cad813e9eed290769d577512d935"
- integrity sha512-qud45y3IlHp7gYWzoFeyysmhyokRie59Xa5tcx5F1E/v4moD5BY0kzD26mZW/ZQ3WZuVK/lZwiiPRqpqWH52Gw==
+"@wagmi/core@1.4.12":
+ version "1.4.12"
+ resolved "https://registry.npmmirror.com/@wagmi/core/-/core-1.4.12.tgz#84558d1af746b2bcef02337dc3c46108242b1dd7"
+ integrity sha512-bLcYmmGgjtl3jAGo8X3Sm6oUwsdjbVxFMu9SWnwHdE4S9JdYeWM57dEhQgq8SYul2yQ7yY2/gimBf1Or0Ky3dQ==
dependencies:
- "@wagmi/chains" "0.2.22"
- "@wagmi/connectors" "0.3.24"
- abitype "^0.3.0"
+ "@wagmi/connectors" "3.1.10"
+ abitype "0.8.7"
eventemitter3 "^4.0.7"
zustand "^4.3.1"
@@ -4307,24 +4409,24 @@
lodash.isequal "4.5.0"
uint8arrays "^3.1.0"
-"@walletconnect/core@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/core/-/core-2.9.0.tgz#7837a5d015a22b48d35b987bcde2aa9ccdf300d8"
- integrity sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==
+"@walletconnect/core@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/core/-/core-2.10.6.tgz#786b0d2e2045c210c917e29bfa0498bbc210be20"
+ integrity sha512-Z4vh4ZdfcoQjgPEOxeuF9HUZCVLtV3MgRbS/awLIj/omDrFnOwlBhxi5Syr4Y8muVGC0ocRetQYHae0/gX5crQ==
dependencies:
"@walletconnect/heartbeat" "1.2.1"
"@walletconnect/jsonrpc-provider" "1.0.13"
"@walletconnect/jsonrpc-types" "1.0.3"
"@walletconnect/jsonrpc-utils" "1.0.8"
- "@walletconnect/jsonrpc-ws-connection" "1.0.12"
- "@walletconnect/keyvaluestorage" "^1.0.2"
+ "@walletconnect/jsonrpc-ws-connection" "1.0.14"
+ "@walletconnect/keyvaluestorage" "^1.1.1"
"@walletconnect/logger" "^2.0.1"
"@walletconnect/relay-api" "^1.0.9"
"@walletconnect/relay-auth" "^1.0.4"
"@walletconnect/safe-json" "^1.0.2"
"@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
+ "@walletconnect/types" "2.10.6"
+ "@walletconnect/utils" "2.10.6"
events "^3.3.0"
lodash.isequal "4.5.0"
uint8arrays "^3.1.0"
@@ -4357,19 +4459,20 @@
dependencies:
tslib "1.14.1"
-"@walletconnect/ethereum-provider@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.0.tgz#aa6e9e441678c824af8f744c50dafd604f19d69e"
- integrity sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==
+"@walletconnect/ethereum-provider@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.10.6.tgz#53720771cc2d6accd452916a853ac927f26acbaa"
+ integrity sha512-bBQ+yUfxLv8VxNttgNKY7nED35gSVayO/BnLHbNKvyV1gpvSCla5mWB9MsXuQs70MK0g+/qtgRVSrOtdSubaNQ==
dependencies:
"@walletconnect/jsonrpc-http-connection" "^1.0.7"
"@walletconnect/jsonrpc-provider" "^1.0.13"
"@walletconnect/jsonrpc-types" "^1.0.3"
"@walletconnect/jsonrpc-utils" "^1.0.8"
- "@walletconnect/sign-client" "2.9.0"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/universal-provider" "2.9.0"
- "@walletconnect/utils" "2.9.0"
+ "@walletconnect/modal" "^2.4.3"
+ "@walletconnect/sign-client" "2.10.6"
+ "@walletconnect/types" "2.10.6"
+ "@walletconnect/universal-provider" "2.10.6"
+ "@walletconnect/utils" "2.10.6"
events "^3.3.0"
"@walletconnect/events@^1.0.1":
@@ -4425,10 +4528,10 @@
"@walletconnect/jsonrpc-types" "^1.0.3"
tslib "1.14.1"
-"@walletconnect/jsonrpc-ws-connection@1.0.12":
- version "1.0.12"
- resolved "https://registry.npmmirror.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.12.tgz#2192314884fabdda6d0a9d22e157e5b352025ed8"
- integrity sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==
+"@walletconnect/jsonrpc-ws-connection@1.0.13":
+ version "1.0.13"
+ resolved "https://registry.npmmirror.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4"
+ integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg==
dependencies:
"@walletconnect/jsonrpc-utils" "^1.0.6"
"@walletconnect/safe-json" "^1.0.2"
@@ -4436,15 +4539,14 @@
tslib "1.14.1"
ws "^7.5.1"
-"@walletconnect/jsonrpc-ws-connection@1.0.13":
- version "1.0.13"
- resolved "https://registry.npmmirror.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4"
- integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg==
+"@walletconnect/jsonrpc-ws-connection@1.0.14":
+ version "1.0.14"
+ resolved "https://registry.npmmirror.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa"
+ integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==
dependencies:
"@walletconnect/jsonrpc-utils" "^1.0.6"
"@walletconnect/safe-json" "^1.0.2"
events "^3.3.0"
- tslib "1.14.1"
ws "^7.5.1"
"@walletconnect/keyvaluestorage@^1.0.2":
@@ -4455,6 +4557,15 @@
safe-json-utils "^1.1.1"
tslib "1.14.1"
+"@walletconnect/keyvaluestorage@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842"
+ integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==
+ dependencies:
+ "@walletconnect/safe-json" "^1.0.1"
+ idb-keyval "^6.2.1"
+ unstorage "^1.9.0"
+
"@walletconnect/legacy-client@^2.0.0":
version "2.0.0"
resolved "https://registry.npmmirror.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30"
@@ -4545,7 +4656,7 @@
motion "10.16.2"
qrcode "1.5.3"
-"@walletconnect/modal@^2.5.9":
+"@walletconnect/modal@2.6.2", "@walletconnect/modal@^2.4.3":
version "2.6.2"
resolved "https://registry.npmmirror.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651"
integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==
@@ -4607,19 +4718,19 @@
dependencies:
tslib "1.14.1"
-"@walletconnect/sign-client@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/sign-client/-/sign-client-2.9.0.tgz#fd3b0acb68bc8d56350f01ed70f8c6326e6e89fa"
- integrity sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==
+"@walletconnect/sign-client@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/sign-client/-/sign-client-2.10.6.tgz#722d2c2844565e2826dce6a6d3a36c9b3ca1ea91"
+ integrity sha512-EvUWjaZBQu2yKnH5/5F2qzbuiIuUN9ZgrNKgvXkw5z1Dq5RJCks0S9/MFlKH/ZSGqXnLl7uAzBXtoX4sMgbCMA==
dependencies:
- "@walletconnect/core" "2.9.0"
+ "@walletconnect/core" "2.10.6"
"@walletconnect/events" "^1.0.1"
"@walletconnect/heartbeat" "1.2.1"
"@walletconnect/jsonrpc-utils" "1.0.8"
"@walletconnect/logger" "^2.0.1"
"@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
+ "@walletconnect/types" "2.10.6"
+ "@walletconnect/utils" "2.10.6"
events "^3.3.0"
"@walletconnect/sign-client@^2.7.2":
@@ -4656,10 +4767,10 @@
"@walletconnect/logger" "^2.0.1"
events "^3.3.0"
-"@walletconnect/types@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/types/-/types-2.9.0.tgz#6e5dfdc7212c1ec4ab49a1ec409c743e16093f72"
- integrity sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==
+"@walletconnect/types@2.10.2":
+ version "2.10.2"
+ resolved "https://registry.npmmirror.com/@walletconnect/types/-/types-2.10.2.tgz#68e433a29ec2cf42d79d8b50c77bd5c1d91db721"
+ integrity sha512-luNV+07Wdla4STi9AejseCQY31tzWKQ5a7C3zZZaRK/di+rFaAAb7YW04OP4klE7tw/mJRGPTlekZElmHxO8kQ==
dependencies:
"@walletconnect/events" "^1.0.1"
"@walletconnect/heartbeat" "1.2.1"
@@ -4668,24 +4779,36 @@
"@walletconnect/logger" "^2.0.1"
events "^3.3.0"
+"@walletconnect/types@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/types/-/types-2.10.6.tgz#d9920ed4fd0113e0addbda8e7e73a5176a3163fd"
+ integrity sha512-WgHfiTG1yakmxheaBRiXhUdEmgxwrvsAdOIWaMf/spvrzVKYh6sHI3oyEEky5qj5jjiMiyQBeB57QamzCotbcQ==
+ dependencies:
+ "@walletconnect/events" "^1.0.1"
+ "@walletconnect/heartbeat" "1.2.1"
+ "@walletconnect/jsonrpc-types" "1.0.3"
+ "@walletconnect/keyvaluestorage" "^1.1.1"
+ "@walletconnect/logger" "^2.0.1"
+ events "^3.3.0"
+
"@walletconnect/types@^1.8.0":
version "1.8.0"
resolved "https://registry.npmmirror.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195"
integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==
-"@walletconnect/universal-provider@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/universal-provider/-/universal-provider-2.9.0.tgz#a6b4a1f099262536e17b5c25bf7b3c89db9945a8"
- integrity sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ==
+"@walletconnect/universal-provider@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/universal-provider/-/universal-provider-2.10.6.tgz#1a6c42517581f11ce275474bc70d0eb4f1044525"
+ integrity sha512-CEivusqqoD31BhCTKp08DnrccfGjwD9MFjZs5BNRorDteRFE8zVm9LmP6DSiNJCw82ZajGlZThggLQ/BAATfwA==
dependencies:
"@walletconnect/jsonrpc-http-connection" "^1.0.7"
"@walletconnect/jsonrpc-provider" "1.0.13"
"@walletconnect/jsonrpc-types" "^1.0.2"
"@walletconnect/jsonrpc-utils" "^1.0.7"
"@walletconnect/logger" "^2.0.1"
- "@walletconnect/sign-client" "2.9.0"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
+ "@walletconnect/sign-client" "2.10.6"
+ "@walletconnect/types" "2.10.6"
+ "@walletconnect/utils" "2.10.6"
events "^3.3.0"
"@walletconnect/utils@2.10.1", "@walletconnect/utils@^2.4.5":
@@ -4708,10 +4831,30 @@
query-string "7.1.3"
uint8arrays "^3.1.0"
-"@walletconnect/utils@2.9.0":
- version "2.9.0"
- resolved "https://registry.npmmirror.com/@walletconnect/utils/-/utils-2.9.0.tgz#c73925edb9fefe79021bcf028e957028f986b728"
- integrity sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==
+"@walletconnect/utils@2.10.2":
+ version "2.10.2"
+ resolved "https://registry.npmmirror.com/@walletconnect/utils/-/utils-2.10.2.tgz#1f2c6a2f1bb95bcc4517b1e94aa7164c9286eb46"
+ integrity sha512-syxXRpc2yhSknMu3IfiBGobxOY7fLfLTJuw+ppKaeO6WUdZpIit3wfuGOcc0Ms3ZPFCrGfyGOoZsCvgdXtptRg==
+ dependencies:
+ "@stablelib/chacha20poly1305" "1.0.1"
+ "@stablelib/hkdf" "1.0.1"
+ "@stablelib/random" "^1.0.2"
+ "@stablelib/sha256" "1.0.1"
+ "@stablelib/x25519" "^1.0.3"
+ "@walletconnect/relay-api" "^1.0.9"
+ "@walletconnect/safe-json" "^1.0.2"
+ "@walletconnect/time" "^1.0.2"
+ "@walletconnect/types" "2.10.2"
+ "@walletconnect/window-getters" "^1.0.1"
+ "@walletconnect/window-metadata" "^1.0.1"
+ detect-browser "5.3.0"
+ query-string "7.1.3"
+ uint8arrays "^3.1.0"
+
+"@walletconnect/utils@2.10.6":
+ version "2.10.6"
+ resolved "https://registry.npmmirror.com/@walletconnect/utils/-/utils-2.10.6.tgz#749b37d14e291e346862e7027ec7548463350226"
+ integrity sha512-oRsWWhN2+hi3aiDXrQEOfysz6FHQJGXLsNQPVt+WIBJplO6Szmdau9dbleD88u1iiT4GKPqE0R9FOYvvPm1H/w==
dependencies:
"@stablelib/chacha20poly1305" "1.0.1"
"@stablelib/hkdf" "1.0.1"
@@ -4721,7 +4864,7 @@
"@walletconnect/relay-api" "^1.0.9"
"@walletconnect/safe-json" "^1.0.2"
"@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
+ "@walletconnect/types" "2.10.6"
"@walletconnect/window-getters" "^1.0.1"
"@walletconnect/window-metadata" "^1.0.1"
detect-browser "5.3.0"
@@ -4929,10 +5072,15 @@ abab@^2.0.3, abab@^2.0.5:
resolved "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
-abitype@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmmirror.com/abitype/-/abitype-0.3.0.tgz#75150e337d88cc0b2423ed0d3fc36935f139d04c"
- integrity sha512-0YokyAV4hKMcy97Pl+6QgZBlBdZJN2llslOs7kiFY+cu7kMlVXDBpxMExfv0krzBCQt2t7hNovpQ3y/zvEm18A==
+abitype@0.8.7:
+ version "0.8.7"
+ resolved "https://registry.npmmirror.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622"
+ integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==
+
+abitype@0.9.8:
+ version "0.9.8"
+ resolved "https://registry.npmmirror.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c"
+ integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==
abort-controller@^3.0.0:
version "3.0.0"
@@ -4977,6 +5125,11 @@ acorn@^7.1.1:
resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+acorn@^8.10.0:
+ version "8.11.3"
+ resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
+ integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+
acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
@@ -5184,7 +5337,7 @@ any-promise@^1.0.0:
resolved "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
-anymatch@^3.0.3, anymatch@~3.1.2:
+anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
@@ -5192,6 +5345,11 @@ anymatch@^3.0.3, anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+arch@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
+ integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+
arg@^5.0.2:
version "5.0.2"
resolved "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
@@ -6134,6 +6292,13 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
+citty@^0.1.4, citty@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.npmmirror.com/citty/-/citty-0.1.5.tgz#fe37ceae5dc764af75eb2fece99d2bf527ea4e50"
+ integrity sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==
+ dependencies:
+ consola "^3.2.3"
+
cjs-module-lexer@^1.0.0:
version "1.2.3"
resolved "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
@@ -6151,6 +6316,15 @@ clean-css@^5.2.2:
dependencies:
source-map "~0.6.0"
+clipboardy@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/clipboardy/-/clipboardy-3.0.0.tgz#f3876247404d334c9ed01b6f269c11d09a5e3092"
+ integrity sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==
+ dependencies:
+ arch "^2.2.0"
+ execa "^5.1.1"
+ is-wsl "^2.2.0"
+
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@@ -6183,6 +6357,11 @@ clsx@^1.1.0:
resolved "https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
+cluster-key-slot@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac"
+ integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.npmmirror.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -6333,6 +6512,11 @@ connect-history-api-fallback@^2.0.0:
resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==
+consola@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmmirror.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f"
+ integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==
+
content-disposition@0.5.4:
version "0.5.4"
resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
@@ -6355,6 +6539,11 @@ convert-source-map@^2.0.0:
resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+cookie-es@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/cookie-es/-/cookie-es-1.0.0.tgz#4759684af168dfc54365b2c2dda0a8d7ee1e4865"
+ integrity sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==
+
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
@@ -6833,6 +7022,11 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, de
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
+defu@^6.1.2, defu@^6.1.3:
+ version "6.1.3"
+ resolved "https://registry.npmmirror.com/defu/-/defu-6.1.3.tgz#6d7f56bc61668e844f9f593ace66fd67ef1205fd"
+ integrity sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==
+
delay@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
@@ -6843,6 +7037,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+denque@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1"
+ integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==
+
depd@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
@@ -6866,6 +7065,11 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
+destr@^2.0.1, destr@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/destr/-/destr-2.0.2.tgz#8d3c0ee4ec0a76df54bc8b819bca215592a8c218"
+ integrity sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==
+
destroy@1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
@@ -6881,6 +7085,11 @@ detect-browser@5.3.0, detect-browser@^5.3.0:
resolved "https://registry.npmmirror.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca"
integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==
+detect-libc@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
+
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
@@ -7789,7 +7998,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
-execa@^5.0.0:
+execa@^5.0.0, execa@^5.1.1:
version "5.1.1"
resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
@@ -8207,6 +8416,11 @@ get-package-type@^0.1.0:
resolved "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-port-please@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/get-port-please/-/get-port-please-3.1.1.tgz#2556623cddb4801d823c0a6a15eec038abb483be"
+ integrity sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==
+
get-stream@^6.0.0:
version "6.0.1"
resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -8339,6 +8553,20 @@ gzip-size@^6.0.0:
dependencies:
duplexer "^0.1.2"
+h3@^1.8.1, h3@^1.8.2:
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/h3/-/h3-1.9.0.tgz#c5f512a93026df9837db6f30c9ef51135dd46752"
+ integrity sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==
+ dependencies:
+ cookie-es "^1.0.0"
+ defu "^6.1.3"
+ destr "^2.0.2"
+ iron-webcrypto "^1.0.0"
+ radix3 "^1.1.0"
+ ufo "^1.3.2"
+ uncrypto "^0.1.3"
+ unenv "^1.7.4"
+
handle-thing@^2.0.0:
version "2.0.1"
resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
@@ -8755,6 +8983,11 @@ http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
+http-shutdown@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f"
+ integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==
+
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
@@ -8811,6 +9044,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+idb-keyval@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.npmmirror.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33"
+ integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==
+
idb@^7.0.1:
version "7.1.1"
resolved "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b"
@@ -8911,6 +9149,21 @@ intersection-observer@^0.12.0:
resolved "https://registry.npmmirror.com/intersection-observer/-/intersection-observer-0.12.2.tgz#4a45349cc0cd91916682b1f44c28d7ec737dc375"
integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==
+ioredis@^5.3.2:
+ version "5.3.2"
+ resolved "https://registry.npmmirror.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7"
+ integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==
+ dependencies:
+ "@ioredis/commands" "^1.1.1"
+ cluster-key-slot "^1.1.0"
+ debug "^4.3.4"
+ denque "^2.1.0"
+ lodash.defaults "^4.2.0"
+ lodash.isarguments "^3.1.0"
+ redis-errors "^1.2.0"
+ redis-parser "^3.0.0"
+ standard-as-callback "^2.1.0"
+
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@@ -8921,6 +9174,11 @@ ipaddr.js@^2.0.1:
resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f"
integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
+iron-webcrypto@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz#e3b689c0c61b434a0a4cb82d0aeabbc8b672a867"
+ integrity sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==
+
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
@@ -9238,6 +9496,11 @@ isomorphic-ws@^4.0.1:
resolved "https://registry.npmmirror.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
+isows@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74"
+ integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==
+
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
@@ -9858,6 +10121,11 @@ jiti@^1.18.2:
resolved "https://registry.npmmirror.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42"
integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==
+jiti@^1.20.0:
+ version "1.21.0"
+ resolved "https://registry.npmmirror.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d"
+ integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
+
js-base64@^3.7.2:
version "3.7.5"
resolved "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz#21e24cf6b886f76d6f5f165bfcd69cc55b9e3fca"
@@ -10015,6 +10283,11 @@ json5@^2.1.2, json5@^2.2.0, json5@^2.2.3:
resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+jsonc-parser@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
+ integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
+
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -10155,6 +10428,29 @@ lines-and-columns@^1.1.6:
resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+listhen@^1.5.5:
+ version "1.5.5"
+ resolved "https://registry.npmmirror.com/listhen/-/listhen-1.5.5.tgz#58915512af70f770aa3e9fb19367adf479bb58c4"
+ integrity sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==
+ dependencies:
+ "@parcel/watcher" "^2.3.0"
+ "@parcel/watcher-wasm" "2.3.0"
+ citty "^0.1.4"
+ clipboardy "^3.0.0"
+ consola "^3.2.3"
+ defu "^6.1.2"
+ get-port-please "^3.1.1"
+ h3 "^1.8.1"
+ http-shutdown "^1.2.2"
+ jiti "^1.20.0"
+ mlly "^1.4.2"
+ node-forge "^1.3.1"
+ pathe "^1.1.1"
+ std-env "^3.4.3"
+ ufo "^1.3.0"
+ untun "^0.1.2"
+ uqr "^0.1.2"
+
lit-element@^3.3.0:
version "3.3.3"
resolved "https://registry.npmmirror.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209"
@@ -10240,6 +10536,16 @@ lodash.debounce@^4.0.8:
resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+lodash.defaults@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+ integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
+
+lodash.isarguments@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+ integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
+
lodash.isequal@4.5.0:
version "4.5.0"
resolved "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
@@ -10304,6 +10610,11 @@ lower-case@^2.0.2:
dependencies:
tslib "^2.0.3"
+lru-cache@^10.0.2:
+ version "10.1.0"
+ resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484"
+ integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -11037,6 +11348,11 @@ mime@1.6.0:
resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+mime@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
+ integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
+
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -11090,6 +11406,16 @@ mkdirp@~0.5.1:
dependencies:
minimist "^1.2.6"
+mlly@^1.2.0, mlly@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.npmmirror.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e"
+ integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==
+ dependencies:
+ acorn "^8.10.0"
+ pathe "^1.1.1"
+ pkg-types "^1.0.3"
+ ufo "^1.3.0"
+
motion@10.16.2:
version "10.16.2"
resolved "https://registry.npmmirror.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21"
@@ -11102,7 +11428,7 @@ motion@10.16.2:
"@motionone/utils" "^10.15.1"
"@motionone/vue" "^10.16.2"
-mri@^1.1.0:
+mri@^1.1.0, mri@^1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
@@ -11149,6 +11475,11 @@ nanoid@^3.3.6:
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
+napi-wasm@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e"
+ integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==
+
natural-compare-lite@^1.4.0:
version "1.4.0"
resolved "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
@@ -11182,6 +11513,16 @@ node-addon-api@^2.0.0:
resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
+node-addon-api@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e"
+ integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==
+
+node-fetch-native@^1.4.0, node-fetch-native@^1.4.1:
+ version "1.6.1"
+ resolved "https://registry.npmmirror.com/node-fetch-native/-/node-fetch-native-1.6.1.tgz#f95c74917d3cebc794cdae0cd2a9c7594aad0cb4"
+ integrity sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==
+
node-fetch@^2.6.12:
version "2.7.0"
resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
@@ -11189,7 +11530,7 @@ node-fetch@^2.6.12:
dependencies:
whatwg-url "^5.0.0"
-node-forge@^1:
+node-forge@^1, node-forge@^1.3.1:
version "1.3.1"
resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
@@ -11354,6 +11695,15 @@ obuf@^1.0.0, obuf@^1.1.2:
resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
+ofetch@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmmirror.com/ofetch/-/ofetch-1.3.3.tgz#588cb806a28e5c66c2c47dd8994f9059a036d8c0"
+ integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==
+ dependencies:
+ destr "^2.0.1"
+ node-fetch-native "^1.4.0"
+ ufo "^1.3.0"
+
on-exit-leak-free@^0.2.0:
version "0.2.0"
resolved "https://registry.npmmirror.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209"
@@ -11567,6 +11917,11 @@ path-type@^4.0.0:
resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+pathe@^1.1.0, pathe@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a"
+ integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
+
pbkdf2@^3.0.3:
version "3.1.2"
resolved "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
@@ -11655,6 +12010,15 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
+pkg-types@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868"
+ integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==
+ dependencies:
+ jsonc-parser "^3.2.0"
+ mlly "^1.2.0"
+ pathe "^1.1.0"
+
pkg-up@^3.1.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
@@ -12480,6 +12844,11 @@ quick-format-unescaped@^4.0.3:
resolved "https://registry.npmmirror.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7"
integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==
+radix3@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/radix3/-/radix3-1.1.0.tgz#9745df67a49c522e94a33d0a93cf743f104b6e0d"
+ integrity sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==
+
raf@^3.4.1:
version "3.4.1"
resolved "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
@@ -13136,6 +13505,18 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
+redis-errors@^1.0.0, redis-errors@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad"
+ integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==
+
+redis-parser@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4"
+ integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==
+ dependencies:
+ redis-errors "^1.0.0"
+
redux@^4.2.1:
version "4.2.1"
resolved "https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197"
@@ -13991,6 +14372,11 @@ stackframe@^1.3.4:
resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+standard-as-callback@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45"
+ integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==
+
state-local@^1.0.6:
version "1.0.7"
resolved "https://registry.npmmirror.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5"
@@ -14013,6 +14399,11 @@ statuses@2.0.1:
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+std-env@^3.4.3:
+ version "3.7.0"
+ resolved "https://registry.npmmirror.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2"
+ integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==
+
stop-iteration-iterator@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4"
@@ -14700,6 +15091,11 @@ typescript@^4.6.2:
resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496"
+ integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==
+
uint8arrays@^3.0.0, uint8arrays@^3.1.0:
version "3.1.1"
resolved "https://registry.npmmirror.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0"
@@ -14717,11 +15113,27 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
+uncrypto@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.npmmirror.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b"
+ integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==
+
underscore@1.12.1:
version "1.12.1"
resolved "https://registry.npmmirror.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e"
integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==
+unenv@^1.7.4:
+ version "1.8.0"
+ resolved "https://registry.npmmirror.com/unenv/-/unenv-1.8.0.tgz#0f860d5278405700bd95d47b23bc01f3a735d68c"
+ integrity sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg==
+ dependencies:
+ consola "^3.2.3"
+ defu "^6.1.3"
+ mime "^3.0.0"
+ node-fetch-native "^1.4.1"
+ pathe "^1.1.1"
+
unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@@ -14881,6 +15293,32 @@ unquote@~1.1.1:
resolved "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
+unstorage@^1.9.0:
+ version "1.10.1"
+ resolved "https://registry.npmmirror.com/unstorage/-/unstorage-1.10.1.tgz#bf8cc00a406e40a6293e893da9807057d95875b0"
+ integrity sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==
+ dependencies:
+ anymatch "^3.1.3"
+ chokidar "^3.5.3"
+ destr "^2.0.2"
+ h3 "^1.8.2"
+ ioredis "^5.3.2"
+ listhen "^1.5.5"
+ lru-cache "^10.0.2"
+ mri "^1.2.0"
+ node-fetch-native "^1.4.1"
+ ofetch "^1.3.3"
+ ufo "^1.3.1"
+
+untun@^0.1.2:
+ version "0.1.3"
+ resolved "https://registry.npmmirror.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6"
+ integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==
+ dependencies:
+ citty "^0.1.5"
+ consola "^3.2.3"
+ pathe "^1.1.1"
+
upath@^1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
@@ -14894,6 +15332,11 @@ update-browserslist-db@^1.0.13:
escalade "^3.1.1"
picocolors "^1.0.0"
+uqr@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d"
+ integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==
+
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
@@ -15056,6 +15499,20 @@ vfile@^5.0.0, vfile@^5.3.7:
unist-util-stringify-position "^3.0.0"
vfile-message "^3.0.0"
+viem@^1.0.0, viem@^1.19.1:
+ version "1.21.4"
+ resolved "https://registry.npmmirror.com/viem/-/viem-1.21.4.tgz#883760e9222540a5a7e0339809202b45fe6a842d"
+ integrity sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==
+ dependencies:
+ "@adraffy/ens-normalize" "1.10.0"
+ "@noble/curves" "1.2.0"
+ "@noble/hashes" "1.3.2"
+ "@scure/bip32" "1.3.2"
+ "@scure/bip39" "1.2.1"
+ abitype "0.9.8"
+ isows "1.0.3"
+ ws "8.13.0"
+
void-elements@3.1.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09"
@@ -15075,16 +15532,16 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
-wagmi@^0.12.12:
- version "0.12.19"
- resolved "https://registry.npmmirror.com/wagmi/-/wagmi-0.12.19.tgz#5f5038330907f70c033ea51ef8a9136289567256"
- integrity sha512-S/el9BDb/HNeQWh1v8TvntMPX/CgKLDAoJqDb8i7jifLfWPqFL7gor3vnI1Vs6ZlB8uh7m+K1Qyg+mKhbITuDQ==
+wagmi@^1.4.6:
+ version "1.4.12"
+ resolved "https://registry.npmmirror.com/wagmi/-/wagmi-1.4.12.tgz#e5d31c6d7621ecd9e32eded6c7b1041201223127"
+ integrity sha512-QRxpjhdMlZmbYTfn9VQkQMKq+l3kwA1O7tF10vaykPrjbGX+IIlyn72ib9oqW9BfQO7n/Sf/mnVz1zbxRhGPWA==
dependencies:
"@tanstack/query-sync-storage-persister" "^4.27.1"
"@tanstack/react-query" "^4.28.0"
"@tanstack/react-query-persist-client" "^4.28.0"
- "@wagmi/core" "0.10.17"
- abitype "^0.3.0"
+ "@wagmi/core" "1.4.12"
+ abitype "0.8.7"
use-sync-external-store "^1.2.0"
walker@^1.0.7:
@@ -15617,6 +16074,11 @@ ws@7.4.6:
resolved "https://registry.npmmirror.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
+ws@8.13.0:
+ version "8.13.0"
+ resolved "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
+ integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
+
ws@^7.4.5, ws@^7.4.6, ws@^7.5.1:
version "7.5.9"
resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
From ca5aed1f84872aafa9b62a363546ed12ce7a9408 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 14:43:36 +0800
Subject: [PATCH 02/13] del: webmodal
---
package.json | 2 -
src/App.js | 39 ---------------
.../CustomChallenge/CustomConnect.js | 3 --
src/containers/AppHeader.js | 6 +--
src/containers/DefaultLayout.js | 4 +-
yarn.lock | 49 +------------------
6 files changed, 4 insertions(+), 99 deletions(-)
diff --git a/package.json b/package.json
index fa900246..4fead4d8 100644
--- a/package.json
+++ b/package.json
@@ -22,8 +22,6 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
- "@web3modal/ethereum": "^2.3.3",
- "@web3modal/react": "^2.3.3",
"ahooks": "^3.7.5",
"antd": "^5.1.7",
"axios": "^1.5.0",
diff --git a/src/App.js b/src/App.js
index d6a3cfe2..ad5c59de 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,13 +1,7 @@
import { useEffect } from "react";
import BeforeRouterEnter from "@/components/BeforeRouterEnter";
-import { WagmiConfig, configureChains, createClient } from 'wagmi'
-import { goerli, mainnet, polygon, polygonMumbai } from 'wagmi/chains'
-import { publicProvider } from 'wagmi/providers/public'
-import { infuraProvider } from 'wagmi/providers/infura'
import MyProvider from './provider';
import { StyleProvider, legacyLogicalPropertiesTransformer } from '@ant-design/cssinjs';
-import { EthereumClient, w3mConnectors, w3mProvider } from '@web3modal/ethereum'
-import { Web3Modal } from '@web3modal/react'
import * as Sentry from "@sentry/react";
import { ConfigProvider } from 'antd';
import Providers from "./Providers";
@@ -32,29 +26,6 @@ if (sentryKey) {
});
}
-
-const projectId = process.env.REACT_APP_PROJECT_ID;
-const infura = process.env.REACT_APP_INFURA_API_KEY;
-
-const { chains, provider, webSocketProvider } = configureChains(
- [mainnet, goerli, polygonMumbai, polygon],
- [
- // alchemyProvider({ apiKey: process.env.NEXT_PUBLIC_ALCHEMY_API_KEY! }),
- infuraProvider({ apiKey: infura }),
- publicProvider(),
- ],
- { targetQuorum: 1 },
-)
-const { publicClient } = configureChains(chains, [w3mProvider({ projectId })])
-const web3modalClient = createClient({
- autoConnect: true,
- connectors: w3mConnectors({ projectId, chains }),
- publicClient,
- // webSocketProvider,
-})
-
-const ethereumClient = new EthereumClient(web3modalClient, chains)
-
export default function App() {
function localInit(params) {
@@ -83,9 +54,6 @@ export default function App() {
},[])
return (
- <>
-
- {/* wagmi */}
-
- >
)
}
\ No newline at end of file
diff --git a/src/components/CustomChallenge/CustomConnect.js b/src/components/CustomChallenge/CustomConnect.js
index 0e624e83..58ce7f9e 100644
--- a/src/components/CustomChallenge/CustomConnect.js
+++ b/src/components/CustomChallenge/CustomConnect.js
@@ -3,7 +3,6 @@ import { useEffect } from "react";
import { NickName } from "../../utils/NickName";
import { useRequest } from "ahooks";
import { useTranslation } from "react-i18next";
-import { useWeb3Modal } from "@web3modal/react";
import { changeConnect } from "@/utils/redux";
import { useAddress } from "@/hooks/useAddress";
@@ -13,11 +12,9 @@ export default function CustomConnect(props) {
const { t } = useTranslation(["claim"]);
const { step, setStep, isMobile } = props;
const { address } = useAddress();
- const { isOpen, open, close, setDefaultChain } = useWeb3Modal();
const openModalConnect = () => {
if (isMobile) {
- open()
return
}
changeConnect()
diff --git a/src/containers/AppHeader.js b/src/containers/AppHeader.js
index bdf1b96e..7e3334d5 100644
--- a/src/containers/AppHeader.js
+++ b/src/containers/AppHeader.js
@@ -13,7 +13,6 @@ import "@/assets/styles/container.scss"
import "@/assets/styles/mobile/container.scss"
import { hashAvatar } from '@/utils/HashAvatar';
import { NickName } from '@/utils/NickName';
-import { useWeb3Modal } from "@web3modal/react";
import logo_white from "@/assets/images/svg/logo-white.png";
import logo_normal from "@/assets/images/svg/logo-normal.png";
import { changeConnect } from '@/utils/redux';
@@ -33,7 +32,6 @@ export default function AppHeader({ isMobile, user }) {
const { disconnect } = useDisconnect();
const navigateTo = useNavigate();
const location = useLocation();
- const { isOpen, open, close, setDefaultChain } = useWeb3Modal();
let [isOpenM, setIsOpenM] = useState(false);
const items = [
@@ -97,8 +95,8 @@ export default function AppHeader({ isMobile, user }) {
const openModal = async() => {
if (isMobile) {
- await open({route: "ConnectWallet"})
- setIsOpenM(!isOpenM)
+ // await open({route: "ConnectWallet"})
+ // setIsOpenM(!isOpenM)
return
}
changeConnect();
diff --git a/src/containers/DefaultLayout.js b/src/containers/DefaultLayout.js
index 24c681bf..3fa9a44d 100644
--- a/src/containers/DefaultLayout.js
+++ b/src/containers/DefaultLayout.js
@@ -11,7 +11,6 @@ import CustomSigner from "@/redux/CustomSigner";
import CustomConnect from "@/redux/CustomConnect";
import MyContext from "@/provider/context";
import store, { hideCustomSigner, showCustomSigner } from "@/redux/store";
-import { useWeb3Modal } from "@web3modal/react";
import { useAddress } from "@/hooks/useAddress";
import { useWallet } from "@solana/wallet-adapter-react";
import { useAccount, useDisconnect } from "wagmi";
@@ -27,7 +26,6 @@ export default function DefaultLayout(params) {
const navigateTo = useNavigate();
const location = useLocation();
const { isMobile, user } = useContext(MyContext);
- const { close } = useWeb3Modal();
const [api, contextHolder] = notification.useNotification();
// const [messageApi, contextHolder] = message.useMessage();
let [footerHide, setFooterHide] = useState(false);
@@ -167,7 +165,7 @@ export default function DefaultLayout(params) {
}
if (address && isMobile && localStorage.getItem("decert.token")) {
- close()
+ // close()
}
if (addr === null && address) {
diff --git a/yarn.lock b/yarn.lock
index f0d3e085..fd674808 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4898,36 +4898,6 @@
"@walletconnect/window-getters" "^1.0.1"
tslib "1.14.1"
-"@web3modal/core@2.7.1":
- version "2.7.1"
- resolved "https://registry.npmmirror.com/@web3modal/core/-/core-2.7.1.tgz#257534d45f7b5d6bddbc667f787c094eb91dd281"
- integrity sha512-eFWR1tK1qN4FguhaZq2VW0AVr8DC/Fox2eJnK1eTfk32hxSgUtl8wr5fVM8EoLeoapQ7Zcc0SNg/QLuLQ9t2tA==
- dependencies:
- valtio "1.11.0"
-
-"@web3modal/ethereum@^2.3.3":
- version "2.7.1"
- resolved "https://registry.npmmirror.com/@web3modal/ethereum/-/ethereum-2.7.1.tgz#464dbc1d00d075c16961b77e9a353b1966538653"
- integrity sha512-1x3qhYh9qgtvw1MDQD4VeDf2ZOsVANKRPtUty4lF+N4L8xnAIwvNKUAMA4j6T5xSsjqUfq5Tdy5mYsNxLmsWMA==
-
-"@web3modal/react@^2.3.3":
- version "2.7.1"
- resolved "https://registry.npmmirror.com/@web3modal/react/-/react-2.7.1.tgz#c768aae41bfe15abe379f8b6489d69d153fc7a46"
- integrity sha512-+zvP5Q7Q3ozW2hyA1NvS8giVDeZWA6PWgVhKA6656dCnOutonPUpWYuFPJahsFBYCrhLO8ApPmomgb6Dx/mh5A==
- dependencies:
- "@web3modal/core" "2.7.1"
- "@web3modal/ui" "2.7.1"
-
-"@web3modal/ui@2.7.1":
- version "2.7.1"
- resolved "https://registry.npmmirror.com/@web3modal/ui/-/ui-2.7.1.tgz#9c2cb0f66623fcf41084f50e63acff33f26b0635"
- integrity sha512-JpGJbLAl/Wmuyyn+JwuwtlPD8mUW2HV/gsSxKWZoElgjbfDY4vjHo9PH2G++2HhugISfzjawp43r8lP/hWgWOQ==
- dependencies:
- "@web3modal/core" "2.7.1"
- lit "2.7.6"
- motion "10.16.2"
- qrcode "1.5.3"
-
"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6"
resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24"
@@ -10460,22 +10430,13 @@ lit-element@^3.3.0:
"@lit/reactive-element" "^1.3.0"
lit-html "^2.8.0"
-lit-html@^2.7.0, lit-html@^2.8.0:
+lit-html@^2.8.0:
version "2.8.0"
resolved "https://registry.npmmirror.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa"
integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==
dependencies:
"@types/trusted-types" "^2.0.2"
-lit@2.7.6:
- version "2.7.6"
- resolved "https://registry.npmmirror.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665"
- integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg==
- dependencies:
- "@lit/reactive-element" "^1.6.0"
- lit-element "^3.3.0"
- lit-html "^2.7.0"
-
lit@2.8.0:
version "2.8.0"
resolved "https://registry.npmmirror.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e"
@@ -15429,14 +15390,6 @@ v8-to-istanbul@^8.1.0:
convert-source-map "^1.6.0"
source-map "^0.7.3"
-valtio@1.11.0:
- version "1.11.0"
- resolved "https://registry.npmmirror.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed"
- integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg==
- dependencies:
- proxy-compare "2.5.1"
- use-sync-external-store "1.2.0"
-
valtio@1.11.2:
version "1.11.2"
resolved "https://registry.npmmirror.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530"
From 4bd581ff92f31d6fa7b571e8f7c4da95b7322ae5 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 15:12:04 +0800
Subject: [PATCH 03/13] =?UTF-8?q?en:=20=E6=A0=B9=E8=8A=82=E7=82=B9?=
=?UTF-8?q?=E4=BE=9D=E8=B5=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.js | 44 ++--------------------------
src/Providers.js | 60 ++++++++++++++++++++++++++++++++++++---
src/index.js | 8 ++++--
src/utils/solana/index.js | 11 +++++++
src/utils/wagmi/index.js | 5 ++--
src/wallet/index.js | 44 ----------------------------
6 files changed, 78 insertions(+), 94 deletions(-)
create mode 100644 src/utils/solana/index.js
delete mode 100644 src/wallet/index.js
diff --git a/src/App.js b/src/App.js
index ad5c59de..b8f35ebd 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,31 +1,8 @@
import { useEffect } from "react";
import BeforeRouterEnter from "@/components/BeforeRouterEnter";
import MyProvider from './provider';
-import { StyleProvider, legacyLogicalPropertiesTransformer } from '@ant-design/cssinjs';
-import * as Sentry from "@sentry/react";
-import { ConfigProvider } from 'antd';
-import Providers from "./Providers";
require("@solana/wallet-adapter-react-ui/styles.css");
-const sentryKey = process.env.REACT_APP_SENTRY_KEY;
-if (sentryKey) {
- Sentry.init({
- dsn: sentryKey,
- integrations: [
- new Sentry.BrowserTracing({
- // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled
- tracePropagationTargets: ["localhost", /^https:\/\/yourserver\.io\/api/],
- }),
- new Sentry.Replay(),
- ],
- // Performance Monitoring
- tracesSampleRate: process.env.REACT_APP_SENTRY_TRACES || 1.0, // Capture 100% of the transactions, reduce in production!
- // Session Replay
- replaysSessionSampleRate: process.env.REACT_APP_SENTRY_REPLAYS_SESSION || 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.
- replaysOnErrorSampleRate: process.env.REACT_APP_SENTRY_REPLAYS_ON_ERROR || 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.
- });
-}
-
export default function App() {
function localInit(params) {
@@ -54,23 +31,8 @@ export default function App() {
},[])
return (
-
-
-
-
-
-
-
-
-
+
+
+
)
}
\ No newline at end of file
diff --git a/src/Providers.js b/src/Providers.js
index 534b7b29..31f48474 100644
--- a/src/Providers.js
+++ b/src/Providers.js
@@ -1,14 +1,66 @@
+import { ConnectionProvider, WalletProvider } from "@solana/wallet-adapter-react";
+import { WalletModalProvider } from "@solana/wallet-adapter-react-ui";
+import { clusterApiUrl } from "@solana/web3.js";
+import { coinbase, network, phantom, trust } from "./utils/solana";
import { WagmiConfig } from "wagmi";
import { wagmiConfig } from "./utils/wagmi";
+import { ConfigProvider } from 'antd';
+import { StyleProvider, legacyLogicalPropertiesTransformer } from '@ant-design/cssinjs';
+import * as Sentry from "@sentry/react";
+import { useMemo } from "react";
+require("@solana/wallet-adapter-react-ui/styles.css");
-
+const sentryKey = process.env.REACT_APP_SENTRY_KEY;
+if (sentryKey) {
+ Sentry.init({
+ dsn: sentryKey,
+ integrations: [
+ new Sentry.BrowserTracing({
+ // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled
+ tracePropagationTargets: ["localhost", /^https:\/\/yourserver\.io\/api/],
+ }),
+ new Sentry.Replay(),
+ ],
+ // Performance Monitoring
+ tracesSampleRate: process.env.REACT_APP_SENTRY_TRACES || 1.0, // Capture 100% of the transactions, reduce in production!
+ // Session Replay
+ replaysSessionSampleRate: process.env.REACT_APP_SENTRY_REPLAYS_SESSION || 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.
+ replaysOnErrorSampleRate: process.env.REACT_APP_SENTRY_REPLAYS_ON_ERROR || 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.
+ });
+}
export default function Providers({children}) {
+ window.Buffer = window.Buffer || require("buffer").Buffer;
+
+ const endpoint = useMemo(() => clusterApiUrl(network), [network]);
+ const wallets = useMemo(
+ () => [
+ coinbase, phantom, trust
+ ],
+ [network]
+ );
return (
-
- {children}
-
+ // solana
+
+
+
+ {/* wagmi */}
+
+
+
+ {children}
+
+
+
+
+
+
)
}
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
index 0ec89701..6f63ef06 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,5 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
+import { BrowserRouter } from 'react-router-dom';
import "./assets/locales/config";
import 'antd/dist/reset.css';
import '@/assets/styles/index.css';
@@ -7,13 +8,14 @@ import 'highlight.js/styles/vs.css';
import 'github-markdown-css/github-markdown-light.css';
import 'bytemd/dist/index.css';
import App from './App';
-import { BrowserRouter } from 'react-router-dom';
-import WalletAdapter from './wallet';
+import Providers from "./Providers";
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
-
+
+
+
);
diff --git a/src/utils/solana/index.js b/src/utils/solana/index.js
new file mode 100644
index 00000000..c901e7b5
--- /dev/null
+++ b/src/utils/solana/index.js
@@ -0,0 +1,11 @@
+import { WalletAdapterNetwork } from "@solana/wallet-adapter-base";
+import {
+ CoinbaseWalletAdapter,
+ PhantomWalletAdapter,
+ TrustWalletAdapter,
+} from "@solana/wallet-adapter-wallets";
+
+export const network = WalletAdapterNetwork.Mainnet;
+export const phantom = new PhantomWalletAdapter();
+export const coinbase = new CoinbaseWalletAdapter();
+export const trust = new TrustWalletAdapter();
\ No newline at end of file
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
index 04dfa444..8e846206 100644
--- a/src/utils/wagmi/index.js
+++ b/src/utils/wagmi/index.js
@@ -1,12 +1,13 @@
-import { configureChains } from 'wagmi';
+import { configureChains, createConfig, createStorage } from 'wagmi';
import { MetaMaskConnector } from 'wagmi/connectors/metaMask';
import { WalletConnectConnector } from 'wagmi/connectors/walletConnect';
+import { publicProvider } from 'wagmi/providers/public';
import { CHAINS, CHAINS_DEV } from '@/config/chains';
export const { publicClient, chains } = configureChains(
process.env.REACT_APP_IS_DEV ? CHAINS_DEV : CHAINS,
- [],
+ [publicProvider()],
{
batch: {
multicall: {
diff --git a/src/wallet/index.js b/src/wallet/index.js
deleted file mode 100644
index 94059849..00000000
--- a/src/wallet/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import { useMemo } from "react";
-import App from "../App";
-import { clusterApiUrl } from "@solana/web3.js";
-import {
- ConnectionProvider,
- WalletProvider
-} from "@solana/wallet-adapter-react";
-import { WalletAdapterNetwork } from "@solana/wallet-adapter-base";
-import {
- CoinbaseWalletAdapter,
- PhantomWalletAdapter,
- SolflareWalletAdapter,
- TrustWalletAdapter,
-} from "@solana/wallet-adapter-wallets";
-import { WalletModalProvider } from "@solana/wallet-adapter-react-ui";
-
-require("@solana/wallet-adapter-react-ui/styles.css");
-
-export default function WalletAdapter() {
- window.Buffer = window.Buffer || require("buffer").Buffer;
-
- const network = WalletAdapterNetwork.Mainnet;
- const endpoint = useMemo(() => clusterApiUrl(network), [network]);
-
- const phantom = new PhantomWalletAdapter();
- const coinbase = new CoinbaseWalletAdapter();
- const trust = new TrustWalletAdapter();
- const wallets = useMemo(
- () => [
- coinbase, phantom, trust
- // new SolflareWalletAdapter({ network }),
- ],
- [network]
- );
- return (
-
-
-
-
-
-
-
- );
-}
From c112dfa7b0d3a2b5c559903e181536a59db269e2 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 16:22:46 +0800
Subject: [PATCH 04/13] =?UTF-8?q?en:=20wagmiv1=20=E4=BA=A4=E4=BA=92?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Providers.js | 5 +-
src/components/CustomChallenge/CustomClaim.js | 7 +-
.../CustomChallenge/CustomCompleted.js | 20 +-
src/contracts/Badge.abi.js | 423 ++++++++++++++++--
src/contracts/QuestMinter.abi.js | 295 ++++++++++--
src/contracts/contracts.js | 1 -
src/contracts/index.js | 4 +
src/hooks/usePublish.js | 84 ++--
src/hooks/usePublishCollection.js | 26 +-
src/provider/index.js | 14 +-
src/redux/CustomSigner.js | 5 +-
src/utils/wagmi/index.js | 2 +-
src/views/Collection/index.js | 3 -
src/views/Publish/index.js | 9 +-
14 files changed, 766 insertions(+), 132 deletions(-)
delete mode 100644 src/contracts/contracts.js
create mode 100644 src/contracts/index.js
diff --git a/src/Providers.js b/src/Providers.js
index 31f48474..c4e21b65 100644
--- a/src/Providers.js
+++ b/src/Providers.js
@@ -55,10 +55,11 @@ export default function Providers({children}) {
Progress: { gapDegree: 0},
}}}
>
- {children}
-
+ {children}
+
+
diff --git a/src/components/CustomChallenge/CustomClaim.js b/src/components/CustomChallenge/CustomClaim.js
index 294a555c..29aab55b 100644
--- a/src/components/CustomChallenge/CustomClaim.js
+++ b/src/components/CustomChallenge/CustomClaim.js
@@ -6,7 +6,7 @@ import {
} from '@ant-design/icons';
import { getClaimHash, getQuests, hasClaimed, submitHash } from "../../request/api/public";
import { claim } from "../../controller";
-import { useNetwork, useSigner, useSwitchNetwork, useWaitForTransaction } from "wagmi";
+import { useNetwork, useSwitchNetwork, useWaitForTransaction } from "wagmi";
import { useEffect, useState } from "react";
import ModalLoading from "../CustomModal/ModalLoading";
import { GetScorePercent } from "@/utils/GetPercent";
@@ -28,7 +28,6 @@ export default function CustomClaim(props) {
const navigateTo = useNavigate();
const { chain } = useNetwork();
const { verify } = useVerifyToken();
- const { data: signer } = useSigner();
let [open, setOpen] = useState();
let [link, setLink] = useState("");
let [status, setStatus] = useState(0);
@@ -51,7 +50,7 @@ export default function CustomClaim(props) {
let [isModalAirdropOpen, setIsModalAirdropOpen] = useState();
let [writeLoading, setWriteLoading] = useState();
const { isLoading } = useWaitForTransaction({
- hash: claimHash,
+ hash: claimHash?.hash,
onSuccess() {
// 清除cache
const cache = JSON.parse(localStorage.getItem('decert.cache'));
@@ -114,7 +113,7 @@ export default function CustomClaim(props) {
obj.tokenId,
obj.score,
signature.data,
- signer
+ // signer
)
setClaimHash(claimHash);
setWriteLoading(false);
diff --git a/src/components/CustomChallenge/CustomCompleted.js b/src/components/CustomChallenge/CustomCompleted.js
index 9d60513c..3ccd4840 100644
--- a/src/components/CustomChallenge/CustomCompleted.js
+++ b/src/components/CustomChallenge/CustomCompleted.js
@@ -2,30 +2,25 @@ import { Spin } from "antd";
import {
LoadingOutlined
} from '@ant-design/icons';
-import { useEffect, useState } from "react";
+import { useContext, useEffect, useState } from "react";
import { Encryption } from "@/utils/Encryption";
-import { useSigner } from "wagmi";
import { GetPercent } from "@/utils/GetPercent";
import { useVerifyToken } from "@/hooks/useVerifyToken";
import CustomClaimInfo from "./CustomClaimInfo";
import CustomClaimStep from "./CustomClaimStep";
-import { useBadgeContract } from "@/controller/contract";
import Confetti from "react-confetti";
-import { constans } from "@/utils/constans";
import { useAddress } from "@/hooks/useAddress";
+import MyContext from "@/provider/context";
export default function CustomCompleted(props) {
const { answers, detail, tokenId, isClaim, address: addr } = props;
- const { defaultChainId } = constans();
+ const { badgeContract } = useContext(MyContext);
const { verify } = useVerifyToken();
- const { data: signer } = useSigner({
- chainId: defaultChainId
- });
+ const { data: signer } = useWalletClient();
const { address, isConnected } = useAddress();
const { decode } = Encryption();
- const key = process.env.REACT_APP_ANSWERS_KEY;
let [answerInfo, setAnswerInfo] = useState();
let [showConfetti, setShowConfetti] = useState(false);
@@ -34,11 +29,14 @@ export default function CustomCompleted(props) {
let [percent, setPercent] = useState(0);
let [scoresArgs, setScoresArgs] = useState([Number(tokenId), addr]);
- const { data, isLoading, refetch } = useBadgeContract({
- functionName: "scores",
+ const { refetch } = useContractRead({
+ ...badgeContract,
+ enabled: false,
+ functionName: 'scores',
args: scoresArgs
})
+
const contrast = async(arr) => {
const questions = detail.metadata.properties.questions;
let totalScore = 0;
diff --git a/src/contracts/Badge.abi.js b/src/contracts/Badge.abi.js
index 8655b170..519de9c0 100644
--- a/src/contracts/Badge.abi.js
+++ b/src/contracts/Badge.abi.js
@@ -1,41 +1,384 @@
module.exports = [
- "constructor(string)",
- "error AlreadyHoldsBadge()",
- "error InvalidMinter()",
- "error NonApprovableERC1155Token()",
- "error NonTransferrableERC1155Token()",
- "error NonexistentToken()",
- "error NotClaimedYet()",
- "error OnlyMinter()",
- "error TokenIdAlreadyExists()",
- "event ApprovalForAll(address indexed,address indexed,bool)",
- "event OwnershipTransferred(address indexed,address indexed)",
- "event SetMinter(address,bool)",
- "event TransferBatch(address indexed,address indexed,address indexed,uint256[],uint256[])",
- "event TransferSingle(address indexed,address indexed,address indexed,uint256,uint256)",
- "event URI(string,uint256 indexed)",
- "function balanceOf(address,uint256) view returns (uint256)",
- "function balanceOfBatch(address[],uint256[]) view returns (uint256[])",
- "function create(address,uint256,uint256,string,bytes) returns (uint256)",
- "function creators(uint256) view returns (address)",
- "function exists(uint256) view returns (bool)",
- "function isApprovedForAll(address,address) view returns (bool)",
- "function mint(address,uint256,uint256,bytes)",
- "function minters(address) view returns (bool)",
- "function name() view returns (string)",
- "function owner() view returns (address)",
- "function renounceOwnership()",
- "function safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
- "function safeTransferFrom(address,address,uint256,uint256,bytes)",
- "function scores(uint256,address) view returns (uint256)",
- "function setApprovalForAll(address,bool)",
- "function setCustomURI(uint256,string)",
- "function setMinter(address,bool)",
- "function supportsInterface(bytes4) view returns (bool)",
- "function symbol() view returns (string)",
- "function tokenSupply(uint256) view returns (uint256)",
- "function transferOwnership(address)",
- "function updateScore(address,uint256,uint256)",
- "function uri(uint256) view returns (string)"
-]
-;
\ No newline at end of file
+ {
+ inputs: [{ internalType: "string", name: "uri_", type: "string" }],
+ stateMutability: "nonpayable",
+ type: "constructor",
+ },
+ { inputs: [], name: "AlreadyHoldsBadge", type: "error" },
+ { inputs: [], name: "InvalidMinter", type: "error" },
+ { inputs: [], name: "NonApprovableERC1155Token", type: "error" },
+ { inputs: [], name: "NonTransferrableERC1155Token", type: "error" },
+ { inputs: [], name: "NonexistentToken", type: "error" },
+ { inputs: [], name: "NotClaimedYet", type: "error" },
+ { inputs: [], name: "OnlyMinter", type: "error" },
+ { inputs: [], name: "TokenIdAlreadyExists", type: "error" },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "operator",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "bool",
+ name: "approved",
+ type: "bool",
+ },
+ ],
+ name: "ApprovalForAll",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "previousOwner",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "newOwner",
+ type: "address",
+ },
+ ],
+ name: "OwnershipTransferred",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "minter",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "bool",
+ name: "enabled",
+ type: "bool",
+ },
+ ],
+ name: "SetMinter",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "operator",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "from",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "to",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256[]",
+ name: "ids",
+ type: "uint256[]",
+ },
+ {
+ indexed: false,
+ internalType: "uint256[]",
+ name: "values",
+ type: "uint256[]",
+ },
+ ],
+ name: "TransferBatch",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "operator",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "from",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "to",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "id",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "value",
+ type: "uint256",
+ },
+ ],
+ name: "TransferSingle",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "string",
+ name: "value",
+ type: "string",
+ },
+ {
+ indexed: true,
+ internalType: "uint256",
+ name: "id",
+ type: "uint256",
+ },
+ ],
+ name: "URI",
+ type: "event",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "account", type: "address" },
+ { internalType: "uint256", name: "id", type: "uint256" },
+ ],
+ name: "balanceOf",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address[]", name: "accounts", type: "address[]" },
+ { internalType: "uint256[]", name: "ids", type: "uint256[]" },
+ ],
+ name: "balanceOfBatch",
+ outputs: [{ internalType: "uint256[]", name: "", type: "uint256[]" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "creator", type: "address" },
+ { internalType: "uint256", name: "id", type: "uint256" },
+ { internalType: "uint256", name: "initialSupply", type: "uint256" },
+ { internalType: "string", name: "uri_", type: "string" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "create",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ name: "creators",
+ outputs: [{ internalType: "address", name: "", type: "address" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "uint256", name: "tokenId", type: "uint256" }],
+ name: "exists",
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "account", type: "address" },
+ { internalType: "address", name: "operator", type: "address" },
+ ],
+ name: "isApprovedForAll",
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "to", type: "address" },
+ { internalType: "uint256", name: "id", type: "uint256" },
+ { internalType: "uint256", name: "amount", type: "uint256" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "mint",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "address", name: "", type: "address" }],
+ name: "minters",
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "name",
+ outputs: [{ internalType: "string", name: "", type: "string" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "owner",
+ outputs: [{ internalType: "address", name: "", type: "address" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "renounceOwnership",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "from", type: "address" },
+ { internalType: "address", name: "to", type: "address" },
+ { internalType: "uint256[]", name: "ids", type: "uint256[]" },
+ { internalType: "uint256[]", name: "amounts", type: "uint256[]" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "safeBatchTransferFrom",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "from", type: "address" },
+ { internalType: "address", name: "to", type: "address" },
+ { internalType: "uint256", name: "id", type: "uint256" },
+ { internalType: "uint256", name: "amount", type: "uint256" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "safeTransferFrom",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "", type: "uint256" },
+ { internalType: "address", name: "", type: "address" },
+ ],
+ name: "scores",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "", type: "address" },
+ { internalType: "bool", name: "", type: "bool" },
+ ],
+ name: "setApprovalForAll",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "id", type: "uint256" },
+ { internalType: "string", name: "newURI", type: "string" },
+ ],
+ name: "setCustomURI",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "minter", type: "address" },
+ { internalType: "bool", name: "enabled", type: "bool" },
+ ],
+ name: "setMinter",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "bytes4", name: "interfaceId", type: "bytes4" },
+ ],
+ name: "supportsInterface",
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "symbol",
+ outputs: [{ internalType: "string", name: "", type: "string" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "uint256", name: "tokenId", type: "uint256" }],
+ name: "tokenSupply",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "newOwner", type: "address" },
+ ],
+ name: "transferOwnership",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "to", type: "address" },
+ { internalType: "uint256", name: "tokenId", type: "uint256" },
+ { internalType: "uint256", name: "score", type: "uint256" },
+ ],
+ name: "updateScore",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "uint256", name: "id", type: "uint256" }],
+ name: "uri",
+ outputs: [{ internalType: "string", name: "", type: "string" }],
+ stateMutability: "view",
+ type: "function",
+ },
+];
diff --git a/src/contracts/QuestMinter.abi.js b/src/contracts/QuestMinter.abi.js
index bad6a066..57212c23 100644
--- a/src/contracts/QuestMinter.abi.js
+++ b/src/contracts/QuestMinter.abi.js
@@ -1,28 +1,269 @@
module.exports = [
- "constructor(address,address)",
- "error InvalidArray()",
- "error InvalidSigner()",
- "error NonexistentToken()",
- "error NotCreator()",
- "error NotInTime()",
- "error OverLimit()",
- "event Airdroped(uint256 indexed,address indexed)",
- "event Claimed(uint256 indexed,address indexed)",
- "event Donation(address,address,uint256)",
- "event OwnershipTransferred(address indexed,address indexed)",
- "event SignerChanged(address)",
- "function airdropBadge(uint256[],address[],uint256[],bytes)",
- "function badge() view returns (address)",
- "function claim(uint256,uint256,bytes) payable",
- "function createQuest(tuple(uint32,uint32,uint192,string,string),bytes)",
- "function modifyQuest(uint256,tuple(uint32,uint32,uint192,string,string),bytes)",
- "function owner() view returns (address)",
- "function quest() view returns (address)",
- "function renounceOwnership()",
- "function setBadgeURI(uint256,string,bytes)",
- "function setSigner(address)",
- "function signer() view returns (address)",
- "function startTokenId() view returns (uint256)",
- "function transferOwnership(address)",
- "function updateScore(uint256,uint256,bytes)"
-]
+ {
+ inputs: [
+ { internalType: "address", name: "badge_", type: "address" },
+ { internalType: "address", name: "quest_", type: "address" },
+ ],
+ stateMutability: "nonpayable",
+ type: "constructor",
+ },
+ { inputs: [], name: "InvalidArray", type: "error" },
+ { inputs: [], name: "InvalidSigner", type: "error" },
+ { inputs: [], name: "NonexistentToken", type: "error" },
+ { inputs: [], name: "NotCreator", type: "error" },
+ { inputs: [], name: "NotInTime", type: "error" },
+ { inputs: [], name: "OverLimit", type: "error" },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "uint256",
+ name: "tokenId",
+ type: "uint256",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "to",
+ type: "address",
+ },
+ ],
+ name: "Airdroped",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "uint256",
+ name: "tokenId",
+ type: "uint256",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "Claimed",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "from",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "to",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ ],
+ name: "Donation",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "previousOwner",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "newOwner",
+ type: "address",
+ },
+ ],
+ name: "OwnershipTransferred",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "signer",
+ type: "address",
+ },
+ ],
+ name: "SignerChanged",
+ type: "event",
+ },
+ {
+ inputs: [
+ { internalType: "uint256[]", name: "tokenIds", type: "uint256[]" },
+ { internalType: "address[]", name: "receivers", type: "address[]" },
+ { internalType: "uint256[]", name: "scores", type: "uint256[]" },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "airdropBadge",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "badge",
+ outputs: [
+ { internalType: "contract IBadge", name: "", type: "address" },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "tokenId", type: "uint256" },
+ { internalType: "uint256", name: "score", type: "uint256" },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "claim",
+ outputs: [],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ components: [
+ { internalType: "uint32", name: "startTs", type: "uint32" },
+ { internalType: "uint32", name: "endTs", type: "uint32" },
+ {
+ internalType: "uint192",
+ name: "supply",
+ type: "uint192",
+ },
+ { internalType: "string", name: "title", type: "string" },
+ { internalType: "string", name: "uri", type: "string" },
+ ],
+ internalType: "struct IQuest.QuestData",
+ name: "questData",
+ type: "tuple",
+ },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "createQuest",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "tokenId", type: "uint256" },
+ {
+ components: [
+ { internalType: "uint32", name: "startTs", type: "uint32" },
+ { internalType: "uint32", name: "endTs", type: "uint32" },
+ {
+ internalType: "uint192",
+ name: "supply",
+ type: "uint192",
+ },
+ { internalType: "string", name: "title", type: "string" },
+ { internalType: "string", name: "uri", type: "string" },
+ ],
+ internalType: "struct IQuest.QuestData",
+ name: "questData",
+ type: "tuple",
+ },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "modifyQuest",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "owner",
+ outputs: [{ internalType: "address", name: "", type: "address" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "quest",
+ outputs: [
+ { internalType: "contract IQuest", name: "", type: "address" },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "renounceOwnership",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "tokenId", type: "uint256" },
+ { internalType: "string", name: "uri", type: "string" },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "setBadgeURI",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "address", name: "signer_", type: "address" }],
+ name: "setSigner",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "signer",
+ outputs: [{ internalType: "address", name: "", type: "address" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "startTokenId",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "address", name: "newOwner", type: "address" },
+ ],
+ name: "transferOwnership",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "uint256", name: "tokenId", type: "uint256" },
+ { internalType: "uint256", name: "score", type: "uint256" },
+ { internalType: "bytes", name: "signature", type: "bytes" },
+ ],
+ name: "updateScore",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+];
diff --git a/src/contracts/contracts.js b/src/contracts/contracts.js
deleted file mode 100644
index 744c39bc..00000000
--- a/src/contracts/contracts.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = [];
\ No newline at end of file
diff --git a/src/contracts/index.js b/src/contracts/index.js
new file mode 100644
index 00000000..ba669db6
--- /dev/null
+++ b/src/contracts/index.js
@@ -0,0 +1,4 @@
+export { default as BadgeAbi } from './Badge.abi';
+export { default as BadgeAddr } from './Badge.address';
+export { default as QuestMinterAbi } from './QuestMinter.abi';
+export { default as QuestMinterAddr } from './QuestMinter.address';
diff --git a/src/hooks/usePublish.js b/src/hooks/usePublish.js
index 3343a570..546baf1b 100644
--- a/src/hooks/usePublish.js
+++ b/src/hooks/usePublish.js
@@ -1,15 +1,15 @@
-import { useEffect, useState } from "react";
-import { useNetwork, useSigner, useSwitchNetwork, useWaitForTransaction } from "wagmi";
+import { useContext, useEffect, useState } from "react";
+import { useContractWrite, useNetwork, useSwitchNetwork, useWaitForTransaction, useWalletClient } from "wagmi";
import { useVerifyToken } from "@/hooks/useVerifyToken";
import { addQuests, modifyQuests, submitHash } from "@/request/api/public";
import { constans } from "@/utils/constans";
-import { createQuest, modifyQuest } from "@/controller";
import { message } from "antd";
import { useNavigate } from "react-router-dom";
import axios from "axios";
import { useTranslation } from "react-i18next";
import { useRequest, useUpdateEffect } from "ahooks";
import { pollingGetQuest } from "@/request/api/polling";
+import MyContext from "@/provider/context";
@@ -17,8 +17,9 @@ export const usePublish = (props) => {
const { jsonHash, recommend, changeId } = props;
const { defaultChainId } = constans();
+ const { data: signer } = useWalletClient();
+ const { questContract } = useContext(MyContext);
const { chain } = useNetwork();
- const { data: signer } = useSigner();
const { verify } = useVerifyToken();
const { ipfsPath, maxUint32, maxUint192 } = constans();
const navigateTo = useNavigate();
@@ -41,7 +42,7 @@ export const usePublish = (props) => {
let [createTokenId, setCreateTokenId] = useState();
let [createLoading, setCreateLoading] = useState();
const { isLoading: transactionLoading, data } = useWaitForTransaction({
- hash: createQuestHash,
+ hash: createQuestHash?.hash,
cacheTime: 0
})
const { run, cancel } = useRequest(getChallenge, {
@@ -51,6 +52,18 @@ export const usePublish = (props) => {
});
+ const { writeAsync: createQuest } = useContractWrite({
+ ...questContract,
+ functionName: 'createQuest',
+ })
+
+ const { writeAsync: modifyQuest } = useContractWrite({
+ ...questContract,
+ functionName: 'modifyQuest',
+ })
+
+
+
function getChallenge() {
pollingGetQuest({id: createTokenId||changeId})
.then(res => {
@@ -75,30 +88,42 @@ export const usePublish = (props) => {
}
const write = (sign, obj, params) => {
- changeId ?
- modifyQuest(changeId, obj, sign, signer)
- .then(res => {
- setIsLoading(false);
- if (res) {
- submitHash({
- hash: res,
- params: params
- })
- setCreateQuestHash(res)
- }
- })
- :
- createQuest(obj, sign, signer)
- .then(res => {
- setIsLoading(false);
- if (res) {
- submitHash({
- hash: res,
- params: params
- })
- setCreateQuestHash(res)
- }
- })
+ let { startTs, endTs, supply, title, uri } = obj;
+ endTs = constans().maxUint32;
+ supply = constans().maxUint192;
+ const args = [startTs, endTs, supply, title, uri];
+ if (changeId) {
+ modifyQuest({ args: [changeId, args, sign] })
+ .then(res => {
+ setIsLoading(false);
+ if (res) {
+ submitHash({
+ hash: res.hash,
+ params: params
+ })
+ setCreateQuestHash(res)
+ }
+ })
+ .catch(err => {
+ console.log(err);
+ })
+ }else{
+ createQuest({ args: [args, sign] })
+ .then(res => {
+ setIsLoading(false);
+ if (res) {
+ submitHash({
+ hash: res.hash,
+ params: params
+ })
+ setCreateQuestHash(res)
+ }
+ })
+ .catch(err => {
+ console.log(err);
+ setIsLoading(false);
+ })
+ }
}
const processingData = async() => {
@@ -183,6 +208,7 @@ export const usePublish = (props) => {
setCreateLoading(createLoading);
run()
}
+ console.log(data.logs);
data.logs.forEach(log => {
if (log.topics[0] === "0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b") {
createTokenId = parseInt(log.topics[1], 16);
diff --git a/src/hooks/usePublishCollection.js b/src/hooks/usePublishCollection.js
index 2face069..44008652 100644
--- a/src/hooks/usePublishCollection.js
+++ b/src/hooks/usePublishCollection.js
@@ -1,19 +1,19 @@
-import { useNetwork, useSigner, useSwitchNetwork, useWaitForTransaction } from "wagmi";
+import { useContractWrite, useNetwork, useSwitchNetwork, useWaitForTransaction } from "wagmi";
import { useVerifyToken } from "./useVerifyToken";
import { constans } from "@/utils/constans";
import { useNavigate } from "react-router-dom";
import { useTranslation } from "react-i18next";
-import { useEffect, useState } from "react";
-import { createQuest } from "@/controller";
+import { useContext, useEffect, useState } from "react";
import { addQuests, submitHash } from "@/request/api/public";
import { useUpdateEffect } from "ahooks";
import { message } from "antd";
+import MyContext from "@/provider/context";
export default function usePublishCollection({ detail, jsonHash, collectionId }) {
+ const { questContract } = useContext(MyContext);
const { chain } = useNetwork();
- const { data: signer } = useSigner();
const { verify } = useVerifyToken();
const navigateTo = useNavigate();
const { t } = useTranslation(["publish", "translation"]);
@@ -23,6 +23,10 @@ export default function usePublishCollection({ detail, jsonHash, collectionId })
let [isSwitch, setIsSwitch] = useState(false);
let [createQuestHash, setCreateQuestHash] = useState();
+ const { writeAsync: createQuest } = useContractWrite({
+ ...questContract,
+ functionName: 'createQuest',
+ })
const { switchNetwork } = useSwitchNetwork({
chainId: defaultChainId,
onError() {
@@ -33,22 +37,30 @@ export default function usePublishCollection({ detail, jsonHash, collectionId })
}
})
const { isLoading: transactionLoading } = useWaitForTransaction({
- hash: createQuestHash,
+ hash: createQuestHash?.hash,
cacheTime: 0
})
const write = (sign, obj, params) => {
- createQuest(obj, sign, signer)
+ let { startTs, endTs, supply, title, uri } = obj;
+ endTs = constans().maxUint32;
+ supply = constans().maxUint192;
+ const args = [startTs, endTs, supply, title, uri];
+ createQuest({ args: [args, sign] })
.then(res => {
setIsLoading(false);
if (res) {
submitHash({
- hash: res,
+ hash: res.hash,
params
})
setCreateQuestHash(res)
}
})
+ .catch(err => {
+ console.log(err);
+ setIsLoading(false);
+ })
}
const processingData = async() => {
diff --git a/src/provider/index.js b/src/provider/index.js
index 12a4c84b..138b1caf 100644
--- a/src/provider/index.js
+++ b/src/provider/index.js
@@ -1,11 +1,23 @@
import store from "@/redux/store";
import { useState } from "react";
import MyContext from "./context";
+import { getContract } from '@wagmi/core'
+import { BadgeAbi, BadgeAddr, QuestMinterAbi, QuestMinterAddr } from "@/contracts";
export default function MyProvider(props) {
let [isMobile, setIsMobile] = useState();
let [user, setUser] = useState();
+ const questContract = getContract({
+ address: QuestMinterAddr,
+ abi: QuestMinterAbi,
+ })
+
+ const badgeContract = getContract({
+ address: BadgeAddr,
+ abi: BadgeAbi,
+ })
+
function handleMobileChange() {
isMobile = store.getState().isMobile;
setIsMobile(isMobile);
@@ -21,7 +33,7 @@ export default function MyProvider(props) {
store.subscribe(handleUser);
return (
-
+
{props.children}
);
diff --git a/src/redux/CustomSigner.js b/src/redux/CustomSigner.js
index 1fa6bdb1..8e3d8d41 100644
--- a/src/redux/CustomSigner.js
+++ b/src/redux/CustomSigner.js
@@ -3,7 +3,7 @@ import { Modal } from 'antd';
import { useEffect } from 'react';
import { connect } from 'react-redux';
import { useLocation, useNavigate } from 'react-router-dom';
-import { useDisconnect, useSigner } from 'wagmi';
+import { useDisconnect, useWalletClient } from 'wagmi';
import { useWallet } from "@solana/wallet-adapter-react";
import { useAddress } from '@/hooks/useAddress';
import { useRequest } from 'ahooks';
@@ -11,10 +11,10 @@ const { confirm } = Modal;
function CustomSigner(props) {
- const { data: signer } = useSigner();
const { connected, wallet } = useWallet();
const { address } = useAddress();
const { disconnect } = useDisconnect();
+ const { data: signer } = useWalletClient();
const navigateTo = useNavigate();
const location = useLocation();
@@ -53,6 +53,7 @@ function CustomSigner(props) {
}
})
.catch(err => {
+ console.log(err);
Modal.destroyAll()
props.hide()
})
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
index 8e846206..4b0b86cd 100644
--- a/src/utils/wagmi/index.js
+++ b/src/utils/wagmi/index.js
@@ -45,7 +45,7 @@ export const wagmiConfig = createConfig({
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage,
key: 'wagmi_v1.1',
}),
- autoConnect: false,
+ autoConnect: true,
publicClient,
connectors: [
metaMaskConnector,
diff --git a/src/views/Collection/index.js b/src/views/Collection/index.js
index 1108e4a1..4ad7ebe4 100644
--- a/src/views/Collection/index.js
+++ b/src/views/Collection/index.js
@@ -12,12 +12,10 @@ import { useTranslation } from "react-i18next";
import {
ExclamationCircleOutlined
} from '@ant-design/icons';
-import CollectionChallenger from "./challenger";
import CollectionInfo from "./detail";
import usePublishCollection from "@/hooks/usePublishCollection";
import { hasClaimed } from "@/request/api/public";
import MyContext from "@/provider/context";
-import { useProvider, useSigner } from "wagmi";
import Challenger from "../Question/Challenger";
@@ -26,7 +24,6 @@ export default function Collection(params) {
const { id } = useParams();
const { isMobile } = useContext(MyContext);
- const { data: signer } = useSigner()
const { address, walletType, isConnected } = useAddress();
const { ipfsPath, defaultImg, openseaLink } = constans();
const [api, contextHolder] = notification.useNotification();
diff --git a/src/views/Publish/index.js b/src/views/Publish/index.js
index 420aa678..5f59ff9c 100644
--- a/src/views/Publish/index.js
+++ b/src/views/Publish/index.js
@@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next";
import { Button, Form, Input, InputNumber, Select, Spin, Upload, message } from "antd";
import { UploadOutlined } from '@ant-design/icons';
import { useUpdateEffect } from "ahooks";
-import { useSigner } from "wagmi";
+import { useWalletClient } from "wagmi";
import "@/assets/styles/view-style/publish.scss"
import "@/assets/styles/component-style";
@@ -20,7 +20,6 @@ import { getQuests, modifyRecommend } from "@/request/api/public";
import { usePublish } from "@/hooks/usePublish";
import { clearDataBase, getDataBase, saveCache } from "@/utils/saveCache";
import store, { setChallenge } from "@/redux/store";
-import { tokenSupply } from "@/controller";
const { TextArea } = Input;
@@ -34,7 +33,7 @@ export default function Publish(params) {
const isFirstRender = useRef(true); // 是否是第一次渲染
const questions = Form.useWatch("questions", form); // 舰艇form表单内的questions
- const { data: signer } = useSigner();
+ const { data: signer } = useWalletClient();
const { isConnected, walletType, address } = useAddress();
const { t } = useTranslation(["publish", "translation"]);
const { encode, decode } = Encryption();
@@ -197,7 +196,9 @@ export default function Publish(params) {
// 修改挑战情况下 => 判断该挑战是否有人铸造
async function hasClaimed(tokenId) {
- const supply = await tokenSupply(tokenId, signer)
+ // TODO: 改为后端查
+ // const supply = await tokenSupply(tokenId, signer)
+ const supply = 0
// 已有人claim,终止
if ( typeof supply === "number" && supply > 0) {
message.warning(t("profile:edit.error"));
From 88b7445a79884f0db9701353c8c3aa96b4b38769 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 16:35:39 +0800
Subject: [PATCH 05/13] =?UTF-8?q?fix:=20wagmi=E8=87=AA=E5=8A=A8=E8=BF=9E?=
=?UTF-8?q?=E6=8E=A5=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.js | 1 -
src/utils/GetSign.js | 2 +-
src/utils/wagmi/index.js | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/App.js b/src/App.js
index b8f35ebd..8d7b174e 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,7 +1,6 @@
import { useEffect } from "react";
import BeforeRouterEnter from "@/components/BeforeRouterEnter";
import MyProvider from './provider';
-require("@solana/wallet-adapter-react-ui/styles.css");
export default function App() {
diff --git a/src/utils/GetSign.js b/src/utils/GetSign.js
index da342dbe..bfb13f3b 100644
--- a/src/utils/GetSign.js
+++ b/src/utils/GetSign.js
@@ -43,7 +43,7 @@ export async function GetSign(params) {
// 2、获取签名
// 判断当前address为solana
if (/^0x/.test(address)) {
- await signer?.signMessage(message)
+ await signer?.signMessage({message})
.then(async(res) => {
// 3、获取token
await authLoginSign({
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
index 4b0b86cd..a10eb0f7 100644
--- a/src/utils/wagmi/index.js
+++ b/src/utils/wagmi/index.js
@@ -45,7 +45,7 @@ export const wagmiConfig = createConfig({
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage,
key: 'wagmi_v1.1',
}),
- autoConnect: true,
+ autoConnect: localStorage.getItem("decert.address") ? true : false,
publicClient,
connectors: [
metaMaskConnector,
From 34daeb8c534e3bf7f2a96b479269a2edc2415019 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 16:51:47 +0800
Subject: [PATCH 06/13] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2=E8=B4=A6?=
=?UTF-8?q?=E5=8F=B7=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/containers/DefaultLayout.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/containers/DefaultLayout.js b/src/containers/DefaultLayout.js
index 3fa9a44d..e40dd446 100644
--- a/src/containers/DefaultLayout.js
+++ b/src/containers/DefaultLayout.js
@@ -177,12 +177,12 @@ export default function DefaultLayout(params) {
// 已登陆 ====> 切换账号
// 判断是否在当前网站
if (!document.hidden) {
- ClearStorage();
localStorage.setItem("decert.address", address);
- isClaim(path);
- // isCert(path, 'toggle');
- isExplore(path);
- isUser(path);
+ // ClearStorage();
+ // isClaim(path);
+ // // isCert(path, 'toggle');
+ // isExplore(path);
+ // isUser(path);
await sign()
}else{
if (walletType === "evm") {
From c4ce71fe6ee976d090dd9c62919c209bf73012ce Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Wed, 3 Jan 2024 17:23:50 +0800
Subject: [PATCH 07/13] fix: bignumber err
---
src/components/CustomChallenge/CustomClaim.js | 91 +++++++-------
src/controller/config.js | 40 -------
src/controller/contract.js | 42 -------
src/controller/index.js | 111 ------------------
src/hooks/usePublish.js | 13 +-
src/utils/constans.js | 5 +-
src/views/Publish/index.js | 1 -
7 files changed, 53 insertions(+), 250 deletions(-)
delete mode 100644 src/controller/config.js
delete mode 100644 src/controller/contract.js
delete mode 100644 src/controller/index.js
diff --git a/src/components/CustomChallenge/CustomClaim.js b/src/components/CustomChallenge/CustomClaim.js
index 29aab55b..13b0035d 100644
--- a/src/components/CustomChallenge/CustomClaim.js
+++ b/src/components/CustomChallenge/CustomClaim.js
@@ -5,7 +5,6 @@ import {
CloseOutlined
} from '@ant-design/icons';
import { getClaimHash, getQuests, hasClaimed, submitHash } from "../../request/api/public";
-import { claim } from "../../controller";
import { useNetwork, useSwitchNetwork, useWaitForTransaction } from "wagmi";
import { useEffect, useState } from "react";
import ModalLoading from "../CustomModal/ModalLoading";
@@ -79,53 +78,53 @@ export default function CustomClaim(props) {
const goclaim = async() => {
- if (chain.id != defaultChainId) {
- setIsSwitch(true);
- return
- }
+ // if (chain.id != defaultChainId) {
+ // setIsSwitch(true);
+ // return
+ // }
- let hasHash = true;
- await verify()
- .catch(() => {
- hasHash = false;
- })
- if (!hasHash) {
- return
- }
- let obj = {...cliamObj};
- obj.uri = obj.uri[obj.tokenId]
- obj.score = GetScorePercent(cliamObj.totalScore, cliamObj.score);
- setWriteLoading(true);
- const signature = await getClaimHash(obj);
- if (signature.message.indexOf("Question Updated") !== -1 || signature.message.indexOf("题目已更新") !== -1 ) {
- Modal.warning({
- ...modalNotice({
- t,
- text: t("translation:message.error.challenge-modify"),
- onOk: () => {navigateTo(0)},
- icon: "😵"
- }
- )});
- return
- }
- if (signature) {
- claimHash = await claim(
- obj.tokenId,
- obj.score,
- signature.data,
- // signer
- )
- setClaimHash(claimHash);
- setWriteLoading(false);
+ // let hasHash = true;
+ // await verify()
+ // .catch(() => {
+ // hasHash = false;
+ // })
+ // if (!hasHash) {
+ // return
+ // }
+ // let obj = {...cliamObj};
+ // obj.uri = obj.uri[obj.tokenId]
+ // obj.score = GetScorePercent(cliamObj.totalScore, cliamObj.score);
+ // setWriteLoading(true);
+ // const signature = await getClaimHash(obj);
+ // if (signature.message.indexOf("Question Updated") !== -1 || signature.message.indexOf("题目已更新") !== -1 ) {
+ // Modal.warning({
+ // ...modalNotice({
+ // t,
+ // text: t("translation:message.error.challenge-modify"),
+ // onOk: () => {navigateTo(0)},
+ // icon: "😵"
+ // }
+ // )});
+ // return
+ // }
+ // if (signature) {
+ // claimHash = await claim(
+ // obj.tokenId,
+ // obj.score,
+ // signature.data,
+ // // signer
+ // )
+ // setClaimHash(claimHash);
+ // setWriteLoading(false);
- if (claimHash) {
- submitHash({hash: claimHash})
- // 弹出等待框
- setIsModalOpen(true);
- }
- }else{
- setWriteLoading(false);
- }
+ // if (claimHash) {
+ // submitHash({hash: claimHash})
+ // // 弹出等待框
+ // setIsModalOpen(true);
+ // }
+ // }else{
+ // setWriteLoading(false);
+ // }
}
const handleCancel = () => {
diff --git a/src/controller/config.js b/src/controller/config.js
deleted file mode 100644
index 3a3bba73..00000000
--- a/src/controller/config.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import { usePrepareContractWrite } from "wagmi";
-import badgeAddr from "@/contracts/Badge.address";
-import badge from "@/contracts/Badge.abi";
-import questMinterAddr from "@/contracts/QuestMinter.address";
-import questMinter from "@/contracts/QuestMinter.abi";
-import { constans } from "@/utils/constans";
-
-export function useBadgeConfig({functionName, args}) {
- const { defaultChainId } = constans();
- const { config, error } = usePrepareContractWrite({
- address: badgeAddr,
- abi: badge,
- functionName: functionName,
- args: args,
- chainId: defaultChainId,
- onError() {
- console.log(error);
- }
- })
- return {
- config
- }
-}
-
-export function useQuestConfig({functionName, args}) {
- const { defaultChainId } = constans();
- const { config, error } = usePrepareContractWrite({
- address: questMinterAddr,
- abi: questMinter,
- functionName: functionName,
- args: args,
- chainId: defaultChainId,
- onError() {
- console.log(error);
- }
- })
- return {
- config
- }
-}
\ No newline at end of file
diff --git a/src/controller/contract.js b/src/controller/contract.js
deleted file mode 100644
index bc3a921b..00000000
--- a/src/controller/contract.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import { useContractRead } from "wagmi"
-import { useBadgeConfig, useQuestConfig } from "./config"
-import { constans } from "@/utils/constans";
-
-
-export function useBadgeContract({functionName, args}) {
- const { defaultChainId } = constans();
-
- const { config } = useBadgeConfig({
- functionName: functionName,
- args: args
- })
- const { data, isLoading, refetch, error } = useContractRead({
- ...config,
- chainId: defaultChainId
- })
-
- return {
- data,
- isLoading,
- refetch
- }
-}
-
-export function useQuestContract({functionName, args}) {
- const { defaultChainId } = constans();
-
- const { config } = useQuestConfig({
- functionName: functionName,
- args: args
- })
- const { data, isLoading, refetch } = useContractRead({
- ...config,
- chainId: defaultChainId
- })
-
- return {
- data,
- isLoading,
- refetch
- }
-}
\ No newline at end of file
diff --git a/src/controller/index.js b/src/controller/index.js
deleted file mode 100644
index a7cde70e..00000000
--- a/src/controller/index.js
+++ /dev/null
@@ -1,111 +0,0 @@
-import questMinterAddr from "@/contracts/QuestMinter.address";
-import questMinter from "@/contracts/QuestMinter.abi";
-
-import badgeAddr from "@/contracts/Badge.address";
-import badge from "@/contracts/Badge.abi";
-import { ethers } from "ethers";
-import { constans } from "@/utils/constans";
-
-
-
-// questMinter ===>
-export async function createQuest(questData, signature, provider ) {
-
- const Contract = new ethers.Contract(questMinterAddr, questMinter, provider);
-
- // endTs, supply
-
- let { startTs, endTs, supply, title, uri } = questData;
- endTs = constans().maxUint32;
- supply = constans().maxUint192;
- // supply = constans().maxUint32;
- const params = [startTs, endTs, supply, title, uri];
- let txHash = '';
- try {
- const resp = await Contract.createQuest(params, signature);
- txHash = resp.hash;
-
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
-
-export async function modifyQuest(tokenId, questData, signature, provider ) {
-
- const Contract = new ethers.Contract(questMinterAddr, questMinter, provider);
-
- // endTs, supply
-
- let { startTs, endTs, supply, title, uri } = questData;
- endTs = constans().maxUint32;
- supply = constans().maxUint192;
- // supply = constans().maxUint32;
- const params = [startTs, endTs, supply, title, uri];
- let txHash = '';
- try {
- const resp = await Contract.modifyQuest(tokenId, params, signature);
- txHash = resp.hash;
-
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
-
-export async function claim(tokenId, score, signature, provider) {
-
- const Contract = new ethers.Contract(questMinterAddr, questMinter, provider);
-
- let txHash = '';
- try {
- const resp = await Contract.claim(tokenId, score, signature);
- txHash = resp.hash;
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
-
-
-// badge ===>
-export async function tokenSupply(tokenId, provider) {
- const Contract = new ethers.Contract(badgeAddr, badge, provider);
-
- let txHash = '';
- try {
- const resp = await Contract.tokenSupply(tokenId);
- txHash = resp.toNumber();
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
-
-export async function balanceOf(owner, tokenId, provider) {
-
- const Contract = new ethers.Contract(badgeAddr, badge, provider);
-
- let txHash = '';
- try {
- const resp = await Contract.balanceOf(owner, tokenId);
- txHash = resp.toNumber();
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
-
-export async function chainScores(owner, tokenId, provider) {
-
- const Contract = new ethers.Contract(badgeAddr, badge, provider);
-
- let txHash = '';
- try {
- const resp = await Contract.scores(tokenId, owner);
- txHash = resp.toNumber();
- } catch (err) {
- console.dir(err);
- }
- return txHash;
-}
diff --git a/src/hooks/usePublish.js b/src/hooks/usePublish.js
index 546baf1b..cf05d532 100644
--- a/src/hooks/usePublish.js
+++ b/src/hooks/usePublish.js
@@ -16,12 +16,11 @@ import MyContext from "@/provider/context";
export const usePublish = (props) => {
const { jsonHash, recommend, changeId } = props;
- const { defaultChainId } = constans();
+ const { defaultChainId, ipfsPath, maxUint32, maxUint192 } = constans();
const { data: signer } = useWalletClient();
const { questContract } = useContext(MyContext);
const { chain } = useNetwork();
const { verify } = useVerifyToken();
- const { ipfsPath, maxUint32, maxUint192 } = constans();
const navigateTo = useNavigate();
const { t } = useTranslation(["publish", "translation"]);
const { switchNetwork } = useSwitchNetwork({
@@ -89,8 +88,8 @@ export const usePublish = (props) => {
const write = (sign, obj, params) => {
let { startTs, endTs, supply, title, uri } = obj;
- endTs = constans().maxUint32;
- supply = constans().maxUint192;
+ endTs = maxUint32;
+ supply = maxUint192.toFixed();
const args = [startTs, endTs, supply, title, uri];
if (changeId) {
modifyQuest({ args: [changeId, args, sign] })
@@ -135,7 +134,7 @@ export const usePublish = (props) => {
description: detail.description,
'start_ts': '0',
'end_ts': maxUint32.toString(),
- 'supply': maxUint192.toString(),
+ 'supply': maxUint192.toFixed(),
})
:
await addQuests({
@@ -144,12 +143,12 @@ export const usePublish = (props) => {
description: detail.description,
'start_ts': '0',
'end_ts': maxUint32.toString(),
- 'supply': maxUint192.toString(),
+ 'supply': maxUint192.toFixed(),
})
const questData = {
'startTs': 0,
'endTs': maxUint32.toString(),
- 'supply': maxUint192.toString(),
+ 'supply': maxUint192.toFixed(),
'title': detail.title,
'uri': "ipfs://"+jsonHash,
}
diff --git a/src/utils/constans.js b/src/utils/constans.js
index e9ab3b0d..96a5d3a6 100644
--- a/src/utils/constans.js
+++ b/src/utils/constans.js
@@ -1,6 +1,5 @@
-import { BigNumber } from "ethers";
import BadgeAddress from "@/contracts/Badge.address";
-
+import Big from 'big.js';
export const constans = (contractType) => {
@@ -65,7 +64,7 @@ export const constans = (contractType) => {
const questAddr = process.env.REACT_APP_CONTRACT_QUEST_ADDRESS;
const maxUint32 = Math.pow(2,32) - 1;
- const maxUint192 = BigNumber.from('2').pow(192).sub(1);
+ const maxUint192 = new Big(2).pow(192).minus(1);
const imgPath = process.env.REACT_APP_BASE_URL;
diff --git a/src/views/Publish/index.js b/src/views/Publish/index.js
index 5f59ff9c..bd14e9b1 100644
--- a/src/views/Publish/index.js
+++ b/src/views/Publish/index.js
@@ -245,7 +245,6 @@ export default function Publish(params) {
answers: answers[i]
})
});
- console.log(data);
changeItem = {
tokenId,
title,
From 25a499781348c718fe75c9489d525f056d6d61b2 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 10:19:42 +0800
Subject: [PATCH 08/13] en: es2021 BigInt
---
.eslintrc.js | 24 +++
package.json | 9 +-
src/hooks/usePublish.js | 9 +-
src/utils/constans.js | 6 +-
src/views/Index.js | 1 -
yarn.lock | 459 +++-------------------------------------
6 files changed, 66 insertions(+), 442 deletions(-)
create mode 100644 .eslintrc.js
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 00000000..4baddaf0
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,24 @@
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true,
+ },
+ // extends: ["eslint:recommended", "plugin:react/recommended"],
+ // overrides: [
+ // {
+ // env: {
+ // node: true,
+ // },
+ // files: [".eslintrc.{js,cjs}"],
+ // parserOptions: {
+ // sourceType: "script",
+ // },
+ // },
+ // ],
+ // parserOptions: {
+ // ecmaVersion: "latest",
+ // sourceType: "module",
+ // },
+ // plugins: ["react"],
+ // rules: {},
+ };
\ No newline at end of file
diff --git a/package.json b/package.json
index 4fead4d8..4f774bea 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,6 @@
"eslint": "^8.3.0",
"eslint-config-react-app": "^7.0.1",
"eslint-webpack-plugin": "^3.1.1",
- "ethers": "^5.7.2",
"file-loader": "^6.2.0",
"fs-extra": "^10.0.0",
"github-markdown-css": "^5.2.0",
@@ -113,9 +112,11 @@
},
"browserslist": {
"production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
+ "chrome >= 67",
+ "edge >= 79",
+ "firefox >= 68",
+ "opera >= 54",
+ "safari >= 14"
],
"development": [
"last 1 chrome version",
diff --git a/src/hooks/usePublish.js b/src/hooks/usePublish.js
index cf05d532..722ee06c 100644
--- a/src/hooks/usePublish.js
+++ b/src/hooks/usePublish.js
@@ -17,7 +17,6 @@ export const usePublish = (props) => {
const { jsonHash, recommend, changeId } = props;
const { defaultChainId, ipfsPath, maxUint32, maxUint192 } = constans();
- const { data: signer } = useWalletClient();
const { questContract } = useContext(MyContext);
const { chain } = useNetwork();
const { verify } = useVerifyToken();
@@ -88,8 +87,6 @@ export const usePublish = (props) => {
const write = (sign, obj, params) => {
let { startTs, endTs, supply, title, uri } = obj;
- endTs = maxUint32;
- supply = maxUint192.toFixed();
const args = [startTs, endTs, supply, title, uri];
if (changeId) {
modifyQuest({ args: [changeId, args, sign] })
@@ -134,7 +131,7 @@ export const usePublish = (props) => {
description: detail.description,
'start_ts': '0',
'end_ts': maxUint32.toString(),
- 'supply': maxUint192.toFixed(),
+ 'supply': maxUint192.toString(),
})
:
await addQuests({
@@ -143,12 +140,12 @@ export const usePublish = (props) => {
description: detail.description,
'start_ts': '0',
'end_ts': maxUint32.toString(),
- 'supply': maxUint192.toFixed(),
+ 'supply': maxUint192.toString(),
})
const questData = {
'startTs': 0,
'endTs': maxUint32.toString(),
- 'supply': maxUint192.toFixed(),
+ 'supply':maxUint192.toString(),
'title': detail.title,
'uri': "ipfs://"+jsonHash,
}
diff --git a/src/utils/constans.js b/src/utils/constans.js
index 96a5d3a6..52169d5c 100644
--- a/src/utils/constans.js
+++ b/src/utils/constans.js
@@ -1,5 +1,5 @@
import BadgeAddress from "@/contracts/Badge.address";
-import Big from 'big.js';
+import { maxUint192 } from "viem";
export const constans = (contractType) => {
@@ -64,7 +64,7 @@ export const constans = (contractType) => {
const questAddr = process.env.REACT_APP_CONTRACT_QUEST_ADDRESS;
const maxUint32 = Math.pow(2,32) - 1;
- const maxUint192 = new Big(2).pow(192).minus(1);
+ const bigInt192 = BigInt(maxUint192);
const imgPath = process.env.REACT_APP_BASE_URL;
@@ -81,7 +81,7 @@ export const constans = (contractType) => {
return {
maxUint32,
- maxUint192,
+ maxUint192: bigInt192,
openseaLink,
openseaSolanaLink,
defaultImg,
diff --git a/src/views/Index.js b/src/views/Index.js
index b6049a92..dfe5a2ed 100644
--- a/src/views/Index.js
+++ b/src/views/Index.js
@@ -12,7 +12,6 @@ import { useContext, useEffect, useState } from "react";
import axios from "axios";
import CustomIcon from "@/components/CustomIcon";
import i18n from 'i18next';
-import { WalletMultiButton } from "@solana/wallet-adapter-react-ui";
export default function Index(params) {
diff --git a/yarn.lock b/yarn.lock
index fd674808..172c5a7a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1430,10 +1430,10 @@
resolved "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4"
integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==
-"@eslint/eslintrc@^2.1.2":
- version "2.1.2"
- resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
- integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==
+"@eslint/eslintrc@^2.1.4":
+ version "2.1.4"
+ resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
+ integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
@@ -1445,10 +1445,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.51.0":
- version "8.51.0"
- resolved "https://registry.npmmirror.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa"
- integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==
+"@eslint/js@8.56.0":
+ version "8.56.0"
+ resolved "https://registry.npmmirror.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b"
+ integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==
"@ethereumjs/common@^3.2.0":
version "3.2.0"
@@ -1482,348 +1482,6 @@
ethereum-cryptography "^2.0.0"
micro-ftch "^0.3.1"
-"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
- integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
- integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
-
-"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
- integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
- integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
-
-"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
- integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
-
-"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
- integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2"
- integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- bn.js "^5.2.1"
-
-"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
- integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
- integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
-
-"@ethersproject/contracts@5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
- integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
- dependencies:
- "@ethersproject/abi" "^5.7.0"
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
-
-"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
- integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf"
- integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360"
- integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- aes-js "3.0.0"
- scrypt-js "3.0.1"
-
-"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
- integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- js-sha3 "0.8.0"
-
-"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
- integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
-
-"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
- version "5.7.1"
- resolved "https://registry.npmmirror.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
- integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102"
- integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
-
-"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
- integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/providers@5.7.2":
- version "5.7.2"
- resolved "https://registry.npmmirror.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
- integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
- bech32 "1.1.4"
- ws "7.4.6"
-
-"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
- integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
- integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
- integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- hash.js "1.1.7"
-
-"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
- integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- bn.js "^5.2.1"
- elliptic "6.5.4"
- hash.js "1.1.7"
-
-"@ethersproject/solidity@5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8"
- integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
- integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
- integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
-
-"@ethersproject/units@5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
- integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/wallet@5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d"
- integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/json-wallets" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0":
- version "5.7.1"
- resolved "https://registry.npmmirror.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
- integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
- dependencies:
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0":
- version "5.7.0"
- resolved "https://registry.npmmirror.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5"
- integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
"@fractalwagmi/popup-connection@^1.0.18":
version "1.1.1"
resolved "https://registry.npmmirror.com/@fractalwagmi/popup-connection/-/popup-connection-1.1.1.tgz#2dfff4f3bb89d17947adae597f355faf46c194a9"
@@ -1838,12 +1496,12 @@
"@solana/wallet-adapter-base" "^0.9.17"
bs58 "^5.0.0"
-"@humanwhocodes/config-array@^0.11.11":
- version "0.11.11"
- resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844"
- integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==
+"@humanwhocodes/config-array@^0.11.13":
+ version "0.11.13"
+ resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297"
+ integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==
dependencies:
- "@humanwhocodes/object-schema" "^1.2.1"
+ "@humanwhocodes/object-schema" "^2.0.1"
debug "^4.1.1"
minimatch "^3.0.5"
@@ -1852,10 +1510,10 @@
resolved "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-"@humanwhocodes/object-schema@^1.2.1":
- version "1.2.1"
- resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
- integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@humanwhocodes/object-schema@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044"
+ integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==
"@ioredis/commands@^1.1.1":
version "1.2.0"
@@ -4325,6 +3983,11 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
+"@ungap/structured-clone@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
+ integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
+
"@wagmi/connectors@3.1.10":
version "3.1.10"
resolved "https://registry.npmmirror.com/@wagmi/connectors/-/connectors-3.1.10.tgz#830cd788579ef56a2526574914481f2d3aabc9f7"
@@ -5118,11 +4781,6 @@ adjust-sourcemap-loader@^4.0.0:
loader-utils "^2.0.0"
regex-parser "^2.2.11"
-aes-js@3.0.0:
- version "3.0.0"
- resolved "https://registry.npmmirror.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
- integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==
-
aes-js@^3.1.2:
version "3.1.2"
resolved "https://registry.npmmirror.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
@@ -5749,11 +5407,6 @@ batch@0.6.1:
resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
-bech32@1.1.4:
- version "1.1.4"
- resolved "https://registry.npmmirror.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
- integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
-
bfj@^7.0.2:
version "7.1.0"
resolved "https://registry.npmmirror.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b"
@@ -7300,7 +6953,7 @@ electron-to-chromium@^1.4.535:
resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz#fcb156d83f0ee6e4c9d030c6fedb2a37594f3abf"
integrity sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==
-elliptic@6.5.4, elliptic@^6.5.3, elliptic@^6.5.4:
+elliptic@^6.5.3, elliptic@^6.5.4:
version "6.5.4"
resolved "https://registry.npmmirror.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
@@ -7751,17 +7404,18 @@ eslint-webpack-plugin@^3.1.1:
schema-utils "^4.0.0"
eslint@^8.3.0:
- version "8.51.0"
- resolved "https://registry.npmmirror.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
- integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
+ version "8.56.0"
+ resolved "https://registry.npmmirror.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15"
+ integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.6.1"
- "@eslint/eslintrc" "^2.1.2"
- "@eslint/js" "8.51.0"
- "@humanwhocodes/config-array" "^0.11.11"
+ "@eslint/eslintrc" "^2.1.4"
+ "@eslint/js" "8.56.0"
+ "@humanwhocodes/config-array" "^0.11.13"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
+ "@ungap/structured-clone" "^1.2.0"
ajv "^6.12.4"
chalk "^4.0.0"
cross-spawn "^7.0.2"
@@ -7904,42 +7558,6 @@ ethereum-cryptography@^2.0.0:
"@scure/bip32" "1.3.1"
"@scure/bip39" "1.2.1"
-ethers@^5.7.2:
- version "5.7.2"
- resolved "https://registry.npmmirror.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
- integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
- dependencies:
- "@ethersproject/abi" "5.7.0"
- "@ethersproject/abstract-provider" "5.7.0"
- "@ethersproject/abstract-signer" "5.7.0"
- "@ethersproject/address" "5.7.0"
- "@ethersproject/base64" "5.7.0"
- "@ethersproject/basex" "5.7.0"
- "@ethersproject/bignumber" "5.7.0"
- "@ethersproject/bytes" "5.7.0"
- "@ethersproject/constants" "5.7.0"
- "@ethersproject/contracts" "5.7.0"
- "@ethersproject/hash" "5.7.0"
- "@ethersproject/hdnode" "5.7.0"
- "@ethersproject/json-wallets" "5.7.0"
- "@ethersproject/keccak256" "5.7.0"
- "@ethersproject/logger" "5.7.0"
- "@ethersproject/networks" "5.7.1"
- "@ethersproject/pbkdf2" "5.7.0"
- "@ethersproject/properties" "5.7.0"
- "@ethersproject/providers" "5.7.2"
- "@ethersproject/random" "5.7.0"
- "@ethersproject/rlp" "5.7.0"
- "@ethersproject/sha2" "5.7.0"
- "@ethersproject/signing-key" "5.7.0"
- "@ethersproject/solidity" "5.7.0"
- "@ethersproject/strings" "5.7.0"
- "@ethersproject/transactions" "5.7.0"
- "@ethersproject/units" "5.7.0"
- "@ethersproject/wallet" "5.7.0"
- "@ethersproject/web" "5.7.1"
- "@ethersproject/wordlists" "5.7.0"
-
event-target-shim@^5.0.0:
version "5.0.1"
resolved "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
@@ -8600,7 +8218,7 @@ hash-base@^3.0.0:
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
-hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
+hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
version "1.1.7"
resolved "https://registry.npmmirror.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
@@ -10106,11 +9724,6 @@ js-cookie@^2.x.x:
resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
-js-sha3@0.8.0:
- version "0.8.0"
- resolved "https://registry.npmmirror.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
- integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -14007,11 +13620,6 @@ scroll-into-view-if-needed@^3.0.3:
dependencies:
compute-scroll-into-view "^3.0.2"
-scrypt-js@3.0.1:
- version "3.0.1"
- resolved "https://registry.npmmirror.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312"
- integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
-
sdp@^2.12.0, sdp@^2.6.0:
version "2.12.0"
resolved "https://registry.npmmirror.com/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22"
@@ -16022,11 +15630,6 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5"
-ws@7.4.6:
- version "7.4.6"
- resolved "https://registry.npmmirror.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
- integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
-
ws@8.13.0:
version "8.13.0"
resolved "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
From f08f3954dee60d6879944e579d190452b5bb95c4 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 10:44:08 +0800
Subject: [PATCH 09/13] en: wagmi cacheName
---
src/utils/wagmi/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
index a10eb0f7..49671008 100644
--- a/src/utils/wagmi/index.js
+++ b/src/utils/wagmi/index.js
@@ -43,7 +43,7 @@ export const noopStorage = {
export const wagmiConfig = createConfig({
storage: createStorage({
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage,
- key: 'wagmi_v1.1',
+ key: 'wagmi',
}),
autoConnect: localStorage.getItem("decert.address") ? true : false,
publicClient,
From ebbeb48065c5d7fd8bf13729efbd84f27c2382be Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 15:04:10 +0800
Subject: [PATCH 10/13] en: mobile connector
---
src/components/CustomChallenge/CustomConnect.js | 7 +++++++
src/containers/AppHeader.js | 13 +++++++++----
src/views/Claim/step_connect.js | 10 ++++++++--
3 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/src/components/CustomChallenge/CustomConnect.js b/src/components/CustomChallenge/CustomConnect.js
index 58ce7f9e..469139b3 100644
--- a/src/components/CustomChallenge/CustomConnect.js
+++ b/src/components/CustomChallenge/CustomConnect.js
@@ -5,6 +5,7 @@ import { useRequest } from "ahooks";
import { useTranslation } from "react-i18next";
import { changeConnect } from "@/utils/redux";
import { useAddress } from "@/hooks/useAddress";
+import { useConnect } from "wagmi";
export default function CustomConnect(props) {
@@ -12,9 +13,15 @@ export default function CustomConnect(props) {
const { t } = useTranslation(["claim"]);
const { step, setStep, isMobile } = props;
const { address } = useAddress();
+ const { connect, connectors } = useConnect({
+ onError(err){
+ console.log(err);
+ }
+ })
const openModalConnect = () => {
if (isMobile) {
+ connect({connector: connectors[1]})
return
}
changeConnect()
diff --git a/src/containers/AppHeader.js b/src/containers/AppHeader.js
index 7e3334d5..c9744687 100644
--- a/src/containers/AppHeader.js
+++ b/src/containers/AppHeader.js
@@ -2,7 +2,7 @@ import i18n from 'i18next';
import { useTranslation } from 'react-i18next';
import { useEffect, useState } from 'react';
import { Link, useLocation, useNavigate } from 'react-router-dom';
-import { useDisconnect } from 'wagmi';
+import { useConnect, useDisconnect } from 'wagmi';
import { Button, Dropdown, message } from 'antd';
import {
MenuOutlined,
@@ -26,9 +26,14 @@ import { ClearStorage } from '@/utils/ClearStorage';
export default function AppHeader({ isMobile, user }) {
const { address, walletType, isConnected } = useAddress();
- const { connected, wallet } = useWallet();
+ const { wallet } = useWallet();
const { imgPath } = constans();
const { t } = useTranslation();
+ const { connect, connectors } = useConnect({
+ onError(err){
+ console.log(err);
+ }
+ })
const { disconnect } = useDisconnect();
const navigateTo = useNavigate();
const location = useLocation();
@@ -95,8 +100,8 @@ export default function AppHeader({ isMobile, user }) {
const openModal = async() => {
if (isMobile) {
- // await open({route: "ConnectWallet"})
- // setIsOpenM(!isOpenM)
+ connect({connector: connectors[1]})
+ setIsOpenM(!isOpenM)
return
}
changeConnect();
diff --git a/src/views/Claim/step_connect.js b/src/views/Claim/step_connect.js
index 2b90ae0c..397b97af 100644
--- a/src/views/Claim/step_connect.js
+++ b/src/views/Claim/step_connect.js
@@ -6,18 +6,24 @@ import { useRequest } from "ahooks";
import { Button } from "antd";
import { useContext, useEffect } from "react";
import { useTranslation } from "react-i18next";
+import { useConnect } from "wagmi";
export default function StepConnect({setStep, step}) {
- const { web3Modal, isMobile } = useContext(MyContext);
+ const { isMobile } = useContext(MyContext);
const { t } = useTranslation(["claim"]);
const { address } = useAddress();
+ const { connect, connectors } = useConnect({
+ onError(err){
+ console.log(err);
+ }
+ })
const openModalConnect = () => {
if (isMobile) {
- web3Modal.open()
+ connect({connector: connectors[1]})
return
}
changeConnect()
From 2f5fd8753b00969c0ddbad7b2ba93a84652de42a Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 15:22:44 +0800
Subject: [PATCH 11/13] =?UTF-8?q?en:=20=E7=A7=BB=E5=8A=A8=E7=AB=AF?=
=?UTF-8?q?=E5=BC=80=E6=94=BE=E9=A2=98=E7=AD=94=E9=A2=98=E6=8F=90=E4=BA=A4?=
=?UTF-8?q?=E7=99=BB=E9=99=86=E5=BC=B9=E7=AA=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/Challenge/index.js | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/views/Challenge/index.js b/src/views/Challenge/index.js
index 6f478aa8..797abfe5 100644
--- a/src/views/Challenge/index.js
+++ b/src/views/Challenge/index.js
@@ -2,7 +2,7 @@ import "@/assets/styles/view-style/challenge.scss"
import "@/assets/styles/mobile/view-style/challenge.scss"
import store from "@/redux/store";
import i18n from 'i18next';
-import { useEffect, useRef, useState } from "react";
+import { useContext, useEffect, useRef, useState } from "react";
import { useTranslation } from 'react-i18next';
import { Button, Modal, Progress, message } from 'antd';
import { ArrowLeftOutlined, ExportOutlined, CloseOutlined } from '@ant-design/icons';
@@ -18,6 +18,8 @@ import ModalAnswers from '../../components/CustomModal/ModalAnswers';
import { useAddress } from "@/hooks/useAddress";
import { changeConnect } from "@/utils/redux";
import { useUpdateEffect } from "ahooks";
+import { useConnect } from "wagmi";
+import MyContext from "@/provider/context";
export default function Challenge(params) {
@@ -28,6 +30,7 @@ export default function Challenge(params) {
const location = useLocation();
const navigateTo = useNavigate();
const childRef = useRef(null);
+ const { isMobile } = useContext(MyContext);
let [detail, setDetail] = useState();
let [cacheDetail, setCacheDetail] = useState();
let [answers, setAnswers] = useState([]);
@@ -36,6 +39,11 @@ export default function Challenge(params) {
let [isPreview, setIsPreview] = useState();
let [realAnswer, setRealAnswer] = useState([]);
let [questKey, setQuestKey] = useState(100);
+ const { connect, connectors } = useConnect({
+ onError(err){
+ console.log(err);
+ }
+ })
let [page, setPage] = useState(1);
const [isModalOpen, setIsModalOpen] = useState(false);
@@ -182,7 +190,11 @@ export default function Challenge(params) {
const isOpenQuest = answers.filter(answer => answer?.type === "open_quest");
// 有开放题的同时未登录
if (isOpenQuest.length !== 0 && !isConnected) {
- changeConnect();
+ if (isMobile) {
+ connect({connector: connectors[1]})
+ }else{
+ changeConnect();
+ }
return
}
if (isOpenQuest.length !== 0 && detail.open_quest_review_status !== 0) {
From d4bc3ea7875af91f21915ec290f09a960b693d1f Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 15:27:22 +0800
Subject: [PATCH 12/13] =?UTF-8?q?en:=20wagmi=E8=87=AA=E5=8A=A8=E8=BF=9E?=
=?UTF-8?q?=E6=8E=A5=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/wagmi/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils/wagmi/index.js b/src/utils/wagmi/index.js
index 49671008..cc8faea9 100644
--- a/src/utils/wagmi/index.js
+++ b/src/utils/wagmi/index.js
@@ -45,7 +45,7 @@ export const wagmiConfig = createConfig({
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage,
key: 'wagmi',
}),
- autoConnect: localStorage.getItem("decert.address") ? true : false,
+ autoConnect: localStorage.getItem("wagmi.connected") ? true : false,
publicClient,
connectors: [
metaMaskConnector,
From 5fcfe4c3adb0404c0e1d926ae00c7a59aa28ea38 Mon Sep 17 00:00:00 2001
From: Caoqizhi <2391580279@qq.com>
Date: Thu, 4 Jan 2024 15:34:48 +0800
Subject: [PATCH 13/13] =?UTF-8?q?en:=20disconnect=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/containers/AppHeader.js | 15 ++++++---------
src/containers/DefaultLayout.js | 13 +++++--------
src/redux/CustomDisconnect.js | 13 +++++--------
3 files changed, 16 insertions(+), 25 deletions(-)
diff --git a/src/containers/AppHeader.js b/src/containers/AppHeader.js
index c9744687..a88cb266 100644
--- a/src/containers/AppHeader.js
+++ b/src/containers/AppHeader.js
@@ -34,7 +34,7 @@ export default function AppHeader({ isMobile, user }) {
console.log(err);
}
})
- const { disconnect } = useDisconnect();
+ const { disconnectAsync } = useDisconnect();
const navigateTo = useNavigate();
const location = useLocation();
let [isOpenM, setIsOpenM] = useState(false);
@@ -127,16 +127,13 @@ export default function AppHeader({ isMobile, user }) {
}
- function goDisconnect() {
+ async function goDisconnect() {
if (walletType === "evm") {
- disconnect();
- ClearStorage();
+ await disconnectAsync();
}else{
- wallet.adapter.disconnect()
- .then(res => {
- ClearStorage();
- })
+ await wallet.adapter.disconnect()
}
+ ClearStorage();
// 判断是否是claim页
const path = location.pathname;
@@ -247,7 +244,7 @@ export default function AppHeader({ isMobile, user }) {
{
isConnected ?
-
+
:
}
diff --git a/src/containers/DefaultLayout.js b/src/containers/DefaultLayout.js
index e40dd446..b89862fb 100644
--- a/src/containers/DefaultLayout.js
+++ b/src/containers/DefaultLayout.js
@@ -13,7 +13,7 @@ import MyContext from "@/provider/context";
import store, { hideCustomSigner, showCustomSigner } from "@/redux/store";
import { useAddress } from "@/hooks/useAddress";
import { useWallet } from "@solana/wallet-adapter-react";
-import { useAccount, useDisconnect } from "wagmi";
+import { useDisconnect } from "wagmi";
import { getUnreadMessage, readMessage } from "@/request/api/public";
import { useTranslation } from "react-i18next";
import CustomDisconnect from "@/redux/CustomDisconnect";
@@ -35,7 +35,7 @@ export default function DefaultLayout(params) {
const { address, isConnected, walletType } = useAddress();
const { wallet, connected } = useWallet();
- const { disconnect } = useDisconnect()
+ const { disconnectAsync } = useDisconnect()
// 获取当前账号未读信息
const { runAsync, cancel } = useRequest(getUnreadMessage, {
@@ -186,14 +186,11 @@ export default function DefaultLayout(params) {
await sign()
}else{
if (walletType === "evm") {
- disconnect();
- ClearStorage();
+ await disconnectAsync();
}else{
- wallet.adapter.disconnect()
- .then(res => {
- ClearStorage();
- })
+ await wallet.adapter.disconnect()
}
+ ClearStorage();
}
}
}
diff --git a/src/redux/CustomDisconnect.js b/src/redux/CustomDisconnect.js
index c006ce24..9bb0dd4e 100644
--- a/src/redux/CustomDisconnect.js
+++ b/src/redux/CustomDisconnect.js
@@ -9,20 +9,17 @@ function CustomDisconnect(props) {
const { wallet } = useWallet();
const { walletType, isConnected } = useAddress();
- const { disconnect } = useDisconnect();
+ const { disconnectAsync } = useDisconnect();
- function goDisconnect() {
+ async function goDisconnect() {
props.setDisConnect(false);
if (walletType === "evm") {
- disconnect();
- ClearStorage();
+ await disconnectAsync();
}else{
- wallet.adapter.disconnect()
- .then(res => {
- ClearStorage();
- })
+ await wallet.adapter.disconnect()
}
+ ClearStorage();
}
useEffect(() => {