Skip to content

feat(dpp)!: refersTo finds a document with findBy and checks it with where - #5197

Merged
QuantumExplorer merged 3 commits into
v4.2-devfrom
feat/refers-to-find-by-where
Sep 29, 2026
Merged

QuantumExplorer merged 3 commits into
v4.2-devfrom
feat/refers-to-find-by-where

Conversation

@QuantumExplorer

@QuantumExplorer QuantumExplorer commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Basic explanation

A refersTo document reference could say three things in three differently shaped places: lookup (which unique index finds the document, named by index, plus how its key is built), propertyAgreement (what the found document must hold, keyed the other way round), and a separate listElement reference type. A reader had to open the referenced type to learn what lookup.index compared, and had to remember which map was keyed by which side.

Now a reference says it in two maps, both keyed by the referenced document's property:

  • findBy: the properties the document is found by. The platform uses the unique index whose properties are exactly those; the contract no longer names the index.
  • where: what the document found must also hold.

A list reference is a permanentDocument with inList, found by findBy: { "$id": <property> }. Without findBy, the value is the document's $id, as before.

This only changes how contracts are written. The parsed declarations, and so validation, fees and execution, are the same. Protocol version 14 is unreleased, so meta-schema v3 and the parser are edited in place.

Before and after

Each example first shows the two document types, as this PR leaves them. They are trimmed to what the reference reads: other properties, and the references of properties the example does not read, are left out. Then the reference as it was written before.

1. findBy: a moderator must hold a join request for the charter

From the moderation charters system contract. An added moderator's memberId must be the owner of a joinRequest for the same submitted charter.

The document type referred to, joinRequest:

"joinRequest": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": false,
  "indices": [
    {
      "name": "bySubmittedCharter",
      "properties": [{ "submittedCharterId": "asc" }, { "$ownerId": "asc" }],
      "unique": true
    },
    { "name": "byOwner", "properties": [{ "$ownerId": "asc" }] }
  ],
  "properties": {
    "submittedCharterId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "position": 0
    }
  },
  "required": ["$createdAt", "submittedCharterId"],
  "additionalProperties": false
}

The referring document type, addedModerator:

"addedModerator": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": true,
  "properties": {
    "submittedCharterId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "position": 1
    },
    "memberId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "distinctFrom": "$ownerId",
      "refersTo": {
        "type": "permanentDocument",
        "documentType": "joinRequest",
        "findBy": { "submittedCharterId": "submittedCharterId", "$ownerId": "." }
      },
      "position": 2
    }
  },
  "required": ["$createdAt", "submittedCharterId", "memberId"],
  "additionalProperties": false
}

findBy names submittedCharterId and $ownerId, exactly the properties of bySubmittedCharter, so that index finds the join request: its submittedCharterId is the added moderator's, and its owner is memberId ("."). byOwner covers $ownerId alone and is not unique, so it could never be chosen.

Before, the same refersTo named the index, and a reader had to open joinRequest to learn what it compared:

"refersTo": {
  "type": "permanentDocument",
  "documentType": "joinRequest",
  "lookup": {
    "index": "bySubmittedCharter",
    "keys": { "submittedCharterId": "submittedCharterId", "$ownerId": "." }
  }
}

2. where: a join request goes to the charter's leader

From the moderation charters system contract. A join request's submittedCharterId must name a charter whose owner, the leader, is the request's recipientId.

The document type referred to, submittedCharter:

"submittedCharter": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": false,
  "indices": [{ "name": "byOwner", "properties": [{ "$ownerId": "asc" }] }],
  "properties": {
    "targetContractId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "position": 0
    }
  },
  "required": ["$createdAt", "targetContractId"],
  "additionalProperties": false
}

The referring document type, joinRequest:

"joinRequest": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": false,
  "properties": {
    "submittedCharterId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "refersTo": {
        "type": "permanentDocument",
        "documentType": "submittedCharter",
        "where": { "$ownerId": "recipientId" }
      },
      "position": 0
    },
    "recipientId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "description": "The proposal's leader",
      "position": 1
    }
  },
  "required": ["$createdAt", "submittedCharterId", "recipientId"],
  "additionalProperties": false
}

