Ran
|
Jobs
1
|
Files
39
|
Run time
3s
|
Badge
Embed ▾
README BADGES
|
push
github
Merge bitcoindevkit/bdk#1269: Revamp `KeychainTxOutIndex` API to be safer 71fff1613 feat(chain): add txout methods to `KeychainTxOutIndex` (志宇) 83e7b7ec4 docs(chain): improve `KeychainTxOutIndex` docs (志宇) 9294e3094 docs(wallet): improve docs for unbounded spk iterator methods (志宇) b74c2e262 fix(wallet): use efficient peek address logic (志宇) 81aeaba48 feat(chain): add `SpkIterator::descriptor` method (志宇) c7b47af72 refactor(chain)!: revamp `KeychainTxOutIndex` API (志宇) 705690ee8 feat(chain): make output of `SpkTxOutIndex::unused_spks` cloneable (志宇) Pull request description: Closes #1268 ### Description Previously `SpkTxOutIndex` methods can be called from `KeychainTxOutIndex` due to the `DeRef` implementation. However, the internal `SpkTxOut` will also contain lookahead spks resulting in an error-prone API. `SpkTxOutIndex` methods are now not directly callable from `KeychainTxOutIndex`. Methods of `KeychainTxOutIndex` are renamed for clarity. I.e. methods that return an unbounded spk iter are prefixed with `unbounded`. In addition to this, I also optimized the peek-address logic of `bdk::Wallet` using the optimized `<SpkIterator as Iterator>::nth` implementation. ### Notes to the reviewers This is mostly refactoring, but can also be considered a bug-fix (as the API before was very problematic). ### Changelog notice Changed * Wallet's peek-address logic is optimized by making use of `<SpkIterator as Iterator>::nth`. * `KeychainTxOutIndex` API is refactored to better differentiate between methods that return unbounded vs stored spks. * `KeychainTxOutIndex` no longer directly exposes `SpkTxOutIndex` methods via `DeRef`. This was problematic because `SpkTxOutIndex` also contains lookahead spks which we want... (continued)
8923 of 11079 relevant lines covered (80.54%)
5995.2 hits per line
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 7568724830.1 | 39 |
80.54 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
---|