Skip to content

feat(privacy): a delegated depositor names its deposits' associated addresses - #949

Open
avi-starkware wants to merge 1 commit into
avi/screening-v3/timestamp-cheat-helpersfrom
avi/screening-v3/delegated-query
Open

feat(privacy): a delegated depositor names its deposits' associated addresses#949
avi-starkware wants to merge 1 commit into
avi/screening-v3/timestamp-cheat-helpersfrom
avi/screening-v3/delegated-query

Conversation

@avi-starkware

@avi-starkware avi-starkware commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

An Invoke returning open-note deposits consults its target's OpenNoteScreeningPolicy: Required
every unlisted address — makes the target the tx's screening subject, Exempt raises no
requirement, and Delegated asks the target which addresses to screen, through a
get_screening_subjects call carrying the invoke's own calldata. Only a compute-invoke is
delegated; a plain invoke is exempt, so a target offering both never has to guess which calldata it
is parsing. The query is fail-closed: any failure, a malformed answer, or an empty one reverts.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com


This change is Reviewable

@avi-starkware
avi-starkware marked this pull request as ready for review August 12, 2026 08:54
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/timestamp-cheat-helpers branch from 38d94e3 to acb73ff Compare August 17, 2026 18:52
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/delegated-query branch from 586ad93 to fd82f75 Compare August 17, 2026 18:52
@avi-starkware avi-starkware changed the title feat(privacy): a delegated depositor names its deposits' screening subject feat(privacy): a delegated depositor names its deposits' associated addresses Aug 17, 2026
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/delegated-query branch 2 times, most recently from b79c463 to 2a49606 Compare August 18, 2026 10:43
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/timestamp-cheat-helpers branch from acb73ff to b0a31b3 Compare August 18, 2026 13:45
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/delegated-query branch from 2a49606 to dff5be0 Compare August 18, 2026 13:45
…ddresses

The Delegated policy reads those addresses out of the invoke's own return
data, following the deposits, so the pool makes no second call: a depositor
names them where it already answers. An empty span reverts and every address
named goes through the same requirement collection. Leftover return data is
still rejected, except from a depositor whose policy reads no addresses — a
tolerance carrying a TODO, without which the anonymizer could fund nothing
while listed anything but Delegated.
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/timestamp-cheat-helpers branch from b0a31b3 to 3ef7d2b Compare August 18, 2026 14:31
@avi-starkware
avi-starkware force-pushed the avi/screening-v3/delegated-query branch from dff5be0 to 7e779ab Compare August 18, 2026 14:31
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