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

safe-global / safe-queue-service / 38754155856
94%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 02:49PM UTC
Jobs 1
Files 83
Run time 1min
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

15 Oct 2026 02:44PM UTC coverage: 93.383% (+0.01%) from 93.369%
38754155856

push

github

web-flow
Read approvedHashes when a transaction is proposed (#301)

* Read approvedHashes when a transaction is proposed

An owner can call approveHash before the proposal reaches this service.
The NEW_CONFIRMATION event then finds no transaction and the approval
is lost. Now creating a transaction reads approvedHashes(owner, hash)
for every owner that did not sign the request, and stores an
APPROVED_HASH confirmation for each one that answers 1.

- One eth_call per owner at latest, run concurrently. No Multicall and
  no JSON-RPC batch: the shared AsyncWeb3 can not use batch_requests().
- Bounded per Safe by APPROVED_HASH_MAX_OWNERS (default 20, 0 disables).
- Runs on every proposal route, and for the nestedTransaction row with
  the owners of the nested Safe. The repository writes those
  confirmations inside the savepoint of the nested row.
- Reads happen after the proposal is validated, so a rejected one costs
  no call. A failed read never blocks the proposal.
- No NEW_CONFIRMATION is published for these confirmations: the
  transaction service already published one when it indexed the
  approveHash.

Refs PLA-1966

* Reject a retried proposal before reading approvedHashes

A proposal for a transaction that is already stored made up to
APPROVED_HASH_MAX_OWNERS RPC calls and then failed with 409 on insert.
Check the hash first, as the nested transaction already does. The
conflict on insert still covers a race between the check and the write.

3359 of 3597 relevant lines covered (93.38%)

0.93 hits per line

Coverage Regressions

Lines Coverage ∆ File
15
93.98
0.23% app/services/multisig_transaction_service.py
7
95.71
-0.59% app/datasources/db/repositories/multisig_transaction_repository.py
Jobs
ID Job ID Ran Files Coverage
1 38754155856.1 15 Oct 2026 02:49PM UTC 83
93.38
GitHub Action Run
Source Files on build 38754155856
  • Tree
  • List 83
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 72516ebc on github
  • Prev Build on main (#38722165515)
  • Next Build on main (#38755005716)
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