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

hyperledger-labs / fabric-smart-client / 33638077282
85%

Build:
DEFAULT BRANCH: main
Ran 02 Sep 2026 01:51PM UTC
Jobs 19
Files 514
Run time 3min
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

02 Sep 2026 01:49PM UTC coverage: 84.43% (+0.3%) from 84.168%
33638077282

push

github

web-flow
fix(state): reject state:"hash" on fields that cannot be hashed (#1702)

Writing a state with state:"hash" on a field the tag handler could not
process failed in two ways, neither of them safely: a non-byte slice
panicked inside reflect.Value.Bytes, and any other unhandled kind fell
through the switch silently, so the value went to the ledger in the clear
while the caller believed it was hidden.

Both now return an error at write time. A field is hashable only if a
[]byte is assignable to it, which is the exact precondition for the two
reflect calls involved -- Bytes needs element kind uint8, Set needs
assignability, and only assignability implies both. Checking the element
kind instead would still admit []MyByte, which reads fine and then panics
in Set.

The read side is deliberately not a mirror. unmarshalTags runs on every
read path, so rejecting outright would make states already committed by a
release that skipped the kind silently unreadable, with no way to migrate
them. It therefore refuses only when a preimage is present, meaning the
field was hashed and cannot be verified; the write-side check stops new
occurrences. Slices are refused unconditionally, since those panicked
before anything was written and so cannot exist on a ledger.

Cover the error paths and boundary conditions of namespace.go, tags.go,
sbe.go and the trusted-read certifier, which the integration suites reach
only along their happy paths. Package coverage goes from 80.8% to 86.9%,
with namespace.go at 92.9%, sbe.go at 93.4% and tags.go at 94.2%.

Document the exported options in opts.go, and record as a TODO that
certified inputs and hash hiding do not currently compose: GetInputAt
serves a certified input without consulting the field mapping, so a
hash-hidden state read that way never recovers its preimage.

Closes #1701

Signed-off-by: Said Altury <Said.Altury@ibm.com>
Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
Co-authored-by: Marcus Brandenburger <bur@zurich.ibm.com>

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

14 existing lines in 6 files now uncovered.

31224 of 36982 relevant lines covered (84.43%)

3423.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
91.96
-0.3% platform/view/services/comm/p2p.go
3
50.0
-25.0% platform/view/services/storage/driver/sql/postgres/errormapper.go
2
90.72
-2.06% platform/view/services/comm/service.go
2
54.96
-1.53% platform/fabricx/core/channel/wrappers.go
2
86.21
-2.3% platform/fabric/core/generic/msp/idemix/cache.go
2
77.72
-0.56% platform/fabric/core/generic/msp/idemix/provider.go
Jobs
ID Job ID Ran Files Coverage
1 itest-fabric-iou - 33638077282.1 02 Sep 2026 01:58PM UTC 468
41.59
GitHub Action Run
2 itest-fabric-atsa - 33638077282.2 02 Sep 2026 01:58PM UTC 458
44.9
GitHub Action Run
3 itest-fabricx-multiendorsement - 33638077282.3 02 Sep 2026 01:52PM UTC 485
28.9
GitHub Action Run
4 utest - 33638077282.4 02 Sep 2026 01:56PM UTC 505
76.93
GitHub Action Run
5 itest-fsc-signedpingpong - 33638077282.5 02 Sep 2026 01:52PM UTC 256
30.57
GitHub Action Run
6 itest-fabric-iouhsm - 33638077282.6 02 Sep 2026 01:58PM UTC 468
40.75
GitHub Action Run
7 itest-fabricx-atsa - 33638077282.7 02 Sep 2026 01:51PM UTC 487
31.09
GitHub Action Run
8 itest-fabricx-iou - 33638077282.8 02 Sep 2026 01:52PM UTC 487
29.21
GitHub Action Run
9 itest-fabric-twonets - 33638077282.9 02 Sep 2026 01:55PM UTC 458
30.18
GitHub Action Run
10 itest-fabric-configupdate - 33638077282.10 02 Sep 2026 01:54PM UTC 468
39.05
GitHub Action Run
11 itest-fsc-stoprestart - 33638077282.11 02 Sep 2026 01:53PM UTC 258
32.49
GitHub Action Run
12 itest-fsc-pingpong - 33638077282.12 02 Sep 2026 01:57PM UTC 262
33.61
GitHub Action Run
13 itest-fabricx-deployment - 33638077282.13 02 Sep 2026 01:52PM UTC 485
28.85
GitHub Action Run
14 itest-fabric-runtimeconfig - 33638077282.14 02 Sep 2026 01:54PM UTC 468
39.25
GitHub Action Run
15 itest-fabric-events - 33638077282.15 02 Sep 2026 01:54PM UTC 463
28.54
GitHub Action Run
16 itest-fabric-stoprestart - 33638077282.16 02 Sep 2026 01:56PM UTC 458
32.2
GitHub Action Run
17 itest-fabric-atsachaincode - 33638077282.17 02 Sep 2026 01:54PM UTC 463
31.34
GitHub Action Run
18 utest-postgres - 33638077282.18 02 Sep 2026 01:53PM UTC 505
10.29
GitHub Action Run
19 itest-fabricx-simple - 33638077282.19 02 Sep 2026 01:52PM UTC 485
28.24
GitHub Action Run
Source Files on build 33638077282
  • Tree
  • List 514
  • Changed 36
  • Source Changed 3
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33638077282
  • c1742113 on github
  • Prev Build on main (#33633328273)
  • Next Build on main (#33733870469)
  • 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