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

bitcoindevkit / bdk_wallet / 16007771213
85%

Build:
DEFAULT BRANCH: master
Ran 01 Jul 2025 06:56PM UTC
Jobs 1
Files 22
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

01 Jul 2025 06:54PM UTC coverage: 84.601% (-0.06%) from 84.663%
16007771213

push

github

oleonardolima
Merge bitcoindevkit/bdk_wallet#262: Preserve insertion order of manually selected utxos if `TxOrdering::Untouched`

0522114aa test(tx_builder): update precedence check of local UTXOs over add_foreign_utxos (valued mammal)
73bef2848 doc(tx_builder): add info about manually selected UTxOs priority (nymius)
331623656 fix(tx_builder): preserve insertion order with TxOrdering::Untouched (nymius)

Pull request description:

  ### Description

  On my attempt to fix bitcoindevkit/bdk#1794 in bitcoindevkit/bdk#1798, I broke the assumption that insertion order is preserved when `TxBuilder::ordering` is `TxOrdering::Untouched`. Some users are relying in this assumption, so here I'm trying to restore it back, without adding a new dependency for this single use case like #252, or creating a new struct just to track this.

  In this fourth alternative solution I'm going back to use `Vec` to store the manually selected UTxOs.

  I was reluctant to do it in this way because `HashMap` seems a better solution giving its property of avoiding duplicates, but as we also want to keep the secuential nature of the insertion of UTxOs in `TxBuilder`, here is an alternative aligned with that principle.

  May replace #252
  May replace #261 .
  Fixes #244

  ### Notes to the reviewers

  Also, as I was working on this, I came back to the following tests:
  - `test_prexisting_foreign_utxo_have_no_precedence_over_local_utxo_with_same_outpoint`
  - `test_prexisting_local_utxo_have_precedence_over_foreign_utxo_with_same_outpoint`

  Motivated during the implementation and review of bitcoindevkit/bdk#1798.

  Which required the underlying structure to also hold the properties of no duplication for manually selected UTxOs, as the structures were accessed directly for these cases.

  The test tries to cover the case when there are two wallets using the same descriptor, one tracks transactions... (continued)

109 of 120 new or added lines in 2 files covered. (90.83%)

6494 of 7676 relevant lines covered (84.6%)

3448.92 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
92.86
-0.49% wallet/src/wallet/tx_builder.rs
10
81.03
-0.01% wallet/src/wallet/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 16007771213.1 01 Jul 2025 06:56PM UTC 22
84.6
GitHub Action Run
Source Files on build 16007771213
  • Tree
  • List 22
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b9254025 on github
  • Prev Build on master (#16006598740)
  • Next Build on master (#16051833597)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc