Skip to content

chore(deps): bump rust-dashcore to ca507a9 (v0.42-dev) - #3575

Merged
QuantumExplorer merged 1 commit into
v3.1-devfrom
claude/zen-jones-de58ac
May 2, 2026
Merged

chore(deps): bump rust-dashcore to ca507a9 (v0.42-dev)#3575
QuantumExplorer merged 1 commit into
v3.1-devfrom
claude/zen-jones-de58ac

Conversation

@QuantumExplorer

@QuantumExplorer QuantumExplorer commented May 2, 2026

Copy link
Copy Markdown
Member

Issue being fixed or feature implemented

Pulls in the latest commits on the upstream v0.42-dev branch of rust-dashcore:

  • #706feat(key-wallet-manager): carry per-account balance diff on WalletEvent
  • #707fix(key-wallet): track self-send change in confirmed balance via new Utxo::is_trusted flag

Bumps the workspace pin from 8fe9ea3 to ca507a9 for all 9 rust-dashcore crates.

What was done?

  • Cargo.toml: bumped the shared rev for dashcore, dash-network-seeds, dash-spv, dash-spv-ffi, key-wallet, key-wallet-ffi, key-wallet-manager, dash-network, dashcore-rpc.
  • Cargo.lock: regenerated.
  • packages/rs-platform-wallet/src/changeset/core_bridge.rs: added the new is_trusted field to the two Utxo struct literals (this is the only place in the platform repo that builds Utxo by-field).
    • derive_new_utxos — sets is_trusted = true on OutputRole::Change outputs when the wallet also owns at least one input on the same transaction (!record.input_details.is_empty()). That matches key-wallet's "this is the change of a tx we authored, so it's our funds returning" rule.
    • derive_spent_utxos — sets is_trusted = false. Per the existing comment, the synthetic UTXOs in the spent set are deleted by outpoint and the other flag fields are informational only.

How Has This Been Tested?

  • cargo check --workspace — clean
  • cargo check --workspace --tests — clean
  • cargo clippy -p platform-wallet --tests — no warnings
  • cargo test -p platform-wallet --lib — 115/115 passing
  • cargo fmt --all — no diffs

Breaking Changes

None for this repo's public API. The upstream Utxo struct gained a new field, which is an additive change to the persisted/serialized form (deserializes to false by default).

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

Summary by CodeRabbit

  • Improvements

    • Refined wallet UTXO handling: change outputs are now marked as trusted only when the wallet has authored at least one transaction input. Spent UTXOs are consistently marked as untrusted.
  • Chores

    • Updated internal dependencies including dashcore, dash-network, dashcore-rpc, and related Dash packages to latest versions.

Pulls in upstream key-wallet `Utxo::is_trusted` flag (#707) and the
per-account balance diff carried on `WalletEvent` (#706).

Adds `is_trusted` to the two `Utxo` struct literals in
`platform-wallet`'s core-bridge:

- `derive_new_utxos`: marks a Change output as trusted when the wallet
  also owns at least one input on the same transaction (mirrors
  key-wallet's "we authored this tx, the change is our funds returning"
  rule). `record.input_details` being non-empty is exactly that signal,
  since the wallet only records input details for inputs that spent our
  outpoints.
- `derive_spent_utxos`: `false`. Per the existing comment, the synthetic
  UTXOs in the spent set are deleted by outpoint and the other flag
  fields are informational only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v3.1.0 milestone May 2, 2026
@coderabbitai

coderabbitai Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ab1223e1-3d32-4be3-a26a-ca5fbe33e108

📥 Commits

Reviewing files that changed from the base of the PR and between 6bd92ed and ad6f21e.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • Cargo.toml
  • packages/rs-platform-wallet/src/changeset/core_bridge.rs

📝 Walkthrough

Walkthrough

The workspace dependency versions for nine dashpay/rust-dashcore crates are updated to a new git revision, and UTXO trust computation logic is enhanced to explicitly track whether change outputs should be marked as trusted based on wallet input ownership.

Changes

UTXO Trust Computation and Dependency Update

Layer / File(s) Summary
Dependency Update
Cargo.toml
Nine workspace dependencies (dashcore, dash-network-seeds, dash-spv, dash-spv-ffi, key-wallet, key-wallet-ffi, key-wallet-manager, dash-network, dashcore-rpc) are updated from git revision 8fe9ea... to ca507a....
Trust Computation Logic
packages/rs-platform-wallet/src/changeset/core_bridge.rs
derive_new_utxos now computes owns_any_input to determine if change outputs should be trusted, and applies is_trusted accordingly. derive_spent_utxos explicitly sets is_trusted to false for all spent UTXOs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

A rabbit hops through revisions bright,
Trust in change outputs, set just right,
When wallets own inputs, they're deemed secure,
While spent ones stay false—that much is pure,
Dependencies updated with a single bound! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: updating the rust-dashcore dependency to a new revision. It directly relates to the primary modification in Cargo.toml and is specific enough for reviewers to understand the change at a glance.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/zen-jones-de58ac

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@thepastaclaw

thepastaclaw commented May 2, 2026

Copy link
Copy Markdown
Collaborator

Review Gate

Commit: ad6f21e6

  • Debounce: 3m ago (need 30m)

  • CI checks: build failure: PR title

  • CodeRabbit review: comment found

  • Off-peak hours: off-peak (09:58 PM PT Friday)

  • Run review now (check to override)

@QuantumExplorer
QuantumExplorer merged commit 7739439 into v3.1-dev May 2, 2026
10 of 14 checks passed
@QuantumExplorer
QuantumExplorer deleted the claude/zen-jones-de58ac branch May 2, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants