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

protofire / safe-client-gateway / 36868013305
89%

Build:
DEFAULT BRANCH: development
Ran 01 Oct 2026 01:25PM UTC
Jobs 2
Files 1081
Run time 5min
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

01 Oct 2026 01:20PM UTC coverage: 89.333% (+0.03%) from 89.3%
36868013305

push

github

web-flow
feat(relay): Safe-pays fee in the native coin (Arc native USDC) (#45)

* feat(relay): quote Safe-pays fees in the native coin

An allowlist entry with the zero address now means the chain's native
coin (Arc: 18-decimal USDC), priced at the native USD price without a
prices API call.

handlePayment refunds native at min(gasPrice, tx.gasprice), so a margin
in gasPrice never arrives. For native the preview signs gasPrice as a
ceiling (market × (1 + margin)) and carries the margin in baseGas, so
(innerGas + baseGas) covers the outer budget × (1 + margin).
assertRefundCovers refuses a signed gasPrice below the current price and
checks the gas units at the capped price. The ERC-20 path is unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 2c6e2a90a)

* feat(relay): check native refund receiver and Safe balance before relaying

The pre-flight simulation runs at tx.gasprice 0 and never pays a native
refund. For a native gasToken the relayer now refuses a refund receiver
with code (send() forwards 2300 gas, GS011) and a Safe whose native
balance is below value + (innerGas + baseGas) × gasPrice, before any gas
budget is reserved.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 721827b9e)

* test(relay): native-coin Safe-pays never screens the zero address

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a8cc0e42f)

* fix(relay): native balance check reserves up to safeTxGas

The contract charges the measured inner gas, which may exceed the
estimate; reserve the signed ceiling (safeTxGas + baseGas) × gasPrice.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit c9865a6d8)

* fix(relay): simulate native Safe-pays at the signed gas price

The stat... (continued)

3308 of 4158 branches covered (79.56%)

Branch coverage included in aggregate %.

30 of 30 new or added lines in 2 files covered. (100.0%)

2 existing lines in 2 files now uncovered.

15091 of 16438 relevant lines covered (91.81%)

546.29 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
90.43
1.39% src/modules/relay/domain/gas-token-fee.service.ts
1
84.62
-0.85% src/modules/relay/domain/relayers/no-fee-campaign.relayer.ts
Jobs
ID Job ID Ran Files Coverage
1 run-unit-tests - 36868013305.1 01 Oct 2026 01:25PM UTC 1890
58.08
GitHub Action Run
2 run-integration-tests - 36868013305.2 01 Oct 2026 01:25PM UTC 2083
78.09
GitHub Action Run
Source Files on build 36868013305
  • Tree
  • List 1081
  • Changed 306
  • Source Changed 4
  • Coverage Changed 306
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36868013305
  • 6d1bea56 on github
  • Prev Build on development (#36864596081)
  • Next Build on development (#36873258084)
  • Delete
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