Skip to content

Conversation

QuantumExplorer
Copy link
Member

@QuantumExplorer QuantumExplorer commented Apr 24, 2025

Issue being fixed or feature implemented

SignatureVerificationQuorumSetForSaving V1 is being used in version 8 and SignatureVerificationQuorumSetForSaving V2 is being used in version 9 (platform 2.0). this is causing some upgrade issues because SignatureVerificationQuorumSetForSaving V1 requires the old bls library.

What was done?

Added the old bls library as on by default for this version and upgraded to rc.3.
Improved some test strings.

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

  • Chores
    • Updated version numbers for multiple packages to the latest release candidate.
  • Bug Fixes
    • Improved clarity of error messages across various modules for better troubleshooting.
  • Tests
    • Added a new test to validate state deserialization compatibility between different versions.
  • Refactor
    • Enhanced error reporting in several deserialization and serialization processes.
  • Other
    • Removed an obsolete migration step from configuration handling.

@QuantumExplorer QuantumExplorer added this to the v2.0.0 milestone Apr 24, 2025
Copy link
Contributor

coderabbitai bot commented Apr 24, 2025

Warning

Rate limit exceeded

@QuantumExplorer has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 41 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 19abd61 and ee3d2b9.

📒 Files selected for processing (1)
  • packages/rs-drive-abci/src/platform_types/platform_state/mod.rs (2 hunks)

Walkthrough

This set of changes primarily updates the version numbers of numerous packages across the repository from 2.0.0-rc.2 to 2.0.0-rc.3 (and similar increments for related packages). Alongside these version bumps, several Rust and JavaScript/TypeScript files improve error message clarity in deserialization and serialization routines, providing more descriptive context for errors. Additionally, a migration step for a previous release candidate was removed from Dashmate's configuration migration logic, and new test coverage was added for deserializing platform state in a specific version. No public APIs or exported entity declarations were altered.

Changes

Files/Paths Change Summary
All Cargo.toml and package.json files across packages Updated version numbers from 2.0.0-rc.2 (or similar) to 2.0.0-rc.3 (or similar), no other metadata changes.
packages/dashmate/configs/getConfigFileMigrationsFactory.js Removed migration step for version '2.0.0-rc.2' from migration object.
packages/rs-drive-abci/Cargo.toml Version bump and default feature set changed to include "bls-signatures".
packages/rs-drive-abci/src/platform_types/platform_state/mod.rs Added debug print in deserialization; extended test coverage for deserializing version 8 state.
packages/rs-dpp/src/data_contract/conversion/serde/mod.rs
packages/rs-dpp/src/data_contract/v0/serialization/mod.rs
packages/rs-dpp/src/data_contract/v1/serialization/mod.rs
packages/rs-dpp/src/identity/core_script.rs
packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs
packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs
packages/rs-platform-value/src/types/binary_data.rs
packages/rs-platform-value/src/types/bytes_20.rs
packages/rs-platform-value/src/types/bytes_32.rs
packages/rs-platform-value/src/types/bytes_36.rs
packages/rs-platform-value/src/types/identifier.rs
packages/dapi-grpc/src/deserialization.rs
Enhanced error messages for (de)serialization failures, adding context to error strings without changing logic.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Deserializer
    participant ErrorHandler

    User->>Deserializer: Deserialize data
    Deserializer->>ErrorHandler: On error, format message with context
    ErrorHandler-->>Deserializer: Return enhanced error message
    Deserializer-->>User: Error with descriptive context
Loading

Possibly related PRs

Suggested labels

dashmate

Suggested reviewers

  • lklimek

Poem

A hop, a skip, a version bump,
Through fields of code, we thump thump thump!
With clearer errors, we now see,
Where bugs may hide or fail to be.
Old migrations, we let go,
And onward to RC.3 we go!
🐇✨

✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

pauldelucia
pauldelucia previously approved these changes Apr 24, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 396abd8 and 19abd61.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (60)
  • package.json (1 hunks)
  • packages/bench-suite/package.json (1 hunks)
  • packages/check-features/Cargo.toml (1 hunks)
  • packages/dapi-grpc/Cargo.toml (1 hunks)
  • packages/dapi-grpc/package.json (1 hunks)
  • packages/dapi-grpc/src/deserialization.rs (1 hunks)
  • packages/dapi/package.json (1 hunks)
  • packages/dashmate/configs/getConfigFileMigrationsFactory.js (0 hunks)
  • packages/dashmate/package.json (1 hunks)
  • packages/dashpay-contract/Cargo.toml (1 hunks)
  • packages/dashpay-contract/package.json (1 hunks)
  • packages/data-contracts/Cargo.toml (1 hunks)
  • packages/dpns-contract/Cargo.toml (1 hunks)
  • packages/dpns-contract/package.json (1 hunks)
  • packages/feature-flags-contract/Cargo.toml (1 hunks)
  • packages/feature-flags-contract/package.json (1 hunks)
  • packages/js-dapi-client/package.json (1 hunks)
  • packages/js-dash-sdk/package.json (1 hunks)
  • packages/js-grpc-common/package.json (1 hunks)
  • packages/keyword-search-contract/Cargo.toml (1 hunks)
  • packages/masternode-reward-shares-contract/Cargo.toml (1 hunks)
  • packages/masternode-reward-shares-contract/package.json (1 hunks)
  • packages/platform-test-suite/package.json (1 hunks)
  • packages/rs-dapi-client/Cargo.toml (1 hunks)
  • packages/rs-dapi-grpc-macros/Cargo.toml (1 hunks)
  • packages/rs-dpp/Cargo.toml (1 hunks)
  • packages/rs-dpp/src/data_contract/conversion/serde/mod.rs (2 hunks)
  • packages/rs-dpp/src/data_contract/v0/serialization/mod.rs (1 hunks)
  • packages/rs-dpp/src/data_contract/v1/serialization/mod.rs (1 hunks)
  • packages/rs-dpp/src/identity/core_script.rs (1 hunks)
  • packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs (2 hunks)
  • packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs (1 hunks)
  • packages/rs-drive-abci/Cargo.toml (2 hunks)
  • packages/rs-drive-abci/src/platform_types/platform_state/mod.rs (3 hunks)
  • packages/rs-drive-proof-verifier/Cargo.toml (1 hunks)
  • packages/rs-drive/Cargo.toml (1 hunks)
  • packages/rs-json-schema-compatibility-validator/Cargo.toml (1 hunks)
  • packages/rs-platform-serialization-derive/Cargo.toml (1 hunks)
  • packages/rs-platform-serialization/Cargo.toml (1 hunks)
  • packages/rs-platform-value-convertible/Cargo.toml (1 hunks)
  • packages/rs-platform-value/Cargo.toml (1 hunks)
  • packages/rs-platform-value/src/types/binary_data.rs (1 hunks)
  • packages/rs-platform-value/src/types/bytes_20.rs (1 hunks)
  • packages/rs-platform-value/src/types/bytes_32.rs (1 hunks)
  • packages/rs-platform-value/src/types/bytes_36.rs (1 hunks)
  • packages/rs-platform-value/src/types/identifier.rs (1 hunks)
  • packages/rs-platform-version/Cargo.toml (1 hunks)
  • packages/rs-platform-versioning/Cargo.toml (1 hunks)
  • packages/rs-sdk/Cargo.toml (1 hunks)
  • packages/simple-signer/Cargo.toml (1 hunks)
  • packages/strategy-tests/Cargo.toml (1 hunks)
  • packages/token-history-contract/Cargo.toml (1 hunks)
  • packages/token-history-contract/package.json (1 hunks)
  • packages/wallet-lib/package.json (1 hunks)
  • packages/wallet-utils-contract/Cargo.toml (1 hunks)
  • packages/wallet-utils-contract/package.json (1 hunks)
  • packages/wasm-dpp/Cargo.toml (1 hunks)
  • packages/wasm-dpp/package.json (1 hunks)
  • packages/withdrawals-contract/Cargo.toml (1 hunks)
  • packages/withdrawals-contract/package.json (1 hunks)
