Skip to content

Conversation

@lklimek
Copy link
Contributor

@lklimek lklimek commented Oct 2, 2025

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:

  • 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

  • Documentation

    • Added 2.0.1 changelog entry with breaking change and bug fix notes.
  • Configuration/Migrations

    • Expanded testnet genesis consensus parameters (timeouts, synchrony, evidence, validator keys, version, ABCI recheck).
    • Introduced automated migration to apply updated consensus parameters for testnet configs.
  • Contracts

    • Updated Keyword Search contract ID; added tests to validate ID bytes and Base58 encoding.
  • Chores

    • Formatting-only updates across manifests and config files (trailing newlines, TOML array layout) with no functional impact.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 2, 2025

Walkthrough

Adds 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

Cohort / File(s) Summary
Documentation
CHANGELOG.md
Adds 2.0.1 release notes with a breaking change and bug fix references; documentation-only.
Dashmate testnet consensus params + migration
packages/dashmate/configs/defaults/getTestnetConfigFactory.js, packages/dashmate/configs/getConfigFileMigrationsFactory.js
Extends testnet genesis consensus_params (block, evidence, validator, version, synchrony, timeout, abci). Adds migration '2.0.2-rc.1' to deep-clone consensus_params into existing testnet configs; adjusts prior assignment to use deep clone.
Keyword-search contract IDs
packages/keyword-search-contract/lib/systemIds.js, packages/keyword-search-contract/src/lib.rs
Updates exported contractId (JS). Updates Rust ID_BYTES to new 32-byte value and adds tests asserting ID consistency and base58 roundtrip.
Keyword-search contract dev dependency
packages/keyword-search-contract/Cargo.toml
Adds dev-dependency base58 = "0.2.0".
Repo JSON EOF/newline tweaks
package.json, packages/*/package.json (multiple)
Trailing newline presence toggled; no content changes.
Cargo.toml formatting-only edits
packages/dapi-grpc/Cargo.toml, packages/data-contracts/Cargo.toml, packages/rs-dpp/Cargo.toml, packages/rs-drive-abci/Cargo.toml, packages/rs-drive-proof-verifier/Cargo.toml, packages/rs-drive/Cargo.toml, packages/rs-sdk/Cargo.toml, packages/simple-signer/Cargo.toml
Reflowed arrays/feature lists, minor punctuation/alignment changes; no semantic 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
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • QuantumExplorer
  • shumkov

Poem

I hop through configs, byte by byte,
New IDs gleam in testnet light.
Consensus tuned, migrations glide,
Base58 sings on the Rusty side.
Changelog crumbs, I nibble, grin—
Ship it quick; the blocks begin! 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly states the chore of merging the v2.0.1 release branch into v2.1-dev, directly reflecting the pull request’s purpose without unnecessary detail.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch backport/2.0

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@lklimek lklimek added this to the v2.1.0 milestone Oct 2, 2025
@github-actions
Copy link

github-actions bot commented Oct 2, 2025

✅ gRPC Query Coverage Report

================================================================================
gRPC Query Coverage Report - NEW QUERIES ONLY
================================================================================

Total queries in proto: 47
Previously known queries: 47
New queries found: 0


================================================================================
Summary:
--------------------------------------------------------------------------------
No new queries found

Total known queries: 47
  - Implemented: 44
  - Not implemented: 2
  - Excluded: 1

Not implemented queries:
  - getConsensusParams
  - getTokenPreProgrammedDistributions

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: 0

🧹 Nitpick comments (8)
packages/simple-signer/Cargo.toml (1)

20-22: Dependency features reformatted; behavior unchanged.

Still only enabling ed25519-dalek by default on dpp; other dpp features are gated behind this crate’s state-transitions feature. Looks good.

Optionally, consider centralizing dpp settings 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 changes

This 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_params

Please 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 set

The 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

📥 Commits

Reviewing files that changed from the base of the PR and between d0fb9f5 and aa1ab6f.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is 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.js
  • packages/keyword-search-contract/lib/systemIds.js
  • packages/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.toml
  • packages/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 change

EOF newline-only edit. OK to merge.

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

12-21: Feature list reformat looks good

Readability improved; behavior unchanged. LGTM.

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

29-29: No functional change

EOF newline-only edit. OK.

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

92-92: No functional change

EOF newline-only edit. OK.

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

45-45: No functional change

EOF newline-only edit. OK.

package.json (1)

116-116: No functional change

EOF newline-only edit. OK.

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

37-37: No functional change

EOF 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.js was 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:

  1. The Rust side ID_BYTES constant matches this new base58 value
  2. 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 impact

Dev-dep features expanded to multiline. Looks good.


141-142: LGTM

Feature set unchanged; only formatting.


152-153: Confirm dash-sdk-features on WASM targets

Including 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 correct

This matches the feature definition core_rpc_client = ["dep:dashcore-rpc"] and enables access via dpp as intended.

Based on learnings


293-304: LGTM

all-system_contracts list reformatted; items unchanged.


309-312: LGTM

masternode-rewards-contract entry reformatted only.

packages/dashmate/configs/defaults/getTestnetConfigFactory.js (1)

2-2: LGTM

Import reordering removes duplication and clarifies dependencies.

packages/dashmate/configs/getConfigFileMigrationsFactory.js (3)

557-557: Good: avoid shared-object mutations

Using cloneDeep for testnet genesis prevents accidental in-place mutations.


761-761: Good: consistent deep-clone for testnet genesis

Prevents config coupling across instances.


787-787: Good: deep-clone in rc migration

Consistent with prior steps; avoids shared state.

@QuantumExplorer QuantumExplorer merged commit c36ca0f into v2.1-dev Oct 2, 2025
150 of 151 checks passed
@QuantumExplorer QuantumExplorer deleted the backport/2.0 branch October 2, 2025 13:02
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.

3 participants