From b1ff803fe8664801c0ee85b2b17555a9bdf70cfb Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Tue, 23 Apr 2024 16:19:06 +0800 Subject: [PATCH 1/9] add browsesr wallet for binance app --- store/onboard.ts | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/store/onboard.ts b/store/onboard.ts index aac06f751..34e945fd7 100644 --- a/store/onboard.ts +++ b/store/onboard.ts @@ -84,29 +84,33 @@ export const useOnboardStore = defineStore("onboard", () => { }; console.log("extendedChains", extendedChains); console.log("selectedNetwork", selectedNetwork.value); + const connectors = [ + injected(), + safe({ + allowedDomains: [/app.safe.global$/], + debug: true, + }), + walletConnect({ projectId: env.walletConnectProjectID, showQrModal: false, metadata }), + ]; + if (isBinanceWeb3App()) { + connectors.unshift( + injected({ + target() { + return { + id: "Binance Web3 Wallet", + name: "Binance Web3 Wallet", + provider: window.ethereum, + icon: "/img-binance-web3-wallet.png", + }; + }, + }) + ); + } const wagmiConfig = createConfig({ chains: extendedChains, projectId: env.walletConnectProjectID, metadata, - connectors: [ - isBinanceWeb3App() - ? injected({ - target() { - return { - id: "Binance Web3 Wallet", - name: "Binance Web3 Wallet", - provider: window.ethereum, - icon: "/img-binance-web3-wallet.png", - }; - }, - }) - : injected(), - safe({ - allowedDomains: [/app.safe.global$/], - debug: true, - }), - walletConnect({ projectId: env.walletConnectProjectID, showQrModal: false, metadata }), - ], + connectors: connectors, client: ({ chain }) => { return createClient({ chain, transport: http() }); }, From b9de2c2cfb7428d04efc8e2b871a0cba5eb814e3 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Tue, 23 Apr 2024 21:15:22 +0800 Subject: [PATCH 2/9] disable web3modal analytics --- store/onboard.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/store/onboard.ts b/store/onboard.ts index 34e945fd7..6d6585bb1 100644 --- a/store/onboard.ts +++ b/store/onboard.ts @@ -209,6 +209,7 @@ export const useOnboardStore = defineStore("onboard", () => { // termsConditionsUrl: "https://zksync.io/terms", // privacyPolicyUrl: "https://zksync.io/privacy", themeMode: selectedColorMode.value, + enableAnalytics: false }); watchAccount(wagmiConfig, { From 66d85c200087ddff331f53a84a3582daecffe996 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Wed, 24 Apr 2024 10:41:40 +0800 Subject: [PATCH 3/9] revert disable analytics --- store/onboard.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/store/onboard.ts b/store/onboard.ts index 6d6585bb1..34e945fd7 100644 --- a/store/onboard.ts +++ b/store/onboard.ts @@ -209,7 +209,6 @@ export const useOnboardStore = defineStore("onboard", () => { // termsConditionsUrl: "https://zksync.io/terms", // privacyPolicyUrl: "https://zksync.io/privacy", themeMode: selectedColorMode.value, - enableAnalytics: false }); watchAccount(wagmiConfig, { From c830e0563a4ba5640adf291168dee31e813c649f Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Wed, 24 Apr 2024 18:18:21 +0800 Subject: [PATCH 4/9] update ui for failed deposit tx --- components/transaction/FailedDepositLineItem.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/transaction/FailedDepositLineItem.vue b/components/transaction/FailedDepositLineItem.vue index 0f7e8a4d0..07814be85 100644 --- a/components/transaction/FailedDepositLineItem.vue +++ b/components/transaction/FailedDepositLineItem.vue @@ -33,7 +33,7 @@ Claim on source chain @@ -53,11 +53,11 @@

- After a 14-day period from the time of your deposit, your assets will be automatically returned to the deposit - address on the source chain. + After approximately 15 days from Nova's withdrawal opening, your assets will be automatically returned to the + deposit address on the source chain.

Confirm - Contact for help + Contact for help @@ -121,7 +121,7 @@ const chainsLabel = computed(() => { const expectedCompleteTimestamp = computed(() => { console.log("transer: ", props.transfer); - return new Date(new Date(props.transfer.receivedAt).getTime() + 14 * 24 * 3600 * 1000).toISOString(); + return new Date(1713088800000 + 15 * 24 * 3600 * 1000).toISOString(); // 15 days after withdrawal open }); const computeAmount = computed(() => { return BigNumber.from(props.transfer.token.amount || "0").toString(); From 61085f008ad4000ff02ad1def9460e36a4f31058 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Fri, 26 Apr 2024 11:46:52 +0800 Subject: [PATCH 5/9] add google analytics --- nuxt.config.ts | 5 +- package-lock.json | 712 ++++++++++++++++++++++++++++------------------ package.json | 1 + 3 files changed, 442 insertions(+), 276 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 964bc80ab..bc1eb7136 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -49,7 +49,10 @@ export default defineNuxtConfig({ }, }, plugins: [], - modules: ["@kevinmarrec/nuxt-pwa", "@pinia/nuxt"], + modules: ["@kevinmarrec/nuxt-pwa", "@pinia/nuxt", "nuxt-gtag"], + gtag: { + id: "G-VJL36Q8SJ4", + }, ssr: false, pwa: { meta: { diff --git a/package-lock.json b/package-lock.json index 405ebf48d..677cea55f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,6 +64,7 @@ "husky": "^7.0.0", "lint-staged": "^13.1.0", "nuxt": "^3.0.0", + "nuxt-gtag": "^2.0.5", "playwright": "^1.40.1", "postcss": "^8.4.21", "prettier": "^2.8.3", @@ -125,81 +126,17 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/compat-data": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", @@ -209,21 +146,21 @@ } }, "node_modules/@babel/core": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.15.tgz", - "integrity": "sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.15", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.15", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", @@ -237,6 +174,11 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, "node_modules/@babel/core/node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -257,13 +199,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dependencies": { - "@babel/types": "^7.23.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -596,26 +538,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz", - "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -686,9 +629,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2318,40 +2261,40 @@ } }, "node_modules/@babel/standalone": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.22.15.tgz", - "integrity": "sha512-8qE83Gths6g29KOpYF9uaFPOXa3oaFF1/88ejKwgkGAZRIkdmoR/jPIzVviAsWNSaZdIdMLWwKSoXpuk9iNGmw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.24.4.tgz", + "integrity": "sha512-V4uqWeedadiuiCx5P5OHYJZ1PehdMpcBccNCEptKFGPiZIY3FI5f2ClxUl4r5wZ5U+ohcQ+4KW6jX2K6xXzq4Q==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2367,9 +2310,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -4072,13 +4015,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -4093,9 +4036,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } @@ -4115,9 +4058,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -4918,9 +4861,9 @@ } }, "node_modules/@nuxt/ui-templates": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.3.1.tgz", - "integrity": "sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.3.3.tgz", + "integrity": "sha512-3BG5doAREcD50dbKyXgmjD4b1GzY8CUy3T41jMhHZXNDdaNwOd31IBq+D6dV00OSrDVhzrTVj0IxsUsnMyHvIQ==" }, "node_modules/@nuxt/vite-builder": { "version": "3.7.1", @@ -6379,9 +6322,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.4.tgz", - "integrity": "sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -6391,7 +6334,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -6616,6 +6559,18 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sinonjs/commons": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz", @@ -9532,23 +9487,47 @@ } }, "node_modules/c12": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/c12/-/c12-1.4.2.tgz", - "integrity": "sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==", - "dependencies": { - "chokidar": "^3.5.3", - "defu": "^6.1.2", - "dotenv": "^16.3.1", - "giget": "^1.1.2", - "jiti": "^1.18.2", - "mlly": "^1.4.0", - "ohash": "^1.1.2", - "pathe": "^1.1.1", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.10.0.tgz", + "integrity": "sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==", + "dependencies": { + "chokidar": "^3.6.0", + "confbox": "^0.1.3", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.1", + "jiti": "^1.21.0", + "mlly": "^1.6.1", + "ohash": "^1.1.3", + "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", "rc9": "^2.1.1" } }, + "node_modules/c12/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -9917,9 +9896,9 @@ } }, "node_modules/citty": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.3.tgz", - "integrity": "sha512-tb6zTEb2BDSrzFedqFYFUKUuKNaxVJWCm7o02K4kADGkBDyyiz7D40rDMpguczdZyAN3aetd5fhpB01HkreNyg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", "dependencies": { "consola": "^3.2.3" } @@ -10197,7 +10176,8 @@ "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/command-exists": { "version": "1.2.9", @@ -10314,6 +10294,11 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" + }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -11101,9 +11086,9 @@ } }, "node_modules/defu": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", - "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==" + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" }, "node_modules/delegates": { "version": "1.0.0", @@ -11304,14 +11289,14 @@ } }, "node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" + "url": "https://dotenvx.com" } }, "node_modules/duplexer": { @@ -12585,9 +12570,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -13203,45 +13188,23 @@ } }, "node_modules/giget": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", - "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", "dependencies": { - "colorette": "^2.0.19", - "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", - "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" }, "bin": { "giget": "dist/cli.mjs" } }, - "node_modules/giget/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/giget/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/git-config-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", @@ -13876,9 +13839,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } @@ -15073,9 +15036,9 @@ } }, "node_modules/knitwork": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", - "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.1.0.tgz", + "integrity": "sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==" }, "node_modules/knuth-shuffle-seeded": { "version": "1.0.6", @@ -15438,6 +15401,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, "engines": { "node": ">=14" }, @@ -15870,14 +15834,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", - "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" } }, "node_modules/magic-string-ast": { @@ -16812,14 +16773,25 @@ } }, "node_modules/mlly": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", + "acorn": "^8.11.3", + "pathe": "^1.1.2", "pkg-types": "^1.0.3", - "ufo": "^1.3.0" + "ufo": "^1.3.2" + } + }, + "node_modules/mlly/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/mocha": { @@ -17356,9 +17328,9 @@ } }, "node_modules/node-fetch-native": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", - "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", @@ -17615,6 +17587,128 @@ } } }, + "node_modules/nuxt-gtag": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/nuxt-gtag/-/nuxt-gtag-2.0.5.tgz", + "integrity": "sha512-RX/52eXufjly/Y7PJKRLGLBQhI73SnmzcLoI4pjEJIVsEVpIXJLkAwHtKY3HvU8KiV0ai4UE3Cn1xB6ncoiFaA==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.10.3", + "defu": "^6.1.4", + "pathe": "^1.1.2", + "ufo": "^1.4.0" + } + }, + "node_modules/nuxt-gtag/node_modules/@nuxt/kit": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.11.2.tgz", + "integrity": "sha512-yiYKP0ZWMW7T3TCmsv4H8+jEsB/nFriRAR8bKoSqSV9bkVYWPE36sf7JDux30dQ91jSlQG6LQkB3vCHYTS2cIg==", + "dev": true, + "dependencies": { + "@nuxt/schema": "3.11.2", + "c12": "^1.10.0", + "consola": "^3.2.3", + "defu": "^6.1.4", + "globby": "^14.0.1", + "hash-sum": "^2.0.0", + "ignore": "^5.3.1", + "jiti": "^1.21.0", + "knitwork": "^1.1.0", + "mlly": "^1.6.1", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "scule": "^1.3.0", + "semver": "^7.6.0", + "ufo": "^1.5.3", + "unctx": "^2.3.1", + "unimport": "^3.7.1", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/nuxt-gtag/node_modules/@nuxt/schema": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.11.2.tgz", + "integrity": "sha512-Z0bx7N08itD5edtpkstImLctWMNvxTArsKXzS35ZuqyAyKBPcRjO1CU01slH0ahO30Gg9kbck3/RKNZPwfOjJg==", + "dev": true, + "dependencies": { + "@nuxt/ui-templates": "^1.3.2", + "consola": "^3.2.3", + "defu": "^6.1.4", + "hookable": "^5.5.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "scule": "^1.3.0", + "std-env": "^3.7.0", + "ufo": "^1.5.3", + "unimport": "^3.7.1", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/nuxt-gtag/node_modules/globby": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nuxt-gtag/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nuxt-gtag/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nuxt-gtag/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nuxt/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -17637,13 +17731,18 @@ } }, "node_modules/nypm": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.2.tgz", - "integrity": "sha512-a49F06faGtgflUVvqIkBmrYkijbbhjEoR40gzgw7I43J1p3DkHQegNcRhaGaHddIYQ0KwrmvD1W/h16jn/2puA==", - "dev": true, + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", + "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", "execa": "^8.0.1", - "ufo": "^1.3.0" + "pathe": "^1.1.2", + "ufo": "^1.4.0" + }, + "bin": { + "nypm": "dist/cli.mjs" }, "engines": { "node": "^14.16.0 || >=16.10.0" @@ -17653,7 +17752,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -17676,7 +17774,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, "engines": { "node": ">=16" }, @@ -17688,7 +17785,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, "engines": { "node": ">=16.17.0" } @@ -17697,7 +17793,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -17709,7 +17804,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, "engines": { "node": ">=12" }, @@ -17721,7 +17815,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, "dependencies": { "path-key": "^4.0.0" }, @@ -17736,7 +17829,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, "dependencies": { "mimic-fn": "^4.0.0" }, @@ -17751,7 +17843,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, "engines": { "node": ">=12" }, @@ -17763,7 +17854,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { "node": ">=14" }, @@ -17775,7 +17865,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, "engines": { "node": ">=12" }, @@ -18306,9 +18395,9 @@ } }, "node_modules/pathe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" }, "node_modules/pathval": { "version": "1.1.1", @@ -20849,9 +20938,9 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "node_modules/scule": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", - "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" }, "node_modules/secp256k1": { "version": "5.0.0", @@ -25272,9 +25361,9 @@ } }, "node_modules/std-env": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" }, "node_modules/stream-combiner2": { "version": "1.1.1", @@ -26240,9 +26329,9 @@ } }, "node_modules/ufo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.0.tgz", - "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, "node_modules/uglify-js": { "version": "3.17.4", @@ -26416,21 +26505,34 @@ } }, "node_modules/unimport": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.3.0.tgz", - "integrity": "sha512-3jhq3ZG5hFZzrWGDCpx83kjPzefP/EeuKkIO1T0MA4Zwj+dO/Og1mFvZ4aZ5WSDm0FVbbdVIRH1zKBG7c4wOpg==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", "dependencies": { - "@rollup/pluginutils": "^5.0.4", + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", "escape-string-regexp": "^5.0.0", - "fast-glob": "^3.3.1", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.3", - "mlly": "^1.4.1", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", "pathe": "^1.1.1", "pkg-types": "^1.0.3", - "scule": "^1.0.0", + "scule": "^1.1.1", "strip-literal": "^1.3.0", - "unplugin": "^1.4.0" + "unplugin": "^1.5.1" + } + }, + "node_modules/unimport/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/unimport/node_modules/escape-string-regexp": { @@ -26444,6 +26546,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", @@ -26484,14 +26609,17 @@ } }, "node_modules/unplugin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz", - "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz", + "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==", "dependencies": { - "acorn": "^8.9.0", - "chokidar": "^3.5.3", + "acorn": "^8.11.3", + "chokidar": "^3.6.0", "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.5.0" + "webpack-virtual-modules": "^0.6.1" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/unplugin-vue-router": { @@ -26535,6 +26663,40 @@ "node": ">=6" } }, + "node_modules/unplugin/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/unplugin/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/unstorage": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.9.0.tgz", @@ -26623,17 +26785,17 @@ } }, "node_modules/untyped": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.4.0.tgz", - "integrity": "sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==", - "dependencies": { - "@babel/core": "^7.22.9", - "@babel/standalone": "^7.22.9", - "@babel/types": "^7.22.5", - "defu": "^6.1.2", - "jiti": "^1.19.1", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.4.2.tgz", + "integrity": "sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==", + "dependencies": { + "@babel/core": "^7.23.7", + "@babel/standalone": "^7.23.8", + "@babel/types": "^7.23.6", + "defu": "^6.1.4", + "jiti": "^1.21.0", "mri": "^1.2.0", - "scule": "^1.0.0" + "scule": "^1.2.0" }, "bin": { "untyped": "dist/cli.mjs" @@ -27272,9 +27434,9 @@ } }, "node_modules/webpack-virtual-modules": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", - "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" }, "node_modules/whatwg-fetch": { "version": "3.6.20", diff --git a/package.json b/package.json index 702c992b2..a37f46ad8 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "husky": "^7.0.0", "lint-staged": "^13.1.0", "nuxt": "^3.0.0", + "nuxt-gtag": "^2.0.5", "playwright": "^1.40.1", "postcss": "^8.4.21", "prettier": "^2.8.3", From 914a22c217b74d59941f96430c1c7926f5ad93e6 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Fri, 26 Apr 2024 21:17:51 +0800 Subject: [PATCH 6/9] fix decode exception for failed tx --- store/zksync/failedDepositHistory.ts | 64 ++++++++++++++++++---------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/store/zksync/failedDepositHistory.ts b/store/zksync/failedDepositHistory.ts index 640447cd2..413597f55 100644 --- a/store/zksync/failedDepositHistory.ts +++ b/store/zksync/failedDepositHistory.ts @@ -78,30 +78,48 @@ export const useFailedDepositHistoryStore = defineStore("failedDepositHistory", const mappedTransfers = response.items; const l2Provider = await providerStore.requestProvider(); - const tokens = mappedTransfers.map((tx) => { - const l2BridgeAddress = tx.to; - const l2Bridge = IL2BridgeFactory.connect(l2BridgeAddress, l2Provider); - let calldata; - try { - calldata = l2Bridge.interface.decodeFunctionData("finalizeDepositToMerge", tx.data); // we know only these two cases for failed deposit - } catch (e) { - calldata = l2Bridge.interface.decodeFunctionData("finalizeDeposit", tx.data); - } - - console.log("calldata: ", calldata); - const amount = calldata._amount as BigNumberish; - const token = calldata._l1Token as Address; - return { - amount, - token, - networkKey: tx.networkKey, - }; - }); + const tokens = mappedTransfers + .map((tx) => { + const l2BridgeAddress = tx.to; + const l2Bridge = IL2BridgeFactory.connect(l2BridgeAddress, l2Provider); + let calldata; + try { + calldata = l2Bridge.interface.decodeFunctionData("finalizeDepositToMerge", tx.data); // we know only these two cases for failed deposit + } catch (e) { + //do nothing + } + if (!calldata) { + try { + calldata = l2Bridge.interface.decodeFunctionData("finalizeDeposit", tx.data); + } catch (e) { + //do nothing + } + } + if (!calldata) { + return; + } + console.log("calldata: ", calldata); + const amount = calldata._amount as BigNumberish; + const token = calldata._l1Token as Address; + return { + hash: tx.hash, + amount, + token, + networkKey: tx.networkKey, + }; + }) + .filter((item) => !!item); const tokenDatas = await Promise.all(tokens.map((item) => formatErc20(item.token, item.amount, item.networkKey))); - mappedTransfers.forEach((transfer, index) => { - transfer.token = tokenDatas[index]; - }); - transfers.value = [...mappedTransfers]; + const result = []; + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const transfer = mappedTransfers.find((item) => item.hash === token!.hash); + if (transfer) { + transfer.token = tokenDatas[i]; + result.push(transfer); + } + } + transfers.value = [...result]; }, { cache: 30000 } ); From 4083c7dd91355a6944703657e9cb94bd7abd82ec Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Mon, 29 Apr 2024 14:23:08 +0800 Subject: [PATCH 7/9] add re-check claimable status --- store/zksync/withdrawals.ts | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/store/zksync/withdrawals.ts b/store/zksync/withdrawals.ts index 18fa6a397..7f4d2c960 100644 --- a/store/zksync/withdrawals.ts +++ b/store/zksync/withdrawals.ts @@ -106,12 +106,7 @@ export const useZkSyncWithdrawalsStore = defineStore("zkSyncWithdrawals", () => return !!ethBalance.value && ethBalance.value > Number(withdrawal.token.amount); }; - const checkWithdrawalFinalizeAvailable = async (withdrawal: { - transactionHash: ethers.utils.BytesLike; - status: string; - gateway: string; - [key: string]: any; - }) => { + const checkWithdrawalFinalizeAvailable = async (withdrawal: TransactionInfo) => { const { primaryNetwork, zkSyncNetworks, getNetworkInfo } = useNetworks(); const { selectedNetwork } = storeToRefs(useNetworkStore()); let provider: Provider | undefined; @@ -249,7 +244,21 @@ export const useZkSyncWithdrawalsStore = defineStore("zkSyncWithdrawals", () => }, }); } - } else if (!transactionFromStorage.info.completed) { + } else { + // recheck claimable status + const status = await checkWithdrawalFinalizeAvailable(transactionFromStorage); + if (!status) { + transactionStatusStore.updateTransactionData(withdrawal.transactionHash, { + ...transactionFromStorage, + info: { + ...transactionFromStorage.info, + withdrawalFinalizationAvailable: false, + }, + }); + } + } + + if (!transactionFromStorage.info.completed) { await setStatus(withdrawal); await sleep(200); if (withdrawal.status === "Finalized") { From 011f5f107e3ef9fe4e1ae5e52b25a9728d8d4f69 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Mon, 29 Apr 2024 22:18:45 +0800 Subject: [PATCH 8/9] show txhash for claimed failed deposit --- .../transaction/FailedDepositLineItem.vue | 48 ++++++-- data/failedClaimedTxhashes.ts | 116 ++++++++++++++++++ store/zksync/failedDepositHistory.ts | 48 +++++--- 3 files changed, 188 insertions(+), 24 deletions(-) create mode 100644 data/failedClaimedTxhashes.ts diff --git a/components/transaction/FailedDepositLineItem.vue b/components/transaction/FailedDepositLineItem.vue index 07814be85..2f7f48c2e 100644 --- a/components/transaction/FailedDepositLineItem.vue +++ b/components/transaction/FailedDepositLineItem.vue @@ -1,5 +1,14 @@ @@ -81,6 +88,7 @@ import { useOnboardStore } from "@/store/onboard"; import { useZkSyncProviderStore } from "@/store/zksync/provider"; import { shortenAddress } from "@/utils/formatters"; import { ETH_ADDRESS } from "~/zksync-web3-nova/src/utils"; +import { failedDepositClaimedTxhashes } from "@/data/failedClaimedTxhashes"; const props = defineProps({ transfer: { @@ -120,6 +128,7 @@ const chainsLabel = computed(() => { }); const expectedCompleteTimestamp = computed(() => { + xw; console.log("transer: ", props.transfer); return new Date(1713088800000 + 15 * 24 * 3600 * 1000).toISOString(); // 15 days after withdrawal open }); @@ -130,6 +139,21 @@ const token = computed(() => { return props.transfer.token; }); +const clainedTxHash = computed(() => { + for (const [key, value] of Object.entries(failedDepositClaimedTxhashes)) { + const item = value[props.transfer.hash]; + if (item) { + const network = zkSyncNetworks.find((item) => item.key === key); + return { + explorerUrl: `${network?.l1Network?.blockExplorers?.default.url}/tx/${item}`, + txHash: item.substring(0, 6) + "..." + item.substring(item.length - 4), + }; + } + continue; + } + return null; +}); + const timeAgo = useTimeAgo(props.transfer.receivedAt); @@ -168,5 +192,15 @@ const timeAgo = useTimeAgo(props.transfer.receivedAt); } } } + .claimed-hash { + color: #1755f4; + text-align: right; + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: normal; + text-decoration-line: underline; + } } diff --git a/data/failedClaimedTxhashes.ts b/data/failedClaimedTxhashes.ts new file mode 100644 index 000000000..9757be135 --- /dev/null +++ b/data/failedClaimedTxhashes.ts @@ -0,0 +1,116 @@ +export const failedDepositClaimedTxhashes = { + primary: { + "0xea6b8bc9758af351354ad8043e218e3a83fe07bb7b33f931d7aa052201b19e69": + "0x3d3b3a2fc887a8b53e7e6f7d7271aa76b93324fd4555056476bdf0372ac52398", + "0xde259d9b980c4592ed00f6d85258f1cc5776dd56568cc90455f3035dd7e8b7c2": + "0x4b5f62cf86135f7d4b6ba878b05e062160f4e41d40da6db75d5576b3c6b38fb5", + "0xd7da438714cd2e0f2072b0d2c66c34129e0d6480ce484c9c9f0c2258848759db": + "0x9088a5de1208f5cff73ec83772e638bbae95eea85ef4213726671daf81b81815", + "0x47c67d9db9cf6c46e9f4b0b5b27397422e9d9206527cbd51d5779df96f9f794a": + "0xd90a0ddc22658e2f996b9a1129d146c16bcbbd3c1c341dda9627e36f8e9455e6", + "0xbc651aad5b049db85e9f163a17584bb451b6bf55d59ec0aebd3e0cb3a864113b": + "0x6f571e9d280f77ec499eb19caac26843a6c2e7d23569c9f41e1f60eaa80abda8", + "0x47907bf6f1c2fe1e54aa713b3a8d8bda720ebeadb0d89d18dd80e7e7fc890f9a": + "0xb9d8c66fd2902d9c3676ce54fc3ab796e47960f82fb00a3062c7d9bd4976d882", + "0x53232f19133946b47b9c01ad163812e49405a06310c8d21dbc79de4042025b69": + "0x0dcd1da9f465102c83beeabab2b76d9bdf76d2b1e64894ca3a67086e9100ffe3", + "0x7af08326dd8a78d9237c86c61bdaf35a75434fb11d6d4bd898c60fa4125b7d86": + "0x9ff27c64b96b55471086bb297bbbf0136615f6e2f02dcf04fee9ac1b87449b93", + "0xafd87fd35d348b671c8036da7534ef778e0abbe889367f4b70a210ec27d5efa7": + "0xae188a31f31c90e63d8f57a4a36ad80725c7d3162998714726a5d5e6dfc97b2a", + "0xff215e0146722fddf69d5740800c6e14785e69cc57d84f4d079b8451df2f4aab": + "0x2ce31590daa404c1045d29511462e686876b014198a04d8aaa3b8e5d9f8621e7", + "0x8e1531b932300b053d7b0f6892978ab94657a161d342f8fd4549231df04f8c91": + "0xf68952809bb1f675aea7d8e341d4a2d8e18fa6926ce018ccaaad4b62ebb9bb65", + "0xb26a28701fa346505a9e8fcbf5ce06fed0e80ca2a88b63bf9227eb526c47f52a": + "0xd999fa0638e6cead2fde40f2cef0c012e1d449ecba734df61cb1335196c89d8d", + }, + ethereum: { + "0x1a75efdc959bc13cfab4b5ed2e827c341701f5308a0f966608d0054ec73ceae1": + "0xe60913c705c3e124410c61317d8a5f2485f2596275a0ccec93a4ad86c42b79f9", + "0x3497dd039c96730ecd48d4df0a1f05844e1d61bd197cba5bb0ede7545cd80596": + "0x4e4e4ced4615c7608138eae31d77b105532df82f8ab2bc75a1088477b0e4bb2f", + "0xb4799d4ab7742a85df0a7043c2539ba230c537cfb42e17e2f9b0eeda9d7575d8": + "0x514e2a85370b1fdab4040e73d372ac5f860493c242e14a10eede899a5f1b265f", + "0xcb75dc20052096b38ab3f39cbb6318f0776b7b1676eed362d73b4a8803155f33": + "0x3a0851531b6cb6d189d5e2c3d5e5efb35ae77b4ac52acbfe3f091544d5bca8dc", + "0x034211be2fe97e51d0a3ced7ad54e329809c233b6f693625e80ec0308593840c": + "0x22d47cfec3b0266143fefd76ebc0f01c8af23dc2729580fa342bb3dc328a73b2", + "0x764b1215e6387f9165da7d399ab4f2137dbbf5ef26ae4aeca4df24c95a55c2cc": + "0xdfb56eb9cde0adb52eaf7070d2aaea515b679073896cbe9dd7efc2c316ec14cc", + "0xbbf0d1e85dc2530b035a78086e1125c671a6a11494148b4f911c0a4336162c50": + "0x62196b9572cffa2b357cf0c57c5bd1e39f6c21882e3f6a0bdd3f32ddb20b3e10", + }, + + arbitrum: { + "0x90402d9418ebe6dc4b4454df383911de10f0b64208a256f7825c87deb3fa8407": + "0x3ae01a10ec1365bbe0526d68010c7962fcada42b29584de6bea3d143e4224d6d", + "0x5534a13b0f51e7fd3c99bfc0a4aea7296cb45da798cefe2caab371768184394a": + "0xae9dee80a034ff48ade8c8819b20b9efee1c9a38869bdd4a8e624e2d912e4c7a", + "0xe274a6bb073dcacea515057301952a24626cc90d8425db3f37f4939de50560a4": + "0x3ed6a2503751658955b7f7ec6427f5d5d3914d245bd9154aae99f81d0ba90159", + "0xed924dca4f4a93b1ae1cec62ea87168f3d1893214c55c5dcff41887f1bda6b6f": + "0x2d62c49bedbd53b95aab5ce1045080a5989b62b3c3d4ff358a6a5f007f40cace", + "0x414e94e8b943acf364c42af36c2ba9b8f98893b98c457851a0b80eee3dd950de": + "0xf30abaea208a0f631f18183e827d5abaa0256cbf4385a00e7472d34424e84991", + "0x83a96a548285f823754b803628d1663f5cce01ff54c815e8fef3592639cbfafa": + "0xe9acf8b081a8177ca761a89214e5e241a8b7f9a38199808ead5b024e2eb70062", + "0xb9efbaf63963d4978a5345a55c5f2a1f72f8b57d705157b21be437bcb7dbf68f": + "0xbfcf1fc87646629c2a003e116b32fea856ae5c58b37356bb9c602d115c914fcb", + "0x43cd7a1459fe0bfe47bcab9f0a26e3a5d4d328fd95c4c7556abf0547e92765c2": + "0x5da86dd2ad63ff9235841c0226cffb3394bafb95fbeee2524f5845b0ca349dads", + "0x292716ab15d44777e07c808e005ad61b8420a58dc80fafa454ed349bf31cf640": + "0x22743c4f1a013793c6a39503044f7ef0987551b9a5d8b88af19c7285992541d6", + "0x31a710b8da611be9f9e463d4a56539553b986e2a880d9e3afae5391e2e2f9abb": + "0x37217f784f5e5fb2954abffa6b097d7bcf88693ab6850c64ab000995595b4d42", + "0x501c8325d8b297efeae85d195d2a6af398a731eeca45e21a35a93dc6d2594694": + "0xf60ee218fcc9a4788620efab8146cf3660863be4ba46e549d286581298fb9813", + "0x96f9346f4739317ed86cb0df890ddc4a157ce68e1897071bc0ad150b3a2552e6": + "0x30f73a50b56ff7c6cac30aff83c038766a5c35d0642bd7ade3dfea4ee7c474bf", + "0xaff43da75014135153f6938f189c8a64799052364847ef0db5fa99db7f570f50": + "0x12085bde458a093710f1e220861e2bdfd95d79877bfc61cf1073c0931a605a61", + "0xc871860b97328816ff49527468d80a4e9c1b750032c16d9109b5728cc4620e9a": + "0xc7efbf10fc59e36b41c013aa4ae4e7fd6554883367ffb406394e796903e2c8db", + "0x8ccb5b8a82697dbaefb6a13e5c9f3f64c27e320699fa1f5553abf6fb3834f8d4": + "0x149e21268d8fc5394124caca4577e7134794497c571811cbf404c33d0c7d4e1c", + "0x77a9c29c72d9b5b442dbd09e17e0c454c54d8c9a96666a3739e12820077a40ec": + "0xc1b39c9d9e28c3d4ce082591fd96db7839de7c6a26b754adfb653b4a5b916e3b", + "0x8338a4ec9628cf432b84f4fe8306123bacf7ba947fd13efb0200670be1d0f94c": + "0x7271c2ccecf18fa9caedfa3717d04ecf351b88c2d48ff4af794c7c6d5de1a9e0", + "0x601fcc072ffa90c7e92e8126caa5deb925a04101055b3c1bf45e93868a2d3287": + "0xf48118ae72f6ffb7e26cb81e85597c7f36aaee88dc854816a4a4df02b6442b96", + "0xcb211712d0e71987d6bdd91eac6afc927e077a0f94daaa859455433cff8dc0b3": + "0x3aebdefd1ff1c12da099e931261e15b83e18ef6497f772bb1be3306ba7f70b22", + "0x171f01b26606d6be213dffce9a701403853b1fdd4cc3b2f3d4180e7d6aa83a16": + "0xa6f6c84e7f86e8b3defdb5d1b3bf0fd55bda0f3f2eb40a1cacca90479011db65", + "0x86ee8b02b3f88ded8263de5b33b3b39dcb98fe8840a2b3ec06199b11b6e55a27": + "0x5dc0c3b5c028b020735430067bfc030e80347f064716a948f7ea95528381ab9a", + "0xfc0f08d1d78d1ec7d688ec881e1b354883416d406d8b4841f6b01eded70b793b": + "0x31b1e90205d618eb06a4f239a4ca0145006a44e835ab311ffaa65d4229d9205c", + "0xaf882a01564108c11b31389b08f47c7e6056ece88a4475deb97e8f71ed43e5a3": + "0x2afef1c436a2d3c4d24c963f4e0a1bdfb923eb126682b3edb37211daf4108835", + }, + manta: { + "0xba73560e6edd28aec7a75d620d8731c0e9431c060ea64742d5b031fd274f857b": + "0xbee40813a35f0260b8102420c599ce91f6effbc6cd3fd695fd92bec00c6ee418", + "0xe1ee3cbbc60a6a7b4bbf4cbeb75b0961a7e2f8ae7f5536095b198714bc13de1f": + "0xf9fd35db2dba9ae42c97d1da8a44319fc7e79c7ae82d876553c1f25eb05d5d85", + }, + + zksync: { + "0x5e49f4665992a9c38df5891f985577c1263b5dcc10bacf8219feefcd6cbd32e7": + "0x2ed7112c52ab33e4d0002f14febb55fc9effbec58e614a040af903285b905d4e", + }, + optimism: { + "0x937740290f0ee86837bdb3e5d9de5918a9621ee925ea812c503efe3e45f032ed": + "0x691f31874152c094f1a58088ff94a1043b5906deebc73f0df21689442edb1f2b", + "0x3e93f75bd988f01385c1ab1aa09f30e48080bd1ca919a3bc037eb4725444057b": + "0x16975273085baf6f1cc86db90293e21aba15c05d7ce45953fd87529b7c7d44e5", + "0x9dda881e50c21f7c0b321a9a031feda55954ec63951bcbac1d4cebcf87d393b6": + "0xf054c7f2e136f510f31579502ed78ad58a111163510adf671eb32566fde259b4", + "0x83785d568f057fe612168769d88d58de43c390682a06a26eab76c013b8861190": + "0x0a50f0afc3253d8d9107abd5ee5ce7edcabb0781df9b70e97466787e2619220d", + "0x72d45323fd8c6256c252865b2ffbfb5363adcdf599cd5d6ecc0b370602dc77cf": + "0x3793acfc1188c4a206df053fd31ee48109b6ef02346cd22ed1f34cb4287ca2c2", + }, +}; diff --git a/store/zksync/failedDepositHistory.ts b/store/zksync/failedDepositHistory.ts index 413597f55..6ee6c7c65 100644 --- a/store/zksync/failedDepositHistory.ts +++ b/store/zksync/failedDepositHistory.ts @@ -41,25 +41,39 @@ export const useFailedDepositHistoryStore = defineStore("failedDepositHistory", const network = zkSyncNetworks.find((item) => item.key === networkKey); if (!network) throw new Error("Invalid networ key: " + networkKey); const publicClient = onboardStore.getPublicClient(network.l1Network?.id); - const [symbol, decimals] = await Promise.all([ - publicClient?.readContract({ - abi: erc20Abi, - address: token, - functionName: "symbol", - args: [], - }), - publicClient?.readContract({ - abi: erc20Abi, - address: token, - functionName: "decimals", - args: [], - }), - ]); + let _symbol = "", + _decimals = 18; + try { + const [symbol, decimals] = await Promise.all([ + publicClient?.readContract({ + abi: erc20Abi, + address: token, + functionName: "symbol", + args: [], + }), + publicClient?.readContract({ + abi: erc20Abi, + address: token, + functionName: "decimals", + args: [], + }), + ]); + _symbol = symbol ?? ""; + _decimals = decimals ?? 18; + } catch (e) { + console.log(e); + if (token === "0xBBeB516fb02a01611cBBE0453Fe3c580D7281011") { + // special case for WBTC + _symbol = "WBTC"; + _decimals = 8; + } + } + return { address: token, - symbol: symbol!, + symbol: _symbol!, amount, - decimals: decimals!, + decimals: _decimals!, l2Address: "", }; }; @@ -105,7 +119,7 @@ export const useFailedDepositHistoryStore = defineStore("failedDepositHistory", hash: tx.hash, amount, token, - networkKey: tx.networkKey, + networkKey: tx.networkKey || "primary", }; }) .filter((item) => !!item); From 157453f487d90ccde911e7a206bdbc4f1328f657 Mon Sep 17 00:00:00 2001 From: MickWang <1244134672@qq.com> Date: Tue, 30 Apr 2024 20:06:51 +0800 Subject: [PATCH 9/9] add filter for history --- pages/transfers.vue | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/pages/transfers.vue b/pages/transfers.vue index cce85cd43..c7aab9c8f 100644 --- a/pages/transfers.vue +++ b/pages/transfers.vue @@ -47,7 +47,13 @@ - Completed transfers +
+ Completed transfers +
+ + +
+
@@ -59,7 +65,7 @@ Loading transfers error: {{ recentTransfersRequestError.message }} -
+
@@ -124,6 +130,8 @@ const { } = storeToRefs(transfersHistoryStore); const { failedTransfers } = storeToRefs(failedDepositHistory); +const showDepositsWithdrawalsOnly = ref(true); + console.log("failedTransfers : ", failedTransfers.value); const { destinations } = storeToRefs(useDestinationsStore()); const { userTransactions } = storeToRefs(useZkSyncTransactionStatusStore()); @@ -171,9 +179,11 @@ const actionNotRequiredBridgeTransactions = computed(() => { return recentBridgeOperations.value.filter((e) => !actionRequiredHashes.includes(e.transactionHash)); }); const displayedTransfers = computed(() => { - return transfers.value.filter( - (transfer) => !recentBridgeOperations.value.find((tx) => tx.transactionHash === transfer.transactionHash) - ); + return transfers.value + .filter((transfer) => !recentBridgeOperations.value.find((tx) => tx.transactionHash === transfer.transactionHash)) + .filter((item) => + showDepositsWithdrawalsOnly.value ? item.type === "deposit" || item.type === "withdrawal" : true + ); }); const hasOnlyRecentBridgeOperations = computed(() => { return !displayedTransfers.value.length && recentBridgeOperations.value.length && !recentTransfersRequestError.value; @@ -210,4 +220,12 @@ onBeforeUnmount(() => { }); - +