Skip to content

Sync upstream v11.1.3 (merge conflicts)#74

Open
JOY (JOY) wants to merge 47 commits into
mainfrom
sync-upstream-v11.1.3
Open

Sync upstream v11.1.3 (merge conflicts)#74
JOY (JOY) wants to merge 47 commits into
mainfrom
sync-upstream-v11.1.3

Conversation

@JOY
Copy link
Copy Markdown

Upstream Sync - v11.1.3

Auto-merge with upstream v11.1.3 failed. Version/workflow conflicts were auto-resolved,
but the following files have code conflicts that need manual resolution:

docker-compose/envs/common-blockscout.env

To resolve:

  1. Check out this branch locally
  2. Resolve remaining conflicts
  3. Push and merge this PR
  4. Then create tag v11.1.3 to trigger Docker build

Upstream release notes

Alexander Kolotov (akolotov) and others added 30 commits May 8, 2026 18:45
Co-authored-by: Alexander Kolotov <alexander.kolotov@gmail.com>
Co-authored-by: Maxim Filonov <53992153+sl1depengwyn@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com>
…oints (blockscout#14227)

Co-authored-by: Alexander Kolotov <alexander.kolotov@gmail.com>
Co-authored-by: Maxim Filonov <53992153+sl1depengwyn@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com>
…ut#14251)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Alexander Kolotov <alexander.kolotov@gmail.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikita Pozdniakov <nikitosing4@mail.ru>
Co-authored-by: Maxim Filonov <53992153+sl1depengwyn@users.noreply.github.com>
Co-authored-by: Qwerty5Uiop <alex000010@bk.ru>
Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#14350)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…CY (blockscout#14390)

Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Qwerty5Uiop and others added 16 commits May 25, 2026 12:34
…14396)

Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive OpenAPI specifications, guides, and scripts for the Blockscout API v2, specifically targeting the advanced-filters and Arbitrum-related endpoints. It adds numerous OpenAPI schema modules, registers new operations in the controller files, and switches parameters from string keys to atom keys to support validation. Additionally, it adds agent guidelines, architecture documentation, and SPDX license headers across several files. The review feedback highlights a few critical issues: first, in ArbitrumController, the height parameter is cast to an Elixir integer but passed to calculate_celestia_data_key/2 which expects a string, potentially causing a runtime crash; second, in Arbitrum.Message, the use of allOf to override a primitive schema's description violates the repository's schema conventions, which recommend using Helper.extend_schema/2 at the property position instead; and third, in AdvancedFilter, the type enum is missing "ZRC-2", which will cause validation failures for Zilliqa transaction types.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +226 to +232
%OpenApiSpex.Parameter{
name: :height,
in: :path,
required: true,
schema: %Schema{type: :integer, minimum: 0},
description: "Celestia block height."
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The height parameter is defined as an integer, which means CastAndValidate will cast it to an Elixir integer. However, calculate_celestia_data_key/2 expects height to be a string (as it was originally passed directly from string-keyed params without casting). Passing an integer will cause a runtime crash (e.g., ArgumentError or FunctionClauseError). Use Schemas.General.IntegerString to ensure it is validated and passed as a string.

      %OpenApiSpex.Parameter{
        name: :height,
        in: :path,
        required: true,
        schema: Schemas.General.IntegerString,
        description: "Celestia block height."
      },

Comment on lines +27 to +30
origination_address_hash: %Schema{
allOf: [General.AddressHashNullable],
description: "Address that initiated the message on the originating chain."
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using allOf with a single primitive leaf schema to override the description is discouraged by the repository's schema conventions. According to schema-conventions.md (§ Helper.extend_schema/2), Helper.extend_schema/2 should be used at the property position instead of allOf to avoid potential casting layer issues.

        origination_address_hash:
          Helper.extend_schema(General.AddressHashNullable.schema(),
            description: "Address that initiated the message on the originating chain."
          ),
References
  1. Avoid %Schema{allOf: [Leaf], description: "..."} as the overlay mechanism. Use Helper.extend_schema at the property position instead. (link)

Comment on lines +24 to +35
type: %Schema{
type: :string,
enum: [
"coin_transfer",
"contract_interaction",
"contract_creation",
"ERC-20",
"ERC-721",
"ERC-1155",
"ERC-404",
"ERC-7984"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The type enum is missing "ZRC-2", which is a valid transaction/token type on Zilliqa (as documented in the controller's description). Any response containing a ZRC-2 activity item will fail OpenAPI validation. Add "ZRC-2" to the enum list.

      type: %Schema{
        type: :string,
        enum: [
          "coin_transfer",
          "contract_interaction",
          "contract_creation",
          "ERC-20",
          "ERC-721",
          "ERC-1155",
          "ERC-404",
          "ERC-7984",
          "ZRC-2"
        ],

@JOY JOY (JOY) force-pushed the sync-upstream-v11.1.3 branch 7 times, most recently from bac3de0 to b24774c Compare June 4, 2026 10:54
@JOY JOY (JOY) force-pushed the sync-upstream-v11.1.3 branch from b24774c to b5d8e21 Compare June 4, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants