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

tari-project / tari / 35084441999
74%

Build:
DEFAULT BRANCH: development
Ran 16 Sep 2026 11:15AM UTC
Jobs 1
Files 779
Run time 2min
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

16 Sep 2026 10:20AM UTC coverage: 62.892% (-0.01%) from 62.902%
35084441999

push

github

web-flow
feat(ledger): deterministic Speculos fixture (#8011)

Adds a reproducible simulated Ledger device and the key derivation
vectors it is asserted to agree with, on top of the Spec 1 transport
seam.

`scripts/ledger_speculos.sh` is the single definition of how Speculos is
started - build, up with a readiness poll, run, save artefacts, down -
so the local and CI invocations cannot drift apart.
`./scripts/ledger_speculos.sh test` covers nanosplus and stax against
both seeds.

`comms_testing` gains:

* `seeds` - Speculos' published default mnemonic and the BIP-39
zero-entropy
one. Two seeds, because a single fixed seed cannot tell "the device
derives correctly" apart from "the device returns a constant".
* `oracle` - the device's derivation reimplemented host side from
BIP-39, BIP-32
and tari_crypto's domain separated hashing, with no BIP-32 or
BIP-39 crate dependency so that it can be checked by eye. Verified
against BIP-32's own published Test Vector 1 and against Speculos'
                transcribed default seed bytes.
* `vectors` - one shared table, asserted against every model. nanosplus
and stax
return byte identical values for all 11 rows under both seeds, so
"the crypto is target independent" is now an assertion rather than
                an assumption.
* `simulator` - locating a running simulator. Device tests are gated by
`#[ignore]`
and nothing else: a plain `cargo test` reports them as ignored,
while `--ignored` leaves no skip path at all, so a missing simulator
                fails instead of passing silently.

JUnit XML comes from cargo-nextest's `ci` profile; the Speculos log is
saved for every run, pass or fail.

Step 0 spike: `bip32_derive`'s 64 byte buffer is `private key || 32 zero
bytes`, not "private key || chain code". The chain code is a separate
out-parameter that `get_raw_bip32_key` passes as `None`, and the syscall
writes only 32 bytes for a Weierstrass curve; the SDK's `key.len() >=
64` requirement is a maximum across curves, d... (continued)

86501 of 137540 relevant lines covered (62.89%)

193153.02 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
91.47
-2.84% base_layer/core/src/base_node/chain_metadata_service/service.rs
5
56.4
-0.63% base_layer/core/src/base_node/comms_interface/inbound_handlers.rs
3
72.81
0.0% comms/core/src/connectivity/manager.rs
2
88.12
0.18% comms/core/src/connection_manager/peer_connection.rs
2
83.81
-0.32% comms/core/src/protocol/rpc/client/mod.rs
1
93.81
-0.19% base_layer/core/src/proof_of_work/monero_rx/merkle_tree.rs
1
84.0
-0.2% comms/core/src/connection_manager/dialer.rs
1
82.94
-0.2% comms/core/src/noise/socket.rs
Jobs
ID Job ID Ran Files Coverage
1 35084441999.1 16 Sep 2026 11:15AM UTC 779
62.89
GitHub Action Run
Source Files on build 35084441999
  • Tree
  • List 779
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35084441999
  • 555c23a9 on github
  • Prev Build on development (#34980626444)
  • Next Build on development (#35102703514)
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