💤 Files with no reviewable changes (1)
  • packages/dashmate/configs/getConfigFileMigrationsFactory.js
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: QuantumExplorer
PR: dashpay/platform#2257
File: packages/rs-drive-abci/src/mimic/test_quorum.rs:159-164
Timestamp: 2024-11-20T16:16:01.830Z
Learning: QuantumExplorer prefers not to receive auto-generated messages asking to post on social media.
packages/rs-drive-abci/src/platform_types/platform_state/mod.rs (1)
Learnt from: QuantumExplorer
PR: dashpay/platform#2227
File: packages/rs-drive-abci/src/platform_types/platform_state/mod.rs:141-141
Timestamp: 2024-10-08T13:28:03.529Z
Learning: When converting `PlatformStateV0` to `PlatformStateForSavingV1` in `packages/rs-drive-abci/src/platform_types/platform_state/mod.rs`, only version `0` needs to be handled in the match on `platform_state_for_saving_structure_default` because the changes are retroactive.
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: Build Docker images (Drive, drive, drive-abci) / Build Drive image
  • GitHub Check: Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
  • GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
  • GitHub Check: Build JS packages / Build JS
🔇 Additional comments (62)
packages/rs-json-schema-compatibility-validator/Cargo.toml (1)

3-3: Coordinated version bump to 2.0.0-rc.3.
This aligns with the release candidate upgrades across all related crates.

packages/rs-drive-proof-verifier/Cargo.toml (1)

3-3: Approve version bump to 2.0.0-rc.3
The crate version has been updated correctly to 2.0.0-rc.3, matching the rest of the repository’s release candidate upgrade.

packages/simple-signer/Cargo.toml (1)

3-3: Approve version bump to 2.0.0-rc.3

The package version aligns with the other crates upgraded to RC-3. No additional changes appear necessary in this manifest.

packages/keyword-search-contract/Cargo.toml (1)

4-4: Confirm package version bump to rc.3
The version has been updated from 2.0.0-rc.2 to 2.0.0-rc.3. This aligns with the overall release candidate upgrade—please ensure the corresponding crate is published and that any downstream consumers have been updated accordingly.

packages/rs-platform-value/src/types/bytes_32.rs (1)

109-110: Enhanced error message improves debugging experience.

This change improves the error message by adding context that it's specifically a base64 decoding error for a bytes32 type. This follows the pattern applied to similar types in the codebase and will help developers identify issues more quickly during deserialization.

packages/check-features/Cargo.toml (1)

3-3: Bump version to 2.0.0-rc.3
This update aligns with the coordinated release candidate version bump across all platform packages.

packages/rs-platform-value/src/types/bytes_36.rs (1)

104-104: Improved error message clarity for base64 decoding failures.

The addition of a descriptive prefix "expected base 64 for bytes36: " to the error message makes debugging deserialization failures more straightforward by clearly indicating both the expected format (base64) and the specific type (bytes36) that encountered the issue.

packages/rs-dpp/Cargo.toml (1)

3-3: Approve bump of dpp crate to 2.0.0-rc.3
The package version has been correctly updated to align with the coordinated rc.3 release across the workspace.

packages/rs-drive/Cargo.toml (1)

4-4: Approved: Release candidate version bump
The package version has been correctly updated from 2.0.0-rc.2 to 2.0.0-rc.3, aligning this crate with the rest of the workspace.

packages/rs-dapi-client/Cargo.toml (1)

3-3:

✅ Verification successful

Version bump to rc.3 confirmed
The crate’s version has been updated from 2.0.0-rc.2 to 2.0.0-rc.3, aligning with the coordinated release across the platform ecosystem.
Please verify that there are no lingering references to the old rc.2 version in this manifest.

Run this script from the repo root to confirm:


🏁 Script executed:

#!/bin/bash
# Verify no remaining rc.2 references in this crate manifest
rg -n 'rc\.2' packages/rs-dapi-client/Cargo.toml

Length of output: 50


Version bump to rc.3 verified
No remaining references to 2.0.0-rc.2 were found in packages/rs-dapi-client/Cargo.toml. The manifest is up to date.

packages/rs-platform-value-convertible/Cargo.toml (1)

