From 3b945ba145d8bba4cd34e14ef5476dea1e258758 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 13:58:56 +0300 Subject: [PATCH 01/14] chore: config weavevm --- .../src/SiteAdaptor/components/Terms.tsx | 3 +- packages/plugins/FileService/src/constants.ts | 2 + packages/plugins/FileService/src/helpers.ts | 1 + packages/plugins/FileService/src/types.ts | 1 + pnpm-lock.yaml | 167 ++++++++---------- 5 files changed, 81 insertions(+), 93 deletions(-) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx index 4d3dd4bf70a0..707afa1a7af5 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx @@ -98,7 +98,8 @@ export function Terms() { Web3 File Service is a decentralized storage service provided by Mask Network. It allows users to store files in different decentralized networks. This feature is powered by Mask Network's partner file storage protocols such as IPFS and Arweave. It supports files in PDF, DOC, JPG, - PNG, MP3, MP4 and other formats. At present, the maximum file size is 10 MB. + PNG, MP3, MP4 and other formats. At present, the maximum file size is 10 MB for most providers + and 8 MB for WeaveVM.

You can store files in multiple decentralized networks through the Web3 file service. When diff --git a/packages/plugins/FileService/src/constants.ts b/packages/plugins/FileService/src/constants.ts index e6769bdcc1b6..a76be5ce320f 100644 --- a/packages/plugins/FileService/src/constants.ts +++ b/packages/plugins/FileService/src/constants.ts @@ -3,6 +3,7 @@ export const META_KEY_2 = 'com.maskbook.fileservice:2' export const META_KEY_3 = 'com.maskbook.fileservice:3' export const MAX_FILE_SIZE = 10 * 1000 * 1000 +export const MAX_FILE_SIZE_WEAVEVM = 8 * 1024 * 1024 export const LANDING_PAGE = 'https://files.r2d2.to/partner/arweave/landing-page.html' export const RECOVERY_PAGE = 'https://fileservice.r2d2.to/recover' @@ -19,4 +20,5 @@ export const enum RoutePaths { export const enum Provider { IPFS = 'ipfs', Arweave = 'arweave', + WeaveVM = 'weavevm', } diff --git a/packages/plugins/FileService/src/helpers.ts b/packages/plugins/FileService/src/helpers.ts index f0f10902425e..b6894eeb90ac 100644 --- a/packages/plugins/FileService/src/helpers.ts +++ b/packages/plugins/FileService/src/helpers.ts @@ -45,6 +45,7 @@ const resolveGatewayAPI = createLookupTableResolver( { [Provider.Arweave]: 'https://arweave.net', [Provider.IPFS]: 'https://mask.infura-ipfs.io/ipfs', + [Provider.WeaveVM]: 'https://gateway.wvm.network/bundle', }, () => 'Unknown provider', ) diff --git a/packages/plugins/FileService/src/types.ts b/packages/plugins/FileService/src/types.ts index 407f8e1ca8a1..f167b3e101d7 100644 --- a/packages/plugins/FileService/src/types.ts +++ b/packages/plugins/FileService/src/types.ts @@ -3,6 +3,7 @@ import type { FileFrameProps } from '@masknet/shared' export enum Provider { Arweave = 'arweave', IPFS = 'ipfs', + WeaveVM = 'weavevm', } export interface LandingPageMetadata { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a11f77c9f6d..b5e2202216a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -215,7 +215,7 @@ importers: version: 3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)) eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) + version: 2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) eslint-plugin-lingui: specifier: ^0.10.0 version: 0.10.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) @@ -608,7 +608,7 @@ importers: version: 2.0.0 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.88.2) + version: 6.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) fuse.js: specifier: ^7.0.0 version: 7.0.0 @@ -696,16 +696,16 @@ importers: devDependencies: '@lavamoat/webpack': specifier: 0.8.1-beta.0 - version: 0.8.1-beta.0(webpack@5.88.2) + version: 0.8.1-beta.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) '@nice-labs/emit-file-webpack-plugin': specifier: ^1.1.4 - version: 1.1.4(webpack@5.88.2) + version: 1.1.4(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) '@pmmmwh/react-refresh-webpack-plugin': specifier: ^0.5.15 - version: 0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0)(webpack@5.88.2) + version: 0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) '@rspack/cli': specifier: ^1.2.7 - version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) + version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) '@rspack/core': specifier: ^1.2.7 version: 1.2.7(@swc/helpers@0.5.15) @@ -726,13 +726,13 @@ importers: version: 19.0.0-beta-df7b47d-20241124 copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.88.2) + version: 13.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) devtools-ignore-webpack-plugin: specifier: ^0.2.0 - version: 0.2.0(webpack@5.88.2) + version: 0.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@5.88.2) + version: 5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) react-compiler-webpack: specifier: ^0.1.2 version: 0.1.2(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124) @@ -747,16 +747,16 @@ importers: version: 6.0.1 source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.88.2) + version: 5.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) svgo-loader: specifier: ^4.0.0 version: 4.0.0 swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) + version: 0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) terser-webpack-plugin: specifier: ^5.3.12 - version: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) + version: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) webpack: specifier: Jack-Works/webpack#lazy-import version: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -768,7 +768,7 @@ importers: version: 5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) webpack-target-webextension: specifier: ^2.1.3 - version: 2.1.3(webpack@5.88.2) + version: 2.1.3(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) packages/mask-sdk: devDependencies: @@ -2278,7 +2278,7 @@ importers: devDependencies: '@rspack/cli': specifier: ^1.2.7 - version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) + version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) '@rspack/core': specifier: ^1.2.7 version: 1.2.7(@swc/helpers@0.5.15) @@ -4029,25 +4029,21 @@ packages: resolution: {integrity: sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==} cpu: [arm64] os: [linux] - libc: [glibc] '@dprint/linux-arm64-musl@0.45.1': resolution: {integrity: sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==} cpu: [arm64] os: [linux] - libc: [musl] '@dprint/linux-x64-glibc@0.45.1': resolution: {integrity: sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==} cpu: [x64] os: [linux] - libc: [glibc] '@dprint/linux-x64-musl@0.45.1': resolution: {integrity: sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==} cpu: [x64] os: [linux] - libc: [musl] '@dprint/typescript@0.90.5': resolution: {integrity: sha512-/1aP6saonFvJyQN3l2is6eTOec3GnLGyW+opid/eDm8pnlhwzYl8A9p36pI6WO5jLl/a9Ghod+LWpvSOuXFGUw==} @@ -4962,6 +4958,7 @@ packages: '@lavamoat/webpack@0.8.1-beta.0': resolution: {integrity: sha512-aIXLil9jdaaFPXkHWPDDcBl7w3EASKSIkdR3nXZ8jiPIHvKI+/BBV1VqWh6EVqXLAlqIshZ+mvaw+qnD1S8trw==} + version: 0.8.1-beta.0 engines: {node: ^18.0.0 || ^20.0.0 || ^22.5.1, npm: '>=7.0.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -5523,28 +5520,24 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@napi-rs/image-linux-arm64-musl@1.4.1': resolution: {integrity: sha512-zp5YOfAMf3Wl5Nl872ubB1Yhy/qzR6AHlzyTHvsNQcoeKQSXZeQ0pSeDO78TaoYXtytBF6FHi5DVmuqmz5lxOg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@napi-rs/image-linux-x64-gnu@1.4.1': resolution: {integrity: sha512-Z+4dShhM3kzYhSINT9jd52DCLKUYH23B7tHEuNW6PIl0eCZmgi2lYRawbmA98rFdmAckfFtYEEg4if6HEbyGgQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@napi-rs/image-linux-x64-musl@1.4.1': resolution: {integrity: sha512-wJh76KSVjJXtmsddhsU+lNYqvXMv0wyzSPMFF/zYPryjUeNAWZp3P59OKj2mq8eFK22t17pBxbZb6uru2bFT7A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@napi-rs/image-win32-ia32-msvc@1.4.1': resolution: {integrity: sha512-aB7JDZp1InE6nj25dg2+Xmv2I1aM+nTfI5v9r7dM6VPTByDHo2NtHqCtTeMM5xlpvMcUTwjyrZHwV1WJGZKNtQ==} @@ -5567,6 +5560,7 @@ packages: '@nice-labs/emit-file-webpack-plugin@1.1.4': resolution: {integrity: sha512-yNYzYN6N2wrcoOcxfNgBP7GLVoewfV7vsg4muVLAJdIBQWnXx+t7d/MEp0n3BYhcxH4MEjm6IZ6jDVzFa3zkJw==} + version: 1.1.4 engines: {node: '>= 12'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -5698,25 +5692,21 @@ packages: resolution: {integrity: sha512-8fZ8NszFaUZaoA8eUwkF2lHjgUs76aFiewWgG/cjcZmwKp+ErZQLW8eOvIWZ4SohHQ+ScvhVsSaU2PU38c88gw==} cpu: [arm64] os: [linux] - libc: [glibc] '@oxc-resolver/binding-linux-arm64-musl@1.10.2': resolution: {integrity: sha512-oPrLICrw96Ym9n04FWXWGkbkpF6qJtZ57JSnqI3oQ24xHTt4iWyjHKHQO46NbJAK9sFb3Qce4BzV8faDI5Rifg==} cpu: [arm64] os: [linux] - libc: [musl] '@oxc-resolver/binding-linux-x64-gnu@1.10.2': resolution: {integrity: sha512-eli74jTAUiIfqi8IPFqiPxQS69Alcr6w/IFRyf3XxrkxeFGgcgxJkRIxWNTKJ6T3EXxjuma+49LdZn6l9rEj7A==} cpu: [x64] os: [linux] - libc: [glibc] '@oxc-resolver/binding-linux-x64-musl@1.10.2': resolution: {integrity: sha512-HH9zmjNSQo3rkbqJH5nIjGrtjC+QPrUy0KGGMR/oRCSLuD0cNFJ/Uly1XAugwSm4oEw0+rv6PmeclXmVTKsxhw==} cpu: [x64] os: [linux] - libc: [musl] '@oxc-resolver/binding-wasm32-wasi@1.10.2': resolution: {integrity: sha512-3ItX23q33sfVBtMMdMhVDSe0NX5zBHxHfmFiXhSJuwNaVIwGpLFU7WU2nmq9oNdnmTOvjL8vlhOqiGvumBLlRA==} @@ -5762,35 +5752,30 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-glibc@2.3.0': resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.3.0': resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [musl] '@parcel/watcher-linux-x64-glibc@2.3.0': resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-x64-musl@2.3.0': resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [musl] '@parcel/watcher-wasm@2.3.0': resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} @@ -5837,6 +5822,7 @@ packages: '@pmmmwh/react-refresh-webpack-plugin@0.5.15': resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} + version: 0.5.15 engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x @@ -6042,61 +6028,51 @@ packages: resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.34.9': resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.34.9': resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.34.9': resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.34.9': resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.34.9': resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.34.9': resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.34.9': resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.34.9': resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.34.9': resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} @@ -6127,25 +6103,21 @@ packages: resolution: {integrity: sha512-DTtFBJmgQQrVWjbklpgJDr3kE9Uf1fHsPh+1GVslsBuyn+o4O7JslrnjuVsQCYKoiEg0Lg4ZPQmwnhJLHssZ5A==} cpu: [arm64] os: [linux] - libc: [glibc] '@rspack/binding-linux-arm64-musl@1.2.7': resolution: {integrity: sha512-01/OoQQF9eyDvRKkxj4DzCznfGZIvnzI8qOsrv+M7VBm8FLoKpb3hygXixaGQOXmNL42XTh61qjgm++fBu6aUA==} cpu: [arm64] os: [linux] - libc: [musl] '@rspack/binding-linux-x64-gnu@1.2.7': resolution: {integrity: sha512-lUOAUq0YSsofCXsP6XnlgfH0ZRDZ2X2XqXLXYjqf4xkSxCl5eBmE0EQYjAHF4zjUvU5rVx4a4bDLWv7+t3bOHg==} cpu: [x64] os: [linux] - libc: [glibc] '@rspack/binding-linux-x64-musl@1.2.7': resolution: {integrity: sha512-ZrPXfgT30p4DlydYavaTHiluxHkWvZHt7K4q7qNyTfYYowG6jRGwWi/PATdugNICGv027Wsh5nzEO4o27Iuhwg==} cpu: [x64] os: [linux] - libc: [musl] '@rspack/binding-win32-arm64-msvc@1.2.7': resolution: {integrity: sha512-1OzzM+OUSWX39XYcDfxJ8bGX5vNNrRejCMGotBEdP+uQ3KMWCPz0G4KRc3QIjghaLIYk3ofd83hcfUxyk/2Xog==} @@ -6167,6 +6139,7 @@ packages: '@rspack/cli@1.2.7': resolution: {integrity: sha512-nUUZuwnSEORqPcknhP+gkQh9YZqeOlmFKJA1YRnZ5QQkzugCehV+xzVjO+Ezd8R1CSMpqdAQq7+pFZ8rpaRymA==} + version: 1.2.7 hasBin: true peerDependencies: '@rspack/core': ^1.0.0-alpha || ^1.x @@ -6189,6 +6162,7 @@ packages: '@rspack/dev-server@1.0.10': resolution: {integrity: sha512-iDsEtP0jNHRm4LJxL00QFTlOuqkdxIFxnd69h0KrFadmtxAWiDLIe4vYdZXWF74w4MezsJFx6dB2nUM/Ok8utA==} + version: 1.0.10 engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': '*' @@ -6661,28 +6635,24 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [glibc] '@swc/core-linux-arm64-musl@1.11.7': resolution: {integrity: sha512-cTydaYBwDbVV5CspwVcCp9IevYWpGD1cF5B5KlBdjmBzxxeWyTAJRtKzn8w5/UJe/MfdAptarpqMPIs2f33YEQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [musl] '@swc/core-linux-x64-gnu@1.11.7': resolution: {integrity: sha512-YAX2KfYPlbDsnZiVMI4ZwotF3VeURUrzD+emJgFf1g26F4eEmslldgnDrKybW7V+bObsH22cDqoy6jmQZgpuPQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [glibc] '@swc/core-linux-x64-musl@1.11.7': resolution: {integrity: sha512-mYT6FTDZyYx5pailc8xt6ClS2yjKmP8jNHxA9Ce3K21n5qkKilI5M2N7NShwXkd3Ksw3F29wKrg+wvEMXTRY/A==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@swc/core-win32-arm64-msvc@1.11.7': resolution: {integrity: sha512-uLDQEcv0BHcepypstyxKkNsW6KfLyI5jVxTbcxka+B2UnMcFpvoR87nGt2JYW0grO2SNZPoFz+UnoKL9c6JxpA==} @@ -7590,6 +7560,7 @@ packages: '@webpack-cli/configtest@3.0.1': resolution: {integrity: sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==} + version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -7597,6 +7568,7 @@ packages: '@webpack-cli/info@3.0.1': resolution: {integrity: sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==} + version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -7604,6 +7576,7 @@ packages: '@webpack-cli/serve@3.0.1': resolution: {integrity: sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==} + version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -8793,6 +8766,7 @@ packages: copy-webpack-plugin@13.0.0: resolution: {integrity: sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==} + version: 13.0.0 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -9331,6 +9305,7 @@ packages: devtools-ignore-webpack-plugin@0.2.0: resolution: {integrity: sha512-4P+1Y1VhSt1MRBRF6my8N1bs9nNMOFfIFSBHI6u18W73iCHWXNHTSWYeMoQQ72PIIHrP1q4koKpYg1Em3jb9Rw==} + version: 0.2.0 engines: {node: '>=16.14.2', npm: '>=8.5.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -10179,6 +10154,7 @@ packages: file-loader@6.2.0: resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + version: 6.2.0 engines: {node: '>= 10.13.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -10746,6 +10722,7 @@ packages: html-webpack-plugin@5.6.3: resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + version: 5.6.3 engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -14055,6 +14032,7 @@ packages: source-map-loader@5.0.0: resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==} + version: 5.0.0 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -14392,6 +14370,7 @@ packages: swc-loader@0.2.6: resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} + version: 0.2.6 peerDependencies: '@swc/core': 1.11.7 webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -14427,6 +14406,7 @@ packages: terser-webpack-plugin@5.3.12: resolution: {integrity: sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==} + version: 5.3.12 engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -15486,6 +15466,7 @@ packages: webpack-dev-middleware@7.4.2: resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} + version: 7.4.2 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -15495,6 +15476,7 @@ packages: webpack-dev-server@5.0.4: resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} + version: 5.0.4 engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -15529,6 +15511,7 @@ packages: webpack-target-webextension@2.1.3: resolution: {integrity: sha512-rDNTgo0hdE1p6ayBy92qSRXdfivAqlaFbBOIirqfq/DSVdJvMbZ1yaDlftfzGDkkLlEeAblzl0zcQzTgp1UaKA==} + version: 2.1.3 engines: {node: '>=18.20.5'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -18841,7 +18824,7 @@ snapshots: dependencies: resolve: 1.22.8 - '@lavamoat/webpack@0.8.1-beta.0(webpack@5.88.2)': + '@lavamoat/webpack@0.8.1-beta.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: '@lavamoat/aa': 4.3.1 browser-resolve: 2.0.0 @@ -19797,7 +19780,7 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@nice-labs/emit-file-webpack-plugin@1.1.4(webpack@5.88.2)': + '@nice-labs/emit-file-webpack-plugin@1.1.4(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -20043,7 +20026,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0)(webpack@5.88.2)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.32.1 @@ -20279,11 +20262,11 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.2.7 '@rspack/binding-win32-x64-msvc': 1.2.7 - '@rspack/cli@1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2)': + '@rspack/cli@1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: '@discoveryjs/json-ext': 0.5.7 '@rspack/core': 1.2.7(@swc/helpers@0.5.15) - '@rspack/dev-server': 1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) + '@rspack/dev-server': 1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) colorette: 2.0.20 exit-hook: 4.0.0 interpret: 3.1.1 @@ -20308,7 +20291,7 @@ snapshots: optionalDependencies: '@swc/helpers': 0.5.15 - '@rspack/dev-server@1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2)': + '@rspack/dev-server@1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: '@rspack/core': 1.2.7(@swc/helpers@0.5.15) chokidar: 3.6.0 @@ -20317,8 +20300,8 @@ snapshots: http-proxy-middleware: 2.0.7(@types/express@4.17.21) mime-types: 2.1.35 p-retry: 4.6.2 - webpack-dev-middleware: 7.4.2(webpack@5.88.2) - webpack-dev-server: 5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) + webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + webpack-dev-server: 5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@types/express' @@ -21253,20 +21236,20 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.9 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@types/babel__traverse@7.20.6': dependencies: @@ -22763,17 +22746,17 @@ snapshots: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.88.2)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.88.2)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.0)(webpack@5.88.2)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) @@ -23182,7 +23165,7 @@ snapshots: babel-plugin-jest-hoist@28.1.3: dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -24064,7 +24047,7 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@13.0.0(webpack@5.88.2): + copy-webpack-plugin@13.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 @@ -24690,7 +24673,7 @@ snapshots: dependencies: dequal: 2.0.3 - devtools-ignore-webpack-plugin@0.2.0(webpack@5.88.2): + devtools-ignore-webpack-plugin@0.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -25213,7 +25196,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: @@ -25224,13 +25207,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-i@2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)): + eslint-plugin-i@2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)): dependencies: debug: 4.3.7 doctrine: 3.0.0 eslint: 9.21.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) get-tsconfig: 4.8.1 is-glob: 4.0.3 minimatch: 3.1.2 @@ -25251,7 +25234,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.21.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) has: 1.0.4 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -26019,7 +26002,7 @@ snapshots: dependencies: flat-cache: 5.0.0 - file-loader@6.2.0(webpack@5.88.2): + file-loader@6.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 @@ -26718,7 +26701,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@5.88.2): + html-webpack-plugin@5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -27407,7 +27390,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -27750,10 +27733,10 @@ snapshots: jest-snapshot@28.1.3: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.9 '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.9 '@jest/expect-utils': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 @@ -27771,7 +27754,7 @@ snapshots: jest-util: 28.1.3 natural-compare: 1.4.0 pretty-format: 28.1.3 - semver: 7.6.3 + semver: 7.7.1 transitivePeerDependencies: - supports-color @@ -28343,7 +28326,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.3 + semver: 7.7.1 make-error@1.3.6: {} @@ -30779,7 +30762,7 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.88.2): + source-map-loader@5.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -31142,7 +31125,7 @@ snapshots: - supports-color - utf-8-validate - swc-loader@0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2): + swc-loader@0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: '@swc/core': 1.11.7(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 @@ -31186,7 +31169,7 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2): + terser-webpack-plugin@5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -32441,9 +32424,9 @@ snapshots: webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.88.2) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.88.2) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.0)(webpack@5.88.2) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -32457,7 +32440,7 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) - webpack-dev-middleware@7.4.2(webpack@5.88.2): + webpack-dev-middleware@7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: colorette: 2.0.20 memfs: 4.14.0 @@ -32468,7 +32451,7 @@ snapshots: optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) - webpack-dev-server@5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2): + webpack-dev-server@5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -32498,7 +32481,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.88.2) + webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32536,7 +32519,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.88.2) + webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32555,7 +32538,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack-target-webextension@2.1.3(webpack@5.88.2): + webpack-target-webextension@2.1.3(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32582,7 +32565,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) + terser-webpack-plugin: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From 22015e4089e76e4c229f8c2f891c531b96351f6e Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 16:41:12 +0300 Subject: [PATCH 02/14] chore: config weavevm --- .../FileService/src/SiteAdaptor/components/FileBrowser.tsx | 2 ++ .../FileService/src/SiteAdaptor/components/UploadFile.tsx | 6 ++++++ packages/plugins/FileService/src/Worker/service.ts | 2 ++ 3 files changed, 10 insertions(+) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx index 29ee43e385b6..b08cdfbe6fb0 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx @@ -121,12 +121,14 @@ enum ProviderTabs { All = 'All', IPFS = 'IPFS', Arweave = 'Arweave', + WeaveVM = 'WeaveVM', } const TabToProviderMap: Record = { [ProviderTabs.All]: null, [ProviderTabs.IPFS]: Provider.IPFS, [ProviderTabs.Arweave]: Provider.Arweave, + [ProviderTabs.WeaveVM]: Provider.WeaveVM, } const providers = getEnumAsArray(ProviderTabs) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx index 2298ac2b519e..8059399fbdf4 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx @@ -1,3 +1,5 @@ +// todo:the issue is potentially the file size limit + import { Icons } from '@masknet/icons' import { UploadDropArea } from '@masknet/shared' import { makeStyles } from '@masknet/theme' @@ -92,6 +94,10 @@ export function UploadFile() { provider: Provider.IPFS, name: IPFS, }, + { + provider: Provider.WeaveVM, + name: WeaveVM, + }, ] const onSelectFile = useCallback( diff --git a/packages/plugins/FileService/src/Worker/service.ts b/packages/plugins/FileService/src/Worker/service.ts index 5a42e643a153..51dac7219853 100644 --- a/packages/plugins/FileService/src/Worker/service.ts +++ b/packages/plugins/FileService/src/Worker/service.ts @@ -1,10 +1,12 @@ import { type AttachmentOptions, type LandingPageMetadata, Provider, type ProviderAgent } from '../types.js' import arweave from './arweave.js' import ipfs from './ipfs.js' +import weavevm from './weavevm.js' const allProviders: Record = { [Provider.Arweave]: arweave, [Provider.IPFS]: ipfs, + [Provider.WeaveVM]: weavevm, } export async function makeAttachment(provider: Provider, options: AttachmentOptions) { From a7573aba76fb24231be2850ad63ddbd71e492634 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 16:41:50 +0300 Subject: [PATCH 03/14] chore: weavevm agent --- .../plugins/FileService/src/Worker/weavevm.ts | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 packages/plugins/FileService/src/Worker/weavevm.ts diff --git a/packages/plugins/FileService/src/Worker/weavevm.ts b/packages/plugins/FileService/src/Worker/weavevm.ts new file mode 100644 index 000000000000..4f2d81507e73 --- /dev/null +++ b/packages/plugins/FileService/src/Worker/weavevm.ts @@ -0,0 +1,93 @@ +import { isEmpty } from 'lodash-es' +import { Attachment } from '@dimensiondev/common-protocols' +import { encodeText } from '@masknet/kit' +import { BundlerSDK } from 'bundler-upload-sdk' +import { LANDING_PAGE, Provider } from '../constants.js' +import type { ProviderAgent, LandingPageMetadata, AttachmentOptions } from '../types.js' +import { makeFileKeySigned } from '../helpers.js' + +// WeaveVM configuration +const WEAVEVM_UPLOAD_ENDPOINT = 'https://mechanism-gi3c.shuttle.app/' +const WEAVEVM_GATEWAY_URL = 'https://gateway.wvm.network/bundle' +const API_KEY = process.env.WEAVEVM_API_KEY || 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' + +class WeaveVMAgent implements ProviderAgent { + static providerName = 'WeaveVM' + bundlerSDK!: BundlerSDK + + init() { + if (this.bundlerSDK) return + this.bundlerSDK = new BundlerSDK(WEAVEVM_UPLOAD_ENDPOINT, API_KEY) + } + + async makeAttachment(options: AttachmentOptions) { + this.init() + const passphrase = options.key ? encodeText(options.key) : undefined + const encoded = await Attachment.encode(passphrase, { + block: options.block, + mime: isEmpty(options.type) ? 'application/octet-stream' : options.type, + metadata: null, + }) + const txId = await this.makePayload(encoded, isEmpty(options.type) ? 'application/octet-stream' : options.type) + + return txId + } + + async *upload(id: string) { + yield 100 + } + + async uploadLandingPage(metadata: LandingPageMetadata) { + this.init() + const linkPrefix = WEAVEVM_GATEWAY_URL + const encodedMetadata = JSON.stringify({ + name: metadata.name, + size: metadata.size, + provider: Provider.WeaveVM, // Ensure this constant is updated in Mask's constants.js + link: `${linkPrefix}/${metadata.txId}/0`, + signed: await makeFileKeySigned(metadata.key), + createdAt: new Date().toISOString(), + }) + const response = await fetch(LANDING_PAGE) + const text = await response.text() + const replaced = text + .replace('Arweave', WeaveVMAgent.providerName) + .replace('Over Arweave', `Over ${WeaveVMAgent.providerName}`) + .replace('__METADATA__', encodedMetadata) + const data = encodeText(replaced) + return this.makePayload(data, 'text/html') + } + + async makePayload(data: Uint8Array, type: string) { + this.init() + + try { + // Prepare tags - set the MIME type as required + const tags = { + 'Content-Type': type, + 'App-Name': 'Mask-Network', + } + + // Upload file with tags + const txHash = await this.bundlerSDK.upload([ + { + file: Buffer.from(data), + tags, + }, + ]) + + return txHash + } catch (error) { + const enhancedError = new Error( + `WeaveVM upload failed: ${error instanceof Error ? error.message : String(error)}`, + ) + if (error instanceof Error && error.stack) { + enhancedError.stack = error.stack + } + + throw enhancedError + } + } +} + +export default new WeaveVMAgent() From 480b76df21c7ff1db35e20912fbc185b80416b60 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 16:42:10 +0300 Subject: [PATCH 04/14] chore: install bundler sdk --- package.json | 1 + pnpm-lock.yaml | 67 ++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 824afc171dbd..0591fff8e39c 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@types/react-dom": "npm:types-react-dom@beta", "@typescript/lib-dom": "npm:@types/web@^0.0.183", "buffer": "^6.0.3", + "bundler-upload-sdk": "^2.0.0", "lodash-es": "^4.17.21", "react": "0.0.0-experimental-58af67a8f8-20240628", "react-dom": "0.0.0-experimental-58af67a8f8-20240628", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5e2202216a1..050c5e6936d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -134,6 +134,9 @@ importers: buffer: specifier: ^6.0.3 version: 6.0.3 + bundler-upload-sdk: + specifier: ^2.0.0 + version: 2.0.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -3995,9 +3998,6 @@ packages: resolution: {integrity: sha512-VRnXRqsYNXq1jzNf6piJnUamtgVGuL5/8dVXl/Qy7xGyHBqLaHbQ6QKDCc/qf9Z3gFzFSjIZZle+pNPJ925psA==, tarball: https://npm.pkg.github.com/download/@DimensionDev/holoflows-kit/0.9.0-20240322092738-f9180f3/1d2e9df5c5cd2a733c547ceafed4860973f10836} peerDependencies: '@types/webextension-polyfill': ^0.10.0 - peerDependenciesMeta: - '@types/webextension-polyfill': - optional: true '@dimensiondev/mask-wallet-core@0.1.0-20211013082857-eb62e5f': resolution: {integrity: sha512-2d7v1/z9Khw4O7J7oBNKLBo7BONd7ZE2gpw34uHVtdG9i0aEz+LSRappgNTZyUZ/+TRJ7ZgAf+Dbeql1oPMvNA==, tarball: https://npm.pkg.github.com/download/@DimensionDev/mask-wallet-core/0.1.0-20211013082857-eb62e5f/04f14f2d88766a9ab098a686785f824270c5ed90} @@ -5347,6 +5347,7 @@ packages: '@mui/base@5.0.0-beta.40': resolution: {integrity: sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==} engines: {node: '>=12.0.0'} + deprecated: This package has been replaced by @base-ui-components/react peerDependencies: '@types/react': npm:types-react@beta react: 0.0.0-experimental-58af67a8f8-20240628 @@ -7500,6 +7501,7 @@ packages: '@walletconnect/web3wallet@1.12.3': resolution: {integrity: sha512-HBzYDjf3ZVzyTCqycyMjJnn/1sQtRe0beGc3qtq9bLX/dmezkO6Oc1lg1WlvxT7KtTqKx41usw5tjiwfNZ2+ug==} + deprecated: Web3Wallet is now Reown WalletKit. Please follow the upgrade guide at https://docs.reown.com/walletkit/upgrade/from-web3wallet-web '@walletconnect/window-getters@1.0.0': resolution: {integrity: sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==} @@ -8267,6 +8269,9 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + bundler-upload-sdk@2.0.0: + resolution: {integrity: sha512-/bG1YuYmGn1ulyRMsb7VdX5ls+lgHvmZgIC+CPgdtzWMywy9CpI957n/c+KRhxJbmTfMpmYV+oNITunE+Kmalw==} + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -9062,6 +9067,10 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -10133,6 +10142,10 @@ packages: picomatch: optional: true + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -10290,6 +10303,10 @@ packages: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -11961,6 +11978,7 @@ packages: lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. lodash.indexof@4.0.5: resolution: {integrity: sha512-t9wLWMQsawdVmf6/IcAgVGqAJkNzYVcn4BHYZKTPW//l7N5Oq7Bq138BaVk19agcsPZePcidSgTTw4NqS1nUAw==} @@ -11970,6 +11988,7 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} @@ -12594,6 +12613,10 @@ packages: node-addon-api@7.0.0: resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + node-fetch-native@1.4.1: resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} @@ -12606,6 +12629,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -15287,6 +15314,10 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + web-vitals@3.5.2: resolution: {integrity: sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==} @@ -15755,6 +15786,7 @@ packages: yaeti@0.0.6: resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} engines: {node: '>=0.10.32'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -17467,10 +17499,9 @@ snapshots: '@dimensiondev/holoflows-kit@0.9.0-20240322092738-f9180f3(@types/webextension-polyfill@0.10.7)': dependencies: '@servie/events': 3.0.0 + '@types/webextension-polyfill': 0.10.7 lodash-es: 4.17.21 tslib: 2.8.1 - optionalDependencies: - '@types/webextension-polyfill': 0.10.7 '@dimensiondev/mask-wallet-core@0.1.0-20211013082857-eb62e5f(protobufjs@7.2.3)': dependencies: @@ -23554,6 +23585,11 @@ snapshots: dependencies: run-applescript: 7.0.0 + bundler-upload-sdk@2.0.0: + dependencies: + form-data: 4.0.0 + node-fetch: 3.3.2 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -24490,6 +24526,8 @@ snapshots: dependencies: assert-plus: 1.0.0 + data-uri-to-buffer@4.0.1: {} + data-urls@3.0.2: dependencies: abab: 2.0.6 @@ -25984,6 +26022,11 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + fflate@0.8.2: {} figures@3.2.0: @@ -26144,6 +26187,10 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + forwarded@0.2.0: {} fresh@0.5.2: {} @@ -29055,6 +29102,8 @@ snapshots: node-addon-api@7.0.0: {} + node-domexception@1.0.0: {} + node-fetch-native@1.4.1: {} node-fetch@2.7.0(encoding@0.1.13): @@ -29063,6 +29112,12 @@ snapshots: optionalDependencies: encoding: 0.1.13 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-forge@1.3.1: {} node-gyp-build@4.8.4: {} @@ -32086,6 +32141,8 @@ snapshots: web-namespaces@2.0.1: {} + web-streams-polyfill@3.3.3: {} + web-vitals@3.5.2: {} web3-bzz@1.10.2(bufferutil@4.0.8)(utf-8-validate@5.0.10): From 31190721f9878324a5bc93e23f7399cba9e7ec86 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 17:25:54 +0300 Subject: [PATCH 05/14] chore: update bundler sdk --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 0591fff8e39c..c67c8aa74d7e 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@types/react-dom": "npm:types-react-dom@beta", "@typescript/lib-dom": "npm:@types/web@^0.0.183", "buffer": "^6.0.3", - "bundler-upload-sdk": "^2.0.0", + "bundler-upload-sdk": "^2.1.0", "lodash-es": "^4.17.21", "react": "0.0.0-experimental-58af67a8f8-20240628", "react-dom": "0.0.0-experimental-58af67a8f8-20240628", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 050c5e6936d6..d993742abf7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,8 +135,8 @@ importers: specifier: ^6.0.3 version: 6.0.3 bundler-upload-sdk: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -8269,8 +8269,8 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bundler-upload-sdk@2.0.0: - resolution: {integrity: sha512-/bG1YuYmGn1ulyRMsb7VdX5ls+lgHvmZgIC+CPgdtzWMywy9CpI957n/c+KRhxJbmTfMpmYV+oNITunE+Kmalw==} + bundler-upload-sdk@2.1.0: + resolution: {integrity: sha512-AeaTWWA8OQS26jBXI8eiBImQ1av3CNxcb6PMmJIAEw53XSmZnfvls/68EWReX3AqDQGgPBFZQ2bEzZ6qt5aRFQ==} busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -23585,7 +23585,7 @@ snapshots: dependencies: run-applescript: 7.0.0 - bundler-upload-sdk@2.0.0: + bundler-upload-sdk@2.1.0: dependencies: form-data: 4.0.0 node-fetch: 3.3.2 From 8836040190cfa48fac85095b14b1431918f80e26 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 7 Mar 2025 17:27:58 +0300 Subject: [PATCH 06/14] chore: minor fix --- packages/plugins/FileService/src/Worker/weavevm.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugins/FileService/src/Worker/weavevm.ts b/packages/plugins/FileService/src/Worker/weavevm.ts index 4f2d81507e73..3a9099411cc3 100644 --- a/packages/plugins/FileService/src/Worker/weavevm.ts +++ b/packages/plugins/FileService/src/Worker/weavevm.ts @@ -9,7 +9,7 @@ import { makeFileKeySigned } from '../helpers.js' // WeaveVM configuration const WEAVEVM_UPLOAD_ENDPOINT = 'https://mechanism-gi3c.shuttle.app/' const WEAVEVM_GATEWAY_URL = 'https://gateway.wvm.network/bundle' -const API_KEY = process.env.WEAVEVM_API_KEY || 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' +const API_KEY = process.env.WEAVEVM_API_KEY || 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' // move to env class WeaveVMAgent implements ProviderAgent { static providerName = 'WeaveVM' From 625573a461afcaf5a23dd8fb563fe2cae370725a Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 13 Mar 2025 13:28:08 +0300 Subject: [PATCH 07/14] chore: pull --- .../plugins/FileService/src/Worker/weavevm.ts | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/plugins/FileService/src/Worker/weavevm.ts b/packages/plugins/FileService/src/Worker/weavevm.ts index 3a9099411cc3..27d9f6b99387 100644 --- a/packages/plugins/FileService/src/Worker/weavevm.ts +++ b/packages/plugins/FileService/src/Worker/weavevm.ts @@ -1,15 +1,14 @@ import { isEmpty } from 'lodash-es' import { Attachment } from '@dimensiondev/common-protocols' import { encodeText } from '@masknet/kit' -import { BundlerSDK } from 'bundler-upload-sdk' +import { BundlerSDK } from 'bundler-upload-sdk/browser' import { LANDING_PAGE, Provider } from '../constants.js' import type { ProviderAgent, LandingPageMetadata, AttachmentOptions } from '../types.js' import { makeFileKeySigned } from '../helpers.js' -// WeaveVM configuration -const WEAVEVM_UPLOAD_ENDPOINT = 'https://mechanism-gi3c.shuttle.app/' const WEAVEVM_GATEWAY_URL = 'https://gateway.wvm.network/bundle' -const API_KEY = process.env.WEAVEVM_API_KEY || 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' // move to env +const WEAVEVM_UPLOAD_ENDPOINT = 'https://mechanism-gi3c.shuttle.app/' +const API_KEY = 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' // move to env class WeaveVMAgent implements ProviderAgent { static providerName = 'WeaveVM' @@ -28,11 +27,15 @@ class WeaveVMAgent implements ProviderAgent { mime: isEmpty(options.type) ? 'application/octet-stream' : options.type, metadata: null, }) - const txId = await this.makePayload(encoded, isEmpty(options.type) ? 'application/octet-stream' : options.type) + + const effectiveType = isEmpty(options.type) ? 'application/octet-stream' : options.type + const effectiveName = options.name || 'unnamed_file' + const txId = await this.makePayload(encoded, effectiveType, effectiveName) return txId } + // no native support for progress tracking with WeaveVM async *upload(id: string) { yield 100 } @@ -43,7 +46,7 @@ class WeaveVMAgent implements ProviderAgent { const encodedMetadata = JSON.stringify({ name: metadata.name, size: metadata.size, - provider: Provider.WeaveVM, // Ensure this constant is updated in Mask's constants.js + provider: Provider.WeaveVM, link: `${linkPrefix}/${metadata.txId}/0`, signed: await makeFileKeySigned(metadata.key), createdAt: new Date().toISOString(), @@ -54,33 +57,39 @@ class WeaveVMAgent implements ProviderAgent { .replace('Arweave', WeaveVMAgent.providerName) .replace('Over Arweave', `Over ${WeaveVMAgent.providerName}`) .replace('__METADATA__', encodedMetadata) + const data = encodeText(replaced) - return this.makePayload(data, 'text/html') + + const landingPageTxId = await this.makePayload(data, 'text/html', `${metadata.name}-landing.html`) + + return landingPageTxId } - async makePayload(data: Uint8Array, type: string) { + async makePayload(data: Uint8Array, type: string, fileName: string = 'file.dat') { this.init() try { - // Prepare tags - set the MIME type as required const tags = { 'Content-Type': type, + Filename: fileName, 'App-Name': 'Mask-Network', + 'App-Version': '1.0.0', } - // Upload file with tags + const blob = new Blob([data], { type }) const txHash = await this.bundlerSDK.upload([ { - file: Buffer.from(data), + file: blob, tags, }, ]) return txHash } catch (error) { - const enhancedError = new Error( - `WeaveVM upload failed: ${error instanceof Error ? error.message : String(error)}`, - ) + const errorMessage = `WeaveVM upload failed: ${error instanceof Error ? error.message : String(error)}` + console.error('WeaveVM detailed error:', errorMessage) + + const enhancedError = new Error(errorMessage) if (error instanceof Error && error.stack) { enhancedError.stack = error.stack } From ab337525594447702dbf6dae1326700d9e5cfc7a Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 13 Mar 2025 13:15:49 +0300 Subject: [PATCH 08/14] chore: use envelopes to set mime type --- .../plugins/FileService/src/Worker/weavevm.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/plugins/FileService/src/Worker/weavevm.ts b/packages/plugins/FileService/src/Worker/weavevm.ts index 27d9f6b99387..33c0c3fe1f6e 100644 --- a/packages/plugins/FileService/src/Worker/weavevm.ts +++ b/packages/plugins/FileService/src/Worker/weavevm.ts @@ -1,6 +1,7 @@ import { isEmpty } from 'lodash-es' import { Attachment } from '@dimensiondev/common-protocols' import { encodeText } from '@masknet/kit' +import { Envelope } from 'weavevm-bundles' import { BundlerSDK } from 'bundler-upload-sdk/browser' import { LANDING_PAGE, Provider } from '../constants.js' import type { ProviderAgent, LandingPageMetadata, AttachmentOptions } from '../types.js' @@ -69,14 +70,19 @@ class WeaveVMAgent implements ProviderAgent { this.init() try { - const tags = { - 'Content-Type': type, - Filename: fileName, - 'App-Name': 'Mask-Network', - 'App-Version': '1.0.0', - } + const envelope = new Envelope(data) + + envelope.tags.set('Content-Type', type) + envelope.tags.set('Filename', fileName) + envelope.tags.set('App-Name', 'Maskbook') const blob = new Blob([data], { type }) + + const tags: Record = {} + for (const [key, value] of envelope.tags.entries()) { + tags[key] = value + } + const txHash = await this.bundlerSDK.upload([ { file: blob, From f9134c5ebf761d1842e7691309be1f14ca7afaed Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 13 Mar 2025 13:30:01 +0300 Subject: [PATCH 09/14] chore: rebase package.json --- package.json | 5 +++-- pnpm-lock.yaml | 40 ++++++++++++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c67c8aa74d7e..bc76c1463a39 100644 --- a/package.json +++ b/package.json @@ -51,12 +51,13 @@ "@types/react-dom": "npm:types-react-dom@beta", "@typescript/lib-dom": "npm:@types/web@^0.0.183", "buffer": "^6.0.3", - "bundler-upload-sdk": "^2.1.0", + "bundler-upload-sdk": "^2.1.1", "lodash-es": "^4.17.21", "react": "0.0.0-experimental-58af67a8f8-20240628", "react-dom": "0.0.0-experimental-58af67a8f8-20240628", "ses": "1.9.0", - "ts-results-es": "^4.2.0" + "ts-results-es": "^4.2.0", + "weavevm-bundles": "^0.0.2" }, "devDependencies": { "@changesets/cli": "^2.28.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d993742abf7f..298cab3ffc1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,8 +135,8 @@ importers: specifier: ^6.0.3 version: 6.0.3 bundler-upload-sdk: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.1.1 + version: 2.1.1 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -152,6 +152,9 @@ importers: ts-results-es: specifier: ^4.2.0 version: 4.2.0 + weavevm-bundles: + specifier: ^0.0.2 + version: 0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) devDependencies: '@changesets/cli': specifier: ^2.28.1 @@ -5866,6 +5869,12 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@project-serum/borsh@0.2.5': + resolution: {integrity: sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.2.0 + '@project-serum/sol-wallet-adapter@0.2.6': resolution: {integrity: sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g==} engines: {node: '>=10'} @@ -8269,8 +8278,8 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bundler-upload-sdk@2.1.0: - resolution: {integrity: sha512-AeaTWWA8OQS26jBXI8eiBImQ1av3CNxcb6PMmJIAEw53XSmZnfvls/68EWReX3AqDQGgPBFZQ2bEzZ6qt5aRFQ==} + bundler-upload-sdk@2.1.1: + resolution: {integrity: sha512-BzBHTGA2YoMDDmdLl45j9Lq/MxhnJm85k/m6wy1By0M04ZkZEUbDrdPbZ45+WJA20iWU1Rb4oH2H3fNnVYuVRA==} busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -15306,6 +15315,9 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + weavevm-bundles@0.0.2: + resolution: {integrity: sha512-sJ2p7350AIQUkKi0SvIOfPqHz14n1/WTNxYfaVHkhN3WRY4WwtAZluM8mKJK+6MVxveNjtgjYGea4o7TAm+Hig==} + web-ext@8.4.0: resolution: {integrity: sha512-zO0GNacJeqw3fwbBvgHC2G8reieyN+oCKiMQepX3iv2fm9KEBqg1gdbcdEvi7edfj+gjgxyXhVlFcHIvcEM2Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -20088,6 +20100,12 @@ snapshots: '@popperjs/core@2.11.8': {} + '@project-serum/borsh@0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + '@project-serum/sol-wallet-adapter@0.2.6(patch_hash=dl5wqnnaxjm7biesxtvdpr7gpe)(@solana/web3.js@1.75.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.75.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) @@ -23585,12 +23603,7 @@ snapshots: dependencies: run-applescript: 7.0.0 - bundler-upload-sdk@2.1.0: - dependencies: - form-data: 4.0.0 - node-fetch: 3.3.2 - - busboy@1.6.0: + bundler-upload-sdk@2.1.1: dependencies: streamsearch: 1.1.0 @@ -32100,6 +32113,13 @@ snapshots: dependencies: defaults: 1.0.4 + weavevm-bundles@0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)): + dependencies: + '@project-serum/borsh': 0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) + bn.js: 5.2.1 + transitivePeerDependencies: + - '@solana/web3.js' + web-ext@8.4.0(body-parser@1.20.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@babel/runtime': 7.26.7 From 802b85a117a14b3081ae3947f091bc9ab1dd42a8 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 13 Mar 2025 13:20:49 +0300 Subject: [PATCH 10/14] chore: fix gateway and weavevm download url --- packages/plugins/FileService/src/helpers.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/plugins/FileService/src/helpers.ts b/packages/plugins/FileService/src/helpers.ts index b6894eeb90ac..fd6c0db43146 100644 --- a/packages/plugins/FileService/src/helpers.ts +++ b/packages/plugins/FileService/src/helpers.ts @@ -63,6 +63,9 @@ export function makeFileKey(length = 16) { export function downloadFile(file: FileInfo) { const gateway = resolveGatewayAPI(file.provider) let link = urlcat(gateway, '/:txId', { txId: file.landingTxID }) + if (file.provider === Provider.WeaveVM) { + link = `${link}/0` + } if (isAfter(new Date(2022, 8, 1), new Date(file.createdAt))) { link = urlcat(RECOVERY_PAGE, { url: encodeURIComponent(link), From 91a0f4a1a169d2eb1f37e14d333b58ee905cbd29 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 13 Mar 2025 13:22:39 +0300 Subject: [PATCH 11/14] chore: ui fixes --- .../FileService/src/SiteAdaptor/components/UploadFile.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx index 8059399fbdf4..2692e8712466 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx @@ -5,7 +5,7 @@ import { UploadDropArea } from '@masknet/shared' import { makeStyles } from '@masknet/theme' import { Checkbox, FormControlLabel, Radio, Typography } from '@mui/material' import { useCallback, useMemo, useState, type ReactNode } from 'react' -import { MAX_FILE_SIZE } from '../../constants.js' +import { MAX_FILE_SIZE, MAX_FILE_SIZE_WEAVEVM } from '../../constants.js' import { downloadFile } from '../../helpers.js' import { Provider } from '../../types.js' import { useFileManagement } from '../contexts/index.js' @@ -109,7 +109,7 @@ export function UploadFile() { return (
- +
{providers.map((config: ProviderConfig) => ( Date: Thu, 13 Mar 2025 13:25:08 +0300 Subject: [PATCH 12/14] chore: cosmetic fix --- .../FileService/src/SiteAdaptor/components/UploadFile.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx index 2692e8712466..8ad5c2d17bea 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx @@ -81,6 +81,8 @@ export function UploadFile() { const [provider, setProvider] = useState(Provider.Arweave) const { recentFiles, uploadingFiles, uploadFile, attachToPost } = useFileManagement() + const FILE_SIZE = provider === Provider.WeaveVM ? MAX_FILE_SIZE_WEAVEVM : MAX_FILE_SIZE + const files = useMemo(() => { return [...uploadingFiles, ...recentFiles] }, [uploadingFiles, recentFiles]) @@ -109,7 +111,7 @@ export function UploadFile() { return (
- +
{providers.map((config: ProviderConfig) => ( Date: Fri, 14 Mar 2025 11:19:08 +0300 Subject: [PATCH 13/14] chore: move deps --- package.json | 4 +--- packages/plugins/FileService/package.json | 4 +++- pnpm-lock.yaml | 23 ++++++++++++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index bc76c1463a39..824afc171dbd 100644 --- a/package.json +++ b/package.json @@ -51,13 +51,11 @@ "@types/react-dom": "npm:types-react-dom@beta", "@typescript/lib-dom": "npm:@types/web@^0.0.183", "buffer": "^6.0.3", - "bundler-upload-sdk": "^2.1.1", "lodash-es": "^4.17.21", "react": "0.0.0-experimental-58af67a8f8-20240628", "react-dom": "0.0.0-experimental-58af67a8f8-20240628", "ses": "1.9.0", - "ts-results-es": "^4.2.0", - "weavevm-bundles": "^0.0.2" + "ts-results-es": "^4.2.0" }, "devDependencies": { "@changesets/cli": "^2.28.1", diff --git a/packages/plugins/FileService/package.json b/packages/plugins/FileService/package.json index feb35139074c..9bcaec01065e 100644 --- a/packages/plugins/FileService/package.json +++ b/packages/plugins/FileService/package.json @@ -30,12 +30,14 @@ "@msgpack/msgpack": "^3.0.0-beta2", "@servie/events": "^3.0.0", "arweave": "^1.13.6", + "bundler-upload-sdk": "^2.1.1", "date-fns": "^3.6.0", "ipfs-http-client": "^60.0.1", "react-router-dom": "^6.24.0", "react-use": "^17.5.0", "urlcat": "^3.1.0", - "use-subscription": "^1.8.0" + "use-subscription": "^1.8.0", + "weavevm-bundles": "^0.0.2" }, "devDependencies": { "@types/use-subscription": "^1.0.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 298cab3ffc1b..647e5e000f1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -134,9 +134,6 @@ importers: buffer: specifier: ^6.0.3 version: 6.0.3 - bundler-upload-sdk: - specifier: ^2.1.1 - version: 2.1.1 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -152,9 +149,6 @@ importers: ts-results-es: specifier: ^4.2.0 version: 4.2.0 - weavevm-bundles: - specifier: ^0.0.2 - version: 0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) devDependencies: '@changesets/cli': specifier: ^2.28.1 @@ -1282,6 +1276,9 @@ importers: arweave: specifier: ^1.13.6 version: 1.13.6 + bundler-upload-sdk: + specifier: ^2.1.1 + version: 2.1.1 date-fns: specifier: ^3.6.0 version: 3.6.0 @@ -1300,6 +1297,9 @@ importers: use-subscription: specifier: ^1.8.0 version: 1.8.2(react@0.0.0-experimental-58af67a8f8-20240628) + weavevm-bundles: + specifier: ^0.0.2 + version: 0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) devDependencies: '@types/use-subscription': specifier: ^1.0.2 @@ -4001,6 +4001,9 @@ packages: resolution: {integrity: sha512-VRnXRqsYNXq1jzNf6piJnUamtgVGuL5/8dVXl/Qy7xGyHBqLaHbQ6QKDCc/qf9Z3gFzFSjIZZle+pNPJ925psA==, tarball: https://npm.pkg.github.com/download/@DimensionDev/holoflows-kit/0.9.0-20240322092738-f9180f3/1d2e9df5c5cd2a733c547ceafed4860973f10836} peerDependencies: '@types/webextension-polyfill': ^0.10.0 + peerDependenciesMeta: + '@types/webextension-polyfill': + optional: true '@dimensiondev/mask-wallet-core@0.1.0-20211013082857-eb62e5f': resolution: {integrity: sha512-2d7v1/z9Khw4O7J7oBNKLBo7BONd7ZE2gpw34uHVtdG9i0aEz+LSRappgNTZyUZ/+TRJ7ZgAf+Dbeql1oPMvNA==, tarball: https://npm.pkg.github.com/download/@DimensionDev/mask-wallet-core/0.1.0-20211013082857-eb62e5f/04f14f2d88766a9ab098a686785f824270c5ed90} @@ -17511,9 +17514,10 @@ snapshots: '@dimensiondev/holoflows-kit@0.9.0-20240322092738-f9180f3(@types/webextension-polyfill@0.10.7)': dependencies: '@servie/events': 3.0.0 - '@types/webextension-polyfill': 0.10.7 lodash-es: 4.17.21 tslib: 2.8.1 + optionalDependencies: + '@types/webextension-polyfill': 0.10.7 '@dimensiondev/mask-wallet-core@0.1.0-20211013082857-eb62e5f(protobufjs@7.2.3)': dependencies: @@ -23604,6 +23608,11 @@ snapshots: run-applescript: 7.0.0 bundler-upload-sdk@2.1.1: + dependencies: + form-data: 4.0.0 + node-fetch: 3.3.2 + + busboy@1.6.0: dependencies: streamsearch: 1.1.0 From 464de4cfbc6415a77fc0e0430755f2b56621f0db Mon Sep 17 00:00:00 2001 From: Xylophone Date: Fri, 23 May 2025 10:04:17 +0100 Subject: [PATCH 14/14] feat: weavevm-bundles to load0 --- packages/plugins/FileService/package.json | 4 +- .../SiteAdaptor/components/FileBrowser.tsx | 4 +- .../src/SiteAdaptor/components/Terms.tsx | 3 +- .../src/SiteAdaptor/components/UploadFile.tsx | 8 +- .../plugins/FileService/src/Worker/load.ts | 116 +++++++++ .../plugins/FileService/src/Worker/service.ts | 4 +- .../plugins/FileService/src/Worker/weavevm.ts | 108 --------- packages/plugins/FileService/src/constants.ts | 4 +- packages/plugins/FileService/src/helpers.ts | 5 +- .../plugins/FileService/src/schema-v3.json | 2 +- packages/plugins/FileService/src/types.ts | 2 +- pnpm-lock.yaml | 224 +++++++----------- 12 files changed, 211 insertions(+), 273 deletions(-) create mode 100644 packages/plugins/FileService/src/Worker/load.ts delete mode 100644 packages/plugins/FileService/src/Worker/weavevm.ts diff --git a/packages/plugins/FileService/package.json b/packages/plugins/FileService/package.json index 9bcaec01065e..feb35139074c 100644 --- a/packages/plugins/FileService/package.json +++ b/packages/plugins/FileService/package.json @@ -30,14 +30,12 @@ "@msgpack/msgpack": "^3.0.0-beta2", "@servie/events": "^3.0.0", "arweave": "^1.13.6", - "bundler-upload-sdk": "^2.1.1", "date-fns": "^3.6.0", "ipfs-http-client": "^60.0.1", "react-router-dom": "^6.24.0", "react-use": "^17.5.0", "urlcat": "^3.1.0", - "use-subscription": "^1.8.0", - "weavevm-bundles": "^0.0.2" + "use-subscription": "^1.8.0" }, "devDependencies": { "@types/use-subscription": "^1.0.2" diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx index b08cdfbe6fb0..df449509dfb7 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/FileBrowser.tsx @@ -121,14 +121,14 @@ enum ProviderTabs { All = 'All', IPFS = 'IPFS', Arweave = 'Arweave', - WeaveVM = 'WeaveVM', + Load = 'Load Network', } const TabToProviderMap: Record = { [ProviderTabs.All]: null, [ProviderTabs.IPFS]: Provider.IPFS, [ProviderTabs.Arweave]: Provider.Arweave, - [ProviderTabs.WeaveVM]: Provider.WeaveVM, + [ProviderTabs.Load]: Provider.Load, } const providers = getEnumAsArray(ProviderTabs) diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx index 707afa1a7af5..4d3dd4bf70a0 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/Terms.tsx @@ -98,8 +98,7 @@ export function Terms() { Web3 File Service is a decentralized storage service provided by Mask Network. It allows users to store files in different decentralized networks. This feature is powered by Mask Network's partner file storage protocols such as IPFS and Arweave. It supports files in PDF, DOC, JPG, - PNG, MP3, MP4 and other formats. At present, the maximum file size is 10 MB for most providers - and 8 MB for WeaveVM. + PNG, MP3, MP4 and other formats. At present, the maximum file size is 10 MB.

You can store files in multiple decentralized networks through the Web3 file service. When diff --git a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx index 8ad5c2d17bea..b354c7ad0d38 100644 --- a/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx +++ b/packages/plugins/FileService/src/SiteAdaptor/components/UploadFile.tsx @@ -5,7 +5,7 @@ import { UploadDropArea } from '@masknet/shared' import { makeStyles } from '@masknet/theme' import { Checkbox, FormControlLabel, Radio, Typography } from '@mui/material' import { useCallback, useMemo, useState, type ReactNode } from 'react' -import { MAX_FILE_SIZE, MAX_FILE_SIZE_WEAVEVM } from '../../constants.js' +import { MAX_FILE_SIZE, MAX_FILE_SIZE_LOAD } from '../../constants.js' import { downloadFile } from '../../helpers.js' import { Provider } from '../../types.js' import { useFileManagement } from '../contexts/index.js' @@ -81,7 +81,7 @@ export function UploadFile() { const [provider, setProvider] = useState(Provider.Arweave) const { recentFiles, uploadingFiles, uploadFile, attachToPost } = useFileManagement() - const FILE_SIZE = provider === Provider.WeaveVM ? MAX_FILE_SIZE_WEAVEVM : MAX_FILE_SIZE + const FILE_SIZE = provider === Provider.Load ? MAX_FILE_SIZE_LOAD : MAX_FILE_SIZE const files = useMemo(() => { return [...uploadingFiles, ...recentFiles] @@ -97,8 +97,8 @@ export function UploadFile() { name: IPFS, }, { - provider: Provider.WeaveVM, - name: WeaveVM, + provider: Provider.Load, + name: Load Network, }, ] diff --git a/packages/plugins/FileService/src/Worker/load.ts b/packages/plugins/FileService/src/Worker/load.ts new file mode 100644 index 000000000000..9bf7f9370e7e --- /dev/null +++ b/packages/plugins/FileService/src/Worker/load.ts @@ -0,0 +1,116 @@ +import { isEmpty } from 'lodash-es' +import { Attachment } from '@dimensiondev/common-protocols' +import { encodeText } from '@masknet/kit' +import { LANDING_PAGE, Provider } from '../constants.js' +import type { ProviderAgent, LandingPageMetadata, AttachmentOptions } from '../types.js' +import { makeFileKeySigned } from '../helpers.js' + +const LOAD_GATEWAY_URL = 'https://load0.network/resolve' +const LOAD_UPLOAD_ENDPOINT = 'https://load0.network/upload' +const API_KEY = 'load_acc_ep4bep0uGlmUXMu46BxM0uWXKsqL5M5w' // move to env + +class LoadAgent implements ProviderAgent { + static providerName = 'Load Network' + private uploadController?: AbortController + + init() { + this.uploadController = new AbortController() + } + + async makeAttachment(options: AttachmentOptions) { + this.init() + const passphrase = options.key ? encodeText(options.key) : undefined + const encoded = await Attachment.encode(passphrase, { + block: options.block, + mime: isEmpty(options.type) ? 'application/octet-stream' : options.type, + metadata: null, + }) + + const effectiveType = isEmpty(options.type) ? 'application/octet-stream' : options.type + const effectiveName = options.name || 'unnamed_file' + const payloadTxID = await this.makePayload(encoded, effectiveType, effectiveName) + return payloadTxID + } + + async *upload(id: string) { + try { + // Since we're using optimistic upload, we can yield progress immediately + // The actual upload to Load Network happens in the background + yield 50 + yield 100 + } catch (error) { + console.error('Upload progress tracking failed:', error) + throw error + } finally { + if (this.uploadController) { + this.uploadController.abort() + this.uploadController = undefined + } + } + } + + async uploadLandingPage(metadata: LandingPageMetadata) { + this.init() + const linkPrefix = LOAD_GATEWAY_URL + const encodedMetadata = JSON.stringify({ + name: metadata.name, + size: metadata.size, + provider: Provider.Load, + link: `${linkPrefix}/${metadata.txId}`, + signed: await makeFileKeySigned(metadata.key), + createdAt: new Date().toISOString(), + }) + const response = await fetch(LANDING_PAGE) + const text = await response.text() + const replaced = text + .replace('Arweave', LoadAgent.providerName) + .replace('Over Arweave', `Over ${LoadAgent.providerName}`) + .replace('__METADATA__', encodedMetadata) + + const data = encodeText(replaced) + + const landingPageTxId = await this.makePayload(data, 'text/html', `${metadata.name}-landing.html`) + + return landingPageTxId + } + + async makePayload(data: Uint8Array, type: string, fileName: string = 'file.dat') { + this.init() + + try { + const blob = new Blob([data], { type }) + const headers = { + 'Content-Type': type, + 'Filename': fileName, + 'App-Name': 'Maskbook', + 'X-Load-Authorization': API_KEY + } + + const response = await fetch(LOAD_UPLOAD_ENDPOINT, { + method: 'POST', + headers, + body: blob, + signal: this.uploadController?.signal + }) + + if (!response.ok) { + throw new Error(`Upload failed: ${response.statusText}`) + } + + const { optimistic_hash } = await response.json() + return optimistic_hash + } catch (error) { + const errorMessage = `Load Network upload failed: ${error instanceof Error ? error.message : String(error)}` + console.error('Load Network detailed error:', errorMessage) + + const enhancedError = new Error(errorMessage) + if (error instanceof Error && error.stack) { + enhancedError.stack = error.stack + } + + throw enhancedError + } + } +} + +export default new LoadAgent() diff --git a/packages/plugins/FileService/src/Worker/service.ts b/packages/plugins/FileService/src/Worker/service.ts index 51dac7219853..7a4ae4d4ce69 100644 --- a/packages/plugins/FileService/src/Worker/service.ts +++ b/packages/plugins/FileService/src/Worker/service.ts @@ -1,12 +1,12 @@ import { type AttachmentOptions, type LandingPageMetadata, Provider, type ProviderAgent } from '../types.js' import arweave from './arweave.js' import ipfs from './ipfs.js' -import weavevm from './weavevm.js' +import load from './load.js' const allProviders: Record = { [Provider.Arweave]: arweave, [Provider.IPFS]: ipfs, - [Provider.WeaveVM]: weavevm, + [Provider.Load]: load, } export async function makeAttachment(provider: Provider, options: AttachmentOptions) { diff --git a/packages/plugins/FileService/src/Worker/weavevm.ts b/packages/plugins/FileService/src/Worker/weavevm.ts deleted file mode 100644 index 33c0c3fe1f6e..000000000000 --- a/packages/plugins/FileService/src/Worker/weavevm.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { isEmpty } from 'lodash-es' -import { Attachment } from '@dimensiondev/common-protocols' -import { encodeText } from '@masknet/kit' -import { Envelope } from 'weavevm-bundles' -import { BundlerSDK } from 'bundler-upload-sdk/browser' -import { LANDING_PAGE, Provider } from '../constants.js' -import type { ProviderAgent, LandingPageMetadata, AttachmentOptions } from '../types.js' -import { makeFileKeySigned } from '../helpers.js' - -const WEAVEVM_GATEWAY_URL = 'https://gateway.wvm.network/bundle' -const WEAVEVM_UPLOAD_ENDPOINT = 'https://mechanism-gi3c.shuttle.app/' -const API_KEY = 'd025e132382aea412f4256049c13d0e92d5c64095d1c88e1f5de7652966b69af' // move to env - -class WeaveVMAgent implements ProviderAgent { - static providerName = 'WeaveVM' - bundlerSDK!: BundlerSDK - - init() { - if (this.bundlerSDK) return - this.bundlerSDK = new BundlerSDK(WEAVEVM_UPLOAD_ENDPOINT, API_KEY) - } - - async makeAttachment(options: AttachmentOptions) { - this.init() - const passphrase = options.key ? encodeText(options.key) : undefined - const encoded = await Attachment.encode(passphrase, { - block: options.block, - mime: isEmpty(options.type) ? 'application/octet-stream' : options.type, - metadata: null, - }) - - const effectiveType = isEmpty(options.type) ? 'application/octet-stream' : options.type - const effectiveName = options.name || 'unnamed_file' - const txId = await this.makePayload(encoded, effectiveType, effectiveName) - - return txId - } - - // no native support for progress tracking with WeaveVM - async *upload(id: string) { - yield 100 - } - - async uploadLandingPage(metadata: LandingPageMetadata) { - this.init() - const linkPrefix = WEAVEVM_GATEWAY_URL - const encodedMetadata = JSON.stringify({ - name: metadata.name, - size: metadata.size, - provider: Provider.WeaveVM, - link: `${linkPrefix}/${metadata.txId}/0`, - signed: await makeFileKeySigned(metadata.key), - createdAt: new Date().toISOString(), - }) - const response = await fetch(LANDING_PAGE) - const text = await response.text() - const replaced = text - .replace('Arweave', WeaveVMAgent.providerName) - .replace('Over Arweave', `Over ${WeaveVMAgent.providerName}`) - .replace('__METADATA__', encodedMetadata) - - const data = encodeText(replaced) - - const landingPageTxId = await this.makePayload(data, 'text/html', `${metadata.name}-landing.html`) - - return landingPageTxId - } - - async makePayload(data: Uint8Array, type: string, fileName: string = 'file.dat') { - this.init() - - try { - const envelope = new Envelope(data) - - envelope.tags.set('Content-Type', type) - envelope.tags.set('Filename', fileName) - envelope.tags.set('App-Name', 'Maskbook') - - const blob = new Blob([data], { type }) - - const tags: Record = {} - for (const [key, value] of envelope.tags.entries()) { - tags[key] = value - } - - const txHash = await this.bundlerSDK.upload([ - { - file: blob, - tags, - }, - ]) - - return txHash - } catch (error) { - const errorMessage = `WeaveVM upload failed: ${error instanceof Error ? error.message : String(error)}` - console.error('WeaveVM detailed error:', errorMessage) - - const enhancedError = new Error(errorMessage) - if (error instanceof Error && error.stack) { - enhancedError.stack = error.stack - } - - throw enhancedError - } - } -} - -export default new WeaveVMAgent() diff --git a/packages/plugins/FileService/src/constants.ts b/packages/plugins/FileService/src/constants.ts index a76be5ce320f..d90b2d8b1497 100644 --- a/packages/plugins/FileService/src/constants.ts +++ b/packages/plugins/FileService/src/constants.ts @@ -3,7 +3,7 @@ export const META_KEY_2 = 'com.maskbook.fileservice:2' export const META_KEY_3 = 'com.maskbook.fileservice:3' export const MAX_FILE_SIZE = 10 * 1000 * 1000 -export const MAX_FILE_SIZE_WEAVEVM = 8 * 1024 * 1024 +export const MAX_FILE_SIZE_LOAD = 10 * 1024 * 1024 export const LANDING_PAGE = 'https://files.r2d2.to/partner/arweave/landing-page.html' export const RECOVERY_PAGE = 'https://fileservice.r2d2.to/recover' @@ -20,5 +20,5 @@ export const enum RoutePaths { export const enum Provider { IPFS = 'ipfs', Arweave = 'arweave', - WeaveVM = 'weavevm', + Load = 'load', } diff --git a/packages/plugins/FileService/src/helpers.ts b/packages/plugins/FileService/src/helpers.ts index fd6c0db43146..40050b3e5166 100644 --- a/packages/plugins/FileService/src/helpers.ts +++ b/packages/plugins/FileService/src/helpers.ts @@ -45,7 +45,7 @@ const resolveGatewayAPI = createLookupTableResolver( { [Provider.Arweave]: 'https://arweave.net', [Provider.IPFS]: 'https://mask.infura-ipfs.io/ipfs', - [Provider.WeaveVM]: 'https://gateway.wvm.network/bundle', + [Provider.Load]: 'https://load0.network/resolve', }, () => 'Unknown provider', ) @@ -63,9 +63,6 @@ export function makeFileKey(length = 16) { export function downloadFile(file: FileInfo) { const gateway = resolveGatewayAPI(file.provider) let link = urlcat(gateway, '/:txId', { txId: file.landingTxID }) - if (file.provider === Provider.WeaveVM) { - link = `${link}/0` - } if (isAfter(new Date(2022, 8, 1), new Date(file.createdAt))) { link = urlcat(RECOVERY_PAGE, { url: encodeURIComponent(link), diff --git a/packages/plugins/FileService/src/schema-v3.json b/packages/plugins/FileService/src/schema-v3.json index b03c6d31e194..2ec75a5e9035 100644 --- a/packages/plugins/FileService/src/schema-v3.json +++ b/packages/plugins/FileService/src/schema-v3.json @@ -12,7 +12,7 @@ }, "provider": { "type": "string", - "enum": ["arweave", "ipfs"], + "enum": ["arweave", "ipfs", "load"], "title": "provider" }, "id": { diff --git a/packages/plugins/FileService/src/types.ts b/packages/plugins/FileService/src/types.ts index f167b3e101d7..f40a37c78450 100644 --- a/packages/plugins/FileService/src/types.ts +++ b/packages/plugins/FileService/src/types.ts @@ -3,7 +3,7 @@ import type { FileFrameProps } from '@masknet/shared' export enum Provider { Arweave = 'arweave', IPFS = 'ipfs', - WeaveVM = 'weavevm', + Load = 'load', } export interface LandingPageMetadata { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 647e5e000f1d..79a3e5e65214 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -215,7 +215,7 @@ importers: version: 3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)) eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) + version: 2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) eslint-plugin-lingui: specifier: ^0.10.0 version: 0.10.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) @@ -608,7 +608,7 @@ importers: version: 2.0.0 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 6.2.0(webpack@5.88.2) fuse.js: specifier: ^7.0.0 version: 7.0.0 @@ -696,16 +696,16 @@ importers: devDependencies: '@lavamoat/webpack': specifier: 0.8.1-beta.0 - version: 0.8.1-beta.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 0.8.1-beta.0(webpack@5.88.2) '@nice-labs/emit-file-webpack-plugin': specifier: ^1.1.4 - version: 1.1.4(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 1.1.4(webpack@5.88.2) '@pmmmwh/react-refresh-webpack-plugin': specifier: ^0.5.15 - version: 0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0)(webpack@5.88.2) '@rspack/cli': specifier: ^1.2.7 - version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) '@rspack/core': specifier: ^1.2.7 version: 1.2.7(@swc/helpers@0.5.15) @@ -726,13 +726,13 @@ importers: version: 19.0.0-beta-df7b47d-20241124 copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.88.2) devtools-ignore-webpack-plugin: specifier: ^0.2.0 - version: 0.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 0.2.0(webpack@5.88.2) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@5.88.2) react-compiler-webpack: specifier: ^0.1.2 version: 0.1.2(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124) @@ -747,16 +747,16 @@ importers: version: 6.0.1 source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 5.0.0(webpack@5.88.2) svgo-loader: specifier: ^4.0.0 version: 4.0.0 swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) terser-webpack-plugin: specifier: ^5.3.12 - version: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) webpack: specifier: Jack-Works/webpack#lazy-import version: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -768,7 +768,7 @@ importers: version: 5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) webpack-target-webextension: specifier: ^2.1.3 - version: 2.1.3(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 2.1.3(webpack@5.88.2) packages/mask-sdk: devDependencies: @@ -1276,9 +1276,6 @@ importers: arweave: specifier: ^1.13.6 version: 1.13.6 - bundler-upload-sdk: - specifier: ^2.1.1 - version: 2.1.1 date-fns: specifier: ^3.6.0 version: 3.6.0 @@ -1297,9 +1294,6 @@ importers: use-subscription: specifier: ^1.8.0 version: 1.8.2(react@0.0.0-experimental-58af67a8f8-20240628) - weavevm-bundles: - specifier: ^0.0.2 - version: 0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) devDependencies: '@types/use-subscription': specifier: ^1.0.2 @@ -2284,7 +2278,7 @@ importers: devDependencies: '@rspack/cli': specifier: ^1.2.7 - version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + version: 1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) '@rspack/core': specifier: ^1.2.7 version: 1.2.7(@swc/helpers@0.5.15) @@ -4035,21 +4029,25 @@ packages: resolution: {integrity: sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==} cpu: [arm64] os: [linux] + libc: [glibc] '@dprint/linux-arm64-musl@0.45.1': resolution: {integrity: sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==} cpu: [arm64] os: [linux] + libc: [musl] '@dprint/linux-x64-glibc@0.45.1': resolution: {integrity: sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==} cpu: [x64] os: [linux] + libc: [glibc] '@dprint/linux-x64-musl@0.45.1': resolution: {integrity: sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==} cpu: [x64] os: [linux] + libc: [musl] '@dprint/typescript@0.90.5': resolution: {integrity: sha512-/1aP6saonFvJyQN3l2is6eTOec3GnLGyW+opid/eDm8pnlhwzYl8A9p36pI6WO5jLl/a9Ghod+LWpvSOuXFGUw==} @@ -4964,7 +4962,6 @@ packages: '@lavamoat/webpack@0.8.1-beta.0': resolution: {integrity: sha512-aIXLil9jdaaFPXkHWPDDcBl7w3EASKSIkdR3nXZ8jiPIHvKI+/BBV1VqWh6EVqXLAlqIshZ+mvaw+qnD1S8trw==} - version: 0.8.1-beta.0 engines: {node: ^18.0.0 || ^20.0.0 || ^22.5.1, npm: '>=7.0.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -5527,24 +5524,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@napi-rs/image-linux-arm64-musl@1.4.1': resolution: {integrity: sha512-zp5YOfAMf3Wl5Nl872ubB1Yhy/qzR6AHlzyTHvsNQcoeKQSXZeQ0pSeDO78TaoYXtytBF6FHi5DVmuqmz5lxOg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@napi-rs/image-linux-x64-gnu@1.4.1': resolution: {integrity: sha512-Z+4dShhM3kzYhSINT9jd52DCLKUYH23B7tHEuNW6PIl0eCZmgi2lYRawbmA98rFdmAckfFtYEEg4if6HEbyGgQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@napi-rs/image-linux-x64-musl@1.4.1': resolution: {integrity: sha512-wJh76KSVjJXtmsddhsU+lNYqvXMv0wyzSPMFF/zYPryjUeNAWZp3P59OKj2mq8eFK22t17pBxbZb6uru2bFT7A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@napi-rs/image-win32-ia32-msvc@1.4.1': resolution: {integrity: sha512-aB7JDZp1InE6nj25dg2+Xmv2I1aM+nTfI5v9r7dM6VPTByDHo2NtHqCtTeMM5xlpvMcUTwjyrZHwV1WJGZKNtQ==} @@ -5567,7 +5568,6 @@ packages: '@nice-labs/emit-file-webpack-plugin@1.1.4': resolution: {integrity: sha512-yNYzYN6N2wrcoOcxfNgBP7GLVoewfV7vsg4muVLAJdIBQWnXx+t7d/MEp0n3BYhcxH4MEjm6IZ6jDVzFa3zkJw==} - version: 1.1.4 engines: {node: '>= 12'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -5699,21 +5699,25 @@ packages: resolution: {integrity: sha512-8fZ8NszFaUZaoA8eUwkF2lHjgUs76aFiewWgG/cjcZmwKp+ErZQLW8eOvIWZ4SohHQ+ScvhVsSaU2PU38c88gw==} cpu: [arm64] os: [linux] + libc: [glibc] '@oxc-resolver/binding-linux-arm64-musl@1.10.2': resolution: {integrity: sha512-oPrLICrw96Ym9n04FWXWGkbkpF6qJtZ57JSnqI3oQ24xHTt4iWyjHKHQO46NbJAK9sFb3Qce4BzV8faDI5Rifg==} cpu: [arm64] os: [linux] + libc: [musl] '@oxc-resolver/binding-linux-x64-gnu@1.10.2': resolution: {integrity: sha512-eli74jTAUiIfqi8IPFqiPxQS69Alcr6w/IFRyf3XxrkxeFGgcgxJkRIxWNTKJ6T3EXxjuma+49LdZn6l9rEj7A==} cpu: [x64] os: [linux] + libc: [glibc] '@oxc-resolver/binding-linux-x64-musl@1.10.2': resolution: {integrity: sha512-HH9zmjNSQo3rkbqJH5nIjGrtjC+QPrUy0KGGMR/oRCSLuD0cNFJ/Uly1XAugwSm4oEw0+rv6PmeclXmVTKsxhw==} cpu: [x64] os: [linux] + libc: [musl] '@oxc-resolver/binding-wasm32-wasi@1.10.2': resolution: {integrity: sha512-3ItX23q33sfVBtMMdMhVDSe0NX5zBHxHfmFiXhSJuwNaVIwGpLFU7WU2nmq9oNdnmTOvjL8vlhOqiGvumBLlRA==} @@ -5759,30 +5763,35 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-glibc@2.3.0': resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.3.0': resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.3.0': resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.3.0': resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-wasm@2.3.0': resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} @@ -5829,7 +5838,6 @@ packages: '@pmmmwh/react-refresh-webpack-plugin@0.5.15': resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} - version: 0.5.15 engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x @@ -5872,12 +5880,6 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@project-serum/borsh@0.2.5': - resolution: {integrity: sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==} - engines: {node: '>=10'} - peerDependencies: - '@solana/web3.js': ^1.2.0 - '@project-serum/sol-wallet-adapter@0.2.6': resolution: {integrity: sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g==} engines: {node: '>=10'} @@ -6041,51 +6043,61 @@ packages: resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.34.9': resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.34.9': resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.34.9': resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.34.9': resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.34.9': resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.34.9': resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.34.9': resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.34.9': resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.34.9': resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} @@ -6116,21 +6128,25 @@ packages: resolution: {integrity: sha512-DTtFBJmgQQrVWjbklpgJDr3kE9Uf1fHsPh+1GVslsBuyn+o4O7JslrnjuVsQCYKoiEg0Lg4ZPQmwnhJLHssZ5A==} cpu: [arm64] os: [linux] + libc: [glibc] '@rspack/binding-linux-arm64-musl@1.2.7': resolution: {integrity: sha512-01/OoQQF9eyDvRKkxj4DzCznfGZIvnzI8qOsrv+M7VBm8FLoKpb3hygXixaGQOXmNL42XTh61qjgm++fBu6aUA==} cpu: [arm64] os: [linux] + libc: [musl] '@rspack/binding-linux-x64-gnu@1.2.7': resolution: {integrity: sha512-lUOAUq0YSsofCXsP6XnlgfH0ZRDZ2X2XqXLXYjqf4xkSxCl5eBmE0EQYjAHF4zjUvU5rVx4a4bDLWv7+t3bOHg==} cpu: [x64] os: [linux] + libc: [glibc] '@rspack/binding-linux-x64-musl@1.2.7': resolution: {integrity: sha512-ZrPXfgT30p4DlydYavaTHiluxHkWvZHt7K4q7qNyTfYYowG6jRGwWi/PATdugNICGv027Wsh5nzEO4o27Iuhwg==} cpu: [x64] os: [linux] + libc: [musl] '@rspack/binding-win32-arm64-msvc@1.2.7': resolution: {integrity: sha512-1OzzM+OUSWX39XYcDfxJ8bGX5vNNrRejCMGotBEdP+uQ3KMWCPz0G4KRc3QIjghaLIYk3ofd83hcfUxyk/2Xog==} @@ -6152,7 +6168,6 @@ packages: '@rspack/cli@1.2.7': resolution: {integrity: sha512-nUUZuwnSEORqPcknhP+gkQh9YZqeOlmFKJA1YRnZ5QQkzugCehV+xzVjO+Ezd8R1CSMpqdAQq7+pFZ8rpaRymA==} - version: 1.2.7 hasBin: true peerDependencies: '@rspack/core': ^1.0.0-alpha || ^1.x @@ -6175,7 +6190,6 @@ packages: '@rspack/dev-server@1.0.10': resolution: {integrity: sha512-iDsEtP0jNHRm4LJxL00QFTlOuqkdxIFxnd69h0KrFadmtxAWiDLIe4vYdZXWF74w4MezsJFx6dB2nUM/Ok8utA==} - version: 1.0.10 engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': '*' @@ -6648,24 +6662,28 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [glibc] '@swc/core-linux-arm64-musl@1.11.7': resolution: {integrity: sha512-cTydaYBwDbVV5CspwVcCp9IevYWpGD1cF5B5KlBdjmBzxxeWyTAJRtKzn8w5/UJe/MfdAptarpqMPIs2f33YEQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [musl] '@swc/core-linux-x64-gnu@1.11.7': resolution: {integrity: sha512-YAX2KfYPlbDsnZiVMI4ZwotF3VeURUrzD+emJgFf1g26F4eEmslldgnDrKybW7V+bObsH22cDqoy6jmQZgpuPQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [glibc] '@swc/core-linux-x64-musl@1.11.7': resolution: {integrity: sha512-mYT6FTDZyYx5pailc8xt6ClS2yjKmP8jNHxA9Ce3K21n5qkKilI5M2N7NShwXkd3Ksw3F29wKrg+wvEMXTRY/A==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [musl] '@swc/core-win32-arm64-msvc@1.11.7': resolution: {integrity: sha512-uLDQEcv0BHcepypstyxKkNsW6KfLyI5jVxTbcxka+B2UnMcFpvoR87nGt2JYW0grO2SNZPoFz+UnoKL9c6JxpA==} @@ -7574,7 +7592,6 @@ packages: '@webpack-cli/configtest@3.0.1': resolution: {integrity: sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==} - version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -7582,7 +7599,6 @@ packages: '@webpack-cli/info@3.0.1': resolution: {integrity: sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==} - version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -7590,7 +7606,6 @@ packages: '@webpack-cli/serve@3.0.1': resolution: {integrity: sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==} - version: 3.0.1 engines: {node: '>=18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -8281,9 +8296,6 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bundler-upload-sdk@2.1.1: - resolution: {integrity: sha512-BzBHTGA2YoMDDmdLl45j9Lq/MxhnJm85k/m6wy1By0M04ZkZEUbDrdPbZ45+WJA20iWU1Rb4oH2H3fNnVYuVRA==} - busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -8783,7 +8795,6 @@ packages: copy-webpack-plugin@13.0.0: resolution: {integrity: sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==} - version: 13.0.0 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -9079,10 +9090,6 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -9326,7 +9333,6 @@ packages: devtools-ignore-webpack-plugin@0.2.0: resolution: {integrity: sha512-4P+1Y1VhSt1MRBRF6my8N1bs9nNMOFfIFSBHI6u18W73iCHWXNHTSWYeMoQQ72PIIHrP1q4koKpYg1Em3jb9Rw==} - version: 0.2.0 engines: {node: '>=16.14.2', npm: '>=8.5.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -10154,10 +10160,6 @@ packages: picomatch: optional: true - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -10179,7 +10181,6 @@ packages: file-loader@6.2.0: resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - version: 6.2.0 engines: {node: '>= 10.13.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -10315,10 +10316,6 @@ packages: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -10751,7 +10748,6 @@ packages: html-webpack-plugin@5.6.3: resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} - version: 5.6.3 engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -12625,10 +12621,6 @@ packages: node-addon-api@7.0.0: resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - node-fetch-native@1.4.1: resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} @@ -12641,10 +12633,6 @@ packages: encoding: optional: true - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -14071,7 +14059,6 @@ packages: source-map-loader@5.0.0: resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==} - version: 5.0.0 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -14409,7 +14396,6 @@ packages: swc-loader@0.2.6: resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} - version: 0.2.6 peerDependencies: '@swc/core': 1.11.7 webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -14445,7 +14431,6 @@ packages: terser-webpack-plugin@5.3.12: resolution: {integrity: sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==} - version: 5.3.12 engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -15318,9 +15303,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - weavevm-bundles@0.0.2: - resolution: {integrity: sha512-sJ2p7350AIQUkKi0SvIOfPqHz14n1/WTNxYfaVHkhN3WRY4WwtAZluM8mKJK+6MVxveNjtgjYGea4o7TAm+Hig==} - web-ext@8.4.0: resolution: {integrity: sha512-zO0GNacJeqw3fwbBvgHC2G8reieyN+oCKiMQepX3iv2fm9KEBqg1gdbcdEvi7edfj+gjgxyXhVlFcHIvcEM2Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -15329,10 +15311,6 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - web-vitals@3.5.2: resolution: {integrity: sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==} @@ -15512,7 +15490,6 @@ packages: webpack-dev-middleware@7.4.2: resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} - version: 7.4.2 engines: {node: '>= 18.12.0'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -15522,7 +15499,6 @@ packages: webpack-dev-server@5.0.4: resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} - version: 5.0.4 engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -15557,7 +15533,6 @@ packages: webpack-target-webextension@2.1.3: resolution: {integrity: sha512-rDNTgo0hdE1p6ayBy92qSRXdfivAqlaFbBOIirqfq/DSVdJvMbZ1yaDlftfzGDkkLlEeAblzl0zcQzTgp1UaKA==} - version: 2.1.3 engines: {node: '>=18.20.5'} peerDependencies: webpack: Jack-Works/webpack#528c91e564d5756e21c9c462b607d913452af770 @@ -18871,7 +18846,7 @@ snapshots: dependencies: resolve: 1.22.8 - '@lavamoat/webpack@0.8.1-beta.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@lavamoat/webpack@0.8.1-beta.0(webpack@5.88.2)': dependencies: '@lavamoat/aa': 4.3.1 browser-resolve: 2.0.0 @@ -19827,7 +19802,7 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@nice-labs/emit-file-webpack-plugin@1.1.4(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@nice-labs/emit-file-webpack-plugin@1.1.4(webpack@5.88.2)': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -20073,7 +20048,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.16.0)(type-fest@4.30.0)(webpack-dev-server@5.2.0)(webpack@5.88.2)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.32.1 @@ -20104,12 +20079,6 @@ snapshots: '@popperjs/core@2.11.8': {} - '@project-serum/borsh@0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))': - dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - bn.js: 5.2.1 - buffer-layout: 1.2.2 - '@project-serum/sol-wallet-adapter@0.2.6(patch_hash=dl5wqnnaxjm7biesxtvdpr7gpe)(@solana/web3.js@1.75.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.75.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) @@ -20315,11 +20284,11 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.2.7 '@rspack/binding-win32-x64-msvc': 1.2.7 - '@rspack/cli@1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@rspack/cli@1.2.7(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2)': dependencies: '@discoveryjs/json-ext': 0.5.7 '@rspack/core': 1.2.7(@swc/helpers@0.5.15) - '@rspack/dev-server': 1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + '@rspack/dev-server': 1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) colorette: 2.0.20 exit-hook: 4.0.0 interpret: 3.1.1 @@ -20344,7 +20313,7 @@ snapshots: optionalDependencies: '@swc/helpers': 0.5.15 - '@rspack/dev-server@1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@rspack/dev-server@1.0.10(@rspack/core@1.2.7(@swc/helpers@0.5.15))(@types/express@4.17.21)(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2)': dependencies: '@rspack/core': 1.2.7(@swc/helpers@0.5.15) chokidar: 3.6.0 @@ -20353,8 +20322,8 @@ snapshots: http-proxy-middleware: 2.0.7(@types/express@4.17.21) mime-types: 2.1.35 p-retry: 4.6.2 - webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) - webpack-dev-server: 5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + webpack-dev-middleware: 7.4.2(webpack@5.88.2) + webpack-dev-server: 5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@types/express' @@ -22799,17 +22768,17 @@ snapshots: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.88.2)': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.88.2)': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1))': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.0)(webpack@5.88.2)': dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2) @@ -23607,11 +23576,6 @@ snapshots: dependencies: run-applescript: 7.0.0 - bundler-upload-sdk@2.1.1: - dependencies: - form-data: 4.0.0 - node-fetch: 3.3.2 - busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -24105,7 +24069,7 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@13.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + copy-webpack-plugin@13.0.0(webpack@5.88.2): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 @@ -24548,8 +24512,6 @@ snapshots: dependencies: assert-plus: 1.0.0 - data-uri-to-buffer@4.0.1: {} - data-urls@3.0.2: dependencies: abab: 2.0.6 @@ -24733,7 +24695,7 @@ snapshots: dependencies: dequal: 2.0.3 - devtools-ignore-webpack-plugin@0.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + devtools-ignore-webpack-plugin@0.2.0(webpack@5.88.2): dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -25256,7 +25218,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: @@ -25267,13 +25229,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-i@2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)): + eslint-plugin-i@2.29.1(patch_hash=zgide6rxzjqivhxxv36ouq6c4y)(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)): dependencies: debug: 4.3.7 doctrine: 3.0.0 eslint: 9.21.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) get-tsconfig: 4.8.1 is-glob: 4.0.3 minimatch: 3.1.2 @@ -25294,7 +25256,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.21.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.28.1)(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0(jiti@2.4.2)) has: 1.0.4 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -26044,11 +26006,6 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - fflate@0.8.2: {} figures@3.2.0: @@ -26067,7 +26024,7 @@ snapshots: dependencies: flat-cache: 5.0.0 - file-loader@6.2.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + file-loader@6.2.0(webpack@5.88.2): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 @@ -26209,10 +26166,6 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - forwarded@0.2.0: {} fresh@0.5.2: {} @@ -26770,7 +26723,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + html-webpack-plugin@5.6.3(@rspack/core@1.2.7(@swc/helpers@0.5.15))(webpack@5.88.2): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -29124,8 +29077,6 @@ snapshots: node-addon-api@7.0.0: {} - node-domexception@1.0.0: {} - node-fetch-native@1.4.1: {} node-fetch@2.7.0(encoding@0.1.13): @@ -29134,12 +29085,6 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - node-forge@1.3.1: {} node-gyp-build@4.8.4: {} @@ -30839,7 +30784,7 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + source-map-loader@5.0.0(webpack@5.88.2): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -31202,7 +31147,7 @@ snapshots: - supports-color - utf-8-validate - swc-loader@0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + swc-loader@0.2.6(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2): dependencies: '@swc/core': 1.11.7(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 @@ -31246,7 +31191,7 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + terser-webpack-plugin@5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -32122,13 +32067,6 @@ snapshots: dependencies: defaults: 1.0.4 - weavevm-bundles@0.0.2(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)): - dependencies: - '@project-serum/borsh': 0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) - bn.js: 5.2.1 - transitivePeerDependencies: - - '@solana/web3.js' - web-ext@8.4.0(body-parser@1.20.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@babel/runtime': 7.26.7 @@ -32170,8 +32108,6 @@ snapshots: web-namespaces@2.0.1: {} - web-streams-polyfill@3.3.3: {} - web-vitals@3.5.2: {} web3-bzz@1.10.2(bufferutil@4.0.8)(utf-8-validate@5.0.10): @@ -32510,9 +32446,9 @@ snapshots: webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack-dev-server@5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.88.2) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.88.2) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.0)(webpack@5.88.2) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -32526,7 +32462,7 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2) - webpack-dev-middleware@7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + webpack-dev-middleware@7.4.2(webpack@5.88.2): dependencies: colorette: 2.0.20 memfs: 4.14.0 @@ -32537,7 +32473,7 @@ snapshots: optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) - webpack-dev-server@5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1(webpack-dev-server@5.2.0)(webpack@5.88.2))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + webpack-dev-server@5.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack-cli@6.0.1)(webpack@5.88.2): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -32567,7 +32503,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + webpack-dev-middleware: 7.4.2(webpack@5.88.2) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32605,7 +32541,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + webpack-dev-middleware: 7.4.2(webpack@5.88.2) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32624,7 +32560,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack-target-webextension@2.1.3(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)): + webpack-target-webextension@2.1.3(webpack@5.88.2): dependencies: webpack: https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1) @@ -32651,7 +32587,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@https://codeload.github.com/Jack-Works/webpack/tar.gz/f7244d8e23e799b84a536efb2fdccec5370ac37e(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.12(@swc/core@1.11.7(@swc/helpers@0.5.15))(webpack@5.88.2) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: