-
Notifications
You must be signed in to change notification settings - Fork 45
chore: merge v2.0.1 into v2.1-dev #2796
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
…2693) Co-authored-by: Lukasz Klimek <[email protected]>
WalkthroughAdds testnet consensus_params to dashmate’s default genesis and a migration step ('2.0.2-rc.1') to clone them into existing testnet configs. Updates keyword-search contract IDs in JS and Rust (new ID_BYTES + tests). Adds base58 dev-dependency. Updates CHANGELOG for 2.0.1. Numerous formatting-only changes to JSON and Cargo files. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Dashmate as Dashmate CLI
participant Config as Config Loader
participant Migrations as Migration Registry
participant Store as Config File
User->>Dashmate: start / up (testnet)
Dashmate->>Config: load config.json
Config->>Store: read existing config
Config-->>Dashmate: config (name, network, options)
Dashmate->>Migrations: apply pending migrations
alt name != "base" AND network == TESTNET
Migrations->>Config: deep-clone default testnet consensus_params
Migrations->>Store: write to options.platform.drive.tenderdash.genesis.consensus_params
else No-op
Migrations-->>Dashmate: unchanged
end
Dashmate-->>User: proceed with updated genesis params
Note over Dashmate,Store: New in '2.0.2-rc.1': deep clone avoids in-place mutation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests
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 |
✅ gRPC Query Coverage Report |
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: 0
🧹 Nitpick comments (8)
packages/simple-signer/Cargo.toml (1)
20-22: Dependency features reformatted; behavior unchanged.Still only enabling
ed25519-dalekby default ondpp; other dpp features are gated behind this crate’sstate-transitionsfeature. Looks good.Optionally, consider centralizing
dppsettings via workspace.dependencies to keep feature flags consistent across crates in the workspace.packages/wallet-lib/package.json (1)
101-101: EOF newline normalization — LGTM.No functional changes. Optionally enforce via .editorconfig (insert_final_newline=true) or Prettier to avoid churn.
packages/keyword-search-contract/package.json (1)
29-29: EOF newline normalization — LGTM.No behavior change. Consider enforcing via repo-wide formatting config.
packages/platform-test-suite/package.json (1)
84-84: EOF newline normalization — LGTM.Pure formatting. Optional: enforce with .editorconfig/Prettier.
packages/dapi/package.json (1)
87-87: EOF newline normalization — LGTM.No semantic impact. Consider automated formatting to keep consistency.
CHANGELOG.md (1)
109-109: markdownlint MD024 (duplicate headings) — prefer config over content changesThis changelog repeats “⚠ BREAKING CHANGES” and “Bug Fixes” across releases by design. To avoid MD024 noise without changing headings:
- Set MD024 to siblings_only in markdownlint config, e.g.:
{ "MD024": { "siblings_only": true } }
- Or disable MD024 for this file:
<!-- markdownlint-disable MD024 -->Also applies to: 113-113
packages/dashmate/configs/defaults/getTestnetConfigFactory.js (1)
119-151: Verify Tenderdash compatibility of extended consensus_paramsPlease confirm:
- version.consensus: '0' is accepted by the Tenderdash version used on testnet.
- time_iota_ms being omitted is intentional.
- New sections (synchrony, timeout, abci.recheck_tx) align with current config schema.
If these params are reused across environments, consider centralizing them in a shared constant to avoid drift across defaults and migrations.
packages/dashmate/configs/getConfigFileMigrationsFactory.js (1)
1099-1107: Testnet consensus_params migration: consider safer nested setThe logic is correct and cloneDeep is appropriate. Optionally use lodash.set to ensure the nested path exists across older configs:
- options.platform.drive.tenderdash.genesis.consensus_params = lodash.cloneDeep(testnet.get('platform.drive.tenderdash.genesis.consensus_params')); + lodash.set( + options, + 'platform.drive.tenderdash.genesis.consensus_params', + lodash.cloneDeep(testnet.get('platform.drive.tenderdash.genesis.consensus_params')), + );Please verify that options.platform.drive.tenderdash.genesis is always defined for all testnet configs this migration may touch.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (34)
CHANGELOG.md(1 hunks)package.json(1 hunks)packages/bench-suite/package.json(1 hunks)packages/dapi-grpc/Cargo.toml(1 hunks)packages/dapi-grpc/package.json(1 hunks)packages/dapi/package.json(1 hunks)packages/dash-spv/package.json(1 hunks)packages/dashmate/configs/defaults/getTestnetConfigFactory.js(2 hunks)packages/dashmate/configs/getConfigFileMigrationsFactory.js(4 hunks)packages/dashmate/package.json(1 hunks)packages/dashpay-contract/package.json(1 hunks)packages/data-contracts/Cargo.toml(1 hunks)packages/dpns-contract/package.json(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/keyword-search-contract/lib/systemIds.js(1 hunks)packages/keyword-search-contract/package.json(1 hunks)packages/keyword-search-contract/src/lib.rs(2 hunks)packages/masternode-reward-shares-contract/package.json(1 hunks)packages/platform-test-suite/package.json(1 hunks)packages/rs-dpp/Cargo.toml(5 hunks)packages/rs-drive-abci/Cargo.toml(2 hunks)packages/rs-drive-proof-verifier/Cargo.toml(1 hunks)packages/rs-drive/Cargo.toml(2 hunks)packages/rs-sdk/Cargo.toml(2 hunks)packages/simple-signer/Cargo.toml(1 hunks)packages/token-history-contract/package.json(1 hunks)packages/wallet-lib/package.json(1 hunks)packages/wallet-utils-contract/package.json(1 hunks)packages/wasm-dpp/package.json(1 hunks)packages/withdrawals-contract/package.json(1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
packages/platform-test-suite/**
📄 CodeRabbit inference engine (AGENTS.md)
packages/platform-test-suite/**: Keep end-to-end tests and helpers in packages/platform-test-suite
Keep all E2E tests exclusively in packages/platform-test-suite
Files:
packages/platform-test-suite/package.json
packages/**/**/*.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
packages/**/**/*.{js,ts,jsx,tsx}: Adhere to ESLint with Airbnb/TypeScript configs for JS/TS code
Use camelCase for JS/TS variables and functions
Use PascalCase for JS/TS classes
Prefer kebab-case filenames within JS packages
Files:
packages/dashmate/configs/getConfigFileMigrationsFactory.jspackages/keyword-search-contract/lib/systemIds.jspackages/dashmate/configs/defaults/getTestnetConfigFactory.js
**/*.rs
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.rs: Format Rust code with cargo fmt
Run Clippy linter for Rust code
Files:
packages/keyword-search-contract/src/lib.rs
🧠 Learnings (7)
📓 Common learnings
Learnt from: shumkov
PR: dashpay/platform#2206
File: packages/rs-platform-version/src/version/protocol_version.rs:155-157
Timestamp: 2024-10-09T00:22:57.778Z
Learning: In the dashmate default configurations, the default protocol version for local networks has been removed, and an update mechanism for the protocol version in the consensus parameters has been implemented.
Learnt from: shumkov
PR: dashpay/platform#2206
File: packages/rs-platform-version/src/version/protocol_version.rs:155-157
Timestamp: 2024-10-04T09:08:48.470Z
Learning: In the dashmate default configurations, the default protocol version for local networks has been removed, and an update mechanism for the protocol version in the consensus parameters has been implemented.
📚 Learning: 2025-09-12T13:18:08.661Z
Learnt from: CR
PR: dashpay/platform#0
File: AGENTS.md:0-0
Timestamp: 2025-09-12T13:18:08.661Z
Learning: Applies to packages/**/**/*.{js,ts,jsx,tsx} : Adhere to ESLint with Airbnb/TypeScript configs for JS/TS code
Applied to files:
packages/platform-test-suite/package.json
📚 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-drive-proof-verifier/Cargo.tomlpackages/rs-dpp/Cargo.toml
📚 Learning: 2024-12-05T09:29:38.918Z
Learnt from: shumkov
PR: dashpay/platform#2375
File: packages/rs-drive-abci/Cargo.toml:61-63
Timestamp: 2024-12-05T09:29:38.918Z
Learning: In the `drive-abci` package, avoid adding unused dependencies like `hashbrown` to `Cargo.toml`. The team relies on CI to detect dependency version issues.
Applied to files:
packages/rs-drive-abci/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-drive-abci/Cargo.toml
📚 Learning: 2025-01-24T07:54:55.723Z
Learnt from: QuantumExplorer
PR: dashpay/platform#2440
File: packages/rs-drive-abci/Cargo.toml:76-76
Timestamp: 2025-01-24T07:54:55.723Z
Learning: In the drive-abci package, bls-signatures is intentionally declared twice:
1. As an optional dependency in [dependencies] to make it an optional feature in production
2. As a non-optional dependency in [dev-dependencies] to ensure it's always available for tests
Applied to files:
packages/rs-drive-abci/Cargo.toml
📚 Learning: 2024-11-25T07:48:09.831Z
Learnt from: shumkov
PR: dashpay/platform#2345
File: packages/wallet-utils-contract/src/lib.rs:14-17
Timestamp: 2024-11-25T07:48:09.831Z
Learning: In the `wallet-utils-contract` (file `packages/wallet-utils-contract/src/lib.rs`), the `OWNER_ID_BYTES` constant is intentionally initialized to all zeros.
Applied to files:
packages/keyword-search-contract/src/lib.rs
🧬 Code graph analysis (1)
packages/dashmate/configs/getConfigFileMigrationsFactory.js (1)
packages/dapi/lib/externalApis/dashcore/rpc.js (1)
lodash(2-2)
🪛 markdownlint-cli2 (0.18.1)
CHANGELOG.md
109-109: Multiple headings with the same content
(MD024, no-duplicate-heading)
113-113: Multiple headings with the same content
(MD024, no-duplicate-heading)
⏰ 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). (200)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (rs-dapi-client) / Tests
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (rs-dapi-client) / Tests
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
- GitHub Check: Rust packages (rs-dapi-client) / Tests
- GitHub Check: Rust packages (dpns-contract) / Unused dependencies
- GitHub Check: Rust packages (dpns-contract) / Linting
- GitHub Check: Rust packages (dpns-contract) / Formatting
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Tests
- GitHub Check: Rust packages (masternode-reward-shares-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Unused dependencies
- GitHub Check: Rust packages (dashpay-contract) / Formatting
- GitHub Check: Rust packages (withdrawals-contract) / Unused dependencies
- GitHub Check: Rust packages (withdrawals-contract) / Tests
- GitHub Check: Rust packages (dashpay-contract) / Linting
- GitHub Check: Rust packages (withdrawals-contract) / Linting
- GitHub Check: Build Docker images (DAPI, dapi, dapi) / Build DAPI image
- 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 JS packages / Build JS
- GitHub Check: Rust crates security audit
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios-sim)
- GitHub Check: Build rs-sdk-ffi for iOS targets (aarch64-apple-ios)
🔇 Additional comments (35)
packages/simple-signer/Cargo.toml (1)
12-16: Formatting-only change; semantics preserved; referenced dpp features exist.Multiline feature list with trailing comma is fine in Cargo. The dep feature references are correct.
packages/dapi-grpc/package.json (1)
67-67: EOF newline normalization — LGTM.Formatting-only change.
packages/feature-flags-contract/package.json (1)
45-45: EOF newline normalization — LGTM.No runtime or API changes.
packages/masternode-reward-shares-contract/package.json (1)
44-44: EOF newline normalization — LGTM.Formatting-only.
packages/rs-drive-abci/Cargo.toml (1)
79-79: Formatting-only on bls-signatures deps — LGTM.Entries remain intentionally duplicated (optional prod dep + non-optional dev-dep) with identical rev; no behavior change. Based on learnings.
Also applies to: 103-103
packages/wallet-utils-contract/package.json (1)
29-29: No functional changeEOF newline-only edit. OK to merge.
packages/data-contracts/Cargo.toml (1)
12-21: Feature list reformat looks goodReadability improved; behavior unchanged. LGTM.
packages/token-history-contract/package.json (1)
29-29: No functional changeEOF newline-only edit. OK.
packages/wasm-dpp/package.json (1)
92-92: No functional changeEOF newline-only edit. OK.
packages/withdrawals-contract/package.json (1)
45-45: No functional changeEOF newline-only edit. OK.
package.json (1)
116-116: No functional changeEOF newline-only edit. OK.
packages/js-grpc-common/package.json (1)
37-37: No functional changeEOF newline-only edit. OK.
packages/keyword-search-contract/Cargo.toml (1)
14-15: Dev-dependency addition is fine: base58 usage is confined to test code.packages/rs-drive-proof-verifier/Cargo.toml (1)
33-35: LGTM: Improved formatting for features array.The multi-line formatting with trailing comma is idiomatic Rust style and improves readability.
packages/keyword-search-contract/src/lib.rs (2)
39-63: Excellent addition: Contract ID integrity tests.The new test module provides important verification of the contract ID:
- Verifies the ID constant is correctly constructed from ID_BYTES.
- Verifies base58 encoding consistency with the expected string, ensuring cross-language (Rust/JS) ID alignment.
This is a critical safety measure for contract identity integrity.
9-12: Verify contract ID change consistency across the codebase.The ID_BYTES constant has been updated to a new value. This is a critical change that affects contract identity. The AI summary indicates that
packages/keyword-search-contract/lib/systemIds.jswas also updated with a new contractId (BsjE6tQxG...), which should align with this change.Run the following script to verify the contract ID is consistent across JS and Rust:
packages/dashpay-contract/package.json (1)
38-38: LGTM! Formatting-only change.The trailing newline addition aligns with common formatting standards and has no functional impact.
packages/rs-drive/Cargo.toml (2)
114-114: LGTM! Formatting-only realignment.The rand entry realignment is a formatting-only change with no functional impact. Note the TODO comment indicating this dependency should eventually be removed.
127-127: LGTM! Trailing comma addition.Adding the trailing comma is a Rust formatting best practice that improves diff clarity when modifying feature lists. No functional impact.
packages/rs-sdk/Cargo.toml (3)
19-19: LGTM! Formatting-only change.The platform-wallet dependency line reformatting has no functional impact.
71-76: LGTM! Improved readability.The default feature array reformatting to multiline improves readability with no functional impact.
77-83: LGTM! Improved readability.The spv-client feature array reformatting to multiline improves readability with no functional impact.
packages/dapi-grpc/Cargo.toml (1)
54-54: LGTM! Formatting-only change.The tonic dependency reformatting from multiline to single-line array has no functional impact. The features and configuration remain unchanged.
packages/keyword-search-contract/lib/systemIds.js (1)
3-3: Verify consistency with Rust constants and update of all references.The contract ID update appears intentional and corresponds to the v2.0.1 breaking change noted in CHANGELOG. However, ensure:
- The Rust side ID_BYTES constant matches this new base58 value
- All references to the old contract ID '7CSFGeF4WNzgDmx94zwvHkYaG3Dx4XEe5LFsFgJswLbm' have been updated
Run the following script to verify:
CHANGELOG.md (1)
106-116: 2.0.1 changelog block looks good; please verify accuracy
- Placement and format are consistent.
- Please confirm the note "update keyword search contract ID and owner ID bytes" matches the code. If owner ID didn’t change, adjust the wording to avoid confusion. Also double-check the compare link and date.
packages/rs-dpp/Cargo.toml (6)
76-79: Formatting-only change; no behavior impactDev-dep features expanded to multiline. Looks good.
141-142: LGTMFeature set unchanged; only formatting.
152-153: Confirm dash-sdk-features on WASM targetsIncluding core_rpc_client will pull in dashcore-rpc when dash-sdk-features is enabled. Please confirm wasm32 builds still work, or gate behind std/alternative feature if needed.
208-209: abci → core_rpc_client mapping is correctThis matches the feature definition core_rpc_client = ["dep:dashcore-rpc"] and enables access via dpp as intended.
Based on learnings
293-304: LGTMall-system_contracts list reformatted; items unchanged.
309-312: LGTMmasternode-rewards-contract entry reformatted only.
packages/dashmate/configs/defaults/getTestnetConfigFactory.js (1)
2-2: LGTMImport reordering removes duplication and clarifies dependencies.
packages/dashmate/configs/getConfigFileMigrationsFactory.js (3)
557-557: Good: avoid shared-object mutationsUsing cloneDeep for testnet genesis prevents accidental in-place mutations.
761-761: Good: consistent deep-clone for testnet genesisPrevents config coupling across instances.
787-787: Good: deep-clone in rc migrationConsistent with prior steps; avoids shared state.
Issue being fixed or feature implemented
Some changes from v2.0.1 were not applied on v2.1-dev
What was done?
git merge
How Has This Been Tested?
GHA
Breaking Changes
None
Checklist:
For repository code-owners and collaborators only
Summary by CodeRabbit
Documentation
Configuration/Migrations
Contracts
Chores