• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

safe-global / safe-client-gateway / 34580385071
89%

Build:
DEFAULT BRANCH: main
Ran 11 Sep 2026 08:43AM UTC
Jobs 2
Files 980
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Sep 2026 08:40AM UTC coverage: 89.097% (+0.05%) from 89.049%
34580385071

push

github

web-flow
feat(tokens): expose token metadata by address (#3419)

* feat(tokens): validate a comma-separated token address list

* feat(tokens): add the token route service with batch lookup semantics

* refactor(tokens): name the token metadata DTOs distinctly from the balances DTOs

* feat(tokens): expose token metadata by address

* test(tokens): tighten the token endpoint specs

- Replace the catch-all string-rejection in the integration mocks with a
  NetworkResponseError(418) so an unmatched URL can never satisfy a 503
  (or any other asserted status) expectation.
- Assert `success: true` before asserting length in the "keeps duplicates"
  schema test.
- Add a service-level test covering two non-404 failures at different
  request positions, asserting the lower-index error propagates even
  when the higher-index promise settles first.
- Note in the integration spec why the duplicate-address test still
  asserts via `mock.calls.filter` instead of `toHaveBeenCalledTimes`
  (R-005 exception: the same mock also serves the chain-config call).

* refactor(tokens): rename the DTO base class and complete the Swagger descriptions

- Rename the private DTO base class from BaseToken to BaseTokenMetadata:
  the balances module already has its own private BaseToken, and the
  shared name invited confusion between the two unrelated classes.
- Add missing descriptions to the tokens controller's @ApiOkResponse and
  @ApiParam({ name: 'chainId' }) decorators, mirroring the contracts
  controller's Swagger conventions.

* refactor(tokens): de-duplicate addresses with lodash uniqBy

The hand-rolled helper did exactly what lodash uniqBy already does, and
uniqBy is a dependency this repo already uses for the same shape in
push-notification.service.ts: first occurrence wins, order and checksum
casing preserved.

* fix(tokens): rate-limit the token routes and validate chainId with ChainIdSchema

Both routes are new unauthenticated lookups, and the batch route turns one
request ... (continued)

4147 of 4882 branches covered (84.94%)

Branch coverage included in aggregate %.

26 of 26 new or added lines in 5 files covered. (100.0%)

10546 of 11609 relevant lines covered (90.84%)

540.14 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-integration-tests - 34580385071.1 11 Sep 2026 08:46AM UTC 980
64.41
GitHub Action Run
2 run-unit-tests - 34580385071.2 11 Sep 2026 08:43AM UTC 980
65.48
GitHub Action Run
Source Files on build 34580385071
  • Tree
  • List 980
  • Changed 6
  • Source Changed 3
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34580385071
  • 2a752c40 on github
  • Prev Build on main (#34571179222)
  • Next Build on main (#34582660140)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc