Skip to content

chore: scope the deprecated-field lint to the wire-compat sites that need it - #603

Open
blacks1ne wants to merge 1 commit into
QuilibriumNetwork:v2.1.0.25from
blacks1ne:chore/warnings-deprecated-proto-filter
Open

chore: scope the deprecated-field lint to the wire-compat sites that need it#603
blacks1ne wants to merge 1 commit into
QuilibriumNetwork:v2.1.0.25from
blacks1ne:chore/warnings-deprecated-proto-filter

Conversation

@blacks1ne

@blacks1ne blacks1ne commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

global.proto deprecates ProverConfirm.filter and ProverReject.filter in
favour of the repeated filters11 warnings.

The field cannot just be dropped. It is still on the wire from peers that predate
the change, and prover_confirm_to_proto / prover_reject_to_proto are expected
to reproduce their input byte-for-byte — the round-trip tests assert exactly
that. Removing the reads would silently change the encoding, and the signing
payload derived from it.

So this is #[allow(deprecated)] on the eight functions that legitimately touch
the field, each carrying the wire-compat reason. Any new use still warns, and
when the field is finally retired these allows are the checklist of call sites to
delete.


Series

Part of the warning-cleanup series that starts with #597. The eight PRs are
disjoint and each stands on its own, but they are meant to be read in order —
please take #597 first: it is the only one of the eight that fixes a bug
rather than a warning, and it is the shortest.

Happy to re-pace these, drop any of them, or squash the set into a single PR if
you would rather review it in one pass — just say which.

Drafted with Claude Code; every site was read individually and the reasoning is
in the commit message.

…need it

global.proto marks ProverConfirm.filter and ProverReject.filter deprecated in
favour of the repeated `filters`, which produces 11 warnings across the
converters, the client ops and the cross-language signing fixtures.

The field cannot simply be dropped. It is still on the wire — peers predating
the change populate it, and prover_confirm_to_proto/prover_reject_to_proto are
expected to reproduce their input byte-for-byte (the round-trip tests assert
exactly that). Removing the reads would silently change the encoding and the
signing payload derived from it.

So the lint is allowed at the eight functions that legitimately touch the
field, each with a note pointing at the wire-compat reason, rather than
crate-wide. Any NEW use of a deprecated API still warns. When the field is
finally retired from the proto, these allows are the checklist of call sites
to delete.

(cherry picked from commit 2ff76dba78e352aaeb59bebbf9e1f3c226ce1ae3)
@blacks1ne
blacks1ne force-pushed the chore/warnings-deprecated-proto-filter branch from 55e14f5 to 387a334 Compare August 18, 2026 10:35
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.

1 participant