Merge branch 'master' into kf-eip4844-blobs

pull/9168/head
Kirill Fedoseev 10 months ago
commit b24b20cc97
  1. 2
      .github/workflows/config.yml
  2. 2
      .github/workflows/prerelease.yml
  3. 2
      .github/workflows/publish-docker-image-every-push.yml
  4. 2
      .github/workflows/publish-docker-image-for-stability.yml
  5. 2
      .github/workflows/publish-docker-image-for-suave.yml
  6. 2
      .github/workflows/publish-docker-image-staging-on-demand.yml
  7. 2
      .github/workflows/release-additional.yml
  8. 2
      .github/workflows/release.yml
  9. 2
      .tool-versions
  10. 3
      CHANGELOG.md
  11. 2
      apps/block_scout_web/mix.exs
  12. 2
      apps/ethereum_jsonrpc/mix.exs
  13. 2
      apps/explorer/mix.exs
  14. 4
      apps/explorer/test/support/fixture/smart_contract/ERC677.sol
  15. 4
      apps/explorer/test/support/fixture/smart_contract/issue_3082.sol
  16. 4
      apps/explorer/test/support/fixture/smart_contract/issue_5114.sol
  17. 4
      apps/explorer/test/support/fixture/smart_contract/issue_with_constructor_args.sol
  18. 8
      apps/explorer/test/support/fixture/smart_contract/large_smart_contract.sol
  19. 1
      docker-compose/envs/common-blockscout.env
  20. 3
      docker-compose/services/db.yml
  21. 9
      docker-compose/services/nginx.yml
  22. 3
      docker-compose/services/stats.yml
  23. 4
      docker/Dockerfile
  24. 4
      docker/README.md
  25. 4
      mix.exs
  26. 4
      mix.lock

@ -35,7 +35,7 @@ on:
env:
MIX_ENV: test
OTP_VERSION: "25.2.1"
OTP_VERSION: "25.3.2.8"
ELIXIR_VERSION: "1.14.5"
ACCOUNT_AUTH0_DOMAIN: "blockscoutcom.us.auth0.com"

@ -8,7 +8,7 @@ on:
required: true
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
jobs:

@ -9,7 +9,7 @@ on:
- '**/README.md'
- 'docker-compose/*'
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
RELEASE_VERSION: 6.0.0

@ -11,7 +11,7 @@ on:
branches:
- production-stability
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
jobs:
push_to_registry:

@ -11,7 +11,7 @@ on:
branches:
- production-suave
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
jobs:
push_to_registry:

@ -10,7 +10,7 @@ on:
- '**/README.md'
- 'docker-compose/*'
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
RELEASE_VERSION: 6.0.0

@ -10,7 +10,7 @@ on:
types: [published]
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
jobs:

@ -10,7 +10,7 @@ on:
types: [published]
env:
OTP_VERSION: '25.2.1'
OTP_VERSION: '25.3.2.8'
ELIXIR_VERSION: '1.14.5'
jobs:

@ -1,3 +1,3 @@
elixir 1.14.5-otp-25
erlang 25.3.2.6
erlang 25.3.2.8
nodejs 18.17.1