There is no findBy, so submittedCharterId is the charter's $id. where is keyed like findBy, by the charter's property: the charter's $ownerId must equal this request's recipientId.

Before, the pair was keyed the other way round, by the referring property:

"refersTo": {
  "type": "permanentDocument",
  "documentType": "submittedCharter",
  "propertyAgreement": { "recipientId": "$ownerId" }
}

3. inList: a removed moderator must be an elected member

From the moderation charters system contract. A removed moderator's memberId must be one of the members of the elected charter that electedCharterId names.

The document type referred to, electedCharter:

"electedCharter": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": false,
  "properties": {
    "members": {
      "type": "array",
      "minItems": 0,
      "maxItems": 15,
      "uniqueItems": true,
      "items": {
        "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
        "contentMediaType": "application/x.dash.dpp.identifier"
      },
      "description": "Team besides the leader, each with a join request",
      "position": 2
    }
  },
  "required": ["$createdAt", "members"],
  "additionalProperties": false
}

The referring document type, removedModerator:

"removedModerator": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": true,
  "properties": {
    "electedCharterId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "refersTo": {
        "type": "permanentDocument",
        "documentType": "electedCharter",
        "where": { "$ownerId": "$ownerId" }
      },
      "position": 0
    },
    "memberId": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "contentMediaType": "application/x.dash.dpp.identifier",
      "distinctFrom": "$ownerId",
      "refersTo": {
        "type": "permanentDocument",
        "documentType": "electedCharter",
        "findBy": { "$id": "electedCharterId" },
        "inList": "members"
      },
      "position": 1
    }
  },
  "required": ["$createdAt", "electedCharterId", "memberId"],
  "additionalProperties": false
}

findBy finds the charter by its $id, read from electedCharterId, and memberId must be in its members. electedCharterId itself refers to the charter, whose owner, the leader, must be the writer.

Before, the list reference was a type of its own, and the charter was found by a $id pair:

"refersTo": {
  "type": "listElement",
  "documentType": "electedCharter",
  "propertyAgreement": { "electedCharterId": "$id" },
  "inList": "members"
}

4. A findBy function: commit and reveal

From the commit-and-reveal test contract, whose preorder and domain have the shape of DPNS's. A domain reveals the salt of a commitment made earlier.

The document type referred to, preorder:

"preorder": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": true,
  "properties": {
    "saltedDomainHash": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "position": 0
    }
  },
  "indices": [
    { "name": "saltedHash", "properties": [{ "saltedDomainHash": "asc" }], "unique": true }
  ],
  "required": ["$createdAtBlockHeight", "saltedDomainHash"],
  "additionalProperties": false
}

The referring document type, domain:

"domain": {
  "type": "object",
  "documentsMutable": false,
  "canBeDeleted": false,
  "transferable": 1,
  "properties": {
    "label": { "type": "string", "minLength": 1, "maxLength": 63, "position": 0 },
    "normalizedLabel": { "type": "string", "minLength": 1, "maxLength": 63, "position": 1 },
    "parentDomainName": { "type": "string", "maxLength": 63, "position": 2 },
    "preorderSalt": {
      "type": "array", "byteArray": true, "minItems": 32, "maxItems": 32,
      "position": 3,
      "refersTo": {
        "type": "deletableDocument",
        "documentType": "preorder",
        "findBy": {
          "saltedDomainHash": {
            "function": "sys.hash.sha256d",
            "params": ["preorderSalt", "normalizedLabel", { "const": "." }, "parentDomainName"]
          }
        },
        "where": { "$ownerId": "$ownerId" },
        "minimumAgeBlocks": 1,
        "consume": true
      }
    }
  },
  "required": ["label", "normalizedLabel", "preorderSalt"],
  "transient": ["preorderSalt"],
  "additionalProperties": false
}

findBy finds the preorder whose saltedDomainHash is the hash of the domain's salt, label and parent, through saltedHash, the unique index over that one property. where then asks that the preorder's owner is the domain's writer. The preorder must be at least one block old, and the create deletes it.

Before, the index was named in lookup, and the function sat in propertyAgreement beside a pair keyed the other way:

"refersTo": {
  "type": "deletableDocument",
  "documentType": "preorder",
  "lookup": { "index": "saltedHash" },
  "propertyAgreement": {
    "$ownerId": "$ownerId",
    "saltedDomainHash": {
      "function": "sys.hash.sha256d",
      "params": ["preorderSalt", "normalizedLabel", { "const": "." }, "parentDomainName"]
    }
  },
  "minimumAgeBlocks": 1,
  "consume": true
}

What changed

  • Meta-schema v3 (in place): refersTo takes findBy and where instead of lookup and propertyAgreement; inList needs a permanentDocument found by findBy { "$id": ... }; the listElement type is gone; agreementFunction is findByFunction. Descriptions rewritten.
  • Parser (apply_property_reference 0, in place): parses findBy into the existing DocumentReferenceLookup and where into property_agreement (flipped back to the parsed model's referring-side key; a referring value may be compared once). It refuses lookup, propertyAgreement and the listElement type on every parse, naming what replaced each, so a contract written with them never loads with another meaning. On registration and update the meta-schema, which does not admit them, refuses them first (JsonSchemaError, naming only the unknown keyword).
  • Index resolution: DocumentReferenceLookup no longer stores an index name. resolve_index picks the unique index over exactly the properties findBy names (not bucketing its first property), used by the contract-level and registration checks and by the batch fetch guard. A type's indexes never change after registration, so the same findBy always resolves to the same index. Errors list the type's unique indexes when none fits.
  • ReferencedDocumentLookupInvalidError (40137): its second field carries the properties findBy names instead of an index name (same position).
  • wasm-dpp2: documentTypeReferences reports findBy, where and inList; TypeScript types updated (DocumentReferenceFindBy, DocumentReferenceWhere, DocumentReferenceFindByFunction).
  • Moderation charters system contract written in the new keywords; its parsed declarations are identical.
  • Fixtures, tests, book, docs converted; new tests for index resolution, the replaced keywords and the inList shape.

In-place changes to shipped generations

None. Every edit is to protocol version 14 (meta-schema v3, parser generation 3, apply_property_reference 0), which no public network runs yet. Testnet and mainnet are on protocol version 13; devnets on a 4.2 beta need a re-cut, since contracts stored there with the old keywords no longer load.

Follow-ups

  • Contract visualizer and Yappr contracts need the new keywords.
  • Open PRs whose contracts or tests still write lookup, propertyAgreement or listElement need rewriting once this lands.
  • Devnets on a 4.2 beta need a re-cut.
  • Protocol version 14 note 63 describes the change.

Checklist

  • dpp lib tests pass (5126); drive reference and join tests pass; drive-abci reference, batch and document suites pass; wasm-dpp2 tests pass; clippy clean; workspace compiles
  • wasm-dpp2 TypeScript reference specs pass
  • moderation charters contract JS unit test (literal-only changes; not run locally)

🤖 Generated with Claude Code

PR Hygiene · 8bb1ab3

  • Bots — coderabbitai skipped after its own rate limit · thepastaclaw not yet — /skip-bots proceeds without the ones not yet reported
  • Self-review — post /self-reviewed once the bots are done
  • Within your 5 open PRs — this one is beyond the limit; it waits until one merges
  • Build green
  • Approvals
    • files with no dedicated owner — you own it
    • js-wasm-sdk (packages/js-evo-sdk/README.md) — shumkov
    • dpp — you own it
    • rs-drive-abci — you own it
    • rs-drive — you own it

When every box is checked the PR Hygiene check passes and this can merge.

QuantumExplorer and others added 3 commits September 29, 2026 19:32
…where

A document reference now says how its document is found and what that
document must hold in two maps, both keyed by the referenced document's
property:

- findBy replaces lookup. It names the properties the document is found
  by; the index is the unique index over exactly those properties, so a
  contract no longer names it.
- where replaces propertyAgreement, which was keyed by the referring
  property.
- listElement is folded into permanentDocument with inList, found by
  findBy { "$id": <property> }.

The parser refuses lookup, propertyAgreement and the listElement type on
every parse. Meta-schema v3 and the parser are edited in place: protocol
version 14 is unreleased. The parsed declarations are unchanged apart
from the lookup's index name, which is now resolved from the referenced
type; ReferencedDocumentLookupInvalidError carries the findBy names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 124 files, which is 24 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Repository: dashpay/platform/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: bf1bebd0-6620-4559-a278-491f4eec3648

📥 Commits

Reviewing files that changed from the base of the PR and between 1141aa7 and 8bb1ab3.

📒 Files selected for processing (124)
  • book/src/SUMMARY.md
  • book/src/contract-keywords.md
  • book/src/contract-keywords/deletion.md
  • book/src/contract-keywords/index-only.md
  • book/src/contract-keywords/integer-range.md
  • book/src/contract-keywords/moderator-abilities.md
  • book/src/contract-keywords/mutability.md
  • book/src/contract-keywords/owner-refers-to.md
  • book/src/contract-keywords/refers-to-expressions.md
  • book/src/contract-keywords/refers-to-list-element.md
  • book/src/contract-keywords/refers-to-lookup.md
  • book/src/contract-keywords/refers-to.md
  • book/src/contract-keywords/system-properties.md
  • book/src/contract-keywords/time-range.md
  • book/src/contract-keywords/transient.md
  • book/src/contract-keywords/ttl.md
  • book/src/contract-keywords/typed-arrays.md
  • book/src/data-model/contract-moderation.md
  • book/src/data-model/documents.md
  • book/src/drive/index-only-document-types.md
  • docs/protocol/moderation-charters.md
  • packages/js-evo-sdk/README.md
  • packages/moderation-charters-contract/README.md
  • packages/moderation-charters-contract/schema/v1/moderation-charters-contract-documents.json
  • packages/moderation-charters-contract/test/unit/moderationChartersContract.spec.js
  • packages/platform-test-suite/test/functional/platform/IndexOnlyDocument.spec.js
  • packages/rs-dpp/schema/meta_schemas/document/v3/document-meta.json
  • packages/rs-dpp/src/data_contract/document_type/class_methods/create_document_types_from_document_schemas/v1/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/parse_typed_array/v0/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/common/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/commit_reveal_lookup_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/index_only_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/list_element_reference_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/moderator_abilities_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/owner_reference_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/reference_expression_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/reference_lookup_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v3/typed_array_reference_tests.rs
  • packages/rs-dpp/src/data_contract/document_type/index/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/index/preallocation.rs
  • packages/rs-dpp/src/data_contract/document_type/methods/validate_update/common/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/property/generated_from/system_function/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/property/list_element_reference.rs
  • packages/rs-dpp/src/data_contract/document_type/property/lookup_preimage.rs
  • packages/rs-dpp/src/data_contract/document_type/property/mod.rs
  • packages/rs-dpp/src/data_contract/document_type/property/reference_expression.rs
  • packages/rs-dpp/src/data_contract/document_type/property/reference_lookup.rs
  • packages/rs-dpp/src/errors/consensus/basic/document/document_reference_preimage_invalid_error.rs
  • packages/rs-dpp/src/errors/consensus/state/document/referenced_document_list_invalid_error.rs
  • packages/rs-dpp/src/errors/consensus/state/document/referenced_document_lookup_invalid_error.rs
  • packages/rs-dpp/src/errors/consensus/state/document/referenced_document_property_agreement_invalid_error.rs
  • packages/rs-dpp/src/errors/consensus/state/document/referenced_document_property_mismatch_error.rs
  • packages/rs-dpp/src/errors/consensus/state/state_error.rs
  • packages/rs-dpp/src/system_data_contracts.rs
  • packages/rs-dpp/src/validation/meta_validators/mod.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/batch/action_validation/document/document_reference_validation/mod.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/batch/action_validation/document/document_reference_validation/v0/mod.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/batch/state/v0/fetch_documents.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/batch/tests/document/index_only.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_common/data_contract_reference_validation/v0/mod.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_create/mod.rs
  • packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-creator-id-not-recorded.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-id-kind-mismatch.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-kind-mismatch.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-long-values.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-missing-property.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-preallocated-fits.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-preallocated-too-wide.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-system-kind-mismatch.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-system-valid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-transient-referenced-object.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-transient-referenced.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-transient-referring.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-typed-array.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-valid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-writer-kind-mismatch.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-agreement-writer-valid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-commit-reveal.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-creator-refers-to-registration-unknown-type.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-deletable-doc-registration-not-deletable.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-deletable-doc-registration-unknown-type.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-deletable-doc.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element-registration-foreign-not-a-list.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element-registration-foreign-valid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element-registration-own-mutable.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element-update-bad.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element-update-good.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-list-element.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-lookup-registration-foreign-missing-index.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-lookup-registration-foreign-valid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-lookup-registration-own-not-unique.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-lookup.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-owner-refers-to-registration-agreement-invalid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-owner-refers-to-registration-deletable-target.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-owner-refers-to-registration-foreign-lookup-invalid.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-owner-refers-to-registration-unknown-type.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-owner-refers-to.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-reference-expression-registration-unknown-type.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-reference-expression.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-typed-array-elements-agreement-missing-referenced.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-typed-array-elements-agreement-missing-referring.json
  • packages/rs-drive-abci/tests/supporting_files/contract/reference-validation/reference-validation-contract-typed-array-elements.json
  • packages/rs-drive/src/drive/contract/insert/insert_contract/v0/tests/reference_join_tests.rs
  • packages/rs-drive/src/drive/document/insert/add_preallocated_index_tree_operations/mod.rs
  • packages/rs-drive/src/drive/document/mod.rs
  • packages/rs-drive/src/query/chained_document_query/mod.rs
  • packages/rs-drive/src/query/composite_document_query/mod.rs
  • packages/rs-drive/tests/supporting_files/contract/trending/trending-contract.json
  • packages/rs-drive/tests/supporting_files/contract/trending/trending-sibling-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-feed/yappr-feed-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-feed/yappr-feed-deletable-posts-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-likes/yappr-likes-author-preallocated-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-likes/yappr-likes-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-likes/yappr-likes-deletable-posts-contract.json
  • packages/rs-drive/tests/supporting_files/contract/yappr-likes/yappr-likes-preallocated-contract.json
  • packages/rs-platform-version/src/version/v14.rs
  • packages/wasm-dpp2/src/consensus_error.rs
  • packages/wasm-dpp2/src/data_contract/document_type_reference.rs
  • packages/wasm-dpp2/tests/unit/DocumentPropertyReference.spec.ts
  • packages/wasm-dpp2/tests/unit/DocumentTypedArrays.spec.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@github-actions github-actions Bot added this to the v4.2.0 milestone Sep 29, 2026
@github-actions github-actions Bot added the waiting-bots Waiting for the review bots to report on this head label Sep 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📖 Book Preview built successfully.

Download the preview from the workflow artifacts.
To view locally: download the artifact, unzip, and open index.html.

Updated at 2026-09-29T12:35:29.128Z

@thepastaclaw

thepastaclaw commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

🔍 Review in progress — actively reviewing now (commit 8bb1ab3) · triage: critical

@github-actions github-actions Bot added the bot-review-skipped A required review bot did not report; it was skipped by the window or by a person. label Sep 29, 2026
@QuantumExplorer

Copy link
Copy Markdown
Member Author

Reviewed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot-review-skipped A required review bot did not report; it was skipped by the window or by a person. waiting-bots Waiting for the review bots to report on this head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants