Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blockscout/.github/workflows/pre-release-scroll.yml

167 lines
6.3 KiB

feat: Scroll rollup: L1 fee parameters in API, `queueIndex` for L2 transactions, and L1 <->L2 messages (#10484) * Add chain type for scroll and l1_fee tx field * l1_fee_scalar and l1_fee_overhead fields in api json output for tx * l2_fee field in api json output for tx * l1_gas_used field in api json output for tx * l1_fee_commit_scalar, l1_fee_blob_scalar, l1_base_fee, l1_blob_base_fee fields in api json output for tx * Partially add specs and docs * Add code specs and docs for Indexer.Fetcher.Scroll.L1FeeParam * Add code specs and docs * Small fix * Add CI matrix chain type * Fix spelling * Rename envs * Update common-blockscout.env * Small fixes * Improve scroll_view.ex * Update scroll_view.ex * Add support of queueIndex field for L1MessageTx in Scroll * Fix for mix credo * Add scroll_bridge db table * Add Scroll bridge messages indexing * Add Indexer.Transform.Scroll.Bridge * Refactoring * Add API for Scroll * Ignore credo warning about nesting level * Add specs and docs * Refactoring * Partially cover review comments * Add some specs and docs * Add GA workflows for scroll * Small refactoring * Add to_import for Explorer.Chain.Scroll.Bridge * Small refactoring * Add specs and docs * Add comments * Add Explorer.Chain.RollupReorgMonitorQueue module * Add sobelow_skip * Add INDEXER_SCROLL_ETH_GET_LOGS_RANGE_SIZE env variable * Update common-blockscout.env * Small refactoring * Add links about Curie upgrade * Small improvement * Small refactoring * Separate db query * Move chain type specific import runners from BlockReferencing to ChainTypeSpecific stage * Add draft indexer for Scroll batches * Add API for Scroll batches * Extend API for Scroll batches * Refactoring * Update common-blockscout.env * Add specs and docs * Remove misprint * Fixes * Small improvement * Refactoring * Refactoring * Refactoring * Refactoring for credo * Partially cover review comments * Add l2_block_status to transaction view for Scroll * RollupL1ReorgMonitor refactoring * Extend docs * Small refactoring of last_l2_block_number function * Extend docs * Extend docs * Fix typo * mix format * Extend docs * Extend docs * Separate eth_getLogs block range size config * Small refactoring * Add comment * Add comments * Optimization * Small optimization * Use Ecto.Multi * Extend docs * Change API response for Scroll batches * Change API response format for Scroll bridge messages * Small refactoring * Update apps/indexer/lib/indexer/transform/scroll/l1_fee_params.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/batch_bundle.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Small refactoring * Extend docs * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/helper.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Improve specs * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * fix * mix format * Add DA container info for Scroll batches * Fallback INDEXER_SCROLL_L2_MESSENGER_START_BLOCK to FIRST_BLOCK * mix format * Remove redundant lines * Use multi update_all * rename "tx" shorthands --------- Co-authored-by: POA <33550681+poa@users.noreply.github.com> Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com>
1 month ago
name: Pre-release for Scroll
on:
workflow_dispatch:
inputs:
number:
type: number
required: true
env:
OTP_VERSION: ${{ vars.OTP_VERSION }}
ELIXIR_VERSION: ${{ vars.ELIXIR_VERSION }}
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
env:
RELEASE_VERSION: 6.9.0
feat: Scroll rollup: L1 fee parameters in API, `queueIndex` for L2 transactions, and L1 <->L2 messages (#10484) * Add chain type for scroll and l1_fee tx field * l1_fee_scalar and l1_fee_overhead fields in api json output for tx * l2_fee field in api json output for tx * l1_gas_used field in api json output for tx * l1_fee_commit_scalar, l1_fee_blob_scalar, l1_base_fee, l1_blob_base_fee fields in api json output for tx * Partially add specs and docs * Add code specs and docs for Indexer.Fetcher.Scroll.L1FeeParam * Add code specs and docs * Small fix * Add CI matrix chain type * Fix spelling * Rename envs * Update common-blockscout.env * Small fixes * Improve scroll_view.ex * Update scroll_view.ex * Add support of queueIndex field for L1MessageTx in Scroll * Fix for mix credo * Add scroll_bridge db table * Add Scroll bridge messages indexing * Add Indexer.Transform.Scroll.Bridge * Refactoring * Add API for Scroll * Ignore credo warning about nesting level * Add specs and docs * Refactoring * Partially cover review comments * Add some specs and docs * Add GA workflows for scroll * Small refactoring * Add to_import for Explorer.Chain.Scroll.Bridge * Small refactoring * Add specs and docs * Add comments * Add Explorer.Chain.RollupReorgMonitorQueue module * Add sobelow_skip * Add INDEXER_SCROLL_ETH_GET_LOGS_RANGE_SIZE env variable * Update common-blockscout.env * Small refactoring * Add links about Curie upgrade * Small improvement * Small refactoring * Separate db query * Move chain type specific import runners from BlockReferencing to ChainTypeSpecific stage * Add draft indexer for Scroll batches * Add API for Scroll batches * Extend API for Scroll batches * Refactoring * Update common-blockscout.env * Add specs and docs * Remove misprint * Fixes * Small improvement * Refactoring * Refactoring * Refactoring * Refactoring for credo * Partially cover review comments * Add l2_block_status to transaction view for Scroll * RollupL1ReorgMonitor refactoring * Extend docs * Small refactoring of last_l2_block_number function * Extend docs * Extend docs * Fix typo * mix format * Extend docs * Extend docs * Separate eth_getLogs block range size config * Small refactoring * Add comment * Add comments * Optimization * Small optimization * Use Ecto.Multi * Extend docs * Change API response for Scroll batches * Change API response format for Scroll bridge messages * Small refactoring * Update apps/indexer/lib/indexer/transform/scroll/l1_fee_params.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/l1_fee_param.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/batch_bundle.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/bridge.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/fetcher/scroll/batch.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Small refactoring * Extend docs * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/indexer/lib/indexer/helper.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * Improve specs * Update apps/explorer/lib/explorer/chain/scroll/reader.ex Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> * fix * mix format * Add DA container info for Scroll batches * Fallback INDEXER_SCROLL_L2_MESSENGER_START_BLOCK to FIRST_BLOCK * mix format * Remove redundant lines * Use multi update_all * rename "tx" shorthands --------- Co-authored-by: POA <33550681+poa@users.noreply.github.com> Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com>
1 month ago
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Scroll (indexer + API)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_WEBAPP=false
API_V1_READ_METHODS_DISABLED=false
API_V1_WRITE_METHODS_DISABLED=false
CACHE_EXCHANGE_RATES_PERIOD=
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
ADMIN_PANEL_ENABLED=false
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
- name: Build and push Docker image for Scroll (indexer)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_API=true
DISABLE_WEBAPP=true
CACHE_EXCHANGE_RATES_PERIOD=
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
ADMIN_PANEL_ENABLED=false
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
- name: Build and push Docker image for Scroll (API)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_INDEXER=true
DISABLE_WEBAPP=true
CACHE_EXCHANGE_RATES_PERIOD=
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
ADMIN_PANEL_ENABLED=false
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
- name: Build and push Docker image for Scroll (indexer + API + shrink internal transactions)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-shrink-internal-txs
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false
DISABLE_WEBAPP=false
API_V1_WRITE_METHODS_DISABLED=false
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
ADMIN_PANEL_ENABLED=false
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
SHRINK_INTERNAL_TRANSACTIONS_ENABLED=true
- name: Build and push Docker image for Scroll (indexer + shrink internal transactions)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-shrink-internal-txs-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
DISABLE_WEBAPP=true
DISABLE_API=true
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
ADMIN_PANEL_ENABLED=false
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
SHRINK_INTERNAL_TRANSACTIONS_ENABLED=true
- name: Build and push Docker image for Scroll (API + shrink internal transactions)
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-scroll:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-shrink-internal-txs-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
DISABLE_WEBAPP=true
DISABLE_INDEXER=true
CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
ADMIN_PANEL_ENABLED=false
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
CHAIN_TYPE=scroll
SHRINK_INTERNAL_TRANSACTIONS_ENABLED=true