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

safe-global / safe-client-gateway / 18500100518
90%
main: 89%

Build:
Build:
LAST BUILD BRANCH: portfolio-endpoint-header-entries-for-cache
DEFAULT BRANCH: main
Ran 14 Oct 2025 02:35PM UTC
Jobs 2
Files 955
Run time 4min
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

14 Oct 2025 02:33PM UTC coverage: 90.069% (+0.007%) from 90.062%
18500100518

push

github

katspaugh
fix: add SafeMigration contract support for version detection

Extends the migration transaction detection logic to support SafeMigration
contracts in addition to SafeToL2Migration contracts. This fixes the issue
where the Client Gateway couldn't calculate safeTxHash for Safes with null
versions when proposing SafeMigration transactions.

## Changes

- Add `getSafeMigrationDeployments()` helper function in deployments.ts
- Update `detectDelegateMigration()` to check both SafeToL2Migration and
  SafeMigration contracts
- Implement version inference for SafeMigration by checking available
  singletons on the target chain (since SafeMigration functions have no
  parameters and use immutable addresses set at deployment)

## Test Coverage

- Add encoder builder for SafeMigration functions (migrateL2Singleton,
  migrateL2WithFallbackHandler, migrateSingleton, migrateWithFallbackHandler)
- Add 8 comprehensive unit tests covering:
  - Success cases for all 4 SafeMigration functions
  - Rejection of unofficial migration contracts
  - Rejection of non-DELEGATE operations
  - Rejection of transactions without data
  - Version inference behavior when singletons are/aren't available

Fixes production issue where Safe Shield migration transactions were failing
with "422: Could not calculate safeTxHash" error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

3870 of 4768 branches covered (81.17%)

Branch coverage included in aggregate %.

19 of 21 new or added lines in 2 files covered. (90.48%)

13036 of 14002 relevant lines covered (93.1%)

538.92 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
93.75
0.27% src/domain/common/utils/safe.ts
Jobs
ID Job ID Ran Files Coverage
1 run-integration-tests - 18500100518.1 14 Oct 2025 02:35PM UTC 267
84.14
GitHub Action Run
2 run-unit-tests - 18500100518.2 14 Oct 2025 02:39PM UTC 1878
88.82
GitHub Action Run
Source Files on build 18500100518
  • Tree
  • List 955
  • Changed 265
  • Source Changed 2
  • Coverage Changed 265
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #18500100518
  • 00f79d7c on github
  • Prev Build on main (#18498275732)
  • Next Build on fix/safe-migration-version-detection (#18500421784)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc