Skip to content

fix(dpp): unbreak v4.2-dev — fmt gate and propertyAgreement compile breaks - #4515

Merged
QuantumExplorer merged 3 commits into
v4.2-devfrom
chore/fmt-document-factory
Aug 28, 2026
Merged

fix(dpp): unbreak v4.2-dev — fmt gate and propertyAgreement compile breaks#4515
QuantumExplorer merged 3 commits into
v4.2-devfrom
chore/fmt-document-factory

Conversation

@QuantumExplorer

@QuantumExplorer QuantumExplorer commented Aug 28, 2026

Copy link
Copy Markdown
Member

Issue being fixed or feature implemented

v4.2-dev fails to build after three PRs merged in parallel without cross-rebases (#4450, #4505, #4510). This PR is the single unbreak:

  1. fmt gate: the import line test(test-suite): indexOnly document lifecycle functional spec #4510 added to document_factory/v0/mod.rs landed unformatted — cargo fmt --check --all fails on every PR.
  2. E0063 (dpp lib tests): feat: expose protocol v14 ranked queries and document references to JavaScript #4450's reference_targets_are_exhaustively_mirrored test constructs PermanentDocument without the property_agreement field feat(dpp)!: refersTo propertyAgreement binds referring and referenced document properties #4505 added.
  3. E0027 (wasm-dpp2, blocks wasm-sdk / js-evo-sdk): feat: expose protocol v14 ranked queries and document references to JavaScript #4450's exhaustive destructure of the same variant doesn't mention the field. Includes the fix from fix(dpp): compile wasm-dpp2 after propertyAgreement and expose it on reference metadata #4514 — rather than ignoring the field, the reference metadata surfaces it (propertyAgreement: { referring: referenced }, absent when undeclared), with TS typings, presence/absence specs, and README.

Supersedes #4514 (its commit is cherry-picked here so one merge makes the base green).

How Has This Been Tested?

  • cargo fmt --check --all passes
  • cargo check -p dpp -p wasm-dpp2 -p wasm-sdk --all-targets passes (each failed on v4.2-dev)
  • cargo test -p dpp --lib reference_targets_are_exhaustively_mirrored passes
  • wasm-dpp2 build + 1157 specs; wasm32 lane (cargo test -p wasm-sdk --target wasm32-unknown-unknown, not covered by CI) — 6 passed
  • clippy -D warnings on wasm-dpp2 + wasm-sdk clean

Breaking Changes

None — additive JS metadata field; no consensus surface touched.

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

🤖 Generated with Claude Code

The import line landed unformatted via #4510 and fails the workspace
cargo fmt --check gate on every PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v4.2.0 milestone Aug 28, 2026
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 26 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 51c316a4-c1b1-465c-800f-493e7577b2b8

📥 Commits

Reviewing files that changed from the base of the PR and between 5ef3bf6 and 7f93b38.

📒 Files selected for processing (5)
  • packages/js-evo-sdk/README.md
  • packages/rs-dpp/src/data_contract/document_type/property/mod.rs
  • packages/rs-dpp/src/document/document_factory/v0/mod.rs
  • packages/wasm-dpp2/src/data_contract/document_type_reference.rs
  • packages/wasm-dpp2/tests/unit/DocumentPropertyReference.spec.ts

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.

@thepastaclaw

thepastaclaw commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

🕓 Ready for review — 1 ahead in queue (commit 7f93b38)
Queue position: 2/4 · 1 review active
ETA: start ~17:56 UTC · complete ~18:16 UTC (median 20m across 30 recent reviews; 2 slots)
Queued 4m ago · Last checked: 2026-08-28 17:40 UTC

@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.03%. Comparing base (5ef3bf6) to head (7f93b38).

Additional details and impacted files
@@             Coverage Diff              @@
##           v4.2-dev    #4515      +/-   ##
============================================
+ Coverage     82.23%   83.03%   +0.80%     
============================================
  Files          2746     2778      +32     
  Lines        372433   375640    +3207     
============================================
+ Hits         306254   311897    +5643     
+ Misses        66179    63743    -2436     
Components Coverage Δ
dpp 82.27% <100.00%> (+1.07%) ⬆️
drive 81.69% <ø> (+0.84%) ⬆️
drive-abci 86.88% <ø> (+1.08%) ⬆️
sdk ∅ <ø> (∅)
dapi-client ∅ <ø> (∅)
platform-version ∅ <ø> (∅)
platform-value 92.92% <ø> (ø)
platform-wallet ∅ <ø> (∅)
drive-proof-verifier 48.41% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

QuantumExplorer and others added 2 commits August 28, 2026 19:33
…eement

The reference_targets_are_exhaustively_mirrored test's PermanentDocument
literal predates the property_agreement field (#4450 x #4505 parallel
merge) — E0063 in dpp's lib tests on v4.2-dev.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rence metadata

PR #4450 (refersTo reference metadata) and PR #4505 (propertyAgreement on
permanentDocument references) were developed in parallel and merged
without a rebase between them: #4450's exhaustive destructure of
DocumentPropertyReferenceTarget::PermanentDocument does not mention the
propertyAgreement field #4505 added, so v4.2-dev fails E0027 in
wasm-dpp2 (and everything downstream: wasm-sdk, js-evo-sdk).

Rather than ignoring the field, surface it: a permanentDocument
reference object now carries propertyAgreement as a plain
{ referring: referenced } record when the declaration has one, absent
otherwise — matching the schema's own omission and the absent-field
convention of the other optional target fields. TS custom section,
specs (presence + absence) and the js-evo-sdk README updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@QuantumExplorer QuantumExplorer changed the title chore(dpp): apply cargo fmt to document factory imports fix(dpp): unbreak v4.2-dev — fmt gate and propertyAgreement compile breaks Aug 28, 2026
@QuantumExplorer
QuantumExplorer merged commit 4b1cba8 into v4.2-dev Aug 28, 2026
35 checks passed
@QuantumExplorer
QuantumExplorer deleted the chore/fmt-document-factory branch August 28, 2026 17:47
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