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

FIWARE / VCVerifier / 36435197067
73%
main: 73%

Build:
Build:
LAST BUILD BRANCH: ticket-64/work
DEFAULT BRANCH: main
Ran 28 Sep 2026 02:20PM UTC
Jobs 1
Files 73
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

28 Sep 2026 02:18PM UTC coverage: 72.353% (+0.8%) from 71.594%
36435197067

Pull #129

github

wistefan
Verify the JCS Data Integrity cryptosuites

Add ecdsa-jcs-2019 and eddsa-jcs-2022. They are the same signatures over
the same hash data as their -rdfc- counterparts; only the
canonicalization differs, so a cryptosuite identifier now selects a
canonicalization and an algorithm independently (dataIntegritySuites)
rather than being switched on by name in three places.

common/jcs.go implements RFC 8785: ECMAScript number serialization, the
five predefined string escapes with lowercase \uhhhh for the remaining
control characters, and property names sorted by UTF-16 code units.
Sorting the UTF-8 bytes instead would agree for everything below U+FFFF
and disagree above it, which is exactly what the RFC's sorting vector is
built from. NaN, the infinities and invalid Unicode terminate
canonicalization rather than being serialized as something.

Two differences from the RDFC path are worth stating:

A JCS proof configuration is the proof verbatim, including the @context
the proof itself carries - a conforming issuer copies the document's
context into the proof before signing (VC-DI-ECDSA 3.3.5). Nothing is
substituted for it, and rewriting it breaks the signature.

assertProofOptionsCovered does not apply. It exists because JSON-LD
expansion silently drops terms the context does not define, which would
leave challenge and domain outside the signature; JCS has no expansion
step and drops nothing, so every member is covered by construction.

Verified against the published W3C vectors for all three JCS
suite/curve combinations, and against the RFC 8785 test data for the
canonicalizer itself - including the appendix B number samples, where
Go's formatting and ECMAScript's disagree on the exponential thresholds
and on zero-padded exponents.
Pull Request #129: Ticket 64/work

469 of 549 new or added lines in 6 files covered. (85.43%)

51 existing lines in 3 files now uncovered.

8686 of 12005 relevant lines covered (72.35%)

0.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
48
86.17
-3.42% common/ldproof.go
20
87.42
common/jcs.go
12
83.33
did/multikey.go

Coverage Regressions

Lines Coverage ∆ File
36
86.17
-3.42% common/ldproof.go
14
73.33
1.26% did/did_web.go
1
98.68
0.42% verifier/ld_proof_checker.go
Jobs
ID Job ID Ran Files Coverage
1 36435197067.1 28 Sep 2026 02:20PM UTC 73
72.35
GitHub Action Run
Source Files on build 36435197067
  • Tree
  • List 73
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #129
  • PR Base - main (#36391311760)
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