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

tari-project / tari / 34956153465
75%

Build:
DEFAULT BRANCH: development
Ran 15 Sep 2026 10:56AM 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

15 Sep 2026 10:06AM UTC coverage: 62.219% (-0.5%) from 62.742%
34956153465

push

github

web-flow
feat(ledger): make the device transport injectable for simulator tests (#8005)

Introduce a `LedgerTransport` seam in `minotari_ledger_wallet_comms` so
that the ledger client can be pointed at a Speculos simulator instead of
at a HID device, and add `minotari_ledger_wallet_comms_testing`, which
implements that seam over the Speculos APDU TCP socket.

What changed
------------

* `ledger_wallet::LedgerTransport` - the trait both `TransportNativeHID`
and the Speculos transport implement. Documented as possibly blocking
indefinitely: several instructions put a review screen up and do not
answer until a human presses a button, so a timeout at any layer would
desynchronise the host from the device rather than cancel anything.
* `ledger_wallet::register_transport` / `clear_registered_transport`,
behind the new, off-by-default `test_transport` feature. With the
feature off the registry does not exist and `Command::execute` is
byte-identical to before.
* `minotari_ledger_wallet_comms_testing::SpeculosTransport` - one
long-lived TCP connection (Speculos serves one at a time), reconnecting
only on failure. A failed exchange is only re-sent when the request
provably never reached the device; a device that answered, or that was
alive when the request went out, is never replayed, because instructions
such as `GetRawSchnorrSignature` consume a device nonce. The
peer-supplied reply length is bounded by `MAX_APDU_REPLY` so a garbage
stream is a legible error, not an OOM abort.
* `LedgerDeviceError::NativeTransport` / `NativeTransportExchange`
renamed to `TransportConnect` / `TransportExchange`, since they are no
longer HID only.

Behaviour change
----------------

`verify_ledger_application` no longer lets a concurrent caller through
unverified. It used to guard its cache with `try_lock`: a second caller
arriving while the first was still talking to the device failed the
`try_lock`, fell through to the trailing `Ok(())`, and went on to use a
device nothing had checke... (continued)

70 of 83 new or added lines in 2 files covered. (84.34%)

970 existing lines in 24 files now uncovered.

85576 of 137540 relevant lines covered (62.22%)

458483.69 hits per line

Uncovered Changes

Lines Coverage ∆ File
13
73.33
73.33% applications/minotari_ledger_wallet/comms/src/ledger_wallet.rs

Coverage Regressions

Lines Coverage ∆ File
266
34.14
-46.1% base_layer/core/src/base_node/rpc/query_service.rs
219
50.25
-4.89% base_layer/core/src/chain_storage/lmdb_db/lmdb_db.rs
194
52.56
-5.21% base_layer/core/src/chain_storage/blockchain_database.rs
106
70.25
-23.71% base_layer/core/src/base_node/sync/header_sync/validator.rs
39
71.12
-4.17% base_layer/core/src/base_node/sync/horizon_state_sync/synchronizer.rs
23
13.64
-33.33% base_layer/core/src/chain_storage/block_add_result.rs
20
68.87
-18.87% base_layer/transaction_components/src/transaction_components/side_chain/validator_node_registration.rs
16
9.59
-21.92% base_layer/transaction_components/src/transaction_components/side_chain/sidechain_feature.rs
13
71.48
-1.69% base_layer/core/src/test_helpers/blockchain.rs
12
85.65
-1.38% base_layer/core/src/chain_storage/lmdb_db/validator_node_store.rs
11
50.0
-50.0% base_layer/core/src/chain_storage/smt_hasher.rs
9
94.92
-0.82% base_layer/transaction_components/src/consensus/consensus_constants.rs
7
75.73
-6.8% base_layer/core/src/blocks/accumulated_data.rs
6
80.3
-9.09% base_layer/common_types/src/types/fixed_hash.rs
6
60.47
-13.95% base_layer/node_components/src/blocks/historical_block.rs
5
80.7
-0.8% base_layer/core/src/chain_storage/lmdb_db/lmdb.rs
4
88.64
-4.55% base_layer/core/src/test_helpers/block_spec.rs
4
87.2
-0.73% comms/core/src/connection_manager/peer_connection.rs
3
37.5
-12.5% base_layer/common_types/src/epoch.rs
3
58.44
-3.9% base_layer/core/src/validation/mocks.rs
1
89.85
-0.1% base_layer/core/src/proof_of_work/monero_rx/helpers.rs
1
60.84
-0.25% base_layer/core/src/validation/helpers.rs
1
38.6
-0.04% base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
1
72.9
0.76% comms/core/src/connectivity/manager.rs
Jobs
ID Job ID Ran Files Coverage
1 34956153465.1 15 Sep 2026 10:56AM UTC 779
62.22
GitHub Action Run
Source Files on build 34956153465
  • Tree
  • List 779
  • Changed 35
  • Source Changed 3
  • Coverage Changed 34
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34956153465
  • 5869d434 on github
  • Prev Build on development (#34934803697)
  • Next Build on development (#34980626444)
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