Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 35 additions & 35 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ members = [
]

[workspace.dependencies]
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "f42498e0d04257e28b4e457c16629904a872ab61" }
Comment on lines +53 to +60

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Blocking: Workspace pinned to unmerged rust-dashcore PR #833 branch head — repin before merging

All 8 rust-dashcore workspace dependencies are pinned to f42498e0d04257e28b4e457c16629904a872ab61, which is the head of unmerged rust-dashcore PR #833 (the Zeroize for ExtendedPrivKey change this platform PR depends on). Merging this branch as-is would make platform's build depend on an integration PR commit rather than a protected upstream line — the branch could be rebased or force-pushed, invalidating the pin. The PR description already flags this as a pre-merge gate. Once rust-dashcore#833 lands on dev, repin all 8 rev values to the resulting dev head (or a release tag) and refresh Cargo.lock before this PR is merged.

source: ['codex']

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still present at b175d50.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct and already tracked — this is a deliberate interim state, not an oversight. The PR description's "Blocking relationship" and "Notes for reviewers" sections (updated with this push) call out the same gate explicitly: all 8 rev pins point at rust-dashcore PR #833's branch head because that's what supplies Zeroize for ExtendedPrivKey, and this PR must not merge to v4.1-dev until #833 lands on rust-dashcore dev (or a tag) and the pins are refreshed accordingly. Leaving this thread open as the pre-merge gate it is — will repin and refresh Cargo.lock once #833 merges upstream.

🤖 Co-authored by Claudius the Magnificent AI Agent

@thepastaclaw thepastaclaw Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correction: this finding is still present at 5a2b2b50, not resolved. The current top-level review carries it forward as the single blocking issue: Cargo.toml still pins all 8 rust-dashcore workspace deps to unmerged PR #833 head f42498e0d04257e28b4e457c16629904a872ab61.

The earlier auto-reconciliation text on this comment was wrong; the top-level review at this SHA is the canonical result.


tokio-metrics = "0.5"

Expand Down
11 changes: 10 additions & 1 deletion packages/rs-dpp/src/state_transition/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3335,7 +3335,7 @@ mod tests {
use dashcore::secp256k1::{
ecdsa, rand::rngs::OsRng, Message, PublicKey, Secp256k1, SecretKey,
};
use key_wallet::bip32::DerivationPath;
use key_wallet::bip32::{DerivationPath, ExtendedPubKey};
use key_wallet::signer::{Signer as KwSigner, SignerMethod};

/// Fixed-key in-memory signer used only by this test. Mirrors how a
Expand Down Expand Up @@ -3370,6 +3370,15 @@ mod tests {
async fn public_key(&self, _path: &DerivationPath) -> Result<PublicKey, Self::Error> {
Ok(self.public)
}

async fn extended_public_key(
&self,
_path: &DerivationPath,
) -> Result<ExtendedPubKey, Self::Error> {
// Test stub holds a single raw key with no chain code; extended
// public key derivation is not meaningful here.
Err("FixedKeySigner: no chain code — extended_public_key not supported".to_string())
}
}

// Generate a single random key. Using the same key on both sides is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ async fn try_from_asset_lock_with_signer_and_private_key_signs_multiple_inputs()
async fn try_from_asset_lock_with_signers_produces_matching_signature() {
use async_trait::async_trait;
use dashcore::secp256k1::{ecdsa, Message};
use key_wallet::bip32::DerivationPath;
use key_wallet::bip32::{DerivationPath, ExtendedPubKey};
use key_wallet::signer::{Signer as KwSigner, SignerMethod};

/// Fixed-key in-memory `key_wallet::signer::Signer`. Mirrors how the
Expand Down Expand Up @@ -237,6 +237,15 @@ async fn try_from_asset_lock_with_signers_produces_matching_signature() {
async fn public_key(&self, _path: &DerivationPath) -> Result<RawPublicKey, Self::Error> {
Ok(self.public)
}

async fn extended_public_key(
&self,
_path: &DerivationPath,
) -> Result<ExtendedPubKey, Self::Error> {
// Test stub holds a single raw key with no chain code; extended
// public key derivation is not meaningful here.
Err("FixedKeySigner: no chain code — extended_public_key not supported".to_string())
}
}

let secp = Secp256k1::new();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ use platform_version::version::PlatformVersion;

use async_trait::async_trait;
use dashcore::secp256k1::{ecdsa, Message, PublicKey, Secp256k1, SecretKey};
use key_wallet::bip32::DerivationPath;
use key_wallet::bip32::{DerivationPath, ExtendedPubKey};
use key_wallet::signer::{Signer as KwSigner, SignerMethod};

/// Fixed-key in-memory `key_wallet::signer::Signer`. Mirrors how a
Expand Down Expand Up @@ -77,6 +77,15 @@ impl KwSigner for FixedKeySigner {
async fn public_key(&self, _path: &DerivationPath) -> Result<PublicKey, Self::Error> {
Ok(self.public)
}

async fn extended_public_key(
&self,
_path: &DerivationPath,
) -> Result<ExtendedPubKey, Self::Error> {
// Test stub holds a single raw key with no chain code; extended
// public key derivation is not meaningful here.
Err("FixedKeySigner: no chain code — extended_public_key not supported".to_string())
}
}

fn make_chain_asset_lock_proof() -> AssetLockProof {
Expand Down
Loading
Loading