-
Notifications
You must be signed in to change notification settings - Fork 44
chore(dpp): update dashcore revision #2787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v2.1-dev
Are you sure you want to change the base?
Conversation
WalkthroughUpdates git revision pins for dashcore-related dependencies in Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Caller
participant RS_SDK as rs-sdk
participant WASM_SDK as wasm-sdk
participant ErrorConv as Error conversion
Caller->>RS_SDK: Invoke SDK function (mocks enabled)
RS_SDK-->>RS_SDK: Encounter MockError
alt previous (typed variant)
RS_SDK-->>Caller: Error::DapiMocksError(MockError) -- typed
else new (string variant)
RS_SDK->>Caller: Error::DapiMocksError(String) (MockError.to_string())
end
Caller->>WASM_SDK: Call WASM function that returns SdkError
WASM_SDK-->>ErrorConv: From<SdkError> conversion
alt SdkError::DapiMocksError(msg)
ErrorConv-->>WASM_SDK: WasmSdkError{ kind: DapiMocksError, message: msg, retriable }
else other SdkError
ErrorConv-->>WASM_SDK: Existing WasmSdkError mapping
end
WASM_SDK-->>Caller: Return mapped WasmSdkError
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🧰 Additional context used📓 Path-based instructions (3)**/*.rs📄 CodeRabbit inference engine (CLAUDE.md)
Files:
packages/rs-*/**/*.rs📄 CodeRabbit inference engine (AGENTS.md)
Files:
packages/wasm-sdk/**📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (3)📚 Learning: 2024-10-29T14:44:01.184Z
Applied to files:
📚 Learning: 2024-10-29T14:40:54.727Z
Applied to files:
📚 Learning: 2024-10-22T10:51:16.910Z
Applied to files:
🧬 Code graph analysis (1)packages/rs-sdk/src/error.rs (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
🔇 Additional comments (3)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/wasm-sdk/src/error.rs (1)
114-120
: Duplicate error handling for DapiMocksError.The code contains two identical match arms for
DapiMocksError(e)
at lines 115-120 and 172-177. The second occurrence (lines 172-177) should be removed as it's unreachable and creates duplicate handling.Apply this diff to remove the duplicate match arm:
StateTransitionBroadcastError(e) => WasmSdkError::from(e), - DapiMocksError(e) => Self::new( - WasmSdkErrorKind::DapiMocksError, - e.to_string(), - None, - retriable, - ), }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Cargo.lock
is excluded by!**/*.lock
📒 Files selected for processing (2)
packages/rs-dpp/Cargo.toml
(1 hunks)packages/wasm-sdk/src/error.rs
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.rs
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.rs
: Format Rust code with cargo fmt
Run Clippy linter for Rust code
Files:
packages/wasm-sdk/src/error.rs
packages/wasm-sdk/**
📄 CodeRabbit inference engine (CLAUDE.md)
Keep WASM SDK docs in sync (run generate_docs.py) when updating the WASM SDK
Files:
packages/wasm-sdk/src/error.rs
🧠 Learnings (5)
📓 Common learnings
Learnt from: shumkov
PR: dashpay/platform#2489
File: packages/rs-dpp/Cargo.toml:32-32
Timestamp: 2025-03-11T09:39:23.071Z
Learning: In the Dash Platform project, dependencies are currently managed using Git repository references with tags (repo+tag format in Cargo.toml) rather than published crates, as the team is not currently publishing crates to crates.io.
📚 Learning: 2025-03-11T09:39:23.071Z
Learnt from: shumkov
PR: dashpay/platform#2489
File: packages/rs-dpp/Cargo.toml:32-32
Timestamp: 2025-03-11T09:39:23.071Z
Learning: In the Dash Platform project, dependencies are currently managed using Git repository references with tags (repo+tag format in Cargo.toml) rather than published crates, as the team is not currently publishing crates to crates.io.
Applied to files:
packages/rs-dpp/Cargo.toml
📚 Learning: 2025-09-03T16:37:11.605Z
Learnt from: QuantumExplorer
PR: dashpay/platform#2756
File: packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_list/update_state_masternode_list/v0/mod.rs:11-11
Timestamp: 2025-09-03T16:37:11.605Z
Learning: In packages/rs-dpp/Cargo.toml, the abci feature already includes core_rpc_client, and core_rpc_client is defined as ["dep:dashcore-rpc"]. This means rs-drive-abci can access dashcore-rpc types through dpp when using the abci feature.
Applied to files:
packages/rs-dpp/Cargo.toml
📚 Learning: 2025-01-19T07:36:46.042Z
Learnt from: QuantumExplorer
PR: dashpay/platform#2431
File: packages/rs-drive/Cargo.toml:55-60
Timestamp: 2025-01-19T07:36:46.042Z
Learning: The grovedb dependencies in packages/rs-drive/Cargo.toml and related files are intentionally kept at specific revisions rather than using the latest stable version, with plans to update them at a later time.
Applied to files:
packages/rs-dpp/Cargo.toml
📚 Learning: 2024-10-29T14:13:35.584Z
Learnt from: lklimek
PR: dashpay/platform#2277
File: packages/dapi-grpc/src/mock.rs:95-109
Timestamp: 2024-10-29T14:13:35.584Z
Learning: In test code (e.g., `packages/dapi-grpc/src/mock.rs`), panicking on deserialization errors is acceptable behavior.
Applied to files:
packages/wasm-sdk/src/error.rs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
- GitHub Check: Rust packages (wasm-dpp) / Tests
- GitHub Check: Rust packages (dpp) / Linting
- GitHub Check: Rust packages (dpp) / Tests
- GitHub Check: Rust packages (dpp) / Check each feature
- GitHub Check: Rust packages (dpp) / Unused dependencies
- GitHub Check: Rust packages (wasm-sdk) / Tests
- GitHub Check: Rust packages (wasm-sdk) / Unused dependencies
- GitHub Check: Rust packages (wasm-sdk) / Formatting
- GitHub Check: Rust packages (wasm-sdk) / Linting
- GitHub Check: Rust packages (rs-sdk-ffi) / Tests
- GitHub Check: Rust packages (dash-sdk) / Tests
- GitHub Check: Rust packages (drive-abci) / Tests
- GitHub Check: Rust packages (drive) / Tests
- GitHub Check: Build Docker images (Drive, drive, drive-abci) / Build Drive image
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- GitHub Check: Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
- GitHub Check: Build JS packages / Build JS
- GitHub Check: Rust crates security audit
🔇 Additional comments (1)
packages/rs-dpp/Cargo.toml (1)
26-26
: Verify dashcore revision includes desired SPV client code changes.
Revision 8b5ac917 exists and adds only CI workflow enhancements for SPV test logging and segfault isolation—no SPV client code updates. Ensure the intended SPV client improvements are actually included in this revision.
✅ gRPC Query Coverage Report
|
/// DAPI mocks error | ||
#[error("Dapi mocks error: {0}")] | ||
DapiMocksError(#[from] rs_dapi_client::mock::MockError), | ||
DapiMocksError(String), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are not supposed to do that.
Issue being fixed or feature implemented
There are updates in the newer revision of rust-dashcore that are important for SPV clients.
What was done?
Update revision of rust-dashcore in dpp Cargo.toml and remove the feature gating for DapiMocksError in wasm-sdk for compilation.
How Has This Been Tested?
By using DET with this branch.
Breaking Changes
Checklist:
For repository code-owners and collaborators only
Summary by CodeRabbit
Bug Fixes
Chores