|
Ran
|
Jobs
1
|
Files
30
|
Run time
6min
|
Badge
README BADGES
|
push
github
Merge bitcoindevkit/bdk#1963: Persist spks derived from `KeychainTxOutIndex` 62767f070 fix(rusqlite_impl): Fix derived spks create table statement (valued mammal) 603f133d9 docs(chain): Adds docs for persisting spks in `KeychainTxOutIndex` (志宇) 3126cd214 feat(chain)!: Clean up ergonomics of `IndexedTxGraph` (志宇) a05558171 feat(chain): `KeychainTxOutIndex`: Make spk cache optional (志宇) 19e3b5df1 feat(chain): Add `KeychainTxOutIndex::from_changeset` constructor (志宇) d761265af feat(chain): `KeychainTxOutIndex`: Debug build checks (志宇) 76875e7a4 fix(chain)!: API and logical issues in `KeychainTxOutIndex` (志宇) d299daea4 feat(chain)!: Persist spks derived from `KeychainTxOutIndex` (志宇) Pull request description: Replaces #1960 Fixes #1964 ### Description Users with large wallet and/or complex descriptors may experience slow startup of `KeychainTxOutIndex`. This PR addresses this problem by providing the option to persist derived spks so that they no longer need to be re-derived on startup. The `IndexedTxGraph` API has been changed for better ergonomics. Compared to #1960, this is a more longterm solution that does not depend on multi-threading logic. ### Changelog notice ```md Changed - `KeychainTxOutIndex::new` to take in an additional parameter `persist_spks` to control whether derived spks are cached and persisted across restarts. The default of `persist_spks` is false. - `KeychainTxOutIndex` methods (`lookahead_to_target, `next_unused_spk`, `reveal_next_spk`) now return changesets as they may derive spks to be persisted. - The `InsertDescriptorError` type now wraps descriptors in `Box` to reduce enum size. Added - `spk_cache` field to `indexer::keychain_txout::Chang... (continued)
154 of 243 new or added lines in 4 files covered. (63.37%)
3 existing lines in 2 files now uncovered.5579 of 6771 relevant lines covered (82.4%)
31732.94 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 19 |
72.01 |
3.24% | crates/chain/src/indexer/keychain_txout.rs |
| 26 |
75.78 |
-7.49% | crates/chain/src/indexed_tx_graph.rs |
| 44 |
67.98 |
-4.95% | crates/chain/src/rusqlite_impl.rs |
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
67.98 |
-4.95% | crates/chain/src/rusqlite_impl.rs |
| 2 |
72.01 |
3.24% | crates/chain/src/indexer/keychain_txout.rs |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 15277436161.1 | 30 |
82.4 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|