From f6650fc2c1650e3293157145149ee89efd3f1989 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Tue, 12 May 2026 16:23:02 +0700 Subject: [PATCH] chore(dapi-grpc): regenerate obj-c client for count-query doc updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The proto comments on `GetDocumentsCountRequestV0.order_by` and `.limit` were rewritten in #3623 (commit 0f52734820) to reflect the final count-query semantics: - `order_by` is no longer "Required when `where` carries an `In` or range operator on the prove path" — that claim was tied to the deleted materialize-and-count walker. The `PointLookupProof` path sorts In keys lex-ascending unconditionally, and only `RangeDistinctProof` makes `order_by` load-bearing (with empty defaulting to ascending on both prover and verifier sides). - `limit` is "validate-don't-clamp" on the prove path (`InvalidLimit` rejection when `limit > max_query_limit`) rather than silently clamping, because silent clamping would break proof verification. Unset falls back to the compile-time `DEFAULT_QUERY_LIMIT` constant, so proof bytes stay deterministic across operators regardless of their runtime `default_query_limit` tuning. #3623 updated the proto file but didn't re-run the obj-c codegen, leaving `Platform.pbobjc.h` with the pre-rewrite comments. This catches the generated client up. No semantic change — only the docstrings in the header file. The other generated clients (java, nodejs, python, rust, web) were already in sync at merge time; obj-c is the only outlier. --- .../platform/v0/objective-c/Platform.pbobjc.h | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 15fccb2239..e31d5f0735 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -2497,20 +2497,32 @@ GPB_FINAL @interface GetDocumentsCountRequest_GetDocumentsCountRequestV0 : GPBMe /** * CBOR-encoded order_by clauses. Same encoding as - * `GetDocumentsRequestV0.order_by`. Required when `where` carries - * an `In` or range operator on the prove path: the materialize- - * and-count walker needs a deterministic walk order so the SDK - * can reconstruct the same path query and verify the proof. The - * first orderBy clause's direction also controls entry ordering - * in split-mode responses (per-`In`-value or per-range-distinct- - * value); ignored for total-count responses. + * `GetDocumentsRequestV0.order_by`. The first clause's direction + * controls entry ordering in split-mode responses (per-`In`-value + * or per-range-distinct-value). On the `RangeDistinctProof` prove + * path the direction is part of the proof's path query, so the + * SDK must reconstruct the same value — empty `order_by` defaults + * to ascending on both sides for determinism. Ignored for + * total-count responses and for the `PointLookupProof` path + * (which sorts In keys lex-ascending unconditionally for prove/ + * no-proof parity). **/ @property(nonatomic, readwrite, copy, null_resettable) NSData *orderBy; /** - * Maximum number of entries to return on the no-prove path. - * Server clamps to its `max_query_limit` config. Unset → - * server default. Has no effect on total-count responses. + * Maximum number of entries to return. + * - **No-proof paths**: server clamps to its `max_query_limit` + * config; unset → server default. + * - **Prove paths** (`RangeDistinctProof`): validate-don't-clamp. + * `limit > max_query_limit` returns `InvalidLimit` rather than + * silently clamping, because silent clamping would invisibly + * break verification (proof determinism requires the SDK to + * reconstruct the same path query). Unset falls back to + * `crate::config::DEFAULT_QUERY_LIMIT` (a compile-time constant + * the SDK also reads) — explicitly NOT the operator-tunable + * `default_query_limit`, so proof bytes are deterministic + * across operators regardless of their runtime config. + * Has no effect on total-count responses. **/ @property(nonatomic, readwrite) uint32_t limit;