Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/ipfs-migration-banner.md

This file was deleted.

35 changes: 0 additions & 35 deletions .changeset/ipfs-store-blob.md

This file was deleted.

29 changes: 29 additions & 0 deletions apps/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# @blobscan/docs

## 0.3.0

### Minor Changes

- [#998](https://github.com/Blobscan/blobscan/pull/998) [`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a) Thanks [@PJColombo](https://github.com/PJColombo)! - Implement `IpfsStorage.storeBlob` via the blobscan-ipld push endpoint

`IpfsStorage` can now write blobs (previously read-only): `_storeBlob`
POSTs the blob plus its beacon/execution context to the blobscan-ipld
service's `POST /blob` endpoint and persists the returned `data_cid` as the
reference. To carry the extra fields the endpoint requires (commitment,
tx hash, blob index, slot, epoch, block number, block hash), a new
optional `BlobContext` is threaded through `BlobStorage.storeBlob`,
`BlobStorageManager`, the propagator's `BlobPropagationInput`, and the
indexer. The context is optional at the storage interface so other
backends are unaffected; `IpfsStorage` asserts its presence at runtime.
`finalize` is always sent as `false` since epoch completeness can't be
known per blob.

IPFS can now be selected as `PRIMARY_BLOB_STORAGE` (it was previously
rejected as write-incapable). The write endpoint lives at a different
base URL than the read gateway, so a new `IPFS_STORAGE_IPLD_URL` env var
configures it; it's passed to `IpfsStorage` as a dedicated `ipldUrl` and
is required when IPFS is the primary storage.

`IpfsStorage`'s health check now targets the blobscan-ipld service's
`/readyz` endpoint when a write URL (`ipldUrl`) is configured, since that
service owns the kubo client and the write path; read-only deployments
(gateway only) still probe the IPFS gateway directly.

## 0.2.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/docs",
"version": "0.2.0",
"version": "0.3.0",
"private": true,
"scripts": {
"dev": "next dev -p 3002",
Expand Down
40 changes: 40 additions & 0 deletions apps/rest-api-server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# @blobscan/rest-api-server

## 0.16.0

### Minor Changes

- [#998](https://github.com/Blobscan/blobscan/pull/998) [`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a) Thanks [@PJColombo](https://github.com/PJColombo)! - Implement `IpfsStorage.storeBlob` via the blobscan-ipld push endpoint

`IpfsStorage` can now write blobs (previously read-only): `_storeBlob`
POSTs the blob plus its beacon/execution context to the blobscan-ipld
service's `POST /blob` endpoint and persists the returned `data_cid` as the
reference. To carry the extra fields the endpoint requires (commitment,
tx hash, blob index, slot, epoch, block number, block hash), a new
optional `BlobContext` is threaded through `BlobStorage.storeBlob`,
`BlobStorageManager`, the propagator's `BlobPropagationInput`, and the
indexer. The context is optional at the storage interface so other
backends are unaffected; `IpfsStorage` asserts its presence at runtime.
`finalize` is always sent as `false` since epoch completeness can't be
known per blob.

IPFS can now be selected as `PRIMARY_BLOB_STORAGE` (it was previously
rejected as write-incapable). The write endpoint lives at a different
base URL than the read gateway, so a new `IPFS_STORAGE_IPLD_URL` env var
configures it; it's passed to `IpfsStorage` as a dedicated `ipldUrl` and
is required when IPFS is the primary storage.

`IpfsStorage`'s health check now targets the blobscan-ipld service's
`/readyz` endpoint when a write URL (`ipldUrl`) is configured, since that
service owns the kubo client and the write path; read-only deployments
(gateway only) still probe the IPFS gateway directly.

### Patch Changes

- Updated dependencies [[`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a)]:
- @blobscan/blob-storage-manager@3.0.0
- @blobscan/blob-propagator@3.0.0
- @blobscan/api@3.0.0
- @blobscan/db@0.29.0
- @blobscan/env@0.4.0
- @blobscan/rollups@3.0.0
- @blobscan/syncers@0.6.7

## 0.15.0

### Minor Changes
Expand Down
16 changes: 8 additions & 8 deletions apps/rest-api-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/rest-api-server",
"version": "0.15.0",
"version": "0.16.0",
"private": true,
"scripts": {
"build": "ncc build src/index.ts --target es2020 --minify",
Expand All @@ -17,18 +17,18 @@
"keywords": [],
"license": "MIT",
"dependencies": {
"@blobscan/api": "workspace:^2.0.0",
"@blobscan/blob-propagator": "workspace:^2.0.0",
"@blobscan/blob-storage-manager": "workspace:^2.0.0",
"@blobscan/api": "workspace:^3.0.0",
"@blobscan/blob-propagator": "workspace:^3.0.0",
"@blobscan/blob-storage-manager": "workspace:^3.0.0",
"@blobscan/chains": "workspace:^0.5.0",
"@blobscan/db": "workspace:^0.28.0",
"@blobscan/env": "workspace:^0.3.0",
"@blobscan/db": "workspace:^0.29.0",
"@blobscan/env": "workspace:^0.4.0",
"@blobscan/errors": "workspace:^0.0.2",
"@blobscan/logger": "workspace:^0.1.5",
"@blobscan/open-telemetry": "workspace:^0.0.10",
"@blobscan/price-feed": "workspace:^0.1.0",
"@blobscan/rollups": "workspace:^2.0.0",
"@blobscan/syncers": "workspace:^0.6.6",
"@blobscan/rollups": "workspace:^3.0.0",
"@blobscan/syncers": "workspace:^0.6.7",
"@blobscan/zod": "workspace:^0.1.0",
"@opentelemetry/instrumentation-express": "^0.33.0",
"@sentry/node": "^7.109.0",
Expand Down
40 changes: 40 additions & 0 deletions apps/web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# @blobscan/web

## 0.54.0

### Minor Changes

- [#1001](https://github.com/Blobscan/blobscan/pull/1001) [`2865527`](https://github.com/Blobscan/blobscan/commit/286552761a56ca0be2cec5f99114506273a4c733) Thanks [@PJColombo](https://github.com/PJColombo)! - Add a banner announcing the migration to IPFS-based blob storage

- [#998](https://github.com/Blobscan/blobscan/pull/998) [`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a) Thanks [@PJColombo](https://github.com/PJColombo)! - Implement `IpfsStorage.storeBlob` via the blobscan-ipld push endpoint

`IpfsStorage` can now write blobs (previously read-only): `_storeBlob`
POSTs the blob plus its beacon/execution context to the blobscan-ipld
service's `POST /blob` endpoint and persists the returned `data_cid` as the
reference. To carry the extra fields the endpoint requires (commitment,
tx hash, blob index, slot, epoch, block number, block hash), a new
optional `BlobContext` is threaded through `BlobStorage.storeBlob`,
`BlobStorageManager`, the propagator's `BlobPropagationInput`, and the
indexer. The context is optional at the storage interface so other
backends are unaffected; `IpfsStorage` asserts its presence at runtime.
`finalize` is always sent as `false` since epoch completeness can't be
known per blob.

IPFS can now be selected as `PRIMARY_BLOB_STORAGE` (it was previously
rejected as write-incapable). The write endpoint lives at a different
base URL than the read gateway, so a new `IPFS_STORAGE_IPLD_URL` env var
configures it; it's passed to `IpfsStorage` as a dedicated `ipldUrl` and
is required when IPFS is the primary storage.

`IpfsStorage`'s health check now targets the blobscan-ipld service's
`/readyz` endpoint when a write URL (`ipldUrl`) is configured, since that
service owns the kubo client and the write path; read-only deployments
(gateway only) still probe the IPFS gateway directly.

### Patch Changes

- Updated dependencies [[`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a)]:
- @blobscan/blob-storage-manager@3.0.0
- @blobscan/api@3.0.0
- @blobscan/db@0.29.0
- @blobscan/env@0.4.0
- @blobscan/rollups@3.0.0

## 0.53.0

### Minor Changes
Expand Down
12 changes: 6 additions & 6 deletions apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/web",
"version": "0.53.0",
"version": "0.54.0",
"private": true,
"scripts": {
"analyze": "ANALYZE=true pnpm build",
Expand All @@ -15,18 +15,18 @@
"with-env": "dotenv -e ../../.env --"
},
"dependencies": {
"@blobscan/api": "workspace:^2.0.0",
"@blobscan/api": "workspace:^3.0.0",
"@blobscan/blob-decoder": "workspace:^0.2.2",
"@blobscan/blob-storage-manager": "workspace:^2.0.0",
"@blobscan/blob-storage-manager": "workspace:^3.0.0",
"@blobscan/chains": "workspace:^0.5.0",
"@blobscan/dates": "workspace:*",
"@blobscan/dayjs": "workspace:^0.1.1",
"@blobscan/db": "workspace:^0.28.0",
"@blobscan/env": "workspace:^0.3.0",
"@blobscan/db": "workspace:^0.29.0",
"@blobscan/env": "workspace:^0.4.0",
"@blobscan/eth-format": "workspace:^0.1.0",
"@blobscan/logger": "workspace:^0.1.4",
"@blobscan/open-telemetry": "workspace:^0.0.10",
"@blobscan/rollups": "workspace:^2.0.0",
"@blobscan/rollups": "workspace:^3.0.0",
"@blobscan/zod": "workspace:^0.1.0",
"@floating-ui/react": "^0.26.23",
"@fontsource/inter": "^4.5.15",
Expand Down
9 changes: 9 additions & 0 deletions clis/blob-propagation-jobs-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @blobscan/blob-propagation-jobs-cli

## 0.2.20

### Patch Changes

- Updated dependencies [[`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a)]:
- @blobscan/blob-propagator@3.0.0
- @blobscan/db@0.29.0
- @blobscan/env@0.4.0

## 0.2.19

### Patch Changes
Expand Down
8 changes: 4 additions & 4 deletions clis/blob-propagation-jobs-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/blob-propagation-jobs-cli",
"version": "0.2.19",
"version": "0.2.20",
"private": true,
"description": "A CLI that facilitates the managing of blob propagation jobs",
"main": "./src/index.ts",
Expand All @@ -17,10 +17,10 @@
"with-env:test": "dotenv -e ../../.env.test --"
},
"dependencies": {
"@blobscan/blob-propagator": "workspace:^2.0.0",
"@blobscan/blob-propagator": "workspace:^3.0.0",
"@blobscan/dayjs": "workspace:^0.1.0",
"@blobscan/db": "workspace:^0.28.0",
"@blobscan/env": "workspace:^0.3.0",
"@blobscan/db": "workspace:^0.29.0",
"@blobscan/env": "workspace:^0.4.0",
"@blobscan/zod": "workspace:^0.1.0",
"bullmq": "^4.13.2",
"command-line-args": "^5.2.1",
Expand Down
7 changes: 7 additions & 0 deletions clis/stats-aggregation-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @blobscan/stats-aggregation-cli

## 0.2.19

### Patch Changes

- Updated dependencies [[`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a)]:
- @blobscan/db@0.29.0

## 0.2.18

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions clis/stats-aggregation-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/stats-aggregation-cli",
"version": "0.2.18",
"version": "0.2.19",
"private": true,
"description": "A CLI that facilitates the aggregation of metrics related to different types of entities.",
"main": "./src/index.ts",
Expand All @@ -18,7 +18,7 @@
},
"dependencies": {
"@blobscan/dayjs": "workspace:^0.1.0",
"@blobscan/db": "workspace:^0.28.0",
"@blobscan/db": "workspace:^0.29.0",
"@blobscan/logger": "workspace:^0.1.4",
"command-line-args": "^5.2.1",
"command-line-usage": "^7.0.1"
Expand Down
38 changes: 38 additions & 0 deletions packages/api/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# @blobscan/api

## 3.0.0

### Minor Changes

- [#998](https://github.com/Blobscan/blobscan/pull/998) [`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a) Thanks [@PJColombo](https://github.com/PJColombo)! - Implement `IpfsStorage.storeBlob` via the blobscan-ipld push endpoint

`IpfsStorage` can now write blobs (previously read-only): `_storeBlob`
POSTs the blob plus its beacon/execution context to the blobscan-ipld
service's `POST /blob` endpoint and persists the returned `data_cid` as the
reference. To carry the extra fields the endpoint requires (commitment,
tx hash, blob index, slot, epoch, block number, block hash), a new
optional `BlobContext` is threaded through `BlobStorage.storeBlob`,
`BlobStorageManager`, the propagator's `BlobPropagationInput`, and the
indexer. The context is optional at the storage interface so other
backends are unaffected; `IpfsStorage` asserts its presence at runtime.
`finalize` is always sent as `false` since epoch completeness can't be
known per blob.

IPFS can now be selected as `PRIMARY_BLOB_STORAGE` (it was previously
rejected as write-incapable). The write endpoint lives at a different
base URL than the read gateway, so a new `IPFS_STORAGE_IPLD_URL` env var
configures it; it's passed to `IpfsStorage` as a dedicated `ipldUrl` and
is required when IPFS is the primary storage.

`IpfsStorage`'s health check now targets the blobscan-ipld service's
`/readyz` endpoint when a write URL (`ipldUrl`) is configured, since that
service owns the kubo client and the write path; read-only deployments
(gateway only) still probe the IPFS gateway directly.

### Patch Changes

- Updated dependencies [[`74b33ba`](https://github.com/Blobscan/blobscan/commit/74b33ba464a10b31127a1f395ff67ee585e2e70a)]:
- @blobscan/blob-storage-manager@3.0.0
- @blobscan/blob-propagator@3.0.0
- @blobscan/db@0.29.0
- @blobscan/env@0.4.0
- @blobscan/rollups@3.0.0

## 2.0.0

### Minor Changes
Expand Down
14 changes: 7 additions & 7 deletions packages/api/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blobscan/api",
"version": "2.0.0",
"version": "3.0.0",
"private": true,
"main": "./src/index.ts",
"types": "./src/index.ts",
Expand All @@ -15,14 +15,14 @@
"test:ui": "pnpm with-env:test vitest --ui"
},
"dependencies": {
"@blobscan/blob-storage-manager": "workspace:^2.0.0",
"@blobscan/blob-storage-manager": "workspace:^3.0.0",
"@blobscan/chains": "workspace:^0.5.0",
"@blobscan/dayjs": "workspace:^0.1.1",
"@blobscan/db": "workspace:^0.28.0",
"@blobscan/env": "workspace:^0.3.0",
"@blobscan/db": "workspace:^0.29.0",
"@blobscan/env": "workspace:^0.4.0",
"@blobscan/logger": "workspace:^0.1.4",
"@blobscan/open-telemetry": "workspace:^0.0.10",
"@blobscan/rollups": "workspace:^2.0.0",
"@blobscan/rollups": "workspace:^3.0.0",
"@blobscan/zod": "workspace:^0.1.0",
"@trpc/server": "^10.43.2",
"ioredis": "^5.3.2",
Expand All @@ -33,11 +33,11 @@
"trpc-openapi": "^1.2.0"
},
"devDependencies": {
"@blobscan/blob-propagator": "workspace:^2.0.0",
"@blobscan/blob-propagator": "workspace:^3.0.0",
"@types/jsonwebtoken": "^9.0.2"
},
"peerDependencies": {
"@blobscan/blob-propagator": "workspace:^2.0.0"
"@blobscan/blob-propagator": "workspace:^3.0.0"
},
"eslintConfig": {
"root": true,
Expand Down
Loading