diff --git a/.github/workflows/synapse-sdk-check.yml b/.github/workflows/synapse-sdk-check.yml index cfd78cb2..1b61633d 100644 --- a/.github/workflows/synapse-sdk-check.yml +++ b/.github/workflows/synapse-sdk-check.yml @@ -91,6 +91,11 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + # Ensure the label exists before creating or finding an issue. + gh label create "synapse-sdk-update" \ + --description "Synapse SDK update failures" \ + --color "0366d6" --force + # Comment on existing open issue if one exists; otherwise create a new one EXISTING=$(gh issue list --label "synapse-sdk-update" --state open --json number --jq '.[0].number') if [ -n "$EXISTING" ]; then @@ -115,3 +120,9 @@ jobs: --label "synapse-sdk-update,bug" \ --body-file issue-body.md fi + + - name: Fail workflow on build failure + if: ${{ always() && steps.build.outcome == 'failure' }} + run: | + echo "::error::Build failed with the latest Synapse SDK. See the Build project step for details." + exit 1 diff --git a/package-lock.json b/package-lock.json index 68fbadd7..f2aca470 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@filecoin-foundation/ui-filecoin": "^0.9.0", - "@filoz/synapse-sdk": "^1.1.1", + "@filoz/synapse-sdk": "^2.0.2", "@headlessui/react": "^2.2.9", "@phosphor-icons/react": "^2.1.10", "@radix-ui/react-accordion": "^1.2.12", @@ -2259,20 +2259,19 @@ } }, "node_modules/@filoz/synapse-core": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@filoz/synapse-core/-/synapse-core-0.7.1.tgz", - "integrity": "sha512-4vZZJbumv64ZKR+BjfhLJvP57ga/GhSHy/k2jIWuXInXGwM5qPmKvaCS7CkpzQwiSIXahO161DBNRLVH8SrVfQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@filoz/synapse-core/-/synapse-core-0.10.0.tgz", + "integrity": "sha512-i1mN0YbjMUtNrkg0VxgiOoHoJ5ytBvrtMcbAWK/IDzmOZUC879pkEUPpgQPkBrBeJi+0YfkKuRc560fkju3jbQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "dnum": "^2.15.0", + "dnum": "2.17.0", "iso-web": "^3.1.2", - "multiformats": "^14.0.0", - "ox": "^0.14.29", - "p-locate": "^7.0.0", - "p-queue": "^9.1.2", - "p-some": "^7.0.0", - "sync-multihash-sha2": "^1.0.0", - "zod": "^4.3.5" + "multiformats": "14.0.5", + "ox": "0.14.29", + "p-locate": "7.0.0", + "p-some": "7.0.0", + "sync-multihash-sha2": "1.0.0", + "zod": "4.4.3" }, "peerDependencies": { "viem": "2.x" @@ -2312,9 +2311,9 @@ } }, "node_modules/@filoz/synapse-core/node_modules/ox": { - "version": "0.14.33", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.33.tgz", - "integrity": "sha512-rooA/4o7bBof4Ge2VH/eovfNPb/AEEYyrNj03wggc55g5HZD8Pjs/OeWhttgjic3dDcqn0r29bDuvQEdTiUemQ==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.29.tgz", + "integrity": "sha512-M5j87Ec4V99MQdRct/g09eWXW60g6zhHTUs1lr4deUtrPDnezBdCJTgKd7pxqTpSZBFveV0ALi9jMMuT1qKyNg==", "funding": [ { "type": "github", @@ -2342,13 +2341,13 @@ } }, "node_modules/@filoz/synapse-sdk": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@filoz/synapse-sdk/-/synapse-sdk-1.1.1.tgz", - "integrity": "sha512-m+DqCbjTID2VDBGa2iFQqmF7xjTVoANQjsdk54ikNSolZDLAvZK3TtoArlp0CKp9/L67bAw5ptm4SLJJPE+Rmw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@filoz/synapse-sdk/-/synapse-sdk-2.0.2.tgz", + "integrity": "sha512-PiYybc4FHq/YWHouZKiS9otp3e32agE2u0C26L04uPklfYMdVeagJV38LlppxDkSTmymHrxJ292i6kGZe9hG4A==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@filoz/synapse-core": "^0.7.1", - "multiformats": "^14.0.0" + "@filoz/synapse-core": "^0.10.0", + "multiformats": "14.0.5" }, "peerDependencies": { "viem": "2.x" @@ -5280,9 +5279,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.4.tgz", - "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", + "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", "funding": [ { "type": "github", @@ -5903,9 +5902,9 @@ } }, "node_modules/kysely": { - "version": "0.29.4", - "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.29.4.tgz", - "integrity": "sha512-y5mVgQNkMbs1eK9Xyc0pmNdabN2wHhRYY/5r4W5HrUT1rYCEPeVNSj1RUJeSDKT3U0p+mXCvLgkrFuIafYI6BA==", + "version": "0.29.6", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.29.6.tgz", + "integrity": "sha512-hHaB8C/rfzDDtr/t8YZwxAuPJTT0zHyaPoVzcXwDYhYNAgH/4sIfVhi/XLLIY+bL/FqaIJnjATDbi8ObSELmxg==", "license": "MIT", "engines": { "node": ">=22.0.0" @@ -7350,9 +7349,9 @@ } }, "node_modules/p-limit": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.1.tgz", - "integrity": "sha512-0trZaiG7Y7kN/Egy9a8j47t9osC0Tch4PaIWd9yGF6bvmlk7muExRvGNYb8sXBwEKMoNKsbNN9P8EefuQekE4Q==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.3.tgz", + "integrity": "sha512-SKgVvDU5TNIxQ4r30U75BNLC6a+6GOEjngrk/ysM5+Zu3oJuk1SC5ApzIzY/7PjCEjoVPMWJ0zho/4QUiEB7TQ==", "license": "MIT", "dependencies": { "yocto-queue": "^1.2.1" @@ -7379,32 +7378,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-queue": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.3.tgz", - "integrity": "sha512-NXAOdnEe5FsZJfT4oK84lE1Y5cFFdWlRuOo5tww8DyNMxyRXwn39fIkUtNLKppcPC+UYU/bXujNCUGDv01y7CA==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^5.0.4", - "p-timeout": "^7.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue/node_modules/eventemitter3": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", - "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", - "license": "MIT" - }, "node_modules/p-retry": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-8.0.0.tgz", - "integrity": "sha512-kFVqH1HxOHp8LupNsOys7bSV09VYTRLxarH/mokO4Rqhk6wGi70E0jh4VzvVGXfEVNggHoHLAMWsQqHyU1Ey9A==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-8.0.1.tgz", + "integrity": "sha512-NAigyu8hfvJe7MsS18mnc4is0MZtau3QMdBklaJKK23oBQb6occO3UPM3vHmTckW8KhfyjMZaUOqdTFEYliHgg==", "license": "MIT", "dependencies": { "is-network-error": "^1.3.0" @@ -7428,18 +7405,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-timeout": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", - "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", - "license": "MIT", - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/parent-module": { "version": "1.0.1", "dev": true, @@ -8315,9 +8280,9 @@ "license": "MIT" }, "node_modules/type-fest": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.8.0.tgz", - "integrity": "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.10.0.tgz", + "integrity": "sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==", "license": "(MIT OR CC0-1.0)", "dependencies": { "tagged-tag": "^1.0.0" @@ -8356,9 +8321,9 @@ "license": "MIT" }, "node_modules/uint8array-extras": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", - "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.6.0.tgz", + "integrity": "sha512-8iAasVS4wUx0gPLjH8Xtz2PeDzTSiy8QiLGu2DT3X5GU+egFEQhpnbtkehbAwjvDcxIERmCYcysiODFmE3Ud0Q==", "license": "MIT", "engines": { "node": ">=18" @@ -8815,7 +8780,9 @@ } }, "node_modules/zod": { - "version": "4.3.6", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/package.json b/package.json index fb50a5c3..de3b719f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@filecoin-foundation/ui-filecoin": "^0.9.0", - "@filoz/synapse-sdk": "^1.1.1", + "@filoz/synapse-sdk": "^2.0.2", "@headlessui/react": "^2.2.9", "@phosphor-icons/react": "^2.1.10", "@radix-ui/react-accordion": "^1.2.12", diff --git a/src/app/warm-storage-service/data/synapse-code-snippet.ts b/src/app/warm-storage-service/data/synapse-code-snippet.ts index a7408a2b..91b107c8 100644 --- a/src/app/warm-storage-service/data/synapse-code-snippet.ts +++ b/src/app/warm-storage-service/data/synapse-code-snippet.ts @@ -8,7 +8,7 @@ const synapse = Synapse.create({ const data = new TextEncoder().encode(\`🚀 Welcome to decentralized storage on Filecoin Onchain Cloud! Onchain Proof of Data Possession ensures your data is always verifiable.\`) const { transaction } = await synapse.storage.prepare({ - dataSize: BigInt(data.length), + pieceSizes: [BigInt(data.byteLength)], }) if (transaction) {