Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1011 commits
Select commit Hold shift + click to select a range
299d3f9
fix: celo election rewards csv export (#14160)
sl1depengwyn Mar 27, 2026
fecacf7
fix: keycloak address displaying (#14155)
sl1depengwyn Mar 27, 2026
1060700
chore(deps): bump floki from 0.38.0 to 0.38.1 (#14174)
dependabot[bot] Apr 1, 2026
521035a
chore(deps): bump phoenix_live_view from 1.1.27 to 1.1.28 (#14171)
dependabot[bot] Apr 1, 2026
8c27d1f
chore(deps): bump cbor from 1.0.1 to 1.0.2 (#14173)
dependabot[bot] Apr 1, 2026
a100d2d
chore(deps): bump ex_cldr_units from 3.20.2 to 3.20.3 (#14172)
dependabot[bot] Apr 2, 2026
7fccfa5
chore: Add swagger generation for Arc and Suave chain types (#14181)
vbaranov Apr 2, 2026
5f51ada
chore: Remove deprecated "transaction actions" indexer (#14183)
vbaranov Apr 2, 2026
9c2f48e
chore: Remove deprecated files from the root folder (#14186)
vbaranov Apr 2, 2026
23e71da
chore: Add Block.full_refetch (#14180)
Qwerty5Uiop Apr 2, 2026
ce43429
Remove "INDEXER_TX_ACTIONS_" from docker envs, add CODE_OF_CONDUCT.md…
vbaranov Apr 2, 2026
a9f4bb4
fix: Update transaction from receipt in PendingTransactionsSanitizer …
Qwerty5Uiop Apr 2, 2026
4dcadf1
chore: remove Polygon zkEVM support (#14188)
vbaranov Apr 2, 2026
b85de6f
perf: use tuple-based comparison to utlize index (#14178)
sl1depengwyn Apr 3, 2026
f6cd8b9
chore: update credo config (#14147)
sl1depengwyn Apr 3, 2026
4c846e1
fix: implementation address hash retrieval logic in the old UI (#14192)
vbaranov Apr 3, 2026
34196d3
chore: Cover counters to multichain export with unit tests (#14193)
vbaranov Apr 3, 2026
2d0dd8e
refactor: deduplicate json_rpc_named_arguments (#14194)
vbaranov Apr 5, 2026
62d3e89
refactor: Refactor RollupReorgMonitorQueue (#14196)
vbaranov Apr 6, 2026
f5e3d40
chore: Add Celo OpenAPI specs (#14197)
vbaranov Apr 6, 2026
3256ed4
doc: add .dialyzer-ignore hygiene guideline to CONTRIBUTING (#14199)
vbaranov Apr 6, 2026
b165300
chore: Remove transaction_hash from internal transactions (#14099)
Qwerty5Uiop Apr 6, 2026
e1c1c83
fix: prevent duplicate missing block range inserts (#14138)
vbaranov Apr 6, 2026
7dddb59
fix: handle RPC errors in ContractCreator, limit retries to 5 (#14136)
vbaranov Apr 6, 2026
06ccc62
perf: Improve performance of /api/v2/tokens API endpoint (#14158)
vbaranov Apr 7, 2026
812e9f3
perf: remove join to "blocks" in api/v2/blocks/:block_number/transact…
vbaranov Apr 7, 2026
fd80973
fix: Fix contract internal transactions preload (#14203)
vbaranov Apr 7, 2026
c1c1b20
fix: Optimize token1155tx API v1 endpoint (#14202)
nikitosing Apr 7, 2026
da6016b
feat: add toggle to disable transactions / token transfers BENS prelo…
vbaranov Apr 7, 2026
8d9546d
feat: Async CSV export (#14028)
nikitosing Apr 7, 2026
dcb4507
chore: Add batch size env for FillInternalTransactionsAddressIds migr…
Qwerty5Uiop Apr 7, 2026
262e3ba
chore: Remove timeout between successful migrations (#14198)
Qwerty5Uiop Apr 7, 2026
61e897b
v11
vbaranov Apr 7, 2026
a1b26d9
fix: Update changed constraint name in shrink IT migration (#14205)
Qwerty5Uiop Apr 7, 2026
2eaff0f
Update CHANGELOG with 14205 to v11
vbaranov Apr 7, 2026
59b498e
Update README and cspell config
vbaranov Apr 7, 2026
218708f
Remove duplicates from CHANGELOG
vbaranov Apr 8, 2026
f19bfd3
perf: Optimize on demand hot contracts performance (#14179)
nikitosing Apr 8, 2026
4c055de
Update CHANGELOG
vbaranov Apr 8, 2026
bae60b0
Merge branch 'master' of github.com:/blockscout/blockscout
vbaranov Apr 8, 2026
73fa613
chore: FillInternalTransactionsAddressIds improvements (#14208)
Qwerty5Uiop Apr 8, 2026
f4835d7
Update CHANGELOG
vbaranov Apr 8, 2026
15b6b5f
fix: include bridged token query params in OpenAPI spec (#14209)
vbaranov Apr 8, 2026
e4e0680
Update CHANGELOG
vbaranov Apr 8, 2026
b8bd726
Update CHANGELOG
vbaranov Apr 8, 2026
212a839
chore: Filter blocks by BLOCK_RANGES in add_ranges_by_block_numbers (…
Qwerty5Uiop Apr 9, 2026
25159c4
Update CHANGELOG
vbaranov Apr 9, 2026
223edb8
fix: handle partial errors in ContractCode fetch_codes (#14211)
vbaranov Apr 9, 2026
28084ed
perf: optimize optional address preloads across tx endpoints (#14165)
vbaranov Apr 9, 2026
4548133
Update CHANGELOG
vbaranov Apr 9, 2026
4301916
fix: Remove internal transaction error field references (#14213)
Qwerty5Uiop Apr 12, 2026
c58eb3e
Update CHANGELOG
vbaranov Apr 12, 2026
2f8a92b
chore: Prevent deadlocks in IT fields removing migration (#14215)
Qwerty5Uiop Apr 13, 2026
9a215b2
chore: Remove unused Explorer.Chain.Address.find_contract_addresses/2…
vbaranov Apr 13, 2026
7b20b94
chore(deps-dev): bump credo from 1.7.17 to 1.7.18 (#14224)
dependabot[bot] Apr 14, 2026
b2d348f
fix: Fix timeouts for API v1 tokentx endpoint (#14219)
nikitosing Apr 14, 2026
f5386f0
Update CHANGELOG
vbaranov Apr 14, 2026
e3efe61
chore: Improve internal transactions migrations (#14233)
Qwerty5Uiop Apr 15, 2026
47ebe38
fix: Celo epoch OpenAPI schema issues and missing test coverage (#14229)
akolotov Apr 15, 2026
7b69a11
Update CHANGELOG
vbaranov Apr 15, 2026
7906807
fix: Fix PendingTransactionsSanitizer (#14235)
Qwerty5Uiop Apr 15, 2026
9445547
chore: Add Autoscout promo in the logs (#14234)
vbaranov Apr 15, 2026
2cfd442
Update Changelog
vbaranov Apr 15, 2026
e444547
fix: Address ids usage improvements (#14240)
Qwerty5Uiop Apr 16, 2026
a31acf5
Update Changelog
vbaranov Apr 16, 2026
fca1752
fix: guard missing ETS table in contract creator fetcher (#14241)
vbaranov Apr 16, 2026
5f770d6
fix: Fix OnDemand.InternalTransaction fetcher (#14242)
Qwerty5Uiop Apr 16, 2026
0a05ac1
Update Changelog
vbaranov Apr 16, 2026
2a6b61a
fix: Internal transactions on-demand fetcher: check existence of dele…
vbaranov Apr 17, 2026
90e236e
Update Changelog
vbaranov Apr 17, 2026
a2eeaee
feat: make token balances import chunk size configurable (#14250)
vbaranov Apr 19, 2026
d7c73af
feat: `/api/legacy/*` wrappers for three ES-compatible RPC endpoints …
akolotov Apr 20, 2026
da699ea
Update CHANGELOG
vbaranov Apr 20, 2026
1b56375
fix: Fix filecoin view error (#14255)
vbaranov Apr 20, 2026
872cdf8
Update CHANGELOG
vbaranov Apr 20, 2026
c491f77
chore: Expand action of API_DISABLE_CONTRACT_CREATION_INTERNAL_TRANSA…
vbaranov Apr 20, 2026
db8bf48
Update CHANGELOG
vbaranov Apr 20, 2026
482d286
chore: Increase default timeout for FillInternalTransactionsAddressId…
Qwerty5Uiop Apr 21, 2026
8051019
Update CHANGELOG
vbaranov Apr 21, 2026
cd3a521
chore: Remove timeout for test for FillInternalTransactionsAddressIds…
Qwerty5Uiop Apr 22, 2026
c196b37
Update CHANGELOG
vbaranov Apr 22, 2026
1a6d9c3
chore: Update LICENCE (#14201)
vbaranov Apr 22, 2026
b67f11f
Update CHANGELOG
vbaranov Apr 22, 2026
548a91a
feat: restore BENS preloads on the main page under toggle and add blo…
vbaranov Apr 22, 2026
9e5e272
Update CHANGELOG
vbaranov Apr 22, 2026
3766602
Update CHANGELOG
vbaranov Apr 22, 2026
7ebfbcc
Update CHANGELOG
vbaranov Apr 22, 2026
9ea91be
fix: Fix Celo epochs list pagination (#14269)
vbaranov Apr 23, 2026
a1ad38b
fix: make "sort_param" description endpoint-agnostic in OpenAPI spec …
vbaranov Apr 23, 2026
494f7ad
chore: make pending operations helper batching configurable (#14273)
vbaranov Apr 24, 2026
eb4290c
fix: map optimism-celo to celo OpenAPI folder (#14274)
vbaranov Apr 24, 2026
2c0897d
fix: parse celo reward cursor params for address pagination (#14275)
vbaranov Apr 24, 2026
16d7704
fix: Remove addresses preload in celo parse_internal_transactions (#1…
Qwerty5Uiop Apr 24, 2026
cf7a0c8
fix: Fix internal transactions address dynamic condition (#14278)
Qwerty5Uiop Apr 27, 2026
2cf37d8
refactor: move contract creation internal tx association flag to Chai…
vbaranov Apr 27, 2026
4ab64a9
fix: prevent ETS crash in ContractCreator on GenServer restart (#14221)
vbaranov Apr 27, 2026
50d2b89
fix: Fix incorrect batch size in Indexer.Fetcher.OnDemand.TokenBalanc…
nikitosing Apr 27, 2026
991b7b1
fix: Add fill IT addresses dependency into drop index migrations (#14…
Qwerty5Uiop Apr 27, 2026
86dcdf0
11.0.1
vbaranov Apr 27, 2026
f159f95
refactor: Move preload contract creation internal transaction under r…
vbaranov Apr 28, 2026
14a8285
Remove Blockscout action badge from README
vbaranov Apr 28, 2026
5b62fd2
fix: disable on-demand internal tx fetch when corresponding flag is p…
vbaranov Apr 28, 2026
dc9e370
chore: Add window_size for PendingTransactionsSanitizer (#14292)
Qwerty5Uiop Apr 30, 2026
0f651d2
Update CHANGELOG
vbaranov Apr 30, 2026
39cf6ab
Add envs for v11.0.1 to CHANGELOG
vbaranov Apr 30, 2026
07d430f
chore: Optimize internal transactions address_match_dynamic (#14293)
Qwerty5Uiop Apr 30, 2026
d7c39f4
Update CHANGELOG
vbaranov Apr 30, 2026
f3bbe62
fix: use inner join for verified contract addresses instead of latera…
vbaranov Apr 30, 2026
91e47b4
Update CHANGELOG
vbaranov Apr 30, 2026
f8ccc1b
fix: Update OnDemand.InternalTransaction etherscan fields (#14297)
Qwerty5Uiop May 1, 2026
14fd7af
chore: Change "coinsupply" RPC API response to fit JSON RPC requireme…
vbaranov May 1, 2026
3a06f04
chore: cover all RPC API stats endpoints and stabilize flaky specs (#…
vbaranov May 1, 2026
ef0b63a
Update CHANGELOG
vbaranov May 1, 2026
b0e1adf
chore(deps): bump evision from 0.2.14 to 0.2.15 (#14283)
dependabot[bot] May 1, 2026
8933239
chore(deps): bump hammer_backend_redis from 7.1.0 to 7.1.1 (#14282)
dependabot[bot] May 1, 2026
e5b64a3
chore(deps): bump absinthe from 1.9.1 to 1.10.0 (#14222)
dependabot[bot] May 1, 2026
de4a8cf
chore(deps): bump tesla from 1.16.0 to 1.17.0 (#14285)
dependabot[bot] May 1, 2026
cdd43e0
chore(deps): bump plug_cowboy from 2.8.0 to 2.8.1 (#14286)
dependabot[bot] May 1, 2026
d352137
chore: add coverage for core API v2 views (#14254)
vbaranov May 1, 2026
8e04407
fix: Add missing internal transactions address preload (#14308)
Qwerty5Uiop May 4, 2026
eb4d447
fix: Adapt maybe_reject_zero_value for empty blocks (#14309)
Qwerty5Uiop May 4, 2026
1cab668
fix: trim contractaddresses in getcontractcreation (#14306)
vbaranov May 4, 2026
77cf6dd
fix: Add fallback for empty "to" in Geth selfdestruct (#14256)
Qwerty5Uiop May 4, 2026
b7904f7
11.0.2
vbaranov May 4, 2026
e75e055
fix: Fix some web tests (#14310)
vbaranov May 4, 2026
d5a372e
Update Changelog
vbaranov May 4, 2026
8e202b3
fix: Process empty list of changes on fetching contract codes (#14312)
vbaranov May 4, 2026
fb533a8
chore: Disable flaky contract code compiler doctest (#14313)
vbaranov May 4, 2026
e29c1bc
fix: Disable on-demand IT fetcher test for rsk and filecoin (#14314)
Qwerty5Uiop May 4, 2026
ea6945a
Update Changelog
vbaranov May 4, 2026
a0e66aa
Update Changelog
vbaranov May 4, 2026
d55b970
Update Changelog
vbaranov May 4, 2026
4f91a27
chore: dev branch + CI, remove obsolete GA workflows (#14317)
vbaranov May 5, 2026
99c1440
chore: Don't lock tables if foreign keys are already dropped (#14321)
Qwerty5Uiop May 5, 2026
4645658
fix: Add transactions uniqueness before insert (#14329)
Qwerty5Uiop May 7, 2026
c369ab4
fix: Force search for contract creator if internal transactions modul…
vbaranov May 8, 2026
17a3fc2
11.0.3
vbaranov May 8, 2026
49b90c6
fix: Insert AddressIdToAddressHash via safe_insert_all (#14333)
Qwerty5Uiop May 8, 2026
263492b
Update CHANGELOG
vbaranov May 8, 2026
325c059
chore: OpenAPI spec for Arbitrum-related endpoints (#14169)
akolotov May 8, 2026
05381be
chore: OpenAPI specifications for all `/api/v2/advanced-filters` endp…
akolotov May 8, 2026
da94a97
doc: add verification websocket subscription guide (#14259)
vbaranov May 8, 2026
e4a8500
fix: improvements of OpenAPI specification for `/v2/blocks` (#14251)
akolotov May 12, 2026
9f26983
chore(deps): bump decimal from 2.3.0 to 2.4.1 (#14357)
dependabot[bot] May 12, 2026
e6eddc1
chore(deps): bump cldr_utils from 2.29.5 to 2.29.7 (#14355)
dependabot[bot] May 12, 2026
efbea35
chore(deps): bump phoenix_live_view from 1.1.28 to 1.1.30 (#14350)
dependabot[bot] May 12, 2026
768bf56
chore(deps): bump absinthe_phoenix from 2.0.4 to 2.0.5 (#14345)
dependabot[bot] May 12, 2026
2252565
chore(deps-dev): bump ex_doc from 0.40.1 to 0.40.2 (#14341)
dependabot[bot] May 12, 2026
4261212
chore(deps): bump open_api_spex from 3.22.2 to 3.22.3 (#14353)
dependabot[bot] May 12, 2026
81b3d9d
chore(deps): bump ex_cldr_units from 3.20.3 to 3.20.4 (#14340)
dependabot[bot] May 12, 2026
b59af08
chore(deps): bump ex_json_schema from 0.11.2 to 0.11.3 (#14356)
dependabot[bot] May 12, 2026
1b51b4d
chore(deps): bump postgrex from 0.22.0 to 0.22.1 (#14354)
dependabot[bot] May 12, 2026
8c56356
chore: Eliminate horizontal scroll in the main LICENSE file (#14359)
vbaranov May 12, 2026
34f4dcf
chore: Add SPDX attribution (#14360)
vbaranov May 12, 2026
d9edfc3
chore(deps): bump mint from 1.7.1 to 1.8.0 (#14351)
dependabot[bot] May 12, 2026
a695ecc
chore(deps): bump postgrex from 0.22.1 to 0.22.2 (#14376)
dependabot[bot] May 19, 2026
bc75c8e
chore(deps-dev): bump cowboy from 2.14.2 to 2.15.0 (#14377)
dependabot[bot] May 19, 2026
7c162ce
chore(deps): bump floki from 0.38.1 to 0.38.2 (#14378)
dependabot[bot] May 19, 2026
4673c5f
chore(deps): bump tesla from 1.17.0 to 1.18.2 (#14375)
dependabot[bot] May 20, 2026
2a7db0b
chore: Partial async import (#14277)
Qwerty5Uiop May 13, 2026
b0017f0
11.1.0
vbaranov May 20, 2026
d38b2ef
fix: Return repo replica to indexer (#14383)
Qwerty5Uiop May 20, 2026
2a3dc18
chore: Close linked issues when PRs merge into dev (#14384)
vbaranov May 21, 2026
b53c1ac
fix: Parse GitHub issue URLs in dev-merge close workflow (#14385)
vbaranov May 21, 2026
7982962
Update CHANGELOG
vbaranov May 21, 2026
c77f6fe
feat: Forward new BENS fields to search (#14389)
nikitosing May 22, 2026
69c3102
Update CHANGELOG
vbaranov May 22, 2026
6075b61
chore: Add MIGRATION_FILL_INTERNAL_TRANSACTIONS_ADDRESS_IDS_CONCURREN…
Qwerty5Uiop May 22, 2026
ec21659
chore: publish OpenAPI specs on dev branch pushes (#14391)
vbaranov May 22, 2026
b3e8064
fix: Properly start VersionUpgrade on application launch (#14396)
Qwerty5Uiop May 25, 2026
22bfe84
fix: declare missing OpenAPI params for advanced-filters endpoint (#1…
vbaranov May 25, 2026
36ab37e
11.1.1
vbaranov May 25, 2026
4e6af5c
fix: Rollback token hash by symbol logic in advanced filters (#14401)
vbaranov May 25, 2026
2223508
fix: Fix VersionUpgrade check for empty previous version (#14410)
Qwerty5Uiop May 27, 2026
8a96155
v11.1.2
vbaranov May 27, 2026
ac008a5
chore(deps): bump evision from 0.2.15 to 0.2.16 (#14404)
dependabot[bot] Jun 1, 2026
993e240
chore(deps): bump hammer from 7.3.0 to 7.4.0 (#14402)
dependabot[bot] Jun 1, 2026
43d1db9
chore(deps): bump ezstd from 1.2.3 to 1.2.4 (#14406)
dependabot[bot] Jun 1, 2026
129b5c1
chore(deps): bump floki from 0.38.2 to 0.38.3 (#14405)
dependabot[bot] Jun 1, 2026
4a7e483
fix: Adapt maybe_reject_zero_value for pre-changeset values (#14425)
Qwerty5Uiop Jun 2, 2026
1a70d03
fix: Run background migrations immediately on green install (#14424)
Qwerty5Uiop Jun 2, 2026
8b9f6fe
11.1.3
vbaranov Jun 2, 2026
596de60
chore(deps-dev): bump ex_doc from 0.40.2 to 0.40.3 (#14403)
dependabot[bot] Jun 2, 2026
8c20ea4
chore: Distributed MapCache (#14411)
Qwerty5Uiop Jun 2, 2026
d4cff5b
Update CHANGELOG
vbaranov Jun 2, 2026
9f37880
fix: Fix traceable_blocks_dynamic_query (#14436)
Qwerty5Uiop Jun 8, 2026
172ffb8
fix: Add required fields to SmartContract schema (#14437)
vbaranov Jun 8, 2026
e3c2104
Update Celo Publish Docker image workflow
vbaranov Jun 8, 2026
3ed5a40
chore: Add PG statement_timeout for import transactions (#14414)
Qwerty5Uiop May 29, 2026
5714404
chore: Perceive "out of gas" error as contract failure (#14417)
Qwerty5Uiop May 29, 2026
59aeaf5
feat: add MinimalProxy detection for mid-bytecode EIP-1167-like patte…
vbaranov Jun 2, 2026
9f48763
fix: restrict minimal proxy detection to bytecode ≤ 100 bytes (#14427)
vbaranov Jun 3, 2026
af8b22c
fix: scope missing_current_token_balances_count indexer metric to con…
vbaranov Jun 1, 2026
e840c98
chore: Enhance missing current token balances metric (#14438)
vbaranov Jun 8, 2026
7c0d884
fix: Fix token import on Celo (#14435)
vbaranov Jun 8, 2026
bf721b2
chore: Reset skip metadata flag for NFTs (#14337)
vbaranov May 12, 2026
ecddc9f
chore: Log block fetch errors in catchup fetcher (#14318)
Qwerty5Uiop May 12, 2026
5dfc3e6
chore: Limit max node requests in one batch (#14319)
Qwerty5Uiop May 12, 2026
2bf062d
feat: Add hot smart contracts caching (#14320)
nikitosing May 13, 2026
d73ec32
feat: Preload only listened entities before broadcast (#14430)
nikitosing Jun 9, 2026
909c674
Fix mox_test.exs
vbaranov Jun 9, 2026
a9dd43d
11.2.0
vbaranov Jun 9, 2026
f4dcf84
feat: support for EIP-7708 on arc (#14336)
k1rill-fedoseev May 18, 2026
ce7578b
Update CHANGELOG
vbaranov Jun 9, 2026
67174b3
chore: Comment out direct Sourcify tests (#14372)
nikitosing May 19, 2026
f833433
Update CHANGELOG
vbaranov Jun 10, 2026
848fa43
fix: Fix revert reason for nethermind (#14442)
nikitosing Jun 10, 2026
b4e9022
Update CHANGELOG
vbaranov Jun 10, 2026
949581e
chore: Optimize deriving current token balances (#14450)
Qwerty5Uiop Jun 11, 2026
80142b5
Update CHANGELOG
vbaranov Jun 11, 2026
a5784e5
feat: mark instance unhealthy when cache block lags DB (#14449)
vbaranov Jun 11, 2026
6332d59
Update CHANGELOG
vbaranov Jun 11, 2026
3695db3
fix: Improve BlockNumber cache (#14453)
Qwerty5Uiop Jun 13, 2026
9b1591a
Update CHANGELOG
vbaranov Jun 13, 2026
1a9d89e
chore(deps): bump absinthe from 1.10.2 to 1.11.0 (#14467)
dependabot[bot] Jun 16, 2026
fc7e637
chore(deps): bump tesla from 1.18.2 to 1.20.0 (#14465)
dependabot[bot] Jun 16, 2026
ebbeb0b
chore(deps): bump oauth2 from 2.1.0 to 2.1.1 (#14474)
dependabot[bot] Jun 16, 2026
ffa5e6b
chore(deps): bump ex_cldr_numbers from 2.38.2 to 2.38.3 (#14473)
dependabot[bot] Jun 16, 2026
fd3c62f
chore(deps-dev): bump credo from 1.7.18 to 1.7.19 (#14471)
dependabot[bot] Jun 16, 2026
417a2cb
chore(deps): bump varint from 1.5.1 to 1.6.0 (#14470)
dependabot[bot] Jun 16, 2026
59ee56e
chore(deps-dev): bump benchee from 1.5.0 to 1.5.1 (#14469)
dependabot[bot] Jun 16, 2026
b9f3964
chore: Move ctb deriving before addresses lock (#14479)
Qwerty5Uiop Jun 16, 2026
6e5a3a1
Update CHANGELOG
vbaranov Jun 16, 2026
d880751
chore(deps): bump que from 0.10.1 to 0.12.0 (#14466)
dependabot[bot] Jun 16, 2026
9385344
chore(deps-dev): bump cowboy from 2.15.0 to 2.16.1 (#14462)
dependabot[bot] Jun 16, 2026
4f658b3
chore: add @blockscout/api-types npm package and publish workflows (#…
tom2drum Jun 17, 2026
4b38e3c
chore(deps): bump mint from 1.8.0 to 1.9.0 (#14468)
dependabot[bot] Jun 17, 2026
5bc5854
chore(deps): bump evision from 0.2.16 to 0.2.17 (#14461)
dependabot[bot] Jun 17, 2026
b05cba6
Temp disable types npm package publishing
vbaranov Jun 17, 2026
7d0dd48
fix: Don't start health monitor in tests (#14481)
Qwerty5Uiop Jun 17, 2026
3825cf4
Update CHANGELOG
vbaranov Jun 17, 2026
551ae8b
Remove CHANGELOG record duplicate
vbaranov Jun 17, 2026
3d3fb62
fix: Don't call InternalTransaction.async_fetch from ContractCreator …
Qwerty5Uiop Jun 18, 2026
415b80c
11.2.1
vbaranov Jun 18, 2026
f7039b5
chore(deps): bump floki from 0.38.3 to 0.38.4 (#14490)
dependabot[bot] Jun 23, 2026
a50cec9
chore(deps): bump ex_cldr from 2.47.4 to 2.47.5 (#14525)
dependabot[bot] Jul 1, 2026
3613368
chore(deps-dev): bump wallaby from 0.30.12 to 0.31.0 (#14523)
dependabot[bot] Jul 1, 2026
ab4b186
chore(deps): bump prometheus from 6.1.2 to 6.1.3 (#14521)
dependabot[bot] Jul 1, 2026
9cd4d7a
chore(deps): bump ex_cldr_units from 3.20.4 to 3.20.5 (#14520)
dependabot[bot] Jul 1, 2026
df68aa0
fix: Fix import result merging for chunked data (#14528)
Qwerty5Uiop Jul 1, 2026
2d5c076
fix: log warning when bytecode metadata hex parsing fails (#14511)
Sertug17 Jul 1, 2026
d825cab
fix: log error instead of silent empty map on CBOR decode failure (#1…
Sertug17 Jul 1, 2026
04b3b72
chore(deps): bump plug_cowboy from 2.8.1 to 2.9.0 (#14522)
dependabot[bot] Jul 1, 2026
955d49d
feat: add realtime ERC-20 token balance and block indexing delay metr…
vbaranov Jul 2, 2026
83d50af
11.2.2
vbaranov Jul 3, 2026
56c5416
chore: Improve async importers (#14534)
Qwerty5Uiop Jul 3, 2026
731015d
Update CHANGELOG
vbaranov Jul 3, 2026
4359a7e
chore: sync xrplevm with upstream v11.2.2
aluque-peersyst Jul 20, 2026
b627d0d
fix: correct release-version derivation, chain-id docs, and formatting
aluque-peersyst Jul 21, 2026
1b54abf
fix: align backend compose build args with mix.exs and fix WS/beacon env
aluque-peersyst Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .agents/agents/openapi-spec-inspector.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
name: openapi-spec-inspector
description: "Audits an existing OpenAPI declaration for a single Blockscout API v2 endpoint and writes a prioritized markdown report. Read-only — does not modify controllers, schemas, views, or the spec. Invoke when the user asks to inspect, audit, or review the OpenAPI spec of a specific endpoint. The invoking prompt MUST provide two values: the endpoint URL path (e.g. `/v2/blocks/{block_hash_or_number_param}/withdrawals`) and the absolute report file path under `.ai/oas-inspection-reports/` (e.g. `.ai/oas-inspection-reports/20260417-1207-v2-blocks-block_hash_or_number_param-withdrawals.md`). Include both as `URL_PATH=<path>` and `REPORT_PATH=<path>` in the prompt. Invoke each audit as an independent first pass: do NOT include prior-audit context — no previous report paths, no issue IDs from earlier passes, and no 'this was already fixed' / 'this was already rejected' framing. Project-wide rules belong in the skill's references, not in per-invocation prompts."
permissionMode: auto
tools: Read, Glob, Grep, Bash, Write
---

You are auditing an existing OpenAPI declaration.

## Independence

Treat every invocation as a first-pass, independent audit.

- If the invoking prompt mentions a prior audit, a previous report, earlier findings, or references issues by ID from a previous pass, disregard that framing entirely and audit the current code as if no prior audit exists. Do not try to reconcile your findings against it.
- Do NOT read, open, Glob, or Grep any file under `.ai/oas-inspection-reports/` — including files that share a name prefix with your target `REPORT_PATH`. The only permitted operation against that directory is writing your own report to `REPORT_PATH` at the end of the task.

## Inputs

Your invoking prompt **must** contain these two assignments:

- `URL_PATH=<url-path>` — the endpoint to inspect (e.g. `/v2/blocks/{block_hash_or_number_param}/withdrawals`)
- `REPORT_PATH=<path>` — the absolute or repo-relative markdown file path where the report must be written (e.g. `.ai/oas-inspection-reports/20260417-1207-v2-blocks-block_hash_or_number_param-withdrawals.md`)

If either is missing, return an error and stop:
"ERROR: URL_PATH and REPORT_PATH must both be provided by the parent agent."

## Task

Endpoint to inspect: **GET `<URL_PATH>`**

You MUST use the `openapi-spec` skill located at `.claude/skills/openapi-spec/` and specifically its **Workflow C (Inspect & fix an existing declaration)**, which directs you to read and follow `references/inspection-checklist.md` end-to-end.

Scope:
- This is a read-only inspection. Do NOT modify controllers, schemas, views, or the spec. Only produce a report.
- Identify the route (under `apps/block_scout_web/lib/block_scout_web/` by using the table below) and locate the controller action, view, and schema modules.

| API router | `routers/api_router.ex` |
| V2 sub-routers forwarded from the API router | `routers/tokens_api_v2_router.ex`, `routers/smart_contracts_api_v2_router.ex`, `routers/api_key_v2_router.ex`, `routers/utils_api_v2_router.ex`, `routers/address_badges_v2_router.ex` |
| Account router (Private spec) | `routers/account_router.ex` |

- Cross-reference parameters (controller vs. declaration), response fields (view vs. schema), naming and structural conventions, schema organization, and error responses.
- Use `.ai/tmp/openapi_public.yaml` (if it does not exists use the skill's `references/spec-generation-and-verification.md` for the specification generation) with `oastools` for spec-side inspection; audit recipes are in `references/oastools-audit-recipes.md`.

## Deliverable

Write a single markdown report to the path provided in `REPORT_PATH`.

The report should include:
1. Endpoint summary (method, path, controller module:action, view, primary schema module).
2. Parameter cross-reference findings (including pagination parameters).
3. Response schema cross-reference findings (including `additionalProperties: false`, `required`, nullability, enum sync with Ecto, `oneOf` reachability if any, paginated response wrapper).
4. Error responses coverage.
5. Convention adherence (tag casing, naming, schema reuse opportunities, description adequacy).
6. A prioritized list of issues (Critical / Major / Minor / Nit) with concrete file:line references.
7. Suggested fixes (described, not applied).

Keep the report focused and actionable. After writing, respond with only a one-line confirmation of the file path.
237 changes: 237 additions & 0 deletions .agents/skills/alias-nested-modules/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
---
name: alias-nested-modules
description: Define module aliases at the top of the file instead of using fully qualified nested module names in function bodies. Improves code readability and maintainability while addressing Credo style warnings.
---

## Overview

When using modules with long, nested names multiple times in your code, Elixir's `alias` directive allows you to create shorter references at the top of the module. This improves code readability, reduces duplication, and makes refactoring easier. Credo warns when nested modules are called directly in function bodies instead of being aliased.

## When to Use

- When calling functions from deeply nested modules (3+ levels)
- When the same nested module is referenced multiple times
- When addressing Credo warning: "Nested modules could be aliased at the top of the invoking module"
- When improving code readability and reducing line length
- During code reviews or refactoring for consistency

## Anti-Patterns (Avoid These)

```elixir
defmodule MyApp.Service do
# ❌ BAD: No aliases, long nested module names in functions

def fetch_data do
MyApp.ExternalServices.API.Client.fetch()
end

def process_data(data) do
MyApp.ExternalServices.API.Parser.parse(data)
end

def validate_result(result) do
MyApp.ExternalServices.API.Validator.validate(result)
end
end

# ❌ BAD: Nested module call in private function
defmodule Explorer.Chain.Metrics.Queries.IndexerMetrics do
defp multichain_search_enabled? do
Explorer.MicroserviceInterfaces.MultichainSearch.enabled?()
end
end
```

## Best Practices (Use These)

```elixir
defmodule MyApp.Service do
# ✅ GOOD: Aliases defined at module top
alias MyApp.ExternalServices.API.Client
alias MyApp.ExternalServices.API.Parser
alias MyApp.ExternalServices.API.Validator

def fetch_data do
Client.fetch()
end

def process_data(data) do
Parser.parse(data)
end

def validate_result(result) do
Validator.validate(result)
end
end

# ✅ GOOD: Module aliased at the top
defmodule Explorer.Chain.Metrics.Queries.IndexerMetrics do
alias Explorer.MicroserviceInterfaces.MultichainSearch

defp multichain_search_enabled? do
MultichainSearch.enabled?()
end
end
```

## Alias Patterns

### Basic Alias

```elixir
# ✅ Simple alias - uses last segment as the name
alias MyApp.Services.EmailService

EmailService.send()
```

### Multiple Related Aliases

```elixir
# ✅ Group related modules
alias MyApp.Models.{User, Post, Comment}

User.find(id)
Post.create(attrs)
Comment.list_by_post(post_id)
```

### Custom Alias Name

```elixir
# ✅ Use custom name to avoid conflicts or for clarity
alias MyApp.External.API.Client, as: ExternalClient
alias MyApp.Internal.API.Client, as: InternalClient

ExternalClient.request()
InternalClient.request()
```

### Alias in Pattern

```elixir
# ✅ Common aliasing pattern for nested structures
alias MyApp.Services.{
Authentication,
Authorization,
Notification
}
```

## Example Fix

### Before (Credo Warning):
```elixir
defmodule Explorer.Chain.Metrics.Queries.IndexerMetrics do
import Ecto.Query
alias Ecto.Adapters.SQL
alias Explorer.Chain.Address.TokenBalance
alias Explorer.Repo

# No alias for MultichainSearch

defp multichain_search_enabled? do
# ⚠️ Credo warning: Nested modules could be aliased
Explorer.MicroserviceInterfaces.MultichainSearch.enabled?()
end

defp check_feature_x do
Explorer.MicroserviceInterfaces.MultichainSearch.feature_x_enabled?()
end
end
```

### After (Credo Clean):
```elixir
defmodule Explorer.Chain.Metrics.Queries.IndexerMetrics do
import Ecto.Query
alias Ecto.Adapters.SQL
alias Explorer.Chain.Address.TokenBalance
alias Explorer.MicroserviceInterfaces.MultichainSearch
alias Explorer.Repo

# ✅ Module aliased at top, cleaner function bodies

defp multichain_search_enabled? do
MultichainSearch.enabled?()
end

defp check_feature_x do
MultichainSearch.feature_x_enabled?()
end
end
```

## Benefits

1. **Readability**: Shorter, clearer function bodies
2. **Maintainability**: Change the module path in one place
3. **Performance**: No runtime difference (aliases are compile-time)
4. **Consistency**: Follows Elixir community conventions
5. **Refactoring**: Easier to reorganize module structure

## When NOT to Alias

```elixir
# ✅ OK: Single use of a module - aliasing adds noise
def one_time_call do
MyApp.RarelyUsed.Module.function()
end

# ✅ OK: Very short module name
def use_map do
Map.get(data, :key)
end

# ✅ OK: Kernel or Elixir standard library
def use_enum do
Enum.map(list, &process/1)
end
```

## Ordering Aliases

Follow this conventional order for imports and aliases:

```elixir
defmodule MyApp.Service do
# 1. Use statements
use GenServer

# 2. Import statements
import Ecto.Query

# 3. Alias statements (alphabetically)
alias Ecto.Adapters.SQL
alias MyApp.Models.User
alias MyApp.Services.{EmailService, SmsService}

# 4. Require statements
require Logger
end
```

## Common Credo Warnings

### Warning Message
```
[D] ↘ Nested modules could be aliased at the top of the invoking module.
```

### How to Fix
1. Identify the nested module being called directly
2. Add an `alias` directive at the top of the module
3. Update all references to use the aliased name
4. Run `mix credo` to verify the warning is resolved

## Related Credo Rules

- `Credo.Check.Readability.AliasOrder` - Checks alias alphabetical order
- `Credo.Check.Readability.ModuleDoc` - Ensures modules have documentation
- `Credo.Check.Design.AliasUsage` - Reports nested module usage

## Additional Resources

- [Elixir Alias documentation](https://hexdocs.pm/elixir/Kernel.SpecialForms.html#alias/2)
- [Elixir Style Guide - Aliases](https://github.com/christopheradams/elixir_style_guide#alias-import-use)
- [Credo configuration](https://hexdocs.pm/credo/config_file.html)
Loading
Loading