blockscout

Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.

GPL-3.0 License

Stars
3.2K
Committers
166
blockscout - BlockScout v6.5.0-beta Latest Release

Published by vbaranov 6 months ago

Variable Required Description Default
IPFS_GATEWAY_URL_PARAM_KEY The key of the parameter to add to IPFS gateway url. Implemented in #9898. (empty))
IPFS_GATEWAY_URL_PARAM_VALUE The value of the parameter to add to IPFS gateway url. Implemented in #9898. (empty))
IPFS_GATEWAY_URL_PARAM_LOCATION Whether to add extra params: to query string or to the headers. Available values: query/header. Implemented in #9898. (empty))
CONTRACT_CERTIFIED_LIST Comma-separated list of smart-contract addresses hashes, to which "certified" flag should be applied. Implemented in #9910 (empty)
INDEXER_GRACEFUL_SHUTDOWN_PERIOD Time that will be given to the block fetchers when stopping the application before they are killed. Implemented in #9729 5m

Zerion

Variable Required Description Default
ZERION_BASE_API_URL Zerion API base URL. Implemented in #9896. https://api.zerion.io/v1
ZERION_API_TOKEN Zerion API API token for usage of Noves.fi API. Implemented in #9896. API. (empty)

โš™๏ธ the release contains several foreground migrations:

  • new indexes on token_transfers, address_token_balances, address_current_token_balances tables to address querying performance issues.
  • new certified column in smart_contracts table.

โ„น๏ธ indexes are built with concurrently option. So, the foreground migrations shouldn't affect working indexer. Thus, no notable downtime is expected - update can be prepared on the live DB.