5-5: Bump crate version to 2.0.0-rc.3
Consistent with the PR objective to upgrade to release candidate 3.

packages/dpns-contract/Cargo.toml (1)

4-4: Approve version bump to rc.3
The package version has been correctly updated from 2.0.0-rc.2 to 2.0.0-rc.3, keeping it in sync with the other contracts.

packages/dashpay-contract/package.json (1)

3-3: Approve version bump to rc.3
The version field is now 2.0.0-rc.3, matching the coordinated release candidate update across the repository.

packages/js-dapi-client/package.json (1)

3-3: Approve version bump to rc.3
The @dashevo/dapi-client package version has been updated to 2.0.0-rc.3, ensuring consistency with related packages.

packages/wasm-dpp/Cargo.toml (1)

3-3: Approve version bump to rc.3
The wasm-dpp crate’s version is updated to 2.0.0-rc.3, in line with the rest of the platform components.

packages/dapi-grpc/Cargo.toml (1)

4-4: Approve version bump to rc.3
The dapi-grpc crate version is now 2.0.0-rc.3, consistent with the broader release candidate upgrade.

packages/rs-platform-value/Cargo.toml (1)

11-11: Synchronize bincode dependency version
The bincode dependency is correctly pinned to =2.0.0-rc.3 to match the crate version.

packages/rs-platform-version/Cargo.toml (1)

5-5: Bump crate version to RC-3
The platform-version package version has been updated to "2.0.0-rc.3" as part of the global release candidate update.

packages/js-dash-sdk/package.json (1)

3-3: Update SDK version to RC-3
Bumped the JS SDK version from 5.0.0-rc.2 to 5.0.0-rc.3 in package.json, matching the repository-wide versioning strategy.

packages/data-contracts/Cargo.toml (1)

4-4: Bump crate version to RC-3
Updated data-contracts package version to "2.0.0-rc.3" in line with the coordinated release candidate schedule.

packages/rs-platform-serialization/Cargo.toml (1)

5-5: Bump crate version to RC-3
The platform-serialization crate version is now "2.0.0-rc.3", consistent with other platform packages.

packages/dashpay-contract/Cargo.toml (1)

4-4: Approve version bump to 2.0.0-rc.3

The crate version has been correctly updated from 2.0.0-rc.2 to 2.0.0-rc.3. Please ensure any workspace-level manifests or changelogs reflect this new release.

packages/wasm-dpp/package.json (1)

3-3: Approve version bump to 2.0.0-rc.3

The package version is properly incremented to 2.0.0-rc.3, consistent with the coordinated release across other modules. Make sure the lockfile (e.g., yarn.lock) is updated accordingly before publishing.

packages/wallet-lib/package.json (1)

3-3: Approve version bump to 9.0.0-rc.3

The wallet-lib package version has been updated as expected. Confirm that any documentation or release notes are updated to reference 9.0.0-rc.3.

packages/token-history-contract/Cargo.toml (1)

4-4: Approve version bump to 2.0.0-rc.3

The token-history-contract crate version is correctly updated. Ensure consistency with workspace manifests and release documentation.

packages/rs-dapi-grpc-macros/Cargo.toml (1)

4-4: Approve version bump to 2.0.0-rc.3

The dapi-grpc-macros crate version is in sync with the rest of the ecosystem. Double-check that publishing scripts and changelogs cover this update.

packages/platform-test-suite/package.json (1)

4-4: Consistent version bump to rc.3
Version updated from 2.0.0-rc.2 to 2.0.0-rc.3, matching the coordinated release across all packages.

packages/wallet-utils-contract/Cargo.toml (1)

4-4: Cargo crate version updated correctly
The wallet-utils-contract crate version is bumped to 2.0.0-rc.3 as part of the release candidate upgrade.

packages/feature-flags-contract/Cargo.toml (1)

4-4: Feature-flags contract updated to rc.3
Updated the crate version to 2.0.0-rc.3 in line with the platform release.

packages/withdrawals-contract/Cargo.toml (1)

4-4: Withdrawals contract version bump to rc.3
Version field correctly incremented to 2.0.0-rc.3. Remember to regenerate Cargo.lock.

