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

tari-project / tari / 39739883018
77%

Build:
DEFAULT BRANCH: development
Ran 22 Oct 2026 09:01AM UTC
Jobs 1
Files 799
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

22 Oct 2026 07:21AM UTC coverage: 76.496% (+0.1%) from 76.391%
39739883018

push

github

web-flow
fix(common-types): refuse identity and non-point address keys, harden seed and wallet storage (#8154)

## Summary

Remediation for the `tari_common_types` review, plus the wallet and
console-wallet changes it required. No consensus rules change.

- **Addresses.** `verify_send` and the key-manager Diffie-Hellman and
stealth derivations refuse identity and non-point keys. Strict
`TariAddress::from_bytes` decompresses both keys through the new
`CompressedKey::from_canonical_bytes_validated`; the identity point
stays decodable. Burns no longer pass the placeholder address to the
builder. UTXO selection skips and marks invalid any stored output whose
keys no longer resolve.
- **Cipher seed.** wasm32 birthday is computed from the 2022 genesis
like native; a future birthday scans from height 0; version 3 (Argon2id)
is written only when a user passphrase is supplied, version 2 otherwise,
both decode; decode and encipher use zeroized buffers; serde writes the
enciphered form and still reads the legacy struct.
- **Storage.** `decrypt_bytes_integral_nonce` returns `Hidden`. Imported
keys are bound to their public key with a lazy rewrite of legacy rows
and a secret·G check. The wallet type is stored encrypted under the main
key, migrated once under secondary-key version 3 (the version byte is
bound into the main-key AEAD), with a scrub marker that reads the WAL
checkpoint result.
- **Coinbase and scanning.** One `validate_coinbase_request` (dual
one-sided address, valid non-identity keys, payment id and extra within
limits) runs in both base-node template handlers (unobscured, naming the
entry index) and in the builder. Scanning and recovery skip invalid
counterparty keys instead of aborting the block. Ledger burns refuse a
host-held sender offset.
- **Undecodable rows.** Lists skip rows that fail to decode; keyed
lookups fail closed; gRPC reports them as `DATA_LOSS` with resume data;
an undecodable pending outbound transaction can be cancelled.
- **FFI and docs.... (continued)

1265 of 1357 new or added lines in 27 files covered. (93.22%)

691 existing lines in 30 files now uncovered.

136313 of 178197 relevant lines covered (76.5%)

337845.07 hits per line

Uncovered Changes

Lines Coverage ∆ File
24
9.35
1.52% base_layer/wallet/src/utxo_scanner_service/utxo_scanner_task.rs
16
77.43
2.41% base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
12
48.89
0.77% base_layer/wallet/src/output_manager_service/service.rs
9
95.04
-0.28% base_layer/common_types/src/seeds/cipher_seed.rs
8
83.79
5.08% base_layer/wallet/src/storage/sqlite_db/wallet.rs
4
94.45
-0.05% base_layer/transaction_components/src/coinbase_builder.rs
4
90.24
90.24% base_layer/transaction_key_manager/src/storage/sqlite_db/imported_keys.rs
4
40.37
1.43% base_layer/wallet/src/transaction_service/service.rs
3
36.36
-0.67% base_layer/transaction_key_manager/src/storage/sqlite_db/key_manager_state.rs
3
38.37
-0.91% base_layer/wallet/src/storage/sqlite_db/models.rs
2
94.37
0.54% base_layer/common_types/src/tari_address/mod.rs
1
45.0
16.43% base_layer/transaction_components/src/key_manager/error.rs
1
84.18
0.42% base_layer/transaction_components/src/key_manager/manager.rs
1
76.97
0.26% base_layer/wallet/src/output_manager_service/recovery/standard_outputs_recoverer.rs

Coverage Regressions

Lines Coverage ∆ File
231
53.67
-5.49% base_layer/core/src/chain_storage/lmdb_db/lmdb_db.rs
189
60.52
-2.69% base_layer/core/src/chain_storage/blockchain_database.rs
57
74.21
-6.93% base_layer/core/src/test_helpers/blockchain.rs
44
87.99
-4.13% base_layer/core/src/chain_storage/lmdb_db/validator_node_store.rs
40
72.38
-7.86% base_layer/core/src/validation/helpers.rs
20
91.5
-2.66% base_layer/core/src/mempool/service/inbound_handlers.rs
17
75.68
-15.32% base_layer/transaction_components/src/transaction_components/side_chain/validator_node_registration.rs
13
76.3
-0.9% comms/core/src/connectivity/manager.rs
11
50.0
-50.0% base_layer/core/src/chain_storage/smt_hasher.rs
10
48.19
-10.84% base_layer/core/src/chain_storage/block_add_result.rs
10
87.87
-1.96% base_layer/core/src/validation/aggregate_body/aggregate_body_chain_validator.rs
9
97.0
-0.54% base_layer/transaction_components/src/consensus/consensus_constants.rs
6
97.06
-1.18% base_layer/core/src/validation/header/header_full_validator.rs
3
50.0
-12.5% base_layer/common_types/src/epoch.rs
3
75.27
-3.23% base_layer/core/src/validation/mocks.rs
3
71.17
-2.7% base_layer/transaction_components/src/transaction_components/side_chain/sidechain_feature.rs
3
88.75
-3.75% base_layer/transaction_components/src/transaction_components/side_chain/validator_node_exit.rs
3
73.22
0.22% base_layer/wallet/src/output_manager_service/storage/sqlite_db/mod.rs
3
67.57
-8.11% comms/core/src/peer_manager/error.rs
3
90.87
-0.33% comms/dht/src/actor.rs
2
95.67
-0.43% base_layer/core/src/proof_of_work/randomx_factory.rs
2
83.79
5.08% base_layer/wallet/src/storage/sqlite_db/wallet.rs
2
77.43
2.41% base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
1
95.04
-0.28% base_layer/common_types/src/seeds/cipher_seed.rs
1
81.5
-0.16% base_layer/core/src/chain_storage/lmdb_db/lmdb.rs
1
87.85
-0.1% base_layer/core/src/proof_of_work/cuckaroo_pow.rs
1
90.92
-0.16% base_layer/p2p/src/services/liveness/service.rs
1
9.35
1.52% base_layer/wallet/src/utxo_scanner_service/utxo_scanner_task.rs
1
49.06
-0.94% comms/core/src/connectivity/selection.rs
1
87.65
0.0% comms/core/src/protocol/messaging/inbound.rs
Jobs
ID Job ID Ran Files Coverage
1 39739883018.1 22 Oct 2026 09:01AM UTC 799
76.5
GitHub Action Run
Source Files on build 39739883018
  • Tree
  • List 799
  • Changed 81
  • Source Changed 34
  • Coverage Changed 74
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39739883018
  • 07361473 on github
  • Prev Build on development (#39607498937)
  • Next Build on development (#39755934390)
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