14 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 63530dd9d7 fix(address): 0n is falsy, so every zero balance rendered "Pending" forever
Every never-transacted address showed `Balance Pending` instead of
`0 LUX`, permanently, on the live v1.1.23 build.

The RPC fallback was working the entire time. Captured on the wire:
eth_getBalance -> {"jsonrpc":"2.0","id":0,"result":"0x0"}. One line
disagreed. `if (!balance)` treats 0n as falsy, so a genuine zero balance
was reported as an RPC failure.

The consequence was not a broken path but a WRONG one, and the cascade
is why it looked like nothing: select() returned null -> isRpcQuery went
false and the fallback was discarded -> `query` reverted to the 404'd
apiQuery -> AddressDetails substituted error404Data (coin_balance: null)
-> AddressBalance's pruned-node guard fired. That guard's intent is
right ("coin_balance may be null while the address is known to exist,
show Pending instead of a misleading 0 LUX"); it just cannot tell a
genuine zero from a genuine failure when the caller has already
collapsed them. setRefetchEnabled(false) then made it permanent rather
than eventually-correct.

Nothing looked broken from outside: no hang, no skeleton, no error
alert, zero JS exceptions, and the counters path degraded correctly
under the very same 404 (Tokens/Transactions/Transfers all rendered 0).
Only the balance field was wrong.

`balance === null` is exact -- the type is already `bigint | null`.

Extracted the mapper as selectRpcAddress so the case is testable at all;
it shipped broken and was invisible from source. 5 tests, and they were
run against the OLD code first: reverting to `!balance` fails 3 of them.
A regression test that has never failed has not been tested.

Suite 322 -> 327.

Co-Authored-By: Hanzo Dev <[email protected]>
2026-08-07 03:45:55 -07:00
tom goriunovandGitHub 6b7b1301a3 Display and handle status field in smart contract view (#2807)
* Display and handle `status` field in smart contract view

Fixes #2658

* change text of the alerts
2025-07-01 15:29:38 +02:00
tom goriunovandGitHub fae4990e1f API resource refactoring (#2699)
* add prefix to API resources

* fix pw tests

* refactor config

* remove unnecessary prefixes in resource names

* fixes

* update screenshots
2025-05-01 15:22:38 +02:00
tom goriunovandGitHub f6725649da UI toolkit package (#2691)
* first version of the pack

* single entry point

* add custom components to the package

* move form components to toolkit

* add more utils and hooks to the package

* minor fixes

* add CI workflow

* update readme and package.json

* fix ts

* fix build of env-validator

* fix docker build

* fix icons size

* test fixes

* more test fixes
2025-04-21 19:44:22 +02:00
tom f97d29f889 remove unused field has_decompiled_code 2025-02-27 14:17:04 +01:00
tom aa428ad4e9 Merge branch 'main' of github.com:blockscout/frontend into release/v1-37-2 2025-01-08 18:12:43 +01:00
Igor StuevandGitHub b78b728ca9 Process 403 error from address/token/contract handle (#2477)
* Process 403 error from address/token/contract handle

* review fix
2025-01-01 12:25:04 +01:00
isstuev 9a193fa61e review fix 2024-12-26 13:33:42 +01:00
isstuev 4633a21fe5 Process 403 error from address/token/contract handle 2024-12-26 13:33:34 +01:00
tom goriunovandGitHub f3fbe04d11 Bind to full prop namings in API v2 endpoints (#2381)
Fixes #2374
2024-11-11 17:45:07 +01:00
tom goriunovandGitHub e91b780802 Resolve BENS names from URL directly to address page (#2004)
* Resolve BENS names from URL directly to address page

Fixes #1965

* fix tests
2024-06-13 13:11:13 +02:00
tom goriunovandGitHub 23bb231351 Add support for Diamond proxy standard (#1963)
* add support for array of implementations

* refactor ContainerWithScrollY component

* contract source code: allow to choose between all implementations

* fix layout of AddressNetWorth component

* add scroll container to implementation address on write/read proxy contract tab

* update screenshots
2024-05-29 14:09:55 +02:00
tom goriunovandGitHub 70c85f48d3 Update API Endpoint for fetching has_methods_* and `has_custom_meth… (#1842)
* Update API Endpoint for fetching `has_methods_*` and `has_custom_methods_*` fields

Fixes #1821

* don't load address txs when navigating to contract tab

* fix test
2024-04-23 15:43:04 +02:00
tom goriunovandGitHub 877955be3a Graceful service degradation: address page (#1580)
* Graceful service degradation: address page

Fixes #1579

* fix ts

* [skip ci] check if public client was initialized
2024-02-13 08:11:29 +04:00