diff --git a/package.json b/package.json index 5e20ae8e..e76dd757 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,10 @@ "@codemirror/lang-markdown": "6.0.5", "@codemirror/language": "6.3.1", "@codemirror/state": "6.1.4", - "@codemirror/view": "6.6.0", + "@codemirror/view": "6.7.0", "@emoji-mart/data": "1.0.8", "@emoji-mart/react": "1.0.1", - "@floating-ui/react-dom-interactions": "0.13.0", + "@floating-ui/react-dom-interactions": "0.13.3", "@headlessui/react": "1.7.4", "@heroicons/react": "2.0.13", "@iconify-json/akar-icons": "1.1.10", @@ -34,13 +34,13 @@ "@tanstack/react-query": "4.19.1", "@tanstack/react-query-devtools": "4.19.1", "@tanstack/react-query-persist-client": "4.19.1", - "@uiw/codemirror-extensions-events": "4.17.1", - "@uiw/react-codemirror": "4.17.1", + "@uiw/codemirror-extensions-events": "4.19.1", + "@uiw/react-codemirror": "4.19.1", "@urql/core": "3.0.5", - "axios": "1.2.0", + "axios": "1.2.1", "clsx": "1.2.1", - "crossbell.js": "0.11.5", - "dayjs": "1.11.6", + "crossbell.js": "0.13.0", + "dayjs": "1.11.7", "dotenv": "16.0.3", "emoji-mart": "5.3.3", "ethers": "5.7.2", @@ -66,6 +66,7 @@ "react-sortablejs": "6.1.4", "refractor": "4.8.0", "rehype-autolink-headings": "6.1.1", + "rehype-infer-description-meta": "^1.1.0", "rehype-katex": "^6.0.2", "rehype-prism-plus": "1.5.0", "rehype-raw": "6.1.1", @@ -90,7 +91,7 @@ "use-onclickoutside": "0.4.1", "uuid": "9.0.0", "wagmi": "0.8.10", - "zustand": "4.1.4" + "zustand": "4.1.5" }, "devDependencies": { "@iconify-json/bi": "1.1.12", @@ -100,11 +101,12 @@ "@iconify-json/mdi": "1.1.36", "@next/bundle-analyzer": "13.0.6", "@playwright/test": "1.28.1", + "@tailwindcss/line-clamp": "^0.4.2", "@types/cookie": "0.5.1", "@types/hast": "2.3.4", "@types/js-yaml": "4.0.5", "@types/mjml": "4.7.0", - "@types/node": "18.11.10", + "@types/node": "18.11.11", "@types/prismjs": "1.26.0", "@types/react": "18.0.26", "@types/react-dom": "18.0.9", @@ -117,18 +119,18 @@ "@unocss/preset-icons": "0.47.5", "autoprefixer": "10.4.13", "cross-spawn": "7.0.3", - "esbuild": "0.15.18", + "esbuild": "0.16.2", "esbuild-register": "3.4.1", "eslint": "8.29.0", "eslint-config-next": "13.0.6", "husky": "8.0.2", "lint-staged": "13.1.0", - "postcss-import": "15.0.1", - "prettier": "2.8.0", + "postcss-import": "15.1.0", + "prettier": "2.8.1", "tailwindcss": "3.2.4", - "typescript": "4.9.3", + "typescript": "4.9.4", "unocss": "0.47.5", - "vitest": "0.25.3" + "vitest": "0.25.6" }, "engines": { "node": ">=14" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 302b9b3f..b3083bdf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,10 +5,10 @@ specifiers: '@codemirror/lang-markdown': 6.0.5 '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@emoji-mart/data': 1.0.8 '@emoji-mart/react': 1.0.1 - '@floating-ui/react-dom-interactions': 0.13.0 + '@floating-ui/react-dom-interactions': 0.13.3 '@headlessui/react': 1.7.4 '@heroicons/react': 2.0.13 '@iconify-json/akar-icons': 1.1.10 @@ -22,6 +22,7 @@ specifiers: '@next/bundle-analyzer': 13.0.6 '@playwright/test': 1.28.1 '@rainbow-me/rainbowkit': 0.8.0 + '@tailwindcss/line-clamp': ^0.4.2 '@tanstack/react-query': 4.19.1 '@tanstack/react-query-devtools': 4.19.1 '@tanstack/react-query-persist-client': 4.19.1 @@ -29,7 +30,7 @@ specifiers: '@types/hast': 2.3.4 '@types/js-yaml': 4.0.5 '@types/mjml': 4.7.0 - '@types/node': 18.11.10 + '@types/node': 18.11.11 '@types/prismjs': 1.26.0 '@types/react': 18.0.26 '@types/react-dom': 18.0.9 @@ -38,20 +39,20 @@ specifiers: '@types/sortablejs': 1.15.0 '@types/ua-parser-js': 0.7.36 '@types/uuid': 9.0.0 - '@uiw/codemirror-extensions-events': 4.17.1 - '@uiw/react-codemirror': 4.17.1 + '@uiw/codemirror-extensions-events': 4.19.1 + '@uiw/react-codemirror': 4.19.1 '@unocss/cli': 0.47.5 '@unocss/preset-icons': 0.47.5 '@urql/core': 3.0.5 autoprefixer: 10.4.13 - axios: 1.2.0 + axios: 1.2.1 clsx: 1.2.1 cross-spawn: 7.0.3 - crossbell.js: 0.11.5 - dayjs: 1.11.6 + crossbell.js: 0.13.0 + dayjs: 1.11.7 dotenv: 16.0.3 emoji-mart: 5.3.3 - esbuild: 0.15.18 + esbuild: 0.16.2 esbuild-register: 3.4.1 eslint: 8.29.0 eslint-config-next: 13.0.6 @@ -70,8 +71,8 @@ specifiers: nextjs-progressbar: 0.0.16 nodejieba: 2.6.0 pinyin: 3.0.0-alpha.5 - postcss-import: 15.0.1 - prettier: 2.8.0 + postcss-import: 15.1.0 + prettier: 2.8.1 prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0 @@ -82,6 +83,7 @@ specifiers: react-sortablejs: 6.1.4 refractor: 4.8.0 rehype-autolink-headings: 6.1.1 + rehype-infer-description-meta: ^1.1.0 rehype-katex: ^6.0.2 rehype-prism-plus: 1.5.0 rehype-raw: 6.1.1 @@ -100,7 +102,7 @@ specifiers: sharp: 0.31.2 sortablejs: 1.15.0 tailwindcss: 3.2.4 - typescript: 4.9.3 + typescript: 4.9.4 unidata.js: 0.7.9 unified: 10.1.2 unist-builder: 3.0.0 @@ -108,19 +110,19 @@ specifiers: unocss: 0.47.5 use-onclickoutside: 0.4.1 uuid: 9.0.0 - vitest: 0.25.3 + vitest: 0.25.6 wagmi: 0.8.10 - zustand: 4.1.4 + zustand: 4.1.5 dependencies: '@codemirror/commands': 6.1.2 '@codemirror/lang-markdown': 6.0.5 '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@emoji-mart/data': 1.0.8 '@emoji-mart/react': 1.0.1_flkxl6spvtjvsiujs6a55ujlt4 - '@floating-ui/react-dom-interactions': 0.13.0_ib3m5ricvtkl2cll7qpr2f6lvq + '@floating-ui/react-dom-interactions': 0.13.3_ib3m5ricvtkl2cll7qpr2f6lvq '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y '@heroicons/react': 2.0.13_react@18.2.0 '@iconify-json/akar-icons': 1.1.10 @@ -130,13 +132,13 @@ dependencies: '@tanstack/react-query': 4.19.1_biqbaboplfbrettd7655fr4n2y '@tanstack/react-query-devtools': 4.19.1_xnkyuugmv5unvdsxvtkktqsuae '@tanstack/react-query-persist-client': 4.19.1_tbzjkhe5jt5eajidrzbcozbyna - '@uiw/codemirror-extensions-events': 4.17.1_@codemirror+view@6.6.0 - '@uiw/react-codemirror': 4.17.1_yq6aeky74yow54yayh2dxuj2iu + '@uiw/codemirror-extensions-events': 4.19.1_@codemirror+view@6.7.0 + '@uiw/react-codemirror': 4.19.1_hyb5to5u4twfhgokb4qeeija2e '@urql/core': 3.0.5 - axios: 1.2.0 + axios: 1.2.1 clsx: 1.2.1 - crossbell.js: 0.11.5 - dayjs: 1.11.6 + crossbell.js: 0.13.0 + dayjs: 1.11.7 dotenv: 16.0.3 emoji-mart: 5.3.3 ethers: 5.7.2 @@ -162,6 +164,7 @@ dependencies: react-sortablejs: 6.1.4_pkvhgat2fktt3g4eqjjiisgkie refractor: 4.8.0 rehype-autolink-headings: 6.1.1 + rehype-infer-description-meta: 1.1.0 rehype-katex: 6.0.2 rehype-prism-plus: 1.5.0 rehype-raw: 6.1.1 @@ -185,8 +188,8 @@ dependencies: unist-util-visit: 4.1.1 use-onclickoutside: 0.4.1_kzbn2opkn2327fwg5yzwzya5o4 uuid: 9.0.0 - wagmi: 0.8.10_j2ypj35ch2jv6b3hllmh4dxtwm - zustand: 4.1.4_react@18.2.0 + wagmi: 0.8.10_5fkdkfy2bkgsnhvxgn477z7iae + zustand: 4.1.5_react@18.2.0 devDependencies: '@iconify-json/bi': 1.1.12 @@ -196,11 +199,12 @@ devDependencies: '@iconify-json/mdi': 1.1.36 '@next/bundle-analyzer': 13.0.6 '@playwright/test': 1.28.1 + '@tailwindcss/line-clamp': 0.4.2_tailwindcss@3.2.4 '@types/cookie': 0.5.1 '@types/hast': 2.3.4 '@types/js-yaml': 4.0.5 '@types/mjml': 4.7.0 - '@types/node': 18.11.10 + '@types/node': 18.11.11 '@types/prismjs': 1.26.0 '@types/react': 18.0.26 '@types/react-dom': 18.0.9 @@ -213,18 +217,18 @@ devDependencies: '@unocss/preset-icons': 0.47.5 autoprefixer: 10.4.13 cross-spawn: 7.0.3 - esbuild: 0.15.18 - esbuild-register: 3.4.1_esbuild@0.15.18 + esbuild: 0.16.2 + esbuild-register: 3.4.1_esbuild@0.16.2 eslint: 8.29.0 - eslint-config-next: 13.0.6_s5ps7njkmjlaqajutnox5ntcla + eslint-config-next: 13.0.6_ha6vam6werchizxrnqvarmz2zu husky: 8.0.2 lint-staged: 13.1.0 - postcss-import: 15.0.1 - prettier: 2.8.0 + postcss-import: 15.1.0 + prettier: 2.8.1 tailwindcss: 3.2.4 - typescript: 4.9.3 + typescript: 4.9.4 unocss: 0.47.5 - vitest: 0.25.3 + vitest: 0.25.6 packages: @@ -376,7 +380,7 @@ packages: existy: 1.0.1 dev: false - /@codemirror/autocomplete/6.3.0_xkwvwavnzzuyb7bguz2mizf7fa: + /@codemirror/autocomplete/6.3.0_6wy7yn4vbztuapkozdtrcrhbiu: resolution: {integrity: sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==} peerDependencies: '@codemirror/language': ^6.0.0 @@ -386,11 +390,11 @@ packages: dependencies: '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 dev: false - /@codemirror/autocomplete/6.3.4_4npvozs3agsv66jx2b7pfvr53q: + /@codemirror/autocomplete/6.3.4_xho5z7vebvnwbrancz7lieaqzy: resolution: {integrity: sha512-irxKsTSjS0OkfMWWt9YxtNK97++/E+XIHfKnRpSVfZyHzda/amYF0BR+T8mMkrGQWidx2zApxHx08GT13egyQA==} peerDependencies: '@codemirror/language': ^6.0.0 @@ -399,7 +403,7 @@ packages: dependencies: '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.2 dev: false @@ -408,14 +412,14 @@ packages: dependencies: '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 dev: false - /@codemirror/lang-css/6.0.1_vfii4yopek4gsybnjjfd6uwep4: + /@codemirror/lang-css/6.0.1_sccsm7nerpkx3vc752w4p4k4fy: resolution: {integrity: sha512-rlLq1Dt0WJl+2epLQeAsfqIsx3lGu4HStHCJu95nGGuz2P2fNugbU3dQYafr2VRjM4eMC9HviI6jvS98CNtG5w==} dependencies: - '@codemirror/autocomplete': 6.3.0_xkwvwavnzzuyb7bguz2mizf7fa + '@codemirror/autocomplete': 6.3.0_6wy7yn4vbztuapkozdtrcrhbiu '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 '@lezer/css': 1.0.1 @@ -427,12 +431,12 @@ packages: /@codemirror/lang-html/6.1.3: resolution: {integrity: sha512-LmtIElopGK6bBfddAyjBitS6hz8nFr/PVUtvqmfomXlHB4m+Op2d5eGk/X9/CSby6Y8NqXXkGa3yDd9lfJ6Qlg==} dependencies: - '@codemirror/autocomplete': 6.3.0_xkwvwavnzzuyb7bguz2mizf7fa - '@codemirror/lang-css': 6.0.1_vfii4yopek4gsybnjjfd6uwep4 + '@codemirror/autocomplete': 6.3.0_6wy7yn4vbztuapkozdtrcrhbiu + '@codemirror/lang-css': 6.0.1_sccsm7nerpkx3vc752w4p4k4fy '@codemirror/lang-javascript': 6.1.1 '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 '@lezer/html': 1.0.1 dev: false @@ -440,11 +444,11 @@ packages: /@codemirror/lang-javascript/6.1.1: resolution: {integrity: sha512-F4+kiuC5d5dUSJmff96tJQwpEXs/tX/4bapMRnZWW6bHKK1Fx6MunTzopkCUWRa9bF87GPmb9m7Qtg7Yv8f3uQ==} dependencies: - '@codemirror/autocomplete': 6.3.0_xkwvwavnzzuyb7bguz2mizf7fa + '@codemirror/autocomplete': 6.3.0_6wy7yn4vbztuapkozdtrcrhbiu '@codemirror/language': 6.3.1 '@codemirror/lint': 6.0.0 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 '@lezer/javascript': 1.0.2 dev: false @@ -455,7 +459,7 @@ packages: '@codemirror/lang-html': 6.1.3 '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 '@lezer/markdown': 1.0.2 dev: false @@ -464,7 +468,7 @@ packages: resolution: {integrity: sha512-MK+G1QKaGfSEUg9YEFaBkMBI6j1ge4VMBPZv9fDYotw7w695c42x5Ba1mmwBkesYnzYFBfte6Hh9TDcKa6xORQ==} dependencies: '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/common': 1.0.1 '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 @@ -475,7 +479,7 @@ packages: resolution: {integrity: sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==} dependencies: '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 crelt: 1.0.5 dev: false @@ -483,7 +487,7 @@ packages: resolution: {integrity: sha512-mdvDQrjRmYPvQ3WrzF6Ewaao+NWERYtpthJvoQ3tK3t/44Ynhk8ZGjTSL9jMEv8CgSMogmt75X8ceOZRDSXHtQ==} dependencies: '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 crelt: 1.0.5 dev: false @@ -491,7 +495,7 @@ packages: resolution: {integrity: sha512-V9n9233lopQhB1dyjsBK2Wc1i+8hcCqxl1wQ46c5HWWLePoe4FluV3TGHoZ04rBRlGjNyz9DTmpJErig8UE4jw==} dependencies: '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 crelt: 1.0.5 dev: false @@ -504,12 +508,12 @@ packages: dependencies: '@codemirror/language': 6.3.1 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 '@lezer/highlight': 1.1.3 dev: false - /@codemirror/view/6.6.0: - resolution: {integrity: sha512-40VaFVZI3rkyjO5GHFAbNwaW+YgZexjKyx5gxLU2DvfuXAEZX0kW0apOXb0SBRLnKIQJ+U/n2nPfxgBVFHERrg==} + /@codemirror/view/6.7.0: + resolution: {integrity: sha512-sI3CngHQlguxAquc2oZ4sMFDgTJiCnKkRcFmw5apqcnNLvQfQtEDIlYvCVl1adJ6UV7ZUV9wOdqkeJ8kz2+5gg==} dependencies: '@codemirror/state': 6.1.4 style-mod: 4.0.0 @@ -573,6 +577,96 @@ packages: dev: true optional: true + /@esbuild/android-arm/0.16.2: + resolution: {integrity: sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.16.2: + resolution: {integrity: sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.16.2: + resolution: {integrity: sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.16.2: + resolution: {integrity: sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.16.2: + resolution: {integrity: sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.16.2: + resolution: {integrity: sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.16.2: + resolution: {integrity: sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.16.2: + resolution: {integrity: sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.16.2: + resolution: {integrity: sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.16.2: + resolution: {integrity: sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -582,6 +676,114 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.16.2: + resolution: {integrity: sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.16.2: + resolution: {integrity: sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.16.2: + resolution: {integrity: sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.16.2: + resolution: {integrity: sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.16.2: + resolution: {integrity: sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.16.2: + resolution: {integrity: sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.16.2: + resolution: {integrity: sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.16.2: + resolution: {integrity: sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.16.2: + resolution: {integrity: sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.16.2: + resolution: {integrity: sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.16.2: + resolution: {integrity: sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.16.2: + resolution: {integrity: sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint/eslintrc/1.3.3: resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -914,18 +1116,18 @@ packages: '@ethersproject/strings': 5.7.0 dev: false - /@floating-ui/core/1.0.2: - resolution: {integrity: sha512-Skfy0YS3NJ5nV9us0uuPN0HDk1Q4edljaOhRBJGDWs9EBa7ZVMYBHRFlhLvvmwEoaIM9BlH6QJFn9/uZg0bACg==} + /@floating-ui/core/1.0.4: + resolution: {integrity: sha512-FPFLbg2b06MIw1dqk2SOEMAMX3xlrreGjcui5OTxfBDtaKTmh0kioOVjT8gcfl58juawL/yF+S+gnq8aUYQx/Q==} dev: false - /@floating-ui/dom/1.0.7: - resolution: {integrity: sha512-6RsqvCYe0AYWtsGvuWqCm7mZytnXAZCjWtsWu1Kg8dI3INvj/DbKlDsZO+mKSaQdPT12uxIW9W2dAWJkPx4Y5g==} + /@floating-ui/dom/1.0.9: + resolution: {integrity: sha512-nF9P6/BoARdt+h+CdUW3td4EUVngeDONCGuzRgnZveRZiJETx63cxhinE0JaPPC2tbcdTY9IGZocS5/7ag3xRg==} dependencies: - '@floating-ui/core': 1.0.2 + '@floating-ui/core': 1.0.4 dev: false - /@floating-ui/react-dom-interactions/0.13.0_ib3m5ricvtkl2cll7qpr2f6lvq: - resolution: {integrity: sha512-R+jXsv3eJ8LQn879NMO9ONvk9Hy0XQiPvBWK+wdWADZsrvu7FmmlSq5xG/qid745g+uNs3xvhf+lNnCIlEZpEA==} + /@floating-ui/react-dom-interactions/0.13.3_ib3m5ricvtkl2cll7qpr2f6lvq: + resolution: {integrity: sha512-AnCW06eIZxzD/Hl1Qbi2JkQRU5KpY7Dn81k3xRfbvs+HylhB+t3x88/GNKLK39mMTlJ/ylxm5prUpiLrTWvifQ==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -945,7 +1147,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.0.7 + '@floating-ui/dom': 1.0.9 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false @@ -1545,7 +1747,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 playwright-core: 1.28.1 dev: true @@ -1571,7 +1773,7 @@ packages: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-remove-scroll: 2.5.4_kzbn2opkn2327fwg5yzwzya5o4 - wagmi: 0.8.10_j2ypj35ch2jv6b3hllmh4dxtwm + wagmi: 0.8.10_5fkdkfy2bkgsnhvxgn477z7iae transitivePeerDependencies: - '@types/react' dev: false @@ -1635,6 +1837,14 @@ packages: tslib: 2.4.1 dev: false + /@tailwindcss/line-clamp/0.4.2_tailwindcss@3.2.4: + resolution: {integrity: sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==} + peerDependencies: + tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + dependencies: + tailwindcss: 3.2.4 + dev: true + /@tanstack/match-sorter-utils/8.7.0: resolution: {integrity: sha512-OgfIPMHTfuw9JGcXCCoEHWFP/eSP2eyhCYwkrFnWBM3NbUPAgOlFP11DbM7cozDRVB0XbPr1tD4pLAtWKlVUVg==} engines: {node: '>=12'} @@ -1711,13 +1921,13 @@ packages: /@types/bn.js/4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false /@types/bn.js/5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false /@types/chai-subset/1.3.3: @@ -1733,7 +1943,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false /@types/cookie/0.5.1: @@ -1807,8 +2017,8 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: false - /@types/node/18.11.10: - resolution: {integrity: sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==} + /@types/node/18.11.11: + resolution: {integrity: sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g==} /@types/nprogress/0.2.0: resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} @@ -1826,7 +2036,7 @@ packages: /@types/pbkdf2/3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false /@types/prismjs/1.26.0: @@ -1866,7 +2076,7 @@ packages: /@types/secp256k1/4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false /@types/sortablejs/1.15.0: @@ -1886,10 +2096,10 @@ packages: /@types/ws/7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 dev: false - /@typescript-eslint/parser/5.45.0_s5ps7njkmjlaqajutnox5ntcla: + /@typescript-eslint/parser/5.45.0_ha6vam6werchizxrnqvarmz2zu: resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1901,10 +2111,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.45.0 '@typescript-eslint/types': 5.45.0 - '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.3 + '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.4 debug: 4.3.4 eslint: 8.29.0 - typescript: 4.9.3 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true @@ -1922,7 +2132,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.45.0_typescript@4.9.3: + /@typescript-eslint/typescript-estree/5.45.0_typescript@4.9.4: resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1937,8 +2147,8 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true @@ -1951,33 +2161,33 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@uiw/codemirror-extensions-basic-setup/4.17.1_ybcflbyhawajmhxyjkt3qspxdm: - resolution: {integrity: sha512-lFH3gFPcpKDckaioYL2KonTYeeoP7gGtaDtDai7DV5UVEyuVPlkGukKCmHz6u0ol/Krs/RTbF4ylt8cDlBT1uA==} + /@uiw/codemirror-extensions-basic-setup/4.19.1_qcb7tv5t4cqzjjjodkykbg5gqu: + resolution: {integrity: sha512-IqNuCj0qBYUYUP3q6SiudyT7jlVJMbKGkXevHXCkYy0obXAD/mcc5WIZSgRxXnBhSWg4nm7t1gDWqMER8JYV2Q==} peerDependencies: '@codemirror/commands': '>=6.0.0' '@codemirror/language': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.3.4_4npvozs3agsv66jx2b7pfvr53q + '@codemirror/autocomplete': 6.3.4_xho5z7vebvnwbrancz7lieaqzy '@codemirror/commands': 6.1.2 '@codemirror/language': 6.3.1 '@codemirror/lint': 6.1.0 '@codemirror/search': 6.2.3 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 dev: false - /@uiw/codemirror-extensions-events/4.17.1_@codemirror+view@6.6.0: - resolution: {integrity: sha512-X/qB0Mgza4RbNMJ3GElC/QYRLTOUxq0DdCgnCrrWU+DCfpYVdjfz505RwSli1kcsHJEqhrKQV5eo6Yg1jy8+MQ==} + /@uiw/codemirror-extensions-events/4.19.1_@codemirror+view@6.7.0: + resolution: {integrity: sha512-tdKr15P4meWERGlbegjt4Pl+1RGZlW+b6466G1szGDPkwh5B85u7Kei4P0MyD/FH5XqCKd0ZlO49hc1AZAYlzQ==} peerDependencies: '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 dev: false - /@uiw/react-codemirror/4.17.1_yq6aeky74yow54yayh2dxuj2iu: - resolution: {integrity: sha512-ah7wFhvVW/uKbQR5D12AqDK51XGZaZI1WYO9/sraZzq32TGphL5BU3vcQd1P0YEZR6YLc23+KWNi2DCQ+EEAbA==} + /@uiw/react-codemirror/4.19.1_hyb5to5u4twfhgokb4qeeija2e: + resolution: {integrity: sha512-5lvmYxaTCby2FckwtTtNbNffE6ZWq72qAgkyY/zzO6w5vU7jFiF1Q4pNdbgKcroIY6RArTHN/b1MwnT9BsEQpg==} peerDependencies: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' @@ -1988,8 +2198,8 @@ packages: '@codemirror/commands': 6.1.2 '@codemirror/state': 6.1.4 '@codemirror/theme-one-dark': 6.1.0 - '@codemirror/view': 6.6.0 - '@uiw/codemirror-extensions-basic-setup': 4.17.1_ybcflbyhawajmhxyjkt3qspxdm + '@codemirror/view': 6.7.0 + '@uiw/codemirror-extensions-basic-setup': 4.19.1_qcb7tv5t4cqzjjjodkykbg5gqu codemirror: 6.0.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -2208,7 +2418,7 @@ packages: '@vanilla-extract/css': 1.9.1 dev: false - /@wagmi/core/0.7.9_5hvgmjn74qcngqzwitileagqei: + /@wagmi/core/0.7.9_6s3hhsgcetktvjvubhzqo5q72u: resolution: {integrity: sha512-97KCELUP5Q1AagRyE7SmpLh4/v3xdcy/XMbybLvvtQbgmi3y5oEzy4h/wJMY1hEZlmicqyWZAHHm6xIr1tP5HA==} peerDependencies: '@coinbase/wallet-sdk': '>=3.3.0' @@ -2222,10 +2432,10 @@ packages: dependencies: '@coinbase/wallet-sdk': 3.6.2 '@walletconnect/ethereum-provider': 1.8.0 - abitype: 0.1.8_typescript@4.9.3 + abitype: 0.1.8_typescript@4.9.4 ethers: 5.7.2 eventemitter3: 4.0.7 - zustand: 4.1.4_react@18.2.0 + zustand: 4.1.5_react@18.2.0 transitivePeerDependencies: - immer - react @@ -2448,13 +2658,13 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /abitype/0.1.8_typescript@4.9.3: + /abitype/0.1.8_typescript@4.9.4: resolution: {integrity: sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==} engines: {pnpm: '>=7'} peerDependencies: typescript: '>=4.7.4' dependencies: - typescript: 4.9.3 + typescript: 4.9.4 dev: false /acorn-jsx/5.3.2_acorn@8.8.1: @@ -2755,8 +2965,8 @@ packages: - debug dev: false - /axios/1.2.0: - resolution: {integrity: sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==} + /axios/1.2.1: + resolution: {integrity: sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -2838,6 +3048,10 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false + /bcp-47-match/2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + dev: false + /bech32/1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} dev: false @@ -2893,6 +3107,10 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: false + /boolbase/1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + /borsh/0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} dependencies: @@ -3063,7 +3281,7 @@ packages: dependencies: assertion-error: 1.1.0 check-error: 1.0.2 - deep-eql: 4.1.2 + deep-eql: 4.1.3 get-func-name: 2.0.0 loupe: 2.3.6 pathval: 1.1.1 @@ -3222,13 +3440,13 @@ packages: /codemirror/6.0.1: resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.3.4_4npvozs3agsv66jx2b7pfvr53q + '@codemirror/autocomplete': 6.3.4_xho5z7vebvnwbrancz7lieaqzy '@codemirror/commands': 6.1.2 '@codemirror/language': 6.3.1 '@codemirror/lint': 6.1.0 '@codemirror/search': 6.2.3 '@codemirror/state': 6.1.4 - '@codemirror/view': 6.6.0 + '@codemirror/view': 6.7.0 dev: false /color-convert/1.9.3: @@ -3427,6 +3645,27 @@ packages: - utf-8-validate dev: false + /crossbell.js/0.13.0: + resolution: {integrity: sha512-klynV3ocDhYO52h499ZX+OTGS0P3/6A+WUh7j02przsmC/cPei7SEFLzQIiN5e1tnTTrl26CKFB9A00opC36tg==} + dependencies: + async-retry: 1.3.3 + ethers: 5.7.2 + fetch-undici: 3.0.1 + is-ipfs: 6.0.2 + query-string: 7.1.3 + ts-mixer: 6.0.2 + web3-providers-ws: 1.8.1 + transitivePeerDependencies: + - bufferutil + - node-fetch + - supports-color + - utf-8-validate + dev: false + + /css-selector-parser/1.4.1: + resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} + dev: false + /css-tree/2.3.0: resolution: {integrity: sha512-1rg0LiK2MFi4R3/lVvnRokEWTZb30ljSAe5x+0HHkZ+OqZaAeiP8g8Eh91VmkyCtQn9vMgQRiaTDYgLBt+2Qyw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} @@ -3459,8 +3698,8 @@ packages: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true - /dayjs/1.11.6: - resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} + /dayjs/1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: false /debug/2.6.9: @@ -3523,8 +3762,8 @@ packages: mimic-response: 3.1.0 dev: false - /deep-eql/4.1.2: - resolution: {integrity: sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==} + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} dependencies: type-detect: 4.0.8 @@ -3640,6 +3879,11 @@ packages: path-type: 4.0.0 dev: true + /direction/2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + dev: false + /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true @@ -3975,13 +4219,13 @@ packages: dev: true optional: true - /esbuild-register/3.4.1_esbuild@0.15.18: + /esbuild-register/3.4.1_esbuild@0.16.2: resolution: {integrity: sha512-iCgs88/1wA5dIRx4i65eSjbkgrQQQJGpY6Z1eD2XPlzrSjbgNtfkw2/rfSMzJ4dTtlOD8EZTxrIA3fyYp0FsMA==} peerDependencies: esbuild: '>=0.12 <1' dependencies: debug: 4.3.4 - esbuild: 0.15.18 + esbuild: 0.16.2 transitivePeerDependencies: - supports-color dev: true @@ -4052,6 +4296,36 @@ packages: esbuild-windows-arm64: 0.15.18 dev: true + /esbuild/0.16.2: + resolution: {integrity: sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.16.2 + '@esbuild/android-arm64': 0.16.2 + '@esbuild/android-x64': 0.16.2 + '@esbuild/darwin-arm64': 0.16.2 + '@esbuild/darwin-x64': 0.16.2 + '@esbuild/freebsd-arm64': 0.16.2 + '@esbuild/freebsd-x64': 0.16.2 + '@esbuild/linux-arm': 0.16.2 + '@esbuild/linux-arm64': 0.16.2 + '@esbuild/linux-ia32': 0.16.2 + '@esbuild/linux-loong64': 0.16.2 + '@esbuild/linux-mips64el': 0.16.2 + '@esbuild/linux-ppc64': 0.16.2 + '@esbuild/linux-riscv64': 0.16.2 + '@esbuild/linux-s390x': 0.16.2 + '@esbuild/linux-x64': 0.16.2 + '@esbuild/netbsd-x64': 0.16.2 + '@esbuild/openbsd-x64': 0.16.2 + '@esbuild/sunos-x64': 0.16.2 + '@esbuild/win32-arm64': 0.16.2 + '@esbuild/win32-ia32': 0.16.2 + '@esbuild/win32-x64': 0.16.2 + dev: true + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -4072,7 +4346,7 @@ packages: engines: {node: '>=12'} dev: false - /eslint-config-next/13.0.6_s5ps7njkmjlaqajutnox5ntcla: + /eslint-config-next/13.0.6_ha6vam6werchizxrnqvarmz2zu: resolution: {integrity: sha512-Tfn/0lirhkEuoGxKMtDQNtQuC7P3eHcyUyhIJY/OHtjU9ExHFtcge/Fe8Ou/Jd7DIC71vN3CT72oszVwia71cg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -4083,7 +4357,7 @@ packages: dependencies: '@next/eslint-plugin-next': 13.0.6 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.45.0_s5ps7njkmjlaqajutnox5ntcla + '@typescript-eslint/parser': 5.45.0_ha6vam6werchizxrnqvarmz2zu eslint: 8.29.0 eslint-import-resolver-node: 0.3.6 eslint-import-resolver-typescript: 3.5.2_lt3hqehuojhfcbzgzqfngbtmrq @@ -4091,7 +4365,7 @@ packages: eslint-plugin-jsx-a11y: 6.6.1_eslint@8.29.0 eslint-plugin-react: 7.31.11_eslint@8.29.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.29.0 - typescript: 4.9.3 + typescript: 4.9.4 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -4147,7 +4421,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.45.0_s5ps7njkmjlaqajutnox5ntcla + '@typescript-eslint/parser': 5.45.0_ha6vam6werchizxrnqvarmz2zu debug: 3.2.7 eslint: 8.29.0 eslint-import-resolver-node: 0.3.6 @@ -4166,7 +4440,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.45.0_s5ps7njkmjlaqajutnox5ntcla + '@typescript-eslint/parser': 5.45.0_ha6vam6werchizxrnqvarmz2zu array-includes: 3.1.6 array.prototype.flat: 1.3.1 debug: 2.6.9 @@ -5034,6 +5308,13 @@ packages: web-namespaces: 2.0.1 dev: false + /hast-util-excerpt/1.0.1: + resolution: {integrity: sha512-N7NO08ie0IwJGCRbSkbCUGGlWK5FN80BvYtty+6PEzm14D+gNxR/h+S4ZMqkSFge7yhiFyARPWBGkonuDRNN4w==} + dependencies: + '@types/hast': 2.3.4 + hast-util-truncate: 1.0.1 + dev: false + /hast-util-from-parse5/7.1.0: resolution: {integrity: sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==} dependencies: @@ -5092,6 +5373,27 @@ packages: '@types/hast': 2.3.4 dev: false + /hast-util-select/5.0.2: + resolution: {integrity: sha512-QGN5o7N8gq1BhUX96ApLE8izOXlf+IPkOVGXcp9Dskdd3w0OqZrn6faPAmS0/oVogwJOd0lWFSYmBK75e+030g==} + dependencies: + '@types/hast': 2.3.4 + '@types/unist': 2.0.6 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.2 + css-selector-parser: 1.4.1 + direction: 2.0.1 + hast-util-has-property: 2.0.0 + hast-util-is-element: 2.1.2 + hast-util-to-string: 2.0.0 + hast-util-whitespace: 2.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.1.1 + space-separated-tokens: 2.0.1 + unist-util-visit: 4.1.1 + zwitch: 2.0.2 + dev: false + /hast-util-to-html/8.0.3: resolution: {integrity: sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==} dependencies: @@ -5132,6 +5434,13 @@ packages: unist-util-find-after: 4.0.0 dev: false + /hast-util-truncate/1.0.1: + resolution: {integrity: sha512-7xT0sShgZiDhSn8K/ZTvpUUOdBqZ8ZnyW35pIzFyT9c+3WxDdDr9oMRwwyMZrA5sTdm/Cv/OnPPiMp1Uu+Bf+g==} + dependencies: + '@types/hast': 2.3.4 + micromark-util-character: 1.1.0 + dev: false + /hast-util-whitespace/2.0.0: resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} dev: false @@ -6673,6 +6982,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /not/0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + dev: false + /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -6700,6 +7013,12 @@ packages: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: false + /nth-check/2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + /number-to-bn/1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -7044,8 +7363,8 @@ packages: resolve: 1.22.1 dev: true - /postcss-import/15.0.1: - resolution: {integrity: sha512-UGlvk8EgT7Gm/Ndf9xZHnzr8xm8P54N8CBWLtcY5alP+YxlEge/Rv78etQyevZs3qWTE9If13+Bo6zATBrPOpA==} + /postcss-import/15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 @@ -7154,8 +7473,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.8.0: - resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} + /prettier/2.8.1: + resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -7249,6 +7568,16 @@ packages: strict-uri-encode: 2.0.0 dev: false + /query-string/7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + dev: false + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -7492,6 +7821,18 @@ packages: unist-util-visit: 4.1.1 dev: false + /rehype-infer-description-meta/1.1.0: + resolution: {integrity: sha512-TGGIYo5YpkQuUxTp9niX7/G1+9VCeC1d3O625jTRDZLUybpjfvekTw70M7dg3viUwdAmXXxqe2A8K0eUz1tTCg==} + dependencies: + '@types/hast': 2.3.4 + hast-util-excerpt: 1.0.1 + hast-util-select: 5.0.2 + hast-util-to-text: 3.1.1 + hast-util-truncate: 1.0.1 + unified: 10.1.2 + unist-util-remove-position: 4.0.1 + dev: false + /rehype-katex/6.0.2: resolution: {integrity: sha512-C4gDAlS1+l0hJqctyiU64f9CvT00S03qV1T6HiMzbSuLBgWUtcqydWHY9OpKrm0SpkK16FNd62CDKyWLwV2ppg==} dependencies: @@ -8152,8 +8493,8 @@ packages: engines: {node: '>=8'} dev: true - /strip-literal/0.4.2: - resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} + /strip-literal/1.0.0: + resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==} dependencies: acorn: 8.8.1 dev: true @@ -8404,14 +8745,14 @@ packages: /tslib/2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - /tsutils/3.21.0_typescript@4.9.3: + /tsutils/3.21.0_typescript@4.9.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.3 + typescript: 4.9.4 dev: true /tunnel-agent/0.6.0: @@ -8464,8 +8805,8 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typescript/4.9.3: - resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} + /typescript/4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true @@ -8834,8 +9175,8 @@ packages: vfile-message: 3.1.2 dev: false - /vite/3.2.4_@types+node@18.11.10: - resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + /vite/3.2.5_@types+node@18.11.11: + resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -8859,7 +9200,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.11.10 + '@types/node': 18.11.11 esbuild: 0.15.18 postcss: 8.4.19 resolve: 1.22.1 @@ -8868,8 +9209,8 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.25.3: - resolution: {integrity: sha512-/UzHfXIKsELZhL7OaM2xFlRF8HRZgAHtPctacvNK8H4vOcbJJAMEgbWNGSAK7Y9b1NBe5SeM7VTuz2RsTHFJJA==} + /vitest/0.25.6: + resolution: {integrity: sha512-jdPgmZ7BcDnm1+hmMPIl9BZjSy+b8Y8V0tQMsv7ECO90Qic7EZ5/+traILXLpsXgqK5KgVrUJmchevAUuKL/1w==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -8892,18 +9233,18 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.11.10 + '@types/node': 18.11.11 acorn: 8.8.1 acorn-walk: 8.2.0 chai: 4.3.7 debug: 4.3.4 local-pkg: 0.4.2 source-map: 0.6.1 - strip-literal: 0.4.2 + strip-literal: 1.0.0 tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 3.2.4_@types+node@18.11.10 + vite: 3.2.5_@types+node@18.11.11 transitivePeerDependencies: - less - sass @@ -8917,7 +9258,7 @@ packages: resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} dev: false - /wagmi/0.8.10_j2ypj35ch2jv6b3hllmh4dxtwm: + /wagmi/0.8.10_5fkdkfy2bkgsnhvxgn477z7iae: resolution: {integrity: sha512-svS/Debs6maJX3TlPDXNo+UDfZn8VCHzN2xcMMjPjcu2Z9k2iwFwC0TMLxM1itluzrTcw9n8F8E+f6gb+Aw+EQ==} peerDependencies: ethers: '>=5.5.1' @@ -8927,9 +9268,9 @@ packages: '@tanstack/query-sync-storage-persister': 4.19.1 '@tanstack/react-query': 4.19.1_biqbaboplfbrettd7655fr4n2y '@tanstack/react-query-persist-client': 4.19.1_tbzjkhe5jt5eajidrzbcozbyna - '@wagmi/core': 0.7.9_5hvgmjn74qcngqzwitileagqei + '@wagmi/core': 0.7.9_6s3hhsgcetktvjvubhzqo5q72u '@walletconnect/ethereum-provider': 1.8.0 - abitype: 0.1.8_typescript@4.9.3 + abitype: 0.1.8_typescript@4.9.4 ethers: 5.7.2 react: 18.2.0 use-sync-external-store: 1.2.0_react@18.2.0 @@ -9263,8 +9604,8 @@ packages: engines: {node: '>=10'} dev: true - /zustand/4.1.4_react@18.2.0: - resolution: {integrity: sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==} + /zustand/4.1.5_react@18.2.0: + resolution: {integrity: sha512-PsdRT8Bvq22Yyh1tvpgdHNE7OAeFKqJXUxtJvj1Ixw2B9O2YZ1M34ImQ+xyZah4wZrR4lENMoDUutKPpyXCQ/Q==} engines: {node: '>=12.7.0'} peerDependencies: immer: '>=9.0' diff --git a/src/components/dashboard/DashboardLayout.tsx b/src/components/dashboard/DashboardLayout.tsx index b4d543a5..dcfe165f 100644 --- a/src/components/dashboard/DashboardLayout.tsx +++ b/src/components/dashboard/DashboardLayout.tsx @@ -61,7 +61,7 @@ export function DashboardLayout({ if (userSite.isSuccess && subdomain) { if ( !userSite.data?.find((site) => site.username === subdomain) && - !isOperator.data?.data + !isOperator.data ) { router.push("/dashboard") } diff --git a/src/models/site.model.ts b/src/models/site.model.ts index 876ac398..80b25ebf 100644 --- a/src/models/site.model.ts +++ b/src/models/site.model.ts @@ -8,7 +8,7 @@ import { createClient } from "@urql/core" import axios from "axios" import { indexer } from "~/queries/crossbell" import type { LinkEntity, NoteEntity } from "crossbell.js" -import type { Contract } from "crossbell.js" +import type { Contract, CharacterOperatorPermission } from "crossbell.js" export const checkSubdomain = async ({ subdomain, @@ -438,6 +438,12 @@ export async function getNotifications(input: { siteCId: string }) { }) } +const xLogOperatorPermissions: CharacterOperatorPermission[] = [ + "SET_NOTE_URI", + "DELETE_NOTE", + "POST_NOTE", +] + export async function addOperator( input: { characterId: number @@ -446,31 +452,53 @@ export async function addOperator( contract?: Contract, ) { if (input.operator && input.characterId) { - return contract?.addOperator(input.characterId, input.operator) + return contract?.grantOperatorPermissionsForCharacter( + input.characterId, + input.operator, + xLogOperatorPermissions, + ) } } -export async function getOperators( - input: { - characterId?: number - }, - contract?: Contract, -) { +export async function getOperators(input: { characterId?: number }) { if (input.characterId) { - return contract?.getOperators(input.characterId) + const result = await indexer?.getCharacterOperators(input.characterId, { + limit: 100, + }) + result.list = result.list + .filter( + (o) => + o.operator !== "0x0000000000000000000000000000000000000000" && + o.operator !== "0x0f588318a494e4508a121a32b6670b5494ca3357", + ) // remove 0 and xSync + .filter((o) => { + for (const permission of xLogOperatorPermissions) { + if (!o.permissions.includes(permission)) { + return false + } + } + return true + }) + return result } } -export async function isOperators( - input: { - characterId: number - operator: string - }, - contract?: Contract, -) { +export async function isOperators(input: { + characterId: number + operator: string +}) { if (input.characterId) { - return contract?.isOperator(input.characterId, input.operator) + const permissions = + (await indexer?.getCharacterOperator(input.characterId, input.operator)) + ?.permissions || [] + for (const permission of xLogOperatorPermissions) { + if (!permissions.includes(permission)) { + return false + } + } + return true } + return false } export async function removeOperator( @@ -481,7 +509,11 @@ export async function removeOperator( contract?: Contract, ) { if (input.characterId) { - return contract?.removeOperator(input.characterId, input.operator) + return contract?.grantOperatorPermissionsForCharacter( + input.characterId, + input.operator, + [], + ) } } diff --git a/src/pages/dashboard/[subdomain]/settings/general.tsx b/src/pages/dashboard/[subdomain]/settings/general.tsx index 057fb640..b000e7c7 100644 --- a/src/pages/dashboard/[subdomain]/settings/general.tsx +++ b/src/pages/dashboard/[subdomain]/settings/general.tsx @@ -155,7 +155,6 @@ export default function SiteSettingsGeneralPage() { id="description" className="input is-block" rows={2} - help="Support Markdown" {...form.register("description")} /> diff --git a/src/pages/dashboard/[subdomain]/settings/operator.tsx b/src/pages/dashboard/[subdomain]/settings/operator.tsx index f0d23d6f..96a83a02 100644 --- a/src/pages/dashboard/[subdomain]/settings/operator.tsx +++ b/src/pages/dashboard/[subdomain]/settings/operator.tsx @@ -98,7 +98,7 @@ export default function SiteSettingsNavigationPage() { } useEffect(() => { - setItems(operators.data || []) + setItems(operators.data?.list.map((o) => o.operator) || []) }, [operators.data]) const [isOpen, setIsOpen] = useState(false) diff --git a/src/queries/site.ts b/src/queries/site.ts index bef2f5cf..0991ec84 100644 --- a/src/queries/site.ts +++ b/src/queries/site.ts @@ -185,32 +185,25 @@ export const useGetNotifications = (data: { siteCId?: string }) => { export const useGetOperators = ( data: Parameters[0], ) => { - const contract = useContract() return useQuery(["getOperators", data], async () => { if (!data.characterId) { return null } - return (await siteModel.getOperators(data, contract))?.data?.filter( - (operator) => operator !== "0x0000000000000000000000000000000000000000", - ) + return siteModel.getOperators(data) }) } export const useIsOperators = ( data: Partial[0]>, ) => { - const contract = useContract() return useQuery(["isOperators", data], async () => { if (!data.characterId || !data.operator) { return null } - return siteModel.isOperators( - { - characterId: data.characterId, - operator: data.operator, - }, - contract, - ) + return siteModel.isOperators({ + characterId: data.characterId, + operator: data.operator, + }) }) }