๐Ÿš€ Features

  • Certified smart contracts (#9910)
  • Exit on provided invalid CHAIN_TYPE (#9904)
  • IPFS gateway URL extra params (#9898)
  • Zerion API proxy (#9896)
  • Support Optimism Fault Proofs (#9892)
  • Return number of days in address's coin-balance-history-by-day API v2 endpoint (#9806)
  • Allow the use of Coingecko demo account (#9835)

๐Ÿ› Bug Fixes

  • Set refetch_needed: false on block import (#9953)
  • GAS_PRICE_ORACLE_NUM_OF_BLOCKS calculation (#9943)
  • Handle "null" filter in api/v1/logs-csv (#9933)
  • Fix metadata preload (#9925)
  • coin_price_change_percentage calculation (#9774)
  • Remove backend dependency in microservices.yml (#9905)
  • Expand memory only if it was shrunk (#9907)
  • Coin balances fetcher error logging (#9902)
  • Refactor catchup rudimentaries + fix graceful shutdown (#9729)
  • Handle transactions with gas_price set to nil in transaction_revert_reason/2 (#9647)
  • Correct processing of sized array to view in API v2 (#9854)
  • Broadcast realtime coin balances (#9804)
  • Disable BlockReward fetcher for unsupported variants (#9859)
  • Add non-unique log_index support in update_token_instances_owner (#9862)

โšก Performance

  • Paging function edge cases fix (#9820)
  • Adjust unfetched_address_token_balances_index to fit all bound query conditions (#9912)
  • Enhance index for token holders list (#9816)
  • Improve performance of token page transfers tab (#9809)

โš™๏ธ Miscellaneous Tasks

  • Fix some typos in comments (#9900)
  • Add queue expanding logic to memory monitor (#9870)
  • Bump ex_doc from 0.31.2 to 0.32.1 (#9889)
  • Separate reorgs from blocks that just need refetch (#9674)
  • Unknown token in email template (#9883)
  • Bump tesla from 1.8.0 to 1.9.0 (#9886)
  • Bump logger_file_backend from 0.0.13 to 0.0.14 (#9885)
  • Bump cloak_ecto from 1.2.0 to 1.3.0 (#9890)
  • Bump ex_secp256k1 from 0.7.2 to 0.7.3 (#9888)
  • Bump ex_cldr_units from 3.16.4 to 3.16.5 (#9884)
  • Move has_methods_* fields to /smart-contracts endpoint response (#9599)
  • Add metrics for realtime event handlers queue length (#9822)
  • Increase MissingRangesCollector past check interval after the first cycle (#9872)
  • Reduce number of warnings in web tests (#9851)
  • Fix some typos in conments (#9838)
  • Bump ex_abi from 0.7.1 to 0.7.2 (#9841)
  • Remove /config/json-rpc-url API endpoint (#9798)
  • Bump junit_formatter from 3.3.1 to 3.4.0 (#9842)
  • Bump number from 1.0.4 to 1.0.5 (#9843)
  • Bump absinthe_phoenix from 2.0.2 to 2.0.3 (#9840)
  • Bump plug_cowboy from 2.7.0 to 2.7.1 (#9844)

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.4.0-beta...v6.5.0-beta

blockscout - BlockScout v6.4.0-beta

Published by vbaranov 7 months ago

Variable Required Description Default
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK or INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK is defined. Implemented in #9637.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_ROLLUP_INDEX L1 Rollup index in terms of Polygon zkEVM bridge (0 = Polygon zkEVM, 1 = Astar zkEVM, etc.). Not defined if L1 is Ethereum Mainnet. Required if L1 is not Ethereum Mainnet and INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK or INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK is defined. Implemented in #9637.
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_NETWORK_ID L2 Network ID in terms of Polygon zkEVM bridge (1 = Polygon zkEVM, 2 = Astar zkEVM, etc.). Required if INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK or INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK is defined. Implemented in #9637.
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_ROLLUP_INDEX L2 Rollup index in terms of Polygon zkEVM bridge (0 = Polygon zkEVM, 1 = Astar zkEVM, etc.). Required if INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK or INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK is defined. Implemented in #9637.
EXCHANGE_RATES_COINGECKO_BASE_URL If set, overrides the Coingecko base URL. Implemented in #9679. true
EXCHANGE_RATES_COINGECKO_BASE_PRO_URL If set, overrides the Coingecko Pro base URL. Implemented in #9679. true
EXCHANGE_RATES_COINMARKETCAP_BASE_URL If set, overrides the CoinMarketCap base URL (Free and Pro). Implemented in #9679. true
CONTRACT_CODE_ON_DEMAND_FETCHER_THRESHOLD An initial threshold (for exponential backoff) to fetch smart-contract bytecode on-demand. Time format. Implemented in #9708. 5s

Metadata Service

Variable Required Description Default
MICROSERVICE_METADATA_ENABLED If true, integration with Metadata Service is enabled. Implemented in #9706 (empty)
MICROSERVICE_METADATA_URL URL of Metadata Service. Implemented in #9706 (empty)

GraphQL API management

Variable Required Description Default Version Need recompile
API_GRAPHQL_ENABLED Enabling/disabling of GraphQL API. Implemented in #9751 true v6.4.0
API_GRAPHQL_MAX_COMPLEXITY Query/schema max_complexity of GraphQL API. Implemented in #9751 215 v6.4.0 โœ…
API_GRAPHQL_TOKEN_LIMIT Query token_limit of Absinthe. Implemented in #9751 1000 v6.4.0 โœ…
API_GRAPHQL_DEFAULT_TRANSACTION_HASH Default transaction hash in a sample query to GraphiQL. Implemented in #9751. 0x69e3923eef50eada197c3336d546936d0c994211492c9f947a24c02827568f9f v6.4.0 โœ…
API_GRAPHQL_RATE_LIMIT A global GraphQL API rate limit: number or requests per second for all users. Implemented in #9771 10 req/sec v6.4.0
API_GRAPHQL_RATE_LIMIT_BY_KEY A dedicated GraphQL API rate limit per static key. If this limit is less than stated in API plan, then API_GRAPHQL_RATE_LIMIT_BY_KEY used for key generated from Account module. Implemented in #9771 5 req/sec v6.4.0
API_GRAPHQL_RATE_LIMIT_STATIC_API_KEY Static GraphQL API key with dedicated GraphQL API rate limit. Implemented in #9771 (empty) v6.4.0
API_GRAPHQL_RATE_LIMIT_DISABLED If true, any type of rate limit is ignored. Implemented in #9771 (empty) v6.4.0
API_GRAPHQL_RATE_LIMIT_BY_IP Global rate limit for an IP address for GraphQL API requests. #9771 500 v6.4.0
API_GRAPHQL_RATE_LIMIT_TIME_INTERVAL Time interval of rate limit. Time format. Implemented in #9771 1s v6.4.0
API_GRAPHQL_RATE_LIMIT_BY_IP_TIME_INTERVAL Time interval of rate limit set by API_GRAPHQL_RATE_LIMIT_BY_IP. Time format. Implemented in #9771 5m v6.4.0

โš ๏ธ MICROSERVICE_SC_VERIFIER_ENABLED changed default value to true.
โš ๏ธ GRAPHIQL_TRANSACTION was renamed to API_GRAPHQL_DEFAULT_TRANSACTION_HASH

๐Ÿš€ Features

  • Secondary coin price in api/v2/stats (#9777)
  • Add /api/v2/blocks/{hash_or_number}/internal-transactions endpoint (#9668)
  • Integrate Metadata microservice (#9706)
  • Support verifier alliance and eth-bytecode-db v1.7.0 changes (#9724)
  • Add rate limits to graphQL API (#9771)
  • Support for internal user operation calldata decoded by microservice (#9776)
  • Internal txs fetching for Arbitrum (#9737)
  • Allow for custom base_url for fetching prices (#9679)
  • Contract code on-demand fetcher (#9708)
  • Add /api/v2/tokens/:address_hash_param/holders/csv endpoint (#9722)
  • Support the 2nd version of L2<->L1 Polygon zkEVM Bridge (#9637)
  • GraphQL management env vars (#9751)
  • Improvements in zksync batch related transactions requests (#9680)
  • Add trying to decode internal calldata for user ops (#9675)

๐Ÿ› Bug Fixes

  • Apply quantity_to_integer/1 to effectiveGasPrice (#9812)
  • Replace tx gas_price with effectiveGasPrice from receipt (#9733)
  • Fetching GraphQL schema by GraphiQL IDE (#9630)
  • Add block range check into OP Withdrawals fetcher (#9770)
  • Update token's holder_count in the db from ETS module (#9623)
  • Fix UTF-8 json handling in NFT metadata fetching (#9707)
  • Separate ZkSync and ZkEvm readers in API controller (#9749)
  • Add missing preloads (#9520)
  • Change CoinGecko token image attribute priority (#9671)
  • Fix Geth block tracing errors handling (#9672)
  • Erc-404 token transfers null value (#9698)
  • Erc-404 type stored in token balances tables (#9700)

๐Ÿšœ Refactor

  • Enum.count to Enum.empty? (#9666)

โšก Performance

  • Add EIP4844 blob transactions index (#9661)

โš™๏ธ Miscellaneous Tasks

  • Rework chain type matrix in CI runs (#9704)
  • Exclude latest tag update from alpha releases (#9800)
  • Reduce default API v1 limit by key 50 -> 10 (#9799)
  • Bump autoprefixer in /apps/block_scout_web/assets (#9786)
  • Remove /api/account/v1 path (#9660)
  • Bump sass from 1.71.1 to 1.72.0 in /apps/block_scout_web/assets (#9780)
  • Bump @babel/core in /apps/block_scout_web/assets (#9782)
  • Bump webpack in /apps/block_scout_web/assets (#9787)
  • Bump postcss in /apps/block_scout_web/assets (#9785)
  • Bump @amplitude/analytics-browser in /apps/block_scout_web/assets (#9788)
  • Bump solc from 0.8.24 to 0.8.25 in /apps/explorer (#9789)
  • Bump sweetalert2 in /apps/block_scout_web/assets (#9783)
  • Bump @babel/preset-env in /apps/block_scout_web/assets (#9784)
  • Bump core-js in /apps/block_scout_web/assets (#9781)
  • Enable Rust sc-verifier microservice by default (#9752)
  • Temporarily ignore OP batches written to Celestia (#9734)
  • Bump cldr_utils from 2.24.2 to 2.25.0 (#9723)
  • Bump express in /apps/block_scout_web/assets (#9725)
  • Bump bureaucrat from 0.2.9 to 0.2.10 (#9669)
  • Fix typos (#9693)
  • Bump follow-redirects from 1.15.4 to 1.15.6 in /apps/explorer (#9648)
  • Bump floki from 0.36.0 to 0.36.1 (#9670)
  • Use git-cliff changelog generator (#9687)

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.3.0-beta...v6.4.0-beta

blockscout - BlockScout v6.3.0-beta

Published by vbaranov 7 months ago

This is the list of key fatures introduced in the release:

  • Optimism and Zksync are supported in the master branch now via CHAIN_TYPE compile-time environment variable with the values optimism/zksync respectively.

  • Block import is improved to fetch massive blocks in a separate queue which allows to main queue to be processed faster.

  • The logic of JSON RPC endpoint availability observer is improved: errors came from users actions are excluded.

  • Internal transactions fetcher logic is imroved to process more relevant blocks first.

  • Basic ERC-404 token type support is added

  • API for user operations AI interpretator service is added.

  • Several fixes for blobs support in UI are made.

  • Ethereum JSON RPC API is extended with new endpoints.

  • Stability validators list API is added.

โš™๏ธ the release contains several foreground migrations:

  • new indexes on pending_block_operations, token_transfers and smart_contracts tables.
  • new table massive_blocks.
  • extending market_history table with new column secondary_coin and transform single-column index by date to multi-column including secondary_coin column.

โ„น๏ธ indexes on potentially huge tables are built with concurrently option. So, the foreground migrations shouldn't affect working indexer. Thus, no notable downtime is expected - update can be prepared on the live DB.

Variable Required Description Default
ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URL Fallback JSON RPC eth_call url. Implemented in #9511 (empty)
TOKEN_TRANSFER_TOKEN_TYPE_MIGRATION_BATCH_SIZE Number of token transfers to denormalize (add token_type) in the batch. 100
TOKEN_TRANSFER_TOKEN_TYPE_MIGRATION_CONCURRENCY Number of parallel denormalization token transfer batches processing. 1
SANITIZE_INCORRECT_NFT_BATCH_SIZE Number of token transfers to sanitize in the batch. 100
SANITIZE_INCORRECT_NFT_CONCURRENCY Number of parallel sanitizing token transfer batches processing. 1
EXCHANGE_RATES_COINGECKO_SECONDARY_COIN_ID Explicitly set CoinGecko coin ID for secondary coin market chart. Implemented in #9483. (empty)
EXCHANGE_RATES_COINMARKETCAP_SECONDARY_COIN_ID CoinMarketCap coin id for secondary coin market chart. Implemented in #9483. (empty)
EXCHANGE_RATES_CRYPTOCOMPARE_SECONDARY_COIN_SYMBOL CryptoCompare coin symbol for secondary coin market chart. Implemented in #9483. (empty)
CACHE_TRANSACTIONS_24H_STATS_PERIOD Interval to update data for the last 24 hours transactions stats. Time format. Introduced in #9483. 1h
CACHE_FRESH_PENDING_TRANSACTIONS_COUNTER_PERIOD Interval to update count of pending transactions that appeared less than half an hour ago. Time format. Introduced in #9483. 5m
CACHE_OPTIMISM_LAST_OUTPUT_ROOT_SIZE_COUNTER_PERIOD Interval to update data for the last output root size counter. Time format. Introduced in #9532. 5m
GAS_PRICE_ORACLE_SAFELOW_TIME_COEFFICIENT Average block time multiplied by this coefficent for safelow gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582. 5
GAS_PRICE_ORACLE_AVERAGE_TIME_COEFFICIENT Average block time multiplied by this coefficent for average gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582. 3
GAS_PRICE_ORACLE_FAST_TIME_COEFFICIENT Average block time multiplied by this coefficent for fast gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582. 1
ETH_JSON_RPC_MAX_BATCH_SIZE Max batch size for Eth JSON RPC requests. Implemented in #9409 5

Optimism Rollup Management

Please note that these Optimism-related variables are only supported together with setting CHAIN_TYPE=optimism.

Variable Required Description Default
INDEXER_OPTIMISM_L1_RPC The RPC endpoint for L1 used to fetch transaction batches, output roots, deposits, or withdrawal events. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_PORTAL_CONTRACT The address of OptimismPortal contract on L1 used to fetch deposits and withdrawal events. Required for deposits and withdrawal events indexing. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_BATCH_START_BLOCK The number of start block on L1 to index transaction batches. If the table of batches is not empty, the process will continue indexing from the last indexed batch. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_BATCH_INBOX The inbox address to index transaction batches on L1. Required if INDEXER_OPTIMISM_L1_BATCH_START_BLOCK is not empty. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_BATCH_SUBMITTER The batch submitter address to index transaction batches on L1. Required if INDEXER_OPTIMISM_L1_BATCH_START_BLOCK is not empty. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_BATCH_BLOCKSCOUT_BLOBS_API_URL Defines a URL to Blockscout Blobs API to retrieve L1 blobs from that. Example for Sepolia: https://eth-sepolia.blockscout.com/api/v2/blobs. Required if INDEXER_OPTIMISM_L1_BATCH_START_BLOCK is not empty. Implemented in #9571. (empty)
INDEXER_OPTIMISM_L1_BATCH_BLOCKS_CHUNK_SIZE Blocks chunk size to send batch RPC requests. Implemented in #6980. 4
INDEXER_OPTIMISM_L2_BATCH_GENESIS_BLOCK_NUMBER L2 genesis block number for Optimism chain. Required if INDEXER_OPTIMISM_L1_BATCH_START_BLOCK is defined. The block number can be found at superchain registry. Example. Implemented in #9260. (empty)
INDEXER_OPTIMISM_L1_OUTPUT_ROOTS_START_BLOCK The number of start block on L1 to index output roots. If the table of output roots is not empty, the process will continue indexing from the last indexed root. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_OUTPUT_ORACLE_CONTRACT The address of OutputOracle contract on L1 used to fetch output roots. Required for output roots indexing when INDEXER_OPTIMISM_L1_OUTPUT_ROOTS_START_BLOCK is not empty. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L1_DEPOSITS_START_BLOCK The number of the L1 block from which deposits will be fetched. Implemented in #6993. (empty)
INDEXER_OPTIMISM_L1_DEPOSITS_BATCH_SIZE Number of blocks in a single eth_getLogs request. Implemented in #6993. 500
INDEXER_OPTIMISM_L1_WITHDRAWALS_START_BLOCK The number of start block on L1 to index withdrawal events. If the table of withdrawal events is not empty, the process will continue indexing from the last indexed withdrawal event. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L2_WITHDRAWALS_START_BLOCK The number of start block on L2 to index withdrawals. If the table of withdrawals is not empty, the process will continue indexing from the last indexed withdrawal. Implemented in #6980. (empty)
INDEXER_OPTIMISM_L2_MESSAGE_PASSER_CONTRACT The address of L2ToL1MessagePasser contract to index withdrawals. Required if INDEXER_OPTIMISM_L2_WITHDRAWALS_START_BLOCK is not empty. Implemented in #6980. (empty)

zkSync Rollup Management

Please note that these zkSync-related variables are only supported together with setting CHAIN_TYPE=zksync.

Variable Required Description Default
INDEXER_ZKSYNC_BATCHES_ENABLED Enables Polygon zkEVM batches fetcher. Implemented in #9080. false
INDEXER_ZKSYNC_BATCHES_CHUNK_SIZE The number of RPC calls in one request when reading data from RPC. Implemented in #9080. 50
INDEXER_ZKSYNC_NEW_BATCHES_MAX_RANGE Maximum amount of batches requested if Blockscout does not have all batches synced. Implemented in #9080. 50
INDEXER_ZKSYNC_NEW_BATCHES_RECHECK_INTERVAL The latest batch rechecking interval, seconds. Implemented in #9080. 60
INDEXER_ZKSYNC_L1_RPC The RPC endpoint for L1 used to fetch status of batches. Implemented in #9080. (empty)
INDEXER_ZKSYNC_BATCHES_STATUS_RECHECK_INTERVAL The batches status rechecking interval, seconds. Implemented in #9080. 60

Full changelog

Features ๐ŸŽ‰

  • #9631 - Initial support of zksync chain type
  • #9532 - Add last output root size counter
  • #9511 - Separate errors by type in EndpointAvailabilityObserver
  • #9490, #9644 - Add blob transaction counter and filter in block view
  • #9486 - Massive blocks fetcher
  • #9483 - Add secondary coin and transaction stats
  • #9473 - Add user_op interpretation
  • #9461 - Fetch blocks without internal transactions backwards
  • #9460 - Optimism chain type
  • #9409 - ETH JSON RPC extension
  • #9390 - Add stability validators
  • #8702 - Add OP withdrawal status to transaction page in API
  • #7200 - Add Optimism BedRock Deposits to the main page in API
  • #6980 - Add Optimism BedRock support (Txn Batches, Output Roots, Deposits, Withdrawals)

Fixes ๐Ÿ› ๏ธ

  • #9654 - Send timeout param in debug_traceBlockByNumber request
  • #9653 - Tokens import improvements
  • #9652 - Remove duplicated tx hashes while indexing OP batches
  • #9646 - Hotfix for Optimism Ecotone batch blobs indexing
  • #9640 - Fix no function clause matching in BENS.item_to_address_hash_strings/1
  • #9638 - Do not broadcast coin balance changes with empty value/delta
  • #9635 - Reset missing ranges collector to max number after the cycle is done
  • #9629 - Don't insert pbo for not inserted blocks
  • #9620 - Fix infinite retries for orphaned blobs
  • #9601 - Fix token instance transform for some unconventional tokens
  • #9597 - Update token transfers block_consensus by block_number
  • #9596 - Fix logging
  • #9585 - Fix Geth block internal transactions fetching
  • #9576 - Rewrite query for token transfers on address to eliminate "or"
  • #9572 - Fix Shibarium L1 fetcher
  • #9563 - Fix timestamp handler for unfinalized zkEVM batches
  • #9560 - Fix fetch pending transaction for hyperledger besu client
  • #9555 - Fix EIP-1967 beacon proxy pattern detection
  • #9529 - Fix MAX_SAFE_INTEGER frontend bug
  • #9518, #9628 - Fix MultipleResultsError in smart_contract_creation_tx_bytecode/1
  • #9514 - Fix missing 0x prefix for blockNumber, logIndex, transactionIndex and remove transactionLogIndex in eth_getLogs response.
  • #9510 - Fix WS false 0 token balances
  • #9512 - Docker-compose 2.24.6 compatibility
  • #9262 - Fix withdrawal status
  • #9123 - Fixes in Optimism due to changed log topics type
  • #8831 - Return all OP Withdrawals bound to L2 transaction
  • #8822 - Hotfix for optimism_withdrawal_transaction_status function
  • #8811 - Consider consensus block only when retrieving OP withdrawal transaction status
  • #8364 - Fix API v2 for OP Withdrawals
  • #8229 - Fix Indexer.Fetcher.OptimismTxnBatch
  • #8208 - Ignore invalid frame by OP transaction batches module
  • #8122 - Ignore previously handled frame by OP transaction batches module
  • #7827 - Fix transaction batches module for L2 OP stack
  • #7776 - Fix transactions ordering in Indexer.Fetcher.OptimismTxnBatch
  • #7219 - Output L1 fields in API v2 for transaction page and fix transaction fee calculation
  • #6699 - L1 tx fields fix for Goerli Optimism BedRock update

Chore ๐Ÿงน

  • #9622 - Add alternative hex.pm mirrors
  • #9571 - Support Optimism Ecotone upgrade by Indexer.Fetcher.Optimism.TxnBatch module
  • #9562 - Add cancun evm version
  • #9506 - API v1 bridgedtokenlist endpoint
  • #9260 - Optimism Delta upgrade support by Indexer.Fetcher.OptimismTxnBatch module
  • #8740 - Add delay to Indexer.Fetcher.OptimismTxnBatch module initialization
  • #9544 - Bump @babel/core from 7.23.9 to 7.24.0 in /apps/block_scout_web/assets
  • #9537 - Bump logger_json from 5.1.3 to 5.1.4
  • #9550 - Bump xss from 1.0.14 to 1.0.15 in /apps/block_scout_web/assets
  • #9539 - Bump floki from 0.35.4 to 0.36.0
  • #9551 - Bump @amplitude/analytics-browser from 2.5.1 to 2.5.2 in /apps/block_scout_web/assets
  • #9547 - Bump @babel/preset-env from 7.23.9 to 7.24.0 in /apps/block_scout_web/assets
  • #9549 - Bump postcss-loader from 8.1.0 to 8.1.1 in /apps/block_scout_web/assets
  • #9542 - Bump phoenix_ecto from 4.4.3 to 4.5.0
  • #9546 - https://github.com/blockscout/blockscout/pull/9546
  • #9545 - Bump chart.js from 4.4.1 to 4.4.2 in /apps/block_scout_web/assets
  • #9540 - Bump postgrex from 0.17.4 to 0.17.5
  • #9543 - Bump ueberauth from 0.10.7 to 0.10.8
  • #9538 - Bump credo from 1.7.4 to 1.7.5
  • #9607 - Bump redix from 1.3.0 to 1.4.1
  • #9606 - Bump ecto from 3.11.1 to 3.11.2
  • #9605 - Bump ex_doc from 0.31.1 to 0.31.2
  • #9604 - Bump phoenix_ecto from 4.5.0 to 4.5.1

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.2.2-beta...v6.3.0-beta

blockscout - BlockScout v6.2.2-beta

Published by vbaranov 8 months ago

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.2.1-beta...v6.2.2-beta

blockscout - BlockScout v6.2.1-beta

Published by vbaranov 8 months ago

Fixes

  • #9502 - Add batch_size and concurrency envs for tt token type migration
  • #9493 - Fix API response for unknown blob hashes
  • #9484 - Fix read contract error
  • #9426 - Fix tabs counter cache bug

Chore

  • #9478 - Bump floki from 0.35.3 to 0.35.4
  • #9477 - Bump hammer from 6.2.0 to 6.2.1
  • #9476 - Bump eslint from 8.56.0 to 8.57.0 in /apps/block_scout_web/assets
  • #9475 - Bump @amplitude/analytics-browser from 2.4.1 to 2.5.1 in /apps/block_scout_web/assets
  • #9474 - Bump sass from 1.71.0 to 1.71.1 in /apps/block_scout_web/assets
  • #9492 - Bump es5-ext from 0.10.62 to 0.10.64 in /apps/block_scout_web/assets

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.2.0-beta...v6.2.1-beta

blockscout - BlockScout v6.2.0-beta

Published by vbaranov 8 months ago

EIP-4844 (Data availability) support is added in this release: blobs data is indexed from the consensus layer and can be explorable in the explorer. It is enabled automatically with CHAIN_TYPE=ethereum set in compile and run time.

Polygon ZkEVM bridge operations (transactions/withdrawals) support is added.

In 6.2.0 we continue DB schema enhancements for the sake of improving the performance of the queries. The current release contains denormalization of token_transfers table: block_consensus and token_type fields are added along with background migration to backfill existing data (See the last chapter in 6.0.0 release notes to check the status of background migration). In addition, the performance of the coin balance fetching is improved by exporting it to the asynchronous part of the block import.

More minimal proxy pattern support is added.

It is possible now to link license during verification of the smart-contract.

Fetching of internal transactions from FEVM's (Filecoin EVM) trace_block method is added. And filecoin-related changes are now supported in the master branch of the repo.

โš ๏ธ start_block/end_block filters in API v1 are not supported anymore. Please, use startblock/endblock instead.

โš™๏ธ the release contains 2 foreground migrations for all:

  • extending smart_contracts table with the new column license_type.
  • extending token_transfers table with the new column block_consensus.

And tables creations and extending blocks table for EIP-4844 support (CHAIN_TYPE=ethereum).
Those migrations shouldn't take much time: several minutes at most.

Variable Required Description Default
INDEXER_DISABLE_TOKEN_INSTANCE_ERC_1155_SANITIZE_FETCHER If true, erc-1155-sanitize token instance fetcher doesn't run. Implemented in #9226. false
INDEXER_DISABLE_TOKEN_INSTANCE_ERC_721_SANITIZE_FETCHER If true, erc-721-sanitize token instance fetcher doesn't run. Implemented in #9226. false
INDEXER_TOKEN_INSTANCE_ERC_1155_SANITIZE_CONCURRENCY Concurrency for erc-1155-sanitize token instance fetcher. Implemented in #9226. 2
INDEXER_TOKEN_INSTANCE_ERC_721_SANITIZE_CONCURRENCY Concurrency for erc-721-sanitize token instance fetcher. Implemented in #9226. 2
INDEXER_TOKEN_INSTANCE_ERC_1155_SANITIZE_BATCH_SIZE Batch size for erc-1155-sanitize token instance fetcher. Implemented in #9226. 10
INDEXER_TOKEN_INSTANCE_ERC_721_SANITIZE_BATCH_SIZE Batch size for erc-721-sanitize token instance fetcher. Implemented in #9226. 10
INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL Interval for empty block sanitizer. Implemented in #8658
INDEXER_TOKEN_INSTANCE_USE_BASE_URI_RETRY If true, and request to tokenURI(tokenId) failed with VM execution error, Blockscout will make request to baseURI and try to request metadata from baseURI + tokenId false
EIP_1559_BASE_FEE_MAX_CHANGE_DENOMINATOR EIP-1559 base fee max change denominator. Implemented in #9202 8

Ethereum Management

Variable Required Description Default
INDEXER_BEACON_RPC_URL The Beacon Chain RPC endpoint used to fetch blob sidecars. Implemented in #9168. http://localhost:5052
INDEXER_DISABLE_BEACON_BLOB_FETCHER If true the fetcher of Beacon data blobs won't be started, new transaction and block fields still will be extracted. Implemented in #9168. false
INDEXER_BEACON_BLOB_FETCHER_SLOT_DURATION Slot duration in the Beacon Chain in seconds. Implemented in #9168. 12
INDEXER_BEACON_BLOB_FETCHER_REFERENCE_SLOT Any past finalized Beacon Chain slot number. Used as reference for blob inclusion slot calculations. Implemented in #9168. 8000000
INDEXER_BEACON_BLOB_FETCHER_REFERENCE_TIMESTAMP UTC timestamp of the Beacon Chain slot specified in INDEXER_BEACON_BLOB_FETCHER_REFERENCE_SLOT. Used as reference for blob inclusion slot calculations. Implemented in #9168. 1702824023
INDEXER_BEACON_BLOB_FETCHER_START_BLOCK Beacon Chain blob fetcher start block. On start-up, indexer will only look for missed blobs beyond this block number. It's recommended to set this block to the first block after the Dencun hardfork. Implemented in #9168. 19200000
INDEXER_BEACON_BLOB_FETCHER_END_BLOCK Beacon Chain blob fetcher end block. On start-up, indexer will only look for missed blobs before this block number. If set to 0, then all recent till latest will be traversed. Implemented in #9168. 0

Polygon zkEVM Rollup management

Variable Required Description Default
INDEXER_POLYGON_ZKEVM_L1_RPC The RPC endpoint for L1 used to fetch Deposit or Withdrawal bridge events. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK The number of a start block on L1 to index L1 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 event. If empty or not defined, the L1 events are not handled. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_CONTRACT The address of PolygonZkEVMBridge contract on L1 used to fetch L1 bridge events. Required for L1 bridge events indexing. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_NATIVE_SYMBOL The symbol of the native coin on L1 to display it in the table of the bridge Deposits and Withdrawals on UI. Implemented in #9098. ETH
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_NATIVE_DECIMALS The number of decimals to correctly display an amount of native coins for some Deposit or Withdrawal bridge operations on UI. Implemented in #9098. 18
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK The number of a start block on L2 to index L2 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 event. If empty or not defined, the L2 events are not handled. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_CONTRACT The address of PolygonZkEVMBridge contract on L2 used to fetch L2 bridge events. Required for L2 bridge events indexing. Implemented in #9098.
Variable Required Description Default
INDEXER_ZKEVM_BATCHES_ENABLED Enables Polygon zkEVM batches fetcher. Implemented in #7584. false
INDEXER_ZKEVM_BATCHES_CHUNK_SIZE The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584. 20
INDEXER_ZKEVM_BATCHES_RECHECK_INTERVAL The latest batch rechecking interval, seconds. Implemented in #7584. 60

Full changelog

Features ๐ŸŽ‰

  • #9441 - Update BENS integration: change endpoint for resolving address in search
  • #9437 - Add Enum.uniq before sanitizing token transfers
  • #9403 - Null round handling
  • #9401 - Eliminate incorrect token transfers with empty token_ids
  • #9396 - More-Minimal Proxy support
  • #9386 - Filecoin JSON RPC variant
  • #9379 - Filter non-traceable transactions for zetachain
  • #9364 - Fix using of startblock/endblock in API v1 list endpoints: txlist, txlistinternal, tokentx
  • #9360 - Move missing ranges sanitize to a separate background migration
  • #9351 - Noves.fi: add proxy endpoint for describeTxs endpoint
  • #9282 - Add license_type to smart contracts
  • #9202 - Add base and priority fee to gas oracle response
  • #9182 - Fetch coin balances in async mode in realtime fetcher
  • #9168 - Support EIP4844 blobs indexing & API
  • #9098 - Polygon zkEVM Bridge indexer and API v2 extension

Fixes ๐Ÿ› ๏ธ

  • #9444 - Fix quick search bug
  • #9440 - Add debug_traceBlockByNumber to method_to_url
  • #9387 - Filter out Vyper contracts in Solidityscan API endpoint
  • #9377 - Speed up account abstraction proxy
  • #9371 - Filter empty values before token update
  • #9356 - Remove ERC-1155 logs params from coin balances params
  • #9346 - Process integer balance in genesis.json
  • #9317 - Include null gas price txs in fee calculations
  • #9315 - Fix manual uncle reward calculation
  • #9306 - Improve marking of failed internal transactions
  • #9305 - Add effective gas price calculation as fallback
  • #9300 - Fix read contract bug
  • #9226 - Split Indexer.Fetcher.TokenInstance.LegacySanitize

Chore ๐Ÿงน

  • #9439 - Solidityscan integration enhancements
  • #9398 - Improve elixir dependencies caching in CI
  • #9393 - Bump actions/cache to v4
  • #9389 - Output user address as an object in API v2 for Shibarium
  • #9361 - Define BRIDGED_TOKENS_ENABLED env in Dockerfile
  • #9257 - Retry token instance metadata fetch from baseURI + tokenID
  • #8851 - Fix dialyzer and add TypedEctoSchema
  • #9335 - Bump mini-css-extract-plugin from 2.7.7 to 2.8.0 in /apps/block_scout_web/assets
  • #9333 - Bump sweetalert2 from 11.10.3 to 11.10.5 in /apps/block_scout_web/assets
  • #9288 - Bump solc from 0.8.23 to 0.8.24 in /apps/explorer
  • #9287 - Bump @babel/preset-env from 7.23.8 to 7.23.9 in /apps/block_scout_web/assets
  • #9331 - Bump logger_json from 5.1.2 to 5.1.3
  • #9330 - Bump hammer from 6.1.0 to 6.2.0
  • #9294 - Bump exvcr from 0.15.0 to 0.15.1
  • #9293 - Bump floki from 0.35.2 to 0.35.3
  • #9338 - Bump postcss-loader from 8.0.0 to 8.1.0 in /apps/block_scout_web/assets
  • #9336 - Bump web3 from 1.10.3 to 1.10.4 in /apps/block_scout_web/assets
  • #9290 - Bump ex_doc from 0.31.0 to 0.31.1
  • #9285 - Bump @amplitude/analytics-browser from 2.3.8 to 2.4.0 in /apps/block_scout_web/assets
  • #9283 - Bump @babel/core from 7.23.7 to 7.23.9 in /apps/block_scout_web/assets
  • #9337 - Bump css-loader from 6.9.1 to 6.10.0 in /apps/block_scout_web/assets
  • #9334 - Bump sass-loader from 14.0.0 to 14.1.0 in /apps/block_scout_web/assets
  • #9339 - Bump webpack from 5.89.0 to 5.90.1 in /apps/block_scout_web/assets
  • #9383 - Bump credo from 1.7.3 to 1.7.4
  • #9384 - Bump postcss from 8.4.33 to 8.4.35 in /apps/block_scout_web/assets
  • #9385 - Bump mixpanel-browser from 2.48.1 to 2.49.0 in /apps/block_scout_web/assets
  • #9423 - Bump @amplitude/analytics-browser from 2.4.0 to 2.4.1 in /apps/block_scout_web/assets
  • #9422 - Bump core-js from 3.35.1 to 3.36.0 in /apps/block_scout_web/assets
  • #9424 - Bump webpack from 5.90.1 to 5.90.3 in /apps/block_scout_web/assets
  • #9425 - Bump sass-loader from 14.1.0 to 14.1.1 in /apps/block_scout_web/assets
  • #9421 - Bump sass from 1.70.0 to 1.71.0 in /apps/block_scout_web/assets

Auto-generated release notes

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.1.0-beta...v6.2.0-beta

blockscout - BlockScout v6.1.0-beta

Published by vbaranov 9 months ago

Release 6.1.0 is charged with new features and integrations. Here are some of them:

  • Full support of Account abstraction (EIP-4337): decoding operation calldata API v2 endpoint, search by operation hash are implemented as well as User operations indexer microservice API endpoints are proxied to Blockscout API v2 endpoints.
  • An additional option to fetch in internal transactions per block through debug_traceBlockByNumber for Geth JSON RPC variant is implemented.
  • An ability to submit smart-contract audit reports has been implemented.
  • new API v2 endpoints have been created as proxy for Noves.fi API endpoints.
  • API v1 is extended with various new endpoints.
  • Fetching of native token image from CoinGecko and return it through API v2 stats endpoint is implemented.
  • An ability to configure bridged tokens fetcher for AMB and Omni bridges moved to master branch.

โš ๏ธ For the sake of increasing DB queries performance there are 2 index creations with concurrently option are added to this release. Downtime is not expected. However, this affects the time of the release installation.

Variable Required Description Default
ETHEREUM_JSONRPC_GETH_TRACE_BY_BLOCK Enable tracing by block for geth variant. Implemented in #9072 false
CONTRACT_PROXY_IMPLEMENTATION_TTL_VIA_AVG_BLOCK_TIME If false, proxy contract implementation will be re-fetched immediately once someone opend proxy page bypassing average block time calculation. Implemented in #9155. true
CONTRACT_AUDIT_REPORTS_AIRTABLE_URL URL of AirTable to store audit reports from users. Implemented in #9120 (empty)
CONTRACT_AUDIT_REPORTS_AIRTABLE_API_KEY Access token for CONTRACT_AUDIT_REPORTS_AIRTABLE_URL. Implemented in #9120 (empty)
MARKET_HISTORY_FETCH_INTERVAL Interval to update data for the last day in Market History table. Time format. Introduced in #9197. 1h
NOVES_FI_BASE_API_URL Noves.fi API base URL. Implemented in #9056. https://blockscout.noves.fi
NOVES_FI_CHAIN_NAME Noves.fi API chain name. Implemented in #9056. (empty)
NOVES_FI_API_TOKEN Noves.fi API API token for usage of Noves.fi API. Implemented in #9056. API. (empty)
BRIDGED_TOKENS_ENABLED Variable to enabled bridged tokens functionality. Introduced in #9169 (empty)
BRIDGED_TOKENS_ETH_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for ETH tokens. Introduced in #9169 (empty)
BRIDGED_TOKENS_BSC_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for BSC tokens. Introduced in #9169 (empty)
BRIDGED_TOKENS_POA_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for POA tokens. Introduced in #9169 (empty)
BRIDGED_TOKENS_AMB_BRIDGE_MEDIATORS AMB bridge mediator. Introduced in #9169 (empty)
BRIDGED_TOKENS_FOREIGN_JSON_RPC Ethereum mainnet JSON RPC. Introduced in #9169 (empty)
MICROSERVICE_ACCOUNT_ABSTRACTION_ENABLED If true, integration with Blockscout Account Abstraction service is enabled. Implemented in #9145 (empty)
MICROSERVICE_ACCOUNT_ABSTRACTION_URL URL of Blockscout ENS service. Implemented in #9145 (empty)
INDEXER_SHIBARIUM_L1_RPC The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_START_BLOCK The number of start block on L1 to index L1 events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 event. If empty or not defined, the L1 events are not handled. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_DEPOSIT_MANAGER_CONTRACT The address of DepositManagerProxy contract on L1 used to fetch BONE token deposits. Required for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_ETHER_PREDICATE_CONTRACT The address of EtherPredicateProxy contract on L1 used to fetch ETH deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_ERC20_PREDICATE_CONTRACT The address of ERC20PredicateProxy contract on L1 used to fetch ERC20 token deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_ERC721_PREDICATE_CONTRACT The address of ERC721PredicateProxy contract on L1 used to fetch ERC721 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_ERC1155_PREDICATE_CONTRACT The address of ERC1155PredicateProxy contract on L1 used to fetch ERC1155 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L1_WITHDRAW_MANAGER_CONTRACT The address of WithdrawManagerProxy contract on L1 used to fetch BONE token withdrawals. Required for L1 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L2_START_BLOCK The number of start block on L2 to index L2 events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 event. If empty or not defined, the L2 events are not handled. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L2_CHILD_CHAIN_CONTRACT The address of ChildChain contract on L2 used to fetch BONE token deposits. Required for L2 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L2_WETH_CONTRACT The address of WETH contract on L2 used to fetch ETH deposits and withdrawals. Required for L2 events indexing. Implemented in #8929. (empty)
INDEXER_SHIBARIUM_L2_BONE_WITHDRAW_CONTRACT The address of a contract which emits Withdraw event on L2. Used to fetch BONE token withdrawals. Required for L2 events indexing. Implemented in #8929. (empty)

Features ๐ŸŽ‰

  • #9189 - User operations in the search
  • #9169 - Add bridged tokens functionality to master branch
  • #9158 - Increase shared memory for PostgreSQL containers
  • #9155 - Allow bypassing avg block time in proxy implementation re-fetch ttl calculation
  • #9148 - Add /api/v2/utils/decode-calldata
  • #9145, #9309 - Proxy for Account abstraction microservice
  • #9132 - Fetch token image from CoinGecko
  • #9131 - Merge addresses stage with address referencing
  • #9120 - Add GET and POST /api/v2/smart-contracts/:address_hash/audit-reports
  • #9072 - Add tracing by block logic for geth
  • #9185, #9068 - New RPC API v1 endpoints
  • #9056 - Noves.fi API proxy

Fixes ๐Ÿ› ๏ธ

  • #9275 - Tx summary endpoint fixes
  • #9261 - Fix pending transactions sanitizer
  • #9253 - Don't fetch first trace for pending transactions
  • #9241 - Fix log decoding bug
  • #9234 - Add missing filters by non-pending transactions
  • #9229 - Add missing filter to txlist query
  • #9195 - API v1 allow multiple slashes in the path before "api"
  • #9187 - Fix Internal Server Error on request for nonexistent token instance
  • #9178 - Change internal txs tracer type to opcode for Hardhat node
  • #9173 - Exclude genesis block from average block time calculation
  • #9143 - Handle nil token_ids in token transfers on render
  • #9139 - TokenBalanceOnDemand fixes
  • #9125 - Fix Explorer.Chain.Cache.GasPriceOracle.merge_fees
  • #9124 - EIP-1167 display multiple sources of implementation
  • #9110 - Improve update_in in gas tracker
  • #9109 - Return current exchange rate in api/v2/stats
  • #9102 - Fix some log topics for Suave and Polygon Edge
  • #9075 - Fix fetching contract codes
  • #9073 - Allow payable function with output appear in the Read tab
  • #9069 - Fetch realtime coin balances only for addresses for which it has changed

Chore ๐Ÿงน

  • #9323 - Change index creation to concurrent
  • #9322 - Create repo setup actions
  • #9303 - Add workflow for Shibarium
  • #9233 - "cataloged" index on tokens table
  • #9198 - Make Postgres@15 default option
  • #9197 - Add MARKET_HISTORY_FETCH_INTERVAL env
  • #9196 - Compatibility with docker-compose 2.24
  • #9193 - Equalize elixir stack versions
  • #9153 - Enhanced unfetched token balances index
  • #9119 - Bump sass from 1.69.6 to 1.69.7 in /apps/block_scout_web/assets
  • #9126 - Bump follow-redirects from 1.14.8 to 1.15.4 in /apps/explorer
  • #9116 - Bump ueberauth from 0.10.5 to 0.10.7
  • #9118 - Bump postcss from 8.4.32 to 8.4.33 in /apps/block_scout_web/assets
  • #9161 - Bump sass-loader from 13.3.3 to 14.0.0 in /apps/block_scout_web/assets
  • #9160 - Bump copy-webpack-plugin from 11.0.0 to 12.0.1 in /apps/block_scout_web/assets
  • #9165 - Bump sweetalert2 from 11.10.2 to 11.10.3 in /apps/block_scout_web/assets
  • #9163 - Bump mini-css-extract-plugin from 2.7.6 to 2.7.7 in /apps/block_scout_web/assets
  • #9159 - Bump @babel/preset-env from 7.23.7 to 7.23.8 in /apps/block_scout_web/assets
  • #9162 - Bump style-loader from 3.3.3 to 3.3.4 in /apps/block_scout_web/assets
  • #9164 - Bump css-loader from 6.8.1 to 6.9.0 in /apps/block_scout_web/assets
  • #8686 - Bump dialyxir from 1.4.1 to 1.4.2
  • #8861 - Bump briefly from 51dfe7f to 4836ba3
  • #9117 - Bump credo from 1.7.1 to 1.7.3
  • #9222 - Bump dialyxir from 1.4.2 to 1.4.3
  • #9219 - Bump sass from 1.69.7 to 1.70.0 in /apps/block_scout_web/assets
  • #9224 - Bump ex_cldr_numbers from 2.32.3 to 2.32.4
  • #9220 - Bump copy-webpack-plugin from 12.0.1 to 12.0.2 in /apps/block_scout_web/assets
  • #9216 - Bump core-js from 3.35.0 to 3.35.1 in /apps/block_scout_web/assets
  • #9218 - Bump postcss-loader from 7.3.4 to 8.0.0 in /apps/block_scout_web/assets
  • #9223 - Bump plug_cowboy from 2.6.1 to 2.6.2
  • #9217 - Bump css-loader from 6.9.0 to 6.9.1 in /apps/block_scout_web/assets
  • #9215 - Bump css-minimizer-webpack-plugin from 5.0.1 to 6.0.0 in /apps/block_scout_web/assets
  • #9221 - Bump autoprefixer from 10.4.16 to 10.4.17 in /apps/block_scout_web/assets

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v6.0.0-beta...v6.1.0-beta

blockscout - BlockScout v6.0.0-beta

Published by vbaranov 10 months ago

This release contains bulk DB migrations for the sake of improvement of Blockscout DB schema such as:

  • Denormalization of table transactions: adding block_consensus, block_timestamp. This allows eliminating join with blocks table almost in all API v1/v2 endpoints which return entities list or address's entities list.
  • Finalization of denormalizing of tables address_current_token_balances and address_token_balances: filling empty token_types to be able to eliminate join with tokens table in some requests where token transfers take place.
  • Changing of topics (4 fields) column types of event logs from string to bytea. This should make logs table lighter up to 21%.
  • Improvement of index to speed up query for getting token IDs of the token. This should improve the response time of token's inventory tab API.
  • Adding mirror indexes in ascending direction to improve the speed of API requests with ascending order included.
  • Removal of unused indexes to release DB storage.
  • Drop type column in event logs since it is not used.
  • Adding index for blocks refetch_needed column to improve init query performance for BlocksTransactionsMismatch fetcher.

โš ๏ธ To mitigate the risk of data corruption due to migration please make sure, that you make a copy of the previous DB before running these DB migrations.
โ„น๏ธ The release contains foreground and background migrations. Foreground migrations run before the application has been started. At this time downtime is expected. Background migrations run after the applications is started. Background migrations are for backfilling the existing data to fit new DB schema. Background migrations can be running on the live instance of Blockscout: if background migrations are not finished yet, the application is usable - it automatically will use new queries, if the migration is finished, and use old queries with joins while background migration is in progress.
โš ๏ธ Please take in mind that foreground DB migrations are heavy enough and downtime of the explorer is expected. Depending on the size of the foreground DB migrations may take up to 24 hours. For instance, migrations lasted ~6 hours on ETH Sepolia DB. We recommend running a separate Blockscout instance of 6.0.0 version on the replica of the DB and switching to it when all migrations have been finished.
โ„น๏ธ Please be aware, that denormalization of the archive data in the affected tables will continue in the background mode even when the application will be up & running after running the set of DB migrations. The background DB migrations can last several days. You can check the migration status from the DB with the query SELECT * FROM migrations_status;. Once the migration has been finished, the response should be like this:

 migration_name  |  status   |        inserted_at         |         updated_at
-----------------+-----------+----------------------------+----------------------------
 denormalization | completed | 2023-12-17 05:00:28.36332  | 2023-12-26 07:27:20.669697
 ctb_token_type  | completed | 2024-01-04 18:32:46.301728 | 2024-01-04 18:40:09.112862
 tb_token_type   | completed | 2024-01-04 18:32:46.41895  | 2024-01-04 18:40:26.470253

New environment variables

Variable Required Description Default
ETHEREUM_JSONRPC_ETH_CALL_URL JSON RPC url for eth_call method. Implemented in #9112 (empty)
GAS_PRICE_ORACLE_SIMPLE_TRANSACTION_GAS Gas price oracle: amount of gas for a simple coin transfer. Introduced in #9044. 21000

Features

  • #9112 - Add specific url for eth_call
  • #9044 - Expand gas price oracle functionality

Fixes

  • #9113 - Fix migrators cache updating
  • #9101 - Fix migration_finished? logic
  • #9062 - Fix blockscout-ens integration
  • #9061 - Arbitrum allow tx receipt gasUsedForL1 field
  • #8812 - Update existing tokens type if got transfer with higher type priority

Chore

  • #9055 - Add ASC indices for logs, token transfers, transactions
  • #9038 - Token type filling migrations
  • #9009 - Index for block refetch_needed
  • #9007 - Drop logs type index
  • #9006 - Drop unused indexes on address_current_token_balances table
  • #9005 - Drop unused token_id column from token_transfers table and indexes based on this column
  • #9000 - Change log topic type in the DB to bytea
  • #8996 - Refine token transfers token ids index
  • #5322 - DB denormalization: block consensus and timestamp in transaction table
  • #9059 - Bump redux from 5.0.0 to 5.0.1 in /apps/block_scout_web/assets
  • #9057 - Bump benchee from 1.2.0 to 1.3.0
  • #9060 - Bump @amplitude/analytics-browser from 2.3.7 to 2.3.8 in /apps/block_scout_web/assets
  • #9084 - Bump @babel/preset-env from 7.23.6 to 7.23.7 in /apps/block_scout_web/assets
  • #9083 - Bump @babel/core from 7.23.6 to 7.23.7 in /apps/block_scout_web/assets
  • #9086 - Bump core-js from 3.34.0 to 3.35.0 in /apps/block_scout_web/assets
  • #9081 - Bump sweetalert2 from 11.10.1 to 11.10.2 in /apps/block_scout_web/assets
  • #9085 - Bump moment from 2.29.4 to 2.30.1 in /apps/block_scout_web/assets
  • #9087 - Bump postcss-loader from 7.3.3 to 7.3.4 in /apps/block_scout_web/assets
  • #9082 - Bump sass-loader from 13.3.2 to 13.3.3 in /apps/block_scout_web/assets
  • #9088 - Bump sass from 1.69.5 to 1.69.6 in /apps/block_scout_web/assets

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.4.0-beta...v6.0.0-beta

blockscout - BlockScout v5.4.0-beta ๐ŸŽ„

Published by vbaranov 10 months ago

Introducing integration with Blockscout ENS service (BENS). The list of env variable for enabling integration with BENS. Basic compatibility with EIP-4844 chains has been added (full support will be included into the upcoming releases).

Compatible with frontend v1.20.0.

New environment variables

Variable Required Description Default
MICROSERVICE_BENS_ENABLED If true, integration with Blockscout ENS service is enabled. Implemented in #8972 (empty)
MICROSERVICE_BENS_URL URL of Blockscout ENS service. Implemented in #8972 (empty)
DATABASE_QUEUE_TARGET Management of DB queue target. Implemented in #8991. 50ms
INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_CONCURRENCY Concurrency for legacy sanitize token instance fetcher doesn't run. Appeared in #8386 2
TRACE_BLOCK_RANGES Block ranges for traceable blocks. Example: TRACE_BLOCK_RANGES="1..3,123..500,30..50,500..latest". Implemented in #8960 (empty)

Features ๐ŸŽ‰

  • #9018 - Add SmartContractRealtimeEventHandler
  • #8997 - Isolate throttable error count by request method
  • #8975 - Add EIP-4844 compatibility (not full support yet)
  • #8972 - BENS integration
  • #8960 - TRACE_BLOCK_RANGES env var
  • #8957 - Add Tx Interpreter Service integration

Fixes ๐Ÿ› ๏ธ

  • #9039 - Fix tx input decoding in tx summary microservice request
  • #9035 - Handle Postgrex errors on NFT import
  • #9015 - Optimize NFT owner preload
  • #9013 - Speed up Indexer.Fetcher.TokenInstance.LegacySanitize
  • #8969 - Support legacy paging options for address transaction endpoint
  • #8965 - Set poll: false for internal transactions fetcher
  • #8955 - Remove daily balances updating from BlockReward fetcher
  • #8846 - Handle nil gas_price at address view

Chore ๐Ÿงน

  • #9014 - Decrease amount of NFT in address collection: 15 -> 9
  • #8994 - Refactor transactions event preloads
  • #8991 - Manage DB queue target via runtime env var
  • #8986 - Bump chart.js from 4.4.0 to 4.4.1 in /apps/block_scout_web/assets
  • #8982 - Bump ex_doc from 0.30.9 to 0.31.0
  • #8987 - Bump @babel/preset-env from 7.23.5 to 7.23.6 in /apps/block_scout_web/assets
  • #8984 - Bump ecto_sql from 3.11.0 to 3.11.1
  • #8988 - Bump core-js from 3.33.3 to 3.34.0 in /apps/block_scout_web/assets
  • #8980 - Bump exvcr from 0.14.4 to 0.15.0
  • #8985 - Bump @babel/core from 7.23.5 to 7.23.6 in /apps/block_scout_web/assets
  • #9020 - Bump eslint-plugin-import from 2.29.0 to 2.29.1 in /apps/block_scout_web/assets
  • #9021 - Bump eslint from 8.55.0 to 8.56.0 in /apps/block_scout_web/assets
  • #9019 - Bump @amplitude/analytics-browser from 2.3.6 to 2.3.7 in /apps/block_scout_web/assets

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.3.3-beta...v5.4.0-beta

blockscout - BlockScout v5.3.3-beta

Published by vbaranov 11 months ago

Features ๐ŸŽ‰

  • #8966 - Add ACCOUNT_WATCHLIST_NOTIFICATIONS_LIMIT_FOR_30_DAYS
  • #8908 - Solidityscan report API endpoint
  • #8900 - Add Compound proxy contract pattern
  • #8611 - Implement sorting of smart contracts, address transactions

Fixes ๐Ÿ› ๏ธ

  • #8959 - Skip failed instances in Token Instance Owner migrator
  • #8924 - Delete invalid current token balances in OnDemand fetcher
  • #8922 - Allow call type to be in lowercase
  • #8917 - Proxy detection hotfix in API v2
  • #8915 - smart-contract: delete embeds_many relation on replace
  • #8906 - Fix abi encoded string argument
  • #8898 - Enhance method decoding by candidates from DB
  • #8882 - Change order of proxy contracts patterns detection: existing popular EIPs to the top of the list
  • #8707 - Fix native coin exchange rate with EXCHANGE_RATES_COINGECKO_COIN_ID

Chore ๐Ÿงน

  • #8956 - Refine docker-compose config structure
  • #8911 - Set client_connection_check_interval for main Postgres DB in docker-compose setup
  • #8863 - Bump core-js from 3.33.2 to 3.33.3 in /apps/block_scout_web/assets
  • #8864 - Bump @amplitude/analytics-browser from 2.3.3 to 2.3.5 in /apps/block_scout_web/assets
  • #8860 - Bump ecto_sql from 3.10.2 to 3.11.0
  • #8896 - Bump httpoison from 2.2.0 to 2.2.1
  • #8867 - Bump mixpanel-browser from 2.47.0 to 2.48.1 in /apps/block_scout_web/assets
  • #8865 - Bump eslint from 8.53.0 to 8.54.0 in /apps/block_scout_web/assets
  • #8866 - Bump sweetalert2 from 11.9.0 to 11.10.1 in /apps/block_scout_web/assets
  • #8897 - Bump prometheus from 4.10.0 to 4.11.0
  • #8859 - Bump absinthe from 1.7.5 to 1.7.6
  • #8858 - Bump ex_json_schema from 0.10.1 to 0.10.2
  • #8943 - Bump postgrex from 0.17.3 to 0.17.4
  • #8939 - Bump @babel/core from 7.23.3 to 7.23.5 in /apps/block_scout_web/assets
  • #8936 - Bump eslint from 8.54.0 to 8.55.0 in /apps/block_scout_web/assets
  • #8940 - Bump photoswipe from 5.4.2 to 5.4.3 in /apps/block_scout_web/assets
  • #8938 - Bump @babel/preset-env from 7.23.3 to 7.23.5 in /apps/block_scout_web/assets
  • #8935 - Bump @amplitude/analytics-browser from 2.3.5 to 2.3.6 in /apps/block_scout_web/assets
  • #8937 - Bump redux from 4.2.1 to 5.0.0 in /apps/block_scout_web/assets
  • #8942 - Bump gettext from 0.23.1 to 0.24.0
  • #8934 - Bump @fortawesome/fontawesome-free from 6.4.2 to 6.5.1 in /apps/block_scout_web/assets
  • #8933 - Bump postcss from 8.4.31 to 8.4.32 in /apps/block_scout_web/assets

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.3.2-beta...v5.3.3-beta

blockscout - BlockScout v5.3.2-beta

Published by vbaranov 11 months ago

โš ๏ธ This release enables API v2 changes for display of every NFT instance on the owner's address (before, it was the count only). Thus, maintainer of the instance MUST check, if the query in Blockscout DB returns 0 rows:

SELECT COUNT(*) FROM token_instances ti INNER JOIN tokens t ON ti.token_contract_address_hash = t.contract_address_hash WHERE ti.owner_address_hash IS NULL AND t.type='ERC-721';

If it returns 0, you're fine to apply this update without extra steps. Otherwise, you MUST set:

TOKEN_INSTANCE_OWNER_MIGRATION_ENABLED=true

in order to continue with token instance DB migration. Once, this query returns 0, you can unset TOKEN_INSTANCE_OWNER_MIGRATION_ENABLED.

Features ๐ŸŽ‰

  • #8848 - Add MainPageRealtimeEventHandler
  • #8821 - Add new events to addresses channel: eth_bytecode_db_lookup_started and smart_contract_was_not_verified
  • #8795 - Disable catchup indexer by env
  • #8768 - Add possibility to search tokens by address hash
  • #8750 - Support new eth-bytecode-db request metadata fields
  • #8634 - API v2: NFT for address
  • #8609 - Change logs format to JSON; Add endpoint url to the block_scout_web logging
  • #8558 - Add CoinBalanceDailyUpdater

Fixes ๐Ÿ› ๏ธ

  • #8891 - Fix average block time
  • #8869 - Limit TokenBalance fetcher timeout
  • #8855 - All transactions count at top addresses page
  • #8836 - Safe token update
  • #8814 - Improve performance for EOA addresses in /api/v2/addresses/{address_hash}
  • #8813 - Force verify twin contracts on /api/v2/import/smart-contracts/{address_hash}
  • #8784 - Fix Indexer.Transform.Addresses for non-Suave setup
  • #8770 - Fix for eth_getbalance API v1 endpoint when requesting latest tag
  • #8765 - Fix for tvl update in market history when row already exists
  • #8759 - Gnosis safe proxy via singleton input
  • #8752 - Add TOKEN_INSTANCE_OWNER_MIGRATION_ENABLED env
  • #8724 - Fix flaky account notifier test

Chore ๐Ÿงน

  • #8832 - Log more details in regards 413 error
  • #8807 - Smart-contract proxy detection refactoring
  • #8802 - Enable API v2 by default
  • #8742 - Merge rsk branch into the master branch
  • #8728 - Remove repos_list (default value for ecto repos) from Explorer.ReleaseTasks
  • #8727 - Bump browserify-sign from 4.2.1 to 4.2.2 in /apps/block_scout_web/assets
  • #8748 - Bump sweetalert2 from 11.7.32 to 11.9.0 in /apps/block_scout_web/assets
  • #8747 - Bump core-js from 3.33.1 to 3.33.2 in /apps/block_scout_web/assets
  • #8743 - Bump solc from 0.8.21 to 0.8.22 in /apps/explorer
  • #8745 - Bump tesla from 1.7.0 to 1.8.0
  • #8749 - Bump sass from 1.69.4 to 1.69.5 in /apps/block_scout_web/assets
  • #8744 - Bump phoenix_ecto from 4.4.2 to 4.4.3
  • #8746 - Bump floki from 0.35.1 to 0.35.2
  • #8793 - Bump eslint from 8.52.0 to 8.53.0 in /apps/block_scout_web/assets
  • #8792 - Bump cldr_utils from 2.24.1 to 2.24.2
  • #8787 - Bump ex_cldr_numbers from 2.32.2 to 2.32.3
  • #8790 - Bump ex_abi from 0.6.3 to 0.6.4
  • #8788 - Bump ex_cldr_units from 3.16.3 to 3.16.4
  • #8827 - Bump @babel/core from 7.23.2 to 7.23.3 in /apps/block_scout_web/assets
  • #8823 - Bump benchee from 1.1.0 to 1.2.0
  • #8826 - Bump luxon from 3.4.3 to 3.4.4 in /apps/block_scout_web/assets
  • #8824 - Bump httpoison from 2.1.0 to 2.2.0
  • #8828 - Bump @babel/preset-env from 7.23.2 to 7.23.3 in /apps/block_scout_web/assets
  • #8825 - Bump solc from 0.8.22 to 0.8.23 in /apps/explorer

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.3.1-beta...v5.3.2-beta

blockscout - BlockScout v5.3.1-beta

Published by vbaranov 12 months ago

New chain types polygon_zkevm and suave have been added.

The full list of the changes

Features ๐ŸŽ‰

  • #8717 - Save GasPriceOracle old prices as a fallback
  • #8696 - Support tokenSymbol and tokenName in /api/v2/import/token-info
  • #8673 - Add a window for balances fetching from non-archive node
  • #8651 - Add stability_fee for CHAIN_TYPE=stability
  • #8556 - Suave functional
  • #8528 - Account: add pagination + envs for limits
  • #7584 - Add Polygon zkEVM batches fetcher

Fixes ๐Ÿ› ๏ธ

  • #8714 - Fix sourcify check
  • #8708 - CoinBalanceHistory tab: show also tx with gasPrice & gasUsed > 0
  • #8706 - Add address name updating on contract re-verification
  • #8705 - Fix sourcify enabled flag
  • #8695 - Don't override internal transaction error if it's present already
  • #8685 - Fix db pool size exceeds Postgres max connections
  • #8678 - Fix is_verified for /addresses and /smart-contracts

Chore ๐Ÿงน

  • #8715 - Rename wrapped field to requestRecord for Suave
  • #8683 - Bump ex_abi from 0.6.2 to 0.6.3
  • #8689 - Bump ex_abi from 0.6.2 to 0.6.3
  • #8682 - Bump core-js from 3.33.0 to 3.33.1 in /apps/block_scout_web/assets
  • #8680 - Bump web3 from 1.10.2 to 1.10.3 in /apps/block_scout_web/assets
  • #8681 - Bump eslint-plugin-import from 2.28.1 to 2.29.0 in /apps/block_scout_web/assets
  • #8684 - Bump @amplitude/analytics-browser from 2.3.2 to 2.3.3 in /apps/block_scout_web/assets
  • #8679 - Bump sass from 1.69.3 to 1.69.4 in /apps/block_scout_web/assets
  • #8687 - Bump floki from 0.35.0 to 0.35.1
  • #8693 - Bump redix from 1.2.3 to 1.3.0
  • #8688 - Bump ex_doc from 0.30.7 to 0.30.9

The full list of new env variables

Variable Required Description Default Version
ETHEREUM_JSONRPC_ARCHIVE_BALANCES_WINDOW Max block number gap from latest for which balances requests can be processed when ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES env var is set to true. Implemented in #8673 200 v5.3.1+
INDEXER_ZKEVM_BATCHES_ENABLED Enables Polygon zkEVM batches fetcher. Implemented in #7584. false v5.3.1+
INDEXER_ZKEVM_BATCHES_CHUNK_SIZE The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584. 20 v5.3.1+
INDEXER_ZKEVM_BATCHES_RECHECK_INTERVAL The latest batch rechecking interval, seconds. Implemented in #7584. 60 v5.3.1+
ACCOUNT_PRIVATE_TAGS_LIMIT Limit for address & transaction tags. Implemented in #8528. 2000 v5.3.1+
ACCOUNT_WATCHLIST_ADDRESSES_LIMIT Limit for watch list addresses. Implemented in #8528. 15 v5.3.1+

What's Changed

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.3.0-beta...v5.3.1-beta

blockscout - BlockScout v5.3.0-beta

Published by vbaranov about 1 year ago

This release contains introduction of CHAIN_TYPE env variable. Based on the value in it, different logic of fetchers, API, views, DB schema extensions are applied to the explorer. Currently supported values are:

  • ethereum - default value
  • polygon_edge - chains based on Polygon Edge nodes
  • rsk - for Rootstock (rskj node)

More values will be supported in the new releases.

Blockscout allows to display TVL of the chain now thanks to the integration with DefiLlama API.

This update also contains changing of DB schema and filling of the data for future feature of disaplying NFT tokens instances on the owner addresses.

Now you can connect Blockscout to your own IPFS gateway endpoint via IPFS_GATEWAY_URL for fetching token instances metadata.

As usual, the release contains many improvements and fixes on the indexer side and API.

The full list of the changes

Features ๐ŸŽ‰

  • #8512 - Add caching and improve /tabs-counters performance
  • #8472 - Integrate /api/v2/bytecodes/sources:search-all of eth_bytecode_db
  • #8589 - DefiLlama TVL source
  • #8583 - Add stats widget for rootstock
  • #8542 - Add tracing for rootstock
  • #8561, #8564 - Get historical market cap data from CoinGecko
  • #8543 - Fix polygon tracer
  • #8386 - Add owner_address_hash to the token_instances
  • #8530 - Add block_type to search results
  • #8180 - Deposits and Withdrawals for Polygon Edge
  • #7996 - Add CoinBalance fetcher init query limit
  • #8658 - Remove block consensus on import fail
  • #8575 - Filter token transfers on coin balances updates

Fixes ๐Ÿ› ๏ธ

  • #8661 - arm64-compatible docker image
  • #8649 - Set max 30sec JSON RPC poll frequency for realtime fetcher when WS is disabled
  • #8614 - Disable market history cataloger fetcher when exchange rates are disabled
  • #8613 - Refactor parsing of FIRST_BLOCK, LAST_BLOCK, TRACE_FIRST_BLOCK, TRACE_LAST_BLOCK env variables
  • #8572 - Refactor docker-compose config
  • #8552 - Add CHAIN_TYPE build arg to Dockerfile
  • #8550 - Sanitize paging params
  • #8515 - Fix :error.types/0 is undefined warning
  • #7959 - Fix empty batch transfers handling
  • #8513 - Don't override transaction status
  • #8620 - Fix the display of icons
  • #8594 - Fix TokenBalance fetcher retry logic
  • #8544 - Fix nil "structLogs"

Chore ๐Ÿงน

  • #8584 - Store chain together with cookie hash in Redis
  • #8579, #8590 - IPFS gateway URL runtime env variable
  • #8573 - Update Nginx to proxy all frontend paths
  • #8290 - Update Chromedriver version
  • #8536, #8537, #8540, #8557 - New issue template
  • #8529 - Move PolygonEdge-related migration to the corresponding ecto repository
  • #8504 - Deploy new UI through Makefile
  • #8501 - Conceal secondary ports in docker compose setup
  • #8508 - Bump sass from 1.67.0 to 1.68.0 in /apps/block_scout_web/assets
  • #8509 - Bump autoprefixer from 10.4.15 to 10.4.16 in /apps/block_scout_web/assets
  • #8511 - Bump mox from 1.0.2 to 1.1.0
  • #8532 - Bump eslint from 8.49.0 to 8.50.0 in /apps/block_scout_web/assets
  • #8533 - Bump sweetalert2 from 11.7.28 to 11.7.29 in /apps/block_scout_web/assets
  • #8531 - Bump ex_cldr_units from 3.16.2 to 3.16.3
  • #8534 - Bump @babel/core from 7.22.20 to 7.23.0 in /apps/block_scout_web/assets
  • #8546 - Bump sweetalert2 from 11.7.29 to 11.7.31 in /apps/block_scout_web/assets
  • #8553 - Bump @amplitude/analytics-browser from 2.3.1 to 2.3.2 in /apps/block_scout_web/assets
  • #8554 - https://github.com/blockscout/blockscout/pull/8554
  • #8547 - Bump briefly from 678a376 to 51dfe7f
  • #8567 - Bump photoswipe from 5.4.1 to 5.4.2 in /apps/block_scout_web/assets
  • #8566 - Bump postcss from 8.4.30 to 8.4.31 in /apps/block_scout_web/assets
  • #7575 - Bump css-loader from 5.2.7 to 6.8.1 in /apps/block_scout_web/assets
  • #8569 - Bump web3 from 1.10.0 to 1.10.2 in /apps/block_scout_web/assets
  • #8570 - Bump core-js from 3.32.2 to 3.33.0 in /apps/block_scout_web/assets
  • #8581 - Bump credo from 1.7.0 to 1.7.1
  • #8607 - Bump sass from 1.68.0 to 1.69.0 in /apps/block_scout_web/assets
  • #8606 - Bump highlight.js from 11.8.0 to 11.9.0 in /apps/block_scout_web/assets
  • #8605 - Bump eslint from 8.50.0 to 8.51.0 in /apps/block_scout_web/assets
  • #8608 - Bump sweetalert2 from 11.7.31 to 11.7.32 in /apps/block_scout_web/assets
  • #8510 - Bump hackney from 1.18.1 to 1.19.1
  • #8637 - Bump @babel/preset-env from 7.22.20 to 7.23.2 in /apps/block_scout_web/assets
  • #8639 - Bump sass from 1.69.0 to 1.69.3 in /apps/block_scout_web/assets
  • #8643 - Bump floki from 0.34.3 to 0.35.0
  • #8641 - Bump ex_cldr from 2.37.2 to 2.37.4
  • #8646 - Bump @babel/traverse from 7.23.0 to 7.23.2 in /apps/block_scout_web/assets
  • #8636 - Bump @babel/core from 7.23.0 to 7.23.2 in /apps/block_scout_web/assets
  • #8645 - Bump ex_doc from 0.30.6 to 0.30.7
  • #8638 - Bump webpack from 5.88.2 to 5.89.0 in /apps/block_scout_web/assets
  • #8640 - Bump hackney from 1.19.1 to 1.20.1

The full list of new env variables

Variable Required Description Default Version Need recompile
CHAIN_TYPE Specifies the model of data, enables fetchers, specific to the chain. Available values are ethereum, polygon_edge and rsk. ethereum v5.3.0+ โœ…
TOKEN_INSTANCE_OWNER_MIGRATION_CONCURRENCY Concurrency of new fields backfiller implemented in #8386 5 v5.3.0+
TOKEN_INSTANCE_OWNER_MIGRATION_BATCH_SIZE Batch size of new fields backfiller implemented in #8386 50 v5.3.0+
ADDRESSES_TABS_COUNTERS_TTL TTL for cached tabs counters (works only for counters which are < 51, if counter >= 51, then ttl == :infinity). Implemented in #8512 10m v5.3.0+
IPFS_GATEWAY_URL IPFS gateway url for fetching token instances metadata from IPFS including token instance icon. https://ipfs.io/ipfs v5.3.0+
INDEXER_COIN_BALANCES_FETCHER_INIT_QUERY_LIMIT Limit for coin balance fetcher init queries. Implemented in #7996. 2000 v5.3.0+
INDEXER_DISABLE_TOKEN_INSTANCE_LEGACY_SANITIZE_FETCHER If true, legacy sanitize token instance fetcher doesn't run. Appeared in #8386 false v5.3.0+
INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_CONCURRENCY Concurrency for legacy sanitize token instance fetcher doesn't run. Appeared in #8386 10 v5.3.0+
INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_BATCH_SIZE Batch size for legacy sanitize token instance fetcher doesn't run. Appeared in #8386 10 v5.3.0+
INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL Interval for empty block sanitizer. Implemented in #8658 5m v5.3.0+
INDEXER_POLYGON_EDGE_L1_RPC The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L1_EXIT_HELPER_CONTRACT The address of ExitHelper contract on L1 (root chain) used to fetch withdrawal exits. Required for withdrawal events indexing. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L1_WITHDRAWALS_START_BLOCK The number of start block on L1 (root chain) to index withdrawal exits. If the table of withdrawal exits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the withdrawal exits are not indexed. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L1_STATE_SENDER_CONTRACT The address of StateSender contract on L1 (root chain) used to fetch deposits. Required for deposit events indexing. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L1_DEPOSITS_START_BLOCK The number of start block on L1 (root chain) to index deposits. If the table of deposits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the deposits are not indexed. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L2_STATE_SENDER_CONTRACT The address of L2StateSender contract on L2 (child chain) used to fetch withdrawals. Required for withdrawal events indexing. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L2_WITHDRAWALS_START_BLOCK The number of start block on L2 (child chain) to index withdrawals. If the table of withdrawals is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the withdrawals are not indexed. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L2_STATE_RECEIVER_CONTRACT The address of StateReceiver contract on L2 (child chain) used to fetch deposit executes. Required for deposit events indexing. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_L2_DEPOSITS_START_BLOCK The number of start block on L2 (child chain) to index deposit executes. If the table of deposit executes is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the deposit executes are not indexed. Implemented in #8180. (empty) v5.3.0+
INDEXER_POLYGON_EDGE_ETH_GET_LOGS_RANGE_SIZE Block range size for eth_getLogs request in Polygon Edge indexer modules. Implemented in #8180. (empty) v5.3.0+
ROOTSTOCK_REMASC_ADDRESS The address hash of remasc address on Rootstock chain. Implemented in #8542 v5.3.0+
ROOTSTOCK_BRIDGE_ADDRESS The address hash of bridge address on Rootstock chain. Implemented in #8542 v5.3.0+
EXCHANGE_RATES_TVL_SOURCE This environment variable is used to set source for TVL fetching. Available value is defillama. (empty) v5.3.0+
EXCHANGE_RATES_DEFILLAMA_COIN_ID DefiLlama coin id. (empty) v5.3.0+
MICROSERVICE_ETH_BYTECODE_DB_MAX_LOOKUPS_CONCURRENCY Maximum amount of concurrent requests for fetching smart contract's sources in Eth Bytecode DB. Implemented in #8472 10 v5.3.0+

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.3-beta...v5.3.0-beta

blockscout - BlockScout v5.2.3-beta

Published by vbaranov about 1 year ago

Features

  • #8382 - Add sitemap.xml
  • #8313 - Add batches to TokenInstance fetchers
  • #8285, #8399 - Add CG/CMC coin price sources
  • #8181 - Insert current token balances placeholders along with historical
  • #8210 - Drop address foreign keys
  • #8292 - Add ETHEREUM_JSONRPC_WAIT_PER_TIMEOUT env var
  • #8269 - Don't push back to sequence on catchup exception
  • #8362, #8398 - Drop token balances tokens foreign key

Fixes

  • #8446 - Fix market cap calculation in case of CMC
  • #8431 - Fix contracts' output decoding
  • #8354 - Hotfix for proper addresses' tokens displaying
  • #8350 - Add Base Mainnet support for tx actions
  • #8282 - NFT fetcher improvements
  • #8287 - Add separate hackney pool for TokenInstance fetchers
  • #8293 - Add ETHEREUM_JSONRPC_TRACE_URL for Geth in docker-compose.yml
  • #8240 - Refactor and fix paging params in API v2
  • #8242 - Fixing visualizer service CORS issue when running docker-compose
  • #8355 - Fix current token balances redefining
  • #8338 - Fix reorgs query
  • #8413 - Put error in last call for STOP opcode
  • #8447 - Fix reorg transactions

Chore

  • #8493 - Fix arm docker image build
  • #8478 - Set integration with Blockscout's eth bytecode DB endpoint by default and other enhancements
  • #8442 - Unify burn address definition
  • #8321 - Add curl into resulting Docker image
  • #8319 - Add MIX_ENV: 'prod' to docker-compose
  • #8281 - Planned removal of duplicate API endpoints: for CSV export and GraphQL

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.2-beta...v5.2.3-beta

blockscout - BlockScout v5.2.2-beta

Published by vbaranov about 1 year ago

This release contains a bunch of efforts to improve fetching of token balances in on-demand fetcher as well as various API v2 improvements and starting the work of extending of GraphQL API scheme.

Features

  • #8218 - Add /api/v2/search/quick method
  • #8202 - Add /api/v2/addresses/:address_hash/tabs-counters endpoint
  • #8156 - Add is_verified_via_admin_panel property to tokens table
  • #8165, #8201 - Add broadcast of updated address_current_token_balances
  • #7952 - Add parsing constructor arguments for sourcify contracts
  • #6190 - Add EIP-1559 support to gas price oracle
  • #7977 - GraphQL: extend schema with new field for existing objects
  • #8158, #8164 - Include unfetched balances in TokenBalanceOnDemand fetcher

Fixes

  • #8233 - Fix API v2 broken tx response
  • #8147 - Switch sourcify tests from POA Sokol to Gnosis Chiado
  • #8145 - Handle negative holders count in API v2
  • #8040 - Resolve issue with Docker image for Mac M1/M2
  • #8060 - Fix eth_getLogs API endpoint
  • #8082, #8088 - Fix Rootstock charts API
  • #7992 - Fix missing range insert
  • #8022 - Don't add reorg block number to missing blocks

Chore

  • #8222 - docker-compose for new UI with external backend
  • #8177 - Refactor address counter functions
  • #8183 - Update frontend envs in order to pass their validation
  • #8167 - Manage concurrency for Token and TokenBalance fetcher
  • #8179 - Enhance nginx config
  • #8146 - Add method_id to write methods in API v2 response
  • #8105 - Extend API v1 with endpoints used by new UI
  • #8104 - remove "TODO" from API v2 response
  • #8100, #8103 - Extend docker-compose configs with new config when front is running externally
  • #7980 - Bump solc from 0.8.20 to 0.8.21 in /apps/explorer
  • #7986 - Bump sass from 1.63.6 to 1.64.0 in /apps/block_scout_web/assets
  • #8030 - Bump sweetalert2 from 11.7.18 to 11.7.20 in /apps/block_scout_web/assets
  • #8029 - Bump viewerjs from 1.11.3 to 1.11.4 in /apps/block_scout_web/assets
  • #8028 - Bump sass from 1.64.0 to 1.64.1 in /apps/block_scout_web/assets
  • #8026 - Bump dataloader from 1.0.10 to 1.0.11
  • #8036 - Bump ex_cldr_numbers from 2.31.1 to 2.31.3
  • #8027 - Bump absinthe from 1.7.4 to 1.7.5
  • #8035 - Bump wallaby from 0.30.4 to 0.30.5
  • #8038 - Bump chart.js from 4.3.0 to 4.3.1 in /apps/block_scout_web/assets
  • #8047 - Bump chart.js from 4.3.1 to 4.3.2 in /apps/block_scout_web/assets
  • #8000 - Bump postcss from 8.4.26 to 8.4.27 in /apps/block_scout_web/assets
  • #8052 - Bump @amplitude/analytics-browser from 2.1.2 to 2.1.3 in /apps/block_scout_web/assets
  • #8054 - Bump jest-environment-jsdom from 29.6.1 to 29.6.2 in /apps/block_scout_web/assets
  • #8063 - Bump eslint from 8.45.0 to 8.46.0 in /apps/block_scout_web/assets
  • #8066 - Bump ex_json_schema from 0.9.3 to 0.10.1
  • #8064 - Bump core-js from 3.31.1 to 3.32.0 in /apps/block_scout_web/assets
  • #8053 - Bump jest from 29.6.1 to 29.6.2 in /apps/block_scout_web/assets
  • #8065 - Bump eslint-plugin-import from 2.27.5 to 2.28.0 in /apps/block_scout_web/assets
  • #8092 - Bump exvcr from 0.14.1 to 0.14.2
  • #8091 - Bump sass from 1.64.1 to 1.64.2 in /apps/block_scout_web/assets
  • #8114 - Bump ex_doc from 0.30.3 to 0.30.4
  • #8115 - Bump chart.js from 4.3.2 to 4.3.3 in /apps/block_scout_web/assets
  • #8116 - Bump @fortawesome/fontawesome-free from 6.4.0 to 6.4.2 in /apps/block_scout_web/assets
  • #8142 - Bump sobelow from 0.12.2 to 0.13.0
  • #8141 - Bump @babel/core from 7.22.9 to 7.22.10 in /apps/block_scout_web/assets
  • #8140 - Bump @babel/preset-env from 7.22.9 to 7.22.10 in /apps/block_scout_web/assets
  • #8160 - Bump exvcr from 0.14.2 to 0.14.3
  • #8159 - Bump luxon from 3.3.0 to 3.4.0 in /apps/block_scout_web/assets
  • #8169 - Bump sass from 1.64.2 to 1.65.1 in /apps/block_scout_web/assets
  • #8170 - Bump sweetalert2 from 11.7.20 to 11.7.22 in /apps/block_scout_web/assets
  • #8188 - Bump eslint from 8.46.0 to 8.47.0 in /apps/block_scout_web/assets
  • #8204 - Bump ex_doc from 0.30.4 to 0.30.5
  • #8207 - Bump wallaby from 0.30.5 to 0.30.6
  • #8212 - Bump sweetalert2 from 11.7.22 to 11.7.23 in /apps/block_scout_web/assets
  • #8203 - Bump autoprefixer from 10.4.14 to 10.4.15 in /apps/block_scout_web/assets
  • #8214 - Bump @amplitude/analytics-browser from 2.1.3 to 2.2.0 in /apps/block_scout_web/assets
  • #8225 - Bump postcss from 8.4.27 to 8.4.28 in /apps/block_scout_web/assets
  • #8224 - Bump gettext from 0.22.3 to 0.23.1

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.1-beta...v5.2.2-beta

blockscout - BlockScout v5.2.1-beta

Published by vbaranov over 1 year ago

The current release is mostly focused to solve different edge cases bottlenecks for the main indexer (realtime/catchup) and contains various fixes for API v2 as well as speedup of CSV export.

๐Ÿ†• environment variables introduced:

  • EXCHANGE_RATES_COINMARKETCAP_COIN_ID - CoinMarketCap exact coin id in order to fetch market cap, when CMC source is used.
  • ETHEREUM_JSONRPC_HTTP_HEADERS - Custom headers are now supported for JSON RPC endpoint in form of json object, example: {"x-api-key": "nbvkhadvnbkdfav", "x-id": "ndjkfvndfkjv"}.

โš ๏ธ This release contains creation of index on blocks table for the sake of speedup CSV export. Please expect a relatively short downtime.

โš ๏ธ Starting from this release there is a limit of 10,000 rows for CSV export is introduced. This is the maximum number of rows that can be exported at once.

๐ŸŽ‰ ### Features

  • #7970 - Search improvements: add sorting
  • #7771 - CSV export: speed up
  • #7962 - Allow indicate CMC id of the coin through env var
  • #7946 - API v2 rate limit: Put token to cookies & change /api/v2/key method
  • #7888 - Add token balances info to watchlist address response
  • #7898 - Add possibility to add extra headers with JSON RPC URL
  • #7836 - Improve unverified email flow
  • #7784 - Search improvements: Add new fields, light refactoring
  • #7811 - Filter addresses before insertion
  • #7895 - API v2: Add sorting to tokens page
  • #7859 - Add TokenTotalSupplyUpdater
  • #7873 - Chunk realtime balances requests
  • #7927 - Delete token balances only for blocks that lost consensus
  • #7947 - Improve locks acquiring

๐Ÿ› ๏ธ ### Fixes

  • #7852 - Token balances refactoring & fixes
  • #7872 - Fix pending gas price in pending tx
  • #7875 - Fix twin compiler version
  • #7825 - Fix nginx config for the new frontend websockets
  • #7772 - Fix parsing of database password period(s)
  • #7803 - Fix additional sources and interfaces, save names for vyper contracts
  • #7758 - Remove limit for configurable fetchers
  • #7764 - Fix missing ranges insertion and deletion logic
  • #7843 - Fix created_contract_code_indexed_at updating
  • #7855 - Handle internal transactions unique_violation
  • #7899 - Fix catchup numbers_to_ranges function
  • #7951 - Fix TX url in email notifications on mainnet

๐Ÿงน ### Chore

  • #7963 - Op Stack: ignore depositNonce
  • #7954 - Enhance Account Explorer.Account.Notifier.Email module tests
  • #7950 - Add GA CI for Eth Goerli chain
  • #7934, #7936 - Explicitly set consensus == true in queries (convenient for search), remove logger requirements, where it is not used anymore
  • #7901 - Fix Docker image build
  • #7890, #7918 - Resolve warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead
  • #7863 - Add max_age for account sessions
  • #7841 - CORS setup for docker-compose config with new frontend
  • #7832, #7891 - API v2: Add block_number, block_hash to logs
  • #7789 - Fix test warnings; Fix name of MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS env variable
  • #7819 - Add logging for unknown error verification result
  • #7781 - Add /api/v1/health/liveness and /api/v1/health/readiness
  • #7759 - Bump sass from 1.63.4 to 1.63.5 in /apps/block_scout_web/assets
  • #7760 - Bump @amplitude/analytics-browser from 2.0.0 to 2.0.1 in /apps/block_scout_web/assets
  • #7762 - Bump webpack from 5.87.0 to 5.88.0 in /apps/block_scout_web/assets
  • #7769 - Bump sass from 1.63.5 to 1.63.6 in /apps/block_scout_web/assets
  • #7805 - Bump ssl_verify_fun from 1.1.6 to 1.1.7
  • #7812 - Bump webpack from 5.88.0 to 5.88.1 in /apps/block_scout_web/assets
  • #7770 - Bump @amplitude/analytics-browser from 2.0.1 to 2.1.0 in /apps/block_scout_web/assets
  • #7821 - Bump absinthe from 1.7.1 to 1.7.3
  • #7823 - Bump @amplitude/analytics-browser from 2.1.0 to 2.1.1 in /apps/block_scout_web/assets
  • #7838 - Bump gettext from 0.22.2 to 0.22.3
  • #7840 - Bump eslint from 8.43.0 to 8.44.0 in /apps/block_scout_web/assets
  • #7839 - Bump photoswipe from 5.3.7 to 5.3.8 in /apps/block_scout_web/assets
  • #7850 - Bump jest-environment-jsdom from 29.5.0 to 29.6.0 in /apps/block_scout_web/assets
  • #7848 - Bump @amplitude/analytics-browser from 2.1.1 to 2.1.2 in /apps/block_scout_web/assets
  • #7847 - Bump @babel/core from 7.22.5 to 7.22.6 in /apps/block_scout_web/assets
  • #7846 - Bump @babel/preset-env from 7.22.5 to 7.22.6 in /apps/block_scout_web/assets
  • #7856 - Bump ex_cldr from 2.37.1 to 2.37.2
  • #7870 - Bump jest from 29.5.0 to 29.6.1 in /apps/block_scout_web/assets
  • #7867 - Bump postcss from 8.4.24 to 8.4.25 in /apps/block_scout_web/assets
  • #7871 - Bump @babel/core from 7.22.6 to 7.22.8 in /apps/block_scout_web/assets
  • #7868 - Bump jest-environment-jsdom from 29.6.0 to 29.6.1 in /apps/block_scout_web/assets
  • #7866 - Bump @babel/preset-env from 7.22.6 to 7.22.7 in /apps/block_scout_web/assets
  • #7869 - Bump core-js from 3.31.0 to 3.31.1 in /apps/block_scout_web/assets
  • #7884 - Bump ecto from 3.10.2 to 3.10.3
  • #7882 - Bump jason from 1.4.0 to 1.4.1
  • #7880 - Bump absinthe from 1.7.3 to 1.7.4
  • #7879 - Bump babel-loader from 9.1.2 to 9.1.3 in /apps/block_scout_web/assets
  • #7881 - Bump ex_cldr_numbers from 2.31.1 to 2.31.2
  • #7883 - Bump ex_doc from 0.29.4 to 0.30.1
  • #7916 - Bump semver from 5.7.1 to 5.7.2 in /apps/explorer
  • #7912 - Bump sweetalert2 from 11.7.12 to 11.7.16 in /apps/block_scout_web/assets
  • #7913 - Bump ex_doc from 0.30.1 to 0.30.2
  • #7923 - Bump postgrex from 0.17.1 to 0.17.2
  • #7921 - Bump @babel/preset-env from 7.22.7 to 7.22.9 in /apps/block_scout_web/assets
  • #7922 - Bump @babel/core from 7.22.8 to 7.22.9 in /apps/block_scout_web/assets
  • #7931 - Bump wallaby from 0.30.3 to 0.30.4
  • #7940 - Bump postcss from 8.4.25 to 8.4.26 in /apps/block_scout_web/assets
  • #7939 - Bump eslint from 8.44.0 to 8.45.0 in /apps/block_scout_web/assets
  • #7955 - Bump sweetalert2 from 11.7.16 to 11.7.18 in /apps/block_scout_web/assets
  • #7958 - Bump ex_doc from 0.30.2 to 0.30.3
  • #7965 - Bump webpack from 5.88.1 to 5.88.2 in /apps/block_scout_web/assets
  • #7972 - Bump word-wrap from 1.2.3 to 1.2.4 in /apps/block_scout_web/assets

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.0-beta...v5.2.1-beta

blockscout - BlockScout v5.2.0-beta

Published by vbaranov over 1 year ago

5.2.0-beta

โš ๏ธ Note1: CONTRACT_VERIFICATION_ALLOWED_EVM_VERSIONS environment variable renamed to CONTRACT_VERIFICATION_ALLOWED_SOLIDITY_EVM_VERSIONS

โš ๏ธ Note2: This release contains several DB migrations, which, depending on how huge the current DB is, will take some time (several seconds up to ~6 hours for ETH Mainnet) to finish them. Please expect an explorer to be working without indexing in real time during that period.

๐ŸŽ‰ ### Features

  • #7502 - Improve performance of some methods, endpoints and SQL queries
  • #7665 - Add standard-json vyper verification
  • #7685 - Add yul filter and "language" field for smart contracts
  • #7653 - Add support for DEPOSIT and WITHDRAW token transfer event in older contracts
  • #7628 - Support partially verified property from verifier MS; Add property to track contracts automatically verified via eth-bytecode-db
  • #7603 - Add Polygon Edge and optimism genesis files support
  • #7585 - Store and display native coin market cap from the DB
  • #7513 - Add Polygon Edge support
  • #7532 - Handle empty id in json rpc responses
  • #7544 - Add ERC-1155 signatures to uncataloged_token_transfer_block_numbers
  • #7363 - CSV export filters
  • #7697 - Limit fetchers init tasks

๐Ÿ› ๏ธ ### Fixes

  • #7712 - Transaction actions import fix
  • #7709 - Contract args displaying bug
  • #7654 - Optimize exchange rates requests rate
  • #7636 - Remove receive from read methods
  • #7635 - Fix single 1155 transfer displaying
  • #7629 - Fix NFT fetcher
  • #7614 - API and smart-contracts fixes and improvements
  • #7611 - Fix tokens pagination
  • #7566 - Account: check composed email before sending
  • #7564 - Return contract type in address view
  • #7562 - Remove fallback from Read methods
  • #7537, #7553 - Withdrawals fixes and improvements
  • #7546 - API v2: fix today coin price (use in-memory or cached in DB value)
  • #7545 - API v2: Check if cached exchange rate is empty before replacing DB value in stats API
  • #7516 - Fix shrinking logo in Safari
  • #7590 - Drop genesis block in internal transactions fetcher
  • #7639 - Fix contract creation transactions
  • #7724, #7753 - Move MissingRangesCollector init logic to handle_continue
  • #7751 - Add missing method_to_url params for trace transactions

๐Ÿงน ### Chore

  • #7699 - Add block_number index for address_coin_balances table
  • #7666, #7740, #7741 - Search label query
  • #7644 - Publish docker images CI for prod/staging branches
  • #7594 - Stats service support in docker-compose config with new frontend
  • #7576 - Check left blocks in pending block operations in order to decide, if we need to display indexing int tx banner at the top
  • #7543 - Allow hyphen in DB username
  • #7518 - Bump mini-css-extract-plugin from 2.7.5 to 2.7.6 in /apps/block_scout_web/assets
  • #7519 - Bump style-loader from 3.3.2 to 3.3.3 in /apps/block_scout_web/assets
  • #7505 - Bump webpack from 5.83.0 to 5.83.1 in /apps/block_scout_web/assets
  • #7533 - Bump sass-loader from 13.2.2 to 13.3.0 in /apps/block_scout_web/assets
  • #7534 - Bump eslint from 8.40.0 to 8.41.0 in /apps/block_scout_web/assets
  • #7541 - Bump cldr_utils from 2.23.1 to 2.24.0
  • #7542 - Bump ex_cldr_units from 3.16.0 to 3.16.1
  • #7548 - Bump briefly from 20d1318 to 678a376
  • #7547 - Bump webpack from 5.83.1 to 5.84.0 in /apps/block_scout_web/assets
  • #7554 - Bump webpack from 5.84.0 to 5.84.1 in /apps/block_scout_web/assets
  • #7568 - Bump @babel/core from 7.21.8 to 7.22.1 in /apps/block_scout_web/assets
  • #7569 - Bump postcss-loader from 7.3.0 to 7.3.1 in /apps/block_scout_web/assets
  • #7570 - Bump number from 1.0.3 to 1.0.4
  • #7567 - Bump @babel/preset-env from 7.21.5 to 7.22.2 in /apps/block_scout_web/assets
  • #7582 - Bump eslint-config-standard from 17.0.0 to 17.1.0 in /apps/block_scout_web/assets
  • #7581 - Bump sass-loader from 13.3.0 to 13.3.1 in /apps/block_scout_web/assets
  • #7578 - Bump @babel/preset-env from 7.22.2 to 7.22.4 in /apps/block_scout_web/assets
  • #7577 - Bump postcss-loader from 7.3.1 to 7.3.2 in /apps/block_scout_web/assets
  • #7579 - Bump sweetalert2 from 11.7.5 to 11.7.8 in /apps/block_scout_web/assets
  • #7591 - Bump sweetalert2 from 11.7.8 to 11.7.9 in /apps/block_scout_web/assets
  • #7593 - Bump ex_json_schema from 0.9.2 to 0.9.3
  • #7580 - Bump postcss from 8.4.23 to 8.4.24 in /apps/block_scout_web/assets
  • #7601 - Bump sweetalert2 from 11.7.9 to 11.7.10 in /apps/block_scout_web/assets
  • #7602 - Bump mime from 2.0.3 to 2.0.4
  • #7618 - Bump gettext from 0.22.1 to 0.22.2
  • #7617 - Bump @amplitude/analytics-browser from 1.10.3 to 1.10.4 in /apps/block_scout_web/assets
  • #7609 - Bump webpack from 5.84.1 to 5.85.0 in /apps/block_scout_web/assets
  • #7610 - Bump mime from 2.0.4 to 2.0.5
  • #7634 - Bump eslint from 8.41.0 to 8.42.0 in /apps/block_scout_web/assets
  • #7633 - Bump floki from 0.34.2 to 0.34.3
  • #7631 - Bump phoenix_ecto from 4.4.1 to 4.4.2
  • #7630 - Bump webpack-cli from 5.1.1 to 5.1.3 in /apps/block_scout_web/assets
  • #7632 - Bump webpack from 5.85.0 to 5.85.1 in /apps/block_scout_web/assets
  • #7646 - Bump sweetalert2 from 11.7.10 to 11.7.11 in /apps/block_scout_web/assets
  • #7647 - Bump @amplitude/analytics-browser from 1.10.4 to 1.10.6 in /apps/block_scout_web/assets
  • #7659 - Bump webpack-cli from 5.1.3 to 5.1.4 in /apps/block_scout_web/assets
  • #7658 - Bump @amplitude/analytics-browser from 1.10.6 to 1.10.7 in /apps/block_scout_web/assets
  • #7657 - Bump webpack from 5.85.1 to 5.86.0 in /apps/block_scout_web/assets
  • #7672 - Bump @babel/preset-env from 7.22.4 to 7.22.5 in /apps/block_scout_web/assets
  • #7674 - Bump ecto from 3.10.1 to 3.10.2
  • #7673 - Bump @babel/core from 7.22.1 to 7.22.5 in /apps/block_scout_web/assets
  • #7671 - Bump sass from 1.62.1 to 1.63.2 in /apps/block_scout_web/assets
  • #7681 - Bump sweetalert2 from 11.7.11 to 11.7.12 in /apps/block_scout_web/assets
  • #7679 - Bump @amplitude/analytics-browser from 1.10.7 to 1.10.8 in /apps/block_scout_web/assets
  • #7680 - Bump sass from 1.63.2 to 1.63.3 in /apps/block_scout_web/assets
  • #7693 - Bump sass-loader from 13.3.1 to 13.3.2 in /apps/block_scout_web/assets
  • #7692 - Bump postcss-loader from 7.3.2 to 7.3.3 in /apps/block_scout_web/assets
  • #7691 - Bump url from 0.11.0 to 0.11.1 in /apps/block_scout_web/assets
  • #7690 - Bump core-js from 3.30.2 to 3.31.0 in /apps/block_scout_web/assets
  • #7701 - Bump css-minimizer-webpack-plugin from 5.0.0 to 5.0.1 in /apps/block_scout_web/assets
  • #7702 - Bump @amplitude/analytics-browser from 1.10.8 to 1.11.0 in /apps/block_scout_web/assets
  • #7708 - Bump phoenix_pubsub from 2.1.2 to 2.1.3
  • #7707 - Bump @amplitude/analytics-browser from 1.11.0 to 2.0.0 in /apps/block_scout_web/assets
  • #7706 - Bump webpack from 5.86.0 to 5.87.0 in /apps/block_scout_web/assets
  • #7705 - Bump sass from 1.63.3 to 1.63.4 in /apps/block_scout_web/assets
  • #7714 - Bump ex_cldr_units from 3.16.1 to 3.16.2
  • #7748 - Bump mock from 0.3.7 to 0.3.8
  • #7746 - Bump eslint from 8.42.0 to 8.43.0 in /apps/block_scout_web/assets
  • #7747 - Bump cldr_utils from 2.24.0 to 2.24.1

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.5-beta...v5.2.0-beta

blockscout - BlockScout v5.1.5-beta

Published by vbaranov over 1 year ago

โš ๏ธ Note1: a bug in migration 20211029085117_drop_block_rewards_block_hash_partial_index.exs has been discovered. If you have a partial index on column block_hash with where clause where: "address_type='validator'" in block_rewards table, we recommend executing this query:

DELETE FROM schema_migrations WHERE version='20211029085117';

in Blockscout DB before running DB migrations and launching Blockscout. Then, this migration will be re-run.

โš ๏ธ Note2: some environment variables are renamed

DISABLE_READ_API -> API_V1_READ_METHODS_DISABLED
DISABLE_WRITE_API -> API_V1_WRITE_METHODS_DISABLED
ACCOUNT_AUTHENTICATE_ENDPOINT_API_KEY -> API_SENSITIVE_ENDPOINTS_KEY

๐ŸŽ‰ ### Features

  • #7439 - Define batch size for token balance fetcher via runtime env var
  • #7298 - Add changes to support force email verification
  • #7416 - Add option to disable reCAPTCHA
  • #6694 - Add withdrawals support (EIP-4895)
  • #7355 - Add endpoint for token info import
  • #7393 - Realtime fetcher max gap
  • #7436 - TokenBalanceOnDemand ERC-1155 support
  • #7469, #7485, #7493 - Clear missing block ranges after every success import
  • #7489 - INDEXER_CATCHUP_BLOCK_INTERVAL env var

๐Ÿ› ๏ธ ### Fixes

  • #7490 - Fix pending txs is not a map
  • #7474 - Websocket v2 improvements
  • #7472 - Fix RE_CAPTCHA_DISABLED variable parsing
  • #7391 - Fix: cannot read properties of null (reading 'value')
  • #7377, #7454 - API v2 improvements

๐Ÿงน ### Chore

  • #7496 - API v2: Pass backend version to the frontend
  • #7468 - Refactoring queries with blocks
  • #7435 - Add .exs and .eex checking in cspell
  • #7450 - Resolve unresponsive navbar in verification form page
  • #7449 - Actualize docker-compose readme and use latest tags instead main
  • #7417 - Docker compose for frontend
  • #7349 - Proxy pattern with getImplementation()
  • #7360 - Manage visibility of indexing progress alert
  • #7351 - Bump decimal from 2.0.0 to 2.1.1
  • #7356 - Bump @amplitude/analytics-browser from 1.10.0 to 1.10.1 in /apps/block_scout_web/assets
  • #7366 - Bump mixpanel-browser from 2.46.0 to 2.47.0 in /apps/block_scout_web/assets
  • #7365 - Bump @amplitude/analytics-browser from 1.10.1 to 1.10.2 in /apps/block_scout_web/assets
  • #7368 - Bump cowboy from 2.9.0 to 2.10.0
  • #7370 - Bump ex_cldr_units from 3.15.0 to 3.16.0
  • #7364 - Bump chart.js from 4.2.1 to 4.3.0 in /apps/block_scout_web/assets
  • #7382 - Bump @babel/preset-env from 7.21.4 to 7.21.5 in /apps/block_scout_web/assets
  • #7381 - Bump highlight.js from 11.7.0 to 11.8.0 in /apps/block_scout_web/assets
  • #7379 - Bump @babel/core from 7.21.4 to 7.21.5 in /apps/block_scout_web/assets
  • #7380 - Bump postcss-loader from 7.2.4 to 7.3.0 in /apps/block_scout_web/assets
  • #7395 - Bump @babel/core from 7.21.5 to 7.21.8 in /apps/block_scout_web/assets
  • #7402 - Bump webpack from 5.81.0 to 5.82.0 in /apps/block_scout_web/assets
  • #7411 - Bump cldr_utils from 2.22.0 to 2.23.1
  • #7409 - Bump @amplitude/analytics-browser from 1.10.2 to 1.10.3 in /apps/block_scout_web/assets
  • #7410 - Bump sweetalert2 from 11.7.3 to 11.7.5 in /apps/block_scout_web/assets
  • #7434 - Bump ex_cldr from 2.37.0 to 2.37.1
  • #7433 - Bump eslint from 8.39.0 to 8.40.0 in /apps/block_scout_web/assets
  • #7432 - Bump tesla from 1.6.0 to 1.6.1
  • #7431 - Bump webpack-cli from 5.0.2 to 5.1.0 in /apps/block_scout_web/assets
  • #7430 - Bump core-js from 3.30.1 to 3.30.2 in /apps/block_scout_web/assets
  • #7443 - Bump webpack-cli from 5.1.0 to 5.1.1 in /apps/block_scout_web/assets
  • #7457 - Bump web3 from 1.9.0 to 1.10.0 in /apps/block_scout_web/assets
  • #7456 - Bump webpack from 5.82.0 to 5.82.1 in /apps/block_scout_web/assets
  • #7458 - Bump phoenix_ecto from 4.4.0 to 4.4.1
  • #7455 - Bump solc from 0.8.19 to 0.8.20 in /apps/explorer
  • #7460 - Bump jquery from 3.6.4 to 3.7.0 in /apps/block_scout_web/assets
  • #7488 - Bump exvcr from 0.13.5 to 0.14.1
  • #7486 - Bump redix from 1.2.2 to 1.2.3
  • #7487 - Bump tesla from 1.6.1 to 1.7.0
  • #7494 - Bump webpack from 5.82.1 to 5.83.0 in /apps/block_scout_web/assets
  • #7495 - Bump ex_cldr_numbers from 2.31.0 to 2.31.1

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.4-beta...v5.1.5-beta

blockscout - BlockScout v5.1.4-beta

Published by vbaranov over 1 year ago

Features

  • #7273 - Support reCAPTCHA v3 in CSV export page
  • #7345 - Manage telegram link and its visibility in the footer
  • #7313 - API v2 new endpoints: watchlist transactions
  • #7286 - Split token instance fetcher
  • #7246 - Fallback JSON RPC option
  • #7329 - Delete pending block operations for empty blocks

Fixes

  • #7317 - Fix tokensupply API v1 endpoint: handle nil total_supply
  • #7290 - Allow nil gas price for pending tx (Erigon node case)
  • #7288 - API v2 improvements: Fix tx type for pending contract creation; Remove owner for not unique ERC-1155 token instances
  • #7283 - Fix status for dropped/replaced tx
  • #7270 - Fix default TOKEN_EXCHANGE_RATE_REFETCH_INTERVAL
  • #7276 - Convert 99+% of int txs indexing into 100% in order to hide top indexing banner
  • #7282 - Add not found transaction error case
  • #7305 - Reset MissingRangesCollector min_fetched_block_number

Chore

  • #7343 - Management flexibility of charts dashboard on the main page
  • #7337 - Account: derive Auth0 logout urls from existing envs
  • #7332 - Add volume for Postgres Docker containers DB
  • #7328 - Update Docker image tag latest with release only
  • #7312 - Add configs for Uniswap v3 transaction actions to index them on Base Goerli
  • #7310 - Reducing resource consumption on bs-indexer-eth-goerli environment
  • #7297 - Use tracing JSONRPC URL in case of debug_traceTransaction method
  • #7292 - Allow Node 16+ version

Depreciated environment variables:

  • ACCOUNT_AUTH0_LOGOUT_URL
  • ACCOUNT_AUTH0_LOGOUT_RETURN_URL

Renamed environment variables:

Token instance fetcher divided in to three fetchers (realtime, retry, sanitize).
Thus, env vars:

  • INDEXER_TOKEN_INSTANCE_CONCURRENCY
  • INDEXER_TOKEN_INSTANCE_BATCH_SIZE
  • DISABLE_TOKEN_INSTANCE_FETCHER

replaced with:

  • INDEXER_TOKEN_INSTANCE_RETRY_REFETCH_INTERVAL
  • INDEXER_TOKEN_INSTANCE_RETRY_CONCURRENCY
  • INDEXER_TOKEN_INSTANCE_REALTIME_CONCURRENCY
  • INDEXER_TOKEN_INSTANCE_SANITIZE_CONCURRENCY
  • INDEXER_DISABLE_TOKEN_INSTANCE_RETRY_FETCHER
  • INDEXER_DISABLE_TOKEN_INSTANCE_REALTIME_FETCHER
  • INDEXER_DISABLE_TOKEN_INSTANCE_SANITIZE_FETCHER
  • #7257 - Bump ecto_sql from 3.10.0 to 3.10.1
  • #7265 - Bump ecto from 3.10.0 to 3.10.1
  • #7263 - Bump sass from 1.61.0 to 1.62.0 in /apps/block_scout_web/assets
  • #7264 - Bump webpack from 5.78.0 to 5.79.0 in /apps/block_scout_web/assets
  • #7274 - Bump postgrex from 0.17.0 to 0.17.1
  • #7277 - Bump core-js from 3.30.0 to 3.30.1 in /apps/block_scout_web/assets
  • #7295 - Bump postcss from 8.4.21 to 8.4.22 in /apps/block_scout_web/assets
  • #7303 - Bump redix from 1.2.1 to 1.2.2
  • #7302 - Bump webpack from 5.79.0 to 5.80.0 in /apps/block_scout_web/assets
  • #7307 - Bump postcss from 8.4.22 to 8.4.23 in /apps/block_scout_web/assets
  • #7321 - Bump webpack-cli from 5.0.1 to 5.0.2 in /apps/block_scout_web/assets
  • #7320 - Bump js-cookie from 3.0.1 to 3.0.4 in /apps/block_scout_web/assets
  • #7333 - Bump js-cookie from 3.0.4 to 3.0.5 in /apps/block_scout_web/assets
  • #7334 - Bump eslint from 8.38.0 to 8.39.0 in /apps/block_scout_web/assets
  • #7344 - Bump @amplitude/analytics-browser from 1.9.4 to 1.10.0 in /apps/block_scout_web/assets
  • #7347 - Bump webpack from 5.80.0 to 5.81.0 in /apps/block_scout_web/assets
  • #7348 - Bump sass from 1.62.0 to 1.62.1 in /apps/block_scout_web/assets

What's Changed

New Contributors

Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.3-beta...v5.1.4-beta

blockscout - BlockScout v5.1.3-beta

Published by vbaranov over 1 year ago

Incompatible changes

Some environment variables changed their namings:

  • Add common MICROSERVICE_ prefix for env vars related to microservices

RUST_VERIFICATION_SERVICE_URL -> MICROSERVICE_SC_VERIFIER_URL
ENABLE_RUST_VERIFICATION_SERVICE -> MICROSERVICE_SC_VERIFIER_ENABLED
VISUALIZE_SOL2UML_SERVICE_URL -> MICROSERVICE_VISUALIZE_SOL2UML_URL
VISUALIZE_SOL2UML_ENABLED -> MICROSERVICE_VISUALIZE_SOL2UML_ENABLED
SIG_PROVIDER_SERVICE_URL -> MICROSERVICE_SIG_PROVIDER_URL
SIG_PROVIDER_ENABLED -> MICROSERVICE_SIG_PROVIDER_ENABLED

  • ENABLE_ prefix to _ENABLED suffix for consistency:

ENABLE_SOURCIFY_INTEGRATION -> SOURCIFY_INTEGRATION_ENABLED
CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER -> CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED
FOOTER_ENABLE_FORUM_LINK -> FOOTER_FORUM_LINK_ENABLED
ENABLE_TXS_STATS -> TXS_STATS_ENABLED

  • Env vars for footer have FOOTER_ prefix

LINK_TO_OTHER_EXPLORERS -> FOOTER_LINK_TO_OTHER_EXPLORERS
OTHER_EXPLORERS -> FOOTER_OTHER_EXPLORERS
LOGO_FOOTER -> FOOTER_LOGO

Features

  • #7253 - Add EIP_1559_ELASTICITY_MULTIPLIER env variable
  • #7187 - Integrate Eth Bytecode DB
  • #7185 - Aave v3 transaction actions indexer
  • #7148, #7244 - API v2 improvements: API rate limiting, /tokens/{address_hash}/instances/{token_id}/holders and other changes

Fixes

  • #7242 - Fix daily txs chart
  • #7210 - Fix Makefile docker image build
  • #7203 - Fix write contract functionality for multidimensional arrays case
  • #7186 - Fix build from Dockerfile
  • #7255 - Fix MissingRangesCollector max block number fetching

Chore

  • #7254 - Rename env vars related for the integration with microservices
  • #7107 - Tx actions: remove excess delete_all calls and remake a cache
  • #7201 - Remove rust, cargo from dependencies since the latest version of ex_keccak is using precompiled rust
  • #7183 - Bump sobelow from 0.11.1 to 0.12.1
  • #7188 - Bump @babel/preset-env from 7.20.2 to 7.21.4 in /apps/block_scout_web/assets
  • #7190 - Bump @amplitude/analytics-browser from 1.9.1 to 1.9.2 in /apps/block_scout_web/assets
  • #7189 - Bump @babel/core from 7.21.3 to 7.21.4 in /apps/block_scout_web/assets
  • #7206 - Bump tesla from 1.5.1 to 1.6.0
  • #7207 - Bump sobelow from 0.12.1 to 0.12.2
  • #7205 - Bump @amplitude/analytics-browser from 1.9.2 to 1.9.3 in /apps/block_scout_web/assets
  • #7204 - Bump postcss-loader from 7.1.0 to 7.2.1 in /apps/block_scout_web/assets
  • #7214 - Bump core-js from 3.29.1 to 3.30.0 in /apps/block_scout_web/assets
  • #7215 - Bump postcss-loader from 7.2.1 to 7.2.4 in /apps/block_scout_web/assets
  • #7220 - Bump wallaby from 0.30.2 to 0.30.3
  • #7236 - Bump sass from 1.60.0 to 1.61.0 in /apps/block_scout_web/assets
  • #7235 - Bump @amplitude/analytics-browser from 1.9.3 to 1.9.4 in /apps/block_scout_web/assets
  • #7224 - Bump webpack from 5.77.0 to 5.78.0 in /apps/block_scout_web/assets
  • #7245 - Bump eslint from 8.37.0 to 8.38.0 in /apps/block_scout_web/assets
  • #7250 - Bump dialyxir from 1.2.0 to 1.3.0