-
Notifications
You must be signed in to change notification settings - Fork 44
chore(platform): enable bls-signatures by default and upgrade to rc-3 #2568
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
Conversation
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 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. 📒 Files selected for processing (1)
WalkthroughThis set of changes primarily updates the version numbers of numerous packages across the repository from Changes
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
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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: 4
📜 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 (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 to2.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 to2.0.0-rc.3
The crate version has been updated correctly to2.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.3The 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 from2.0.0-rc.2
to2.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 ofdpp
crate to 2.0.0-rc.3
The package version has been correctly updated to align with the coordinatedrc.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 from2.0.0-rc.2
to2.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 from2.0.0-rc.2
to2.0.0-rc.3
, aligning with the coordinated release across the platform ecosystem.
Please verify that there are no lingering references to the oldrc.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.tomlLength of output: 50
Version bump to
rc.3
verified
No remaining references to2.0.0-rc.2
were found inpackages/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 from2.0.0-rc.2
to2.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
Theversion
field is now2.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 to2.0.0-rc.3
, ensuring consistency with related packages.packages/wasm-dpp/Cargo.toml (1)
3-3
: Approve version bump to rc.3
Thewasm-dpp
crate’s version is updated to2.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
Thedapi-grpc
crate version is now2.0.0-rc.3
, consistent with the broader release candidate upgrade.packages/rs-platform-value/Cargo.toml (1)
11-11
: Synchronize bincode dependency version
Thebincode
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
Theplatform-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 from5.0.0-rc.2
to5.0.0-rc.3
inpackage.json
, matching the repository-wide versioning strategy.packages/data-contracts/Cargo.toml (1)
4-4
: Bump crate version to RC-3
Updateddata-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
Theplatform-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.3The crate version has been correctly updated from
2.0.0-rc.2
to2.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.3The 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.3The 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.3The
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.3The
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 from2.0.0-rc.2
to2.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
Thewallet-utils-contract
crate version is bumped to2.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 to2.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 to2.0.0-rc.3
. Remember to regenerateCargo.lock
.packages/rs-platform-serialization-derive/Cargo.toml (1)
5-5
: Approve version bump to rc.3
The package version has been correctly updated from2.0.0-rc.2
to2.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 to2.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
Updatingmasternode-reward-shares-contract
to2.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 to2.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
: Enablebls-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
Ranrg -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 from2.0.0-rc.2
to2.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 keepsdashmate
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 clarityThe 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 deserializationEnhancing 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 deserializationSimilar 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 messageThe 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 thestrategy-tests
crate with the coordinated bump to2.0.0-rc.3
across other packages. Please ensure that no references to the previous2.0.0-rc.2
remain and that yourCargo.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 fiLength of output: 1022
Version bump to 2.0.0-rc.3 verified
All occurrences of2.0.0-rc.2
have been removed, andCargo.lock
entries are updated to2.0.0-rc.3
. No further changes required.
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:
For repository code-owners and collaborators only
Summary by CodeRabbit