packages/rs-platform-serialization-derive/Cargo.toml (1)

5-5: Approve version bump to rc.3
The package version has been correctly updated from 2.0.0-rc.2 to 2.0.0-rc.3, matching the coordinated release across the platform.

packages/rs-platform-versioning/Cargo.toml (1)

5-5: Approve version bump to rc.3
The package version change to 2.0.0-rc.3 aligns with the rest of the ecosystem’s release candidate updates. No further changes are necessary.

packages/masternode-reward-shares-contract/Cargo.toml (1)

4-4: Approve version bump to rc.3
Updating masternode-reward-shares-contract to 2.0.0-rc.3 is consistent with the broader version bump across all contracts and libraries.

packages/dapi/package.json (1)

4-4: Approve version bump to rc.3
The "version": "2.0.0-rc.3" update is correctly applied. This keeps the @dashevo/dapi package in sync with the platform’s release candidate.

packages/token-history-contract/package.json (1)

3-3: Approve version bump to rc.3
The @dashevo/token-history-contract version has been updated to 2.0.0-rc.3 as expected. No additional modifications are needed.

packages/rs-drive-abci/Cargo.toml (3)

3-3: Version bump to 2.0.0-rc.3 is correct.

This update aligns with the coordinated release candidate increment across all related Rust crates.


112-112: Enable bls-signatures as a default feature.

Switching on the old BLS library by default satisfies the PR objective of maintaining backward compatibility during upgrades from platform v8 → v9. Confirm that dependent build scripts and downstream crates handle this feature toggle appropriately.


1-127:

✅ Verification successful

Verify no remaining rc.2 references across the repository.

To ensure consistency, run this script to find any stale occurrences of 2.0.0-rc.2:


🏁 Script executed:

#!/bin/bash
# Description: Search for stale rc.2 version references.
rg -n "2\.0\.0-rc\.2"

Length of output: 23


No stale 2.0.0-rc.2 references found
Ran rg -n '2\.0\.0-rc\.2' across the repository; no occurrences detected.

packages/dpns-contract/package.json (1)

3-3: Version bumped to 2.0.0-rc.3.