@ -22,6 +22,9 @@
### Chore
- [#9196](https://github.com/blockscout/blockscout/pull/9196) - Compatibility with docker-compose 2.24
- [#9193](https://github.com/blockscout/blockscout/pull/9193) - Equalize elixir stack versions
<details>
<summary>Dependencies version bumps</summary>

@ -11,7 +11,7 @@ defmodule BlockScoutWeb.Mixfile do
deps_path: "../../deps",
description: "Web interface for BlockScout.",
dialyzer: [
plt_add_deps: :transitive,
plt_add_deps: :app_tree,
ignore_warnings: "../../.dialyzer-ignore"
],
elixir: "~> 1.13",

@ -11,7 +11,7 @@ defmodule EthereumJsonrpc.MixProject do
deps_path: "../../deps",
description: "Ethereum JSONRPC client.",
dialyzer: [
plt_add_deps: :transitive,
plt_add_deps: :app_tree,
plt_add_apps: [:mix],
ignore_warnings: "../../.dialyzer-ignore"
],

@ -11,7 +11,7 @@ defmodule Explorer.Mixfile do
deps_path: "../../deps",
description: "Read-access to indexed block chain data.",
dialyzer: [
plt_add_deps: :transitive,
plt_add_deps: :app_tree,
plt_add_apps: ~w(ex_unit mix)a,
ignore_warnings: "../../.dialyzer-ignore"
],

@ -64,7 +64,7 @@ interface IERC677MultiBridgeToken {
* specific functions.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be aplied to your functions to restrict their use to
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract Ownable {
@ -1160,4 +1160,4 @@ contract ERC677MultiBridgeToken is IERC677MultiBridgeToken, ERC677BridgeToken {
function isBridge(address _address) public view returns (bool) {
return _address != F_ADDR && bridgePointers[_address] != address(0);
}
}
}

@ -28,7 +28,7 @@ interface IERC677MultiBridgeToken {
* specific functions.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be aplied to your functions to restrict their use to
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract Ownable {
@ -591,4 +591,4 @@ contract Distribution is Ownable, IDistribution {
revert("invalid address");
}
}
}
}

@ -16,7 +16,7 @@ abstract contract Proxy {
/**
* @dev Delegates the current call to `implementation`.
*
* This function does not return to its internall call site, it will return directly to the external caller.
* This function does not return to its internal call site, it will return directly to the external caller.
*/
function _delegate(address implementation) internal virtual {
// solhint-disable-next-line no-inline-assembly
@ -49,7 +49,7 @@ abstract contract Proxy {
/**
* @dev Delegates the current call to the address returned by `_implementation()`.
*
* This function does not return to its internall call site, it will return directly to the external caller.
* This function does not return to its internal call site, it will return directly to the external caller.
*/
function _fallback() internal virtual {
_beforeFallback();

@ -292,7 +292,7 @@ abstract contract Proxy {
/**
* @dev Delegates the current call to `implementation`.
*
* This function does not return to its internall call site, it will return directly to the external caller.
* This function does not return to its internal call site, it will return directly to the external caller.
*/
function _delegate(address implementation) internal virtual {
// solhint-disable-next-line no-inline-assembly
@ -325,7 +325,7 @@ abstract contract Proxy {
/**
* @dev Delegates the current call to the address returned by `_implementation()`.
*
* This function does not return to its internall call site, it will return directly to the external caller.
* This function does not return to its internal call site, it will return directly to the external caller.
*/
function _fallback() internal virtual {
_beforeFallback();

@ -113,7 +113,7 @@ interface IHomeWork {
* @param key bytes32 The unique value used to derive the home address.
* @param owner address The account that will be granted ownership of the
* ERC721 token.
* @dev In order to mint an ERC721 token, the assocated home address cannot be
* @dev In order to mint an ERC721 token, the associated home address cannot be
* in use, or else the token will not be able to deploy to the home address.
* The controller is set to this contract until the token is redeemed, at
* which point the redeemer designates a new controller for the home address.
@ -239,7 +239,7 @@ interface IHomeWork {
* @param owner address The account that will be granted ownership of the
* ERC721 token.
* @return The derived key.
* @dev In order to mint an ERC721 token, the assocated home address cannot be
* @dev In order to mint an ERC721 token, the associated home address cannot be
* in use, or else the token will not be able to deploy to the home address.
* The controller is set to this contract until the token is redeemed, at
* which point the redeemer designates a new controller for the home address.
@ -1778,7 +1778,7 @@ contract HomeWork is IHomeWork, ERC721Enumerable, IERC721Metadata, IERC1412 {
* @param key bytes32 The unique value used to derive the home address.
* @param owner address The account that will be granted ownership of the
* ERC721 token.
* @dev In order to mint an ERC721 token, the assocated home address cannot be
* @dev In order to mint an ERC721 token, the associated home address cannot be
* in use, or else the token will not be able to deploy to the home address.
* The controller is set to this contract until the token is redeemed, at
* which point the redeemer designates a new controller for the home address.
@ -2011,7 +2011,7 @@ contract HomeWork is IHomeWork, ERC721Enumerable, IERC721Metadata, IERC1412 {
* @param owner address The account that will be granted ownership of the
* ERC721 token.
* @return The derived key.
* @dev In order to mint an ERC721 token, the assocated home address cannot be
* @dev In order to mint an ERC721 token, the associated home address cannot be
* in use, or else the token will not be able to deploy to the home address.
* The controller is set to this contract until the token is redeemed, at
* which point the redeemer designates a new controller for the home address.

@ -1,4 +1,3 @@
# DOCKER_TAG=
ETHEREUM_JSONRPC_VARIANT=geth
ETHEREUM_JSONRPC_HTTP_URL=http://host.docker.internal:8545/
# ETHEREUM_JSONRPC_FALLBACK_HTTP_URL=

@ -26,7 +26,8 @@ services:
POSTGRES_USER: 'blockscout'
POSTGRES_PASSWORD: 'ceWb1MeLBEeOIfk65gU8EjF8'
ports:
- 7432:5432
- target: 5432
published: 7432
volumes:
- ./blockscout-db-data:/var/lib/postgresql/data
healthcheck:

@ -12,6 +12,9 @@ services:
BACK_PROXY_PASS: ${BACK_PROXY_PASS:-http://backend:4000}
FRONT_PROXY_PASS: ${FRONT_PROXY_PASS:-http://frontend:3000}
ports:
- 80:80
- 8080:8080
- 8081:8081
- target: 80
published: 80
- target: 8080
published: 8080
- target: 8081
published: 8081

@ -26,7 +26,8 @@ services:
POSTGRES_USER: 'stats'
POSTGRES_PASSWORD: 'n0uejXPl61ci6ldCuE2gQU5Y'
ports:
- 7433:5432
- target: 5432
published: 7433
volumes:
- ./stats-db-data:/var/lib/postgresql/data
healthcheck:

@ -1,4 +1,4 @@
FROM hexpm/elixir:1.14.5-erlang-24.2.2-alpine-3.18.2 AS builder
FROM hexpm/elixir:1.14.5-erlang-25.3.2.8-alpine-3.18.4 AS builder
WORKDIR /app
@ -64,7 +64,7 @@ RUN mkdir -p /opt/release \
&& mv _build/${MIX_ENV}/rel/blockscout /opt/release
##############################################################
FROM hexpm/elixir:1.14.5-erlang-24.2.2-alpine-3.18.2
FROM hexpm/elixir:1.14.5-erlang-25.3.2.8-alpine-3.18.4
ARG RELEASE_VERSION
ENV RELEASE_VERSION=${RELEASE_VERSION}

@ -1,5 +1,3 @@
# BlockScout Docker Integration
This integration is not production ready, and should be used for local BlockScout deployment only.
For usage instructions and ENV variables, see the [docker integration documentation](https://docs.blockscout.com/for-developers/information-and-settings/docker-integration-local-use-only).
For usage instructions and ENV variables, see the [docker integration documentation](https://docs.blockscout.com/for-developers/deployment/docker-compose-deployment).

@ -52,8 +52,8 @@ defmodule BlockScout.Mixfile do
defp dialyzer() do
[
plt_add_deps: :transitive,
plt_add_apps: ~w(ex_unit mix)a,
plt_add_deps: :app_tree,
plt_add_apps: ~w(ex_unit mix wallaby)a,
ignore_warnings: ".dialyzer-ignore",
plt_core_path: "priv/plts",
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}

@ -8,7 +8,7 @@
"bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"},
"benchee": {:hex, :benchee, "1.3.0", "f64e3b64ad3563fa9838146ddefb2d2f94cf5b473bdfd63f5ca4d0657bf96694", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}, {:statistex, "~> 1.0", [hex: :statistex, repo: "hexpm", optional: false]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "34f4294068c11b2bd2ebf2c59aac9c7da26ffa0068afdf3419f1b176e16c5f81"},
"benchee_csv": {:hex, :benchee_csv, "1.0.0", "0b3b9223290bfcb8003552705bec9bcf1a89b4a83b70bd686e45295c264f3d16", [:mix], [{:benchee, ">= 0.99.0 and < 2.0.0", [hex: :benchee, repo: "hexpm", optional: false]}, {:csv, "~> 2.0", [hex: :csv, repo: "hexpm", optional: false]}], "hexpm", "cdefb804c021dcf7a99199492026584be9b5a21d6644ac0d01c81c5d97c520d5"},
"briefly": {:git, "https://github.com/CargoSense/briefly.git", "51dfe7fbe0f897ea2a921d9af120762392aca6a1", []},
"briefly": {:git, "https://github.com/CargoSense/briefly.git", "4836ba322ffb504a102a15cc6e35d928ef97120e", []},
"bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
"bureaucrat": {:hex, :bureaucrat, "0.2.9", "d98e4d2b9bdbf22e4a45c2113ce8b38b5b63278506c6ff918e3b943a4355d85b", [:mix], [{:inflex, ">= 1.10.0", [hex: :inflex, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.2.0", [hex: :phoenix, repo: "hexpm", optional: true]}, {:plug, ">= 1.0.0", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 1.5 or ~> 2.0 or ~> 3.0 or ~> 4.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm", "111c8dd84382a62e1026ae011d592ceee918553e5203fe8448d9ba6ccbdfff7d"},
"bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"},
@ -34,7 +34,7 @@
"decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
"decorator": {:hex, :decorator, "1.4.0", "a57ac32c823ea7e4e67f5af56412d12b33274661bb7640ec7fc882f8d23ac419", [:mix], [], "hexpm", "0a07cedd9083da875c7418dea95b78361197cf2bf3211d743f6f7ce39656597f"},
"deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"},
"dialyxir": {:hex, :dialyxir, "1.4.1", "a22ed1e7bd3a3e3f197b68d806ef66acb61ee8f57b3ac85fc5d57354c5482a93", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "84b795d6d7796297cca5a3118444b80c7d94f7ce247d49886e7c291e1ae49801"},
"dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"},
"digital_token": {:hex, :digital_token, "0.6.0", "13e6de581f0b1f6c686f7c7d12ab11a84a7b22fa79adeb4b50eec1a2d278d258", [:mix], [{:cldr_utils, "~> 2.17", [hex: :cldr_utils, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "2455d626e7c61a128b02a4a8caddb092548c3eb613ac6f6a85e4cbb6caddc4d1"},
"earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"},
"ecto": {:hex, :ecto, "3.11.1", "4b4972b717e7ca83d30121b12998f5fcdc62ba0ed4f20fd390f16f3270d85c3e", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ebd3d3772cd0dfcd8d772659e41ed527c28b2a8bde4b00fe03e0463da0f1983b"},

Loading…
Cancel
Save