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

decentraland / marketplace-server / 32489625599
63%
main: 62%

Build:
Build:
LAST BUILD BRANCH: feat/off-chain-marketplace-v3
DEFAULT BRANCH: main
Ran 21 Aug 2026 02:00PM UTC
Jobs 1
Files 162
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

21 Aug 2026 01:57PM UTC coverage: 62.573% (+0.1%) from 62.44%
32489625599

Pull #395

github

LautaroPetaccio
fix: only count the signer's own cancellation, and scope the signer index

Three status bugs, all reachable today.

cancelSignature takes no signer check, and the contract scopes the flag to
keccak256(caller, digest) while settlement reads keccak256(signer, digest), so
a stranger cancelling somebody's trade is a no-op on chain. The status queries
counted any cancelled row regardless of who cancelled, so anyone could grief a
listing into reading cancelled while it stayed settleable, using trade data the
API already publishes. Now only a cancellation by the trade's own signer counts.

The signer signature index joined on address with no network predicate. A
signer with rows on both networks matched twice, duplicating the trade into two
GROUP BY groups with contradictory statuses, which breaks the unique index that
REFRESH CONCURRENTLY needs, and let an Ethereum bump cancel Polygon trades.
Scoped by network, translating MATIC to the indexer's POLYGON.

Executed fills were counted with COUNT(CASE ...) while the asset join
multiplies every trade into one row per asset, so each fill counted twice and a
multi-use listing read sold early. Since getOpenItemOrderQuery is the
duplicate-listing guard, a false sold admitted a second listing for an item
that already had one. Counts distinct indexer rows now, matching the view.
Pull Request #395: feat: support off-chain marketplace v3 trades

1721 of 3155 branches covered (54.55%)

Branch coverage included in aggregate %.

29 of 30 new or added lines in 3 files covered. (96.67%)

22 existing lines in 2 files now uncovered.

3094 of 4540 relevant lines covered (68.15%)

27.03 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
69.79
9.52% src/logic/trades/utils.ts

Coverage Regressions

Lines Coverage ∆ File
18
61.11
2.14% src/logic/trades/materialized-view.ts
4
72.22
1.91% src/ports/trades/queries.ts
Jobs
ID Job ID Ran Files Coverage
1 32489625599.1 21 Aug 2026 02:00PM UTC 324
64.54
GitHub Action Run
Source Files on build 32489625599
  • Tree
  • List 162
  • Changed 127
  • Source Changed 4
  • Coverage Changed 127
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32489625599
  • Pull Request #395
  • PR Base - main (#32347116777)
  • 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