This change maintains consistency with other @dashevo/*-contract packages for the upcoming rc.3 release.

packages/feature-flags-contract/package.json (1)

3-3: Version bumped to 2.0.0-rc.3.

Consistent with the overall release bump across all contract packages.

packages/wallet-utils-contract/package.json (1)

3-3: Version bumped to 2.0.0-rc.3.

This aligns with coordinated version updates in the repository.

packages/masternode-reward-shares-contract/package.json (1)

3-3: Version bumped to 2.0.0-rc.3.

Matches the release candidate increment applied across other contracts and SDKs.

packages/bench-suite/package.json (1)

4-4: Approve version bump to 2.0.0-rc.3
The update from 2.0.0-rc.2 to 2.0.0-rc.3 aligns with the coordinated release candidate increment across related packages.

packages/dashmate/package.json (1)

3-3: Approve version bump to 2.0.0-rc.3
This change keeps dashmate in sync with the ecosystem’s RC-3 release.

packages/rs-sdk/Cargo.toml (1)

3-3: Approve version bump to 2.0.0-rc.3
Updating the crate version ensures consistency with the RC-3 release across Rust and JS packages.

packages/withdrawals-contract/package.json (1)

3-3: Approve version bump to 2.0.0-rc.3
The package version update is in line with the coordinated release candidate upgrades.

packages/js-grpc-common/package.json (1)

3-3: Approve version bump to 2.0.0-rc.3
This aligns the GRPC common library version with the broader RC-3 update.

packages/dapi-grpc/package.json (1)

3-3: Version bump to rc.3 ✓

The version update from 2.0.0-rc.2 to 2.0.0-rc.3 aligns with the PR objective to upgrade the platform to release candidate 3.

packages/rs-platform-value/src/types/bytes_20.rs (1)

113-113: Improved error message clarity ✓

Adding "expected base64 for bytes20: " prefix to the error message provides better context during deserialization failures, making debugging easier.

packages/rs-platform-value/src/types/identifier.rs (1)

106-106: Enhanced error message for base58 decoding ✓

Adding "expected base 58: " prefix to the error message provides clearer context during identifier deserialization failures, consistent with other error message improvements in this PR.

packages/dapi-grpc/src/deserialization.rs (1)

22-22: Improved error context in deserialization ✓

Adding "custom dapi-grpc error: " prefix to parsing errors enhances error traceability, making it easier to identify the source of deserialization failures.

packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs (1)

77-83: Improved error message clarity

The updated error message format provides better context when deserialization fails, making debugging and troubleshooting easier. This improvement follows a consistent pattern of error enhancement across the codebase.

packages/rs-dpp/src/data_contract/v1/serialization/mod.rs (1)

29-34: Improved error message in DataContractV1 deserialization

Enhancing the error message with a descriptive prefix clarifies when there are issues retrieving the current platform version. This provides better context for debugging and maintains consistency with other error handling improvements in the codebase.

packages/rs-dpp/src/data_contract/v0/serialization/mod.rs (1)

30-35: Improved error message in DataContractV0 deserialization

Similar to the V1 implementation, this change enhances error clarity when retrieving the current platform version fails. The format matches the pattern used elsewhere in the codebase, maintaining consistency in error reporting.

packages/rs-platform-value/src/types/binary_data.rs (1)

52-54: Improved base64 decoding error message

The enhanced error message now clearly indicates the context of the failure (base64 decoding for binary data), making it easier to diagnose deserialization issues. This is part of the broader pattern of improved error messaging across the platform.

packages/rs-dpp/src/identity/core_script.rs (1)

161-166: Improved error message clarity!

The enhanced error message provides better context for debugging when deserialization fails, making it easier to troubleshoot issues.

packages/rs-dpp/src/data_contract/conversion/serde/mod.rs (2)

18-18: Detailed error message for serialization failure.

Adding more context to serialization errors will help developers understand exactly where and why serialization failed.


29-34: Better error handling for platform version issues.

The improved error message provides clear context about the specific failure point when getting the current platform version, which will make debugging version-related issues easier.

packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs (2)

43-48: Enhanced serialization error messages.

The improved error message provides clear context when conversion to raw instant lock proof fails during serialization.


60-65: Enhanced deserialization error messages.

The improved error message provides clear context when conversion from raw instant lock proof fails during deserialization.

packages/rs-drive-abci/src/platform_types/platform_state/mod.rs (1)

563-565: New imports for platform version testing.

Good addition of imports to support testing with different platform versions.

Also applies to: 567-567

packages/strategy-tests/Cargo.toml (1)

3-3:

✅ Verification successful

Confirm version bump to rc.3
This update aligns the strategy-tests crate with the coordinated bump to 2.0.0-rc.3 across other packages. Please ensure that no references to the previous 2.0.0-rc.2 remain and that your Cargo.lock (if present) has been updated accordingly.

Run the following script to catch any lingering rc.2 references:


🏁 Script executed:

#!/bin/bash
# Description: Search for any remaining '2.0.0-rc.2' occurrences in the repo
rg -n '"2\.0\.0-rc\.2"' .

Length of output: 27


🏁 Script executed:

#!/bin/bash
# Search for any remaining '2.0.0-rc.2' occurrences (without requiring surrounding quotes)
rg -n '2\.0\.0-rc\.2' .

# If Cargo.lock exists, verify that it’s been bumped to rc.3
if [ -f Cargo.lock ]; then
  echo "Verifying version bump in Cargo.lock..."
  rg -n 'version = "2\.0\.0-rc\.3"' Cargo.lock
fi

Length of output: 1022


Version bump to 2.0.0-rc.3 verified
All occurrences of 2.0.0-rc.2 have been removed, and Cargo.lock entries are updated to 2.0.0-rc.3. No further changes required.

@QuantumExplorer QuantumExplorer merged commit a0369b6 into v2.0-dev Apr 24, 2025
134 checks passed
@QuantumExplorer QuantumExplorer deleted the chore/fixAndRC-3 branch April 24, 2025 15:56
@coderabbitai coderabbitai bot mentioned this pull request Oct 2, 2025
6 tasks
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