fix(dpp): unbreak v4.2-dev — fmt gate and propertyAgreement compile breaks - #4515
Conversation
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>
|
Warning Review limit reachedNext included review available in 26 minutes. View limit detailsLimit 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. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
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 |
|
🕓 Ready for review — 1 ahead in queue (commit 7f93b38) |
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
…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>
Issue being fixed or feature implemented
v4.2-devfails to build after three PRs merged in parallel without cross-rebases (#4450, #4505, #4510). This PR is the single unbreak:document_factory/v0/mod.rslanded unformatted —cargo fmt --check --allfails on every PR.dpplib tests): feat: expose protocol v14 ranked queries and document references to JavaScript #4450'sreference_targets_are_exhaustively_mirroredtest constructsPermanentDocumentwithout theproperty_agreementfield feat(dpp)!: refersTo propertyAgreement binds referring and referenced document properties #4505 added.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 --allpassescargo check -p dpp -p wasm-dpp2 -p wasm-sdk --all-targetspasses (each failed onv4.2-dev)cargo test -p dpp --lib reference_targets_are_exhaustively_mirroredpassescargo test -p wasm-sdk --target wasm32-unknown-unknown, not covered by CI) — 6 passed-D warningson wasm-dpp2 + wasm-sdk cleanBreaking Changes
None — additive JS metadata field; no consensus surface touched.
Checklist:
🤖 Generated with Claude Code