Sync upstream v11.1.2 (merge conflicts)#73
Conversation
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>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…14385) 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>
…14396) Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
…ockscout#14399) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive OpenAPI specifications for the advanced filters and Arbitrum-related endpoints, migrating parameter parsing from string keys to atom keys due to CastAndValidate integration. It also adds extensive agent documentation, scripts, and SPDX license identifiers across the codebase. Key feedback highlights a potential runtime error in the Arbitrum controller where an integer height is passed to a function expecting a string, a potential schema validation failure due to the removal of address_hash from the block rewards schema, and a missing fallback clause in list_methods/2 when the optional query parameter q is absent.
| def batch_by_celestia_da_info( | ||
| conn, | ||
| %{"transaction_commitment" => transaction_commitment, "height" => height} = _params | ||
| %{transaction_commitment: transaction_commitment, height: height} = _params | ||
| ) do | ||
| # In case of Celestia, `data_key` is the hash of the height and the commitment hash | ||
| with {:ok, :hash, transaction_commitment_hash} <- parse_block_hash_or_number_param(transaction_commitment), | ||
| key <- calculate_celestia_data_key(height, transaction_commitment_hash) do | ||
| with {:ok, :hash, transaction_commitment_hash} <- parse_block_hash_or_number_param(transaction_commitment) do | ||
| key = calculate_celestia_data_key(height, transaction_commitment_hash) |
There was a problem hiding this comment.
The height parameter is cast to an integer by CastAndValidate because its OpenAPI schema type is :integer. However, calculate_celestia_data_key/2 expects height to be a string (binary), as it was passed directly as a string in the original implementation. Passing an integer will cause a runtime error. Convert height to a string using to_string/1 before passing it to calculate_celestia_data_key/2.
def batch_by_celestia_da_info(
conn,
%{transaction_commitment: transaction_commitment, height: height} = _params
) do
with {:ok, :hash, transaction_commitment_hash} <- parse_block_hash_or_number_param(transaction_commitment) do
key = calculate_celestia_data_key(to_string(height), transaction_commitment_hash)
| properties: %{ | ||
| address_hash: General.AddressHash, | ||
| reward: General.IntegerString, | ||
| type: %Schema{type: :string, nullable: false} | ||
| # Enum values must be kept in sync with | ||
| # Explorer.Chain.Block.Reward.AddressType :t/0. | ||
| type: %Schema{ | ||
| type: :string, | ||
| nullable: false, | ||
| enum: ["emission_funds", "uncle", "validator"], | ||
| description: "Reward category (machine-readable identifier)." | ||
| } | ||
| }, | ||
| required: [:type, :reward], | ||
| additionalProperties: false |
There was a problem hiding this comment.
| @spec list_methods(Plug.Conn.t(), map()) :: {:method, nil | Explorer.Chain.ContractMethod.t()} | Plug.Conn.t() | ||
| def list_methods(conn, %{"q" => query}) do | ||
| @spec list_methods(Plug.Conn.t(), map()) :: Plug.Conn.t() | ||
| def list_methods(conn, %{q: query}) when is_binary(query) do |
There was a problem hiding this comment.
9860d4a to
1601b94
Compare
1601b94 to
08a7cdf
Compare
Upstream Sync - v11.1.2
Auto-merge with upstream
v11.1.2failed. Version/workflow conflicts were auto-resolved,but the following files have code conflicts that need manual resolution:
To resolve:
v11.1.2to trigger Docker buildUpstream release notes