Skip to content

Commit

Permalink
Merge branch 'main' into next-blob
Browse files Browse the repository at this point in the history
  • Loading branch information
luis-herasme committed Nov 25, 2024
2 parents 523fcf5 + 78a368b commit 19156df
Show file tree
Hide file tree
Showing 157 changed files with 3,835 additions and 877 deletions.
5 changes: 5 additions & 0 deletions .changeset/brown-emus-hunt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@blobscan/db": patch
---

Added address category info constraints to transaction model
5 changes: 5 additions & 0 deletions .changeset/eighty-clouds-end.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@blobscan/web": patch
---

Fixed an issue where the Rollup filter was not being set correctly from query parameters
5 changes: 0 additions & 5 deletions .changeset/famous-dodos-fetch.md

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/khaki-rules-applaud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@blobscan/api": patch
---

Resolved an issue where blocks flagged as reorged remained marked as reorged after being reindexed
5 changes: 5 additions & 0 deletions .changeset/rotten-bears-bathe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@blobscan/db": patch
---

Created indexes for block number fields
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ node_modules
.next
.vscode
out
backups
41 changes: 36 additions & 5 deletions .github/workflows/deploy-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ on:
- completed

jobs:

deploy_sepolia:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Deploy Blobscan API (sepolia)
Expand All @@ -27,9 +26,17 @@ jobs:
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_KEY }}
script: nohup ./deploy-blobscan.sh
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 500
fetch-tags: true
- name: Setup
uses: ./tooling/github/setup
- name: Set environment variables
run: |
TAG=$(git describe --tags --always)
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG"
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG" >> $GITHUB_ENV
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
Expand All @@ -54,9 +61,17 @@ jobs:
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_KEY }}
script: nohup ./deploy-blobscan.sh
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 500
fetch-tags: true
- name: Setup
uses: ./tooling/github/setup
- name: Set environment variables
run: |
TAG=$(git describe --tags --always)
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG"
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG" >> $GITHUB_ENV
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
Expand All @@ -81,9 +96,17 @@ jobs:
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_KEY }}
script: nohup ./deploy-blobscan.sh
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 500
fetch-tags: true
- name: Setup
uses: ./tooling/github/setup
- name: Set environment variables
run: |
TAG=$(git describe --tags --always)
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG"
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG" >> $GITHUB_ENV
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
Expand All @@ -108,9 +131,17 @@ jobs:
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_KEY }}
script: nohup ./deploy-blobscan.sh
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 500
fetch-tags: true
- name: Setup
uses: ./tooling/github/setup
- name: Set environment variables
run: |
TAG=$(git describe --tags --always)
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG"
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG" >> $GITHUB_ENV
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/deploy-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,17 @@ jobs:
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_KEY }}
script: nohup ./deploy-blobscan.sh
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 500
fetch-tags: true
- name: Setup
uses: ./tooling/github/setup
- name: Set environment variables
run: |
TAG=$(git describe --tags --always)
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG"
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$TAG" >> $GITHUB_ENV
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
run: |
echo "BUILD_TIMESTAMP=$(date '+%F %H:%M:%S')" >> $GITHUB_ENV
echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$(git describe --tags)" >> $GITHUB_ENV
- name: Extract metadata (tags, labels) for Docker (API)
id: meta_api
Expand All @@ -75,6 +76,7 @@ jobs:
tags: ${{ steps.meta_api.outputs.tags }}
labels: ${{ steps.meta_api.outputs.labels }}
build-args: |
NEXT_PUBLIC_BLOBSCAN_RELEASE=${{ env.NEXT_PUBLIC_BLOBSCAN_RELEASE }}
BUILD_TIMESTAMP=${{ env.BUILD_TIMESTAMP }}
GIT_COMMIT=${{ env.GIT_COMMIT }}
DATABASE_URL=${{ env.DATABASE_URL }}
Expand All @@ -98,6 +100,7 @@ jobs:
tags: ${{ steps.meta_web.outputs.tags }}
labels: ${{ steps.meta_web.outputs.labels }}
build-args: |
NEXT_PUBLIC_BLOBSCAN_RELEASE=${{ env.NEXT_PUBLIC_BLOBSCAN_RELEASE }}
BUILD_TIMESTAMP=${{ env.BUILD_TIMESTAMP }}
GIT_COMMIT=${{ env.GIT_COMMIT }}
DATABASE_URL=${{ env.DATABASE_URL }}
3 changes: 3 additions & 0 deletions .github/workflows/docker_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ jobs:
run: |
echo "BUILD_TIMESTAMP=$(date '+%F %H:%M:%S')" >> $GITHUB_ENV
echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "NEXT_PUBLIC_BLOBSCAN_RELEASE=$(git describe --tags)" >> $GITHUB_ENV
- name: Build and push (api)
uses: docker/[email protected]
Expand All @@ -68,6 +69,7 @@ jobs:
target: api
tags: blossomlabs/blobscan-api:development
build-args: |
NEXT_PUBLIC_BLOBSCAN_RELEASE=${{ env.NEXT_PUBLIC_BLOBSCAN_RELEASE }}
BUILD_TIMESTAMP=${{ env.BUILD_TIMESTAMP }}
GIT_COMMIT=${{ env.GIT_COMMIT }}
DATABASE_URL=${{ env.DATABASE_URL }}
Expand All @@ -80,6 +82,7 @@ jobs:
target: web
tags: blossomlabs/blobscan-web:development
build-args: |
NEXT_PUBLIC_BLOBSCAN_RELEASE=${{ env.NEXT_PUBLIC_BLOBSCAN_RELEASE }}
BUILD_TIMESTAMP=${{ env.BUILD_TIMESTAMP }}
GIT_COMMIT=${{ env.GIT_COMMIT }}
DATABASE_URL=${{ env.DATABASE_URL }}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.12.2
18.20.4
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ ARG BUILD_TIMESTAMP
ENV BUILD_TIMESTAMP=$BUILD_TIMESTAMP
ARG GIT_COMMIT
ENV GIT_COMMIT=$GIT_COMMIT
ARG NEXT_PUBLIC_BLOBSCAN_RELEASE
ENV NEXT_PUBLIC_BLOBSCAN_RELEASE=$NEXT_PUBLIC_BLOBSCAN_RELEASE
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
# Do not perform environment variable validation during build time
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/app/docs/background-jobs/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Blobscan requires [BullMQ](https://bullmq.io/) to run the following tasks in the
- `OverallStatsSyncer` - calculates other metrics such as Total Tx Fees Saved, Total Blocks and Total Blobs.
- `SwarmStampSyncer` - updates TTL for Ethereum Swarm batches.

For more information, checkout the [@blobscan/syncers](https://github.com/Blobscan/blobscan/tree/next/packages/syncers/src/syncers) package.
For more information, check out the [@blobscan/syncers](https://github.com/Blobscan/blobscan/tree/next/packages/syncers/src/syncers) package.

The BullMQ queue is also used to upload blobs in parallel to different Storages. Although this is not recommended, you can disable parallel uploads by setting:

Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/app/docs/code-of-conduct/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ nextjs:
description: Code of conduct for Blobscan.
---

We strive to create an inclusive, respectful, and transparent environment in our open source projects.
We strive to create an inclusive, respectful, and transparent environment in our open-source projects.

## Commitment

Expand Down
14 changes: 7 additions & 7 deletions apps/docs/src/app/docs/codebase-overview/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ Here you can find all the shared packages used by the apps:
| [`@blobscan/blob-storage-manager`](https://github.com/Blobscan/blobscan/tree/next/packages/blob-storage-manager) | Orchestrates the storage/retrieval of blobs in/from different storage providers. Currently it supports [Google Cloud Storage](https://cloud.google.com/storage), [Swarm](https://www.ethswarm.org), PostgreSQL database and filesystem. |
| [`@blobscan/dayjs`](https://github.com/Blobscan/blobscan/tree/next/packages/dayjs) |  Extended [Day.js](https://day.js.org/) with plugins. |
| [`@blobscan/db`](https://github.com/Blobscan/blobscan/tree/next/packages/db) | Prisma schema and a Prisma client with [extensions](https://www.prisma.io/docs/concepts/components/prisma-client/client-extensions) containing custom methods queries. |
| [`@blobscan/logger`](https://github.com/Blobscan/blobscan/tree/next/packages/logger) |  Shared logger utilities. |
| |
|  [`@blobscan/open-telemetry`](https://github.com/Blobscan/blobscan/tree/next/packages/open-telemetry) | [Otel](https://opentelemetry.io/) configuration and sdk setup. |
| [`@blobscan/test`](https://github.com/Blobscan/blobscan/tree/next/packages/test) |  Shared test utilities and fixtures. |
|  [`@blobscan/zod`](https://github.com/Blobscan/blobscan/tree/next/packages/zod) |  Shared [Zod](https://zod.dev) schemas and utilities. |
|  [`@blobscan/eth-format`](https://github.com/Blobscan/blobscan/tree/next/packages/eth-format) |  Provides utility functions for handling Ethereum value conversions and formatting. |
|  [`@blobscan/rollups`](https://github.com/Blobscan/blobscan/tree/next/packages/rollups) |  A utility that provides a comprehensive list of all rollups and their associated addresses supported by Blobscan, along with functions to retrieve them easily. |
| [`@blobscan/logger`](https://github.com/Blobscan/blobscan/tree/next/packages/logger) | Shared logger utilities. |
| [`@blobscan/optimism-decoder`](https://github.com/Blobscan/blobscan/tree/next/packages/optimism-decoder) | Optimism blobs decoder. |
| [`@blobscan/open-telemetry`](https://github.com/Blobscan/blobscan/tree/next/packages/open-telemetry) | [Otel](https://opentelemetry.io/) configuration and sdk setup. |
| [`@blobscan/test`](https://github.com/Blobscan/blobscan/tree/next/packages/test) | Shared test utilities and fixtures. |
| [`@blobscan/zod`](https://github.com/Blobscan/blobscan/tree/next/packages/zod) | Shared [Zod](https://zod.dev) schemas and utilities. |
| [`@blobscan/eth-format`](https://github.com/Blobscan/blobscan/tree/next/packages/eth-format) | Provides utility functions for handling Ethereum value conversions and formatting. |
| [`@blobscan/rollups`](https://github.com/Blobscan/blobscan/tree/next/packages/rollups) | A utility that provides a comprehensive list of all rollups and their associated addresses supported by Blobscan, along with functions to retrieve them easily. |

### Tooling

Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/app/docs/environment/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ nextjs:
| `NEXT_PUBLIC_NETWORK_NAME` | Network name | No | mainnet |
| `NEXT_PUBLIC_EXPLORER_BASE_URL` | Block explorer URL | No | `https://etherscan.io` |
| `NEXT_PUBLIC_BEACON_BASE_URL` | Beacon explorer URL | No | `https://beaconcha.in/` |
| `NEXT_PUBLIC_VERSION` | Blobscan version | No | (empty) |
| `NEXT_PUBLIC_BLOBSCAN_RELEASE` | Blobscan version | No | (empty) |
| `NEXT_PUBLIC_SUPPORTED_NETWORKS` | Link to other pages from the Network menu | No | `[{"label":"Ethereum Mainnet","href":"https://blobscan.com/"},{"label":"Gnosis","href":"https://gnosis.blobscan.com/"},{"label":"Holesky Testnet","href":"https://holesky.blobscan.com/"},{"label":"Sepolia Testnet","href":"https://sepolia.blobscan.com/"}]` |
| `NEXT_PUBLIC_VERCEL_ANALYTICS_ENABLED` | Enable Vercel analytics | No | `false` |
| `NEXT_PUBLIC_SENTRY_DSN_WEB` | Sentry DSN | No | (empty) |
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/src/app/docs/installation/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ nextjs:
description: How to run your own instance of Blobscan
---

Blobscan is open source and you can run your own instance either locally or publically exposed on the Internet.
Blobscan is open source and you can run your own instance either locally or publicly exposed on the Internet.

---

Expand All @@ -26,7 +26,7 @@ Check out [eip4844-devnet](https://github.com/jimmygchen/eip4844-devnet) if you

Blobscan is configured using environment variables. You can define them using `export` or with an `.env` file.

We provide a `.env.example` file as reference which you can use as starting point.
We provide a `.env.example` file as a reference which you can use as starting point.

```shell
cp .env.example .env
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/src/app/docs/running-blobscan-k8s/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ nextjs:
A set of Helm charts are provided to run multiple Blobscan components on Kubernetes.

{% callout title="Tip" %}
If you want to try the Helm Charts without setting up a whole Kubernetes clusters, you can create a localy [Kind](https://kind.sigs.k8s.io/) cluster.
If you want to try the Helm Charts without setting up a whole Kubernetes clusters, you can create a local [Kind](https://kind.sigs.k8s.io/) cluster.
{% /callout %}

```bash
Expand All @@ -25,7 +25,7 @@ First you will need to add a new repository:
helm repo add blobscan-helm-charts https://blobscan.github.io/blobscan-helm-charts
```

Then retrieve the packages in the repository an install:
Then retrieve the packages in the repository and install:

```bash
helm repo update
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/app/docs/running-blobscan-kurtosis/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ nextjs:
[Kurtosis](https://www.kurtosis.com/) is a tool for packaging and launching environments of containerized services where you want them and with one liners.

There is also a [Kurtosis' ethereum-package](https://github.com/ethpandaops/ethereum-package) maintained by ethPandaOps, which makes it really easy to
spin up up a local PoS Ethereum testnet with blobscan as an additional service, so you can explore blobs sent in your local network.
spin up a local PoS Ethereum testnet with blobscan as an additional service, so you can explore blobs sent in your local network.

```bash
kurtosis clean -a && kurtosis run github.com/ethpandaops/ethereum-package --image-download always '{"additional_services": ["blobscan"]}'
Expand Down
15 changes: 15 additions & 0 deletions apps/rest-api-server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# @blobscan/rest-api-server

## 0.4.5

### Patch Changes

- Updated dependencies [[`76bd799`](https://github.com/Blobscan/blobscan/commit/76bd7990ea36b2826924cdbec6ddc660e96b1a17)]:
- @blobscan/api@0.15.0

## 0.4.4

### Patch Changes

- Updated dependencies [[`78468dd`](https://github.com/Blobscan/blobscan/commit/78468ddcb6b30b889dfcd8cf87f8770202143efc), [`dd75d56`](https://github.com/Blobscan/blobscan/commit/dd75d56d8ce2ef881c55ac843d9e9937939d671b)]:
- @blobscan/api@0.14.0
- @blobscan/syncers@0.3.1

## 0.4.3

### Patch Changes
Expand Down
Loading

0 comments on commit 19156df

Please sign in to comment.