diff --git a/packages/synapse-core/package.json b/packages/synapse-core/package.json index c4eee63b8..482c1a7b0 100644 --- a/packages/synapse-core/package.json +++ b/packages/synapse-core/package.json @@ -183,10 +183,10 @@ } }, "dependencies": { + "@hugomrdias/filsnap-adapter": "^3.3.8", "@web3-storage/data-segment": "^5.3.0", "dnum": "^2.15.0", - "@hugomrdias/filsnap-adapter": "^3.3.8", - "iso-web": "^1.4.3", + "iso-web": "^2.0.0", "multiformats": "^13.4.1", "ox": "^0.9.12", "p-retry": "^7.1.0" diff --git a/packages/synapse-sdk/package.json b/packages/synapse-sdk/package.json index 27b3cb35f..26a19a0ca 100644 --- a/packages/synapse-sdk/package.json +++ b/packages/synapse-sdk/package.json @@ -135,9 +135,9 @@ "@wagmi/cli": "^2.7.0", "abitype": "^1.1.1", "chai": "^6.2.0", - "iso-web": "^1.4.3", + "iso-web": "^2.0.0", "mocha": "^11.7.4", - "msw": "~2.10.5", + "msw": "~2.12.4", "p-defer": "^4.0.1", "playwright-test": "^14.1.12", "type-fest": "^5.1.0", diff --git a/packages/synapse-sdk/src/test/metadata-selection.test.ts b/packages/synapse-sdk/src/test/metadata-selection.test.ts index e1ebdc4c4..f23892e58 100644 --- a/packages/synapse-sdk/src/test/metadata-selection.test.ts +++ b/packages/synapse-sdk/src/test/metadata-selection.test.ts @@ -114,8 +114,8 @@ describe('Metadata-based Data Set Selection', () => { let warmStorageService: WarmStorageService before(async () => { - server = setup([]) - await server.start({ quiet: true }) + server = setup() + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/metadata.test.ts b/packages/synapse-sdk/src/test/metadata.test.ts index 7b29583c2..4255bbf80 100644 --- a/packages/synapse-sdk/src/test/metadata.test.ts +++ b/packages/synapse-sdk/src/test/metadata.test.ts @@ -16,7 +16,7 @@ import { } from './mocks/pdp/handlers.ts' // Mock server for testing -const server = setup([]) +const server = setup() describe('Metadata Support', () => { const TEST_PRIVATE_KEY = '0x0101010101010101010101010101010101010101010101010101010101010101' @@ -28,7 +28,7 @@ describe('Metadata Support', () => { let pdpServer: PDPServer before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/mocks/mockServiceWorker.js b/packages/synapse-sdk/src/test/mocks/mockServiceWorker.js index 723b0714c..558540fa5 100644 --- a/packages/synapse-sdk/src/test/mocks/mockServiceWorker.js +++ b/packages/synapse-sdk/src/test/mocks/mockServiceWorker.js @@ -7,8 +7,8 @@ * - Please do NOT modify this file. */ -const PACKAGE_VERSION = '2.10.5' -const INTEGRITY_CHECKSUM = 'f5825c521429caf22a4dd13b66e243af' +const PACKAGE_VERSION = '2.12.4' +const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82' const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') const activeClientIds = new Set() @@ -71,11 +71,6 @@ addEventListener('message', async function (event) { break } - case 'MOCK_DEACTIVATE': { - activeClientIds.delete(clientId) - break - } - case 'CLIENT_CLOSED': { activeClientIds.delete(clientId) @@ -94,6 +89,8 @@ addEventListener('message', async function (event) { }) addEventListener('fetch', function (event) { + const requestInterceptedAt = Date.now() + // Bypass navigation requests. if (event.request.mode === 'navigate') { return @@ -110,23 +107,29 @@ addEventListener('fetch', function (event) { // Bypass all requests when there are no active clients. // Prevents the self-unregistered worked from handling requests - // after it's been deleted (still remains active until the next reload). + // after it's been terminated (still remains active until the next reload). if (activeClientIds.size === 0) { return } const requestId = crypto.randomUUID() - event.respondWith(handleRequest(event, requestId)) + event.respondWith(handleRequest(event, requestId, requestInterceptedAt)) }) /** * @param {FetchEvent} event * @param {string} requestId + * @param {number} requestInterceptedAt */ -async function handleRequest(event, requestId) { +async function handleRequest(event, requestId, requestInterceptedAt) { const client = await resolveMainClient(event) const requestCloneForEvents = event.request.clone() - const response = await getResponse(event, client, requestId) + const response = await getResponse( + event, + client, + requestId, + requestInterceptedAt, + ) // Send back the response clone for the "response:*" life-cycle events. // Ensure MSW is active and ready to handle the message, otherwise @@ -202,9 +205,10 @@ async function resolveMainClient(event) { * @param {FetchEvent} event * @param {Client | undefined} client * @param {string} requestId + * @param {number} requestInterceptedAt * @returns {Promise} */ -async function getResponse(event, client, requestId) { +async function getResponse(event, client, requestId, requestInterceptedAt) { // Clone the request because it might've been already used // (i.e. its body has been read and sent to the client). const requestClone = event.request.clone() @@ -255,6 +259,7 @@ async function getResponse(event, client, requestId) { type: 'REQUEST', payload: { id: requestId, + interceptedAt: requestInterceptedAt, ...serializedRequest, }, }, diff --git a/packages/synapse-sdk/src/test/payments.test.ts b/packages/synapse-sdk/src/test/payments.test.ts index 5931edc0e..fb600b8de 100644 --- a/packages/synapse-sdk/src/test/payments.test.ts +++ b/packages/synapse-sdk/src/test/payments.test.ts @@ -12,7 +12,7 @@ import { TIME_CONSTANTS, TOKENS } from '../utils/index.ts' import { ADDRESSES, JSONRPC, PRIVATE_KEYS, presets } from './mocks/jsonrpc/index.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('PaymentsService', () => { let provider: ethers.Provider @@ -22,7 +22,7 @@ describe('PaymentsService', () => { const usdfcAddress = ADDRESSES.calibration.usdfcToken before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/pdp-server.test.ts b/packages/synapse-sdk/src/test/pdp-server.test.ts index 85e681abe..5de831684 100644 --- a/packages/synapse-sdk/src/test/pdp-server.test.ts +++ b/packages/synapse-sdk/src/test/pdp-server.test.ts @@ -32,7 +32,7 @@ import { } from './mocks/pdp/handlers.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('PDPServer', () => { let pdpServer: PDPServer @@ -45,7 +45,7 @@ describe('PDPServer', () => { const TEST_CHAIN_ID = 31337 before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/pdp-verifier.test.ts b/packages/synapse-sdk/src/test/pdp-verifier.test.ts index ec37691f7..877b06a2a 100644 --- a/packages/synapse-sdk/src/test/pdp-verifier.test.ts +++ b/packages/synapse-sdk/src/test/pdp-verifier.test.ts @@ -11,7 +11,7 @@ import { setup } from 'iso-web/msw' import { PDPVerifier } from '../pdp/index.ts' import { ADDRESSES, JSONRPC, presets } from './mocks/jsonrpc/index.ts' -const server = setup([]) +const server = setup() describe('PDPVerifier', () => { let provider: ethers.Provider @@ -19,7 +19,7 @@ describe('PDPVerifier', () => { const testAddress = ADDRESSES.calibration.pdpVerifier before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/retriever-chain.test.ts b/packages/synapse-sdk/src/test/retriever-chain.test.ts index d30db16a1..227c04cd0 100644 --- a/packages/synapse-sdk/src/test/retriever-chain.test.ts +++ b/packages/synapse-sdk/src/test/retriever-chain.test.ts @@ -11,7 +11,7 @@ import { ADDRESSES, JSONRPC, PROVIDERS, presets } from './mocks/jsonrpc/index.ts import { mockServiceProviderRegistry } from './mocks/jsonrpc/service-registry.ts' // Mock server for testing -const server = setup([]) +const server = setup() // Create a mock PieceCID for testing const mockPieceCID = asPieceCID('bafkzcibeqcad6efnpwn62p5vvs5x3nh3j7xkzfgb3xtitcdm2hulmty3xx4tl3wace') as PieceCID @@ -33,7 +33,7 @@ describe('ChainRetriever', () => { let spRegistry: SPRegistryService before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/sp-registry-service.test.ts b/packages/synapse-sdk/src/test/sp-registry-service.test.ts index 39e031cbe..dd8a47847 100644 --- a/packages/synapse-sdk/src/test/sp-registry-service.test.ts +++ b/packages/synapse-sdk/src/test/sp-registry-service.test.ts @@ -9,7 +9,7 @@ import { ADDRESSES, JSONRPC, PRIVATE_KEYS, PROVIDERS, presets } from './mocks/js import { mockServiceProviderRegistry } from './mocks/jsonrpc/service-registry.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('SPRegistryService', () => { let provider: ethers.Provider @@ -17,7 +17,7 @@ describe('SPRegistryService', () => { let service: SPRegistryService before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/storage-upload.test.ts b/packages/synapse-sdk/src/test/storage-upload.test.ts index 826269dbf..8a457c70e 100644 --- a/packages/synapse-sdk/src/test/storage-upload.test.ts +++ b/packages/synapse-sdk/src/test/storage-upload.test.ts @@ -16,13 +16,13 @@ import { findAnyPieceHandler, streamingUploadHandlers } from './mocks/pdp/handle import { PING } from './mocks/ping.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('Storage Upload', () => { let signer: ethers.Signer let provider: ethers.Provider before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/storage.test.ts b/packages/synapse-sdk/src/test/storage.test.ts index 6726fe278..80522c2b7 100644 --- a/packages/synapse-sdk/src/test/storage.test.ts +++ b/packages/synapse-sdk/src/test/storage.test.ts @@ -25,7 +25,7 @@ import { import { PING } from './mocks/ping.ts' // MSW server for JSONRPC mocking -const server = setup([]) +const server = setup() function cidBytesToContractHex(bytes: Uint8Array): `0x${string}` { return ethers.hexlify(bytes) as `0x${string}` @@ -42,7 +42,7 @@ describe('StorageService', () => { before(async () => { // Set timeout to 100ms for testing SP.setTimeout(100) - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/synapse.test.ts b/packages/synapse-sdk/src/test/synapse.test.ts index 4e801125c..fc442f7e0 100644 --- a/packages/synapse-sdk/src/test/synapse.test.ts +++ b/packages/synapse-sdk/src/test/synapse.test.ts @@ -32,13 +32,13 @@ import { import { PING } from './mocks/ping.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('Synapse', () => { let signer: ethers.Signer let provider: ethers.Provider before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/telemetry.test.ts b/packages/synapse-sdk/src/test/telemetry.test.ts index a298dbfdd..15feb146c 100644 --- a/packages/synapse-sdk/src/test/telemetry.test.ts +++ b/packages/synapse-sdk/src/test/telemetry.test.ts @@ -16,7 +16,7 @@ import { sanitizeUrlForSpan } from '../telemetry/utils.ts' import { JSONRPC, PRIVATE_KEYS, presets } from './mocks/jsonrpc/index.ts' // Mock server for testing -const server = setup([]) +const server = setup() interface SentryRequest { request: Request @@ -52,7 +52,7 @@ describe('Telemetry', () => { let signer: ethers.Signer beforeEach(async () => { - await server.start({ quiet: true }) + await server.start() server.use(JSONRPC(presets.basic)) mockSentryRequests() diff --git a/packages/synapse-sdk/src/test/warm-storage-metadata.test.ts b/packages/synapse-sdk/src/test/warm-storage-metadata.test.ts index 26f7c9edd..1c1f812f5 100644 --- a/packages/synapse-sdk/src/test/warm-storage-metadata.test.ts +++ b/packages/synapse-sdk/src/test/warm-storage-metadata.test.ts @@ -11,8 +11,8 @@ describe('WarmStorageService Metadata', () => { let warmStorageService: WarmStorageService before(async () => { - server = setup([]) - await server.start({ quiet: true }) + server = setup() + await server.start() }) after(() => { diff --git a/packages/synapse-sdk/src/test/warm-storage-service.test.ts b/packages/synapse-sdk/src/test/warm-storage-service.test.ts index 87ebd2dee..ed3f50ce9 100644 --- a/packages/synapse-sdk/src/test/warm-storage-service.test.ts +++ b/packages/synapse-sdk/src/test/warm-storage-service.test.ts @@ -15,7 +15,7 @@ import { makeDataSetCreatedLog } from './mocks/events.ts' import { ADDRESSES, JSONRPC, PRIVATE_KEYS, presets } from './mocks/jsonrpc/index.ts' // mock server for testing -const server = setup([]) +const server = setup() describe('WarmStorageService', () => { let provider: ethers.Provider @@ -28,7 +28,7 @@ describe('WarmStorageService', () => { } before(async () => { - await server.start({ quiet: true }) + await server.start() }) after(() => {