-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: MUD API support #9869
feat: MUD API support #9869
Conversation
6d33f2f
to
eb34e97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- If to send incorrect world id or table id or record id, every new API endpoint returns 500 HTTP error. e.g.:
Server: localhost:4000 (http)
Request: GET /api/v2/mud/worlds/incorrect_world_id/tables/0xf28338f44e2c4a2d4cf772140bdc89a45673dfe5/records/count
** (exit) an exception was raised:
** (FunctionClauseError) no function clause matching in BlockScoutWeb.API.V2.FallbackController.call/2
(block_scout_web 6.5.0) lib/block_scout_web/controllers/api/v2/fallback_controller.ex:37: BlockScoutWeb.API.V2.FallbackController.call(%Plug.Conn{adapter: {Plug.Cowboy.Conn, :...}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "localhost", method: "GET", owner: #PID<0.22407.0>, params: %{"table_id" => "0xf28338f44e2c4a2d4cf772140bdc89a45673dfe5", "world" => "incorrect_world_id"}, path_info: ["v2", "mud", "worlds", "incorrect_world_id", "tables", "0xf28338f44e2c4a2d4cf772140bdc89a45673dfe5", "records", "count"], path_params: %{"table_id" => "0xf28338f44e2c4a2d4cf772140bdc89a45673dfe5", "world" => "incorrect_world_id"}, port: 4000, private: %{BlockScoutWeb.ApiRouter => {["API"]..
Could we handle wrong provided params?
- I noticed, that response
/api/v2/mud/worlds/0xca62fcc0758f5461da77d3c47bc4a9e519366528/tables/0x6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572/records/0x0ba51f4900000000000000000000000000000000000000000000000000000000
contains:
...
"table_full_name": "ot.world.FunctionSignatur",
"table_name": "FunctionSignatur",
...
Is this typo in table name (missing "e" at the end) or artefact of decoding?
defp do_mud_records_sorting("key_bytes", "asc"), do: [asc_nulls_first: :key_bytes] | ||
defp do_mud_records_sorting("key_bytes", "desc"), do: [desc_nulls_last: :key_bytes] | ||
defp do_mud_records_sorting("key0", "asc"), do: [asc_nulls_first: :key0] | ||
defp do_mud_records_sorting("key0", "desc"), do: [desc_nulls_last: :key0] | ||
defp do_mud_records_sorting("key1", "asc"), do: [asc_nulls_first: :key1] | ||
defp do_mud_records_sorting("key1", "desc"), do: [desc_nulls_last: :key1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it make sense also adding sorting by log_index
as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I understand, since the default sorting for MUD is [asc: :key_bytes]
, whenever we are sorting by key0
/ key1
, key_bytes
will still stay in the ORDER BY
clause, so the order will be deterministic.
There was also a question of whether we should add a sorting by [desc: block_number, desc: log_index]
as well. I have decided to not implement it for now as it requires an additional index in the MUD database and should be probably added by the lattice team.
def from(%Hash{byte_count: 32, bytes: raw} = table_id) do | ||
<<prefix::binary-size(2), namespace::binary-size(14), table_name::binary-size(16)>> = raw | ||
|
||
trimmed_namespace = String.trim_trailing(namespace, "\u0000") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets define "\u0000" as module attribute
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replaced it with <<0>>
to be stay sync with rest of the codebase.
There is no typo in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add new MUD-related envs into /docker-compose/envs/common-blockscout.env
and PR to docs page with envs.
* feat: precompiled contracts ABI import (#9899) * Initial implementation of precompiled contracts ABI import * Documention added * address Sobelow finding * another attempt address Sobelow finding * Apply evident suggestions from code review Co-authored-by: Kirill Fedoseev <kirill@blockscout.com> * Fix afer merge * Small inconsistency in spec * different path for different mix environment * fix for formatting issue --------- Co-authored-by: Kirill Fedoseev <kirill@blockscout.com> * Update README.md * chore: Bump floki from 0.36.1 to 0.36.2 (#9979) Bumps [floki](https://github.com/philss/floki) from 0.36.1 to 0.36.2. - [Release notes](https://github.com/philss/floki/releases) - [Changelog](https://github.com/philss/floki/blob/main/CHANGELOG.md) - [Commits](https://github.com/philss/floki/compare/v0.36.1...v0.36.2) --- updated-dependencies: - dependency-name: floki dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump redix from 1.4.1 to 1.5.0 (#9977) Bumps [redix](https://github.com/whatyouhide/redix) from 1.4.1 to 1.5.0. - [Changelog](https://github.com/whatyouhide/redix/blob/main/CHANGELOG.md) - [Commits](https://github.com/whatyouhide/redix/compare/v1.4.1...v1.5.0) --- updated-dependencies: - dependency-name: redix dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Enhance indexer memory metrics (#9984) * chore: Bump @babel/core in /apps/block_scout_web/assets (#9996) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.24.3 to 7.24.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.24.5/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump @fortawesome/fontawesome-free (#10002) Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.5.1 to 6.5.2. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-free" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump mixpanel-browser in /apps/block_scout_web/assets (#10000) Bumps [mixpanel-browser](https://github.com/mixpanel/mixpanel-js) from 2.49.0 to 2.50.0. - [Release notes](https://github.com/mixpanel/mixpanel-js/releases) - [Changelog](https://github.com/mixpanel/mixpanel-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/mixpanel/mixpanel-js/compare/v2.49.0...v2.50.0) --- updated-dependencies: - dependency-name: mixpanel-browser dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump sweetalert2 in /apps/block_scout_web/assets (#9998) Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 11.10.7 to 11.10.8. - [Release notes](https://github.com/sweetalert2/sweetalert2/releases) - [Changelog](https://github.com/sweetalert2/sweetalert2/blob/main/CHANGELOG.md) - [Commits](https://github.com/sweetalert2/sweetalert2/compare/v11.10.7...v11.10.8) --- updated-dependencies: - dependency-name: sweetalert2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump css-loader in /apps/block_scout_web/assets (#10003) Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.10.0 to 7.1.1. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.10.0...v7.1.1) --- updated-dependencies: - dependency-name: css-loader dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump @amplitude/analytics-browser in /apps/block_scout_web/assets (#10001) Bumps [@amplitude/analytics-browser](https://github.com/amplitude/Amplitude-TypeScript) from 2.6.1 to 2.7.0. - [Release notes](https://github.com/amplitude/Amplitude-TypeScript/releases) - [Commits](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/analytics-browser@2.6.1...@amplitude/analytics-browser@2.7.0) --- updated-dependencies: - dependency-name: "@amplitude/analytics-browser" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump @babel/preset-env in /apps/block_scout_web/assets (#9999) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.24.3 to 7.24.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.24.5/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump mini-css-extract-plugin in /apps/block_scout_web/assets (#9997) Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.8.1 to 2.9.0. - [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases) - [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.8.1...v2.9.0) --- updated-dependencies: - dependency-name: mini-css-extract-plugin dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump style-loader in /apps/block_scout_web/assets (#9995) Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 3.3.4 to 4.0.0. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/style-loader/compare/v3.3.4...v4.0.0) --- updated-dependencies: - dependency-name: style-loader dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump ex_cldr_units from 3.16.5 to 3.17.0 (#9931) * chore: Bump ex_cldr_units from 3.16.5 to 3.17.0 Bumps [ex_cldr_units](https://github.com/elixir-cldr/cldr_units) from 3.16.5 to 3.17.0. - [Release notes](https://github.com/elixir-cldr/cldr_units/releases) - [Changelog](https://github.com/elixir-cldr/cldr_units/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-cldr/cldr_units/commits/v3.17.0) --- updated-dependencies: - dependency-name: ex_cldr_units dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Add cldr to dialyzer ignore --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> * chore: Bump ex_cldr from 2.38.0 to 2.38.1 (#10009) Bumps [ex_cldr](https://github.com/elixir-cldr/cldr) from 2.38.0 to 2.38.1. - [Release notes](https://github.com/elixir-cldr/cldr/releases) - [Changelog](https://github.com/elixir-cldr/cldr/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-cldr/cldr/compare/v2.38.0...v2.38.1) --- updated-dependencies: - dependency-name: ex_cldr dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump ex_cldr_numbers from 2.32.4 to 2.33.1 (#9978) Bumps [ex_cldr_numbers](https://github.com/elixir-cldr/cldr_numbers) from 2.32.4 to 2.33.1. - [Release notes](https://github.com/elixir-cldr/cldr_numbers/releases) - [Changelog](https://github.com/elixir-cldr/cldr_numbers/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-cldr/cldr_numbers/compare/v2.32.4...v2.33.1) --- updated-dependencies: - dependency-name: ex_cldr_numbers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove update of latest tag except release CI for chains, which managed via CHAIN_TYPE * CI for Arbitrum on-demand Docker images * feat: Omit balanceOf requests for tokens that doesn't support it (#10018) * feat: Omit balanceOf requests for tokens that doesn't support it * Missing balanceOf token refactoring * Fix failed token balance error matching * feat: Detect EIP-1967 proxy pattern on unverified smart-contracts (#9864) * Detect EIP-1967 proxy even for not verified smart-contracts * put_verified_from_twin/2 function * Implement proxy implementation model * Fix test * Fix DB migration * Refactoring * Fix tests * Change schema to store implementation arrays * Refactoring * Update apps/explorer/lib/explorer/etherscan/contracts.ex Co-authored-by: nikitosing <32202610+nikitosing@users.noreply.github.com> * Process review comments * Fix call of Implementation.get_implementation_address_hash * Refactor save_implementation_data/5 to save_implementation_data/4 * Process review comment * Remove duplicate call of implementation_updated_at * Eliminate metadata_from_verified_bytecode_twin from save_implementation_data function * Fix formatting * Set non-nil smart-contract into Implementation.get_implementation_address_hash(...) * Simplify clauses in save_implementation_data/3 * Get implementation data in a single DB request * Fix tests * Set different proxy verification success message in case of single/plural implementations * Refactoring --------- Co-authored-by: nikitosing <32202610+nikitosing@users.noreply.github.com> * fix: Handle DB unavailability by PolygonZkevm.TransactionBatch fetcher (#10031) Co-authored-by: POA <33550681+poa@users.noreply.github.com> * Fix typo * feat: save smart-contract proxy type in the DB (#10033) * feat: save smart-contract proxy type in the DB * Add tests * Allow null proxy type in DB * Fix tests * Update stats.yml (#10030) Stats container env variables was not working correctly * chore: Migrate to GET variant of {{metadata_url}}/api/v1/metadata (#9994) * chore: Migrate to GET variant of {{metadata_url}}/api/v1/metadata * Fix test * fix: Don't put error to NFT metadata (#9940) * fix: Don't put error to NFT metadata * Remove unused Explorer.Helper.maybe_decode/1 * feat: add user ops indexer to docker compose configs (#10010) * feat: add user ops indexer to docker compose configs * fix: missing env in .gitignore * fix: search for long integers (#9651) * fix: search for long integers * fix: ignore negative block numbers * chore: move `safe_parse_block_number` to `Explorer.Helper` * refactor: make function name more generic * refactor: utilize `safe_parse_non_negative_integer` in `paging_options` * Show blocks range in internal transactions fetching error (#10028) * feat: Diamond proxy (EIP-2535) support (#10034) * feat: Diamond proxy (eip-2535) * Additional logic change * Refactoring & backward compatibility * Refactor specs * Remove prepare_value function * implementation_address_hash_from_db, implementation_name_from_db to plural form * Remove check implementation_address_hash_strings is list * address_hash_to_smart_contract_with_bytecode_twin function: return options param into the call of single_implementation_smart_contract_from_proxy * Remove fallback "|| [burn_address_hash_string()]" * Update spec of set_proxy_verification_result * Fix web tests * Change the order of enum values to match db enum * Remove duplicated clause in save_implementation_data/4 * Remove duplicated line * Add clause for [] to set_proxy_verification_result * chore: Update outdated links to ETH JSON RPC Specification in docstrings (#10041) * Update outdated links to ETH JSON RPC Specification in docstrings * Remove empty line * feat: MUD API support (#9869) * feat: mud support * chore: fix ci warnings * feat: skip missing schemas * ci: build redstone image * chore: fix dialyzer * chore: remove noop migration * feat: full-text table search * fix: don't show deleted records * fix: type specs and dializer fixes * feat: checksum addresses * fix: handle invalid params * chore: add missing envs * chore: Add support of Blast-specific L1 OP withdrawal events (#10049) * Add support of Blast-specific L1 OP withdrawal events * mix format --------- Co-authored-by: POA <33550681+poa@users.noreply.github.com> * feat: Improve retry NFT fetcher (#10027) * feat: Improve retry NFT fetcher * Process review comments * Fix spelling * chore: remove `has_methods` from `/addresses` (#10051) * chore: remove `has_methods_` `read`/`read_proxy`/`write`/`write_proxy` from `/addresses` * chore: move proxy contract test to `smart_contract_controller_test.exs` * refactor: test database config (#9662) * refactor: test database config * feat: configure test db with special envs * fix: prefer `url` from config over raw env * refactor: remove redundant fallback * refactor: use `ConfigHelper.init_repo_module/2` to configure `ZkSync` repo * fix: Fix Unknown UID bug at smart-contract verification (#9986) * fix: Fix Unknown UID bug * Fix credo * Fix credo * Refactoring * Fix aliases * chore: Bump ex_doc from 0.32.1 to 0.32.2 (#10061) Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.32.1 to 0.32.2. - [Release notes](https://github.com/elixir-lang/ex_doc/releases) - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.32.1...v0.32.2) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump redix from 1.5.0 to 1.5.1 (#10059) Bumps [redix](https://github.com/whatyouhide/redix) from 1.5.0 to 1.5.1. - [Changelog](https://github.com/whatyouhide/redix/blob/main/CHANGELOG.md) - [Commits](https://github.com/whatyouhide/redix/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: redix dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump credo from 1.7.5 to 1.7.6 (#10060) Bumps [credo](https://github.com/rrrene/credo) from 1.7.5 to 1.7.6. - [Release notes](https://github.com/rrrene/credo/releases) - [Changelog](https://github.com/rrrene/credo/blob/master/CHANGELOG.md) - [Commits](https://github.com/rrrene/credo/compare/v1.7.5...v1.7.6) --- updated-dependencies: - dependency-name: credo dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * refactor: Refactor get_additional_sources/4 -> get_additional_sources/3 (#10046) * fix: vyper contracts re-verificaiton (#10053) * Add test case for publishing re-verified solidity contract * Add (failing) test case for publishing re-verified vyper contract * fix: allow for vyper contracts re-verification * Remove commented line * feat: Clone with immutable arguments proxy pattern (#10039) * feat: Clone with immutable arguments proxy pattern * refactor: rename unverified_proxy_only? to proxy_without_abi? * fix: Disallow batched queries in GraphQL endpoint (#10050) * Disallow multiple queries in GraphQL endpoint * Fix mix credo * Add Plug.Parsers to each pipeline * Process review comments * Process review comments * chore: Update hackney pool size: add new fetchers accounting (#9941) * feat: Blueprint contracts support (#10058) * Update smart-contract to have 'is_blueprint' flag * Store into the database 'is_blueprint' value retrieved from verification or lookup results * Make use of TestHelper module for smart_contract_controller_test * Make use of TestHelper module for verification_controller_test. Fix invalid 'is_blueprint' value in fixture * Fix spelling. Simplify Vyper.publish method * Add 'Averify' into spelling check * Add PR url to the comment with rationale behind url-encoding ':' symbol * fix: Separate indexer setup (#10032) * fix: Separate indexer setup * Configure CI for sepate images for indexer and API * Change CI for every push to master branch (build separate indexer/api images) * Add DISABLE_API env var * Indexing status improvements for api instance --------- Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> * feat: Add optional retry of NFT metadata fetch in Indexer.Fetcher.Tok… (#10036) * feat: Add optional retry of NFT metadata fetch in Indexer.Fetcher.TokenInstance.Realtime * Rename env * Process review comments * Rename var * fix: Eliminate from_address_hash == #{address_hash} clause for transactions query in case of smart-contracts (#9469) * Eliminate from_address_hash equal to address clause for transactions query in case of smart-contracts * Fix tests * Fix web tests * Fix web tests * Process review comments * Update apps/explorer/lib/explorer/etherscan/logs.ex Co-authored-by: Kirill Fedoseev <kirill@blockscout.com> * mix format * Remove or_where import * Update smart-contract controller test --------- Co-authored-by: Kirill Fedoseev <kirill@blockscout.com> * fix: Rework revert_reason (#9212) * fix: rework revert_reason * fix: format * fix: tests * fix: chain_type_fields * chore: refactor * fix: decode functions refactor * 6.6.0 * fix: Add healthcheck endpoints for indexer-only setup (#10076) * fix: Update Vyper inner compilers list to support all compilers (#10091) Increases the number of items retrieved for Vyper releases to 100. Allows to get the oldest vyper compilers when using internal verification (i.e., sc_verifier is disabled) When not set, the default number of items retrieved is 30, which is less than total number of currently existing releases (46). This makes the oldest compilers unavailable when using vyper verificaiton method. Should fix the failing `/api/v2/smart-contracts/{address_hash}/verification/via/vyper-code success verification` test * Fix certified flag in the search API v2 endpoint (#10094) * Update CHANGELOG for 6.6.0 * Remove custom release CI for Immutable * feat: implement fetch_first_trace for Geth (#10087) * feat: implement fetch_first_trace for Geth * chore: add missing doc & spec * Update CHANGELOG * Fix GA pre-release && release workflows * Improve response of address API to return multiple implementations for Diamond proxy (#10113) * Update CHANGELOG * Indexer/API separated images for Redstone * chore: Bump ecto_sql from 3.11.1 to 3.11.2 updated-dependencies: - dependency-name: ecto_sql dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: indexer for cross level messages on Arbitrum (#9312) * Initial version of x-level messages indexer * fixes for cspell and credo * new state of x-level messages * Monitoring of new L1-to-L2 messages on L1 * new batches discovery * fetcher workers in separate modules * proper name * Fix for responses without "id", e.g. "Too Many Requests" * update DB with new batches and corresponding data * update DB with confirmed blocks * fixes for cspell and credo * tracking commitments confirmations for L1 to L2 messages * Proper usign of max function * tracking completion of L2 to L1 messages * catchup historical messages to L2 * incorrect version of committed file * catchup historical messages from L2 and completion of L1-to-L2 messages * historical batches catchup * status for historical l2-to-l1 messages * address matching issue * catchup historical executions of L2-to-L1 messages * db query to find unconfirmed blocks gaps * first changes to catchup historical confirmations * finalized catchup of historical confirmations * 4844 blobs support * fix for the issue with multiple confirmations * limit amount of batches to handle at once * Use latest L1 block by fetchers if start block is not configured * merge issue fix * missed file * historical messages discovery * reduce logs severity * first iteration to improve documentation for new functionality * second iteration to improve documentation for new functionality * third iteration to improve documentation for new functionality * fourth iteration to improve documentation for new functionality * fifth iteration to improve documentation for new functionality * final iteration to improve documentation for new functionality * merge issues addressed * code review issues addressed * code review issues addressed * fix merge issue * raising exception in the case of DB inconsistency * fix formatting issue * termination case for RollupMessagesCatchup * code review comments addressed * code review comments addressed * consistency in primary keys * dialyzer fix * code review comments addressed * missed doc comment * code review comments addressed * updated indices creation as per code review comments * fix merge issue * configuration of intervals as time variables * TODO added to reflect improvement ability * database fields refactoring * association renaming * feat: APIv2 endpoints for Arbitrum messages and batches (#9963) * Arbitrum related info in Transaction and Block views * Views to get info about batches and messages * usage of committed for batches instead of confirmed * merge issues addressed * changes after merge * formatting issue fix * code review comment addressed * associations and fields in api response renamed * format issue addressed * feat: Arbitrum-specific fields in the block and transaction API endpoints (#10067) * Arbitrum related info in Transaction and Block views * Views to get info about batches and messages * usage of committed for batches instead of confirmed * merge issues addressed * changes after merge * formatting issue fix * block and transaction views extended * code review comment addressed * associations and fields in api response renamed * format issue addressed * fix credo issue * fix tests issues * ethereumjsonrpc test fail investigation * test issues fixes * --- (#10096) updated-dependencies: - dependency-name: phoenix_ecto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * hide chain specific fields behind Map.get (#10131) * fix: Hotfix for Indexer.Fetcher.Optimism.WithdrawalEvent and EthereumJSONRPC.Receipt (#10130) * fix: Hotfix for Indexer.Fetcher.Optimism.WithdrawalEvent * Small refactoring * Small refactoring * Consider nil in game_index * Add empty handler for Optimism Fjord tx receipt fields --------- Co-authored-by: POA <33550681+poa@users.noreply.github.com> * fix: missing nil case for revert reason (#10136) * Explicit message on token balance update error (#10129) * fix: Add missing preloads to tokens endpoints (#10072) * fix: Add healthcheck endpoints for indexer-only setup (#10076) * fix: Update Vyper inner compilers list to support all compilers (#10091) Increases the number of items retrieved for Vyper releases to 100. Allows to get the oldest vyper compilers when using internal verification (i.e., sc_verifier is disabled) When not set, the default number of items retrieved is 30, which is less than total number of currently existing releases (46). This makes the oldest compilers unavailable when using vyper verificaiton method. Should fix the failing `/api/v2/smart-contracts/{address_hash}/verification/via/vyper-code success verification` test * Fix certified flag in the search API v2 endpoint (#10094) * Update CHANGELOG for 6.6.0 * Remove custom release CI for Immutable * feat: implement fetch_first_trace for Geth (#10087) * feat: implement fetch_first_trace for Geth * chore: add missing doc & spec * Update CHANGELOG * Fix GA pre-release && release workflows * Improve response of address API to return multiple implementations for Diamond proxy (#10113) * Update CHANGELOG * Indexer/API separated images for Redstone * chore: Bump ecto_sql from 3.11.1 to 3.11.2 updated-dependencies: - dependency-name: ecto_sql dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: indexer for cross level messages on Arbitrum (#9312) * Initial version of x-level messages indexer * fixes for cspell and credo * new state of x-level messages * Monitoring of new L1-to-L2 messages on L1 * new batches discovery * fetcher workers in separate modules * proper name * Fix for responses without "id", e.g. "Too Many Requests" * update DB with new batches and corresponding data * update DB with confirmed blocks * fixes for cspell and credo * tracking commitments confirmations for L1 to L2 messages * Proper usign of max function * tracking completion of L2 to L1 messages * catchup historical messages to L2 * incorrect version of committed file * catchup historical messages from L2 and completion of L1-to-L2 messages * historical batches catchup * status for historical l2-to-l1 messages * address matching issue * catchup historical executions of L2-to-L1 messages * db query to find unconfirmed blocks gaps * first changes to catchup historical confirmations * finalized catchup of historical confirmations * 4844 blobs support * fix for the issue with multiple confirmations * limit amount of batches to handle at once * Use latest L1 block by fetchers if start block is not configured * merge issue fix * missed file * historical messages discovery * reduce logs severity * first iteration to improve documentation for new functionality * second iteration to improve documentation for new functionality * third iteration to improve documentation for new functionality * fourth iteration to improve documentation for new functionality * fifth iteration to improve documentation for new functionality * final iteration to improve documentation for new functionality * merge issues addressed * code review issues addressed * code review issues addressed * fix merge issue * raising exception in the case of DB inconsistency * fix formatting issue * termination case for RollupMessagesCatchup * code review comments addressed * code review comments addressed * consistency in primary keys * dialyzer fix * code review comments addressed * missed doc comment * code review comments addressed * updated indices creation as per code review comments * fix merge issue * configuration of intervals as time variables * TODO added to reflect improvement ability * database fields refactoring * association renaming * feat: APIv2 endpoints for Arbitrum messages and batches (#9963) * Arbitrum related info in Transaction and Block views * Views to get info about batches and messages * usage of committed for batches instead of confirmed * merge issues addressed * changes after merge * formatting issue fix * code review comment addressed * associations and fields in api response renamed * format issue addressed * feat: Arbitrum-specific fields in the block and transaction API endpoints (#10067) * Arbitrum related info in Transaction and Block views * Views to get info about batches and messages * usage of committed for batches instead of confirmed * merge issues addressed * changes after merge * formatting issue fix * block and transaction views extended * code review comment addressed * associations and fields in api response renamed * format issue addressed * fix credo issue * fix tests issues * ethereumjsonrpc test fail investigation * test issues fixes * --- (#10096) updated-dependencies: - dependency-name: phoenix_ecto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * hide chain specific fields behind Map.get (#10131) * fix: Hotfix for Indexer.Fetcher.Optimism.WithdrawalEvent and EthereumJSONRPC.Receipt (#10130) * fix: Hotfix for Indexer.Fetcher.Optimism.WithdrawalEvent * Small refactoring * Small refactoring * Consider nil in game_index * Add empty handler for Optimism Fjord tx receipt fields --------- Co-authored-by: POA <33550681+poa@users.noreply.github.com> * fix: missing nil case for revert reason (#10136) * fix: Add missing preloads to tokens endpoints --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> Co-authored-by: Rim Rakhimov <rimrakhimov@gmail.com> Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com> Co-authored-by: Kirill Fedoseev <kirill@blockscout.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> Co-authored-by: varasev <33550681+varasev@users.noreply.github.com> Co-authored-by: POA <33550681+poa@users.noreply.github.com> * feat: Add window between balance fetch retries for missing balanceOf tokens (#10142) * refactor: Remove hardcoded numResults from fetch_pending_transactions_besu (#10117) * update remove fixed value * refactor fetch_pending_transactions_besu * add PR number and revised CHANGLOG.md * remove change in CHANGELOG.md * chore(deps-dev): bump @babel/core in /apps/block_scout_web/assets (#10172) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.24.5 to 7.24.6. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Fix Retry NFT fetcher (#10146) * chore(deps-dev): bump eslint-plugin-promise (#10168) Bumps [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) from 6.1.1 to 6.2.0. - [Release notes](https://github.com/eslint-community/eslint-plugin-promise/releases) - [Changelog](https://github.com/eslint-community/eslint-plugin-promise/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-community/eslint-plugin-promise/compare/v6.1.1...v6.2.0) --- updated-dependencies: - dependency-name: eslint-plugin-promise dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump core-js in /apps/block_scout_web/assets (#10175) Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.36.1 to 3.37.1. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/commits/v3.37.1/packages/core-js) --- updated-dependencies: - dependency-name: core-js dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump sweetalert2 in /apps/block_scout_web/assets (#10171) Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 11.10.8 to 11.11.0. - [Release notes](https://github.com/sweetalert2/sweetalert2/releases) - [Changelog](https://github.com/sweetalert2/sweetalert2/blob/main/CHANGELOG.md) - [Commits](https://github.com/sweetalert2/sweetalert2/compare/v11.10.8...v11.11.0) --- updated-dependencies: - dependency-name: sweetalert2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump mixpanel-browser in /apps/block_scout_web/assets (#10170) Bumps [mixpanel-browser](https://github.com/mixpanel/mixpanel-js) from 2.50.0 to 2.51.0. - [Release notes](https://github.com/mixpanel/mixpanel-js/releases) - [Changelog](https://github.com/mixpanel/mixpanel-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/mixpanel/mixpanel-js/compare/v2.50.0...v2.51.0) --- updated-dependencies: - dependency-name: mixpanel-browser dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump css-minimizer-webpack-plugin (#10173) Bumps [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin) from 6.0.0 to 7.0.0. - [Release notes](https://github.com/webpack-contrib/css-minimizer-webpack-plugin/releases) - [Changelog](https://github.com/webpack-contrib/css-minimizer-webpack-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-minimizer-webpack-plugin/compare/v6.0.0...v7.0.0) --- updated-dependencies: - dependency-name: css-minimizer-webpack-plugin dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump solc from 0.8.25 to 0.8.26 in /apps/explorer (#10177) Bumps [solc](https://github.com/ethereum/solc-js) from 0.8.25 to 0.8.26. - [Commits](https://github.com/ethereum/solc-js/compare/v0.8.25...v0.8.26) --- updated-dependencies: - dependency-name: solc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump @amplitude/analytics-browser (#10176) Bumps [@amplitude/analytics-browser](https://github.com/amplitude/Amplitude-TypeScript) from 2.7.0 to 2.8.1. - [Release notes](https://github.com/amplitude/Amplitude-TypeScript/releases) - [Commits](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/analytics-browser@2.7.0...@amplitude/analytics-browser@2.8.1) --- updated-dependencies: - dependency-name: "@amplitude/analytics-browser" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump @babel/preset-env in /apps/block_scout_web/assets (#10174) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.24.5 to 7.24.6. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump chart.js in /apps/block_scout_web/assets (#10169) Bumps [chart.js](https://github.com/chartjs/Chart.js) from 4.4.2 to 4.4.3. - [Release notes](https://github.com/chartjs/Chart.js/releases) - [Commits](https://github.com/chartjs/Chart.js/compare/v4.4.2...v4.4.3) --- updated-dependencies: - dependency-name: chart.js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Add a separate db url for events listener (#10164) * fix: Move auth routes to general router (#10153) * fix: Move auth routes to general router * Move account routes to the separate router * chore: Return is verified=true for verified minimal proxy pattern (#10132) * Return is verified=true for verified minimal proxy pattern * Refactor proxy object for API * chore: Exclude write methods from read tabs (#10111) * Exclude write methods from Read tab * Reverse corresponding test * chore: Refactor PendingTransactionsSanitizer to use batched requests (#10101) * fix: Add the ability to allow empty traces (#10200) * fix: Resolve flaky address_controller test for web * feat: Add Fee column to Internal transactions CSV export (#10204) * feat: Add Fee column to Internal transactions CSV export * Fix tests * Fix flaky test * fix: Filter WETH transfers in indexer + migration to delete historical incorrect WETH transfers (#10134) * feat: Set dynamic ttl of cache modules derived from MapCache (#10109) * Set dynamic ttl of cache modules derived from MapCache * Update apps/explorer/lib/explorer/chain/cache/helper.ex Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> --------- Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> * fix: excessive logging for Arbitrum batches confirmations (#10205) * revisited logging to explore start block of confirmation range * improvement of logging * feat: Batch read methods requests (#10192) * feat: Batch read methods requests * Fix tests * Process review comments * feat: Add feature toggle for WETH filtering (#10208) * feat: Add feature toggle for WETH filtering * Add new envs to docker-compose/envs/common-blockscout.env * Fix tests * perf: replace individual queries with ecto preload (#10203) * feat: Push relevant entries to the front of bound queue (#10193) * feat: Push relevant entries to the front of bound queue * Refactor realtime? parameter in async_import_remaining_block_data * feat: Get ERC-1155 token name from contractURI getter fallback (#10187) * Get ERC-1155 token name from contractURI getter fallback * Process review comments * Change doc and spec for stream_cataloged_tokens function * feat: Adding Mobula price source (#9971) * Adding Mobula as data provider * push Mobula source * add chain setup * remove useless params * remove useless functions * add mobula price history provider * adding mobula history url * add possibility to fetch_market_data_for_token_addresses with Mobula on source.ex * update chain => chain_id * mix format * mix credo * removed useless alias Helper & Chain * Adding "Mobula" to cspell.json * Adding Mobula to config_helper * Fix dialyzer * mix format * Set Mobula as a default source if the EXCHANGE_RATES_COINGECKO_API_KEY is not set * fix compilation error on config_helper * Remove Mobula fallback on config_helper exchange_rates_source * Update apps/explorer/lib/explorer/exchange_rates/source/mobula.ex Co-authored-by: Fedor Ivanov <ivnfedor@gmail.com> * Update mobula.ex * add Mobula to exchange_rates_market_cap_source * Adding secondary_coin support * EXCHANGE_RATES_MOBULA_PLATFORM_ID into EXCHANGE_RATES_MOBULA_CHAIN_ID * should fix mix credo * adding mobula secondary id env * update env in runtime.exs * Push requests --------- Co-authored-by: Fedor Ivanov <ivnfedor@gmail.com> * feat(ci): use remote arm64 builder (#9468) * feat(ci): multi-platform remote build * set arm runner secret, update runner hosts * select one builder and persist it * select one builder and persist it * find the least busy arm builder * chore: update ci configs post rebase * enable remote build in every workflow --------- Co-authored-by: aagaev <alik@agaev.me> * fixed the field name (#10216) * chore(deps): bump remote_ip from 1.1.0 to 1.2.0 (#10224) Bumps [remote_ip](https://github.com/ajvondrak/remote_ip) from 1.1.0 to 1.2.0. - [Release notes](https://github.com/ajvondrak/remote_ip/releases) - [Commits](https://github.com/ajvondrak/remote_ip/compare/v1.1.0...v1.2.0) --- updated-dependencies: - dependency-name: remote_ip dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cldr_utils from 2.25.0 to 2.26.0 (#10223) Bumps [cldr_utils](https://github.com/elixir-cldr/cldr_utils) from 2.25.0 to 2.26.0. - [Release notes](https://github.com/elixir-cldr/cldr_utils/releases) - [Changelog](https://github.com/elixir-cldr/cldr_utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-cldr/cldr_utils/compare/v2.25.0...v2.26.0) --- updated-dependencies: - dependency-name: cldr_utils dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump wallaby from 0.30.6 to 0.30.7 (#10221) Bumps [wallaby](https://github.com/elixir-wallaby/wallaby) from 0.30.6 to 0.30.7. - [Release notes](https://github.com/elixir-wallaby/wallaby/releases) - [Changelog](https://github.com/elixir-wallaby/wallaby/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-wallaby/wallaby/compare/v0.30.6...v0.30.7) --- updated-dependencies: - dependency-name: wallaby dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Fix unknown UID bug (#10226) * fix: Fix unknown UID bug * Fix timestamp comparison * fix: Replace empty arg names with argN (#9748) * fix: Replace empty arg names with argN * Fix dialyzer * Remove dbg * Fix dialyzer * Fix test * Fix test --------- Co-authored-by: Maxim Filonov <53992153+sl1depengwyn@users.noreply.github.com> * fix: ERC-1155 tokens metadata retrieve (#10231) * fix: cannot truncate chardata (#10227) * chore(deps-dev): bump benchee from 1.3.0 to 1.3.1 (#10222) Bumps [benchee](https://github.com/bencheeorg/benchee) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/bencheeorg/benchee/releases) - [Changelog](https://github.com/bencheeorg/benchee/blob/main/CHANGELOG.md) - [Commits](https://github.com/bencheeorg/benchee/compare/1.3.0...1.3.1) --- updated-dependencies: - dependency-name: benchee dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: add proxy_implementations preloads (#10225) * fix: add proxy_implementations preloads * Add preloads to channels * Add preload to cache * fix: add smart contracts preloads to from_address (#10236) * feat: Advanced Filters (#9769) * feat: Advanced Filters * Fix query performance * Fix timestamp filtering; Fix query construction * Add csv export * Frontend integration Add search_params to response Add limit to tokens endpoint Add fee in api response Add exclusion/inclusion of from/to addresses Remove raw_input from api response * Remove comment * Add methods search; Optimize internal txs query * Fix `method_id_to_name_from_params` * Fix filtering by amount; add filter by native * Fix review comments * Handle all token types * Optimize query * Process review comments * Process review comments --------- Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> * Fix nil abi issue in get_naive_implementation_abi and get_master_copy_pattern methods (#10239) * fix: batch transactions view recovered and support of proofs through ZkSync Hyperchain (#10234) * unified tx_hash field with Arbitrum batch transaction * Supported yet another contract function to submit batches proofs * fixed formatting issue * feat: API endpoint to re-fetch token instance metadata (#10097) * feat: Re-fetch token instance metadata * Partially process review comments * Process reviewer comments. Part 2 * Process reviewer comments. Part 3 * Process reviewer comments. Part 4 * Fix events * Add test * Remove :token preload * fix formatting * Fix tests * Remove unused aliases * Add reCAPTCHA for token instance re-fetch API endpoint * Check event on websocket at /api/v2/tokens/{address_hash}/instances/{token_id}/refetch-metadata endpoint * 6.7.0 * fix: Fix possible unknown UID bug (#10240) * Update CHANGELOG * fix: pipe through api_v2_no_forgery_protect POST requests in SmartContractsApiV2Router * fix: proper hex-encoded transaction hash recognition in ZkSync batches status checker (#10255) * proper hex-encoded transaction hash recognition * mix format --------- Co-authored-by: Viktor Baranov <baranov.viktor.27@gmail.com> * fix: advanced filter contract creation transaction (#10257) * feat: Chain & explorer Prometheus metrics (#10063) * feat: Chain & explorer Prometheus metrics * Process review * Add consensus filter, account token transfers and internal transactions in active users metric * Refactor, run metrics async * Raise error on metrics query execution timed out * Move chain & explorer mterics to a separate (public) endpoint * Set 1h timeout for DB request * fix: add preloads to summary and tokens endpoints (#10259) * Update CHANGELOG * fix: add preloads for tx summary endpoint (#10261) * fix: `getsourcecode` in API v1 for verified proxy (#10273) * Update CHANGELOG * Fix ci setup repo error (#10277) * try to trim BUILDER_IP env * Revert "try to trim BUILDER_IP env" This reverts commit 9a95ce948bb723b5a256420c9fe34d71eb0e95bd. * trim BEST_BUILDER env and disable debug message * feat: Public metrics toggler (#10279) * Public metrics toggler * Update apps/explorer/lib/explorer/chain/metrics.ex Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> --------- Co-authored-by: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> * Update CHANGELOG * Pre-release workflow for Arbitrum * Update CHANGELOG * fix: set timeout in seconds (#10283) * Update CHANGELOG * Disable weekly_active_addresses_number metric because it affects DB performance: query should be optimized in the future * Speed-up query execution for weekly_new_token_transfers_number_query (#10289) * fix: add token instances preloads (#10288) * Update CHANGELOG * fix: token instance preload (#10297) * fix: update `ex_abi` to fix type decoder for huge lists (#10294) * chore: update `ex_abi` to fix type decoder for huge lists * chore: add a todo note * fix: update `ex_abi` to parse function ABI without `outputs` field --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Alexander Kolotov <alexandr.kolotov@gmail.com> Co-authored-by: Kirill Fedoseev <kirill@blockscout.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: Qwerty5Uiop <105209995+Qwerty5Uiop@users.noreply.github.com> Co-authored-by: nikitosing <32202610+nikitosing@users.noreply.github.com> Co-authored-by: varasev <33550681+varasev@users.noreply.github.com> Co-authored-by: POA <33550681+poa@users.noreply.github.com> Co-authored-by: Ramazan Fatih Karadeniz <61462812+ramazanfatih-karadeniz@users.noreply.github.com> Co-authored-by: Fedor Ivanov <ivnfedor@gmail.com> Co-authored-by: Kevin Mathew <kevinam99@gmail.com> Co-authored-by: Rim Rakhimov <rimrakhimov@gmail.com> Co-authored-by: sirawt <31649128+MASDXI@users.noreply.github.com> Co-authored-by: Maxim Filonov <53992153+sl1depengwyn@users.noreply.github.com> Co-authored-by: NBMXyeu <121313170+xyeuu@users.noreply.github.com> Co-authored-by: aagaev <alik@agaev.me>
Docs PR - blockscout/docs#277
Checklist for your Pull Request (PR)
master
in the Version column. Changes will be reflected in this table: https://docs.blockscout.com/for-developers/information-and-settings/env-variables.