From beb838f9eb5dc555c1bc94b8da4cd769c6e863e5 Mon Sep 17 00:00:00 2001 From: Henry Tsai Date: Thu, 9 Mar 2023 17:40:53 -0800 Subject: [PATCH] #245 - updated multiformats, @ipld/dag-cbor, and interface-blockstore dependencies (#255) #245 - updated multiformats, @ipld/dag-cbor, and interface-blockstore dependencies (#255) --- package-lock.json | 288 ++++++++++++++----------------- package.json | 6 +- src/store/message-store-level.ts | 4 +- src/utils/cid.ts | 6 +- tests/utils/cid.spec.ts | 10 +- 5 files changed, 147 insertions(+), 167 deletions(-) diff --git a/package-lock.json b/package-lock.json index f4cff028e..753bc728a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.25", "license": "Apache-2.0", "dependencies": { - "@ipld/dag-cbor": "7.0.1", + "@ipld/dag-cbor": "9.0.0", "@js-temporal/polyfill": "0.4.3", "@noble/ed25519": "1.7.1", "@noble/secp256k1": "1.7.1", @@ -23,7 +23,7 @@ "blockstore-core": "3.0.0", "cross-fetch": "3.1.5", "date-fns": "2.28.0", - "interface-blockstore": "2.0.3", + "interface-blockstore": "4.0.1", "ipfs-unixfs": "6.0.9", "ipfs-unixfs-exporter": "7.0.11", "ipfs-unixfs-importer": "14.0.1", @@ -31,7 +31,7 @@ "lodash": "4.17.21", "lru-cache": "7.12.0", "ms": "2.1.3", - "multiformats": "9.6.4", + "multiformats": "11.0.2", "randombytes": "2.1.0", "readable-stream": "^4.3.0", "search-index": "3.1.3", @@ -543,12 +543,16 @@ "dev": true }, "node_modules/@ipld/dag-cbor": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.1.tgz", - "integrity": "sha512-XqG8VEzHjQDC/Qcy5Gyf1kvAav5VuAugc6c7VtdaRLI+3d8lJrUP3F76GYJNNXuEnRZ58cCBnNNglkIGTdg1+A==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.0.0.tgz", + "integrity": "sha512-zdsiSiYDEOIDW7mmWOYWC9gukjXO+F8wqxz/LfN7iSwTfIyipC8+UQrCbPupFMRb/33XQTZk8yl3My8vUQBRoA==", "dependencies": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" + "cborg": "^1.10.0", + "multiformats": "^11.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/@ipld/dag-pb": { @@ -559,6 +563,11 @@ "multiformats": "^9.5.4" } }, + "node_modules/@ipld/dag-pb/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -625,6 +634,11 @@ "murmurhash3js-revisited": "^3.0.0" } }, + "node_modules/@multiformats/murmur3/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "node_modules/@noble/ed25519": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", @@ -1421,37 +1435,6 @@ "npm": ">=7.0.0" } }, - "node_modules/blockstore-core/node_modules/interface-blockstore": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", - "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", - "dependencies": { - "interface-store": "^3.0.0", - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/blockstore-core/node_modules/interface-store": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", - "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/blockstore-core/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -1778,9 +1761,9 @@ } }, "node_modules/cborg": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.9.5.tgz", - "integrity": "sha512-fLBv8wmqtlXqy1Yu+pHzevAIkW6k2K0ZtMujNzWphLsA34vzzg9BHn+5GmZqOJkSA9V7EMKsWrf6K976c1QMjQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", + "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==", "bin": { "cborg": "cli.js" } @@ -3710,18 +3693,26 @@ "dev": true }, "node_modules/interface-blockstore": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.3.tgz", - "integrity": "sha512-OwVUnlNcx7H5HloK0Myv6c/C1q9cNG11HX6afdeU6q6kbuNj8jKCwVnmJHhC94LZaJ+9hvVOk4IUstb3Esg81w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", + "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", "dependencies": { - "interface-store": "^2.0.2", - "multiformats": "^9.0.4" + "interface-store": "^3.0.0", + "multiformats": "^11.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", + "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } }, "node_modules/internal-slot": { "version": "1.0.3", @@ -3780,6 +3771,25 @@ "multiformats": "^9.5.4" } }, + "node_modules/ipfs-unixfs-exporter/node_modules/interface-blockstore": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.3.tgz", + "integrity": "sha512-OwVUnlNcx7H5HloK0Myv6c/C1q9cNG11HX6afdeU6q6kbuNj8jKCwVnmJHhC94LZaJ+9hvVOk4IUstb3Esg81w==", + "dependencies": { + "interface-store": "^2.0.2", + "multiformats": "^9.0.4" + } + }, + "node_modules/ipfs-unixfs-exporter/node_modules/interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" + }, + "node_modules/ipfs-unixfs-exporter/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "node_modules/ipfs-unixfs-importer": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-14.0.1.tgz", @@ -3843,28 +3853,6 @@ "npm": ">=7.0.0" } }, - "node_modules/ipfs-unixfs-importer/node_modules/interface-blockstore": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", - "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", - "dependencies": { - "interface-store": "^3.0.0", - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/ipfs-unixfs-importer/node_modules/interface-store": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", - "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/ipfs-unixfs-importer/node_modules/ipfs-unixfs": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-11.0.0.tgz", @@ -3879,15 +3867,6 @@ "npm": ">=7.0.0" } }, - "node_modules/ipfs-unixfs-importer/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/ipfs-unixfs-importer/node_modules/uint8arrays": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", @@ -5442,9 +5421,13 @@ "dev": true }, "node_modules/multiformats": { - "version": "9.6.4", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.6.4.tgz", - "integrity": "sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg==" + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } }, "node_modules/murmurhash3js-revisited": { "version": "3.0.0", @@ -7439,15 +7422,6 @@ "npm": ">=7.0.0" } }, - "node_modules/uint8arraylist/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/uint8arraylist/node_modules/uint8arrays": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", @@ -7468,6 +7442,11 @@ "multiformats": "^9.4.2" } }, + "node_modules/uint8arrays/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -8077,12 +8056,12 @@ "dev": true }, "@ipld/dag-cbor": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.1.tgz", - "integrity": "sha512-XqG8VEzHjQDC/Qcy5Gyf1kvAav5VuAugc6c7VtdaRLI+3d8lJrUP3F76GYJNNXuEnRZ58cCBnNNglkIGTdg1+A==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.0.0.tgz", + "integrity": "sha512-zdsiSiYDEOIDW7mmWOYWC9gukjXO+F8wqxz/LfN7iSwTfIyipC8+UQrCbPupFMRb/33XQTZk8yl3My8vUQBRoA==", "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" + "cborg": "^1.10.0", + "multiformats": "^11.0.0" } }, "@ipld/dag-pb": { @@ -8091,6 +8070,13 @@ "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", "requires": { "multiformats": "^9.5.4" + }, + "dependencies": { + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + } } }, "@istanbuljs/schema": { @@ -8150,6 +8136,13 @@ "requires": { "multiformats": "^9.5.4", "murmurhash3js-revisited": "^3.0.0" + }, + "dependencies": { + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + } } }, "@noble/ed25519": { @@ -8754,27 +8747,6 @@ "it-filter": "^2.0.0", "it-take": "^2.0.0", "multiformats": "^11.0.0" - }, - "dependencies": { - "interface-blockstore": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", - "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", - "requires": { - "interface-store": "^3.0.0", - "multiformats": "^11.0.0" - } - }, - "interface-store": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", - "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==" - }, - "multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==" - } } }, "bn.js": { @@ -9053,9 +9025,9 @@ "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" }, "cborg": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.9.5.tgz", - "integrity": "sha512-fLBv8wmqtlXqy1Yu+pHzevAIkW6k2K0ZtMujNzWphLsA34vzzg9BHn+5GmZqOJkSA9V7EMKsWrf6K976c1QMjQ==" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", + "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==" }, "chai": { "version": "4.3.6", @@ -10556,18 +10528,18 @@ "dev": true }, "interface-blockstore": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.3.tgz", - "integrity": "sha512-OwVUnlNcx7H5HloK0Myv6c/C1q9cNG11HX6afdeU6q6kbuNj8jKCwVnmJHhC94LZaJ+9hvVOk4IUstb3Esg81w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", + "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", "requires": { - "interface-store": "^2.0.2", - "multiformats": "^9.0.4" + "interface-store": "^3.0.0", + "multiformats": "^11.0.0" } }, "interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", + "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==" }, "internal-slot": { "version": "1.0.3", @@ -10614,6 +10586,25 @@ "cborg": "^1.6.0", "multiformats": "^9.5.4" } + }, + "interface-blockstore": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-2.0.3.tgz", + "integrity": "sha512-OwVUnlNcx7H5HloK0Myv6c/C1q9cNG11HX6afdeU6q6kbuNj8jKCwVnmJHhC94LZaJ+9hvVOk4IUstb3Esg81w==", + "requires": { + "interface-store": "^2.0.2", + "multiformats": "^9.0.4" + } + }, + "interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" + }, + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" } } }, @@ -10664,20 +10655,6 @@ "uint8arrays": "^4.0.2" } }, - "interface-blockstore": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-4.0.1.tgz", - "integrity": "sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw==", - "requires": { - "interface-store": "^3.0.0", - "multiformats": "^11.0.0" - } - }, - "interface-store": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", - "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==" - }, "ipfs-unixfs": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-11.0.0.tgz", @@ -10688,11 +10665,6 @@ "uint8arraylist": "^2.4.3" } }, - "multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==" - }, "uint8arrays": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", @@ -11851,9 +11823,9 @@ "dev": true }, "multiformats": { - "version": "9.6.4", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.6.4.tgz", - "integrity": "sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg==" + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" }, "murmurhash3js-revisited": { "version": "3.0.0", @@ -13328,11 +13300,6 @@ "uint8arrays": "^4.0.2" }, "dependencies": { - "multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==" - }, "uint8arrays": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", @@ -13349,6 +13316,13 @@ "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", "requires": { "multiformats": "^9.4.2" + }, + "dependencies": { + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + } } }, "unbox-primitive": { diff --git a/package.json b/package.json index 24b831841..e04ab3ee7 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "publish:unstable": "./build/publish-unstable.sh" }, "dependencies": { - "@ipld/dag-cbor": "7.0.1", + "@ipld/dag-cbor": "9.0.0", "@js-temporal/polyfill": "0.4.3", "@noble/ed25519": "1.7.1", "@noble/secp256k1": "1.7.1", @@ -62,7 +62,7 @@ "blockstore-core": "3.0.0", "cross-fetch": "3.1.5", "date-fns": "2.28.0", - "interface-blockstore": "2.0.3", + "interface-blockstore": "4.0.1", "ipfs-unixfs": "6.0.9", "ipfs-unixfs-exporter": "7.0.11", "ipfs-unixfs-importer": "14.0.1", @@ -70,7 +70,7 @@ "lodash": "4.17.21", "lru-cache": "7.12.0", "ms": "2.1.3", - "multiformats": "9.6.4", + "multiformats": "11.0.2", "randombytes": "2.1.0", "readable-stream": "^4.3.0", "search-index": "3.1.3", diff --git a/src/store/message-store-level.ts b/src/store/message-store-level.ts index ba319362e..ef8a0cbf4 100644 --- a/src/store/message-store-level.ts +++ b/src/store/message-store-level.ts @@ -73,7 +73,7 @@ export class MessageStoreLevel implements MessageStore { return undefined; } - const decodedBlock = await abortOr(options?.signal, block.decode({ bytes, codec: cbor, hasher: sha256 })); + const decodedBlock = await abortOr(options?.signal, block.decode({ bytes, codec: cbor, hasher: sha256 })); const messageJson = decodedBlock.value as BaseMessage; return messageJson; @@ -126,7 +126,7 @@ export class MessageStoreLevel implements MessageStore { const partition = this.blockstore.partition(tenant); - const encodedMessageBlock = await abortOr(options?.signal, block.encode({ value: message, codec: cbor, hasher: sha256 })); + const encodedMessageBlock = await abortOr(options?.signal, block.encode({ value: message, codec: cbor, hasher: sha256 })); await partition.put(encodedMessageBlock.cid, encodedMessageBlock.bytes, options); diff --git a/src/utils/cid.ts b/src/utils/cid.ts index 3e88e42bf..d8bf0f43a 100644 --- a/src/utils/cid.ts +++ b/src/utils/cid.ts @@ -29,7 +29,11 @@ const codecs = { * @throws {Error} encoding fails * @throws {Error} if hasher is not supported */ -export async function computeCid(payload: any, codecCode = cbor.code, multihashCode = sha256.code): Promise { +export async function computeCid( + payload: any, + codecCode: number = cbor.code, + multihashCode: number = sha256.code +): Promise { const codec = codecs[codecCode]; if (!codec) { throw new Error(`codec [${codecCode}] not supported`); diff --git a/tests/utils/cid.spec.ts b/tests/utils/cid.spec.ts index baae39b3f..cf0489b24 100644 --- a/tests/utils/cid.spec.ts +++ b/tests/utils/cid.spec.ts @@ -24,19 +24,21 @@ describe('CID', () => { describe('computeCid', () => { it('throws an error if codec is not supported', async () => { + const unsupportedCodec = 99999; const anyTestData = { a: TestDataGenerator.randomString(32), }; - const computeCidPromise = computeCid(anyTestData, 'unknownCodec'); - await expect(computeCidPromise).to.be.rejectedWith('codec [unknownCodec] not supported'); + const computeCidPromise = computeCid(anyTestData, 99999); + await expect(computeCidPromise).to.be.rejectedWith(`codec [${unsupportedCodec}] not supported`); }); it('throws an error if multihasher is not supported', async () => { + const unsupportedHashAlgorithm = 99999; const anyTestData = { a: TestDataGenerator.randomString(32), }; - const computeCidPromise = computeCid(anyTestData, '113', 'unknownHashingAlgorithm'); // 113 = CBOR - await expect(computeCidPromise).to.be.rejectedWith('multihash code [unknownHashingAlgorithm] not supported'); + const computeCidPromise = computeCid(anyTestData, 113, 99999); // 113 = CBOR + await expect(computeCidPromise).to.be.rejectedWith(`multihash code [${unsupportedHashAlgorithm}] not supported`); }); it('should by default generate a CBOR SHA256 CID identical to IPFS block encoding algorithm', async () => {